Autodesk 3ds Max 2011 Help En
User Manual: autodesk 3ds Max - 2011 - Help Free User Guide for Autodesk 3ds Max Software, Manual
Open the PDF directly: View PDF .
Page Count: 9528
Download | |
Open PDF In Browser | View PDF |
Autodesk 3ds Max 2011 ® ® Help Autodesk® 3ds® Max 2011 © 2010 Autodesk, Inc. All rights reserved. Except as otherwise permitted by Autodesk, Inc., this publication, or parts thereof, may not be reproduced in any form, by any method, for any purpose. Certain materials included in this publication are reprinted with the permission of the copyright holder. The following are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and other countries: 3DEC (design/logo), 3December, 3December.com, 3ds Max, Algor, Alias, Alias (swirl design/logo), AliasStudio, Alias|Wavefront (design/logo), ATC, AUGI, AutoCAD, AutoCAD Learning Assistance, AutoCAD LT, AutoCAD Simulator, AutoCAD SQL Extension, AutoCAD SQL Interface, Autodesk, Autodesk Envision, Autodesk Intent, Autodesk Inventor, Autodesk Map, Autodesk MapGuide, Autodesk Streamline, AutoLISP, AutoSnap, AutoSketch, AutoTrack, Backburner, Backdraft, Built with ObjectARX (logo), Burn, Buzzsaw, CAiCE, Civil 3D, Cleaner, Cleaner Central, ClearScale, Colour Warper, Combustion, Communication Specification, Constructware, Content Explorer, Dancing Baby (image), DesignCenter, Design Doctor, Designer's Toolkit, DesignKids, DesignProf, DesignServer, DesignStudio, Design Web Format, Discreet, DWF, DWG, DWG (logo), DWG Extreme, DWG TrueConvert, DWG TrueView, DXF, Ecotect, Exposure, Extending the Design Team, Face Robot, FBX, Fempro, Fire, Flame, Flare, Flint, FMDesktop, Freewheel, GDX Driver, Green Building Studio, Heads-up Design, Heidi, HumanIK, IDEA Server, i-drop, ImageModeler, iMOUT, Incinerator, Inferno, Inventor, Inventor LT, Kaydara, Kaydara (design/logo), Kynapse, Kynogon, LandXplorer, Lustre, MatchMover, Maya, Mechanical Desktop, Moldflow, Moonbox, MotionBuilder, Movimento, MPA, MPA (design/logo), Moldflow Plastics Advisers, MPI, Moldflow Plastics Insight, MPX, MPX (design/logo), Moldflow Plastics Xpert, Mudbox, Multi-Master Editing, Navisworks, ObjectARX, ObjectDBX, Open Reality, Opticore, Opticore Opus, Pipeplus, PolarSnap, PortfolioWall, Powered with Autodesk Technology, Productstream, ProjectPoint, ProMaterials, RasterDWG, RealDWG, Real-time Roto, Recognize, Render Queue, Retimer, Reveal, Revit, Showcase, ShowMotion, SketchBook, Smoke, Softimage, Softimage|XSI (design/logo), Sparks, SteeringWheels, Stitcher, Stone, StudioTools, ToolClip, Topobase, Toxik, TrustedDWG, ViewCube, Visual, Visual LISP, Volo, Vtour, Wire, Wiretap, WiretapCentral, XSI, and XSI (design/logo). ArchVision, realpeople, and RPC are either registered trademarks or trademarks of ArchVision, Inc. clothfx™ is a trademark of Size8 Software, Inc. Havok.com™ is a trademark or registered trademark of Havok.com Inc. or its licensors. Intel is a registered trademark of Intel Corporation or its subsidiaries in the United States and other countries. ISYS and the ISYS logo are registered trademarks or trademarks of ISYS® Search Software Inc. mental ray is a registered trademark of mental images GmbH licensed for use by Autodesk, Inc. Jeep is a registered trademark of Chrysler Group LLC. NVIDIA® and PhysX® are trademarks of NVIDIA Corporation and are used under license. All other brand names, product names or trademarks belong to their respective holders. Disclaimer THIS PUBLICATION AND THE INFORMATION CONTAINED HEREIN IS MADE AVAILABLE BY AUTODESK, INC. "AS IS." AUTODESK, INC. DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE REGARDING THESE MATERIALS. Contents Chapter 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 What's New in Autodesk 3ds Max 2011 . . . . . . . . . . . . . . . . . . 3 3ds Max Documentation Set . . . . . . . . . . . . . . . . . . . . . . . 11 About MAXScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Chapter 2 Getting Started with 3ds Max . . . . . . . . . . . . . . . . . . 17 Project Workflow . . . . . . . . . . . . . . . . . . . . . . Setting Up Your Scene . . . . . . . . . . . . . . . . . . . . Modeling Objects . . . . . . . . . . . . . . . . . . . . . . Using Materials . . . . . . . . . . . . . . . . . . . . . . . Placing Lights and Cameras . . . . . . . . . . . . . . . . . Animating Your Scene . . . . . . . . . . . . . . . . . . . . Rendering Your Scene . . . . . . . . . . . . . . . . . . . . The 3ds Max Interface . . . . . . . . . . . . . . . . . . . . Managing Files . . . . . . . . . . . . . . . . . . . . . . . Importing, Merging, Replacing, and Externally Referencing Scenes . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the Asset Browser . . . . . . . . . . . . . . . . . . . Startup Files and Defaults . . . . . . . . . . . . . . . . . . The Initialization File . . . . . . . . . . . . . . . . . . . . Backing Up and Archiving Scenes . . . . . . . . . . . . . . Crash Recovery System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 . 24 . 25 . 26 . 28 . 32 . 32 . 34 . 35 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 . 40 . 41 . 42 . 43 . 44 iii Chapter 3 Viewing and Navigating 3D Space . . . . . . . . . . . . . . . . 47 General Viewport Concepts . . . . . . . . . . . . . . . . . . . . . . . . 48 Home Grid: Views Based on the World Coordinate Axes . . . . . . . . . 50 Understanding Views . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Setting Viewport Layout . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Controlling Viewport Rendering . . . . . . . . . . . . . . . . . . . . . 61 Controlling Display Performance . . . . . . . . . . . . . . . . . . . . . 62 Using Standard View Navigation . . . . . . . . . . . . . . . . . . . . . 64 Zooming, Panning, and Rotating Views . . . . . . . . . . . . . . . . . 65 ViewCube . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 ViewCube Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Change the View of the Scene with the ViewCube . . . . . . . . . 70 Change the Current View . . . . . . . . . . . . . . . . . . . 71 Set the View Projection Mode . . . . . . . . . . . . . . . . . 73 Define the Home View . . . . . . . . . . . . . . . . . . . . 74 SteeringWheels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Wheel Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Navigation Wheels . . . . . . . . . . . . . . . . . . . . . . . . . 79 View Object Wheels . . . . . . . . . . . . . . . . . . . . . . 80 Tour Building Wheels . . . . . . . . . . . . . . . . . . . . . 81 Full Navigation Wheels . . . . . . . . . . . . . . . . . . . . 82 Navigation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Center Tool . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Forward Tool . . . . . . . . . . . . . . . . . . . . . . . . . 85 Look Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Orbit Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Pan Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Rewind Tool . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Up/Down Tool . . . . . . . . . . . . . . . . . . . . . . . . 92 Walk Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Zoom Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Using Walkthrough Navigation . . . . . . . . . . . . . . . . . . . . . . 96 Navigating Camera and Light Views . . . . . . . . . . . . . . . . . . 100 Adaptive Degradation . . . . . . . . . . . . . . . . . . . . . . . . . . 104 View-Handling Commands . . . . . . . . . . . . . . . . . . . . . . . 106 Undo View Change / Redo View Change . . . . . . . . . . . . . 106 Save Active View . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Restore Active View . . . . . . . . . . . . . . . . . . . . . . . . 108 Viewport Background Dialog . . . . . . . . . . . . . . . . . . . 108 Select Background Image Dialog . . . . . . . . . . . . . . . . . . 117 Update Background Image . . . . . . . . . . . . . . . . . . . . . 122 Reset Background Transform . . . . . . . . . . . . . . . . . . . 123 Show Transform Gizmo . . . . . . . . . . . . . . . . . . . . . . 123 Show Ghosting . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Show Key Times . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Shade Selected . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 iv | Contents Show Dependencies . . . . . . . Create Camera From View . . . . Add Default Lights to Scene . . . Redraw All Views . . . . . . . . . Show Materials in Viewport As . Update During Spinner Drag . . Diagnose Video Hardware . . . . Expert Mode . . . . . . . . . . . Controlling Object Display . . . . . . Display Color Rollout . . . . . . Hide By Category Rollout . . . . Hide Rollout . . . . . . . . . . . Freeze Rollout . . . . . . . . . . Display Properties Rollout . . . . Link Display Rollout . . . . . . . Chapter 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 . 129 . 131 . 133 . 134 . 135 . 135 . 136 . 136 . 137 . 138 . 140 . 142 . 143 . 148 Selecting Objects . . . . . . . . . . . . . . . . . . . . . . . . . 149 Introducing Object Selection . . . . . . . . Basics of Selecting Objects . . . . . . . . . . Selecting by Region . . . . . . . . . . . . . Using Select By Name . . . . . . . . . . . . Using Named Selection Sets . . . . . . . . . Using Selection Filters . . . . . . . . . . . . Selecting with Track View . . . . . . . . . . Selecting with Schematic View . . . . . . . Freezing and Unfreezing Objects . . . . . . Hiding and Unhiding Objects by Selection . Hiding and Unhiding Objects by Category . Isolate Selection . . . . . . . . . . . . . . . Introduction to Sub-Object Selection . . . . Selection Commands . . . . . . . . . . . . Select Object . . . . . . . . . . . . . . Select From Scene . . . . . . . . . . . Selection Floater . . . . . . . . . . . . Selection Region Flyout . . . . . . . . Rectangular Selection Region . . Circular Selection Region . . . . Fence Selection Region . . . . . Lasso Selection Region . . . . . Paint Selection Region . . . . . Window/Crossing Selection Toggle . . Selection Filter List . . . . . . . . . . . Filter Combinations Dialog . . . . . . Named Selection Sets . . . . . . . . . Named Selection Sets Dialog . . Edit Named Selections Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 . 155 . 159 . 162 . 163 . 164 . 166 . 168 . 168 . 170 . 173 . 176 . 177 . 182 . 183 . 184 . 187 . 190 . 192 . 193 . 194 . 195 . 195 . 197 . 200 . 201 . 204 . 206 . 211 Contents | v Select All . . . . . . . . . . . . . . Select None . . . . . . . . . . . . . Select Invert . . . . . . . . . . . . Select Similar . . . . . . . . . . . . Select By . . . . . . . . . . . . . . Select By Color . . . . . . . . Select By Name (Edit Menu) . Select By Layer . . . . . . . . Edit Commands . . . . . . . . . . . . . Undo/Redo . . . . . . . . . . . . Hold/Fetch . . . . . . . . . . . . . Delete . . . . . . . . . . . . . . . Chapter 5 Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 . 214 . 215 . 215 . 216 . 216 . 216 . 216 . 217 . 217 . 219 . 220 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 . 221 . 232 . 236 . 240 . 242 . 243 . 260 . 268 . 271 . 273 . 282 . 285 Creating Geometry . . . . . . . . . . . . . . . . . . . . . . . 289 Basics of Creating and Modifying Objects . . . . Using the Create Panel . . . . . . . . . . . Identifying the Basic Building Blocks . . . Creating an Object . . . . . . . . . . . . . Assigning Colors to Objects . . . . . . . . Object Color Dialog . . . . . . . . . Color Selector Dialog . . . . . . . . Color Clipboard Utility . . . . . . . Adjusting Normals and Smoothing . . . . Viewing and Changing Normals . . Viewing and Changing Smoothing . Geometric Primitives . . . . . . . . . . . . . . Creating Primitives from the Keyboard . . Standard Primitives . . . . . . . . . . . . Box Primitive . . . . . . . . . . . . Cone Primitive . . . . . . . . . . . . vi | Contents . . . . . . . . . . . . Properties . . . . . . . . . . . . . . . . . . . . . . . . 221 Object Properties Dialog Panels . . . . . . . . . . . . . . . General Panel (Object Properties Dialog) . . . . . . . Advanced Lighting Panel (Object Properties Dialog) . mental ray Panel (Object Properties Dialog) . . . . . User Defined Panel (Object Properties Dialog) . . . . Rename Objects Tool . . . . . . . . . . . . . . . . . . . . . Custom Attributes . . . . . . . . . . . . . . . . . . . . . . Parameter Collector . . . . . . . . . . . . . . . . . . . . . Parameter Collector Menu Bar . . . . . . . . . . . . . Notes Dialog (Parameter Collector) . . . . . . . . . . Expression Techniques . . . . . . . . . . . . . . . . . . . . Trigonometric Functions . . . . . . . . . . . . . . . . Vectors . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 . 292 . 293 . 296 . 300 . 300 . 304 . 310 . 312 . 313 . 315 . 318 . 318 . 321 . 322 . 325 Sphere Primitive . . . . . . . . . . . . . . . . . . . . . . . 329 GeoSphere Primitive . . . . . . . . . . . . . . . . . . . . . 334 Cylinder Primitive . . . . . . . . . . . . . . . . . . . . . . 336 Tube Primitive . . . . . . . . . . . . . . . . . . . . . . . . 339 Torus Primitive . . . . . . . . . . . . . . . . . . . . . . . . 342 Pyramid Primitive . . . . . . . . . . . . . . . . . . . . . . 346 Teapot Primitive . . . . . . . . . . . . . . . . . . . . . . . 349 Plane Primitive . . . . . . . . . . . . . . . . . . . . . . . . 352 Extended Primitives . . . . . . . . . . . . . . . . . . . . . . . . 354 Hedra Extended Primitive . . . . . . . . . . . . . . . . . . 356 Torus Knot Extended Primitive . . . . . . . . . . . . . . . 360 ChamferBox Extended Primitive . . . . . . . . . . . . . . 364 ChamferCyl Extended Primitive . . . . . . . . . . . . . . . 367 OilTank Extended Primitive . . . . . . . . . . . . . . . . . 370 Capsule Extended Primitive . . . . . . . . . . . . . . . . . 373 Spindle Extended Primitive . . . . . . . . . . . . . . . . . 376 L-Ext Extended Primitive . . . . . . . . . . . . . . . . . . 379 Gengon Extended Primitive . . . . . . . . . . . . . . . . . 382 C-Ext Extended Primitive . . . . . . . . . . . . . . . . . . 385 RingWave Extended Primitive . . . . . . . . . . . . . . . . 387 Prism Extended Primitive . . . . . . . . . . . . . . . . . . 392 Hose Extended Primitive . . . . . . . . . . . . . . . . . . 394 Architectural Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 401 AEC Extended Objects . . . . . . . . . . . . . . . . . . . . . . . 401 Working with AEC Design Elements . . . . . . . . . . . . 402 Foliage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 Railing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 Wa l l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 5 Stairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 L-Type Stair . . . . . . . . . . . . . . . . . . . . . . . . . 446 Spiral Stair . . . . . . . . . . . . . . . . . . . . . . . . . . 449 Straight Stair . . . . . . . . . . . . . . . . . . . . . . . . . 453 U-Type Stair . . . . . . . . . . . . . . . . . . . . . . . . . 456 Doors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 Pivot Door . . . . . . . . . . . . . . . . . . . . . . . . . . 469 Sliding Door . . . . . . . . . . . . . . . . . . . . . . . . . 471 BiFold Door . . . . . . . . . . . . . . . . . . . . . . . . . 473 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 Awning Window . . . . . . . . . . . . . . . . . . . . . . . 483 Casement Window . . . . . . . . . . . . . . . . . . . . . . 486 Fixed Window . . . . . . . . . . . . . . . . . . . . . . . . 488 Pivoted Window . . . . . . . . . . . . . . . . . . . . . . . 490 Projected Window . . . . . . . . . . . . . . . . . . . . . . 492 Sliding Window . . . . . . . . . . . . . . . . . . . . . . . 494 mental ray Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 mr Proxy Object . . . . . . . . . . . . . . . . . . . . . . . . . . 496 Contents | vii Shapes . . . . . . . . . . . . . . . . . . . . . . . Splines and Extended Splines . . . . . . . . Line Spline . . . . . . . . . . . . . . . Rectangle Spline . . . . . . . . . . . . Circle Spline . . . . . . . . . . . . . . Ellipse Spline . . . . . . . . . . . . . . Arc Spline . . . . . . . . . . . . . . . Donut Spline . . . . . . . . . . . . . . NGon Spline . . . . . . . . . . . . . . Star Spline . . . . . . . . . . . . . . . Text Spline . . . . . . . . . . . . . . . Helix Spline . . . . . . . . . . . . . . Section Spline . . . . . . . . . . . . . Extended Splines . . . . . . . . . . . . . . . WRectangle Spline . . . . . . . . . . . Channel Spline . . . . . . . . . . . . Angle Spline . . . . . . . . . . . . . . Tee Spline . . . . . . . . . . . . . . . Wide Flange Spline . . . . . . . . . . Editable Spline . . . . . . . . . . . . . . . . Editable Spline (Object) . . . . . . . . Editable Spline (Vertex) . . . . . . . . Editable Spline (Segment) . . . . . . . Editable Spline (Spline) . . . . . . . . Shape Check Utility . . . . . . . . . . . . . Compound Objects . . . . . . . . . . . . . . . . Morph Compound Object . . . . . . . . . . Scatter Compound Object . . . . . . . . . . Conform Compound Object . . . . . . . . . Connect Compound Object . . . . . . . . . BlobMesh Compound Object . . . . . . . . ShapeMerge Compound Object . . . . . . . Boolean Compound Object . . . . . . . . . Material Attach Options Dialog . . . . Terrain Compound Object . . . . . . . . . . Loft Compound Object . . . . . . . . . . . Creation Method Rollout . . . . . . . Surface Parameters Rollout . . . . . . Path Parameters Rollout . . . . . . . . Skin Parameters Rollout . . . . . . . . Deformations . . . . . . . . . . . . . Path Commands . . . . . . . . . . . . Shape Commands . . . . . . . . . . . Mesher Compound Object . . . . . . . . . . ProBoolean/ProCutter Compound Objects . ProBoolean Compound Object . . . . viii | Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 . 511 . 518 . 522 . 524 . 525 . 526 . 530 . 531 . 533 . 535 . 539 . 541 . 545 . 545 . 547 . 549 . 551 . 553 . 554 . 565 . 568 . 580 . 589 . 598 . 600 . 600 . 608 . 621 . 628 . 634 . 642 . 646 . 661 . 663 . 674 . 677 . 678 . 683 . 686 . 703 . 725 . 725 . 729 . 734 . 736 ProCutter Compound Object . . Quad Meshing and Smoothing . Dynamics Objects . . . . . . . . . . . . . . Damper Dynamics Object . . . . . . . Spring Dynamics Object . . . . . . . . Systems . . . . . . . . . . . . . . . . . . . Bones System . . . . . . . . . . . . . . Using Objects as Bones . . . . . Bone Tools . . . . . . . . . . . . Ring Array System . . . . . . . . . . . Chapter 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758 . 766 . 776 . 777 . 784 . 792 . 793 . 805 . 806 . 815 Moving, Rotating, and Scaling Objects . . . . . . . . . . . . . 821 Using Transforms . . . . . . . . . . . . . . . . . Using Transform Gizmos . . . . . . . . . . Transform Type-In . . . . . . . . . . . . . . Animating Transforms . . . . . . . . . . . . Transform Managers . . . . . . . . . . . . . Specifying a Reference Coordinate System . Choosing a Transform Center . . . . . . . . Using the Axis Constraints . . . . . . . . . Reset XForm Utility . . . . . . . . . . . . . Transform Commands . . . . . . . . . . . . . . . Select and Move . . . . . . . . . . . . . . . Select and Rotate . . . . . . . . . . . . . . Select and Scale . . . . . . . . . . . . . . . Select and Uniform Scale . . . . . . . . . . Select and Non-Uniform Scale . . . . . . . Select and Squash . . . . . . . . . . . . . . Transform Coordinates and Coordinate Center . . Reference Coordinate System . . . . . . . . Use Center Flyout . . . . . . . . . . . . . . Use Pivot Point Center . . . . . . . . . . . Use Selection Center . . . . . . . . . . . . Use Transform Coordinate Center . . . . . Transform Tools . . . . . . . . . . . . . . . . . . Transform Toolbox . . . . . . . . . . . . . . Mirror Selected Objects . . . . . . . . . . . Array Flyout . . . . . . . . . . . . . . . . . Array . . . . . . . . . . . . . . . . . . . . . Snapshot . . . . . . . . . . . . . . . . . . . Spacing Tool . . . . . . . . . . . . . . . . . Clone and Align Tool . . . . . . . . . . . . Align Flyout . . . . . . . . . . . . . . . . . Align . . . . . . . . . . . . . . . . . . Quick Align . . . . . . . . . . . . . . Normal Align . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822 . 825 . 835 . 838 . 840 . 842 . 843 . 847 . 849 . 850 . 851 . 852 . 854 . 855 . 856 . 858 . 859 . 860 . 867 . 868 . 870 . 871 . 872 . 873 . 877 . 881 . 882 . 888 . 892 . 900 . 905 . 906 . 911 . 912 Contents | ix Place Highlight . . . . . . . . . . . . . . . . . . . . . . . 915 Align Camera . . . . . . . . . . . . . . . . . . . . . . . . 917 Align to View . . . . . . . . . . . . . . . . . . . . . . . . 918 Chapter 8 Creating Copies and Arrays . . . . . . . . . . . . . . . . . . . 921 Overview of Copies, Instances, and References . . Techniques for Cloning Objects . . . . . . . . . . Clone . . . . . . . . . . . . . . . . . . . . . Clone Options Dialog . . . . . . . . . . . . Using Shift+Clone . . . . . . . . . . . . . . Cloning with Shift+Move . . . . . . . . . . Cloning with Shift+Rotate . . . . . . . . . . Cloning with Shift+Scale . . . . . . . . . . Animating Shift+Rotate and Shift+Scale . . . Cloning Objects Over Time with Snapshot . Arraying Objects . . . . . . . . . . . . . . . . . . Using the Array Dialog . . . . . . . . . . . . Creating Linear Arrays . . . . . . . . . . . . Creating Circular and Spiral Arrays . . . . . Mirroring Objects . . . . . . . . . . . . . . . . . Using the Spacing Tool . . . . . . . . . . . . . . . Chapter 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922 . 925 . 932 . 932 . 936 . 937 . 939 . 942 . 944 . 946 . 948 . 951 . 955 . 960 . 963 . 965 Modifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969 Transforms, Modifiers, and Object Data Flow . . . . . . . . . . . . . . 971 Using Modifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978 Using the Modify Panel . . . . . . . . . . . . . . . . . . . . . . 979 Using the Modifier Stack . . . . . . . . . . . . . . . . . . . . . . 983 Editing the Stack . . . . . . . . . . . . . . . . . . . . . . . . . . 987 Edit Modifiers and Editable Objects . . . . . . . . . . . . . . . . 990 Modifying at the Sub-Object Level . . . . . . . . . . . . . . . . 991 Using the Stack at the Sub-Object Level . . . . . . . . . . . . . . 994 Modifying Multiple Objects . . . . . . . . . . . . . . . . . . . . 996 How Instanced Modifiers Work . . . . . . . . . . . . . . . . . 1000 World-Space Modifiers (WSMs) . . . . . . . . . . . . . . . . . . . . . 1004 Camera Map Modifier (World Space) . . . . . . . . . . . . . . 1004 Displace Mesh Modifier (World Space) . . . . . . . . . . . . . . 1005 Displace NURBS Modifier (World Space) . . . . . . . . . . . . . 1008 Hair And Fur Modifier (World Space) . . . . . . . . . . . . . . 1010 Selection Rollout (Hair And Fur) . . . . . . . . . . . . . . 1019 Tools Rollout (Hair And Fur) . . . . . . . . . . . . . . . . 1021 Styling Rollout (Hair And Fur) . . . . . . . . . . . . . . . 1033 Quad Menu for Hair Styling . . . . . . . . . . . . . . . . 1047 General Parameters Rollout (Hair And Fur) . . . . . . . . 1049 Material Parameters Rollout (Hair And Fur) . . . . . . . . 1056 mr Parameters Rollout (Hair And Fur) . . . . . . . . . . . 1063 x | Contents Frizz Parameters Rollout (Hair And Fur) . . . . . . Kink Parameters Rollout (Hair And Fur) . . . . . . Multi Strand Parameters Rollout (Hair And Fur) . . Dynamics Rollout (Hair And Fur) . . . . . . . . . Display Rollout (Hair And Fur) . . . . . . . . . . . LS Colors Modifier (World Space) . . . . . . . . . . . . MapScaler Modifier (World Space) . . . . . . . . . . . . PatchDeform Modifier (World Space) . . . . . . . . . . PathDeform Modifier (World Space) . . . . . . . . . . . Point Cache Modifier (World Space) . . . . . . . . . . . Subdivide Modifier (World Space) . . . . . . . . . . . . Surface Mapper Modifier (World Space) . . . . . . . . . SurfDeform Modifier (World Space) . . . . . . . . . . . Object-Space Modifiers . . . . . . . . . . . . . . . . . . . . . Affect Region Modifier . . . . . . . . . . . . . . . . . . Attribute Holder Modifier . . . . . . . . . . . . . . . . Bend Modifier . . . . . . . . . . . . . . . . . . . . . . Bevel Modifier . . . . . . . . . . . . . . . . . . . . . . Bevel Profile Modifier . . . . . . . . . . . . . . . . . . . Camera Map Modifier (Object Space) . . . . . . . . . . Cap Holes Modifier . . . . . . . . . . . . . . . . . . . . Cloth and Garment Maker Modifiers . . . . . . . . . . Cloth and Garment Overview . . . . . . . . . . . Cloth Modifier . . . . . . . . . . . . . . . . . . . Garment Maker Modifier . . . . . . . . . . . . . . CrossSection Modifier . . . . . . . . . . . . . . . . . . Delete Mesh Modifier . . . . . . . . . . . . . . . . . . . Delete Patch Modifier . . . . . . . . . . . . . . . . . . Delete Spline Modifier . . . . . . . . . . . . . . . . . . Disp Approx Modifier . . . . . . . . . . . . . . . . . . Displace Modifier . . . . . . . . . . . . . . . . . . . . . Edit Mesh Modifier . . . . . . . . . . . . . . . . . . . . Edit Normals Modifier . . . . . . . . . . . . . . . . . . Edit Patch Modifier . . . . . . . . . . . . . . . . . . . . Edit Poly Modifier . . . . . . . . . . . . . . . . . . . . Selection Rollout (Edit Poly Modifier) . . . . . . . Edit Poly (Object) . . . . . . . . . . . . . . . . . . Edit Poly (Vertex) . . . . . . . . . . . . . . . . . Edit Poly (Edge) . . . . . . . . . . . . . . . . . . Edit Poly (Border) . . . . . . . . . . . . . . . . . Edit Poly (Polygon/Element) . . . . . . . . . . . Edit Geometry Rollout (Polymesh and Edit Poly) . Align Geometry Dialog . . . . . . . . . . . . . . . Detach Dialog . . . . . . . . . . . . . . . . . . . Edit Spline Modifier . . . . . . . . . . . . . . . . . . . Extrude Modifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064 . 1069 . 1072 . 1074 . 1082 . 1084 . 1086 . 1089 . 1089 . 1095 . 1095 . 1095 . 1098 . 1098 . 1098 . 1102 . 1104 . 1108 . 1115 . 1119 . 1124 . 1126 . 1128 . 1142 . 1206 . 1240 . 1246 . 1248 . 1249 . 1251 . 1255 . 1263 . 1264 . 1271 . 1274 . 1287 . 1299 . 1301 . 1310 . 1331 . 1338 . 1352 . 1366 . 1367 . 1368 . 1369 Contents | xi Face Extrude Modifier . . . . . . . . . . . . . . . . . . . FFD (Free-Form Deformation) Modifiers . . . . . . . . . . FFD (Box/Cylinder) Modifiers . . . . . . . . . . . . . . . FFD (Free-Form Deformation) Select Modifier . . . . . . . Fillet/Chamfer Modifier . . . . . . . . . . . . . . . . . . Flex Modifier . . . . . . . . . . . . . . . . . . . . . . . . Spring Option Dialog . . . . . . . . . . . . . . . . . HSDS Modifier . . . . . . . . . . . . . . . . . . . . . . . Adaptive Subdivision Dialog . . . . . . . . . . . . . Lathe Modifier . . . . . . . . . . . . . . . . . . . . . . . Lattice Modifier . . . . . . . . . . . . . . . . . . . . . . . Linked XForm Modifier . . . . . . . . . . . . . . . . . . LS Mesh Modifier . . . . . . . . . . . . . . . . . . . . . . MapScaler Modifier (Object Space) . . . . . . . . . . . . . Material Modifier . . . . . . . . . . . . . . . . . . . . . . MaterialByElement Modifier . . . . . . . . . . . . . . . . Melt Modifier . . . . . . . . . . . . . . . . . . . . . . . . Mesh Select Modifier . . . . . . . . . . . . . . . . . . . . MeshSmooth Modifier . . . . . . . . . . . . . . . . . . . Mirror Modifier . . . . . . . . . . . . . . . . . . . . . . . Morpher Modifier . . . . . . . . . . . . . . . . . . . . . . MultiRes Modifier . . . . . . . . . . . . . . . . . . . . . Noise Modifier . . . . . . . . . . . . . . . . . . . . . . . Normal Modifier . . . . . . . . . . . . . . . . . . . . . . Normalize Spline Modifier . . . . . . . . . . . . . . . . . NSurf Sel Modifier . . . . . . . . . . . . . . . . . . . . . Optimize Modifier . . . . . . . . . . . . . . . . . . . . . Patch Select Modifier . . . . . . . . . . . . . . . . . . . . PatchDeform Modifier (Object Space) . . . . . . . . . . . PathDeform Modifier (Object Space) . . . . . . . . . . . . Point Cache Modifier (Object Space) . . . . . . . . . . . . Poly Select Modifier . . . . . . . . . . . . . . . . . . . . Preserve Modifier . . . . . . . . . . . . . . . . . . . . . . Projection Modifier . . . . . . . . . . . . . . . . . . . . . Selection Rollout (Projection Modifier) . . . . . . . Reference Geometry Rollout (Projection Modifier) . Cage Rollout (Projection Modifier) . . . . . . . . . . Selection Check Rollout (Projection Modifier) . . . . Projection Rollout (Projection Modifier) . . . . . . . Project Mapping Rollout (Projection Modifier) . . . Projection Holder Modifier . . . . . . . . . . . . . . . . . ProOptimizer Modifier . . . . . . . . . . . . . . . . . . . Optimization Level Rollout . . . . . . . . . . . . . Optimization Options Rollout . . . . . . . . . . . . Symmetry Options Rollout . . . . . . . . . . . . . . Advanced Options Rollout . . . . . . . . . . . . . . xii | Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1372 . 1375 . 1380 . 1385 . 1386 . 1389 . 1406 . 1408 . 1416 . 1418 . 1423 . 1428 . 1431 . 1432 . 1435 . 1437 . 1441 . 1445 . 1450 . 1462 . 1464 . 1482 . 1490 . 1497 . 1500 . 1502 . 1504 . 1509 . 1514 . 1516 . 1521 . 1529 . 1537 . 1543 . 1545 . 1548 . 1550 . 1554 . 1555 . 1557 . 1561 . 1561 . 1564 . 1567 . 1586 . 1587 Push Modifier . . . . . . . . . . . . . . . . . . Quadify Mesh Modifier . . . . . . . . . . . . . Relax Modifier . . . . . . . . . . . . . . . . . Renderable Spline Modifier . . . . . . . . . . . Ripple Modifier . . . . . . . . . . . . . . . . . Select By Channel Modifier . . . . . . . . . . Shell Modifier . . . . . . . . . . . . . . . . . . Skew Modifier . . . . . . . . . . . . . . . . . . Skin Modifier . . . . . . . . . . . . . . . . . . Load Envelopes Dialog (Skin Modifier) . Weight Tool Dialog (Skin Modifier) . . . Weight Table (Skin Modifier) . . . . . . . Skin Morph Modifier . . . . . . . . . . . . . . Skin Wrap Modifier . . . . . . . . . . . . . . . Skin Wrap Patch Modifier . . . . . . . . . . . Slice Modifier . . . . . . . . . . . . . . . . . . Smooth Modifier . . . . . . . . . . . . . . . . Spherify Modifier . . . . . . . . . . . . . . . . Spline IK Control Modifier . . . . . . . . . . . Spline Select Modifier . . . . . . . . . . . . . Squeeze Modifier . . . . . . . . . . . . . . . . STL Check Modifier . . . . . . . . . . . . . . . Stretch Modifier . . . . . . . . . . . . . . . . Subdivide Modifier (Object Space) . . . . . . . Substitute Modifier . . . . . . . . . . . . . . . Surface Modifier . . . . . . . . . . . . . . . . SurfDeform Modifier (Object Space) . . . . . . Sweep Modifier . . . . . . . . . . . . . . . . . Pick Shape Dialog (Sweep Modifier) . . . Extract Shape Dialog (Sweep Modifier) . Merge File (Sweep Modifier) . . . . . . . Symmetry Modifier . . . . . . . . . . . . . . Taper Modifier . . . . . . . . . . . . . . . . . Tessellate Modifier . . . . . . . . . . . . . . . Trim/Extend Modifier . . . . . . . . . . . . . TurboSmooth Modifier . . . . . . . . . . . . . Turn To Mesh Modifier . . . . . . . . . . . . . Turn To Patch Modifier . . . . . . . . . . . . . Turn To Poly Modifier . . . . . . . . . . . . . Twist Modifier . . . . . . . . . . . . . . . . . UVW Mapping . . . . . . . . . . . . . . . . . Unwrap UVW Modifier . . . . . . . . . . UVW Map Modifier . . . . . . . . . . . UVW Mapping Add Modifier . . . . . . UVW Mapping Clear Modifier . . . . . . UVW Mapping Paste Modifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1588 . 1589 . 1591 . 1595 . 1598 . 1601 . 1603 . 1610 . 1614 . 1641 . 1645 . 1652 . 1654 . 1665 . 1675 . 1676 . 1682 . 1685 . 1687 . 1690 . 1693 . 1695 . 1699 . 1705 . 1707 . 1711 . 1723 . 1725 . 1745 . 1747 . 1749 . 1752 . 1757 . 1761 . 1764 . 1767 . 1774 . 1776 . 1779 . 1783 . 1787 . 1787 . 1883 . 1905 . 1905 . 1906 Contents | xiii UVW XForm Modifier . . . . . . . . . . . Vertex Weld Modifier . . . . . . . . . . . . . . VertexPaint Modifier . . . . . . . . . . . . . . . VertexPaint Paintbox . . . . . . . . . . . Adjust Color Dialog (VertexPaint Modifier) Color Palette (VertexPaint Modifier) . . . Painter Options Dialog . . . . . . . . . . Volume Select Modifier . . . . . . . . . . . . . . Wave Modifier . . . . . . . . . . . . . . . . . . Welder Modifier . . . . . . . . . . . . . . . . . XForm Modifier . . . . . . . . . . . . . . . . . . Chapter 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1906 . 1908 . 1910 . 1920 . 1933 . 1935 . 1940 . 1944 . 1951 . 1955 . 1961 Surface Modeling . . . . . . . . . . . . . . . . . . . . . . . . 1965 Subdivision Surfaces . . . . . . . . . . . Soft Selection Rollout . . . . . . . . . . . Collapse Utility . . . . . . . . . . . . . . Graphite Modeling Tools . . . . . . . . . The Ribbon Interface . . . . . . . . Using the Ribbon . . . . . . . Modeling Ribbon Controls . . Graphite Modeling Tools Tab . . . . Polygon Modeling Panel . . . Modify Selection Panel . . . . Edit Panel . . . . . . . . . . . Geometry (All) Panel . . . . . [Sub-object] Panel . . . . . . Loops Panel . . . . . . . . . . Additional Panels . . . . . . . Freeform Tab . . . . . . . . . . . . PolyDraw Panel . . . . . . . . Paint Deform Panel . . . . . . Selection Tab . . . . . . . . . . . . General Selection Panels . . . Select By Panels . . . . . . . . Object Paint Tab . . . . . . . . . . Paint Objects Panel . . . . . . Brush Settings Panel . . . . . Customizing the Ribbon . . . . . . Advanced Usage . . . . . . . Conditions Dialog . . . . . . Editable Mesh Surface . . . . . . . . . . Working with Mesh Sub-Objects . . Selection Rollout (Editable Mesh) . Editable Mesh (Object) . . . . . . . Editable Mesh (Vertex) . . . . . . . Editable Mesh (Edge) . . . . . . . . xiv | Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1965 . 1966 . 1974 . 1978 . 1979 . 1980 . 1985 . 1995 . 1995 . 2013 . 2025 . 2039 . 2050 . 2082 . 2099 . 2107 . 2108 . 2117 . 2132 . 2132 . 2137 . 2144 . 2145 . 2159 . 2163 . 2184 . 2185 . 2190 . 2194 . 2195 . 2198 . 2201 . 2207 Editable Mesh (Face/Polygon/Element) . . . . . . . Edit Geometry Rollout (Mesh) . . . . . . . . . . . . Attach Options Dialog (Editable Mesh) . . . . . . . Cut and Slice (Editable Mesh) . . . . . . . . . . . . Editable Poly Surface . . . . . . . . . . . . . . . . . . . . Selection Rollout (Polymesh) . . . . . . . . . . . . . Editable Poly (Object) . . . . . . . . . . . . . . . . Editable Poly (Vertex) . . . . . . . . . . . . . . . . Editable Poly (Edge) . . . . . . . . . . . . . . . . . Editable Poly (Border) . . . . . . . . . . . . . . . . Editable Poly (Polygon/Element) . . . . . . . . . . Edit Geometry Rollout (Polymesh and Edit Poly) . . Subdivision Surface Rollout (Polymesh) . . . . . . . Subdivision Displacement Rollout (Polymesh) . . . Paint Deformation Rollout (Polymesh) . . . . . . . Editable Poly Settings . . . . . . . . . . . . . . . . . Bevel Polygons (Polymesh) . . . . . . . . . . . Bridge Borders/Polygons (Polymesh) . . . . . . Bridge Edges (Polymesh) . . . . . . . . . . . . Chamfer Vertices/Edges/Borders (Polymesh) . Connect Edges (Polymesh) . . . . . . . . . . . Extrude Polygons Along Spline (Polymesh) . . Extrude Polygons (Polymesh) . . . . . . . . . Extrude Vertices/Edges (Polymesh) . . . . . . . Hinge From Edge (Polymesh) . . . . . . . . . Inset Polygons (Polymesh) . . . . . . . . . . . MeshSmooth Selection (Polymesh) . . . . . . Preserve Map Channels Dialog (Polymesh) . . Relax (Polymesh) . . . . . . . . . . . . . . . . Tessellate (Polymesh) . . . . . . . . . . . . . . Weld Vertices/Edges (Polymesh) . . . . . . . . Patch Objects . . . . . . . . . . . . . . . . . . . . . . . . Editable Patch Surface . . . . . . . . . . . . . . . . Selection Rollout (Editable Patch) . . . . . . . Editable Patch (Object) . . . . . . . . . . . . . Editable Patch (Vertex) . . . . . . . . . . . . . Editable Patch (Handle) . . . . . . . . . . . . Editable Patch (Edge) . . . . . . . . . . . . . Editable Patch (Patch) . . . . . . . . . . . . . Editable Patch (Element) . . . . . . . . . . . . Geometry Rollout (Patch) . . . . . . . . . . . Patch Grids . . . . . . . . . . . . . . . . . . . . . . Quad Patch . . . . . . . . . . . . . . . . . . . Tri Patch . . . . . . . . . . . . . . . . . . . . NURBS Modeling . . . . . . . . . . . . . . . . . . . . . . NURBS Models: Objects and Sub-Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2214 . 2218 . 2232 . 2234 . 2240 . 2245 . 2256 . 2258 . 2269 . 2290 . 2297 . 2312 . 2327 . 2332 . 2334 . 2338 . 2342 . 2344 . 2348 . 2351 . 2353 . 2356 . 2358 . 2360 . 2362 . 2363 . 2365 . 2367 . 2369 . 2371 . 2372 . 2374 . 2374 . 2380 . 2384 . 2387 . 2396 . 2398 . 2401 . 2407 . 2410 . 2424 . 2426 . 2430 . 2433 . 2434 Contents | xv Creating NURBS Models . . . . . . . . . . . . . . . . Working with NURBS Models . . . . . . . . . . . . . NURBS Surface Trimming . . . . . . . . . . . . . . . Modifying NURBS Models and Creating Sub-Objects . Quad Menu for NURBS Objects . . . . . . . . . . . . Using the NURBS Toolbox to Create Sub-Objects . . . NURBS Sub-Object Selection . . . . . . . . . . . . . . CV Sub-Objects and Point Sub-Objects . . . . . . . . Dependent Sub-Objects (NURBS) . . . . . . . . . . . Rigid NURBS Surfaces . . . . . . . . . . . . . . . . . . NURBS and Modifiers . . . . . . . . . . . . . . . . . NURBS and Animation . . . . . . . . . . . . . . . . . NURBS Concepts . . . . . . . . . . . . . . . . . . . . NURBS Tips and Techniques . . . . . . . . . . . . . . NURBS Surfaces . . . . . . . . . . . . . . . . . . . . . . . . Point Surface . . . . . . . . . . . . . . . . . . . . . . CV Surface . . . . . . . . . . . . . . . . . . . . . . . NURBS Curves . . . . . . . . . . . . . . . . . . . . . . . . Point Curve . . . . . . . . . . . . . . . . . . . . . . . CV Curve . . . . . . . . . . . . . . . . . . . . . . . . Creating NURBS Curve and Surface Objects . . . . . . . . . Creating Independent Surfaces from NURBS Curve Objects . . . . . . . . . . . . . . . . . . . . . . . . Creating NURBS Curves from Splines . . . . . . . . . Creating NURBS Surfaces from Geometric Primitives . Nonrelational NURBS Surfaces . . . . . . . . . . . . . Display Controls for NURBS Models . . . . . . . . . . Display Line Parameters for NURBS Surfaces . . . . . Creating and Editing NURBS Sub-Objects . . . . . . . . . . Attaching and Importing 3ds Max Objects . . . . . . Common Sub-Object Controls . . . . . . . . . . . . . Editing Point Sub-Objects . . . . . . . . . . . . . . . Editing Curve CV Sub-Objects . . . . . . . . . . . . . Editing Surface CV Sub-Objects . . . . . . . . . . . . Editing Curve Sub-Objects . . . . . . . . . . . . . . . Editing Surface Sub-Objects . . . . . . . . . . . . . . Soft Selection Rollout (NURBS) . . . . . . . . . . . . . Material Properties Rollout (NURBS) . . . . . . . . . . Creating Curve Sub-Objects . . . . . . . . . . . . . . Creating Surface Sub-Objects . . . . . . . . . . . . . . Creating and Editing Point Sub-Objects . . . . . . . . NURBS Editing Dialogs . . . . . . . . . . . . . . . . . NURBS Curve and Surface Approximation . . . . . . . . . . NURBS Curve Approximation . . . . . . . . . . . . . NURBS Surface Approximation . . . . . . . . . . . . Advanced Surface Approximation Dialog (NURBS) . . xvi | Contents . . . . . . . . . . . . . . . . . . . . . . 2435 . 2436 . 2437 . 2439 . 2441 . 2443 . 2445 . 2446 . 2450 . 2453 . 2453 . 2456 . 2457 . 2461 . 2471 . 2473 . 2477 . 2481 . 2483 . 2490 . 2498 . . . . . . . . . . . . . . . . . . . . . . . . . 2498 . 2499 . 2500 . 2502 . 2504 . 2507 . 2508 . 2509 . 2512 . 2514 . 2522 . 2528 . 2538 . 2550 . 2561 . 2564 . 2569 . 2625 . 2717 . 2732 . 2760 . 2761 . 2762 . 2771 Surface Approximation Utility (NURBS) . Tools for Low-Polygon Modeling . . . . . . . . . . . Show Statistics . . . . . . . . . . . . . . . . . Level of Detail Utility . . . . . . . . . . . . . . Optimization Modifiers . . . . . . . . . . . . Batch ProOptimizer Utility . . . . . . . . . . . Batch ProOptimizer Rollout . . . . . . . Batch Optimization Dialog . . . . . . . . Chapter 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2773 . 2785 . 2785 . 2787 . 2792 . 2793 . 2795 . 2797 Precision and Drawing Aids . . . . . . . . . . . . . . . . . . 2807 Tools for Precision . . . . . . . . . . . . Using Units . . . . . . . . . . . . . . . . Using Grids . . . . . . . . . . . . . . . . Using the Home Grid . . . . . . . . Using Grid Objects . . . . . . . . . Viewing Grid Objects . . . . . . . . AutoGrid . . . . . . . . . . . . . . Grid Commands . . . . . . . . . . Show Home Grid . . . . . . . Activate Home Grid . . . . . Activate Grid Object . . . . . Align Grid to View . . . . . . Alignment . . . . . . . . . . . . . . . . . Aligning Objects . . . . . . . . . . Aligning Normals . . . . . . . . . . Using Snaps . . . . . . . . . . . . . . . . Snap Commands . . . . . . . . . . 2D Snap, 2.5D Snap, 3D Snap Angle Snap Toggle . . . . . . Percent Snap Toggle . . . . . Spinner Snap Toggle . . . . . Ortho Snapping Mode . . . . Polar Snapping Mode . . . . Setting Snap Options . . . . . . . . Grid and Snap Settings . . . . . . . Snap Settings . . . . . . . . . Snap Override . . . . . . . . . Snap Options . . . . . . . . . Home Grid Settings . . . . . . User Grid Settings . . . . . . Helpers . . . . . . . . . . . . . . . . . . Select And Manipulate . . . . . . . Standard Helper Objects . . . . . . Dummy Helper . . . . . . . . Expose Transform Helper . . . Grid Helper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2808 . 2810 . 2811 . 2813 . 2815 . 2817 . 2819 . 2822 . 2822 . 2823 . 2823 . 2824 . 2825 . 2825 . 2829 . 2830 . 2833 . 2833 . 2840 . 2842 . 2842 . 2843 . 2845 . 2847 . 2850 . 2850 . 2856 . 2859 . 2863 . 2867 . 2868 . 2868 . 2870 . 2871 . 2872 . 2878 Contents | xvii Point Helper . . . . . . . Tape Helper . . . . . . . . Protractor Helper . . . . . Compass Helper . . . . . Manipulator Helper Objects . . Cone Angle Manipulator . Plane Angle Manipulator . Slider Manipulator . . . . Drawing Assistants . . . . . . . . . . xView . . . . . . . . . . . . . . Measuring Distances . . . . . . Measure Distance Tool . . . . . Measure Utility . . . . . . . . . Rescale World Units Utility . . . Chapter 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2884 . 2886 . 2889 . 2891 . 2892 . 2893 . 2896 . 2900 . 2905 . 2905 . 2910 . 2913 . 2914 . 2916 Space Warps and Particle Systems . . . . . . . . . . . . . . . 2919 Space Warp Objects . . . . . . . . . Bind to Space Warp . . . . . . Forces . . . . . . . . . . . . . . Push Space Warp . . . . . Motor Space Warp . . . . Vortex Space Warp . . . . Drag Space Warp . . . . . PBomb Space Warp . . . . Path Follow Space Warp . Gravity Space Warp . . . . Wind Space Warp . . . . . Displace Space Warp . . . Deflectors . . . . . . . . . . . . POmniFlect Space Warp . PDynaFlect Space Warp . SOmniFlect Space Warp . SDynaFlect Space Warp . . UOmniFlect Space Warp . UDynaFlect Space Warp . SDeflector Space Warp . . UDeflector Space Warp . . Deflector Space Warp . . . Geometric/Deformable . . . . . FFD(Box) Space Warp . . . FFD(Cyl) Space Warp . . . Wave Space Warp . . . . . Ripple Space Warp . . . . Conform Space Warp . . . Bomb Space Warp . . . . Modifier-Based Space Warps . . xviii | Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2920 . 2925 . 2926 . 2926 . 2931 . 2936 . 2941 . 2947 . 2953 . 2958 . 2960 . 2964 . 2969 . 2969 . 2975 . 2980 . 2982 . 2983 . 2985 . 2988 . 2991 . 2994 . 2997 . 2997 . 3004 . 3013 . 3018 . 3022 . 3027 . 3030 Particle Systems . . . . . . . . . . . . . . . Particle Flow . . . . . . . . . . . . . How Particle Flow Works . . . . Particle Flow User Interface . . Actions . . . . . . . . . . . . . Non-Event-Driven Particle Systems . Particle System Usage . . . . . . Spray Particle System . . . . . . Snow Particle System . . . . . . Super Spray Particle System . . Blizzard Particle System . . . . PCloud Particle System . . . . . PArray Particle System . . . . . Chapter 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3032 . 3033 . 3034 . 3048 . 3081 . 3323 . 3326 . 3337 . 3341 . 3346 . 3350 . 3355 . 3362 Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3397 Animation Concepts and Methods . . . . . . . . . Animation Concepts . . . . . . . . . . . . . Using Auto Key Mode . . . . . . . . . . . . Using Set Key Mode . . . . . . . . . . . . . Spinner Right-Click Menu . . . . . . . . . . Viewing and Copying Transform Keys . . . . Controlling Time . . . . . . . . . . . . . . . Setting Time Segments . . . . . . . . . . . . Moving Through Time . . . . . . . . . . . . Choosing a Frame Rate and Playback Speed . Working with Controllers . . . . . . . . . . . . . Understanding Controllers . . . . . . . . . . Changing Controller Properties . . . . . . . Assigning Controllers . . . . . . . . . . . . . Specifying Default Controllers . . . . . . . . General-Purpose Controllers . . . . . . . . . Special-Purpose Controllers . . . . . . . . . Explicit Axis Keys . . . . . . . . . . . . . . . Float Controllers . . . . . . . . . . . . . . . Controlling Transforms . . . . . . . . . . . . Controlling Position . . . . . . . . . . . . . Controlling Rotation . . . . . . . . . . . . . Controlling Colors . . . . . . . . . . . . . . Morph Controllers . . . . . . . . . . . . . . Motion Panel Commands . . . . . . . . . . Trajectories . . . . . . . . . . . . . . . PRS Parameters Rollout . . . . . . . . . Key Info (Basic) Rollout/Dialog . . . . Tangent Types . . . . . . . . . . . . . Key Info (Advanced) Rollout/Dialog . . Animation Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3398 . 3398 . 3403 . 3406 . 3411 . 3412 . 3415 . 3417 . 3418 . 3420 . 3421 . 3422 . 3425 . 3427 . 3429 . 3431 . 3433 . 3434 . 3435 . 3436 . 3437 . 3437 . 3438 . 3440 . 3440 . 3440 . 3446 . 3447 . 3449 . 3451 . 3454 Contents | xix Audio Controller . . . . . . . . . . . . . . . . . . . . . . . . . 3455 Audio Controller Dialog . . . . . . . . . . . . . . . . . . 3456 Barycentric Morph Controller . . . . . . . . . . . . . . . . . . 3459 Barycentric Morph Controller Key Info Dialog . . . . . . 3461 Bezier Controllers . . . . . . . . . . . . . . . . . . . . . . . . . 3462 Block Controller . . . . . . . . . . . . . . . . . . . . . . . . . 3466 Attach Controls Dialog (Block Controller) . . . . . . . . . 3471 Block Parameters Dialog (Block Controller) . . . . . . . . 3473 Master Block Parameters Dialog (Block Controller) . . . . 3474 Slave Parameters Dialog (Block Controller) . . . . . . . . 3475 Track View Pick Dialog (Block Controller) . . . . . . . . . 3477 Boolean Controller . . . . . . . . . . . . . . . . . . . . . . . . 3478 Color RGB Controller (Point3 XYZ Controller) . . . . . . . . . 3480 Euler XYZ Rotation Controller . . . . . . . . . . . . . . . . . . 3482 Expression Controller . . . . . . . . . . . . . . . . . . . . . . 3486 Expression Controller Techniques . . . . . . . . . . . . . 3492 Layer Controller . . . . . . . . . . . . . . . . . . . . . . . . . 3494 Animation Layers (Layer Controller) . . . . . . . . . . . . 3496 Layer Properties Dialog (Layer Controller) . . . . . . . . 3512 Create New Animation Layer Dialog (Layer Controller) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3513 Limit Controller . . . . . . . . . . . . . . . . . . . . . . . . . 3514 Linear Controller . . . . . . . . . . . . . . . . . . . . . . . . . 3526 List Controller . . . . . . . . . . . . . . . . . . . . . . . . . . 3528 Local Euler XYZ Rotation Controller . . . . . . . . . . . . . . . 3532 Look At Controller . . . . . . . . . . . . . . . . . . . . . . . . 3533 Master Point Controller . . . . . . . . . . . . . . . . . . . . . 3535 Master Track Key Info Dialog (Master Point Controller) . . . . . . . . . . . . . . . . . . . . . . . . 3537 Motion Capture Controller . . . . . . . . . . . . . . . . . . . . 3539 Noise Controller . . . . . . . . . . . . . . . . . . . . . . . . . 3550 On/Off Controller . . . . . . . . . . . . . . . . . . . . . . . . 3553 Position XYZ Controller . . . . . . . . . . . . . . . . . . . . . 3555 PRS Controller . . . . . . . . . . . . . . . . . . . . . . . . . . 3557 Reaction Controllers . . . . . . . . . . . . . . . . . . . . . . . 3559 Reaction Manager Dialog . . . . . . . . . . . . . . . . . . 3565 Using Manipulators with Reaction Controllers . . . . . . 3580 Scale XYZ Controller . . . . . . . . . . . . . . . . . . . . . . . 3582 Script Controller . . . . . . . . . . . . . . . . . . . . . . . . . 3584 Smooth Rotation Controller . . . . . . . . . . . . . . . . . . . 3590 Spring Controller . . . . . . . . . . . . . . . . . . . . . . . . . 3591 TCB Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . 3595 Waveform Controller . . . . . . . . . . . . . . . . . . . . . . . 3598 XRef Controller . . . . . . . . . . . . . . . . . . . . . . . . . . 3602 Animation Constraints . . . . . . . . . . . . . . . . . . . . . . . . . 3607 Attachment Constraint . . . . . . . . . . . . . . . . . . . . . . 3608 xx | Contents Link Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . 3614 LookAt Constraint . . . . . . . . . . . . . . . . . . . . . . . . 3619 Orientation Constraint . . . . . . . . . . . . . . . . . . . . . . 3625 Path Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . 3629 Position Constraint . . . . . . . . . . . . . . . . . . . . . . . . 3636 Surface Constraint . . . . . . . . . . . . . . . . . . . . . . . . 3642 Wire Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3645 Parameter Wiring Dialog . . . . . . . . . . . . . . . . . . . . . 3647 Hierarchies and Kinematics . . . . . . . . . . . . . . . . . . . . . . . 3653 Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3653 Linking Strategy . . . . . . . . . . . . . . . . . . . . . . 3658 Linking and Unlinking Objects . . . . . . . . . . . . . . 3665 Adjusting Pivots . . . . . . . . . . . . . . . . . . . . . . 3668 Viewing and Selecting Hierarchies . . . . . . . . . . . . . 3673 Animating with Forward Kinematics . . . . . . . . . . . . . . . 3677 Using Dummy Objects . . . . . . . . . . . . . . . . . . . 3686 Animating Links . . . . . . . . . . . . . . . . . . . . . . 3688 Adjusting Object Transforms . . . . . . . . . . . . . . . . 3691 Locking Object Transforms . . . . . . . . . . . . . . . . . 3693 Animating Attachment . . . . . . . . . . . . . . . . . . . 3693 Changing Link Inheritance . . . . . . . . . . . . . . . . 3694 Link Inheritance (Selected) Utility . . . . . . . . . . . . . 3695 Inverse Kinematics (IK) . . . . . . . . . . . . . . . . . . . . . . 3696 IK Terminology . . . . . . . . . . . . . . . . . . . . . . . 3700 Inverse Kinematics Methods . . . . . . . . . . . . . . . . 3702 Joint Controls . . . . . . . . . . . . . . . . . . . . . . . 3787 Hierarchy Panel Commands . . . . . . . . . . . . . . . . . . . 3795 Pivot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3796 IK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3807 Link Info . . . . . . . . . . . . . . . . . . . . . . . . . . 3824 Track View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3827 Working with Track View . . . . . . . . . . . . . . . . . . . . . 3831 Track View Workspace . . . . . . . . . . . . . . . . . . . . . . 3832 Curve Editor Introduction . . . . . . . . . . . . . . . . . . . . 3841 Dope Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3842 Time Ruler . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3846 Track View Shortcuts . . . . . . . . . . . . . . . . . . . . . . . 3847 Track View Hierarchy . . . . . . . . . . . . . . . . . . . . . . . 3853 Track View Hierarchy Icons . . . . . . . . . . . . . . . . 3859 Hierarchy Right-Click Menu . . . . . . . . . . . . . . . . 3861 Properties (Track View Hierarchy) . . . . . . . . . . . . . 3866 Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . 3868 Track View Menu Bar . . . . . . . . . . . . . . . . . . . . . . . 3882 Modes Menu . . . . . . . . . . . . . . . . . . . . . . . . 3883 Controller Menu . . . . . . . . . . . . . . . . . . . . . . 3883 Tracks Menu . . . . . . . . . . . . . . . . . . . . . . . . 3887 Contents | xxi Keys Menu . . . . . . . . . . . . . . Curves Menu . . . . . . . . . . . . . Time Menu . . . . . . . . . . . . . . Options Menu . . . . . . . . . . . . Display Menu . . . . . . . . . . . . . View Menu . . . . . . . . . . . . . . Utilities Menu . . . . . . . . . . . . Track View Quad Menus . . . . . . . Track View Toolbars . . . . . . . . . . . . Curve Editor Toolbars . . . . . . . . Dope Sheet Toolbars . . . . . . . . . Name Toolbar . . . . . . . . . . . . . Controllers Toolbar . . . . . . . . . . Tools Toolbar . . . . . . . . . . . . . Ranges Toolbar (Dope Sheet) . . . . . Extras Toolbar (Dope Sheet) . . . . . Filtering Track View Display . . . . . . . . Filters Dialog (Track View) . . . . . . Managing Controllers . . . . . . . . . . . Copy Controller . . . . . . . . . . . Paste Controller . . . . . . . . . . . Assign Controller . . . . . . . . . . Delete Controller . . . . . . . . . . Ignore Animation Range . . . . . . . Respect Animation Range . . . . . . Make Controller Unique . . . . . . . Note Tracks . . . . . . . . . . . . . . . . . Add Note Track . . . . . . . . . . . Remove Note Track . . . . . . . . . Editing Keys . . . . . . . . . . . . . . . . . Edit Keys . . . . . . . . . . . . . . . Snap Frames . . . . . . . . . . . . . Lock Selection . . . . . . . . . . . . Align to Cursor . . . . . . . . . . . . Add Visibility Track . . . . . . . . . Move Keys (Dope Sheet) . . . . . . . Slide Keys . . . . . . . . . . . . . . Scale Keys - Time . . . . . . . . . . . Add Keys (Dope Sheet) . . . . . . . . Properties (Track View Key Window) Track View Utilities . . . . . . . . . . . . Randomize Keys Utility . . . . . . . Create Out of Range Keys Utility . . . Select Keys By Time Utility . . . . . . Euler Filter . . . . . . . . . . . . . . Soft Selection Settings . . . . . . . . xxii | Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3887 . 3889 . 3889 . 3890 . 3896 . 3900 . 3901 . 3904 . 3907 . 3907 . 3913 . 3917 . 3917 . 3918 . 3920 . 3920 . 3921 . 3922 . 3927 . 3927 . 3928 . 3930 . 3932 . 3933 . 3934 . 3935 . 3936 . 3936 . 3939 . 3940 . 3940 . 3941 . 3942 . 3943 . 3944 . 3947 . 3948 . 3949 . 3951 . 3952 . 3953 . 3955 . 3957 . 3959 . 3960 . 3961 Current Value Editor . . . . . . . . . . . . . . . . . . . Edit Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . Select Time . . . . . . . . . . . . . . . . . . . . . . . . Delete Time . . . . . . . . . . . . . . . . . . . . . . . Cut Time . . . . . . . . . . . . . . . . . . . . . . . . . Copy Time . . . . . . . . . . . . . . . . . . . . . . . . Paste Time . . . . . . . . . . . . . . . . . . . . . . . . Reverse Time . . . . . . . . . . . . . . . . . . . . . . . Insert Time . . . . . . . . . . . . . . . . . . . . . . . . Scale Time . . . . . . . . . . . . . . . . . . . . . . . . Exclude Left End Point . . . . . . . . . . . . . . . . . Exclude Right End Point . . . . . . . . . . . . . . . . . Reduce Keys . . . . . . . . . . . . . . . . . . . . . . . Edit Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . Position Ranges . . . . . . . . . . . . . . . . . . . . . Recouple Ranges . . . . . . . . . . . . . . . . . . . . . Editing Tracks: Copying, Pasting, and Handling Instances and References . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying and Pasting Items . . . . . . . . . . . . . . . . Copying and Pasting Objects . . . . . . . . . . . . . . . Making Instance and Reference Controllers and Objects Unique . . . . . . . . . . . . . . . . . . . . . . . . . Curve Editor . . . . . . . . . . . . . . . . . . . . . . . . . . Move Keys (Curve Edit r) . . . . . . . . . . . . . . . . Scale Keys . . . . . . . . . . . . . . . . . . . . . . . . Scale Values . . . . . . . . . . . . . . . . . . . . . . . Add Keys (Curve Editor) . . . . . . . . . . . . . . . . . Draw Curves . . . . . . . . . . . . . . . . . . . . . . . Show Tangents . . . . . . . . . . . . . . . . . . . . . . Lock Tangents . . . . . . . . . . . . . . . . . . . . . . Parameter Curve Out-of-Range Types . . . . . . . . . . Apply Ease Curve / Apply Multiplier Curve . . . . . . . Remove Ease/Multiplier Curve . . . . . . . . . . . . . On/Off (Curves) . . . . . . . . . . . . . . . . . . . . . Ease Curve Out-of-Range Types . . . . . . . . . . . . . Multiplier Curve Out-of-Range Types . . . . . . . . . . Freeze Non-Selected Curves . . . . . . . . . . . . . . . Status Bar and View Controls . . . . . . . . . . . . . . . . . Track Selection Toolbar . . . . . . . . . . . . . . . . . . Key Stats Toolbar . . . . . . . . . . . . . . . . . . . . . Navigation Toolbar . . . . . . . . . . . . . . . . . . . . Managing Track View Windows . . . . . . . . . . . . . . . . New Track View . . . . . . . . . . . . . . . . . . . . . . Delete Track View . . . . . . . . . . . . . . . . . . . . . Saved Track Views . . . . . . . . . . . . . . . . . . . . Customizing the Track View Window . . . . . . . . . . . . . . 3962 . 3963 . 3965 . 3966 . 3967 . 3967 . 3968 . 3970 . 3971 . 3972 . 3973 . 3974 . 3976 . 3978 . 3979 . 3980 . 3981 . 3981 . 3983 . 3985 . 3986 . 3988 . 3989 . 3990 . 3991 . 3993 . 3994 . 3996 . 3996 . 3999 . 4001 . 4001 . 4002 . 4004 . 4006 . 4007 . 4007 . 4017 . 4020 . 4025 . 4025 . 4026 . 4027 . 4028 Contents | xxiii Track View Toolbar Right-Click Menu . . . . . Motion Mixer . . . . . . . . . . . . . . . . . . . . . . . . Using the Motion Mixer . . . . . . . . . . . . . . . Adding Tracks to the Mixer . . . . . . . . . . Importing Clips to the Mixer . . . . . . . . . . Working with Clips in the Mixer . . . . . . . . Filtering Mixer Tracks . . . . . . . . . . . . . Adjusting Clip Timing . . . . . . . . . . . . . Working with Transitions . . . . . . . . . . . Adjusting Track Weight . . . . . . . . . . . . . Adding Time Warps . . . . . . . . . . . . . . Adjusting Biped Balance in the Mixer . . . . . Exporting Animation to the Biped . . . . . . . Using the Reservoir . . . . . . . . . . . . . . . Motion Mixer Interface . . . . . . . . . . . . . . . . Motion Mixer Menus . . . . . . . . . . . . . . Motion Mixer Dialogs . . . . . . . . . . . . . Motion Mixer Toolbar . . . . . . . . . . . . . Trackgroup Filter Dialog (Biped Object) . . . . Trackgroup Filter Dialog (Non-Biped Object) . Motion Mixer Editor . . . . . . . . . . . . . . Reservoir . . . . . . . . . . . . . . . . . . . . Mixer Preferences Dialog . . . . . . . . . . . Mixer Rollout . . . . . . . . . . . . . . . . . . Saving and Loading Animation . . . . . . . . . . . . . . Load Animation . . . . . . . . . . . . . . . . . . . Map Animation Dialog . . . . . . . . . . . . . Motion Mapping Parameters Rollout . . . . . Map Track to Track Rollout . . . . . . . . . . . Retargeting Rollout . . . . . . . . . . . . . . . Save Animation . . . . . . . . . . . . . . . . . . . . Merge Animation . . . . . . . . . . . . . . . . . . . Animation Utilities . . . . . . . . . . . . . . . . . . . . . Follow/Bank Utility . . . . . . . . . . . . . . . . . . Motion Capture Utility . . . . . . . . . . . . . . . . MACUtilities Utility . . . . . . . . . . . . . . . . . Camera Tracker Utility . . . . . . . . . . . . . . . . Requirements for Camera Tracking . . . . . . Camera Tracker: Movie Rollout . . . . . . . . Camera Tracker: Movie Window . . . . . . . . Camera Tracker: Motion Trackers Rollout . . . Camera Tracker: Movie Stepper Rollout . . . . Camera Tracker: Error Thresholds Rollout . . . Camera Tracker: Batch Track Rollout . . . . . . Camera Tracker: Position Data Rollout . . . . . Camera Tracker: Match Move Rollout . . . . . xxiv | Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4035 . 4036 . 4038 . 4043 . 4048 . 4052 . 4054 . 4060 . 4063 . 4069 . 4071 . 4075 . 4080 . 4084 . 4088 . 4089 . 4098 . 4119 . 4124 . 4126 . 4128 . 4132 . 4137 . 4140 . 4141 . 4144 . 4147 . 4149 . 4152 . 4154 . 4159 . 4163 . 4171 . 4171 . 4174 . 4193 . 4195 . 4200 . 4200 . 4202 . 4205 . 4210 . 4212 . 4213 . 4215 . 4216 Camera Tracker: Move Smoothing Rollout . Camera Tracker: Object Pinning Rollout . . . Camera Tracker: Troubleshooting . . . . . . Dynamics Utility . . . . . . . . . . . . . . . . . . Edit Object Dialog (Dynamics Utility) . . . . Edit Object List Dialog (Dynamics Utility) . . Skin Utilities . . . . . . . . . . . . . . . . . . . . Chapter 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4219 . 4221 . 4224 . 4226 . 4241 . 4247 . 4249 reactor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4255 Introducing Dynamics Simulation . . . . . . . . . . . . . . . . . . . 4263 Special Features in reactor . . . . . . . . . . . . . . . . . . . . . . . 4270 reactor Helpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4281 Rigid Bodies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4282 Rigid Body Basics . . . . . . . . . . . . . . . . . . . . . . . . . 4283 Rigid Body Properties . . . . . . . . . . . . . . . . . . . . . . 4284 Compound Rigid Bodies . . . . . . . . . . . . . . . . . . . . . 4294 Rigid Body Collection . . . . . . . . . . . . . . . . . . . . . . 4296 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4299 Constraint Concepts . . . . . . . . . . . . . . . . . . . . 4300 Simple Constraints . . . . . . . . . . . . . . . . . . . . . 4303 Cooperative Constraints . . . . . . . . . . . . . . . . . . 4317 reactor Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 4375 Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4375 Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . 4377 Toy Car . . . . . . . . . . . . . . . . . . . . . . . . . . . 4380 Fracture . . . . . . . . . . . . . . . . . . . . . . . . . . 4387 Fracture Tips . . . . . . . . . . . . . . . . . . . . . . . . 4394 Storing and Accessing Collisions . . . . . . . . . . . . . . . . . 4396 Deformable Bodies . . . . . . . . . . . . . . . . . . . . . . . . . . . 4401 Cloth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4402 Cloth Modifier . . . . . . . . . . . . . . . . . . . . . . . 4403 Cloth Collection . . . . . . . . . . . . . . . . . . . . . . 4411 Soft Bodies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4413 Soft Body Modifier . . . . . . . . . . . . . . . . . . . . . 4415 FFD Soft Bodies . . . . . . . . . . . . . . . . . . . . . . . 4419 Soft Body Collection . . . . . . . . . . . . . . . . . . . . 4423 Rope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4425 Rope Modifier . . . . . . . . . . . . . . . . . . . . . . . 4426 Rope Collection . . . . . . . . . . . . . . . . . . . . . . 4431 Deforming Meshes (Skin) . . . . . . . . . . . . . . . . . . . . . 4433 Deforming Mesh Collection . . . . . . . . . . . . . . . . 4435 Constraining Deformable Bodies . . . . . . . . . . . . . . . . . 4437 Fixing Vertices in World Space . . . . . . . . . . . . . . . 4440 Keyframing Vertices . . . . . . . . . . . . . . . . . . . . 4441 Attaching Vertices to a Rigid Body . . . . . . . . . . . . . 4443 Attaching Vertices to Deforming Meshes (Skin) . . . . . . 4445 Contents | xxv Soft Selection . . . . . . . . . . . . . Water Simulation . . . . . . . . . . . . . . . . . Water Space Warp . . . . . . . . . . . . . Rendering Water . . . . . . . . . . . . . . Wind . . . . . . . . . . . . . . . . . . . . . . . The reactor Utility . . . . . . . . . . . . . . . . Preview & Animation Rollout . . . . . . . Havok 1 World / Havok 3 World Rollout . Collisions Rollout . . . . . . . . . . . . . . Display Rollout . . . . . . . . . . . . . . . reactor Utilities . . . . . . . . . . . . . . . Properties Rollout . . . . . . . . . . . . . . The Real-Time Preview . . . . . . . . . . . . . . Scripts and Tools . . . . . . . . . . . . . . . . . Frequently Asked Questions . . . . . . . . . . . Troubleshooting . . . . . . . . . . . . . . . . . Chapter 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4447 . 4450 . 4451 . 4454 . 4456 . 4460 . 4462 . 4464 . 4468 . 4470 . 4472 . 4475 . 4476 . 4481 . 4487 . 4492 Character Animation . . . . . . . . . . . . . . . . . . . . . . 4503 CAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4504 Getting Started: Rigging with CATRigs . . . . . . . . . . . . . . 4505 Creating a CATRig . . . . . . . . . . . . . . . . . . . . . 4505 Customizing the Geometry on CATBones . . . . . . . . . 4515 Removing Parts of the CATRig . . . . . . . . . . . . . . . 4517 Using CAT's Naming System . . . . . . . . . . . . . . . . 4518 Copying and Pasting Rig Parts . . . . . . . . . . . . . . . 4520 Applying Manipulation Gizmos . . . . . . . . . . . . . . 4521 Hierarchy Panel . . . . . . . . . . . . . . . . . . . . . . . 4527 Editing a Rig Interactively in the Viewport . . . . . . . . 4541 Editing Bone Pivot Positions . . . . . . . . . . . . . . . . 4543 CATParent . . . . . . . . . . . . . . . . . . . . . . . . . 4543 Hubs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4558 Spines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4565 Limbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4576 Limb IK Targets . . . . . . . . . . . . . . . . . . . . . . . 4583 Collarbones . . . . . . . . . . . . . . . . . . . . . . . . . 4584 Palms, Ankles, and Digits . . . . . . . . . . . . . . . . . 4585 Tails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4590 Extra Bones . . . . . . . . . . . . . . . . . . . . . . . . . 4593 Animating with CAT . . . . . . . . . . . . . . . . . . . . . . . 4597 Introduction to Keyframe Animation . . . . . . . . . . . 4598 Starting a New Animation . . . . . . . . . . . . . . . . . 4599 Editing Animation . . . . . . . . . . . . . . . . . . . . . 4602 CAT's IK System . . . . . . . . . . . . . . . . . . . . . . 4606 Animating with Stretchy Bones . . . . . . . . . . . . . . 4618 Animation Layering . . . . . . . . . . . . . . . . . . . . 4622 Manipulating the Rig . . . . . . . . . . . . . . . . . . . . 4652 xxvi | Contents Animation Controls . . . . . . . . . . . . . . . . . . . . 4669 Retargeting . . . . . . . . . . . . . . . . . . . . . . . . . 4690 Editing Keyframes in Track View . . . . . . . . . . . . . . 4693 Working with Poses and Animation . . . . . . . . . . . . . . . 4694 Saving and loading Poses and Animation using Right-Click Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . 4696 Clip/Pose Manager . . . . . . . . . . . . . . . . . . . . . 4703 Pose Mixer . . . . . . . . . . . . . . . . . . . . . . . . . 4711 CATMotion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4715 CATMotion Editor . . . . . . . . . . . . . . . . . . . . . 4716 CATMotion Presets/Layers . . . . . . . . . . . . . . . . . 4719 Globals . . . . . . . . . . . . . . . . . . . . . . . . . . . 4723 LimbPhases . . . . . . . . . . . . . . . . . . . . . . . . . 4727 CATMotion Controllers . . . . . . . . . . . . . . . . . . 4729 Understanding CATUnits . . . . . . . . . . . . . . . . . 4755 Working With Motion-Capture Data . . . . . . . . . . . . . . . 4756 Importing HTR/BVH Files . . . . . . . . . . . . . . . . . 4757 Importing BIP Files . . . . . . . . . . . . . . . . . . . . . 4759 Capture Animation . . . . . . . . . . . . . . . . . . . . . 4760 Retargeting Motion-Capture Data . . . . . . . . . . . . . 4768 Working With Muscles . . . . . . . . . . . . . . . . . . . . . . 4769 CATMuscle . . . . . . . . . . . . . . . . . . . . . . . . . 4772 Muscle Strand . . . . . . . . . . . . . . . . . . . . . . . . 4780 Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4788 Rig Resizer . . . . . . . . . . . . . . . . . . . . . . . . . 4788 Apply Max IK . . . . . . . . . . . . . . . . . . . . . . . . 4790 Tips and Tricks . . . . . . . . . . . . . . . . . . . . . . . . . . 4793 Customizing IK Using Constraints . . . . . . . . . . . . . 4793 Mapping Motion from Motion-Capture Point Clouds . . . . . . . . . . . . . . . . . . . . . . . . . . 4797 character studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4801 What Is character studio? . . . . . . . . . . . . . . . . . . . . 4803 What You Should Know to Use character studio . . . . . . . . 4804 Understanding Biped . . . . . . . . . . . . . . . . . . . . . . . 4805 Understanding Physique . . . . . . . . . . . . . . . . . . . . . 4807 Understanding Track Editing . . . . . . . . . . . . . . . . . . . 4810 Understanding the Workbench . . . . . . . . . . . . . . . . . 4811 Understanding Motion Flow . . . . . . . . . . . . . . . . . . . 4812 Understanding Crowds . . . . . . . . . . . . . . . . . . . . . . 4814 Understanding character studio Workflow . . . . . . . . . . . . 4816 Biped . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4822 Creating a Biped . . . . . . . . . . . . . . . . . . . . . . 4825 Understanding Biped Anatomy . . . . . . . . . . . . . . 4826 Changing Initial Biped Anatomy . . . . . . . . . . . . . 4828 Naming the Biped . . . . . . . . . . . . . . . . . . . . . 4828 Posing the Biped . . . . . . . . . . . . . . . . . . . . . . 4830 Contents | xxvii Scaling Links . . . . . . . . . . . . . . . . . . . . . . Rubber-Banding Arms and Legs . . . . . . . . . . . . Biped Display Options . . . . . . . . . . . . . . . . . Deleting a Biped . . . . . . . . . . . . . . . . . . . . Linking Character Body Parts to the Biped . . . . . . Saving and Loading FIG Files . . . . . . . . . . . . . . Footstep Animation . . . . . . . . . . . . . . . . . . Freeform Animation . . . . . . . . . . . . . . . . . . Working with Biped Animation . . . . . . . . . . . . Loading, Saving, and Displaying Biped Motion . . . . Biped User Interface . . . . . . . . . . . . . . . . . . Working with the Workbench . . . . . . . . . . . . . Working with Motion Flow . . . . . . . . . . . . . . Working with Motion-Capture Data . . . . . . . . . . Physique . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Physique . . . . . . . . . . . . . . . . . . . . . Physique User Interface . . . . . . . . . . . . . . . . Crowd Animation . . . . . . . . . . . . . . . . . . . . . . Creating a Crowd System . . . . . . . . . . . . . . . . Creating Crowd Helpers . . . . . . . . . . . . . . . . Adjusting Delegate Parameters . . . . . . . . . . . . . Assigning Behaviors . . . . . . . . . . . . . . . . . . Directing Delegates . . . . . . . . . . . . . . . . . . . Obstacle Avoidance . . . . . . . . . . . . . . . . . . . Changing Delegate Orientation and Speed . . . . . . Solving the Simulation . . . . . . . . . . . . . . . . . Linking Objects to Delegates . . . . . . . . . . . . . . Cognitive Controllers . . . . . . . . . . . . . . . . . Using Motion Synthesis . . . . . . . . . . . . . . . . Crowd Animation User Interface . . . . . . . . . . . . character studio File Formats and Index of character studio Procedures . . . . . . . . . . . . . . . . . . . . . . . . . character studio File Formats . . . . . . . . . . . . . . Index of character studio Procedures . . . . . . . . . Chapter 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4841 . 4843 . 4846 . 4847 . 4847 . 4851 . 4853 . 4910 . 4971 . 4976 . 5002 . 5162 . 5194 . 5264 . 5294 . 5296 . 5363 . 5456 . 5457 . 5462 . 5467 . 5467 . 5472 . 5475 . 5481 . 5481 . 5483 . 5486 . 5489 . 5505 . . 5658 . . 5658 . . 5659 Lights and Cameras . . . . . . . . . . . . . . . . . . . . . . . 5671 Lights . . . . . . . . . . . . . . . . . . . . . . . . . . Name and Color Rollout (Lights) . . . . . . . . . Using Lights . . . . . . . . . . . . . . . . . . . Working with Lights . . . . . . . . . . . . Properties of Light . . . . . . . . . . . . . Lighting in 3ds Max . . . . . . . . . . . . Guidelines for Lighting . . . . . . . . . . . Positioning Light Objects . . . . . . . . . Previewing Shadows and Other Lighting in Viewports . . . . . . . . . . . . . . . . . xxviii | Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5672 . 5675 . 5676 . 5677 . 5680 . 5686 . 5688 . 5691 . . . . . . . . 5692 Animating Lights . . . . . . . . . . . . . . . . . . . . Light Include/Exclude Tool . . . . . . . . . . . . . . . Light Lister . . . . . . . . . . . . . . . . . . . . . . . Photometric Lights . . . . . . . . . . . . . . . . . . . . . . Target Light (Photometric) . . . . . . . . . . . . . . . Free Light (Photometric) . . . . . . . . . . . . . . . . Rollouts for Photometric Lights . . . . . . . . . . . . Standard Lights . . . . . . . . . . . . . . . . . . . . . . . . Target Spotlight . . . . . . . . . . . . . . . . . . . . . Free Spotlight . . . . . . . . . . . . . . . . . . . . . . Target Directional Light . . . . . . . . . . . . . . . . Free Directional Light . . . . . . . . . . . . . . . . . Omni Light . . . . . . . . . . . . . . . . . . . . . . . Skylight . . . . . . . . . . . . . . . . . . . . . . . . . mr Area Omni Light . . . . . . . . . . . . . . . . . . mr Area Spotlight . . . . . . . . . . . . . . . . . . . . Rollouts for Standard Lights . . . . . . . . . . . . . . Common Lighting Rollouts and Dialogs . . . . . . . . . . . Exclude/Include Dialog . . . . . . . . . . . . . . . . . Shadow Parameters . . . . . . . . . . . . . . . . . . . Atmospheres and Effects for Lights . . . . . . . . . . Add Atmosphere or Effect Dialog . . . . . . . . . . . Advanced Effects Rollout . . . . . . . . . . . . . . . . mental ray Indirect Illumination Rollout (for Lights) . mental ray Light Shader Rollout . . . . . . . . . . . . Shadow Types and Shadow Controls . . . . . . . . . . . . . Advanced Ray-Traced Parameters Rollout . . . . . . . Area Shadows Rollout . . . . . . . . . . . . . . . . . Optimizations Rollout . . . . . . . . . . . . . . . . . mental ray Shadow Map Rollout . . . . . . . . . . . . Ray-Traced Shadow Parameters Rollout . . . . . . . . Shadow Map Parameters Rollout . . . . . . . . . . . . Sunlight and Daylight Systems . . . . . . . . . . . . . . . . Daylight System Dialogs . . . . . . . . . . . . . . . . IES Sun and Sky . . . . . . . . . . . . . . . . . . . . . mental ray Sun & Sky . . . . . . . . . . . . . . . . . Cameras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Free Camera . . . . . . . . . . . . . . . . . . . . . . . . . . Target Camera . . . . . . . . . . . . . . . . . . . . . . . . Using Cameras . . . . . . . . . . . . . . . . . . . . . . . . Characteristics of Cameras . . . . . . . . . . . . . . . Exposure Control in Real-World Cameras . . . . . . . Common Camera Parameters . . . . . . . . . . . . . Using Transforms to Aim a Camera . . . . . . . . . . Using Clipping Planes to Exclude Geometry . . . . . Using the Horizon to Match Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5697 . 5699 . 5701 . 5707 . 5709 . 5712 . 5714 . 5757 . 5758 . 5761 . 5764 . 5767 . 5769 . 5771 . 5777 . 5780 . 5783 . 5805 . 5805 . 5808 . 5813 . 5815 . 5817 . 5821 . 5824 . 5825 . 5828 . 5832 . 5839 . 5842 . 5844 . 5846 . 5852 . 5860 . 5865 . 5874 . 5905 . 5915 . 5917 . 5919 . 5919 . 5922 . 5931 . 5942 . 5943 . 5944 Contents | xxix Animating Cameras . . . . . . . . . . . . . . . . . Multi-Pass Rendering Effects . . . . . . . . . . . . . . . . Depth of Field Parameter (mental ray Renderer) . . . Multi-Pass Depth of Field Parameters for Cameras . Multi-Pass Motion Blur Parameters for Cameras . . . Walkthrough Assistant . . . . . . . . . . . . . . . . . . . Camera Correction Modifier . . . . . . . . . . . . . . . . Camera Match Utility . . . . . . . . . . . . . . . . . . . CamPoint Helper . . . . . . . . . . . . . . . . . . . Chapter 17 . . . . . . . . . . . . . . . . . . . 5946 . 5948 . 5950 . 5951 . 5955 . 5960 . 5968 . 5970 . 5976 Material Editor, Materials, and Maps . . . . . . . . . . . . . 5981 Designing Materials . . . . . . . . . . . . . . . . . . . . . . . . . Choosing a Material Type . . . . . . . . . . . . . . . . . . Lights and Shading . . . . . . . . . . . . . . . . . . . . . . Applying a Material to an Object . . . . . . . . . . . . . . . Using Maps to Enhance a Material . . . . . . . . . . . . . . Mapping Coordinates . . . . . . . . . . . . . . . . . . . . Showing Maps in Viewports . . . . . . . . . . . . . . . . . Animating Materials . . . . . . . . . . . . . . . . . . . . . Creating and Playing Animated Material Previews . . Synchronizing an Animated Bitmap with the Scene . Saving a Material . . . . . . . . . . . . . . . . . . . . . . . Material XML Exporter Utility . . . . . . . . . . . . . . . . Material Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . Compact Material Editor . . . . . . . . . . . . . . . . . . . Sample Slots . . . . . . . . . . . . . . . . . . . . . . Compact Material Editor Tools . . . . . . . . . . . . . Slate Material Editor . . . . . . . . . . . . . . . . . . . . . Material and Map Nodes in the Active View . . . . . . Controller Nodes . . . . . . . . . . . . . . . . . . . . The Parameter Editor: Changing Material and Map Settings . . . . . . . . . . . . . . . . . . . . . . . . Navigating the Active View . . . . . . . . . . . . . . Searching the Active View . . . . . . . . . . . . . . . Creating and Managing Named Views . . . . . . . . . Slate Material Editor Menu Bar . . . . . . . . . . . . . Slate Material Editor Toolbar . . . . . . . . . . . . . . Moving Materials, Maps, and Colors About the Scene . . . Copying and Pasting Materials, Maps, Bitmaps, and Colors . . . . . . . . . . . . . . . . . . . . . . . . . Dragging and Dropping Maps and Materials . . . . . Drag and Drop Sub-Object Material Assignment . . . Material/Map Browser . . . . . . . . . . . . . . . . . . . . . . . Material/Map Browser Menus . . . . . . . . . . . . . . . . Material/Map Browser Options Menu . . . . . . . . . Materials, Maps, Controllers Group Options . . . . . xxx | Contents . . . . . . . . . . . . . . . . . . . . 5982 . 5987 . 5988 . 5989 . 5990 . 6005 . 6006 . 6012 . 6013 . 6014 . 6015 . 6016 . 6019 . 6020 . 6025 . 6034 . 6083 . 6086 . 6128 . . . . . . . . 6135 . 6137 . 6141 . 6142 . 6144 . 6154 . 6158 . . . . . . . . 6158 . 6161 . 6165 . 6167 . 6175 . 6176 . 6179 Scene Materials Options . . . . . . . . . . . . . . . Custom Library Options . . . . . . . . . . . . . . . Custom Group Options . . . . . . . . . . . . . . . Autodesk Material Library Options . . . . . . . . . Sample Slots Group Options . . . . . . . . . . . . . Options for Individual Materials, Maps, and Controllers . . . . . . . . . . . . . . . . . . . . . Material Explorer . . . . . . . . . . . . . . . . . . . . . . . . . Scene (Upper) Panel (Material Explorer) . . . . . . . . . . Menu Bar (Material Explorer Scene Panel) . . . . . . Toolbar (Material Explorer Scene Panel) . . . . . . . Display Buttons (Material Explorer Scene Panel) . . Columns (Material Explorer Scene Panel) . . . . . . Material (Lower) Panel (Material Explorer) . . . . . . . . . Menu Bar (Material Explorer Material Panel) . . . . Columns (Material Explorer Material Panel) . . . . . Types of Materials . . . . . . . . . . . . . . . . . . . . . . . . . SuperSampling Rollout . . . . . . . . . . . . . . . . . . . mental ray Connection Rollout . . . . . . . . . . . . . . DirectX Manager Rollout . . . . . . . . . . . . . . . . . . mental ray Materials . . . . . . . . . . . . . . . . . . . . Autodesk Materials . . . . . . . . . . . . . . . . . . Arch & Design Material (mental ray) . . . . . . . . . Special-Purpose mental ray Materials . . . . . . . . MetaSL Material . . . . . . . . . . . . . . . . . . . . . . Map to Material Conversion . . . . . . . . . . . . . Standard Material and Related Materials (Not Photometric) . . . . . . . . . . . . . . . . . . . . . . . Shading Type . . . . . . . . . . . . . . . . . . . . . Standard Material . . . . . . . . . . . . . . . . . . . Raytrace Material . . . . . . . . . . . . . . . . . . . Matte/Shadow Material . . . . . . . . . . . . . . . . Compound Materials . . . . . . . . . . . . . . . . . Ink 'n Paint Material . . . . . . . . . . . . . . . . . Photometric Materials (Non-mental ray) . . . . . . . . . Architectural Material . . . . . . . . . . . . . . . . Advanced Lighting Override Material . . . . . . . . Materials to Support Hardware Shading and Rendering to Texture . . . . . . . . . . . . . . . . . . . . . . . . . . Shell Material . . . . . . . . . . . . . . . . . . . . . DirectX Shader Material . . . . . . . . . . . . . . . XRef Material . . . . . . . . . . . . . . . . . . . . . . . . Maps and Shaders . . . . . . . . . . . . . . . . . . . . . . . . . Real-World Mapping . . . . . . . . . . . . . . . . . . . . Output Rollout . . . . . . . . . . . . . . . . . . . . . . . Missing Map Coordinates Dialog . . . . . . . . . . . . . . . . . . . . . . . . . 6180 . 6181 . 6183 . 6184 . 6185 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6185 . 6186 . 6189 . 6193 . 6196 . 6198 . 6199 . 6204 . 6206 . 6207 . 6210 . 6211 . 6215 . 6222 . 6224 . 6224 . 6269 . 6342 . 6378 . 6378 . . . . . . . . . . . . . . . . . . . . . 6380 . 6380 . 6382 . 6486 . 6522 . 6529 . 6554 . 6570 . 6570 . 6588 . . . . . . . . . . . . . . . . . 6596 . 6596 . 6597 . 6605 . 6607 . 6610 . 6613 . 6618 Contents | xxxi UVW Remove Utility . . . . . . . . . . . . . . . . . . . . . . . 6621 2D Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6621 Coordinates Rollout (2D) . . . . . . . . . . . . . . . . . . 6622 Noise Rollout (2D) . . . . . . . . . . . . . . . . . . . . . 6632 Autodesk Bitmap for Autodesk Materials . . . . . . . . . 6635 Bitmap 2D Map . . . . . . . . . . . . . . . . . . . . . . . 6636 Checker Map . . . . . . . . . . . . . . . . . . . . . . . . 6650 Combustion Map . . . . . . . . . . . . . . . . . . . . . . 6652 Gradient Map . . . . . . . . . . . . . . . . . . . . . . . . 6673 Gradient Ramp Map . . . . . . . . . . . . . . . . . . . . 6678 Swirl Map . . . . . . . . . . . . . . . . . . . . . . . . . . 6686 Tiles Map . . . . . . . . . . . . . . . . . . . . . . . . . . 6689 3D Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6698 Coordinates Rollout (3D) . . . . . . . . . . . . . . . . . . 6698 Cellular Map . . . . . . . . . . . . . . . . . . . . . . . . 6699 Dent Map . . . . . . . . . . . . . . . . . . . . . . . . . . 6706 Falloff Map . . . . . . . . . . . . . . . . . . . . . . . . . 6714 Marble Map . . . . . . . . . . . . . . . . . . . . . . . . . 6720 Noise Map . . . . . . . . . . . . . . . . . . . . . . . . . 6723 Particle Age Map . . . . . . . . . . . . . . . . . . . . . . 6726 Particle MBlur Map . . . . . . . . . . . . . . . . . . . . . 6728 Perlin Marble Map . . . . . . . . . . . . . . . . . . . . . 6730 Smoke Map . . . . . . . . . . . . . . . . . . . . . . . . . 6733 Speckle Map . . . . . . . . . . . . . . . . . . . . . . . . 6735 Splat Map . . . . . . . . . . . . . . . . . . . . . . . . . . 6736 Stucco Map . . . . . . . . . . . . . . . . . . . . . . . . . 6738 Waves Map . . . . . . . . . . . . . . . . . . . . . . . . . 6740 Wood Map . . . . . . . . . . . . . . . . . . . . . . . . . 6742 Compositor Maps . . . . . . . . . . . . . . . . . . . . . . . . . 6751 Composite Map . . . . . . . . . . . . . . . . . . . . . . . 6751 Mask Map . . . . . . . . . . . . . . . . . . . . . . . . . . 6758 Mix Map . . . . . . . . . . . . . . . . . . . . . . . . . . 6759 RGB Multiply Map . . . . . . . . . . . . . . . . . . . . . 6763 Color Modifier Maps . . . . . . . . . . . . . . . . . . . . . . . 6765 Color Correction Map . . . . . . . . . . . . . . . . . . . 6766 Output Map . . . . . . . . . . . . . . . . . . . . . . . . 6771 RGB Tint Map . . . . . . . . . . . . . . . . . . . . . . . 6774 Vertex Color Map . . . . . . . . . . . . . . . . . . . . . . 6775 Reflection and Refraction Maps . . . . . . . . . . . . . . . . . 6778 Flat Mirror Map . . . . . . . . . . . . . . . . . . . . . . . 6778 Raytrace Map . . . . . . . . . . . . . . . . . . . . . . . . 6784 Reflect/Refract Map . . . . . . . . . . . . . . . . . . . . . 6796 Thin Wall Refraction Map . . . . . . . . . . . . . . . . . 6803 mental ray Shaders . . . . . . . . . . . . . . . . . . . . . . . . 6806 mental images Shader Libraries . . . . . . . . . . . . . . 6809 Shaders in the LumeTools Collection . . . . . . . . . . . 6811 xxxii | Contents 3ds Max Custom Shaders . . . . . . . . Production Shaders . . . . . . . . . . . MetaSL Shaders . . . . . . . . . . . . . . . . Component Falloff Shader . . . . . . . Component Reflection Shader . . . . . Conversion Color to Float Shader . . . Conversion Float to Color Shader . . . Illumination Phong Shader . . . . . . Math Color Add Shader . . . . . . . . Math Color Mix Shader . . . . . . . . Math Color Multiply Shader . . . . . . Normals Bumpmap Shader . . . . . . . Normals Make Normal Shader . . . . . Texture Lookup 2d Shader . . . . . . . Normal Bump Map . . . . . . . . . . . . . . Camera Map Per Pixel Map . . . . . . . . . . Material, Mapping, and Vertex Color Utilities . . . Viewport Canvas . . . . . . . . . . . . . . . Additional Viewport Canvas Rollouts . Assign Material Dialog . . . . . . . . . Create Texture Dialog . . . . . . . . . Viewport Canvas Brush Images Dialog . 2D View . . . . . . . . . . . . . . . . . Viewport Canvas Layers . . . . . . . . Render Surface Map . . . . . . . . . . . . . Bitmap Select Dialog . . . . . . . . . . Assign Vertex Colors Utility . . . . . . . . . Channel Info Utility . . . . . . . . . . . . . Clean MultiMaterial Utility . . . . . . . . . Instance Duplicate Maps Utility . . . . . . . Chapter 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6813 . 6842 . 6858 . 6859 . 6860 . 6860 . 6861 . 6862 . 6864 . 6866 . 6867 . 6868 . 6870 . 6871 . 6872 . 6874 . 6877 . 6877 . 6893 . 6900 . 6901 . 6903 . 6904 . 6907 . 6916 . 6925 . 6927 . 6936 . 6942 . 6947 Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6955 Render Setup Dialog . . . . . . . . . . . Rendered Frame Window . . . . . . . . mental ray Rendering Options . . . Render Output File Dialog . . . . . . . . View Image File . . . . . . . . . . . . . . Rendering Commands . . . . . . . . . . Render Setup . . . . . . . . . . . . Area to Render . . . . . . . . . . . Render Flyout . . . . . . . . . . . . Render Production . . . . . . . . . Render Iterative . . . . . . . . . . ActiveShade . . . . . . . . . . . . Rendering with ActiveShade . ActiveShade Floater . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6956 . 6963 . 6974 . 6979 . 6985 . 6988 . 6989 . 6992 . 6998 . 6999 . 7000 . 7000 . 7001 . 7008 Contents | xxxiii ActiveShade Viewport . . . . . . . . . . . . . . . . ActiveShade Commands (Quad Menu) . . . . . . . Preset Rendering Options . . . . . . . . . . . . . . . . . Render Last . . . . . . . . . . . . . . . . . . . . . . . . . Print Size Wizard . . . . . . . . . . . . . . . . . . . . . . Common Panel (Render Setup Dialog) . . . . . . . . . . . . . . Common Parameters Rollout (Render Setup Dialog) . . . Configure Preset Dialog . . . . . . . . . . . . . . . . . . Email Notifications Rollout . . . . . . . . . . . . . . . . Scripts Rollout (Render Setup Dialog) . . . . . . . . . . . Assign Renderer Rollout . . . . . . . . . . . . . . . . . . Choose Renderer Dialog . . . . . . . . . . . . . . . Renderers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Renderer Panel (Render Setup Dialog) . . . . . . . . . . . Default Scanline Renderer . . . . . . . . . . . . . . . . . Default Scanline Renderer Rollout . . . . . . . . . . Advanced Lighting Panel . . . . . . . . . . . . . . . Raytracer Panel . . . . . . . . . . . . . . . . . . . . Using Multi-Pass Rendering Effects . . . . . . . . . mental ray Renderer . . . . . . . . . . . . . . . . . . . . Rendering with the mental ray Renderer . . . . . . Getting Good Results with mental ray Rendering . . 3ds Max Materials in mental ray Renderings . . . . Enhancements to Standard Features . . . . . . . . . mental ray Messages Window . . . . . . . . . . . . mental ray Concepts . . . . . . . . . . . . . . . . . mental ray Renderer Interface . . . . . . . . . . . . Quicksilver Hardware Renderer . . . . . . . . . . . . . . VUE File Renderer . . . . . . . . . . . . . . . . . . . . . Rendering Elements Separately . . . . . . . . . . . . . . . . . . Render Elements Panel and Rollout . . . . . . . . . . . . Render Elements Dialog . . . . . . . . . . . . . . . . . . Render Element Output File Dialog . . . . . . . . . . . . Individual Render Elements . . . . . . . . . . . . . . . . Blend Element Parameters Rollout . . . . . . . . . . Diffuse Texture Element Rollout . . . . . . . . . . . Hair And Fur Render Element . . . . . . . . . . . . Illuminance HDR Data Element Parameters Rollout . Lighting Texture Element Rollout . . . . . . . . . . Luminance HDR Data Element Parameters Rollout . Matte Texture Element Rollout . . . . . . . . . . . . mr A&D Elements . . . . . . . . . . . . . . . . . . mr Labeled Element Parameters Rollout . . . . . . . mr Shader Element Parameters Rollout . . . . . . . Object ID Element Rollout . . . . . . . . . . . . . . Velocity Element Parameters Rollout . . . . . . . . xxxiv | Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7009 . 7010 . 7013 . 7016 . 7016 . 7020 . 7020 . 7029 . 7030 . 7032 . 7034 . 7035 . 7037 . 7037 . 7041 . 7042 . 7054 . 7120 . 7126 . 7129 . 7132 . 7134 . 7137 . 7140 . 7143 . 7144 . 7184 . 7258 . 7267 . 7269 . 7269 . 7280 . 7282 . 7286 . 7286 . 7287 . 7288 . 7288 . 7290 . 7291 . 7292 . 7293 . 7298 . 7300 . 7303 . 7304 Z Depth Element Parameters Rollout . . . . . . . Render to Texture . . . . . . . . . . . . . . . . . . . . . . . . Baked Texture Elements . . . . . . . . . . . . . . . . . Target Map Slot Assignments . . . . . . . . . . . . . . . Creating and Using Normal Bump Maps . . . . . . . . . Troubleshooting Normal Bump Maps . . . . . . . . . . Render to Texture Dialog . . . . . . . . . . . . . . . . . Render to Texture: General Settings Rollout . . . . Render to Texture: Objects to Bake Rollout . . . . Render to Texture: Output Rollout . . . . . . . . . Render to Texture: Baked Material Rollout . . . . . Render to Texture: Automatic Mapping Rollout . . Render to Texture: Add Texture Elements Dialog . Render to Texture: Projection Options Dialog . . . Rendering Previews and Grabbing Viewports . . . . . . . . . Create Still Image File . . . . . . . . . . . . . . . . . . Create Animated Sequence File . . . . . . . . . . . . . View Animated Sequence File . . . . . . . . . . . . . . Rename Animated Sequence File . . . . . . . . . . . . . Panorama Exporter Utility . . . . . . . . . . . . . . . . . . . Panorama Exporter Render Setup Dialog . . . . . . . . . Panorama Exporter Viewer . . . . . . . . . . . . . . . . Network Rendering . . . . . . . . . . . . . . . . . . . . . . . How Network Rendering Works . . . . . . . . . . . . . Basic Procedures for Network Rendering . . . . . . . . . Starting Network Rendering . . . . . . . . . . . . . . . Troubleshooting Guide . . . . . . . . . . . . . . . . . . System Setup . . . . . . . . . . . . . . . . . . . . . . . Checking Requirements . . . . . . . . . . . . . . Setting Up for Network Rendering . . . . . . . . . Setting Up TCP/IP . . . . . . . . . . . . . . . . . Configuring TCP/IP . . . . . . . . . . . . . . . . Creating a Special User Account . . . . . . . . . . Setting Up Rendering Software . . . . . . . . . . . . . . Setting Up Directories . . . . . . . . . . . . . . . Sharing a Directory . . . . . . . . . . . . . . . . . Mounting a Directory . . . . . . . . . . . . . . . Using Configure User Paths . . . . . . . . . . . . Network Job Assignment Dialog . . . . . . . . . . . . . Job Dependencies Dialog . . . . . . . . . . . . . . Notifications Dialog . . . . . . . . . . . . . . . . Strips Setup Dialog . . . . . . . . . . . . . . . . . Advanced Settings Dialog . . . . . . . . . . . . . Manager and Server . . . . . . . . . . . . . . . . . . . . Initial Setup for Manager and Server Programs . . Installing Network Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7306 . 7307 . 7312 . 7319 . 7320 . 7322 . 7333 . 7334 . 7336 . 7341 . 7345 . 7347 . 7349 . 7351 . 7356 . 7356 . 7358 . 7361 . 7361 . 7362 . 7363 . 7366 . 7368 . 7370 . 7372 . 7385 . 7390 . 7395 . 7395 . 7397 . 7398 . 7400 . 7407 . 7409 . 7409 . 7411 . 7412 . 7414 . 7415 . 7424 . 7426 . 7428 . 7431 . 7435 . 7435 . 7437 Contents | xxxv Logging Properties Dialog . . . . . . . . . . . . . . The backburner.xml File . . . . . . . . . . . . . . . Network Rendering Manager . . . . . . . . . . . . Network Rendering Server . . . . . . . . . . . . . . The Queue Monitor Application . . . . . . . . . . . . . . Module Info Report Dialog . . . . . . . . . . . . . . Queue Monitor: Job Settings Dialog . . . . . . . . . Viewing Jobs and Servers with the Queue Monitor . Job Report Dialog . . . . . . . . . . . . . . . . . . . Job Archives Dialog . . . . . . . . . . . . . . . . . . Activating and Deactivating Jobs in the Queue . . . Activating and Deactivating Servers in the Queue . . Managing Jobs in the Queue . . . . . . . . . . . . . Week Schedule Dialog . . . . . . . . . . . . . . . . Batch Rendering . . . . . . . . . . . . . . . . . . . . . . . . . Quick Start Batch Rendering . . . . . . . . . . . . . . . . Using Backburner for Batch Rendering . . . . . . . . . . Batch Rendering: Batch Render Dialog . . . . . . . . . . . Batch Render Tool: Batch Render Warning Dialog . . . . . Command-Line Rendering . . . . . . . . . . . . . . . . . . . . Command-Line Rendering Switches . . . . . . . . . . . . Backburner Command Line Control . . . . . . . . . . . . Chapter 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7439 . 7442 . 7443 . 7449 . 7455 . 7466 . 7468 . 7473 . 7474 . 7475 . 7477 . 7477 . 7478 . 7479 . 7481 . 7482 . 7483 . 7485 . 7493 . 7495 . 7499 . 7511 Effects and Environments . . . . . . . . . . . . . . . . . . . 7513 Environment and Effects Dialog . . . . . . . . . Rendering Effects . . . . . . . . . . . . . . . . . Rendering Effects Command . . . . . . . . Effects Panel and Rollout . . . . . . . . . . Merging Effects . . . . . . . . . . . . . . . Hair And Fur Render Effect . . . . . . . . . Lens Effects Rendering Effects . . . . . . . Glow Lens Effect . . . . . . . . . . . Ring Lens Effect . . . . . . . . . . . . Ray Lens Effect . . . . . . . . . . . . Auto Secondary Lens Effect . . . . . Manual Secondary Lens Effect . . . . Star Lens Effect . . . . . . . . . . . . Streak Lens Effect . . . . . . . . . . . Lens Effects Dialogs . . . . . . . . . . Blur Rendering Effect . . . . . . . . . . . . Brightness and Contrast Rendering Effect . Color Balance Rendering Effect . . . . . . File Output Rendering Effect . . . . . . . . Film Grain Rendering Effect . . . . . . . . Motion Blur Rendering Effect . . . . . . . Depth of Field Rendering Effect . . . . . . xxxvi | Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7514 . 7515 . 7516 . 7517 . 7519 . 7520 . 7526 . 7531 . 7538 . 7548 . 7555 . 7563 . 7570 . 7577 . 7584 . 7598 . 7607 . 7609 . 7610 . 7613 . 7615 . 7617 Environment and Atmosphere Effects . . . . . . Environment Panel . . . . . . . . . . . . . Fire Environment Effect . . . . . . . . . . Fog Environment Effect . . . . . . . . . . Volume Fog Environment Effect . . . . . . Volume Light Environment Effect . . . . . Exposure Controls . . . . . . . . . . . . . Automatic Exposure Control . . . . . Linear Exposure Control . . . . . . . Logarithmic Exposure Control . . . . mr Photographic Exposure Control . Pseudo Color Exposure Control . . . Lighting Data Exporter Utility . . . . Atmospheric Apparatuses . . . . . . . . . . Add Atmosphere Dialog . . . . . . . BoxGizmo Helper . . . . . . . . . . . CylGizmo Helper . . . . . . . . . . . SphereGizmo Helper . . . . . . . . . Chapter 20 Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7620 . 7621 . 7629 . 7640 . 7646 . 7654 . 7665 . 7668 . 7670 . 7673 . 7677 . 7686 . 7692 . 7694 . 7694 . 7695 . 7699 . 7702 Post . . . . . . . . . . . . . . . . . . . . . . . . . . . 7707 Video Post Queue . . . . . . . . . . . . Video Post Status Bar / View Controls . Troubleshooting Video Post . . . . . . Useful Video Post Procedures . . . . . . Video Post Toolbar . . . . . . . . . . . New Sequence . . . . . . . . . . Open Sequence . . . . . . . . . . Save Sequence . . . . . . . . . . Edit Current Event . . . . . . . . Delete Current Event . . . . . . Swap Events . . . . . . . . . . . Execute Sequence . . . . . . . . Configure Presets . . . . . . . . . Edit Range Bar . . . . . . . . . . Align Selected Left . . . . . . . . Align Selected Right . . . . . . . Make Selected Same Size . . . . . Abut Selected . . . . . . . . . . . Add Scene Event . . . . . . . . . Add Image Input Event . . . . . Image Input Options . . . . Add Image Filter Event . . . . . . Add Image Layer Event . . . . . Add Image Output Event . . . . Add External Event . . . . . . . Add Loop Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7708 . 7710 . 7712 . 7715 . 7731 . 7731 . 7732 . 7733 . 7734 . 7735 . 7735 . 7736 . 7739 . 7739 . 7741 . 7741 . 7742 . 7742 . 7743 . 7748 . 7752 . 7755 . 7758 . 7762 . 7765 . 7768 Contents | xxxvii Filter Events . . . . . . . . . . . . . . . . . . . Contrast Filter . . . . . . . . . . . . . . Fade Filter . . . . . . . . . . . . . . . . . Image Alpha Filter . . . . . . . . . . . . Lens Effects Filters . . . . . . . . . . . . Animating Lens Effects Properties . Lens Effects Flare Filter . . . . . . . Lens Effects Focus Filter . . . . . . Lens Effects Glow Filter . . . . . . . Lens Effects Highlight Filter . . . . Lens Effects Gradients . . . . . . . Negative Filter . . . . . . . . . . . . . . Pseudo Alpha Filter . . . . . . . . . . . . Simple Wipe Filter . . . . . . . . . . . . Starfield Filter . . . . . . . . . . . . . . . Layer Events . . . . . . . . . . . . . . . . . . Alpha Compositor . . . . . . . . . . . . Cross Fade Compositor . . . . . . . . . . Pseudo Alpha Compositor . . . . . . . . Simple Additive Compositor . . . . . . . Simple Wipe Compositor . . . . . . . . . Chapter 21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7771 . 7771 . 7772 . 7773 . 7774 . 7775 . 7777 . 7801 . 7804 . 7815 . 7829 . 7837 . 7839 . 7839 . 7841 . 7844 . 7845 . 7845 . 7846 . 7847 . 7848 Managing Scenes and Projects . . . . . . . . . . . . . . . . . 7851 Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7855 Container Workflows . . . . . . . . . . . . . . . . . . . . . . . 7857 Working With Containers . . . . . . . . . . . . . . . . . . . . 7875 Container Commands . . . . . . . . . . . . . . . . . . . . . . 7885 Locking and Unlocking Tracks . . . . . . . . . . . . . . . 7897 Container Explorer . . . . . . . . . . . . . . . . . . . . . . . . 7905 Groups and Assemblies . . . . . . . . . . . . . . . . . . . . . . . . . 7909 Using Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . 7909 Using Assemblies . . . . . . . . . . . . . . . . . . . . . . . . . 7912 Character Assembly . . . . . . . . . . . . . . . . . . . . . . . . 7920 Group Commands . . . . . . . . . . . . . . . . . . . . . . . . 7924 Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7924 Open . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7926 Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7926 Ungroup . . . . . . . . . . . . . . . . . . . . . . . . . . 7927 Explode . . . . . . . . . . . . . . . . . . . . . . . . . . . 7928 Detach . . . . . . . . . . . . . . . . . . . . . . . . . . . 7928 Attach . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7929 Assembly Commands . . . . . . . . . . . . . . . . . . . . . . . 7929 Assemble . . . . . . . . . . . . . . . . . . . . . . . . . . 7929 Open Assembly . . . . . . . . . . . . . . . . . . . . . . . 7933 Close Assembly . . . . . . . . . . . . . . . . . . . . . . . 7934 Disassemble . . . . . . . . . . . . . . . . . . . . . . . . . 7934 xxxviii | Contents Explode Assembly . . . . . . . . . . . . . . . . . . . . . 7935 Detach Assembly . . . . . . . . . . . . . . . . . . . . . . 7935 Attach Assembly . . . . . . . . . . . . . . . . . . . . . . 7936 Assembly Head Helper Objects . . . . . . . . . . . . . . . . . . 7936 Assembly Head Helper Object . . . . . . . . . . . . . . . 7936 Luminaire Helper Object . . . . . . . . . . . . . . . . . . 7937 Character Assembly Commands . . . . . . . . . . . . . . . . . 7939 Create Character . . . . . . . . . . . . . . . . . . . . . . 7940 Destroy Character . . . . . . . . . . . . . . . . . . . . . 7944 Lock/Unlock Character . . . . . . . . . . . . . . . . . . . 7944 Insert Character . . . . . . . . . . . . . . . . . . . . . . 7945 Save Character . . . . . . . . . . . . . . . . . . . . . . . 7945 Skin Pose Commands . . . . . . . . . . . . . . . . . . . 7946 File-Handling Commands . . . . . . . . . . . . . . . . . . . . . . . 7947 New . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7947 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7949 Open . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7950 Open from Vault . . . . . . . . . . . . . . . . . . . . . . . . . 7953 Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7955 Save As . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7956 Save As Previous . . . . . . . . . . . . . . . . . . . . . . . . . 7958 Save Copy As . . . . . . . . . . . . . . . . . . . . . . . . . . . 7963 Save Selected . . . . . . . . . . . . . . . . . . . . . . . . . . . 7965 Archive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7967 Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7968 External References (XRefs) . . . . . . . . . . . . . . . . . . . 7969 XRef Objects . . . . . . . . . . . . . . . . . . . . . . . . 7971 XRef Scene . . . . . . . . . . . . . . . . . . . . . . . . . 7999 Missing XRef Paths Dialog . . . . . . . . . . . . . . . . . 8013 File Link Manager . . . . . . . . . . . . . . . . . . . . . . . . . 8014 File Link Manager Dialog . . . . . . . . . . . . . . . . . . 8016 File Link Settings: FBX Files Dialog . . . . . . . . . . . . . 8024 File Link Settings: DWG Files Dialog . . . . . . . . . . . . 8028 New Settings Preset Dialog . . . . . . . . . . . . . . . . . 8097 Rename Settings Preset Dialog . . . . . . . . . . . . . . . 8099 Preset Editing . . . . . . . . . . . . . . . . . . . . . . . . 8100 Merge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8101 Merge File Dialog . . . . . . . . . . . . . . . . . . . . . . 8105 Replace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8106 Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8109 Export Selected . . . . . . . . . . . . . . . . . . . . . . . . . . 8111 Set Project Folder . . . . . . . . . . . . . . . . . . . . . . . . . 8112 Asset Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . 8114 Asset Tracking Dialog . . . . . . . . . . . . . . . . . . . . 8115 Global Settings and Defaults for Bitmap Proxies Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . 8130 Contents | xxxix Prompts Dialog . . . . . . . . . . . . . . . . . . Asset Tracking Dialog Icons . . . . . . . . . . . Summary Info . . . . . . . . . . . . . . . . . . . . . File Properties . . . . . . . . . . . . . . . . . . . . . . Exit . . . . . . . . . . . . . . . . . . . . . . . . . . . Missing External Files and Missing Map Files Dialogs . File-Handling Utilities . . . . . . . . . . . . . . . . . . . . Asset Browser Utility . . . . . . . . . . . . . . . . . . Preferences Dialog (Asset Browser) . . . . . . . . Internet Download Dialog . . . . . . . . . . . . Favorite Location Dialog . . . . . . . . . . . . . Bitmap/Photometric Path Editor Utility . . . . . . . . Bitmap / Photometric Path Editor Dialog . . . . Resource Information Dialog . . . . . . . . . . . MAX File Finder Utility . . . . . . . . . . . . . . . . . Resource Collector Utility . . . . . . . . . . . . . . . Fix Ambient Utility . . . . . . . . . . . . . . . . . . . Bitmap Pager Statistics Dialog . . . . . . . . . . . . . Internet Access . . . . . . . . . . . . . . . . . . . . . . . . i-drop Indicator . . . . . . . . . . . . . . . . . . . . . Geometry File Formats . . . . . . . . . . . . . . . . . . . . Importing Geometry . . . . . . . . . . . . . . . . . . Working with MAX Files from Autodesk VIZ . . . . . VIZ Render (DRF) Files . . . . . . . . . . . . . . . . . Working with DRF Files in 3ds Max . . . . . . . 3D Studio Mesh (3DS, PRJ) Files . . . . . . . . . . . . Importing 3DS Files . . . . . . . . . . . . . . . Importing PRJ Files . . . . . . . . . . . . . . . . Exporting to 3DS . . . . . . . . . . . . . . . . . Importing SHP Files . . . . . . . . . . . . . . . . . . Adobe Illustrator Files . . . . . . . . . . . . . . . . . Importing Adobe Illustrator 88 Files . . . . . . . Exporting to Adobe Illustrator . . . . . . . . . . Exporting to ASCII . . . . . . . . . . . . . . . . . . . AutoCAD (DWG) Files . . . . . . . . . . . . . . . . . Importing AutoCAD Drawing Files . . . . . . . DWG/DXF Import: Geometry Panel . . . . . . . DWG/DXF Import: Layers Panel . . . . . . . . . DWG/DXF Import: Spline Rendering Panel . . . Legacy AutoCAD Import . . . . . . . . . . . . . Exporting AutoCAD DWG Files . . . . . . . . . AutoCAD Interchange (DXF) Files . . . . . . . . . . . Importing DXF Files . . . . . . . . . . . . . . . Exporting to DXF Files . . . . . . . . . . . . . . Importing Autodesk Inventor Files . . . . . . . . . . . Exporting 3D DWF Files . . . . . . . . . . . . . . . . xl | Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8133 . 8135 . 8137 . 8138 . 8141 . 8141 . 8143 . 8143 . 8154 . 8155 . 8157 . 8158 . 8159 . 8161 . 8162 . 8165 . 8167 . 8170 . 8171 . 8172 . 8173 . 8173 . 8174 . 8178 . 8181 . 8183 . 8183 . 8185 . 8187 . 8188 . 8189 . 8190 . 8190 . 8191 . 8194 . 8194 . 8199 . 8209 . 8211 . 8214 . 8219 . 8222 . 8222 . 8223 . 8224 . 8229 FBX Files: Data Sharing with Maya, MotionBuilder, Revit, Softimage, and Toxik . . . . . . . . . . . . . . . . . . . OpenFlight (FLT) Files . . . . . . . . . . . . . . . . . . . Importing OpenFlight (FLT) Files . . . . . . . . . . Exporting OpenFlight (FLT) Files . . . . . . . . . . . Flight Studio Utility . . . . . . . . . . . . . . . . . IGES Files . . . . . . . . . . . . . . . . . . . . . . . . . . Overview of IGES in 3ds Max . . . . . . . . . . . . IGES Log Files . . . . . . . . . . . . . . . . . . . . . Importing IGES Files . . . . . . . . . . . . . . . . . IGES to 3ds Max Import Table . . . . . . . . . . . . Exporting IGES Files . . . . . . . . . . . . . . . . . 3ds Max to IGES Export Table . . . . . . . . . . . . JSR-184 Files . . . . . . . . . . . . . . . . . . . . . . . . JSR-184 Object Parameters . . . . . . . . . . . . . . JSR-184 Texture Tool . . . . . . . . . . . . . . . . . JSR-184 Log Files . . . . . . . . . . . . . . . . . . . JSR-184 Standalone Player . . . . . . . . . . . . . . LandXML (XML, DEM) Files . . . . . . . . . . . . . . . . Importing LandXML/DEM Models . . . . . . . . . . LandXML/DEM Model Import Dialog . . . . . . . . Lightscape Files (LP, LS, and Other Formats) . . . . . . . . Lightscape Materials Utility . . . . . . . . . . . . . Motion Analysis Files (HTR/HTR2, TRC) . . . . . . . . . . Importing HTR/HTR2 Files . . . . . . . . . . . . . . Importing TRC Files . . . . . . . . . . . . . . . . . Exporting HTR/HTR2 Files . . . . . . . . . . . . . . Exporting to Shockwave 3D . . . . . . . . . . . . . . . . Shockwave 3D Scene Export Options Dialog . . . . Shockwave 3D Export Preview . . . . . . . . . . . . Shockwave 3D File Analysis Window . . . . . . . . SAT Files . . . . . . . . . . . . . . . . . . . . . . . . . . Body Objects Category . . . . . . . . . . . . . . . . Body Object Rollouts . . . . . . . . . . . . . . . . . Combining Body Objects . . . . . . . . . . . . . . . Import/Export/Snaps . . . . . . . . . . . . . . . . . SketchUp Importer . . . . . . . . . . . . . . . . . . . . . Stereolithography (STL) Files . . . . . . . . . . . . . . . . Importing STL Files . . . . . . . . . . . . . . . . . . Exporting to STL . . . . . . . . . . . . . . . . . . . Wavefront (OBJ) Files . . . . . . . . . . . . . . . . . . . . Exporting Wavefront Object (OBJ) Files . . . . . . . Importing Wavefront Object (OBJ) Files . . . . . . . Map-Export Dialog (OBJ) . . . . . . . . . . . . . . . VRML Files . . . . . . . . . . . . . . . . . . . . . . . . . Importing VRML Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8235 . 8236 . 8241 . 8243 . 8246 . 8257 . 8257 . 8259 . 8260 . 8262 . 8264 . 8266 . 8267 . 8271 . 8276 . 8277 . 8279 . 8282 . 8282 . 8283 . 8286 . 8289 . 8291 . 8292 . 8294 . 8296 . 8299 . 8300 . 8307 . 8309 . 8311 . 8315 . 8316 . 8347 . 8352 . 8357 . 8361 . 8361 . 8364 . 8365 . 8366 . 8369 . 8376 . 8378 . 8378 Contents | xli Exporting to VRML97 . . . . . . . . Image File Formats . . . . . . . . . . . . . . . . AVI Files . . . . . . . . . . . . . . . . . . . BMP Files . . . . . . . . . . . . . . . . . . CIN (Kodak Cineon) Files . . . . . . . . . CWS (Combustion Workspace) Files . . . . DDS Files . . . . . . . . . . . . . . . . . . EPS and PS (Encapsulated PostScript) Files . GIF Files . . . . . . . . . . . . . . . . . . . IFL Files . . . . . . . . . . . . . . . . . . . Image File List Control Dialog . . . . IFL Manager Utility . . . . . . . . . . IMSQ Files . . . . . . . . . . . . . . . . . JPEG Files . . . . . . . . . . . . . . . . . . MOV (QuickTime Movie) Files . . . . . . . MPEG Files . . . . . . . . . . . . . . . . . OpenEXR Files . . . . . . . . . . . . . . . Saving OpenEXR Files . . . . . . . . Opening OpenEXR Files . . . . . . . PIC Files . . . . . . . . . . . . . . . . . . . PNG Files . . . . . . . . . . . . . . . . . . PSD Files . . . . . . . . . . . . . . . . . . Radiance Image Files . . . . . . . . . . . . RLA Files . . . . . . . . . . . . . . . . . . RPF Files . . . . . . . . . . . . . . . . . . . SGI Image Files . . . . . . . . . . . . . . . TGA (Targa) Files . . . . . . . . . . . . . . TIFF Files . . . . . . . . . . . . . . . . . . YUV Files . . . . . . . . . . . . . . . . . . RAM Player . . . . . . . . . . . . . . . . . . . . RAM Player Configuration Dialog . . . . . Scene Explorer . . . . . . . . . . . . . . . . . . Using Scene Explorer . . . . . . . . . . . . Scene Explorer Columns . . . . . . . . . . Scene Explorer Menus . . . . . . . . . . . Scene Explorer Toolbars . . . . . . . . . . Manage Scene Explorer . . . . . . . . . . . Advanced Search Dialog . . . . . . . . . . Advanced Filter Dialog . . . . . . . . . . . Scene States . . . . . . . . . . . . . . . . . . . . Manage Scene States Dialog . . . . . . . . Schematic View . . . . . . . . . . . . . . . . . Using Schematic View . . . . . . . . . . . Schematic View Menus . . . . . . . . . . . Schematic View List Views . . . . . . . . . Schematic View Preferences Dialog . . . . xlii | Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8380 . 8411 . 8412 . 8414 . 8414 . 8415 . 8416 . 8418 . 8420 . 8420 . 8423 . 8424 . 8426 . 8427 . 8428 . 8429 . 8429 . 8431 . 8439 . 8442 . 8443 . 8444 . 8448 . 8453 . 8455 . 8458 . 8459 . 8461 . 8463 . 8463 . 8467 . 8469 . 8471 . 8476 . 8481 . 8485 . 8488 . 8490 . 8492 . 8495 . 8498 . 8503 . 8507 . 8511 . 8515 . 8517 Schematic View Toolbars . . . . . . . . . . . Schematic View Display Floater . . . . . . . Schematic View Selection Right-Click Menu . Schematic View Commands . . . . . . . . . New Schematic View . . . . . . . . . . Delete Schematic View . . . . . . . . . Saved Schematic Views . . . . . . . . . Using Layers to Organize a Scene . . . . . . . . . Manage Layers Dialog . . . . . . . . . . . . Layer Properties Dialog . . . . . . . . . . . Layer List . . . . . . . . . . . . . . . . . . . Create New Layer . . . . . . . . . . . . . . Add Selection to Current Layer . . . . . . . Select Objects in Current Layer . . . . . . . Set Current Layer to Selection's Layer . . . . Chapter 22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8523 . 8527 . 8529 . 8533 . 8533 . 8533 . 8533 . 8534 . 8537 . 8548 . 8555 . 8557 . 8558 . 8558 . 8558 Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8559 List of Available Utilities . . . . . . . . . . . . . . . . . . . . . . . . 8559 Chapter 23 User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . 8563 The 3ds Max Window . . . . . . . . . . . . Special Controls . . . . . . . . . . . . . . . . Additional Keyboard Commands . . . . . . Toggling Dialogs . . . . . . . . . . . . . . . Starting 3ds Max from the Command Line . Caption Bar . . . . . . . . . . . . . . . . . . Application Menu . . . . . . . . . . . Quick Access Toolbar . . . . . . . . . . InfoCenter . . . . . . . . . . . . . . . Menu Bar . . . . . . . . . . . . . . . . . . . Edit Menu . . . . . . . . . . . . . . . . Tools Menu . . . . . . . . . . . . . . . Containers Submenu . . . . . . . Align Submenu . . . . . . . . . . Grids and Snaps Submenu . . . . Group Menu . . . . . . . . . . . . . . Views Menu . . . . . . . . . . . . . . . Create Menu . . . . . . . . . . . . . . Modifiers Menu . . . . . . . . . . . . . Animation Menu . . . . . . . . . . . . Graph Editors Menu . . . . . . . . . . Rendering Menu . . . . . . . . . . . . Customize Menu . . . . . . . . . . . . MAXScript Menu . . . . . . . . . . . . Help Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8564 . 8567 . 8572 . 8574 . 8575 . 8578 . 8579 . 8585 . 8587 . 8588 . 8589 . 8591 . 8593 . 8593 . 8594 . 8595 . 8596 . 8598 . 8606 . 8612 . 8616 . 8617 . 8618 . 8620 . 8621 Contents | xliii Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . Main Toolbar . . . . . . . . . . . . . . . . . . . Axis Constraints Toolbar . . . . . . . . . . . . . Layers Toolbar . . . . . . . . . . . . . . . . . . reactor Toolbar . . . . . . . . . . . . . . . . . . Extras Toolbar . . . . . . . . . . . . . . . . . . . Render Shortcuts Toolbar . . . . . . . . . . . . . Snaps Toolbar . . . . . . . . . . . . . . . . . . . Animation Layers Toolbar . . . . . . . . . . . . Container Toolbar . . . . . . . . . . . . . . . . Brush Presets Toolbar . . . . . . . . . . . . . . . Brush Preset Manager . . . . . . . . . . . . Right-Click Menu for Scripted Toolbar Buttons . Quad Menu . . . . . . . . . . . . . . . . . . . . . . . Additional Quad Menus . . . . . . . . . . . . . Animation Quad Menu . . . . . . . . . . . . . . Snaps Shortcut Menu . . . . . . . . . . . . . . . Tools 1 Quadrant for Light Objects . . . . . . . Status Bar Controls . . . . . . . . . . . . . . . . . . . Prompt Line . . . . . . . . . . . . . . . . . . . MAXScript Mini Listener . . . . . . . . . . . . . Status Line . . . . . . . . . . . . . . . . . . . . Time Slider . . . . . . . . . . . . . . . . . . . . Track Bar . . . . . . . . . . . . . . . . . . . . . Selection Lock Toggle . . . . . . . . . . . . . . Coordinate Display . . . . . . . . . . . . . . . . Adaptive Degradation Button . . . . . . . . . . Grid Setting Display . . . . . . . . . . . . . . . Time Tag . . . . . . . . . . . . . . . . . . . . . Add Time Tag Dialog . . . . . . . . . . . . Edit Time Tag Dialog . . . . . . . . . . . . Animation and Time Controls . . . . . . . . . . . . . Auto Key Animation Mode . . . . . . . . . . . Set Key Animation Mode . . . . . . . . . . . . . Default In/Out Tangents For New Keys . . . . . Go To Start . . . . . . . . . . . . . . . . . . . . Previous Frame/Key . . . . . . . . . . . . . . . Play/Stop . . . . . . . . . . . . . . . . . . . . . Next Frame/Key . . . . . . . . . . . . . . . . . Go To End . . . . . . . . . . . . . . . . . . . . Current Frame (Go To Frame) . . . . . . . . . . Key Mode . . . . . . . . . . . . . . . . . . . . Time Configuration . . . . . . . . . . . . . . . Viewport Controls . . . . . . . . . . . . . . . . . . . Viewport Label Menus . . . . . . . . . . . . . . General Viewport Label Menu . . . . . . . xliv | Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8623 . 8623 . 8627 . 8628 . 8630 . 8630 . 8631 . 8632 . 8632 . 8633 . 8633 . 8636 . 8640 . 8640 . 8645 . 8646 . 8650 . 8651 . 8652 . 8653 . 8653 . 8655 . 8656 . 8659 . 8667 . 8669 . 8671 . 8671 . 8672 . 8673 . 8674 . 8677 . 8679 . 8682 . 8687 . 8690 . 8690 . 8691 . 8693 . 8694 . 8694 . 8694 . 8696 . 8703 . 8707 . 8707 Point-Of-View (POV) Viewport Label Menu . . . . Shading Viewport Label Menu . . . . . . . . . . . Viewport Navigation . . . . . . . . . . . . . . . . . . . Controls Available in All Viewports . . . . . . . . Walkthrough Controls for Perspective and Camera Viewports . . . . . . . . . . . . . . . . . . . . . Perspective and Orthographic Viewport Controls . Camera Viewport Controls . . . . . . . . . . . . . Light Viewport Controls . . . . . . . . . . . . . . Command Panel . . . . . . . . . . . . . . . . . . . . . . . . Object Name and Wireframe Color . . . . . . . . . . . Create Panel . . . . . . . . . . . . . . . . . . . . . . . Modify Panel . . . . . . . . . . . . . . . . . . . . . . . Modifier Stack Controls . . . . . . . . . . . . . . Modifier Stack Right-Click Menu . . . . . . . . . Make Unique . . . . . . . . . . . . . . . . . . . . Modifier Sets Menu . . . . . . . . . . . . . . . . Configure Modifier Sets Dialog . . . . . . . . . . Hierarchy Panel . . . . . . . . . . . . . . . . . . . . . Motion Panel . . . . . . . . . . . . . . . . . . . . . . . Assign Controller Rollout . . . . . . . . . . . . . Display Panel . . . . . . . . . . . . . . . . . . . . . . . Display Floater . . . . . . . . . . . . . . . . . . . Utilities Panel . . . . . . . . . . . . . . . . . . . . . . Utilities Dialog . . . . . . . . . . . . . . . . . . . Configure Button Sets Dialog . . . . . . . . . . . MAXScript Interface . . . . . . . . . . . . . . . . . . . . . . New Script . . . . . . . . . . . . . . . . . . . . . . . . Open Script . . . . . . . . . . . . . . . . . . . . . . . . Run Script . . . . . . . . . . . . . . . . . . . . . . . . . MAXScript Listener . . . . . . . . . . . . . . . . . . . . Macro Recorder . . . . . . . . . . . . . . . . . . . . . . Visual MAXScript Utility (See MAXScript Help) . . . . . MAXScript Debugger Dialog . . . . . . . . . . . . . . . Running Scripts from the Command Line . . . . . . . . Chapter 24 . . . . . . . . . . . . . 8712 . 8719 . 8723 . 8726 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8728 . 8729 . 8742 . 8753 . 8770 . 8771 . 8771 . 8773 . 8776 . 8789 . 8794 . 8797 . 8798 . 8801 . 8802 . 8803 . 8805 . 8805 . 8810 . 8812 . 8813 . 8816 . 8816 . 8817 . 8817 . 8817 . 8819 . 8820 . 8820 . 8820 Customizing the User Interface . . . . . . . . . . . . . . . . 8823 Useful Customization Techniques . . . Customize Display Right-Click Menu . Show UI . . . . . . . . . . . . . . . . . Lock UI Layout . . . . . . . . . . . . . Plug-In Manager . . . . . . . . . . . . Custom UI and Defaults Switcher . . . Market-Specific Defaults . . . . . COM/DCOM Server Control Utility . . Customize User Interface Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8823 . 8827 . 8829 . 8830 . 8830 . 8832 . 8834 . 8836 . 8837 Contents | xlv Keyboard Panel . . . . . . . . . . . . . . . . . Toolbars Panel . . . . . . . . . . . . . . . . . Edit Button Appearance Dialog . . . . . Quads Panel . . . . . . . . . . . . . . . . . . . Advanced Quad Menu Options . . . . . Menus Panel . . . . . . . . . . . . . . . . . . Colors Panel . . . . . . . . . . . . . . . . . . Saving and Loading Custom User Interfaces . . . . . Load Custom UI Scheme . . . . . . . . . . . . Save Custom UI Scheme . . . . . . . . . . . . Revert to Startup Layout . . . . . . . . . . . . Configure Paths . . . . . . . . . . . . . . . . . . . . Configure User Paths . . . . . . . . . . . . . . File I/O Path Configuration . . . . . . . External Path Configuration . . . . . . . XRefs Path Configuration . . . . . . . . Configure System Paths . . . . . . . . . . . . System Paths . . . . . . . . . . . . . . . 3rd Party Plug-Ins Path Configuration . . Network Plug-In Configuration . . . . . . . . Preferences . . . . . . . . . . . . . . . . . . . . . . General Preferences . . . . . . . . . . . . . . . File Preferences . . . . . . . . . . . . . . . . . Viewport Preferences . . . . . . . . . . . . . . Graphics Driver Setup Dialog . . . . . . Gamma and LUT Preferences . . . . . . . . . . Gamma Pipeline . . . . . . . . . . . . . Rendering Preferences . . . . . . . . . . . . . Animation Preferences . . . . . . . . . . . . . MIDI Time Slider Control Setup Dialog . Inverse Kinematics Preferences . . . . . . . . . Gizmos Preferences . . . . . . . . . . . . . . . MAXScript Preferences . . . . . . . . . . . . . Radiosity Preferences . . . . . . . . . . . . . . mental ray Preferences . . . . . . . . . . . . . Containers Preferences . . . . . . . . . . . . . Units Setup Dialog . . . . . . . . . . . . . . . . . . System Unit Setup Dialog . . . . . . . . . . . File Load: Units Mismatch Dialog . . . . . . . Viewport Configuration . . . . . . . . . . . . . . . Rendering Method . . . . . . . . . . . . . . . Viewport Layout . . . . . . . . . . . . . . . . Safe Frames . . . . . . . . . . . . . . . . . . . Adaptive Degradation Options . . . . . . . . . Regions . . . . . . . . . . . . . . . . . . . . . Statistics . . . . . . . . . . . . . . . . . . . . . xlvi | Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8837 . 8840 . 8846 . 8847 . 8852 . 8857 . 8860 . 8864 . 8867 . 8868 . 8871 . 8871 . 8872 . 8875 . 8877 . 8880 . 8881 . 8882 . 8884 . 8885 . 8886 . 8887 . 8892 . 8896 . 8901 . 8917 . 8927 . 8929 . 8933 . 8937 . 8939 . 8941 . 8945 . 8948 . 8950 . 8953 . 8955 . 8959 . 8961 . 8963 . 8963 . 8968 . 8969 . 8972 . 8976 . 8978 Lighting and Shadows . . . . . . . . . . . . . . . . . . . . . . 8980 ViewCube . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8988 SteeringWheels . . . . . . . . . . . . . . . . . . . . . . . . . . 8990 Strokes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8993 Defining Strokes . . . . . . . . . . . . . . . . . . . . . . . . . 8996 Reviewing and Editing Strokes . . . . . . . . . . . . . . . . . . 9000 Stroke Preferences Dialog . . . . . . . . . . . . . . . . . . . . . 9002 Strokes Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . 9005 Chapter 25 Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . 9007 Keyboard Shortcut Override Toggle . . . . . . . . . . . . . . . . . . 9008 Chapter 26 Find the Information You Need . . . . . . . . . . . . . . . . 9009 Search For and Receive Information . . . . . . . . . . . . . . Overview of Searching for and Receiving Information . Search for Information . . . . . . . . . . . . . . . . . . Receive Product Updates and Announcements . . . . . Overview of Communication Center . . . . . . . Receive New Information Notifications . . . . . . Save and Access Favorite Topics . . . . . . . . . . . . . Specify InfoCenter Settings . . . . . . . . . . . . . . . . Learn the Product . . . . . . . . . . . . . . . . . . . . . . . . Access Subscription Center . . . . . . . . . . . . . . . . . . . Overview of Subscription Center . . . . . . . . . . . . . Manage Files with Autodesk Vault . . . . . . . . . . . . Join the Customer Involvement Program . . . . . . . . . . . Chapter 27 . . . . . . . . . . . . . . . . . . . . . . . . . . . 9009 . 9009 . 9013 . 9015 . 9015 . 9016 . 9017 . 9018 . 9023 . 9025 . 9025 . 9026 . 9027 Using the 3ds Max Help . . . . . . . . . . . . . . . . . . . . 9029 Finding Information Fast . . . . . . . . . Using the HTML Help Viewer . . . . . . Searching for Help Topics . . . . . . . . . Browsing Help Topics . . . . . . . . . . . Favorites Tab . . . . . . . . . . . . . . . HTML Help Viewer Toolbar . . . . . . . . HTML Help Viewer Right-Click Menus . . Keyboard Shortcuts in the Help Viewer . Chapter 28 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9030 . 9031 . 9034 . 9038 . 9039 . 9040 . 9041 . 9042 Troubleshooting 3ds Max . . . . . . . . . . . . . . . . . . . 9045 Handling File Corruptions . . . . . . . . . . Fixing Boolean Problems . . . . . . . . . . . Performance Issues While Running 3ds Max Problems Caused by Unit Settings . . . . . . User Interface Problems and Recovery . . . . Video Driver and Display Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9045 . 9049 . 9059 . 9063 . 9064 . 9072 Contents | xlvii Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9079 2-Sided (Double Sided) . . . . . . . . . . . . . . 2D Map . . . . . . . . . . . . . . . . . . . . . . 3D DWF . . . . . . . . . . . . . . . . . . . . . . 3D Map . . . . . . . . . . . . . . . . . . . . . . 3DS and PRJ Files . . . . . . . . . . . . . . . . . Action . . . . . . . . . . . . . . . . . . . . . . . Active Link . . . . . . . . . . . . . . . . . . . . Active Time Segment . . . . . . . . . . . . . . . Active/Inactive Footsteps . . . . . . . . . . . . . ActiveShade Initialize and Update . . . . . . . . Adapt Locks . . . . . . . . . . . . . . . . . . . . Adaptation . . . . . . . . . . . . . . . . . . . . Adaptive Degradation . . . . . . . . . . . . . . Additive Opacity . . . . . . . . . . . . . . . . . Adjust Talent Pose . . . . . . . . . . . . . . . . Affine Transformation . . . . . . . . . . . . . . Airborne Period . . . . . . . . . . . . . . . . . . Aliasing/Antialiasing . . . . . . . . . . . . . . . Alpha Channel . . . . . . . . . . . . . . . . . . Ambient Color . . . . . . . . . . . . . . . . . . Ambient Light . . . . . . . . . . . . . . . . . . Animated Texture . . . . . . . . . . . . . . . . . Animation . . . . . . . . . . . . . . . . . . . . Animation Controllers / Transform Controllers . Animation Layers . . . . . . . . . . . . . . . . . Applied IK . . . . . . . . . . . . . . . . . . . . . Area Lights (mental ray Renderer) . . . . . . . . Area Shadows . . . . . . . . . . . . . . . . . . . Aspect Ratio . . . . . . . . . . . . . . . . . . . . Asset . . . . . . . . . . . . . . . . . . . . . . . . Attachments (IK) . . . . . . . . . . . . . . . . . Attenuation . . . . . . . . . . . . . . . . . . . . Autodesk Material Library for mental ray . . . . AutoGrid . . . . . . . . . . . . . . . . . . . . . Avoid Behavior . . . . . . . . . . . . . . . . . . Avoidance Behavior . . . . . . . . . . . . . . . . Axonometric View . . . . . . . . . . . . . . . . B-Spline . . . . . . . . . . . . . . . . . . . . . . Balance Factor . . . . . . . . . . . . . . . . . . Balance Track . . . . . . . . . . . . . . . . . . . Ballistic Gait . . . . . . . . . . . . . . . . . . . Ballistic Tension . . . . . . . . . . . . . . . . . Barycentric Coordinates . . . . . . . . . . . . . Behaviors . . . . . . . . . . . . . . . . . . . . . Bend Links . . . . . . . . . . . . . . . . . . . . xlviii | Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9079 . 9080 . 9080 . 9080 . 9080 . 9081 . 9081 . 9082 . 9082 . 9083 . 9083 . 9084 . 9084 . 9085 . 9086 . 9086 . 9087 . 9087 . 9088 . 9089 . 9089 . 9090 . 9090 . 9091 . 9092 . 9092 . 9092 . 9095 . 9096 . 9098 . 9098 . 9098 . 9099 . 9100 . 9100 . 9100 . 9100 . 9101 . 9101 . 9102 . 9102 . 9102 . 9102 . 9103 . 9103 Bezier Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9104 BioVision Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9105 BIP Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9105 Biped . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9106 Biped Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9106 Birth Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9106 Bitmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9108 Blend Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9109 Block Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9109 Block/Style Parent . . . . . . . . . . . . . . . . . . . . . . . . . . . 9110 Blur / Blur Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9110 Body Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9111 Boolean Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 9111 Bound Vertex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9113 Bounding Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9113 Bulge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9114 Bulge Angle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9114 BVH Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9114 By Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9114 Center of Mass (COM) . . . . . . . . . . . . . . . . . . . . . . . . . 9115 CGFX File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9115 Chamfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9115 character studio Marker Files . . . . . . . . . . . . . . . . . . . . . 9116 CIBSE Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9116 Clip Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9117 Clipping Planes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9117 Codec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9118 Cognitive Controller . . . . . . . . . . . . . . . . . . . . . . . . . . 9118 Composite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9118 Compound Materials . . . . . . . . . . . . . . . . . . . . . . . . . . 9119 Constrained Point . . . . . . . . . . . . . . . . . . . . . . . . . . . 9120 Contact Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9120 Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9121 Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9122 Continuity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9122 Continuity Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9122 Control Lattice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9123 Control Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9124 Control Vertex (CV) . . . . . . . . . . . . . . . . . . . . . . . . . . 9124 Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9125 Convex Hull Property . . . . . . . . . . . . . . . . . . . . . . . . . 9125 Cool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9126 Coordinate Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9126 CPY Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9127 Creation Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 9127 Cross Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9127 Contents | xlix Crowd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9127 Crowd System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9128 CSM Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9128 Curve View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9128 CV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9128 CV Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9129 CV Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9130 Deformable Envelope . . . . . . . . . . . . . . . . . . . . . . . . . . 9131 Deformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9132 Deformation Spline . . . . . . . . . . . . . . . . . . . . . . . . . . . 9132 Degree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9134 Delegates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9134 Dependent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9134 Dependent (NURBS) . . . . . . . . . . . . . . . . . . . . . . . . . . 9134 Depot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9135 Description Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9135 Diagonal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9136 Diffuse Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9137 Dithering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9138 Dock and Float . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9139 Double Support Period . . . . . . . . . . . . . . . . . . . . . . . . . 9139 Dummy Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9139 DWG Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9140 DXF Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9140 Dynaflector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9141 Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9141 Dynamics Blend . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9141 Ease Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9142 Edge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9143 Editable Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9143 Editable Poly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9143 Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9143 Emitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9144 End Effector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9144 Envelopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9145 Environment Map . . . . . . . . . . . . . . . . . . . . . . . . . . . 9145 Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9148 Event Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9150 Event Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9151 Extents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9151 Face/Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9151 Faceted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9152 FFD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9153 FGM File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9153 Field of View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9153 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9154 l | Contents Figure Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9156 Fillet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9156 Filter Color / Filter Opacity . . . . . . . . . . . . . . . . . . . . . . . 9157 Filtering (Antialiasing) . . . . . . . . . . . . . . . . . . . . . . . . . 9158 Filtering (Character Animation) . . . . . . . . . . . . . . . . . . . . 9159 Final Gathering (mental ray Renderer) . . . . . . . . . . . . . . . . . 9160 First Vertex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9162 Flat Mirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9163 Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9165 Fluorescence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9165 Flyout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9166 Follow Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9167 Foot States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9167 Footstep Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . 9168 Footsteps Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9168 Forward Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . 9169 Forward Kinematics (Bipeds) . . . . . . . . . . . . . . . . . . . . . . 9169 Frame/Frame Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9169 Freeform Animation . . . . . . . . . . . . . . . . . . . . . . . . . . 9170 Freeform Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9170 Freeze/Unfreeze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9171 Function Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9172 Fusing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9172 FX File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9172 G-Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9173 Gait Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9174 Gait Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9175 Gamma Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . 9175 Geometric Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . 9177 Gizmo/Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9177 Global Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9178 Global Motion Clip Controller . . . . . . . . . . . . . . . . . . . . . 9180 Glossiness and Specular Level Settings . . . . . . . . . . . . . . . . . 9180 GravAccel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9181 Gravity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9181 Grid Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9181 Head Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9182 Helper Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9183 Hide/Unhide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9183 Hierarchical Linkage . . . . . . . . . . . . . . . . . . . . . . . . . . 9183 Home Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9184 Horizon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9185 Hot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9186 Hotspot/Falloff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9187 IGES (Initial Graphics Exchange Specification) . . . . . . . . . . . . 9188 IK Blend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9189 Contents | li IK Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9189 IK Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9190 Illuminance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9190 Image Motion Blur . . . . . . . . . . . . . . . . . . . . . . . . . . . 9190 In Place Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9192 Independent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9193 Influence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9193 Initial Pose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9193 Initialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9193 Inputs: Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9194 Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9195 Instance (Motion Mixer) . . . . . . . . . . . . . . . . . . . . . . . . 9195 Interactive Renderer . . . . . . . . . . . . . . . . . . . . . . . . . . 9196 Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9196 Inverse Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . 9196 Inverse Kinematics (Biped) . . . . . . . . . . . . . . . . . . . . . . . 9197 Iso Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9197 Isometric View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9198 Keyframe Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9199 Keyframes/Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9200 Kinematic Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9200 Knot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9201 Launch Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9201 Layer Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9201 Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9201 Layout Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9202 Lift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9202 Light Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9202 Linked Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9204 Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9204 Listener Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9204 Local Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9204 Local Coordinate System . . . . . . . . . . . . . . . . . . . . . . . . 9205 Local Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9207 Lofting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9207 Log File (mental ray Renderer) . . . . . . . . . . . . . . . . . . . . . 9208 Look At Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9208 LTLI Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9209 Luminance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9209 Luminous Flux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9209 Luminous Intensity . . . . . . . . . . . . . . . . . . . . . . . . . . . 9209 LZF Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9209 LZG Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9210 LZH Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9210 LZO Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9210 LZV Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9210 lii | Contents Map Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9210 Mapped Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9212 Mapping Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . 9212 Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9215 Marker Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9215 Marker Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9216 Markers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9216 Master Motion Clip Controller . . . . . . . . . . . . . . . . . . . . . 9216 Match Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9216 Material ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9217 Material/Map Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . 9218 Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9219 Matte Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9220 MAX Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9222 MAXScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9222 Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9222 Metaballs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9222 MFE Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9223 MI Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9223 Mirroring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9223 Mix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9223 MIX Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9223 Mixdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9224 MNM Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9224 Modal/Modeless . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9224 Modifier Stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9225 Modifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9226 Morphing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9227 Motion Blending . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9228 Motion Blur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9228 Motion Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9230 Motion Clip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9230 Motion Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9230 Motion Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9231 Motion Flow Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . 9231 Motion Flow Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . 9231 Motion Mixer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9231 Motion Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9232 MSP (MAXScript Package) Files . . . . . . . . . . . . . . . . . . . . . 9233 Multiplicity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9233 Multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9233 Multiplier Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9235 N Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9235 Network Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9235 Network Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . 9236 Network Rendering Server . . . . . . . . . . . . . . . . . . . . . . . 9237 Contents | liii Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9237 Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9237 Normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9237 NTSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9238 NURBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9239 NURBS Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9239 NURBS Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9239 NURBS Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9240 NURMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9240 Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9240 Object Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9241 Object Motion Blur . . . . . . . . . . . . . . . . . . . . . . . . . . . 9242 Object Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9243 Object Space (Biped) . . . . . . . . . . . . . . . . . . . . . . . . . . 9244 Obstacle-Avoidance Behavior . . . . . . . . . . . . . . . . . . . . . . 9244 Object-Space Modifiers (OSM) . . . . . . . . . . . . . . . . . . . . . 9244 Omnidirectional Light . . . . . . . . . . . . . . . . . . . . . . . . . 9245 Omniflector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9246 Opacity Falloff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9246 Operand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9248 Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9248 Operator Icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9248 Optical Markers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9249 Orientation Behavior . . . . . . . . . . . . . . . . . . . . . . . . . 9250 Origin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9250 Orthographic View . . . . . . . . . . . . . . . . . . . . . . . . . . . 9251 Out-of-Range Types . . . . . . . . . . . . . . . . . . . . . . . . . . . 9253 Outputs: Source / Test . . . . . . . . . . . . . . . . . . . . . . . . . 9254 Overshoot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9255 PAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9257 Parameter Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9257 Parameters Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9257 Parameter/Parametric . . . . . . . . . . . . . . . . . . . . . . . . . . 9258 Parent Particle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9259 Particle Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9260 Particle Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9261 Particle System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9261 Particle System (Particle Flow) . . . . . . . . . . . . . . . . . . . . . 9261 PASS File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9261 Patch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9262 Patch-Based Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 9262 Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9262 Path Follow Behavior . . . . . . . . . . . . . . . . . . . . . . . . . 9264 Period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9264 Perspective View . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9264 Phases of Leg Motion . . . . . . . . . . . . . . . . . . . . . . . . . . 9266 liv | Contents Photometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9266 Photon Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9267 PHY Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9268 Physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9268 Pivot Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9269 Pixel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9270 Plant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9270 Plug-Ins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9270 PMAP File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9270 Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9270 Point Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9271 Point Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9272 Poses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9272 Positional Markers . . . . . . . . . . . . . . . . . . . . . . . . . . . 9272 Posture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9273 Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9273 Premultiplied Alpha . . . . . . . . . . . . . . . . . . . . . . . . . . 9273 Procedural Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9274 Projector Light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9276 Prop Bone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9277 Quadtree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9277 Queue Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9278 Radiosity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9278 Radiosity Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . 9278 Ray-Trace Acceleration (mental ray Renderer) . . . . . . . . . . . . . 9278 Ray-Traced Shadows . . . . . . . . . . . . . . . . . . . . . . . . . . 9279 RAYHOSTS File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9279 Real Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9280 Recognize Scene-Loading Technology . . . . . . . . . . . . . . . . . 9280 Red, Green, Blue / Hue, Saturation, Value . . . . . . . . . . . . . . . 9280 Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9282 Reference Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9282 Refine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9282 Reinitialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9283 Repel Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9283 Reservoir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9283 Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9283 Reveal Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9284 Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9284 Rotoscoping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9284 Rubber-Band Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 9285 RVT Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9285 Safe Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9285 Sample Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9287 Sampling (mental ray Renderer) . . . . . . . . . . . . . . . . . . . . 9288 Scale Stride . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9292 Contents | lv Scanline Renderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9292 Scene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9292 Scene Extents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9293 Scene Motion Blur . . . . . . . . . . . . . . . . . . . . . . . . . . . 9293 Scene Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9295 Schematic View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9297 Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9297 Script Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . 9298 Scripted Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . 9298 Scripted Utility Panel . . . . . . . . . . . . . . . . . . . . . . . . . . 9298 Scripts (Motion Flow) . . . . . . . . . . . . . . . . . . . . . . . . . . 9298 Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9298 Seed Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9299 Seek Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9299 Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9299 Self-Illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9300 Shaders (mental ray Renderer) . . . . . . . . . . . . . . . . . . . . . 9302 Shaders (Standard Materials) . . . . . . . . . . . . . . . . . . . . . . 9302 Shadow Bias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9304 Shadow Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9305 Shapes and Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . 9306 SHP Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9309 Skylight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9309 Sliding Footstep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9310 Smoothing Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . 9310 SMPTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9311 Source Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9311 Space Warp Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . 9312 Space Warps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9312 Spawn Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9313 Specular Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9313 Speed Vary Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . 9314 Splice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9314 Spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9315 Spline Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9315 Startup Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9316 SteeringWheels Navigation . . . . . . . . . . . . . . . . . . . . . . . 9317 Sub-Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9317 Sub-Object Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9319 Subtractive Opacity . . . . . . . . . . . . . . . . . . . . . . . . . . . 9320 Sunlight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9321 Super Black . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9322 Supersampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9322 Support Period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9322 Surface Arrive Behavior . . . . . . . . . . . . . . . . . . . . . . . . . 9323 Surface Follow Behavior . . . . . . . . . . . . . . . . . . . . . . . . 9323 lvi | Contents Synthesis, Synthesize . . . . . . . . . . . . . . . . . . . . . . . . . . 9323 Talent Figure Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 9323 Tangents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9323 TCB (Biped) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9324 TCB (Tension, Continuity, Bias) . . . . . . . . . . . . . . . . . . . . 9324 Tendons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9325 Tension, Continuity, Bias (Biped) . . . . . . . . . . . . . . . . . . . 9325 Terrain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9326 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9327 Texel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9327 Texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9327 Ticks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9328 Tile/Mirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9328 Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9329 Topology-Dependent Modifier . . . . . . . . . . . . . . . . . . . . . 9330 Touch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9330 Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9330 Track View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9332 Trackgroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9332 Trajectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9332 Trajectory (Biped) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9334 Transform Gizmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9334 Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9336 Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9336 Transition Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9337 Translucency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9337 Truecolor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9338 Twist Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9338 Unique Container . . . . . . . . . . . . . . . . . . . . . . . . . . . 9338 Universal Naming Convention (UNC) . . . . . . . . . . . . . . . . . 9339 UVW Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . 9340 Vector Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9341 Vector Field Space Warp . . . . . . . . . . . . . . . . . . . . . . . . 9341 Vectors and Vector Handles . . . . . . . . . . . . . . . . . . . . . . 9341 Velocity Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . 9343 Vertex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9343 ViewCube Navigation System . . . . . . . . . . . . . . . . . . . . . 9343 Viewport (Interactive) Renderer . . . . . . . . . . . . . . . . . . . . 9343 VIZBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9344 VPX Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9344 VUE File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9344 Walking Gait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9347 Walkthrough Assistant . . . . . . . . . . . . . . . . . . . . . . . . . 9347 Wall Repel Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . 9348 Wall Seek Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . 9348 Wander Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9348 Contents | lvii Weight Curve . . . . . . . . . . . . . . . . Wire . . . . . . . . . . . . . . . . . . . . . Wireframe Color . . . . . . . . . . . . . . Wireframe Mode . . . . . . . . . . . . . . Workbench . . . . . . . . . . . . . . . . . Workflow . . . . . . . . . . . . . . . . . . World Coordinate System . . . . . . . . . World Space . . . . . . . . . . . . . . . . . World Space (Biped) . . . . . . . . . . . . World-Space Modifiers (WSM) . . . . . . . xref (AutoCAD External Reference) . . . . XRef (3ds Max externally referenced file) . XMSL File . . . . . . . . . . . . . . . . . . ZT File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9348 . 9349 . 9350 . 9351 . 9352 . 9353 . 9353 . 9354 . 9355 . 9355 . 9355 . 9356 . 9356 . 9356 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9357 lviii | Contents Introduction 1 Autodesk 3ds Max 2011 is a 3D modeling, animation, and rendering solution for design visualization, games, film, and television. Old Metal Train Vincent Dany Copyright © 2008 dany20cent@skynet.be http://ermite.net/ 1 Home Remodeling Series: Plumbing Tim Wilbers, University of Dayton Copyright © 2008 2 | Chapter 1 Introduction Big Diamonds Jeff Patton Copyright © 2008 www.jeffpatton.net What's New in Autodesk 3ds Max 2011 Autodesk 3ds Max 2011 offers compelling new techniques for creating and texturing models, animating characters, and producing high-quality images. Incorporating tools that accelerate everyday workflows, Autodesk 3ds Max 2011 software helps significantly increase productivity for both individuals and collaborating teams working on games, visual effects, and television productions. Artists can focus on creativity, and have the freedom to iteratively What's New in Autodesk 3ds Max 2011 | 3 refine their work to maximize the quality of their final output in the least amount of time. NOTE This topic lists all significant new features, but does not include every change in 3ds Max. As you proceed through the documentation, keep an eye out for the icon, which indicates a new feature. You can also use the index in this help to find topics that contain information about new features. For topics that describe new program features, check the index entry "new feature." For changes in existing features, check the index entry "changed feature." Following are lists (high-level, then detailed) of major new features with brief descriptions and links to the relevant reference topic: ■ New Quicksilver hardware rendering on page 10 ■ New local edits to containers on page 7 ■ New Viewport Canvas features on page 10 ■ New 3ds Max Composite on page 6 ■ New Slate Material Editor on page 9 ■ Enhanced viewport material display on page 9 ■ Simplified material/map browsing on page 9 ■ New CAT character-animation toolset on page 10 ■ New FBX File Link for Revit files on page 8 ■ Better Inventor importing on page 8 ■ SAT Import/Export and solid-model support on page 8 ■ New Caddy interface on page 7 ■ New ribbon customization on page 7 ■ New Autodesk Materials library and workflow on page 9 ■ New Save to 3ds Max 2010 on page 8 ■ New mental ray 2011 on page 11 ■ SketchUp file support on page 8 4 | Chapter 1 Introduction ■ Improved OpenEXR support on page 8 ■ Enhanced SGI file support on page 9 ■ New and changed online resources on page 5 ■ Improved interactive selection on page 7 ■ Better snapping on page 7 ■ Bitmap pager changes on page 10 ■ Animation-preview changes on page 10 ■ Windows 7 Support on page 6 Online Resources The following Web-based resources have changed or are new: ■ All tutorials and associated files are available online only, here: http://www.autodesk.com/3dsmax-tutorials-v2011 ■ An HTML version of the help is available here: http://www.autodesk.com/3dsmax-help-v2011 ■ Access the Student Community at Help menu ➤ 3ds Max on the Web ➤ Student Community ■ Access the new Vegetation Library, a downloadable collection of free vegetation scene files, at Help menu ➤ 3ds Max on the Web ➤ Download Vegetation Library. This launches the Autodesk Seek page in your default Web browser. TIP To get a plant model and all associated files, including variations and maps, click the ZIP icon for the plant and then download the 3ds Max version of the Zip file. What's New in Autodesk 3ds Max 2011 | 5 General Improvements 3ds Max Composite You can install the 32- or 64-bit version of 3ds Max Composite to use with Autodesk 3ds Max 2011 from the Tools and Utilities section of the installer. 3ds Max Composite includes: ■ Raster and Vector Paint ■ Image Processing ■ Color Correction ■ Keying and Rotoscoping ■ Stereoscopic Production Support ■ Motion Blur ■ Advanced 2D Tracking ■ Camera Mapping ■ Depth of Field ■ Node and Layer-based Compositing Options ■ Spline-Based Warping ■ Enhanced Render Passes ■ Data Managing and Collaborating Refer to the Installation Guide for complete details on specifications for this release (Click Documentation in the bottom-left corner of the Installer). Windows 7 Support ® Windows 7 is a supported OS for Autodesk 3ds Max 2011. Refer to the Installation Guide for complete details on specifications for this release (Click Documentation in the bottom-left corner of the Installer). 6 | Chapter 1 Introduction Modeling Modeling Ribbon The modeling ribbon boasts a new Object Paint on page 2144 toolset, a significant new customization utility on page 2163, and a number of refinements that streamline modeling workflow. These include: ■ A command to switch the ribbon between horizontal and vertical orientation is available from the ribbon right-click menu. ■ You can now minimize the ribbon to panel buttons, each of which includes a descriptive icon. ■ A number of ribbon tooltips include new ToolClips: short videos that show how to use the tool. Caddy Settings Controls Most editable poly settings now use the caddy on page 2338, a new “in-canvas” interface that comprises a label and a set of buttons superimposed on the viewport. The caddy replaces the old settings dialogs, leaving a greater portion of the model visible and accessible. Control-key Behavior In versions of 3ds Max prior to Autodesk 3ds Max 2011, holding down the Ctrl toggled an object’s selection state. That is no longer the case. To add an object to a selection, use Ctrl. To remove an object from a selection, use Alt. See Basics of Selecting Objects on page 155. Snap Improvements for the Move Tool A new snap handle located at the axis center gives you more accurate control over snapping when you move an object, with better visual feedback. See Snap Handle When Moving an Object on page 2834 for details. Scene and Project Management Container Expansion The Container feature has been significantly expanded with new rules and locking tools, proxy containers, and more. For details, see What’s New in Containers on page 7857. What's New in Autodesk 3ds Max 2011 | 7 File Link for Revit FBX Files With the File Link Manager on page 8014, you can now link FBX files exported from Revit 2009 and Revit 2010. File Link lets you create high-quality renderings in 3ds Max while maintaining a single design database in another application such as Revit, AutoCAD, or AutoCAD Architecture. For details about how to link Revit FBX files, see File Link Settings: FBX Files Dialog on page 8024. Save As Previous Feature The Save As Previous on page 7958 feature allows you to save Autodesk 3ds Max 2011 scenes as 3ds Max 2010 scenes. You can also save Container (MAXC) files in 3ds Max 2010 format. Not all features supported in Autodesk 3ds Max 2011 are supported in 3ds Max 2010. See Save As Previous on page 7958 for details. Improved Inventor File Support You can now import Autodesk Inventor files (IAM and IPT) without needing to have Inventor installed, and you can keep the data in ACIS-solids format by importing as Body Objects. See Importing Autodesk Inventor Files on page 8224. SAT File Import and Export Import and export solid models in the SAT format supported by Autodesk Inventor and Revit as well as applications from other vendors. Imported geometry takes the form of Body Objects, which you can modify and render just like standard objects; you can even combine Body Objects with 3D Boolean operations. You can also convert standard objects to Body Objects and export them as ACIS solids. See SAT Files on page 8311. SketchUp File Import You can now import 3D data in the Google SketchUp format (SKP), including cameras and materials. Imported objects take the form of editable polys. See SketchUp Importer on page 8357. Improved OpenEXR Support The OpenEXR plug-in on page 8429 from previous releases has been replaced by a plug-in that offers improved performance and feature support. 8 | Chapter 1 Introduction The improvements include: ■ Better performance ■ Unlimited number of layers in one EXR file ■ Ability to save Render Elements ■ Ability to save G-buffer data ■ Available to MAXScript applications Improved Support for SGI Image Files The SGI Image File plug-in on page 8458 has been updated to support all formats. It now includes an option to turn off Compression when you save an SGI Image File. The new plug-in is compatible with SGI Image files used by OpenFlight (FLT) files, and the option to use a special RGB file loader has been removed from the Flight Studio utility on page 8246. Materials and Mapping Slate Material Editor The Slate Material Editor on page 6083 is an alternative Material Editor that provides a visual, node-based interface for creating and editing materials with complex networks of maps and shaders. It includes aids for managing the large numbers of materials required by today’s productions. MetaSL Shaders Autodesk 3ds Max 2011 provides a number of MetaSL shaders on page 6858 you can use in the Slate Material Editor to create shader trees. In addition, with the Map To Material Conversion material node on page 6378 MetaSL shader trees can be visible in viewports and renderings. Material/Map Browser The Material/Map Browser on page 6167 has been redesigned to feature a simpler and more accessible interface that is also an integral part of the Slate Material Editor. Autodesk Materials and the Autodesk Material Library Autodesk Materials on page 6224 replace ProMaterials, using a new interface that allows you to share materials with models from AutoCAD, Autodesk Revit, What's New in Autodesk 3ds Max 2011 | 9 and Autodesk Inventor. (Scenes from earrlier 3ds Max versions that use ProMaterials continue to render in Autodesk 3ds Max 2011.) In addition, the Autodesk Materials form the basis for the Autodesk Material Library, which provides 700 ready-made materials you can use in your scenes. Viewport Canvas Expansion Viewport Canvas on page 6877 has been significantly enhanced and improved to the point that it is, in effect, an entirely new feature. For example, you can now paint directly onto any 3D object with any map in any material. And new painting tools include Blur, Sharpen, Dodge, and Burn. But perhaps most important, you can now paint in multiple layers that can interact with one another the same way as in Adobe Photoshop. Rendering Quicksilver Hardware Renderer The Quicksilver Hardware renderer on page 7258 is an extremely fast renderer that uses your system’s graphics hardware (GPU) to produce high-quality images. Bitmap Pager Changes In Autodesk 3ds Max 2011, you can disable or enable bitmap paging from the Asset Tracking dialog on page 8115 ➤ Bitmap Performance And Memory menu, or the Global Settings And Defaults For Bitmap Proxies dialog on page 8130. Preview Animations “Preview” has been renamed “Animated Sequence File,” and the commands for preview animations are now grouped with Create Still Image File on page 7356 in the Grab Viewport Group on the Tools menu on page 8591. See Create Animated Sequence File on page 7358. Character-Animation Improvements CAT CAT provides a complete toolset ideally suited for rigging and animating multi-legged characters as well as humanoids. It includes numerous built-in rigs such as a dragon with four legs and two wings, a spider, and a centipede with 18 legs. These can easily be animated along paths with no foot sliding using the graph-based CATMotion editor. CAT’s easy-to-use layering system supports color-coding of layers so you can see which layer is contributing to 10 | Chapter 1 Introduction the motion at any given moment. See CAT on page 4504, and for a comparison of CAT and character studio, see Character Animation on page 4503. mental ray Improvements mental ray 2011 mental ray 2011 is supported with 3ds Max. For further information about mental ray 2011, view the help file from Help > Additional Help. 3ds Max Documentation Set ® The documentation set for 3ds Max comprises online material only. Most documents are available from the Start menu > Programs > Autodesk > [program folder] > Help folder, as well as from the Help menu within 3ds Max or the Additional Help dialog. ■ Autodesk 3ds Max 2011 and Autodesk 3ds Max Design 2011 Installation Guide: Contains complete installation, configuration, and troubleshooting instructions, including system requirements. Also includes information on uninstalling and maintaining 3ds Max, as well as descriptions of the full install documentation set. Also find information about network deployment in this guide. View the Installation Guide in the Installation Wizard. NOTE The complete installation documentation set is found on your install DVD in the \en-US\Docs folder at the root of the DVD. ■ Autodesk 3ds Max 2011 Readme (3ds_Max_Readme.htm): Contains the latest information about 3ds Max. This file is displayed when you finish installing 3ds Max. ■ Autodesk 3ds Max 2011 Help: This document covers fundamental concepts and strategies for using the product, as well as details about the features of 3ds Max. Access the reference by choosing Help > Autodesk 3ds Max Help. ■ Autodesk 3ds Max 2011 Tutorials: Contains tutorial information and detailed procedures to walk you through increasingly complex operations. This is the best source for learning 3ds Max. Access the tutorials by choosing Help > Tutorials. 3ds Max Documentation Set | 11 NOTE Note that these tutorials reside on the web so an internet connection is required. To access the tutorial scene files, go to http://www.autodesk.com/3dsmax-tutorials-scene-files-v2011. ■ MAXScript Help: Describes the MAXScript scripting language on page 14. Check out the “Learning MAXScript” chapter there if you're new to MAXScript. Access the MAXScript Help by choosing Help > MAXScript Help. ■ Additional mental ray® Help Files: Documentation from mental images® is available from Help menu > Additional Help. There, you'll find the mental ray Reference, comprising the mental ray Manual, mental ray Shader Reference, and LumeTools Collection. You’ll also find PDF files documentating various mental ray shader libraries. NOTE The Autodesk 3ds Max 2011 Help documents most mental ray components available in the 3ds Max user interface. This includes documentation for lights for mental ray and specific shadow types, controls for adding mental ray shaders to lights and cameras, mental ray materials, custom shaders for 3ds Max, and the mental ray renderer controls. ■ Additional Backburner Files: Procedures for using Backburner from inside 3ds Max are documented in this Autodesk 3ds Max Help File. For further information on using and configuring Backburner, refer to the additional Backburner documentation available from Additional Help as well as from the Start menu location described in the introduction of this topic. The two documents related to Autodesk Backburner are called: ■ Backburner Installation Guide ■ Backburner User’s Guide NOTE For information on installing Autodesk Backburner, see the Autodesk 3ds Max 2010 and Autodesk 3ds Max Design 2010 Installation Guide. ■ FBX Plug-in Help: Access the FBX Plug-in Help from the Additional Help menu. You can also click the ? (Help) button on the FBX Importer/Exporter dialog. The FBX plug-in changes often, with the result that Autodesk updates it more frequently than it does this program. Be sure to check regularly for updated versions by clicking the Web Updates button on the dialog. 12 | Chapter 1 Introduction How to Print from the Online Help If your computer is connected to a printer, you can print single help topics or entire chapters. To print a topic or chapter, highlight the topic or chapter title and click the Print button at the top of the help display. A dialog opens. Choose to print only the selected topic, or to print all topics in that chapter. After you make your selection, another dialog appears where you can choose your printer and other options. 3ds Max Documentation Set | 13 The tabs available at the top of the dialog depend on the selected printer. Choose options for the print job, and click OK to begin printing. How to Contact Us We are also interested in hearing your views about 3ds Max. We’d like to hear ways you think we can improve our program, features you’re interested in, as well as your views on the documentation set. Please send us email about the documentation set at: me.documentation@autodesk.com About MAXScript MAXScript is the built-in scripting language for 3ds Max. 14 | Chapter 1 Introduction With MAXScript, you have the ability to: ■ Script all aspects of 3ds Max use, such as modeling, animation, materials, rendering, and so on. ■ Control 3ds Max interactively through a command-line shell window. ■ Package scripts within custom utility panel rollouts or modeless windows, giving them a standard 3ds Max user interface. ■ Build custom import/export tools using the built-in file I/O. ■ Write procedural controllers that can access the entire state of the scene. Build batch-processing tools, such as batch-rendering scripts. ■ Set up live interfaces to external system using OLE Automation. The MAXScript language is specifically designed to complement 3ds Max. It is object-oriented, and has several special features and constructs that mirror high-level concepts in the 3ds Max user interface. These include coordinate-system contexts, an animation mode with automatic keyframing, and access to scene objects using hierarchical path names that match the 3ds Max object hierarchy. The syntax is simple enough for non-programmers to use, with minimal punctuation and formatting rules. Visual MAXScript Visual MAXScript is a powerful addition to MAXScript, making the MAXScript feature easier to learn and use. With Visual MAXScript, you can quickly create UI elements and layouts for scripting. For detailed information about Visual MAXScript, open the MAXScript Help, available from Help menu > MAXScript Help. See also: ■ MAXScript Menu on page 8620 Procedures To access MAXScript, do one of the following: 1 On the menu bar, choose MAXScript. The MAXScript menu appears. 2 Choose Utilities panel > MAXScript. About MAXScript | 15 From here, you can either write new scripts, edit or run existing scripts, open the MAXScript Listener, or use the Macro Recorder. To access the MAXScript Listener, you can also right-click in the Mini Listener and choose Open Listener Window from the right-click menu. For detailed information about the MAXScript utility, open the MAXScript Help, available from Help menu > MAXScript Help. 16 | Chapter 1 Introduction Getting Started with 3ds Max 2 You use 3ds Max to quickly create professional-quality 3D models, photorealistic still images, and film-quality animation on your PC. Image by Michael McCarthy Before using this reference material, we highly recommend you get to know 3ds Max firsthand by following the included tutorials. You can access the tutorials using the Help menu ➤ Tutorials command. 17 See also: ■ Working with AutoCAD, AutoCAD Architecture, and Revit Files on page 8062 ■ Quad Menu on page 8640 ■ Customize Display Right-Click Menu on page 8827 Project Workflow Once you've installed 3ds Max (see the Installation Guide included with your software package), you open it from the Start menu, or use any other Windows method. The figure below shows the application window with a scene file loaded. Main program window NOTE If you open 3ds Max from a Command Prompt window or batch file, you can add command-line switches. See Starting 3ds Max from the Command Line on page 8575. 18 | Chapter 2 Getting Started with 3ds Max NOTE 3ds Max is a single-document application, meaning you can work on only one scene at a time. You can run 3ds Max several times and open a different scene in each instance, but doing so requires a lot of RAM. For best performance, open only one instance and work on one scene at a time. Modeling Objects You model and animate objects in the viewports, whose layout is configurable. You can start with a variety of 3D geometric primitives. You can also use 2D shapes as the basis for lofted or extruded objects. You can convert objects to a variety of editable surface types, which you can then model further by pulling vertices and using other tools. Another modeling tool is to apply modifiers to objects. Modifiers can change object geometry. Bend and Twist are examples of modifiers. Modeling, editing, and animation tools are available in the command panels and toolbar. See Modeling Objects on page 25. Material Design You design materials using the Material Editor, which appears in its own window. You use the Material Editor to create realistic materials by defining Project Workflow | 19 hierarchies of surface characteristics. The surface characteristics can represent static materials, or be animated. See Material Editor on page 6019. Lights and Cameras You create lights with various properties to illuminate your scene. The lights can cast shadows, project images, and create volumetric effects for atmospheric lighting. Physically-based lights let you use real-world lighting data in your scenes and Radiosity on page 7068 provides incredibly accurate light simulation in renderings. See Lights on page 5672. 20 | Chapter 2 Getting Started with 3ds Max The cameras you create have real-world controls for lens length, field of view, and motion control such as truck, dolly, and pan. See Cameras on page 5905. Animation You can begin animating your scene at any time by turning on the Auto Key button. Turn the button off to return to modeling. You can also perform animated modeling effects by animating the parameters of objects in your scene. You can learn more about animating in Animating Your Scene topic on page 32. Project Workflow | 21 When the Auto Key button is on, 3ds Max automatically records the movement, rotation, and scale changes you make, not as changes to a static scene, but as keys on certain frames that represent time. You can also animate many parameters to make lights and cameras change over time, and preview your animation directly in the 3ds Max viewports. You use Track View on page 3827 to control animation. Track View is a floating window where you edit animation keys, set up animation controllers, or edit motion curves for your animated effects. Rendering Rendering adds color and shading to your scene. The renderers available with 3ds Max include features such as selective ray tracing, analytical antialiasing, motion blur, volumetric lighting, and environmental effects. See Rendering Your Scene on page 32. 22 | Chapter 2 Getting Started with 3ds Max When you use the default scanline renderer, a radiosity solution on page 7068 can provide accurate light simulation in renderings, including the ambient lighting that results from reflected light. When you use the mental ray renderer, a comparable effect is provided by global illumination on page 7160. If your workstation is part of a network, network rendering can distribute rendering jobs over multiple workstations. See Network Rendering on page 7368. With Video Post on page 7707, you can also composite the scene with animations stored on disk. A Typical Project Workflow These topics explain the basic procedures for creating scenes: Setting Up Your Scene on page 24 Modeling Objects on page 25 Using Materials on page 26 Placing Lights and Cameras on page 28 Animating Your Scene on page 32 Project Workflow | 23 Rendering Your Scene on page 32 Setting Up Your Scene You start with a new unnamed scene when you open 3ds Max. You can also start a new scene at any time by choosing New or Reset from the Application menu on page 8579. Choosing a Unit Display You choose a system of unit display on the Units Setup dialog on page 8955. Choose from Metric, Standard US, and Generic methods, or design a custom measuring system. You can switch between different systems of unit display at any time. NOTE For best results, use consistent units when you are going to: ■ Merge scenes and objects on page 8101. ■ Use XRef objects on page 7971 or XRef scenes on page 7999. Setting the System Unit The System Unit setting, in the Units Setup dialog on page 8955, determines how 3ds Max relates to distance information you input to your scene. The setting also determines the range for round-off error. Consider changing the system unit value only when you model very large or very small scenes. Setting Grid Spacing Set spacing for the visible grid in the Grid And Snap Settings dialog ➤ Home Grid panel on page 2863. You can change grid spacing at any time. See Precision and Drawing Aids on page 2807 for information about the system unit, unit display, and grid spacing. 24 | Chapter 2 Getting Started with 3ds Max Setting the Viewport Display Viewport layout options The default four viewports in 3ds Max represent an efficient and popular screen layout. Set options in the Viewport Configuration dialog on page 8963 to change viewport layout and display properties. See Viewing and Navigating 3D Space on page 47 for more information. Saving Scenes Save your scene frequently to protect yourself from mistakes and loss of work. See Backing Up and Archiving Scenes on page 43. Modeling Objects You model objects in your scene by creating standard objects, such as 3D geometry and 2D shapes, and then applying modifiers to those objects. 3ds Max includes a wide range of standard objects and modifiers. 1. Modify panel 2. Create panel 3. Object categories Creating Objects You create objects by clicking an object category and type on the Create panel and then clicking or dragging in a viewport to define the object's creation parameters. 3ds Max organizes the Create panel into these basic categories: Modeling Objects | 25 Geometry, Shapes, Lights, Cameras, Helpers, Space Warps, and Systems. Each category contains multiple subcategories from which you can choose. You can also create objects from the Create menu by choosing an object category and type and then clicking or dragging in a viewport to define the object's creation parameters. 3ds Max organizes the Create menu into these basic categories: Standard Primitives, Extended Primitives, AEC Objects, Compound, Particles, Patch Grids, NURBS, Dynamics, Shapes, Lights, Cameras, Helpers, Space Warps, and Systems. See Basics of Creating and Modifying Objects on page 290. Selecting and Positioning Objects You select objects by clicking or dragging a region around them. You can also select objects by name or other properties such as color or object category. After selecting objects, you position them in your scene using the transform tools Move, Rotate, and Scale. Use alignment tools to precisely position objects. See Selecting Objects on page 149, Moving, Rotating, and Scaling Objects on page 821, and Precision and Drawing Aids on page 2807. Modifying Objects You sculpt and edit objects into their final form by applying modifiers from the Modify panel. The modifiers you apply to an object are stored in a stack. You can go back at any time and change the effect of the modifier, or remove it from the object. See Basics of Creating and Modifying Objects on page 290. Using Materials You use the Material Editor to design materials and maps to control the appearance of object surfaces. Maps can also be used to control the appearance of environmental effects such as lighting, fog, and the background. 26 | Chapter 2 Getting Started with 3ds Max A variety of materials in the Material Editor's sample slots Room on left uses the a neutral, gray material. Room on right uses a realistic materials, including transparent glass and a snowfall.. Basic Material Properties You set basic material properties to control such surface characteristics as default color, shininess, and level of opacity. You can create realistic, single-color materials using just the basic properties. Using Materials | 27 Using Maps You extend the realism of materials by applying maps to control surface properties such as texture, bumpiness, opacity, and reflection. Most of the basic properties can be enhanced with a map. Any image file, such as one you might create in a paint program, can be used as a map, or you can choose procedural maps that create patterns based on parameters you set. 3ds Max also includes a raytrace material and map for creating accurate reflections and refraction. Viewing Materials in the Scene You can view the effect of materials on objects in a shaded viewport, but the display is just an approximation of the final effect. Render your scene to view materials accurately. See Designing Materials on page 5982. Placing Lights and Cameras You place lights and cameras to complete your scene in much the same way lights and cameras are placed on a movie set prior to filming. 28 | Chapter 2 Getting Started with 3ds Max Lights and cameras placed to compose a scene Placing Lights and Cameras | 29 The resulting scene Default Lighting Default lighting evenly illuminates the entire scene. Such lighting is useful while modeling, but it is not especially artistic or realistic. Placing Lights You create and place lights from the Lights category of the Create panel or menu when you are ready to get more specific about the lighting in your scene. 3ds Max includes the following standard light types: omni, spot, and directional lights. You can set a light to any color and even animate the color to simulate dimming or color-shifting lights. All of these lights can cast shadows, project maps, and use volumetric effects. See Guidelines for Lighting on page 5688. Photometric Lights Photometric lights on page 5707 provide you with the ability to work more accurately and intuitively using real-world lighting units (lumens and candelas). 30 | Chapter 2 Getting Started with 3ds Max Photometric lights also support industry-standard photometric file formats (IES on page 5735, CIBSE on page 9116, LTLI on page 9209) so that you can model the characteristics of real-world manufactured luminaires, or even drag ready-to-use luminaires from the Web. Used in conjunction with the 3ds Max radiosity solution on page 7068, photometric lights let you evaluate more accurately (both physically and quantitatively) the lighting performance of your scene. Photometric lights are available from the Create panel ➤ Lights drop-down list. Daylight System The Daylight system on page 5852 combines sunlight on page 9321 and skylight on page 9309 to create a unified system that follows the geographically correct angle and movement of the sun over the earth at a given location. You can choose location, date, time, and compass orientation. You can also animate the date and time. This system is suitable for shadow studies of proposed and existing structures. Viewing Lighting Effects in the Scene When you place lights in a scene, the default lighting turns off and the scene is illuminated only by the lights you create. The illumination you see in a viewport is just an approximation of the true lighting. Render your scene to view lighting accurately. TIP If the Daylight system appears to wash out the scene, try using the Logarithmic exposure control on page 7673. Placing Cameras You create and place cameras from the Cameras category of the Create panel. Cameras define viewpoints for rendering, and you can animate cameras to produce cinematic effects such as dollies and truck shots. You can also create a camera automatically from a Perspective viewport by using the Create Camera from View command on page 129 found on the Views menu. Just adjust your Perspective viewport until you like it, and then choose Views ➤ Create Camera From View. 3ds Max creates a camera and replaces the Perspective viewport with a Camera viewport showing the same perspective. See Common Camera Parameters on page 5931. Placing Lights and Cameras | 31 Animating Your Scene You can animate almost anything in your scene. Click the Auto Key button to enable automatic animation creation, drag the time slider, and make changes in your scene to create animated effects. Controlling Time 3ds Max starts each new scene with 100 frames for animation. Frames are a way of measuring time, and you move through time by dragging the time slider on page 8656. You can also open the Time Configuration dialog on page 8696 to set the number of frames used by your scene and the speed at which the frames are displayed. Animating Transforms and Parameters While the Auto Key button is on, 3ds Max creates an animation key on page 9200 whenever you transform an object or change a parameter. To animate a parameter over a range of frames, specify the values at the first and last frames of the range. 3ds Max calculates the values for all of the frames in between. See Animation Concepts and Methods on page 3398. Editing Animation You edit your animation by opening the Track View window or by changing options on the Motion panel. Track View is like a spreadsheet that displays animation keys along a time line. You edit the animation by changing the keys. Track View has two modes. You can display the animation as a series of function curves that graphically show how a value changes over time in the Curve Editor mode. Alternatively, you can display your animation as a sequence of keys or ranges on a grid in the Dope Sheet mode. See Track View on page 3827. Rendering Your Scene Use the rendering features to define an environment and to produce the final output from your scene. 32 | Chapter 2 Getting Started with 3ds Max Rendering "fills in" geometry with color, shadow, lighting effects, and so on. Defining Environments and Backgrounds Rarely do you want to render your scene against the default background color. Open the Environment And Effects dialog ➤ Environment panel on page 7621 to define a background for your scene, or to set up effects such as fog. Setting Rendering Options To set the size and quality of your final output, you can choose from many options on the Render Setup dialog on page 6956. You have full control over professional grade film and video properties as well as effects such as reflection, antialiasing, shadow properties, and motion blur. Rendering Images and Animation You render a single image by setting the renderer to render one frame of your animation. You specify what type of image file to produce and where 3ds Max stores the file. Rendering an animation is the same as rendering a single image except that you set the renderer to render a sequence of frames. You can choose to render Rendering Your Scene | 33 an animation to multiple single frame files or to popular animation formats such as AVI or MOV. See Render Setup Dialog on page 6956. The 3ds Max Interface The 3ds Max window is the entry point to most of the features of this application. 3ds Max window, showing viewports, controls, and a rendered frame See The 3ds Max Window on page 8564 for an introduction to the components of this interface. See Special Controls on page 8567 for descriptions of some of the special controls that 3ds Max uses. Becoming familiar with these controls is especially useful if you are new to using 3ds Max. 34 | Chapter 2 Getting Started with 3ds Max Managing Files 3ds Max supports many types of files for working with plug-ins, image maps, models from other programs, rendering images and animations, and of course saving and opening your scene files. File-management dialogs File dialogs (such as Open, Save, Save As) uniformly remember the previous path you used, and default to that location. See also: ■ Managing Scenes and Projects on page 7851 Configuring File Paths The locations that 3ds Max searches to locate all file types are specified on the Customize menu ➤ Configure Paths dialogs on page 8871. Managing Files | 35 You can choose to open and save files in any path location. The Configure Paths dialog contains four panels for the general categories of support files. Setting General File Paths The File I/O panel on page 8875 contains paths for most of the standard support files. You can specify one path for each of file types 3ds Max uses. Setting Plug-In File Paths Many features of 3ds Max are implemented as plug-ins. This means you can change and extend 3ds Max functionality by adding new plug-ins from Autodesk Media and Entertainment or from third-party developers. You tell 3ds Max where to find additional plug-in files by adding path entries on the 3rd Party Plug-Ins panel on page 8884. If you place all of your plug-ins in a single directory, plug-in file management can become messy. That's why 3ds Max supports multiple entries on the 3rd Party Plug-Ins panel. Setting Bitmap, FX, and Download File Paths The External Files panel on page 8877 contains multiple path entries that 3ds Max searches for image files on page 8411, downloaded files (via i-drop on page 36 | Chapter 2 Getting Started with 3ds Max 8172), and FX files on page 9172. Image files are used for many purposes, such as material and map definition, light projections, and environment effects. Setting XRefs File Paths The XRefs panel on page 8880 contains multiple path entries that 3ds Max uses to search for externally referenced files. These are used for sharing files in a workgroup situation. Importing, Merging, Replacing, and Externally Referencing Scenes You can realize great productivity gains when you reuse work by combining geometry from scenes or other programs. 3ds Max supports this technique with the Import, Merge, and Replace commands. You can also share scenes and objects with others working on the same project using XRef functionality. Gear model imported to become part of another scene Importing, Merging, Replacing, and Externally Referencing Scenes | 37 Importing Geometry from Other Programs Use Application menu on page 8579 ➤ Import on page 7968 to bring objects from other programs into a scene. The types of files that you can import are listed in the Files Of Type list in the Select File To Import dialog. Depending on the file type you choose, you might have options available for that import plug-in. Merging Scenes Together Use Merge on page 8101 to combine multiple scenes into a single large scene. When you merge a file, you can select which objects to merge. If objects being merged have the same name as objects in your scene, you have the option to rename or skip over the merged objects. 38 | Chapter 2 Getting Started with 3ds Max Pipe and ashtray models merged into one scene Merging Animation into Scenes Use Merge Animation on page 4163 to merge the animation from one scene into another with the same (or similar) geometry. Replacing Scene Objects Use Replace on page 8106 to replace objects in your scene with objects in another scene that have duplicate names. Replace is useful when you want to set up and animate your scene with simplified objects, and then replace the simple objects with detailed objects before rendering. The Replace dialog looks and functions the same as Merge, except that it lists only objects that have the same name as objects in your current scene. Using External References Use XRef Objects on page 7971 and XRef Scenes on page 7999 to use objects and scene setups in your scene that are actually referenced from external MAX files. These functions allow sharing files with others in your workgroup, with options for updating and protecting external files. Importing, Merging, Replacing, and Externally Referencing Scenes | 39 Using the Asset Browser The Asset Browser provides access from your desktop to design content on the World Wide Web. From within 3ds Max you can browse the Internet for texture samples and product models. This includes bitmap textures (BMP, JPG, GIF, TIF, and TGA) and geometry files (MAX, 3DS, and so on). Left: Dragging geometry into the scene Right: Dragging a bitmap onto the geometry You can drag these samples and models into your scene for immediate visualization and presentation. You can snap geometry into predefined locations, or drag and drop them interactively in your scene. You can also use the Asset Browser to browse thumbnail displays of bitmap textures and geometry files on your hard disk or shared network drives. Then you can either view them or drag and drop them into your scene or into valid map buttons or slots. NOTE The thumbnail display of a geometry file is a bitmap representation of a view of the geometry. Since the thumbnail display is not a vector-based representation, you can't rotate it or perform zooms on it. 40 | Chapter 2 Getting Started with 3ds Max You can drag and drop most graphic images that are embedded in a Web page into your scene. The exception is images or regions of a Web page that are tagged as hyperlinks or other HTML controls (such as when a bitmap is tagged as a button). IMPORTANT Downloaded content might be subject to use restrictions or the license of the site owner. You are responsible for obtaining all content license rights. For complete details, see Asset Browser on page 8143. Startup Files and Defaults When you start 3ds Max, several auxiliary files load, setting things like program defaults and UI layout. You can even create a scene, named maxstart.max, that automatically loads when you start or reset 3ds Max. In some cases, 3ds Max updates files when you change settings and when you quit 3ds Max. NOTE 3ds Max comes with several different market-specific defaults on page 8834. These set different program defaults on startup, based on the type of files you expect to work on most often. You can load the preset defaults that come with 3ds Max, or you can create your own. In general, you don't need to work directly with the auxiliary files, but it's good to know about them. Among the auxiliary files 3ds Max uses are: ■ 3dsmax.ini on page 42 : This file gets updated when you start and exit 3ds Max, as well as when you change most Preferences settings. It contains values relating to program defaults, including the graphics driver, directories used to access external files such as sounds and images, preset render sizes, dialog positions, snap settings, and other preferences and default settings. If you edit this file, be sure to make a copy first, so you can return to the original if anything goes wrong. NOTE Many program defaults are set in currentdefaults.ini, found within the \defaults directory. For more information on this file, see Market-Specific Defaults on page 8834. ■ maxstart.max: At startup and when you reset 3ds Max, 3ds Max looks for this file in the MaxStart folder specified in Configure User Paths ➤ File I/O panel on page 8875, and if found, loads it. This allows you to specify the default state of the workspace whenever you start or reset 3ds Max. For Startup Files and Defaults | 41 example, if you always use a ground plane, you can make it the default setup by creating one, and then saving it as maxstart.max. If you save a different file over maxstart.max, you can return to program defaults by deleting the maxstart.max file, and then resetting 3ds Max. ■ maxstart.cui: This is the default custom user interface file. You can load and save CUI files, and set 3ds Max to use a different default CUI file. See Customize Menu on page 8618. ■ plugin.ini: This file contains directory paths for plug-ins. Most other paths are kept in 3ds Max INI file, but plugin.ini is maintained as a separate file because third-party plug-ins often add entries to the list at installation. NOTE It is possible to use multiple plug-in configuration files by nesting additional paths in your plugin.ini file. This can be very useful for allowing an entire network of users to share one plugin.ini file, making the system easier to maintain for the network administrator. For more information, see Network Plug-In Configuration on page 8885. ■ startup.ms: A MAXScript file that automatically executes at startup time. For more information, see Startup Script on page 9316. The Initialization File The file 3ds Max uses to store settings between sessions is named 3dsmax.ini. In most cases, you don’t need to access this file directly. To find it, if necessary, use the Windows Search function. You can make changes to 3ds Max startup conditions by editing the 3dsmax.ini file in a text editor such as Notepad. If you do edit the file, be sure to maintain the structure and syntax of the original file. TIP If you encounter unusual and unexplained user-interface problems using 3ds Max, try deleting the 3dsmax.ini file and restarting. 3ds Max writes a new INI file to replace the deleted one. Often this fixes problems related to the state of the user interface. NOTE Startup scene conditions are defined by the maxstart.max file. To save a particular startup condition, such as a Plane object representing the ground, create a scene file with the condition present and then save it as maxstart.max. 3ds Max automatically opens this file when you start 3ds Max. The 3dsmax.ini file includes the following categories of settings: 42 | Chapter 2 Getting Started with 3ds Max [Directories] Defines the default paths for various file operations. [Performance] Controls that speed up viewport performance. [PlugInKeys] Turns on or off the keyboard shortcuts for plug-ins. [Renderer] Controls for rendering alpha and filter backgrounds. [RenderPresets] Defines the paths for Rendering Preset files. [BitmapDirs] Defines the default map paths for bitmaps used by materials. [Modstack] Controls modifier stack button sets and icon display. [WindowState] Settings for software display, OpenGL, or Direct3D drivers. [CustomMenus] Defines path for the .mnu file. [CustomColors] Defines the path for the .clr file. [KeyboardFile] Defines the path for the .kbd file. [Material Editor] Material Editor settings. [ObjectSnapSettings] Settings associated with snaps. [CommandPanel] Sets number of columns, and controls rollout display in multiple columns. Backing Up and Archiving Scenes You should regularly back up and archive your work. One convenient method is to save incremental copies of your scenes. This method creates a history of your work process. Saving Incremental Files If you turn on the Increment On Save option on the Files panel on page 8892 of the Preferences dialog, the current scene is renamed by appending a two-digit number to the end of the file and incrementing the number each time you save. For example, if you open a file named myfile.max and then save it, the saved file is named myfile01.max. Each time you save the file its name is incremented, producing the files myfile02.max, myfile03.max, and so on. You can also use Save As on page 7956 to increment the file name manually with a two-digit number by clicking the increment button (+) on the Save As dialog. Backing Up and Archiving Scenes | 43 Using Auto Backup You can automatically save backup files at regular intervals by setting the Auto Backup options on page 8895 on the Preferences dialog (see File Preferences on page 8892). The backup files are named AutoBackupN.max, where N is a number from 1 to 99, and stored, by default, in the \autoback folder. You can load a backup file like any other scene file. Archiving a Scene 3ds Max scenes can make use of many different files. When you want to exchange scenes with other users or store scenes for archival purposes, you often need to save more than just the scene file. Use the Application menu on page 8579 ➤ Archive command on page 7967 to pass the scene file and any bitmap files used in the scene to an archiving program compatible with PKZIP: software. Crash Recovery System If 3ds Max encounters an unexpected crash, it attempts to recover and save the file currently in memory. This is fairly reliable, but it does not always work: the recovered scene could be damaged during the crash. The recovered file is stored in the configured Auto Backup path. It is saved as "_recover.max" in this path. It is also placed in the INI file as the most recently used file in the Application menu on page 8579. This makes it easy to return to the file, if you choose to do so. The crash recovery system identifies when something in an object's modifier stack is corrupt. In these cases, the corrupt object is replaced with a red dummy object to maintain the object's position and any linked object hierarchy. 44 | Chapter 2 Getting Started with 3ds Max NOTE We recommend that you not rely on this file-recovery mechanism as an alternative to good data backup practices: ■ Save your work frequently. ■ Take advantage of automatic incremental file naming: Go to Customize menu ➤ Preferences ➤ Files panel on page 8892 ➤ File Handling group, and turn on Increment On Save. ■ Use Application menu on page 8579 ➤ Save ➤ Save As, and click the Increment button (+) to save incremental copies of work in progress. ■ If you are forgetful about saving, use the Auto Backup feature. Go to Customize menu ➤ Preferences ➤ Files tab ➤ Auto Backup group, and turn on Enable. Crash Recovery System | 45 46 Viewing and Navigating 3D Space 3 Everything in 3ds Max is located in a three-dimensional world. You have a variety of options for viewing this enormous stage-like space, from the tiniest details to the full extent of your scene. Different viewports can display different angles; on the right, the largest viewport shows a camera view. Using the view options discussed in this section you move from one view to another, as your work and imagination require. You can fill your screen with a single, large viewport, or set 47 multiple viewports to track various aspects of your scene. For exact positioning, flat drawing views are available, as are 3D perspective on page 9264 and axonometric views on page 9100. You navigate 3D space by adjusting the position, rotation and magnification of your views. You have full control over how objects are rendered and displayed on the screen. You can also use the Grab Viewport command on page 7356 to create snapshots of your work as you go. This section presents brief topics designed to help you quickly start learning how to organize viewports and navigate through 3D space. For details about viewport commands, see Viewport Controls on page 8703. General Viewport Concepts Viewports are openings into the three-dimensional space of your scene, like windows looking into an enclosed garden or atrium. But viewports are more than passive observation points. While creating a scene, you can use them as dynamic and flexible tools to understand the 3D relationships among objects. 48 | Chapter 3 Viewing and Navigating 3D Space The 3ds Max main window, with a docked toolbar and viewport layout displaying multiple views. At times you might want to look at your scene through a large, undivided viewport, giving you a "picture-window" view of the world you’re creating. Often you use multiple viewports, each set to a different orientation. If you want to move an object horizontally in the world space, you might do this in a top viewport, looking directly down on the object as you move it. At the same time, you could be watching a shaded perspective viewport to see when the object you’re moving slides behind another. Using the two windows together, you can get exactly the position and alignment you want. You also have pan and zoom features available in either view, as well as grid alignment. With a few mouse clicks or keystrokes, you can reach any level of detail you need for the next step in your work. Another way to use viewports is to place a camera in your scene and set a viewport to look through its lens. When you move the camera, the viewport tracks the change. You can do the same thing with spotlights. General Viewport Concepts | 49 In addition to geometry, viewports can display other views such as Track View and Schematic View, which display the structure of the scene and the animation. Viewports can be extended to display other tools such as the MAXScript Listener and the Asset Browser. For interactive rendering, the viewport can display the ActiveShade window. Active Viewport One viewport, marked with a highlighted border, is always active. The active viewport is where commands and other actions take effect. Only one viewport can be in the active state at a time. If other viewports are visible, they are set for observation only; unless disabled, they simultaneously track actions taken in the active viewport. Saving the Active Viewport You can save the view in any active viewport and later restore it with the Views menu's Save Active View on page 107 and Restore Active View on page 108 commands. One view can be saved for each of the following view types: Top, Bottom, Left, Right, Front, Back, Orthographic, Perspective. For example, while in the Front view, you choose Save Active Front View, and then zoom and pan that view. You then activate the Top viewport, choose Save Active Top View, and then click Zoom Extents. You return to the Front view, and choose Restore Active Front View to return to its original zoom and pan. At any time, you can activate the Top viewport, and then choose Restore Active Top View to restore its saved view. Home Grid: Views Based on the World Coordinate Axes The grid you see in each viewport represents one of three planes that intersect at right angles to one another at a common point called the origin. Intersection occurs along three lines (the world coordinate axes: X, Y, and Z) familiar from geometry as the basis of the Cartesian coordinate system. 50 | Chapter 3 Viewing and Navigating 3D Space Home Grid Using the home grid to position houses The three planes based on the world coordinate axes are called the home grid; this is the basic reference system of the 3D world. To simplify the positioning of objects, only one plane of the home grid is visible in each viewport. The figure shows all three planes as they would appear if you could see them in a single perspective viewport. Home Grid: Views Based on the World Coordinate Axes | 51 Axes, Planes, and Views Home grid axes and planes Two axes define each plane of the home grid. In the default Perspective viewport, you are looking across the XY plane (ground plane), with the X axis running left-to-right, and the Y axis running front-to-back. The third axis, Z, runs vertically through this plane at the origin. 52 | Chapter 3 Viewing and Navigating 3D Space Home Grid and Grid Objects Above: Inactive grid object in a scene Below: Activated grid object The home grid is aligned with the world coordinate axes. You can turn it on and off for any viewport, but you can’t change its orientation. For flexibility, the home grid is supplemented by grid objects: independent grids you can place anywhere, at any angle, aligned with any object or surface. They function as "construction planes" you can use once and discard or save for reuse. See Precision and Drawing Aids on page 2807. Home Grid: Views Based on the World Coordinate Axes | 53 AutoGrid The AutoGrid feature lets you create and activate temporary grid objects on the fly. This lets you create geometry off the face of any object by first creating the temporary grid, then the object. You also have the option to make the temporary grids permanent. See AutoGrid on page 2819. Understanding Views Each viewport can be set to display either of two types of views: axonometric or perspective. ■ Axonometric views on page 9100 show the scene without perspective. All lines in the model are parallel to one another. The Top, Front, Left, and Orthographic viewports are axonometric views. Axonometric view of a scene 54 | Chapter 3 Viewing and Navigating 3D Space ■ Perspective views on page 9264 show the scene with lines that converge at the horizon. The Perspective and Camera viewports are examples of perspective views. Perspective view of the same model Perspective views most closely resemble human vision, where objects appear to recede into the distance, creating a sense of depth and space. Axonometric views provide an undistorted view of the scene for accurate scaling and placement. A common workflow is to use axonometric views to create the scene, then use a perspective view to render the final output. Axonometric Views There are two types of axonometric views you can use in viewports: head-on and rotated. An orthographic view on page 9251 is often a head-on view of the scene, such as the view shown in the Top, Front, and Left viewports. You can set a viewport to a specific orthographic view using the Point-Of-View (POV) viewport label menu on page 8712, keyboard shortcuts on page 9007, or the ViewCube on page 68. For example, to set an active viewport to Left view, press L. Understanding Views | 55 You can also rotate an orthographic view to see the scene from an angle while retaining parallel projection. However, when viewing the scene from an angle, it’s often more helpful to use a perspective view. Perspective Views A perspective viewport, labeled Perspective, is one of the startup viewports in 3ds Max. You can change any active viewport to this "eye-like" point of view by pressing P. Camera View Once you create a camera object in your scene, you can change the active viewport to a camera view by pressing C and then selecting from a list of cameras in your scene. You can also create a camera view directly from a perspective viewport, using the Create Camera from View on page 129 command. A camera viewport tracks the view through the lens of the selected camera. As you move the camera (or target) in another viewport, you see the scene move accordingly. This is the advantage of the Camera view over the Perspective view, which can't be animated over time. If you turn on Orthographic Projection on a camera’s Parameters rollout, that camera produces an axonometric view on page 9100. See Cameras on page 5905. 56 | Chapter 3 Viewing and Navigating 3D Space The viewport on the right is seen through a camera in the scene. Two and Three-Point Perspective and the Camera Correction Modifier By default, camera views use three-point perspective, in which vertical lines appear to converge with height (in traditional photography this is known as keystoning). The Camera Correction modifier on page 5968 applies two-point perspective to a camera view. In two-point perspective, vertical lines remain vertical. A similar effect can be attained by putting a Skew modifier on a camera. Light View Light view works much like a targeted camera view. You first create a spotlight or directional light and then set the active viewport to that spotlight. The easiest way is to press the keyboard shortcut $. See Lights on page 5672. Understanding Views | 57 The viewport on the right looks through the lens of a spotlight in the scene. Setting Viewport Layout 3ds Max defaults to a 2 x 2 arrangement of viewports. Thirteen other layouts are available, but the maximum number of viewports on the screen remains four. Using the Layout panel on page 8968 of the Viewport Configuration dialog, you can pick from the different layouts and customize the viewports in each. The viewport configuration is saved with your work. 58 | Chapter 3 Viewing and Navigating 3D Space Resizing the Viewport After choosing a layout you can resize the viewports so they have different proportions by moving the splitter bars that separate the viewports. This is available only when multiple viewports are displayed. Resized viewport Setting Viewport Layout | 59 Changing the View Type As you work, you can change the view in any viewport quickly. For example, you can switch from front view to back view. You can use either of two methods: menu or keyboard shortcut. ■ Click or right-click the Point-Of-View (POV) viewport label of the viewport you want to change. Then from the POV viewport label menu on page 8712, click the view type that you want. ■ Click the viewport you want to change, and then press one of the keyboard shortcuts in the following table. Key View type T Top view B Bottom view F Front view L Left view C Camera view. If your scene has only one camera, or you select a camera before using this keyboard shortcut, that camera supplies the view. If your scene has more than one camera, and none are selected, a list of cameras appears. P Perspective view. Retains viewing angle of previous view. U Orthographic User view. Retains viewing angle of previous view. Allows use of Zoom Region on page 8738. none Right view. Use the POV viewport label menu on page 8712. none Shape view. Use the POV viewport label menu on page 8712. Automatically aligns view to the extents of a selected shape and its local XY axes. 60 | Chapter 3 Viewing and Navigating 3D Space See also: ■ Viewport Layout on page 8968 ■ Camera Viewport Controls on page 8742 ■ Spotlight Parameters on page 5799 ■ Precision and Drawing Aids on page 2807 ■ Track View on page 3827 Controlling Viewport Rendering You can choose from multiple options to display your scene. You can display objects as simple boxes, or render them with smooth shading and texture mapping. If you want, you can choose a different display method for each viewport. Box display, wireframe display, and smooth shading Controlling Viewport Rendering | 61 TIP If you want to display and render an individual object as wireframe, you can use a Standard or Raytrace material and set its shader to Wire on page 6391. Or, to display an individual object to display as a box, select the object and choose Display as Box on page 145 on the Display properties rollout on the display panel. Using Viewport Rendering Controls Viewport rendering options are found on the Shading viewport label menu on page 8719 and on the Rendering Method panel on page 8963 of the Viewport Configuration dialog. Using these controls you can set a rendering level and any options associated with that level. The viewport label menu settings apply to the active viewport only, but the Rendering Method panel lets you apply settings to the active viewport, all viewports, or to all but the active viewport. The rendering level you choose is determined by your need for realistic display, accuracy, and speed. For example, Bounding Box display level can be much faster than Smooth + Highlights, depending on scene complexity. The more realistic the rendering level, the slower the display speed. After choosing a rendering level, you can set rendering options. Different options are available for different rendering levels. You can also use ActiveShade on page 7009 in a viewport. This feature helps you quickly preview changes you make to lighting and materials. Viewport rendering has no effect on final renderings produced by clicking Render Scene. Rendering Methods and Display Speed The rendering methods not only affect the quality of your view display, they can also have a profound effect on display performance. Using higher quality rendering levels and realistic options slows display performance. After setting a rendering method, you can choose additional options that adjust display performance. One of these controls, Adaptive Degradation, speeds up display performance when you use realistic rendering levels. See Rendering Method on page 8963. Controlling Display Performance 3ds Max contains controls to help you adjust display performance: the balance between quality and time in displaying objects. 62 | Chapter 3 Viewing and Navigating 3D Space Depending on your needs, you might give up some display speed to work at higher levels of rendering quality, or you might choose to maximize display speed by using Wireframe or Bounding Box display. Which method you choose depends on your preferences and the requirements of your work. Display Performance Controls You use display performance controls to determine how objects are rendered and displayed. Viewport Preferences The Customize ➤ Preferences dialog's Viewports panel contains options for fine-tuning the performance of the viewport display software. See Viewport Preferences on page 8896. How Objects Are Displayed To see and modify an object's display properties, right-click the object, select Properties, and go to the Display Properties group box; see Object Properties on page 221. These options affect display performance much the same way as viewport rendering options. For example, turning on Vertex Ticks for an object with a lot of vertices will slow performance. NOTE Display Properties are only available when the By Object/By Layer toggle is set to By Object. To see and modify how objects are displayed, you can use layers on page 8534. You can then quickly control the visibility and editability of similar objects from the quad menu. Which Objects Are Displayed One way to increase display speed is not to display something. You can use the Hide and Freeze functions on the Display panel, quad menu, Manage Layers Dialog on page 8537, and Scene Explorer on page 8469 to change the display state of objects in your scene. The Hide and Freeze features also affect final Rendering and Video Post output. See Hide Rollout on page 140 and Freeze Rollout on page 142. Setting Adaptive Degradation Adaptive Degradation dynamically adjusts viewport rendering levels to maintain a desired level of display speed. You have direct control over how much "degradation" occurs and when it occurs. Controlling Display Performance | 63 The active levels determine which rendering levels 3ds Max falls back to when it cannot maintain the desired display speed. You can choose as many levels as you want but you are advised to choose only one or two levels for each type of degradation. See Adaptive Degradation on page 9084. Using Standard View Navigation To navigate through your scene, use the view navigation buttons located at the lower-right corner of the 3ds Max window. All view types, except Camera and Light views, use a standard set of view navigation buttons. The standard navigation controls Button Operation Clicking standard view navigation buttons produces one of two results: ■ Executes the command and returns to your previous action. ■ Activates a view navigation mode. You can tell that you are in a navigation mode because the button remains highlighted (orange background). This mode remains active until you right-click or choose another command. While in a navigation mode, you can activate other viewports of the same type, without exiting the mode, by clicking in any viewport. See Viewport Controls on page 8703. Undoing Standard View Navigation Commands Use the Undo View Change and Redo View Change commands on page 106 on the Views menu to reset standard view navigation commands without affecting other viewports or the geometry in your scene. Undo View Change also appears on the Point-Of-View (POV) viewport label menu on page 8712. Or you can use the keyboard shortcuts: Shift+Z for Undo View Change and Shift+Y for Redo View Change. 64 | Chapter 3 Viewing and Navigating 3D Space Views menu ➤ Undo View Change and Views menu ➤ Redo View Change are different from Undo and Redo commands on the Edit menu and main toolbar. 3ds Max maintains separate Undo/Redo buffers for scene editing and for each viewport. The View Change Undo/Redo buffer stores your last 20 view navigation commands for each viewport. You can step back through the Undo View/Redo View buffer until you have undone all of the stored view-navigation commands. Zooming, Panning, and Rotating Views When you click one of the view navigation buttons, you can change these basic view properties: zooming, panning, and rotating. NOTE You can also navigate the viewport with the ViewCube on page 68 and SteeringWheels on page 75 toolsets. Zoom Controls zooming in and out. Pan View Controls panning in any direction. Orbit Controls rotating in any direction Before and after zooming a viewport Zooming, Panning, and Rotating Views | 65 Before and after rotating a viewport Zooming a View Click Zoom on page 8730 or Zoom All on page 8732 and drag in a viewport to change the view magnification. Zoom changes only the active view, while Zoom All simultaneously changes all non-camera views. If a perspective view is active, you can also click Field of View (FOV) on page 8735. The effect of changing FOV is similar to changing the lens on a camera. As FOV gets larger you see more of your scene and perspective becomes distorted, similar to using a wide-angle lens. As FOV gets smaller you see less of your scene and the perspective flattens, similar to using a telephoto lens. WARNING Be cautious using extreme Field of View settings. These can produce unexpected results. Zooming a Region Click Zoom Region on page 8738 to drag a rectangular region within the active viewport and magnify that region to fill the viewport. Zoom Region is available for all standard views. In a perspective viewport, Zoom Region mode is available from the Field of View flyout on page 8735. 66 | Chapter 3 Viewing and Navigating 3D Space Zooming to Extents Click the Zoom Extents or Zoom Extents All flyout buttons to change the magnification and position of your view to display the extents of objects in your scene. Your view is centered on the objects and the magnification changed so the objects fill the viewport. ■ The Zoom Extents, Zoom Extents Selected buttons on page 8726 zoom the active viewport to the extents of all visible or selected objects in the scene. ■ The Zoom Extents All, Zoom Extents All Selected buttons on page 8726 zoom all viewports to the extents of all objects or the current selection. Panning a View Click Pan View on page 8739 and drag in a viewport to move your view parallel to the viewport plane. You can also pan a viewport by dragging with the middle mouse button held down while any tool is active. Rotating a View Click Orbit, Orbit Selection, or Orbit Sub-Object on page 8740 to rotate your view around the view center, the selection, or the current sub-object selection respectively. When you rotate a head-on viewport, such as a Top view, it is converted to an Orthographic view, as reflected by the viewport label. With Orbit, objects near the edges of the viewport can rotate out of view. With Orbit Selected, selected objects remain at the same position in the viewport while the view rotates around them. If no objects are selected, the function reverts to the standard Orbit function. With Orbit Sub-Object, selected sub-objects or objects remain at the same position in the viewport while the view rotates around them. Zooming, Panning, and Rotating Views | 67 NOTE You can rotate a view by holding down the Alt key while you drag in a viewport using middle-button. This uses the current Orbit mode, whether or not the Orbit button is active. You can also activate Orbit by pressing Ctrl+R. ViewCube ® The ViewCube 3D navigation control provides visual feedback of the current orientation of a viewport, lets you adjust the view orientation, and also switch between standard and isometric views. Once the ViewCube is displayed, it appears by default in the upper-right corner of the active viewport, superimposed over the scene in an inactive state. It does not appear in camera, light, or shape viewports, or in other types of views such as ActiveShade or Schematic. While the ViewCube is inactive, its primary function is to show the orientation of the scene based on the North direction of the model. When you position the cursor over the ViewCube, it becomes active. Using the left mouse button, you can switch to one of the available preset views, rotate the current view, or change to the Home view of the model. Right-clicking opens a context menu with additional options. NOTE If you are using the software display driver on page 8905, the ViewCube doesn’t appear. Control the Appearance of the ViewCube The ViewCube is displayed in one of two states: inactive and active. When the ViewCube is inactive, it appears transparent over the viewport by default so as not to completely obscure the view of the model. When the ViewCube is active, it is opaque and might obscure the view of objects in the scene. You can control the opacity level of the ViewCube when it is inactive as well as its size, the viewports it appears in, and the display of the compass. These settings are located on the ViewCube panel on page 8988 of the Viewport Configuration dialog. 68 | Chapter 3 Viewing and Navigating 3D Space Using the Compass The ViewCube compass indicates the North direction for the scene. You can toggle the compass display below the ViewCube and specify its orientation with the Compass settings on page 8990. Procedures To display or hide the ViewCube: ➤ Do one of the following: ■ Press the default keyboard shortcut: Alt+Ctrl+V. ■ Open the Viewport Configuration dialog to the ViewCube panel on page 8988 and toggle the Show The ViewCube check box. ■ Click or right-click the General (+) viewport label menu on page 8707 and choose ViewCube ➤ Show The ViewCube. To control the size and inactive opacity of the ViewCube: 1 Open the Viewport Configuration dialog to the ViewCube panel on page 8988. 2 In the Display Options group, click the ViewCube Size drop-down list and choose a size. The choices are Large, Normal, Small, and Tiny. 3 Also in the Display Options group, click the Inactive Opacity drop-down list and choose an opacity value. The choices range from 0% (invisible when inactive) to 100% (always fully opaque). 4 Click OK. To display the compass for the ViewCube 1 Open the Viewport Configuration dialog to the ViewCube panel on page 8988. 2 In the Compass group, turn on Show Compass Below The ViewCube. The compass is displayed below the ViewCube and indicates the North direction in the scene. 3 Click OK. ViewCube | 69 ViewCube Menu Right-click the ViewCube. The ViewCube menu provides options to define the orientation of the ViewCube, switch between orthographic and perspective projection, define the Home and Front views for the model, and control the appearance of the ViewCube. The following options can be found on the shortcut menu of the ViewCube: ■ HomeRestores the Home view saved with the model. ■ OrthographicSwitches the current view to orthographic projection. ■ Perspective Switches the current view to perspective projection. ■ Set Current View as Home Defines the Home view of the model based on the current view. ■ Set Current View as FrontDefines the Front view of the model based on the current view. ■ Reset FrontResets the Front view of the scene to its default orientation. ■ ConfigureOpens the Viewport Configuration dialog to the ViewCube panel on page 8988, where you can adjust the appearance and behavior of the ViewCube. ■ Help Launches the online Help system and displays the topic on the ViewCube. Procedure To display the ViewCube menu: ■ Right-click the compass, Home icon, or the main area of the ViewCube. Change the View of the Scene with the ViewCube You can change the view of a model by choosing a preset view or dragging the ViewCube, roll the current view 90 degrees, switch to an adjacent face view, define and restore the Front and Home views, and switch between projection modes. 70 | Chapter 3 Viewing and Navigating 3D Space Change the Current View You can change the current view of a model by clicking predefined areas on the ViewCube or dragging the ViewCube. The ViewCube provides 26 defined areas you can click to change the current view of a model. The defined areas are categorized into three groups: corner, edge, and face. Of the 26 defined areas, six represent standard orthographic views of a model: top, bottom, front, back, left, and right. You set an orthographic view by clicking one of the faces on the ViewCube. You access angled views of the scene with the other 20 defined areas. Clicking one of the corners of the ViewCube changes the current view of the model to a three-fourths view, based on a viewpoint defined by three sides of the model. Clicking one of the edges changes the view of the model to a three-fourths view based on two sides of the model. In addition, you can click and drag the ViewCube to change the view of the scene to a custom angled viewpoint other than one of the predefined viewpoints. Roll a Face View When you view a model from one of the face views such as Front, two additional icons, called roll arrows, are displayed near the ViewCube. To roll or rotate the current view 90 degrees in the positive or negative directions around the center of the view, click one of the roll arrows. Change the View of the Scene with the ViewCube | 71 Switch to an Adjacent Face While viewing a model from one of the face views, you can use the ViewCube to switch to one of the adjacent face views without first changing the view of the model, in order to see the adjacent view. When the ViewCube is active and a face view is current, four triangles are displayed, one on each side of the ViewCube. To rotate the current view to display the face view indicated by one of the triangles, click the triangle. Front View You can define the Front view of a model. The Front view is used to define the direction of the face views on the ViewCube. Along with the Front view, the Up direction of a model is also used to define the direction of the face views on the ViewCube. Procedures To change the current view to a preset view: 1 Activate the ViewCube. 2 Click one of the faces, edges or corners on the ViewCube. To view an adjacent face: 1 Activate the ViewCube. NOTE Make sure a face view is current. 2 Click one of the triangles displayed near the edges of the ViewCube. To roll a face view: 1 Activate the ViewCube. NOTE Make sure a face view is current. 2 Click one of the roll arrows displayed above and to the right of the ViewCube. 72 | Chapter 3 Viewing and Navigating 3D Space Click the left roll arrow to rotate the view 90 degrees in a counterclockwise direction or click the right roll arrow to rotate the view 90 degrees in a clockwise direction. To change the view interactively: ■ Click the ViewCube, hold down the button on your pointing device and drag to orbit the model. Drag in the direction that you want to orbit the model. To define the Front view: ■ Right-click on the ViewCube and click Set Current View as Front. NOTE You first need to orient the view using a view tool so that you are looking at what you consider to be the Front of the model with its Top facing upward and then choose Set Current View as Front. To restore the default Front view: ■ Right-click the ViewCube and click Reset Front. Set the View Projection Mode View projection produces realistic visual effects of a model. The ViewCube supports two different view projections: ■ PerspectivePerspective projected views involve foreshortening (closer objects appear larger than more distant ones) and are calculated based on the distance between a theoretical camera and target point. The shorter the distance between the camera and the target point, the more severe the perspective effect appears; greater distances produce less severe affects on the model. ■ OrthographicOrthographic projected views display all the points of a model being projected parallel to the screen. The following illustration shows the same model viewed from the same viewing direction, but with different view projections. Change the View of the Scene with the ViewCube | 73 When you change the view for a scene, the view is updated using the current projection mode. Procedure To change the view projection mode: ➤ Right-click the ViewCube and click one of the following options: ■ Orthographic ■ Perspective Define the Home View You can define a Home view for a model so you can restore a familiar view when using the navigation tools. The Home view is a special view of the model. The default Home position is the same as that of the Perspective viewport. You can also define a view of the scene as the Home view so you can easily return to the familiar view by clicking the Home icon or by choosing Home from the shortcut menu. Procedure To define the Home view, do one of the following: ■ Right-click the ViewCube and click Set Current View as Home. ■ Click or right-click the General (+) viewport label menu on page 8707 and choose ViewCube ➤ Set Current View As Home. 74 | Chapter 3 Viewing and Navigating 3D Space To restore the Home view: Use one of the following methods to restore the Home view: ■ Click (the Home icon) located near the active ViewCube. ■ Right-click the ViewCube and then choose Home. SteeringWheels ® The SteeringWheels 3D navigation controls are tracking menus that allow you to access different 2D and 3D navigation tools from a single tool. SteeringWheels are divided into different sections known as wedges. Each wedge on a wheel represents a single navigation tool. You can pan, zoom, or manipulate the current view of a scene in different ways. SteeringWheels, also known as wheels, can save you time by combining many of the common navigation tools into a single interface. Wheels are specific to the context that a scene is being viewed in. The Full Navigation wheel NOTE If you are using the software display driver on page 8905, SteeringWheels don’t appear. First Contact Balloon By default, the wheel is “pinned” at startup to the lower-left corner of the Perspective viewport. It does not follow the cursor and, when you position the cursor over the wheel, the First Contact balloon for the SteeringWheels opens. The First Contact balloon serves as an introduction to the purpose of the wheels and how you can use them. SteeringWheels | 75 Display and Use Wheels To toggle display of a wheel, use the Views menu ➤ SteeringWheels ➤ Toggle SteeringWheels command or the keyboard shortcut (Shift+W, by default). When a wheel is displayed, you can activate its navigation tools either by clicking one of the wedges on the wheel or clicking and holding down the button on the pointing device. While the button is held down, dragging over the viewport causes the current view to change. Releasing the button returns you to the wheel, and right-clicking at any time closes the wheel. Not all navigation tools on a wheel support click actions. The following navigation tools support click actions: ■ Zoom - Adjusts the magnification of the view. ■ Center - Centers the view based on the position of the cursor over the wheel. ■ Rewind - Restores the previous view. ■ Forward - Increases the magnification of the view. Control the Appearance of Wheels You can control the appearance of the wheels by changing the current mode, or by adjusting the size and opacity. Wheels are available in two different modes: big and mini. To use a different wheel, choose it from the Wheel menu 76 | Chapter 3 Viewing and Navigating 3D Space on a full-size wheel (click the lower-right button on the wheel) or from the Views menu ➤ SteeringWheels submenu. In addition to changing the current mode, you can adjust the opacity and size for the wheels. The size of a wheel controls how large or small the wedges and labels appear on the wheel; the opacity level controls the visibility of the objects in the viewport behind the wheel. The settings used to control the appearance of the wheels are on the SteeringWheels panel on page 8990 of the Viewport Configuration dialog. Control Tooltips for Wheels and Messages for Tools Tooltips are displayed for each wedge and button on a wheel as the cursor hovers over them. The tooltips appear below the wheel and identify the action that is performed if the wedge or button is clicked. You can toggle the display of tooltips on the SteeringWheels panel on page 8990 of the Viewport Configuration dialog. Similar to tooltips, tool messages are displayed when you use one of the navigation tools from a wheel. Tool messages are displayed over the viewport and provide instructions for using the active navigation tool. Like tooltips, you can turn tool messages on or off on the SteeringWheels panel on page 8990 of the Viewport Configuration dialog. Disabling tool messages affects only messages that are displayed when using the Full Navigation wheel. Procedures To close a wheel: Use one of the following methods to close a wheel: ■ Press the Esc key. ■ Press Shift+W (this toggles the wheel). ■ Click the Close button (the small x in the upper right-hand corner of the wheel). ■ Right-click the wheel. To change the size of the wheels: 1 Display a wheel, if necessary (press Shift+W). 2 Open the SteeringWheels panel on page 8990 of the Viewport Configuration dialog. SteeringWheels | 77 3 In the Display Options group, under Big Wheels or Mini Wheels, drag the Wheel Size slider left or right. Dragging the slider to the left decreases the size of the wheel, while sliding the slider to the right increases the size of the wheel. 4 Click OK. To change the opacity of the wheels: 1 Display a wheel, if necessary (press Shift+W). 2 Open the SteeringWheels panel on page 8990 of the Viewport Configuration dialog. 3 In the Display Options group, under Big Wheels or Mini Wheels, drag the Wheel Opacity slider left or right. Dragging the slider to the left increases the transparency of the wheel, while sliding the slider to the right decreases the transparency of the wheel. 4 Click OK. To control the startup display of the wheels: 1 Open the SteeringWheels panel on page 8990 of the Viewport Configuration dialog. 2 In the Display Options group, toggle the Always Show Pinned Wheel On Start check box. When on, the wheel appears at the cursor position (pinned) whenever you start 3ds Max. When off, you must invoke the wheel explicitly (press Shift+W). 3 Click OK. Wheel Menu From the Wheel menu, you can switch among different wheels and change the behavior of some of the navigation tools on the current wheel. Use the Wheel menu, which is available from the down arrow in the lower-right corner of the wheel, to switch among the big and mini wheels that are available, go to the Home view, change the wheels configuration, and 78 | Chapter 3 Viewing and Navigating 3D Space control the behavior of the walk navigation tool. The availability of some items on the Wheel menu depends on the current wheel. The Wheel menu has the following options: ■ Mini View Object Wheel Displays the mini version of the View Object wheel. ■ Mini Tour Building Wheel Displays the mini version of the Tour Building wheel. ■ Mini Full Navigation Wheel Displays the mini version of the Full Navigation wheel. ■ Full Navigation Wheel Displays the big version of the Full Navigation wheel. ■ Basic Wheels Displays the big version of the View Object or Tour Building wheel. ■ Go Home Restores the Home view saved with the scene. ■ Restore Original Center Pans the view to the world center (0,0,0). ■ Increase Walk Speed Doubles the walk speed used for the Walk tool. ■ Decrease Walk Speed Halves the walk speed used for the Walk tool. ■ Help Launches the online Help system and displays the topic about the wheels. ■ Configure Displays the dialog box where you can adjust the preferences for the wheels. Procedure To display the wheel menu ■ Click the down arrow in the lower-right corner of the wheel. Navigation Wheels You can choose from several different wheels. Each has its own drafting theme, and is designed for a different type of 3D navigation. Navigation Wheels | 79 Wheels are available in two sizes: big and mini. The big wheel is larger than the cursor. A label is on each wedge in the wheel. The mini wheel is about the same size as the cursor. Labels are not displayed on the wheel wedges. You can choose from the following wheels: ■ View Object ■ Tour Building ■ Full Navigation View Object Wheels The View Object wheel is for general 3D navigation; it includes the orbit 3D navigation tool. Use the View Object wheel to examine 3D objects from the outside. The big View Object wheel is divided into the following wedges: ■ Center on page 84 Specifies a point on a model to adjust the center of the current view or change the target point used for some of the navigation tools. ■ Zoom on page 94 Adjusts the magnification of the current view. ■ Rewind on page 90 Restores the most recent view. You can move backward or forward through previous views. ■ Orbit on page 87 Rotates the current view around a fixed pivot point. The mini View Object wheel is divided into the following wedges: ■ Zoom (Top wedge) on page 94 Adjusts the magnification of the current view. ■ Rewind (Right wedge) on page 90 Restores the most recent view. You can move backward or forward through previous views. ■ Pan (Bottom wedge) on page 89 Repositions the current view by panning. 80 | Chapter 3 Viewing and Navigating 3D Space ■ Orbit (Left wedge) on page 87 Rotates the current view around a fixed pivot point. Procedures To switch to the big View Objects wheel: Use one of the following methods: ■ From the Views menu, choose SteeringWheels ➤ View Object Wheel. ■ Click the wheel menu button at the lower-right corner of a big wheel and choose Basic Wheels ➤ View Object Wheel. To switch to the mini View Objects wheel: Use one of the following methods: ■ Click the wheel menu button at the lower-right corner of a big wheel and choose Mini View Object Wheel. ■ From the Views menu, choose SteeringWheels ➤ Mini View Object Wheel. Tour Building Wheels The Tour Building wheels are designed for 3D navigation within the interior of a model. The big Tour Building wheel is divided into the following wedges: ■ Forward on page 85 Adjusts the distance between the current point of view and the defined pivot point of the model. ■ Look on page 86 Swivels the current view. ■ Rewind on page 90 Restores the most recent view. You can move backward or forward through previous views. ■ Up/Down on page 92 Moves the view on the vertical axis of the screen. Navigation Wheels | 81 The mini Tour Building wheel is divided into the following wedges: ■ Walk (Top wedge) on page 93 Simulates walking through a model. ■ Rewind (Right wedge) on page 90 Restores the most recent view. You can move backward or forward through previous views. ■ Up/Down (Bottom wedge) on page 92Moves the view on the vertical axis of the screen. ■ Look (Left wedge) on page 86 Swivels the view. Procedures To switch to the big Tour Building wheel: ■ From the Views menu, choose SteeringWheels ➤ Tour Building Wheel. ■ Click the wheel menu button at the lower-right corner of a big wheel and choose Basic Wheels ➤ Tour Building Wheel. To switch to the mini Tour Building wheel: ■ Click the wheel menu button at the lower-right corner of a big wheel and choose Mini Tour Building Wheel. ■ From the Views menu, choose SteeringWheels ➤ Mini Tour Building Wheel. Full Navigation Wheels The Full Navigation wheel combines navigation tools found on the View Object and Tour Building wheels. The big Full Navigation wheel is divided into the following wedges: ■ Zoom on page 94. Adjusts the magnification of the current view. 82 | Chapter 3 Viewing and Navigating 3D Space ■ Rewind on page 90. Restores the most recent view. You can move backward or forward through previous views. ■ Pan on page 89. Repositions the current view by panning. ■ Orbit on page 87. Rotates the current view around a fixed pivot point. ■ Center on page 84. Specifies a point on a model to adjust the center of the current view or change the target point used for some of the navigation tools. ■ Walk on page 93 Simulates walking through the scene. ■ Look on page 86 Swivels the view. ■ Up/Down on page 92 Moves the view on the vertical axis of the screen. The mini Full Navigation wheel is divided into the following wedges: ■ Zoom (Top wedge) on page 94 Adjusts the magnification of the view. ■ Walk (Upper-right wedge) on page 93 Simulates walking through a model. ■ Rewind (Right wedge) on page 90 Restores the most recent view. You can move backward or forward through previous views. ■ Up/Down (Lower-right wedge) on page 92 Moves the view on the vertical axis of the screen. ■ Pan (Bottom wedge) on page 89 Repositions the current view by panning. ■ Look (Lower-left wedge) on page 86 Swivels the current view. ■ Orbit (Left wedge) on page 87 Rotates the current view around a fixed pivot point. ■ Center (Upper-left wedge) on page 84 Specifies a point on a model to adjust the center of the current view or change the target point used for some of the navigation tools. Procedures To switch to the big Full Navigation wheel: Use one of the following methods: ■ From the Views menu, choose SteeringWheels ➤ Full Navigation Wheel. Navigation Wheels | 83 ■ Click the wheel menu button at the lower-right corner of a big wheel and choose Full Navigation Wheel. To switch to the mini Full Navigation wheel: Use one of the following methods: ■ Click the wheel menu button at the lower-right corner of a big wheel and choose Mini Full Navigation Wheel. ■ From the Views menu, choose SteeringWheels ➤ Mini Full Navigation Wheel. Navigation Tools The navigation tools change the current view of the scene. The availability of a navigation tool depends on the current wheel mode. Center Tool The Center tool specifies a point on an object as the center of the current view. It also changes the target point used for some of the navigation tools. When using the Center tool, you adjust the location of the center of the current view by clicking and dragging. As you do so, the cursor changes to a sphere, indicating where the new center of the view will be established when you release the button on the pointing device. Releasing the button pans the model until the sphere is centered in the view and you are returned to the wheel. The center point defined by the Center tool is used to constrain the Zoom tool and define the pivot point for the Orbit tool. The Zoom tool is only constrained to the center point when used from the View Object wheel unless 84 | Chapter 3 Viewing and Navigating 3D Space the Ctrl key is held down when using the Zoom tool on the Full Navigation wheel. Procedure To specify a point on an object as the center of a view: 1 Display a wheel that has the Center tool. 2 Click the Center wedge. Hold down the button on your pointing device and drag the cursor to the object. 3 When the cursor changes to an arrow with a sphere at the tip, release the button on your pointing device. The viewport is panned until the sphere is centered. NOTE This also sets the pivot point for the Orbit tool on page 87. Also, in the context of the View Object wheel on page 80, it sets the pivot point for the Zoom tool on page 94. 4 To exit the wheel, right-click. Forward Tool The Forward tool adjusts the distance between the current point of view and the defined pivot point of the model. With the Forward tool, you can change the magnification of the model by increasing or decreasing the distance between the current point of view and the pivot point. The distance that you can move forward or backward is limited by the position of the pivot point. To adjust the distance between the current point of view and the pivot point, you drag the cursor up or down after the pivot point is defined. As you drag the cursor, the current distance from the pivot point is displayed on a graphical Navigation Tools | 85 element called the Drag Distance indicator. The Drag Distance indicator has two marks on it that show the start and ending distances from the current point of view. While changing the distance with the Drag Distance indicator, the current distance is shown by the bright orange indicator. To change a view by moving towards or away from the model 1 Display a wheel that has the Forward tool. 2 Click the Forward wedge. Hold down the button on your pointing device. 3 When the Drag Distance indicator is displayed, drag the cursor up or down to change the distance from which you view the model. 4 Release the button on your pointing device to return to the wheel. 5 To exit the wheel, right-click. Look Tool The Look tool rotates the view horizontally and vertically from a fixed point. With the Look tool, you can rotate the current view vertically and horizontally. When rotating the view, the Look tool rotates your line of sight about the current eye position, like turning your head. Look is comparable to standing in a fixed location while looking up, down, left, and right. When using the Look tool, you adjust the view of the model by dragging the cursor. As you drag the cursor, the cursor icon changes to the Look cursor and the model rotates around the location of the current view. Walking through a Model When using the Look tool, you can walk through a model by using the arrow keys on the keyboard. You can adjust the walk speed with the Walk tool settings on page 8992. 86 | Chapter 3 Viewing and Navigating 3D Space Invert Vertical Axis By default, when you drag the cursor upward, the target point of the view raises; dragging the cursor downward lowers the target point of the view. If you prefer, you can reverse this behavior by turning on the Invert Vertical Axis on page 8992 option. Procedures To look around the scene: 1 Display a wheel that has the Look tool. 2 Click the Look wedge. Hold down the button on your pointing device. 3 When the Look cursor is displayed, drag the cursor up, down, left, and right to change the direction in which you are looking. 4 Release the button on your pointing device to return to the wheel. 5 To exit the wheel, right-click. To look around the view and walk through the model 1 Display the Full Navigation wheel. 2 Click the Look wedge. Hold down the button on your pointing device. 3 When the Look cursor is displayed, drag the cursor up, down, left, and right to change the direction in which you are looking. 4 While holding down the button on your pointing device, press the arrow keys to walk in the model. 5 Release the button on your pointing device to return to the wheel. 6 To exit the wheel, right-click. Orbit Tool The Orbit tool rotates the current view around a model based on a fixed pivot point. You use the Orbit tool to change the orientation of a model. The cursor changes to the Orbit cursor. As you drag the cursor, the model rotates around a pivot point while the view remains fixed. Navigation Tools | 87 Specify the Pivot Point The pivot point is the base point used when rotating the model with the Orbit tool. You can specify the pivot point in the following ways: ■ Default pivot point When you first open a model, the target point of the current view is used as the pivot point for orbiting the model. ■ Select objects With Selection Sensitivity on page 8992 enabled, you can select objects before using the Orbit tool to calculate the pivot point. The pivot point is calculated based on the center of the extents of the selected objects. ■ Center tool. You can specify a point on the model to use as the pivot point for orbiting with the Center tool on page 84. Maintain Up Direction You can control how the model orbits around the pivot point by choosing to maintain the Up direction of the model. When the Up direction is maintained, orbiting is constrained to the XY plane and along the Z axis. If you drag the cursor horizontally, the camera moves parallel to the XY plane. If you drag the cursor vertically, the camera moves along the Z axis. To control if the Up direction is maintained for the Orbit tool, use the Keep the Scene Upright on page 8992 option. Procedures To orbit around the center of the view: 1 Display a wheel that has the Orbit tool. 2 Click the Orbit wedge. Hold down the button on your pointing device. 3 When the cursor changes to the Orbit cursor, drag the cursor to rotate the model. NOTE If you need to change the part of the model that is displayed in the center of the view, use the Center tool. 88 | Chapter 3 Viewing and Navigating 3D Space 4 Release the button on your pointing device to return to the wheel. 5 To exit the wheel, right-click. To orbit around a selection set: 1 Press Esc to make sure no commands are active. 2 Make sure Selection Sensitivity on page 8992 is on. 3 Select the objects in the scene that are to define the pivot point location. 4 Display a wheel that has the Orbit tool. 5 Click the Orbit wedge. Hold down the button on your pointing device. 6 When the cursor changes to the Orbit cursor, drag the cursor to rotate the model. 7 Release the button on your pointing device to return to the wheel. 8 To exit the wheel, right-click. To maintain the up direction for the Orbit tool: 1 Display a wheel that has the Orbit tool. 2 On the SteeringWheels panel on page 8990 of the Viewport Configuration dialog, make sure the Orbit Tool ➤ Keep the Scene Upright on page 8992check box is on. Orbiting the model is constrained to the XY plane and Z axis. 3 Click OK. Pan Tool The Pan tool adjusts the viewpoint of the model by moving it within the screen plane. When the pan tool is active, the cursor changes to a four-sided arrow. As you drag the cursor, the direction you drag moves the scene in the same direction. For example, dragging upward moves the scene up while dragging the cursor downward moves the scene down. Navigation Tools | 89 TIP If the cursor reaches the edge of the screen, you can continue panning by dragging the cursor further to force it to wrap around the screen. Procedure To pan the view with the wheel Pan tool: 1 Display a wheel that has the Pan tool. 2 Click the Pan wedge. Hold down the button on your pointing device and drag to reposition the model. 3 Release the button on your pointing device to return to the wheel. 4 To exit the wheel, right-click. Rewind Tool The Rewind tool restores the most recent view. You can also move backward and forward through a series of saved views. As you pan, zoom, orbit, and use the other navigation tools (including the ViewCube) to change the view of a scene, each previous view is saved automatically to the navigation history. The navigation history holds the previous views along with a thumbnail image for each. A separate navigation history is maintained for each viewport; the histories are not saved with the scene. With the Rewind tool, you can retrieve the navigation history of a model. You can restore the previous view or you can scroll through any of the views saved to the navigation history. When you hold down the button on the pointing device over the Rewind tool on the wheel, the Rewind interface is displayed as a horizontal strip of thumbnails showing each stored view. You can scroll through the navigation history. To restore one of the previous views in the navigation history, drag 90 | Chapter 3 Viewing and Navigating 3D Space the bracket horizontally in the Rewind interface. Dragging to the left goes to previous views, and if you’ve rewound but haven’t changed the view, you can restore later stored views by “unwinding” to the right. If you rewind to a previous view and then use a navigation tool, 3ds Max deletes the history after the current frame. However, it still remembers all saved views prior to the current frame. Procedures To restore the previous view: 1 Display a wheel. 2 Click the Rewind wedge. 3 Click Close to exit the wheel. To restore a previous view with the Rewind interface: 1 Display a wheel. 2 Click the Rewind wedge. Hold down the button on your pointing device. The Rewind interface is displayed. 3 While holding down the button on your pointing device, drag to the left or to the right to restore a previous view. Dragging to the left restores an older previous view. Dragging to the right restores one of the more-recent previous views.The current position in the navigation history is indicated by the orange box that is dragged along the Rewind UI. 4 To exit the wheel, click Close. Navigation Tools | 91 Up/Down Tool The Up/Down tool slides the current view of a model along the vertical screen axis. Unlike the Pan tool, the Up/Down tool does not significantly displace the model being viewed because the view is sliding along the vertical axis of the screen. You can think of the Up/Down tool as similar to looking in a fixed direction while riding in a glass elevator. To adjust the vertical elevation of the current view, drag the cursor up or down. As you drag, the current elevation and the allowed range of motion are shown on a graphical element called the Vertical Distance indicator. This indicator has two marks that show the highest (Top) and lowest (Bottom) elevation the view can have. While changing the elevation with the Vertical Distance indicator, the current elevation is shown by the bright orange indicator while the previous elevation is shown by the dim orange indicator. Procedure To change the elevation of a view: 1 Display a wheel that has the Up/Down tool. 2 Click the Up/Down wedge. Hold down the button on your pointing device. 3 When the Vertical Distance indicator is displayed, drag the cursor up or down to change the elevation of the view. 4 Release the button on your pointing device to return to the wheel. 5 To exit the wheel, click Close. 92 | Chapter 3 Viewing and Navigating 3D Space Walk Tool The Walk tool simulates walking through a model. With the Walk tool, you can navigate through a model as if you were walking through it. Once you start the Walk tool, the Center Circle icon is displayed near the center of the view and the cursor changes to display a series of arrows. To walk through the model, you drag the cursor in the direction that you want to move in. Constrain the Walk Angle When walking through a model, you can constrain the movement angle to the ground plane. If the Constrain Walk Movement Angle to Ground Plane on page 8992 option is on (the default setting), you can look around freely while the current view moves parallel to the ground plane. If the walk angle is not constrained, you “fly” in the direction you are looking. Movement Speed As you walk or “fly” through a model, you can control the movement speed. You control the walk speed by the distance you move the cursor from the Center Circle icon. To set the base movement speed, you use the Speed Factor on page 8992 setting or the Increase Walk Speed and Decrease Walk Speed options on the Wheel menu. Change the Elevation of the View As you use the Walk tool, you can adjust the elevation of the view by holding down the Shift key. You switch temporarily to the Up/Down tool on page 92. To change the current elevation of the view for the model, you drag up and down. Navigation Tools | 93 Procedure To use the Walk tool to move through the model: 1 Display a wheel that has the Walk tool. 2 Click the Walk wedge. Hold down the button on your pointing device. 3 When the Center Circle icon is displayed, drag the cursor in the direction that you want to walk. 4 Release the button on your pointing device to return to the wheel. 5 Click Close to exit the wheel. Zoom Tool The Zoom tool adjusts the magnification of the current view of a model. With the Zoom tool, you can change the zoom magnification of a model in the following ways: ■ Click If you click the Zoom tool on a wheel, the current view is zoomed in by a factor of 25 percent. If you are using the Full Navigation wheel, Incremental Zoom-in on page 8992 must be enabled on the SteeringWheels panel of the Viewport Configuration dialog. ■ Shift + click If you hold down the Shift key before you click the Zoom tool on a wheel, the current view is zoomed out by a factor of 25 percent. ■ Ctrl+click If you hold down the Ctrl key before you click the Zoom tool on a wheel, the current view is zoomed in by a factor of 25 percent. ■ Click and drag If you click the Zoom tool and hold down the button on your pointing device, you can adjust the magnification of the model by dragging up and down. ■ Ctrl+click and drag When using the Full Navigation wheel, you can control the target point used by the Zoom tool. By holding down Ctrl, the Zoom tool uses the center point defined by the Center tool. NOTE When you invoke the Zoom tool from the Full Navigation Wheel, Ctrl+click causes zooming to occur about the current pivot point rather than the current cursor position. Click and Shift+click perform incremental zooming only if Incremental Zoom-in on page 8992 is enabled on the SteeringWheels panel of the Viewport Configuration dialog. 94 | Chapter 3 Viewing and Navigating 3D Space Zoom Constraints When changing the magnification of a model with the Zoom tool, you cannot zoom in any further than the focus point or out past the extents of the model. The direction you can zoom in and out is controlled by the center point set by the Center tool. NOTE Unlike the Zoom tool on the View Object wheels, the Zoom tool on the Full Navigation wheels is not constrained. Procedures To zoom the view with a single click: To use this function with the Full Navigation wheel, you must enable the Incremental Zoom-in option on page 8992. 1 Display a wheel that has the Zoom tool. 2 Click the Zoom wedge. The magnification of the model is increased and you are zoomed in closer to the model. If you hold down the Shift key while clicking the Zoom wedge, the model is zoomed out or you can hold down the Ctrl key to zoom in. 3 Click Close to exit the wheel. To zoom a view in and out by dragging: 1 Display a wheel that has the Zoom tool. 2 Click the Zoom wedge. Hold down the button on your pointing device and drag vertically to zoom in and out. 3 Release the button on your pointing device to return to the wheel. 4 To exit the wheel, right-click. Navigation Tools | 95 Using Walkthrough Navigation Walkthrough navigation lets you move through a viewport by pressing a set of shortcut keys, including the arrow keys, much as you can navigate a 3D world in many video games. When you enter the walkthrough navigation mode, the cursor changes to a hollow circle that shows a directional arrow while you are pressing one of the directional keys (forward, back, left, or right). This feature is available for perspective and camera viewports. It is not available for orthographic views or for spotlight viewports. Animating a Walkthrough When you use walkthrough navigation in a Camera viewport, you can animate the camera walkthrough using either Auto Key on page 8679 or Set Key on page 3406. In either case, to get an animated camera you have to change the frame number manually (the easiest way is to use the Time Slider on page 8656), and in the case of Set Key, you have to change the frame number and click Set Keys. TIP Select the camera before you animate it. If the camera isn't selected, its keys won't appear in the Track Bar on page 8659. Procedures To begin using walkthrough navigation, do one of the following: 1 Press the Up Arrow key. 2 Click the Walk Through button on page 8729 to turn it on. This button is found on the Pan/Truck And Walkthrough flyout on page 8728. To stop using walkthrough navigation, do one of the following: 1 Right-click. 2 Activate a different viewport. 3 Change the active viewport to a different type. 4 Turn on a different viewport navigation tool (such as Zoom or Pan). 5 Turn on Select Object or one of the transform tools. 96 | Chapter 3 Viewing and Navigating 3D Space NOTE You do not exit walkthrough mode when you select an object or change the viewport shading type (between shaded and wireframe, for example). Interface The Walk Through button is the only graphical element of the interface to walkthrough navigation. The other features are provided by mouse actions or by keyboard shortcuts. The following table shows the keyboard actions: Command Shortcut Accelerate Toggle Q Back S, Down Arrow Decelerate Toggle Z Decrease Rotation Sensitivity Decrease Step Size [ Down C, Shift+Down Arrow Forward W, Up Arrow Increase Rotation Sensitivity Increase Step Size ] Invert Vertical Rotation Toggle Left A, Left Arrow Level Shift+Spacebar Lock Horizontal Rotation Lock Vertical Rotation Spacebar Reset Step Size Alt+[ Right D, Right Arrow Up E, Shift+Up Arrow Using Walkthrough Navigation | 97 If nothing appears in the Shortcut column, no default key is assigned to this command. You can set custom keystrokes using the Keyboard panel on page 8837 of the Customize User Interface dialog. Forward, Backward, and Sideways Movement For movement, you can use either the arrow keys, or letters at the left of the keyboard pad. TIP When you are in a Perspective viewport, you can use Undo View Change and Redo View Change (Shift+Z, Shift+Y) to undo or redo your navigation. However, when you are in a Camera viewport, walkthrough animation transforms the camera object, so you must use Edit ➤ Undo and Edit ➤ Redo (Ctrl+Z and Ctrl+Y). Holding down any of these keys causes the motion to be continuous. Forward W or the Up Arrow. Moves the camera or the viewpoint forward. NOTE If you are not already in walkthrough navigation mode, pressing Up Arrow enters it. Back S or Down Arrow. Moves the camera or the viewpoint backward. When you are in a camera viewport, Forward and Back are equivalent to dollying in or out. Left A or Left Arrow. Moves the camera or the viewpoint to the left. Right D or Right Arrow. Moves the camera or the viewpoint to the right. When you are in a camera viewport, Left and Right are equivalent to trucking left or right. Up E or Shift+Up Arrow. Moves the camera or the viewpoint up. Down C or Shift+Down Arrow. Moves the camera or the viewpoint down. Acceleration and Deceleration Accelerate Toggle and Decelerate Toggle Pressing Accelerate (Q) causes motion to be quicker. Pressing Decelerate (Z) causes movement to be slower. These controls are toggles: pressing the key a second time restores the default motion rate (and pressing the alternate key turns off the first). They are especially useful when you are navigating by holding down keys. The acceleration and deceleration toggles are independent of the step size. 98 | Chapter 3 Viewing and Navigating 3D Space Adjusting Step Size Increase Step Size and Decrease Step Size Pressing Increase Step Size (]) increases the motion increments when you move the camera or viewpoint. Pressing Decrease Step Size ([) reduces them. You can press either of these shortcuts repeatedly, to increase the effect. Changing the step size is apparent when you navigate either by single clicks, or by holding down keys. Step size changes are useful for adjusting movement to the scale of the scene. They are saved with the MAX file. Reset Step Size Pressing Reset Step Size (Alt+[) restores the step size to its default value. The step size is independent of acceleration or deceleration. Rotation (Tilting) Tilt View Click+drag to tilt the camera or viewpoint. When you are in a camera viewport, Tilt View is equivalent to panning the camera. Increase Rotation Sensitivity and Decrease Rotation Sensitivity Pressing Increase Rotation Sensitivity (no default key) increases the motion increments when you use Tilt View. Pressing Decrease Rotation Sensitivity (no default key) decreases them. You can press either of these shortcuts repeatedly, to increase the effect. They are useful for adjusting movement to the scale of the scene. They are saved with the MAX file. Lock Horizontal Rotation Pressing Lock Horizontal Rotation (no default key) locks the horizontal axis, so the camera or viewpoint tilts only vertically. Lock Vertical Rotation Pressing Lock Vertical Rotation (Spacebar) locks the vertical axis, so the camera or viewpoint tilts only horizontally. Invert Vertical Rotation Toggle Pressing Invert Vertical Rotation (no default key) inverts the tilt direction when you drag the mouse. When this toggle is off, dragging up causes scene objects to descend in the view, and dragging down causes them to rise (this is like tilting a physical camera). When this toggle is on, objects in the view move in the same direction you are dragging the mouse. Level Pressing Level (Shift+Spacebar) removes any tilt or roll the camera or viewpoint might have, making the view both level and vertical. Using Walkthrough Navigation | 99 Navigating Camera and Light Views The Camera and Light view navigation buttons are the same with a few exceptions. The buttons are visible when a viewport with a Camera or Light view is active. The Camera and Light view navigation buttons do more than adjust your view. They transform and change the parameters of the associated camera or light object. The camera navigation buttons Light views treat the light (spotlight or directional light) as if it were a camera. The light falloff is treated the same as the camera field of view. Keep in mind the following: ■ Using the Camera and Light viewport navigation buttons is the same as moving or rotating the camera or Light, or changing their base parameters. ■ Changes made with Camera or Light view navigation buttons can be animated the same as other object changes. 100 | Chapter 3 Viewing and Navigating 3D Space Zooming a Camera or Light View Zooming a camera You zoom a camera view by clicking FOV on page 8735 and then dragging in the Camera viewport. The field of view defines the width of your view as an angle with its apex at eye level and the ends at the sides of the view. The effect of changing FOV is exactly like changing the lens on a camera. As the FOV gets larger you see more of your scene and the perspective becomes distorted, similar to using a wide-angle lens. As the FOV gets smaller you see less of your scene and the perspective flattens, similar to using a telephoto lens. See Cameras on page 5905. Click Light Hotspot on page 8758 for a light viewport to achieve the same effect as zooming. The hotspot is the inner of the two circles or rectangles visible in a light viewport. Objects inside the hotspot are illuminated with the full intensity of the light. Objects between the hotspot and falloff are illuminated with Navigating Camera and Light Views | 101 decreasing intensity as objects approach the falloff boundary. See Using Lights on page 5676. Moving a Camera or Light View You move a camera or light view by clicking one of the following buttons and dragging in the camera or light viewport. ■ (Dolly on page 8744) moves the camera or light along its line of sight. ■ (Truck on page 8749) moves the camera or light and its target parallel to the view plane. ■ (Pan on page 8750) moves the target in a circle around the camera or light. This button is a flyout that shares the same location with Orbit. ■ (Orbit on page 8750) moves the camera or light in a circle around the target. The effect is similar to Orbit for non-camera viewports. 102 | Chapter 3 Viewing and Navigating 3D Space Rolling a Camera or Light View Rolling a camera Click Roll on page 8747, and drag in a camera or a light viewport to rotate the camera or light about its line of sight. The line of sight is defined as the line drawn from the camera or light to its target. The line of sight is also the same as the camera’s or the light's local Z axis. Navigating Camera and Light Views | 103 Changing Camera Perspective Changing perspective Click Perspective on page 8746, and drag in a camera viewport to change the Field of View (FOV) and dolly the camera simultaneously. The effect is to change the amount of perspective flare while maintaining the composition of the view. Adaptive Degradation Status bar ➤ (Adaptive Degradation) Views menu ➤ Adaptive Degradation Keyboard ➤ O (the letter O) Adaptive degradation can improve viewport performance when you transform geometry, change the view, or play back an animation. It does so by decreasing 104 | Chapter 3 Viewing and Navigating 3D Space the visual fidelity of certain objects temporarily; for example, by drawing larger objects or those closer to the camera as bounding boxes instead of wireframes. Without adaptive degradation, the geometry is displayed as usual, even if that slows down viewport display and animation playback. Animation playback might drop frames if the graphics card cannot display the animation in real time. Turn on adaptive degradation if you have large models you need to navigate around and if you are finding performance sluggish. The Adaptive Degradation button on the status bar has three states: ■ ■ ■ Off: No degradation occurs. On: Degradation can occur under the specified conditions. This is the default setting. Active: Degradation is being applied currently. You can change the display options and set other adaptive degradation parameters, on the Viewport Configuration dialog (Customize menu ➤ Viewport Configuration ➤ Adaptive Degradation panel on page 8972). Also, you can toggle adaptive degradation for individual objects with the Object Properties ➤ Never Degrade setting on page 228. Procedures To toggle adaptive degradation, do one of the following: ■ Choose Views menu ➤ Adaptive Degradation. ■ Press O (the letter O). To change the level of adaptive degradation in the viewports: 1 Click or right-click the General viewport label (“[ + ]”). On the General viewport label menu on page 8707, choose Configure. 3ds Max opens the Viewport Configuration dialog. Adaptive Degradation | 105 TIP You can also open this dialog by choosing Main menu ➤ Customize ➤ Viewport Configuration. 2 On the Viewport Configuration dialog, open the Adaptive Degradation panel and adjust the settings. View-Handling Commands Most viewport-handling commands are found on the Views menu on page 8596 and on the viewport label menus on page 8707. See also: ■ Viewing and Navigating 3D Space on page 47 ■ Quad Menu on page 8640 Undo View Change / Redo View Change Views menu ➤ Undo View Change or Redo View Change Keyboard ➤ Shift+Z (Undo) or Shift+Y (Redo) Undo View Change cancels the last change made to the current viewport. Redo View Change cancels the last Undo in the current viewport. These commands act like Undo and Redo on the main toolbar and Edit menu, but operate on a different list of events. They affect changes made to the viewport, rather than changes made to objects in the viewport. Use Undo View Change and Redo View Change when you have inadvertently made a view unusable by zooming in too close, or rotating the wrong way. You can keep stepping back until a useful view appears. The keyboard shortcuts are handy for multiple commands. You can also access Undo View Change by right-clicking the Point-Of-View viewport label and choosing Undo View Change from the POV viewport label menu on page 8712. This menu choice shows the last change you made in that viewport: for example, “Undo View Zoom.” Each viewport has its own independent undo/redo stack. 106 | Chapter 3 Viewing and Navigating 3D Space Camera and Spotlight viewports use object-based Undo and Redo, because the viewport change is actually a change to the camera or spotlight object. In these viewports, use Edit ➤ Undo (Ctrl+Z) or Edit ➤ Redo (Ctrl+Y). Interface Undo View Change Cancels viewport changes. The name of the change you're undoing is displayed in the View menu beside the command. Undo is useful when you are working with a background image in the viewport. You can zoom into the geometry to adjust it, then use Undo Viewport Zoom to restore the original alignment of the geometry with the background. Redo View Change Cancels the previous Undo View Change. The name of the change you're redoing appears in the View menu beside the command. Save Active View Views menu ➤ Save Active View (the name of the active viewport is part of the command) Save Active View stores the active view to an internal buffer. If you have framed a shot in any view other than a camera, use Save Active View to preserve the viewport’s appearance. The saved active view is saved with the scene file. Once saved, you can retrieve it using Restore Active View on page 108. The viewport that will be restored is displayed in the menu item (for example, "Save Active Perspective View"). You can save and restore up to eight different views (Top, Bottom, Left, Right, Front, Back, Orthographic, Perspective). Viewport changes that are saved include viewport shading type and point of view (POV): perspective or orthographic, zoom and rotations, and field-of-view (FOV). Show Safe Frames and Viewport Clipping settings are not saved. If these settings are important to the view, make a note of what they are so you can reset them after restoring the view. Procedures To save an active view: 1 Activate the viewport with the view you want to save. 2 Choose Views menu ➤ Save Active View. The view is now saved and can be recalled using Restore Active View. Save Active View | 107 Restore Active View Views menu ➤ Restore Active View (the name of the active viewport is part of the command.) Restore Active View displays the view previously stored with Save Active View on page 107. The viewport to be restored is displayed in the menu item (for example, "Restore Active Perspective View"). The active view is restored if the same viewport and layout are active. If an active view won’t restore with this command, check the following: ■ Be sure the viewport is active. ■ Make sure the layout is the same as before. Use Viewport Configuration (right-click any viewport label and choose Configure) and choose Layout. ■ If the layout and active viewport are the same, be sure Viewport Clipping on the Point-Of-View (POV) viewport label menu on page 8712is set the same as it was when the viewport was saved. Procedures To restore a saved view: 1 Activate the viewport where you saved the view. 2 Choose Views menu ➤ Restore Active View. This option is available only in a viewport with a saved view. 3 The viewport returns to the saved view. If you're not sure whether a viewport has a saved view, check the Views menu. Restore Active View is unavailable unless a view is saved in the active viewport. Viewport Background Dialog Views menu ➤ Viewport Background ➤ Viewport Background ➤ Viewport Background dialog 108 | Chapter 3 Viewing and Navigating 3D Space Click or right-click the Shading viewport label. ➤ Shading viewport label menu on page 8719 ➤ Viewport Background ➤ Viewport Background ➤ Viewport Background dialog Keyboard ➤ Alt+B The Viewport Background dialog controls display of an image or animation as the background for one or all viewports. You can use this for modeling, for example, by placing front, top or side view sketches in the corresponding viewports. Or use Viewport background to match 3D elements with digitized camera footage, or for rotoscoping on page 9284. You select the image or animation to display in the active viewport, set the frame synchronization between the animated image file and the current scene, and turn the assigned image on and off. These changes do not affect the rendered scene. To place an image in the background of the rendered scene, use the Environment And Effects dialog ➤ Environment panel on page 7620, accessed from the Rendering menu. NOTE When safe frames are displayed in a viewport, and the Aspect Ratio options are set to either Match Viewport or Match Rendering Output, the assigned viewport background image is confined to the Live area of the safe frames and will correctly match the rendered background bitmap. TIP If you are using a viewport driver with hardware acceleration (OpenGL or Direct3D), the viewport background might not appear. If this happens, choose Customize ➤ Preferences. In the Viewports preferences on page 8896, click Configure Driver. Then in the Configure OpenGL dialog on page 8906 or the Configure Direct3D dialog on page 8912, go to the Background Texture Size group and turn on Match Bitmap Size As Closely As Possible (do not change the numeric setting). Click OK in both dialogs to accept your change. See also: ■ Select Background Image Dialog on page 117 ■ Update Background Image on page 122 ■ Reset Background Transform on page 123 Viewport Background Dialog | 109 Procedures To assign an image to one or all viewports: 1 Activate the viewport that is to display the background image. 2 Choose Views menu ➤ Viewport Background ➤ Viewport Background or press Alt+B. This opens the Viewport Background dialog. 3 In the Background Source group, click the Files button. This opens the Select Background Image dialog. 4 Use the dialog to open the image or animation to use. 5 To display the image in all viewports, choose All Views in the Apply Source And Display To group. 6 Click OK. The image is displayed in a single viewport or all viewports. To update the image or map in the viewport: Because of the time it takes to render the image or map in the viewport, the map is not automatically updated when you alter the bitmap or assign a new bitmap. ■ Choose Views menu ➤ Viewport Background ➤ Update Background Image. The revised image or map is displayed in the viewport. To display the environment map in a viewport: 1 In the Environment dialog, assign an environment map. (See the procedure “To choose an environment map.” on page 7621) 2 In the Environment dialog ➤ Background group, be sure Use Map is turned on (the default). 3 Activate the viewport where you want the map displayed. 110 | Chapter 3 Viewing and Navigating 3D Space 4 Choose Views menu ➤ Viewport Background ➤ Viewport Background. 5 In the Viewport Background dialog ➤ Background Source group, turn on Use Environment Background. 6 Click OK. The map is displayed in the viewport. To display an animated background: 1 Assign an animation file (AVI, MOV, or IFL file) as the viewport background. 2 Turn on Animate Background. 3 Choose Customize ➤ Preferences. On the Viewports panel, turn on Update Background While Playing. Now the background plays when you click Play, or when you drag the time slider. TIP If you follow these steps and the background still doesn't appear to animate, open the Time Configuration dialog on page 8696 and in the Playback group, turn off Real Time. To use the environment map with animation controls: This procedure is useful if you’ve assigned an animated environment map and want access to the animation controls on the Viewport Background dialog. 1 In the Viewport Background dialog ➤ Background Source group, turn off Use Environment Background. 2 In the same group, click File. 3 Choose the same map you’re using as the environment map. 4 Set parameters in the Animation Synchronization group. 5 Click OK. The environment map appears in the viewport. The image is renderable. To match the viewport background with the rendered background: 1 Activate the viewport to render. Viewport Background Dialog | 111 2 Click or right-click the General viewport label (“[ + ]”). On the General viewport label menu on page 8707. choose Show Safe Frame. This turns on Safe Frames on page 8969 in the viewport. NOTE You can also use Views menu ➤ Configure ➤ Safe Frame tab. In the Application group, turn on Show Safe Frames In Active View. 3 In the Material Editor, create a material that contains the bitmap for your rendered background. 4 At the bitmap level of the Material Editor, on the Coordinates rollout, choose Environ. The Mapping control is automatically set to Screen. This is the only mapping type that works for this purpose. 5 On the main menu, choose Rendering ➤ Environment. 6 Drag the map from the Material Editor ➤ Maps rollout to the Environment Map button on the Environment dialog. Click OK on the Instance (Copy) Map dialog. 7 In the Viewport Background dialog ➤ Background Source group, click Files to assign the same bitmap. 8 In the Aspect Ratio group, turn on either Match Viewport or Match Rendering Output. Click OK. 9 Render the viewport. The background displayed in the rendered scene should exactly match the background displayed in the Live area of the safe frames. NOTE When you use the Match Bitmap option, the bitmap reverts to its original aspect ratio and does not match the rendered scene, unless you're rendering to the same aspect ratio. To remove a background image: 1 Activate the viewport in which the background image is visible. 2 On the Views menu, choose Viewport Background ➤ Viewport Background. Notice that the name and path of the background file is displayed in the Current field in the Background Source group 112 | Chapter 3 Viewing and Navigating 3D Space 3 In the Background Source group, click Devices. 4 On the Select Image Input Device dialog, choose No I/O Handlers from the drop-down list, then click OK. 5 On the Bitmap Manager Error dialog, click OK. The current field no longer displays the background file name. Instead No I/O Handler is listed in the Current field. 6 Click OK to close the Viewport Background dialog. Next time you open up the Viewport Background dialog, no file name will be displayed in the Current field. TIP This technique will work only on systems that don't have any other Image Input Devices installed. Viewport Background Dialog | 113 Interface Background Source group Options let you select the background image, either from a bitmap image file on page 9108, a video file, or from a device such as a video recorder. Files Displays the Select Background Image dialog on page 117, which lets you select a file or sequence of files for your background. 114 | Chapter 3 Viewing and Navigating 3D Space Devices Displays the Select Image Input Device dialog. This lets you use a background from a digital device. (No device is supported by the default 3ds Max installation.) Use Environment Background Lets you display in the viewports the map you've assigned as your environment background. If no environment map has been assigned in the Environment dialog, or Use Map in that dialog is off, then the Use Environment Background check box is not available. Animation Synchronization group Controls how sequences of images (for example, from IFL on page 8420, AVI on page 8412, or MOV on page 8428 files) are synchronized to the viewport for rotoscoping on page 9284. Use Frame The first field sets the first frame of the incoming sequence that you want to use, and the second field sets the last one. Step Sets the interval between the frames you want to use. For example, if this spinner is set to 7, 3ds Max uses every seventh frame. Start At Specifies the frame number at which you want the first input frame to appear. What happens in the viewport before the start frame depends on the option you choose for "Start Processing," below. Sync Start To Frame Determines which frame from your incoming sequence is displayed at the Start At frame. For example, you could have a 30-frame IFL sequence that starts in your scene at frame 10, but you could use the 5th frame from the IFL on frame 10 by setting Sync Start to 5. Start Processing group Determines what happens in the viewport background before the start frame. Blank Before Start Makes the viewport background blank before the start frame. Hold Before Start Specifies that the viewport background will contain the start frame. End Processing group Determines what happens in the viewport background after the last input frame. Blank After End Makes the viewport background blank after the last input frame. Viewport Background Dialog | 115 Hold After End Specifies that the viewport background will contain the last input frame until the last frame in the animation. Loop After End Specifies that the viewport background will loop from the end frame back to the start frame, ad infinitum. Aspect Ratio group Controls the proportions of the viewport background by matching it to the bitmap, rendering output, or to the viewport itself. Match Viewport Changes the aspect ratio on page 9096 of the image to match the aspect ratio of the viewport. Match Bitmap Locks the aspect ratio of the image to the native aspect ratio of the bitmap. Match Rendering Output Changes the aspect ratio of the image to match the aspect ratio of the currently chosen rendering output device. NOTE When the Match Bitmap or Match Rendering Output option is chosen, 3ds Max centers the image and clears the edges of the viewport to the background color. Display Background Turns on display of the background image or animation in the viewport. Lock Zoom/Pan Locks the background to the geometry during zoom and pan operations in orthographic or user viewports. When you Zoom or Pan the viewport, the background zooms and pans along with it. When Lock Zoom/Pan is turned off, the background stays where it is, and the geometry moves independently of it. Use Match Bitmap or Match Rendering Output to enable Lock Zoom/Pan. This control is disabled if you choose Match Viewport. Keyboard shortcut: Ctrl+Alt+B WARNING If you zoom in too far, you can exceed the limit of virtual memory, and crash 3ds Max. When you perform a zoom that requires more than 16 megabytes of virtual memory, an alert asks if you want to display the background during the zoom. Choose No to perform the zoom and turn off the background. Choose Yes to zoom with the background image. Your machine might run out of memory as a result. 116 | Chapter 3 Viewing and Navigating 3D Space Animate Background Turns on animation of the background. Shows the appropriate frame of the background video in the scene. Apply Source And Display To group All Views Assigns the background image to all viewports. Active Only Assigns the background image to only the active viewport. Viewport The name of the currently active viewport appears in a list to the left of the OK and Cancel buttons. This reminds you which viewport you're working with and lets you change the active viewport by selecting its name from the list. NOTE When you use different images for different viewports, the settings for each viewport are stored separately. Each time you display the Viewport Background dialog, the settings of the currently active viewport are displayed. If you switch the viewport using the list, the settings remain the same. This is useful for copying settings from one viewport to another. Select Background Image Dialog Views menu ➤ Viewport Background ➤ Viewport Background ➤ Viewport Background dialog ➤ Background Source group ➤ Files ➤ Select Background Image dialog The Select Background Image dialog allows you to choose a file or sequence of files for a viewport background. Select Background Image Dialog | 117 Cityscape model with a sky image used as the viewport background You can also convert a set of sequentially numbered files to an Image File List (IFL) on page 8420. This is the same process used by the IFL Manager Utility on page 8424. Procedures To select a background image for a viewport: 1 Activate the viewport where you want the image. 2 Choose Views menu ➤ Viewport Background ➤ Viewport Background. 3 Under Background Source in the dialog that displays, click Files. 4 In the Look In field, navigate to the directory containing the file you want to use for the background. NOTE The Select Background Image File dialog uses the last location where a bitmap was chosen, rather than the default bitmap path defined on the Configure User Paths dialog on page 8872. 5 Highlight the file name in the file list window. 6 Click Open to select the image and close the dialog. 118 | Chapter 3 Viewing and Navigating 3D Space 7 Click OK to close the Viewport Background dialog and display the background image. To select a set of still images as a viewport background: 1 Activate the viewport where you want the image. 2 Choose Views menu ➤ Viewport Background ➤ Viewport Background. 3 Under Background Source, click Files. 4 In the Look In field, navigate to the directory containing the sequence of files. The files must be sequentially numbered (for example, image01.bmp, image02.bmp, image03.bmp). TIP If necessary, change Files Of Type to match the file extension of the sequence, or choose All Formats. 5 Turn on Sequence, and choose the name of the first sequential file (for example, image01.bmp). TIP Click the Setup button to display the Image File List Control dialog on page 8423. 6 In the Image File List Control dialog, use the Browse button to set the Target Path to a directory on your hard disk. Do not set this path to a CD-ROM drive, because you cannot save the file there. 7 Choose the options you want, and then click OK. The Image File List (IFL) file is saved to the target directory. Select Background Image Dialog | 119 Interface History Displays a list of the directories most recently searched. Look In Opens a navigation window to move to other directories or drives. Go to Last Folder Visited Click to return to the folder you previously browsed to. Up One Level Move up a level in the directory structure. Create New Folder Lets you create a new folder while in this dialog. View Menu Lets you choose the level of detail to display in the file list. 120 | Chapter 3 Viewing and Navigating 3D Space List Window When Details is on, the contents of the directory are displayed with Name, Size, Type, Date Modified, and Attributes. You can sort the files by clicking the label of each parameter. File Name Displays the name of the file selected in the list. Files of Type Displays all the file types that can be displayed. This serves as a filter for the list. Open Selects the highlighted file and closes the dialog. Cancel Cancels the selection and closes the dialog. Devices Lets you select a background image from a digital device. (No device is supported by the default 3ds Max installation.) Setup Displays the Image File List Control dialog on page 8423 to create an IFL file. Available only when Sequence is on and there are sequentially numbered files in the displayed directory. Info Displays expanded information about the file, such as frame rate, compression quality, file size, and resolution. The information here is dependent on the type of information that is saved with the file type. View Displays the file at its actual resolution. If the file is a movie, the Media Player is opened to play the file. Gamma group Selects the type of gamma to be used for the selected file. Available only when Enable Gamma Selection is turned on in the Gamma panel on page 8917. Use Image’s Own Gamma Uses the gamma of the incoming bitmap. Use System Default Gamma Ignores the image’s own gamma and uses the system default gamma instead, as set in the Gamma panel on page 8917. Override Defines a new gamma for the bitmap that is neither the image’s own, nor the system default. _____ Sequence Creates an "Image File List" to your specifications. Each selected image is checked to see if a valid IFL sequence can be created. If the selected image doesn’t yield a list, this option is still available, but doesn’t do anything. Preview Displays the image as a thumbnail in the Image Window. Image Window Displays a thumbnail of the selected file if Preview is on. Select Background Image Dialog | 121 _____ Statistics Displays the resolution, color depth, file type and number of frames of the selected file. Location Displays the full path for the file. With this information at the bottom of the dialog, you always know exactly where you are. Update Background Image Views menu ➤ Viewport Background ➤ Update Background Image (available only when a viewport background is displayed) This command updates the background image displayed in the active viewport. If the active viewport is not displaying a background image, this command is unavailable. Use this command to update the background for changes that are not updated automatically, such as the following: ■ Reassigning the map, or changing any parameters affecting the map in the Materials Editor, the Environment dialog, or the Viewport Background dialog. ■ Changing the rendering resolution and aspect ratio. The following changes update the viewport background image automatically: ■ Changing the camera view. ■ Undo (for views). ■ Undo (for objects). ■ Assigning a different view type. ■ Toggling Safe Frames display on or off. ■ Changing the rendering parameters. ■ Moving the time slider when the viewport contains an animated background image. NOTE Viewports can use the current Environment Map (set on the Environment panel on page 7621 of the Environment and Effects dialog) as the background image. 122 | Chapter 3 Viewing and Navigating 3D Space Procedures To update the background image displayed in a viewport: 1 Activate a viewport that contains a background image. 2 Choose Views menu ➤ Update Background Image. Reset Background Transform Views menu ➤ Reset Background Transform (available only when a viewport background image is displayed and Lock Zoom/Pan is turned on) Reset Background Transform rescales and recenters the current background to fit an orthographic or user viewport. Use this command when you want to reset the background to the new position of your geometry. See Procedure for detailed requirements. Procedures To reset the background to fit the viewport: 1 Activate an orthographic or user viewport that has a background image. 2 Press Alt+B. 3 Turn on either Match Bitmap or Match Rendering Output, and then turn on Lock Zoom/Pan. 4 Click OK. 5 Choose Views menu ➤ Reset Background Transform. The background image readjusts in the viewport. Show Transform Gizmo Views menu ➤ Show Transform Gizmo Keyboard ➤ X Show Transform Gizmo toggles the display of the Transform gizmo axis tripod on page 841 for all viewports when objects are selected and a transform is active. Additional controls for the Transform gizmo are found on the Gizmo Preferences settings on page 8941. Reset Background Transform | 123 When the Transform gizmo is turned off, Show Transform Gizmo controls the display of the axis tripod on selected objects. The state of Transform gizmo is saved in 3dsmax.ini, so it's maintained between scenes and sessions. The related entries in the 3dsmax.ini file are: ■ INI: Transformgizmo=1 (for Transform Gizmo visibility, controlled by Preferences) ■ INI: ShowAxisIcon=1 (for Axis Icon visibility, controlled in Views menu) The visibility of the Axis tripod overrides the visibility of the Transform Gizmo. If you turn off the Transform Gizmo in Preferences, the Axis tripod remains on the selected object. If you then turn off the Show Transform Gizmo in the Views menu, it actually turns off the Axis tripod. When the Axis tripod is disabled, the Transform Gizmo is also hidden. TIP The converse is not true. If the transform gizmo is turned off, turning on the axis tripod visibility does not display the transform gizmo. Procedures To scale the transform gizmo, do one of the following: 1 Press – (hyphen) to shrink the Transform gizmo. 2 Press = (equal sign) to enlarge the Transform gizmo. Show Ghosting Views menu ➤ Show Ghosting Ghosting is a method of displaying wireframe "ghost copies" of an animated object at a number of frames before or after the current frame. Use it to analyze and adjust your animation. Ghosts that overlap indicate slower motion; ghosts that are spread further apart show faster motion. When this command is active, ghosting is displayed for selected objects in the scene. Only currently selected objects display the ghosting. 124 | Chapter 3 Viewing and Navigating 3D Space Ghosting helps to visualize animation. To change Ghosting parameters choose Customize ➤ Preferences. On the Viewport panel of the Preferences dialog you can determine the number of ghosting frames, whether to ghost before or after the current frame, or both, and you can also show frame numbers with the ghosts. Procedures To show wireframe ghost copies of an animated object: ■ Choose Views menu ➤ Show Ghosting. Show Key Times Select an object with animation. ➤ Views menu ➤ Show Key Times Key Times shows the frame numbers along a displayed animation trajectory on page 3440. Key times correspond to the settings in Time Configuration on page 8696 for Frames or SMPTE on page 9311. By default, key times are shown as frame numbers. Show Key Times | 125 Procedures To display trajectory time values in the viewport: 1 Select an object with animation. 2 On the Trajectory. Display panel ➤ Display Properties rollout, turn on TIP If the rollout controls are unavailable, right-click the object in the active viewport, choose Object Properties, and in the Display Properties group, click By Layer to change to By Object. This will make the Trajectory option become available. 3 Choose Views menu ➤ Show Key Times. The time values are displayed as white numbers along the trajectory. They remain displayed in red when the animated object is deselected. Keyframes with frame number shown on a trajectory. 126 | Chapter 3 Viewing and Navigating 3D Space Shade Selected Select an object to be shaded. ➤ Views menu ➤ Shade Selected Shade Selected shades only the selected objects in the scene when the viewport is set to Wireframe or Other. When Smooth + Highlights is on, all objects are shaded whether they are selected or not. Shade Selected lets you work with a wireframe scene and shade only the selected objects when you want to visualize them more clearly. All other objects in the scene will appear in wireframe. Selected objects shaded in a wireframe viewport. Procedures To shade only selected objects in a scene: 1 Choose Views menu ➤ Shade Selected. 2 Click or right-click the Shading viewport label and choose Wireframe from the Shading viewport label menu on page 8719. 3 Select the object. Shade Selected | 127 Only the selected object is shaded. Show Dependencies Views menu ➤ Show Dependencies While you are using the Modify panel, this command toggles viewport highlighting of objects dependent on the currently selected object. When Show Dependencies is on and the Modify panel is active, any object that is dependent upon the currently selected object in any way appears magenta. This includes instances on page 9195, references on page 9282, and shared modifiers on page 9226. Default=off. You can also see similar dependencies in Schematic View on page 8503. Procedures To show dependencies between objects: 1 Select an object with an instanced modifier on page 1000. 128 | Chapter 3 Viewing and Navigating 3D Space 2 On the stack. Modify panel, choose the instanced modifier in the modifier 3 Choose Views menu ➤ Show Dependencies Other objects with instances of the same modifier appear in a different color. Example: To use Show Dependencies when animating with Linked XForm: 1 Select the sub-object geometry you want to animate, and apply a Linked XForm modifier on page 1428. 2 On the Parameters rollout, click Pick Control Object. 3 Click an object to be the control object. Choose a dummy object if you want to keep the control hidden in final rendering. 4 The chosen object is now linked as parent to the sub-object selection and its name is listed on the Parameters rollout. 5 Choose Views menu ➤ Show Dependencies to make the link visible when the control object is selected. 6 Use any of the transforms to animate the control object. The selection is animated in parallel with the control object. Create Camera From View Activate a Perspective viewport. ➤ Views menu ➤ Create Camera From View Activate a Perspective viewport. ➤ Create menu ➤ Cameras ➤ Create Camera From View Activate a Perspective viewport. ➤ Keyboard ➤ Ctrl+C Create Camera From View creates a Target camera on page 5917 whose field of view matches an active Perspective viewport. At the same time, it changes the viewport to a Camera viewport on page 8742 for the new camera object, and makes the new camera the current selection. Create Camera From View | 129 Alternatively, if the scene already contains a camera and the camera is selected, then Create Camera From View does not create a new camera from the view. Instead, it simply matches the selected camera to the active, Perspective viewport. This functionality was adopted from the Match Camera to View command, which is now available only as an assignable main user interface shortcut (see Keyboard Shortcuts on page 9007). NOTE Create Camera From View is available only when a Perspective viewport is active. To create a camera from a view, assuming any existing cameras are unselected: 1 Activate a Perspective viewport. 2 If necessary, adjust the viewport using Pan, Zoom, and Orbit, or the ViewCube, until you have a view you like. 3 Leaving the viewport active, on the Views menu choose Create Camera From View or press Ctrl+C. 3ds Max creates a new camera, matching its view to that of the Perspective viewport, and then switches the Perspective viewport to a Camera viewport, showing the view from the new camera. 130 | Chapter 3 Viewing and Navigating 3D Space Add Default Lights to Scene Click or right-click the General viewport label (“[ + ]”). ➤ General viewport label menu on page 8707 ➤ Configure ➤ Viewport Configuration dialog ➤ Lighting And Shadows panel ➤ Illuminate Scene With group ➤ Choose Default Lighting and then choose 2 Lights (to activate the Add Default Lights To Scene menu item) ➤ Click OK. ➤ Create menu ➤ Lights ➤ Standard Lights ➤ Add Default Lights To Scene This command opens the Add Default Lights To Scene dialog, which provides options that let you convert the default scene lighting into actual light objects on page 5672. The default lighting for viewports consists of a key light, positioned in front and to the left of the scene, which behaves as an omni light on page 5769.. This command is unavailable unless you use the Viewport Configuration dialog on page 8963 to configure the active viewport to use two lights. When viewports use two lights, and you invoke this command, the lights are added to the scene as omni lights. You can add either the key light, the fill light, or both. Two default lights are placed opposite to each other. Add Default Lights to Scene | 131 A, the key light is in front of the object, on the upper left side, while B, the fill light is behind on the lower right side. You can add either the key light, the fill light, or both. The omni light objects have the names DefaultKeyLight and DefaultFillLight. If you have already added one or both default lights, a warning prompts you to rename or delete the previous default light object before you add another. Procedures To add the default lights as objects: 1 Click or right-click the General viewport label (“[ + ]”). 3ds Max opens the General viewport label menu on page 8707. 2 Choose Configure. 3 On the Viewport Configuration dialog ➤ Rendering Method tab, in the Rendering Options group, turn on Default Lighting and choose 2 Lights. Click OK to close the dialog. 4 Choose Create menu ➤ Lights ➤ Standard Lights ➤ Add Default Lights To Scene. 5 On the Add Default Lights To Scene dialog, toggle Add Default Key Light, Add Default Fill Light, or both. Click OK. 6 Activate the Top viewport, and on the status bar, click Extents). The lights are now visible in the viewport. 132 | Chapter 3 Viewing and Navigating 3D Space (Zoom Interface Add Default Key Light When on, adds the default key light to the scene. The key light is in front of the scene and to the left. The key light becomes an omni light on page 5769 with the name, DefaultKeyLight. Default=on. Add Default Fill Light When on, adds the default fill light to the scene. The fill light is behind the scene and to the right. The fill light becomes an omni light on page 5769 with the name, DefaultFillLight. Default=on. Distance Scaling Affects how far the lights are placed from the origin (0,0,0). The default value leaves the scene's lighting unchanged. Larger values move the lights farther away, dimming the scene, and smaller values move them closer, brightening the scene. Default=1.0. Range=0.0 to 1000.0. Redraw All Views Views menu ➤ Redraw All Views Keyboard ➤ ` (accent grave) Redraw All Views refreshes the display in all viewports. When you move, rotate, scale, or otherwise manipulate geometry, the viewports may display the scene with some irregularities, or with objects or parts of objects missing. Use Redraw All Views to redisplay your scene with all lines and shading restored. Redraw All Views | 133 Show Materials in Viewport As Views menu ➤ Show Materials in Viewport As ➤ Standard Display / Standard Display with Maps / Hardware Display / Hardware Display with Maps Compact Material Editor ➤ Material menu ➤ Show Materials in Viewport As ➤ Standard Display / Standard Display with Maps / Hardware Display / Hardware Display with Maps Slate Material Editor toolbar ➤ Show Map in Viewport on page 6155 flyout These commands turn on and off display of all maps in the viewports, using software or hardware rendering. Software rendering applies to all maps and materials, but tends to be less accurate. Hardware rendering is highly accurate, showing highlights very close to the way they render, but applies primarily to the Arch & Design material on page 6269, although it also supports the Standard material on page 6382. NOTE Hardware viewport rendering is not available on computers with older graphics systems. Also, hardware viewport rendering is supported only by the Direct3D display driver on page 8912. NOTE These commands do not apply to XRef materials on page 6605, including materials from XRef objects on page 7971 and XRef scenes on page 7999. See also: ■ Showing Maps in Viewports on page 6006 Interface Standard Display Uses the legacy software shader, which works on a per-face basis, and turns off viewport display of all maps at the material level. This applies only to materials used in the scene. Standard Display with Maps Uses the legacy software shader, which works on a per-face basis, and turns on viewport display of all maps. Hardware Display Uses the hardware viewport shader, which works on a per-pixel basis, and turns off viewport display of all maps at the material level. The hardware shader applies only to the Standard on page 6382 and Arch & Design on page 6269 materials; when it’s active, 3ds Max still uses the software shader to display all other materials. 134 | Chapter 3 Viewing and Navigating 3D Space Hardware Display with Maps Uses the hardware viewport shader, which works on a per-pixel basis, and turns on viewport display of all maps at the material level. This switch applies only to the Standard on page 6382 and Arch & Design on page 6269 materials; when it’s active, 3ds Max still uses the software shader to display all other materials. Also, it doesn’t affect viewport display of maps for materials other than those two. Update During Spinner Drag Views menu ➤ Update During Spinner Drag When Update During Spinner Drag is on, dragging a spinner (such as a Radius spinner for a sphere) updates the effects in real time in the viewports. Default=on. When Update During Spinner Drag is off, the effect is updated after the drag, when you release the mouse. Use this option when you're adjusting processor-intensive controls. Diagnose Video Hardware Help menu ➤ Diagnose Video Hardware This command runs a MAXScript script that displays information about your system’s graphic display configuration. This can be useful for telling you whether some interactive viewport features such as shadows on page 5692 are supported. Update During Spinner Drag | 135 Expert Mode Views menu ➤ Expert Mode Keyboard ➤ Ctrl+X When Expert mode is on, the title bar, toolbar, command panel, status bar, and all of the viewport navigation buttons are removed from the display, leaving only the menu bar, time slider, and viewports. Use Expert mode when you need to view your composition alone without the rest of the interface. With the ability to customize the user interface in 3ds Max, you can create your own versions of Expert mode by hiding whatever you want item-by-item. Expert mode is only a quick way to hide everything that can be hidden at once. You can assign keyboard shortcuts to hide and unhide the command panel, toolbars, and so on and then use these while in Expert mode. You can also use the quad menu to access tools quickly in Expert mode as well. Procedures To turn on Expert mode, do one of the following: ■ Choose Views menu ➤ Expert Mode. ■ Press Ctrl+X. To turn off Expert mode and return to full display, do one of the following: ■ Click the Cancel Expert Mode button to the right of the time slider. ■ Press Ctrl+X. ■ Choose Views menu ➤ Expert Mode. Controlling Object Display You use the Display panel, layers on page 8534, and Scene Explorer on page 8469 to control how objects are displayed in viewports, and to hide or freeze objects. This section covers usage of the Display panel controls. TIP You can also use the Isolate Selection command on page 176 to hide everything except your selection set. 136 | Chapter 3 Viewing and Navigating 3D Space See also: ■ Object Display Properties on page 225 Display Color Rollout Display panel ➤ Display Color rollout The Display Color rollout specifies whether 3ds Max displays objects using their wireframe colors (also known as object colors) or their diffuse material colors on page 9137, when the objects have their display properties on page 221 set to By Object. If the display properties of an object is set to By Layer, the layer color is used for viewport display. You can choose one method for wireframe display and a different one for shaded display. In each shading mode you can specify whether the material or the object color is used. By default, all new objects have their display properties set to By Object. You can change this default by turning on Default to By Layer for New Nodes on page 8891. When this switch is off (the default), all new objects created in 3ds Max display in the viewports using the settings on the Display Color rollout. A toggle for switching individual objects between By Object and By Layer is available in the Object Properties dialog ➤ Display Properties group on page 225. If the object color box displays black and white rectangles, this indicates that the object has its display properties set to By Layer. Interface Wireframe Controls the color of objects when the viewport is in wireframe display mode. ■ Object ColorDisplays the wireframes in object color. Display Color Rollout | 137 ■ Material ColorDisplays the wireframes using the material color. Shaded Controls the color of the object when the viewport is in any shaded display mode. ■ Object ColorDisplays the shaded objects using the object color. ■ Material ColorDisplays the shaded objects using the material color. Hide By Category Rollout Display panel ➤ Hide By Category rollout The Hide By Category rollout toggles the display of objects by category (objects, cameras, lights, and so on). By default, 3ds Max displays all objects in the scene. Objects hidden by category aren’t evaluated in the scene, so hiding objects by category improves performance. You can use any of the default display filters provided, or add new display filters for fast selection of objects to hide. 138 | Chapter 3 Viewing and Navigating 3D Space Interface Turn on the check boxes to hide objects of that category. You can use the All, None, and Invert buttons to quickly change the settings of the check boxes. The Display Filter box gives you finer control in creating categories to hide. Click the Add button to display a list of display filters. Hold down the Ctrl key and click the filter name to select whatever category you'd like to hide. Geometry Hides all geometry in the scene. Shapes Hides all shapes in the scene. Lights Hides all lights in the scene. Cameras Hides all cameras in the scene. Helpers Hides all helpers in the scene. Space Warps Hides all space warps in the scene. Particle Systems Hides all particle systems in the scene. Bone Objects Hides all bones in the scene. Bones Hides all bones in the scene. Hide By Category Rollout | 139 IK Chain Hides all IK chains in the scene. Point Hides all points in the scene. All Hides everything in the scene. None Unhides everything in the scene Invert Hides everything that is visible and unhides everything currently hidden. Add Adds a display filter category to the list. Remove Removes a display filter category. None Deselects all highlighted display filters in the list. Hide Rollout Display panel ➤ Hide rollout The Hide rollout provides controls that let you hide and unhide individual objects by selecting them, regardless of their category. You can also hide and unhide objects using the Display Floater on page 8805. See also: ■ Hide By Category Rollout on page 138 140 | Chapter 3 Viewing and Navigating 3D Space Interface Hide Selected Hides the selected objects. Hide Unselected Hides all visible objects except the selected ones. Use this to hide all objects except the one you're working on. Objects hidden by category aren’t affected. Hide by Name Displays a dialog you use to hide objects you choose from a list. SeeSelect From Scene on page 184, which describes nearly identical controls. Hide by Hit Hides any object you click in the viewport. If you hold the Ctrl key while selecting an object, that object and all of its children are hidden. To exit Hide by Hit mode, right-click, press Esc, or select a different function. This mode is automatically turned off if you hide all objects in the scene. Unhide All Unhides all hidden objects. The unhide buttons are available only when you have specifically hidden one or more objects. They won't unhide objects hidden by category. NOTE If you click Unhide All in a scene with hidden layers, a dialog will pop up prompting you to unhide all layers. You cannot unhide an object on a hidden layer. Unhide by Name Displays a dialog you use to unhide objects you choose from a list. See Select From Scene on page 184, which describes nearly identical controls. NOTE If you select an object on a hidden layer, a dialog will pop up prompting you to unhide the object's layer. You cannot unhide an object on a hidden layer. Hide Rollout | 141 Hide Frozen Objects Hides any frozen objects. Turn it off to display hidden frozen objects. Freeze Rollout Display panel ➤ Freeze rollout The Freeze rollout provides controls that let you freeze or unfreeze on page 9171 individual objects by selecting them, regardless of their category. Frozen objects remain on the screen, but you can't select, transform, or modify them. By default, frozen objects turn dark gray. Frozen lights and cameras, and their associated viewports, continue to work as they normally do. You can choose to have frozen objects retain their usual color or texture in viewports. Use the Show Frozen In Gray toggle in the Object Properties dialog on page 221. Interface Freeze Selected Freezes the selected object(s). Freeze Unselected Freezes all visible objects except the selected ones. Use this to quickly freeze all the objects except the one you're working on. Freeze by Name Displays a dialog that lets you choose objects to freeze from a list. See Select From Scene on page 184, which describes nearly identical controls. 142 | Chapter 3 Viewing and Navigating 3D Space Freeze by Hit Freezes any object you click in a viewport. If you press Ctrl while selecting an object, that object and all of its children are frozen. To exit Freeze by Hit mode, right-click, press Esc, or select a different function. This mode is automatically turned off if you freeze all objects in the scene. Unfreeze All Unfreezes all frozen objects. NOTE If you click Unfreeze All in a scene with frozen layers, a dialog opens prompting you to unfreeze all layers. You cannot unfreeze an object on a frozen layer. Unfreeze by Name Displays a dialog that lets you choose objects to unfreeze from a list. See Select From Scene on page 184, which describes nearly identical controls. NOTE If you unfreeze by name an object on a frozen layer, a dialog opens prompting you to unfreeze the object's layer. You cannot unfreeze an object on a frozen layer. Unfreeze by Hit Unfreezes any object you click in the viewport. If you press Ctrl while selecting an object, that object and all of its children are unfrozen. If you select an object on a frozen layer, a dialog will pop up prompting you to unfreeze the object's layer. You cannot unfreeze an object on a frozen layer. Display Properties Rollout Display panel ➤ Display Properties rollout The Display Properties rollout provides controls for altering the display of selected objects. See also: ■ Link Display Rollout on page 148 Procedures To display trajectories using the Display panel: 1 Select one or more animated objects. 2 Right-click the selection, and choose Properties. Display Properties Rollout | 143 3 In the Display properties group, click By Layer to change it to By Object, and then click OK. 4 Expand the Display Properties rollout in the Display panel. 5 Turn on Trajectory. By default, object trajectories appear with the following properties: ■ The trajectory curve is drawn in red. ■ Frame increments display as white dots on the curve. ■ Position keys display as red boxes surrounding the appropriate frame dot on the curve. The boxes are white when the object is selected. ■ If Views ➤ Show Key Times is turned on, the keyframe numbers are displayed along side the keys on the trajectory. Trajectories can also be displayed through Object Properties. Right-click any object and choose Properties, then in the Display properties group change By Layer to By Object. Turn on Trajectories when it becomes available in the Display Properties group. You can change the colors for these items on the Colors panel on page 8860 of the Customize User Interface dialog. You can also use object properties to display trajectories: right-click any object and choose Properties, then turn on Trajectory. Interface 144 | Chapter 3 Viewing and Navigating 3D Space The first three options reduce the displayed geometric complexity of selected objects in a scene, resulting in faster response time because the computer has less to calculate. These options are also available in the Display Properties group of the Object Properties dialog ➤ General panel on page 221 and the Display floater on page 8805. Display as Box Toggles the display of selected objects, including 3D objects and 2D shapes, as bounding boxes on page 9113. Produces minimum geometric complexity. Particle systems appear as bounding boxes when adaptive degradation takes effect. Because particle systems exist in world space, their bounding box is always oriented parallel to the world planes. Backface Cull Toggles the display of faces, edges, and vertices with normals on page 9237 pointing away from the point of view. When off, all entities are visible. Default=off. Edges Only Toggles the display of hidden edges and polygon diagonals on page 9136. When on, only outside edges appear. When off, all mesh geometry appears. Applies to Wireframe viewport display mode, as well as other modes with Edged Faces turned on. Display Properties Rollout | 145 Vertex Ticks Displays the vertices in the selected geometry as tick marks. If the current selection has no displayed tick marks, the check box is clear. If some of the vertices in the current selection display tick marks, the check box contains a gray X. If all vertices in the current selection display tick marks, the check box contains a black X. Trajectory Toggles trajectory on page 9332 display for the selected object so its trajectory is visible in viewports. 146 | Chapter 3 Viewing and Navigating 3D Space See-Through Makes the object or selection translucent in viewports. This setting has no effect on rendering: it simply lets you see what’s behind or inside an object in a crowded scene, and is especially useful in adjusting the position of objects behind or inside the See-Through object. This is very handy when you have objects within other objects in your scene. This option is also available from Object Properties dialog on page 221 and the Tools ➤ Display Floater on page 8805. You can customize the color of see-through objects by using the Colors panel on page 8860 of the Customize ➤ Customize User Interface dialog on page 8837. Keyboard shortcut (default): Alt+X Ignore Extents When turned on, the object is ignored when you use the display control Zoom Extents. Use this on distant lights. Show Frozen in Gray When on, the object turns gray in viewports when you freeze it. When off, viewports display the object with its usual color or texture even when it is frozen. Default=on. Never Degrade When on, the object is not subject to adaptive degradation on page 9084. Vertex Colors Displays the effect of assigned vertex colors. You assign vertex colors using the Assign Vertex Color utility, or the VertexPaint modifier. Once vertex colors have been assigned they can also be edited in the Vertex Properties rollout in the editable mesh or editable poly in vertex or face sub-object level. The Shaded button determines whether the object with the assigned vertex colors appears shaded in the viewport. When this button is off, the colors are unshaded and appear in their pure RGB values, looking a little like self-illuminated materials. When the Shaded button is on, the colors appear like any other assigned color in the viewports. Display Properties Rollout | 147 Link Display Rollout Display panel ➤ Link Display rollout The Link Display rollout provides controls that alter the display of hierarchical linkages on page 9183. Interface Display Links Displays a wireframe representation of any hierarchical links affecting the selected object. NOTE Display Links must be turned on in order to see Joint Limits on a inverse kinematics chain. Link Replaces Object Replaces the selected object with the wireframe representation of the hierarchical link. This option offers another way to reduce the geometric complexity of selected objects in a scene. See also Display Properties rollout on page 143. The Draw Links As Lines option on the Viewports panel on page 8896 of the Preference Settings dialog further reduces the display of links to a single line. 148 | Chapter 3 Viewing and Navigating 3D Space Selecting Objects 4 In most cases, before you can perform an action on an object or objects in your scene, you must first select them. Thus, the act of selection is an essential part of the modeling and animation process. A battlefield scene Below: Different selections in a wireframe viewport 149 3ds Max provides you with a variety of selection tools, which are covered in this chapter. Besides the basic techniques of selecting single and multiple objects using mouse and keyboard, the topics here discuss the use of named selection sets and other features that help you manage object selection, such as hiding and freezing objects and layers. Also included is an introduction to sub-object selection, essential to working with an object’s underlying geometry. Lastly, a technique for grouping objects is presented. Grouping lets you create more permanent selections that have many of the characteristics of independent objects. Introducing Object Selection 3ds Max is an object-oriented program. This means that each object in the 3D scene carries instructions that tell 3ds Max what you can do with it. These instructions vary with the type of object. Because each object can respond to a different set of commands, you apply commands by first selecting the object and then selecting the command. This is known as a noun-verb interface, because you first select the object (the noun) and then select the command (the verb). Identifying the Selection Interface In the user interface, selection commands or functions appear in the following areas: ■ Main toolbar ■ Edit menu ■ Quad menu (while objects are selected) ■ Tools menu ■ Track View ■ Display panel ■ Modify panel ■ Modeling ribbon ■ Schematic View ■ Scene Explorer 150 | Chapter 4 Selecting Objects The buttons on the main toolbar provide a direct means of selection. The Select From Scene dialog on page 184 is easy to use, while the Edit menu provides more general selection commands, plus methods of selecting objects by property. Perhaps the most powerful selection tool is Scene Explorer on page 8469, which lets you select objects by various methods, and also edit object hierarchies and properties. Track View and Schematic View let you select objects from a hierarchical list. Selecting From the Quad Menu The quickest way to select an object is from the Transform quadrant of the quad menu, where you can easily switch among the Move, Rotate, Scale, and Select modes. Choose any of these and click the object you want to select in the viewport. Selecting by Name Another quick way to select an object is to use the keyboard shortcut for the Select By Name command. Press H on the keyboard to open the Select From Scene dialog on page 184 and then select the object by name from the list. This is a foolproof way to ensure you select the correct object when the scene contains many overlapping objects. Selection Buttons Another way to select an object is to click one of these buttons, and then click the object. Select Object Select by Name Select And Move Select And Rotate Select And Scale Introducing Object Selection | 151 Select And Manipulate The main toolbar has several selection-mode buttons. When any of the selection buttons is active, 3ds Max is in a state where you can select objects by clicking them. Of the selection buttons, you use Select Object when you want selection only. The remaining buttons let you both select and transform or manipulate your selection. Use transforms to move, rotate, and scale your selection. See Moving, Rotating, and Scaling Objects on page 821 and Select and Manipulate on page 2868. Crossing Versus Window Selection One way to select multiple objects simultaneously is to drag a region, such as a rectangle, around them. The main toolbar ➤ Window/Crossing toggle switches between Window and Crossing modes when you select by region. In Window mode, you select only the objects within the selection. In Crossing mode, you select all objects within the region, plus any objects crossing the boundaries of the region. 152 | Chapter 4 Selecting Objects Above: Window selection selects the trash can and bench, but not the streetlight. Below: Crossing selection selects all three: trash can, bench, and streetlight. Introducing Object Selection | 153 Edit Menu Commands The Edit menu contains selection commands that operate globally on your objects. Edit menu selection commands include: Select All on page 214 Select None on page 214 Select Invert on page 215 Select Similar on page 215 Select By > Color on page 216 Select By > Name on page 216 (also a toolbar button) Select By > Layer on page 216 Selection Region > Rectangular Region on page 192 Selection Region > Circular Region on page 193 Selection Region > Fence Region on page 194 Selection Region > Lasso Region on page 195 Selection Region > Paint Selection Region on page 195 Selection Region > Window on page 199 (also a toolbar button) Selection Region > Crossing on page 197 (also a toolbar button) Edit Named Selection Sets on page 206 Tools Menu Commands The Tools menu provides the Scene Explorer commands as well as access to modeless on page 9224 selection dialogs or "floaters." You can place them anywhere on the screen, or minimize them by right-clicking the title bar and choosing Minimize: ■ New Scene Explorer (and related commands)See Scene Explorer on page 155. ■ Display FloaterProvides options for hiding and freezing selections as well as some display options. See Display Floater on page 8805. ■ Layer ManagerThis modeless dialog lets you select objects individually and by layer, and change display properties such as Hide and Freeze. See Manage Layers Dialog on page 8537. 154 | Chapter 4 Selecting Objects Scene Explorer Scene Explorer on page 8469 gives you a modeless dialog for selecting and linking objects as well as changing object properties such as the name and display characteristics. You can manipulate hierarchical relationships via drag-and-drop techniques, and use various search methods including a powerful Boolean editor to fine-tune your selection. You can also edit properties for multiple objects at once simply by selecting them and then changing one of them. Track/Schematic View Selection Track View on page 3827 is primarily designed as an animation tool, but you can also use its Hierarchy List window as an alternative method of selecting objects by name and hierarchy. This works in both the Curve Editor and Dope Sheet modes of Track View. Schematic View on page 8503 is specifically designed to let you navigate your scene efficiently, presenting a hierarchical view and letting you select objects and their properties by name. Display Panel Selection The Display panel provides options for hiding and freezing objects. These techniques exclude objects from other selection methods, and are useful in simplifying complex scenes. Frozen objects are still visible, but hidden objects are not. Basics of Selecting Objects The most basic selection techniques use either the mouse, or the mouse in conjunction with a keystroke. Basics of Selecting Objects | 155 Bed selected in wireframe Bed selected in smooth and shaded view 156 | Chapter 4 Selecting Objects Procedures To select an object in the viewport: 1 Click one of the selection buttons on the toolbar: (Select And Move), And Scale), or (Select And Rotate), (Select Object), (Select (Select And Manipulate). Alternatively, right-click in a viewport to open the quad menu, and from the Transform menu choose Move, Rotate, Scale, or Select. 2 In any viewport, move the cursor over the object you want to select. The cursor changes to a small cross when it’s positioned over an object that can be selected. The valid selection zones of an object depend on the type of object and the display mode in the viewport. In shaded mode, any visible surface of an object is valid. In wireframe mode, any edge or segment of an object is valid, including hidden lines. 3 While the cursor displays the selection cross, click to select the object (and to deselect any previously selected object). A selected wireframe object turns white. A selected shaded object displays white brackets at the corners of its bounding box. NOTE When you use the mouse to select overlapping objects or sub-objects, the first click selects the object under the mouse curosr closest to your point of view; the second click selects the next-closest object, and so on. If you move the mouse more than five pixels at any point in the sequence, the next click begins again with the closest object. And with the farthest object selected, clicking selects the closest object again. To select all objects do one of the following: ■ Choose Edit menu ➤ Select All. This selects all objects in your scene. ■ On the keyboard press Ctrl+A. Basics of Selecting Objects | 157 To invert the current selection do one of the following: ■ Choose Edit menu ➤ Select Invert. This reverses the current selection pattern. For example, assume you begin with five objects in your scene, and two of them are selected. After choosing Invert, the two are deselected, and the remaining objects are selected. ■ On the keyboard press Ctrl+I. To extend a selection: ■ Hold down Ctrl while you click to make selections. This adds the objects you click to the current selection. For example, if you have two objects selected and Ctrl+click to select a third, the third object is added to the selection. Holding down Ctrl also works with Selecting by Region on page 159. NOTE In versions of 3ds Max prior to Autodesk 3ds Max 2011, holding down the Ctrl toggled an object’s selection state. That is no longer the case. To add an object to a selection, use Ctrl. To remove an object from a selection, use Alt. To reduce a selection: ■ Hold down Alt while you click objects. This removes the objects you click from the current selection. For example, if you have three objects selected and Alt+click one of them, the third object is removed from the selection. Holding down Alt also works with Selecting by Region on page 159. To lock a selection: 1 Select an object. 2 Click (Selection Lock Toggle on page 8667) on the status bar to turn on locked selection mode. While your selection is locked, you can drag the mouse anywhere on the screen without losing the selection. The cursor displays the current 158 | Chapter 4 Selecting Objects selection icon. When you want to deselect or alter your selection, click the Lock button again to turn off locked selection mode. The keyboard toggle for locked selection mode is Spacebar. To deselect an object, do one of the following: ■ Hold down the Alt key, and either click an object, or drag a region around the object to deselect it. ■ To deselect all objects in the scene, choose Edit menu ➤ Select None, or click an empty area of a viewport anywhere outside the current selection. Selecting by Region The region-selection tools let you use the mouse to select one or more objects by defining an outline or area. Selecting by Region | 159 Top Left: Selecting face sub-objects with a rectangular region Top Right: Selecting vertex sub-objects with a circular region Center: Selecting face sub-objects with a painted region Bottom Left: Selecting edge sub-objects with a fence region Bottom Right: Selecting edge sub-objects with a lasso region Region Selection By default, when you drag the mouse a rectangular region is created. When you release the mouse all objects within and touched by the region are selected. The remainder of this topic describes how you can change each of these settings. NOTE If you hold down Ctrl while specifying a region, the affected objects are added to the current selection. Conversely, if you hold down Alt while specifying a region, the affected objects are removed from the current selection. 160 | Chapter 4 Selecting Objects Setting Region Type The type of region you define when you drag the mouse is set by the Region flyout button to the right of the Select By Name button. You can use any of five types of region selection: ■ Rectangular RegionDragging the mouse selects a rectangular region. See Rectangular Selection Region on page 192. ■ Circular RegionDragging the mouse selects a circular region. See Circular Selection Region on page 193. ■ Fence RegionDraw an irregular selection-region outline by alternating between moving the mouse and clicking (begin with a drag). See Fence Selection Region on page 194. ■ Lasso RegionDragging the mouse outlines an irregular selection region. See Lasso Selection Region on page 195. ■ Paint RegionDrag the mouse over objects or sub-objects to be included in the selection. See Paint Selection Region on page 195 Setting Region Inclusion This option lets you specify whether to include objects touched by the region border. It applies to all region methods. Choose Edit menu ➤ Region to display a submenu of the following two items. Only one can be active at a time. The Window/Crossing toggle on page 197 on the main toolbar also switches between these two modes. ■ Crossing (The default.) Selects all objects that are within the region and crossing the boundaries of the region. See Crossing Selection on page 197. Selecting by Region | 161 ■ WindowSelects only objects that are completely within the region. See Window Selection on page 199. You can set up a preference to switch automatically between Window and crossing based on the direction of your cursor movement. See Auto Window/Crossing by Direction on page 8891 in General Preferences. Procedure To make a region selection using defaults: 1 Click (Select Object on page 183). 2 Drag the mouse to define a region. A rubber-band rectangle appears. 3 Release the mouse button to select all objects within or touching the region. The selected objects turn white. You can also use the Select And Transform buttons on the main toolbar to select by region. You must start defining the region over an unselectable area of the viewport. Otherwise, you’ll transform the object beneath your mouse when you begin to drag. Using Select By Name The Select By Name command opens the Select From Scene dialog, which lets you select objects by their assigned names without having to click in the viewports. Procedures To select objects by name: 1 Do one of the following: ■ On the main toolbar, click ■ Choose Edit menu ➤ Select By ➤ Name. 162 | Chapter 4 Selecting Objects (Select By Name). ■ Press H. The Select From Scene dialog opens. By default, this dialog lists all objects in the scene. Any selected objects are highlighted in the list. 2 Use the mouse to highlight one or more objects in the list. To select multiple objects, drag vertically in the list or use Ctrl to add to the selection. 3 Click OK to make the selection. The dialog closes and the objects are selected. 4 Alternatively, to select a single object and close the dialog at the same time, double-click the object name. For more information, see Select From Scene on page 184. Using Named Selection Sets You can assign a name to the current selection, and then later reselect those objects by choosing their selection name from a list. Named Selection Sets You can also edit the contents of named sets from the Named Selection Sets dialog on page 206. Editing Named Selections As you model and create a scene, you’re likely to rearrange the objects making up your named selection sets. If you do, you’ll need to edit the contents of those sets. Using Named Selection Sets | 163 Procedures To assign a name to a selection set: 1 Select one or more objects or sub-objects using any combination of selection methods. 2 Click in the Named Selection field on the main toolbar. 3 Enter a name for your set. The name can contain any standard ASCII characters, including letters, numerals, symbols, punctuation, and spaces. NOTE Names are case-sensitive. 4 Press Enter to complete the selection set. You can now select another combination of objects or sub-objects and repeat the process to create another named selection set. To retrieve a named selection set: 1 In the Named Selection field, click the arrow. NOTE If you're working with a sub-object selection set, you must be at the same level at which you created the selection set (for example, editable mesh ➤ vertex) for it to appear on the list. 2 On the list, click a name. To edit named selection sets: ■ On the main toolbar, click Edit Named Selection Sets to open the Named Selection Sets dialog. Using Selection Filters You can use the Selection Filter list on the main toolbar to deactivate selection for all but a specific category of object. By default, all categories can be selected, but you can set the Selection Filter so that only one category, such as lights, can be selected. You can also create combinations of filters to add to the list. 164 | Chapter 4 Selecting Objects For greater ease of use while working with animations, you can choose filters that let you select only Bones, objects in IK chains, or Points. Using Combos The Combos feature allows you to combine two or more categories into a single filter category. Procedures To use the selection filter: ■ Click the Selection Filter arrow and click a category from the Selection Filter list. Selection is now limited to objects defined in this category. The category remains in effect until you change it. The following categories are available: All All categories can be selected. This is the default setting. Geometry Only geometric objects can be selected. This includes meshes, patches, and other kinds of objects not specifically included in this list. Shapes Only shapes can be selected. Lights Only lights (and their targets) can be selected. Using Selection Filters | 165 Cameras Only cameras (and their targets) can be selected. Helpers Only helper objects can be selected. Warps Only space warps can be selected. Combos Displays a Filter Combinations dialog on page 201 that lets you create custom filters. Bone Only bones objects can be selected. IK Chain Only objects in IK chains can be selected. Point Only point objects can be selected. To create a combination category: 1 From the drop-down list, choose Combos to display the Filter Combinations dialog on page 201. All single categories are listed. 2 Select the categories you want to combine. 3 Click Add. The combination appears in a list to the right, abbreviated by the first letter of each category. Click OK. For example, if you selected Geometry, Lights, and Cameras, the Combo would be named GLC. This name appears below Combo on the drop-down list. For more information, see Selection Filters List on page 200. Selecting with Track View Track View provides sophisticated methods to edit your animation tracks. In addition, its Hierarchy list displays all objects in the scene by name and hierarchy. Using Track View, you can select any object in the scene by clicking its object icon in the Hierarchy list. 166 | Chapter 4 Selecting Objects Procedures You can use Track View selection functionality in both the Curve Editor Introduction on page 3841 and the Dope Sheet on page 3842. This procedure illustrates usage of the Curve Editor; the same methods work in the Dope Sheet. To open Track View and display and select objects: 1 On the main toolbar, click Curve Editor (Open). 2 Click any cube icon in the list to select the named object. Selecting with Track View | 167 You can make the following kinds of selections: ■ Select several adjacent objects in the list. Click the first object, hold down Shift, and click another object elsewhere in the list. ■ Modify the selection by pressing Ctrl while clicking. Ctrl lets you toggle individual items on and off without deselecting others in the list. ■ Select an object and all its descendants. Press and hold Alt, right-click the object's cube icon (keep the right mouse button held down), and choose Select Children from the menu. You can open a Track View window for the sole purpose of selecting objects by name. Shrink the window until only a portion of the Hierarchy appears, and then move the window to a convenient area on your screen. Selecting with Schematic View Schematic view is a window that displays the objects in your scene in a hierarchical view. It gives you an alternate way to select and choose the objects in your scene and navigate to them. When the Modify panel is open, double-clicking an object modifier in Schematic view navigates the modifier stack to that modifier for quick access to its parameters. Procedures To open Schematic View and display and select objects: 1 On the main toolbar, click (Open Schematic View). 2 Click the rectangle containing the name of your object. You can select any number of objects in Schematic View using standard methods, including dragging a region. For more information, see Using Schematic View on page 8507. Freezing and Unfreezing Objects You can freeze any selection of objects in your scene. By default, frozen objects, whether wireframe or rendered, turn a dark gray. They remain visible, but 168 | Chapter 4 Selecting Objects can’t be selected, and therefore can’t be directly transformed or modified. Freezing lets you protect objects from accidental editing and speeds up redraws. Above: No layers frozen Below: Trash can and streetlight are frozen, and displayed in gray You can choose to have frozen objects retain their usual color or texture in viewports. Use the Object Properties dialog ➤ General panel ➤ Display Properties ➤ Show Frozen In Gray toggle on page 228. Frozen objects are similar to hidden objects. Linked, instanced, and referenced objects behave when frozen just as they would if unfrozen. Frozen lights and cameras and any associated viewports continue to work as they normally do. For more information, see Freeze Rollout on page 142. Freezing Objects You can freeze one or more selected objects. This is the usual method to put objects "on hold." Freezing and Unfreezing Objects | 169 You can also freeze all objects that are not selected. This method lets you keep only the selected object active, useful in a cluttered scene, for example, where you want to be sure no other objects are affected. IMPORTANT Objects on a frozen layer cannot be unfrozen. If you try to unfreeze an object on a frozen layer (with Unfreeze All or Unfreeze By Name), you are prompted (by default on page 8892) to unfreeze the object's layer. Procedures To access Freeze options, select one or more objects and then do one of the following: ■ Open a scene explorer on page 8469 and use the check boxes in the Frozen column to freeze and unfreeze objects. ■ Open the Display panel and then expand the Freeze rollout. ■ Choose Tools menu ➤ Display Floater. This modeless dialog has the same options as the Freeze rollout. It also contains Hide options. ■ Access the Object Properties dialog on page 221 from either the right-click (quad) menu or the Edit menu. Turn on Hide and/or Freeze. ■ In the Layer Manager, click in the Freeze column to freeze/unfreeze each layer in the list. ■ Right-click in the active viewport and choose a Freeze or Unfreeze command from the quad menu ➤ Display quadrant. Hiding and Unhiding Objects by Selection You can hide any selection of individual objects in your scene. They disappear from view, making it easier to select remaining objects. Hiding objects also speeds up redraws. You can then unhide all objects at once or by individual object name. You can also filter the list contents by category, so only hidden objects of a certain type are listed. NOTE Hiding a light source doesn't alter its effect; it still illuminates the scene. 170 | Chapter 4 Selecting Objects Original scene Scene with bed hidden Hiding objects is similar to freezing objects. Linked, instanced, and referenced objects behave when hidden just as they would if unhidden. Hidden lights and cameras and any associated viewports continue to work normally. For more information, see Hide Rollout on page 140. Hiding Objects Hiding objects is similar to freezing objects. See Freezing and Unfreezing Objects on page 168. You can hide one or more selected objects. You can also hide all objects that are not selected. Another option is to hide objects by category. See Hiding and Unhiding Objects by Category on page 173. Hiding and Unhiding Objects by Selection | 171 Unhiding Objects You can unhide objects in either of two ways: ■ Use Unhide All to unhide all objects at the same time. ■ Use All On to display all objects at the same time. ■ Use Unhide By Name to unhide object selectively. When you click Unhide By Name, the same dialog is displayed as for hiding, now called Unhide Objects. The Unhide buttons are unavailable when no object in the scene is hidden. Objects that were first hidden by selection and then hidden by category do not reappear. Although they are unhidden at the selection level, they are still hidden at the category level. For details, see Hiding and Unhiding Objects by Category on page 173. IMPORTANT Objects on a hidden layer cannot be unhidden. If you try to unhide an object on a hidden layer (with Unhide All or Unhide By Name), you are prompted (by default on page 8892) to unhide the object's layer. Procedures To access Hide options, do one of the following: ■ Open a scene explorer on page 8469 and use the check boxes in the Hidden column to hide and unhide objects. ■ Open the Layer Manager on page 8537. In the Layer Manager, you can easily hide groups of objects or layers. ■ Open the Display panel. Click Hide, if necessary, to expand the rollout. ■ Choose Tools menu ➤ Display Floater. This modeless dialog has the same options as the Hide rollout. It also contains Freeze options. ■ Access the Object Properties dialog on page 221 from either the right-click (quad) menu or the Edit menu. Turn on Hide, Freeze, or both. If the button is unavailable because By Layer is turned on, click By Layer to change it to By Object. ■ Right-click in the active viewport and choose a Hide or Unhide command from the quad menu ➤ Display quadrant. 172 | Chapter 4 Selecting Objects Hiding and Unhiding Objects by Category You can hide objects by category, the basic types of objects. For example, you can hide all lights in your scene at one time, or all shapes, or any combination of categories. By hiding all categories, your scene appears empty. Hidden objects, while not displayed, continue to exist as part of the geometry of your scene but cannot be selected. Hiding and Unhiding Objects by Category | 173 Above: All objects displayed Below: Lights and shapes are hidden 174 | Chapter 4 Selecting Objects Hiding Geometry and Particle Systems Geometry and particle systems have separate categories, even though particle systems are also geometry. ■ Selecting Geometry hides all geometry in the scene, including particle systems. The option for particle systems becomes unavailable. ■ Selecting Particle Systems hides only these objects, leaving the other geometry unaffected. Effects of Hiding by Category ■ If you create an object in a category that is hidden, 3ds Max turns off hiding for that category and unhides the objects within the category. ■ Unhiding by category has no effect on objects hidden with the controls on the Hide rollout (see Hiding and Unhiding Objects by Selection on page 170). These objects remain hidden. You need to use the controls on that rollout to unhide them. ■ Unhiding by category has no effect on objects that are on a layer that is turned off. These objects remain invisible. You need to turn on their layer to display them. ■ Unhiding by selection does not return a hidden object to the scene if the category of the object is hidden. The Unhide All and Unhide By Name controls continue to work, but the effect is not seen until the category is cleared. ■ Lights hidden by category continue to shine. Views through cameras and targeted lights are still active. ■ Linked, instanced, and referenced objects behave when hidden just as they would if visible. Procedures To hide a category of objects: 1 Open the Display panel. 2 Click Hide by Category, if necessary, to expand the rollout. By default, all categories are off (unhidden) on this rollout. Hiding and Unhiding Objects by Category | 175 3 Choose the category you want to hide. All objects of that category disappear from your scene as soon as you make the choice. The same Hide By Category options appear on the Object Level panel of the Display Floater (Tools menu ➤ Display Floater). To unhide a category of objects: ■ Deselect the category. All objects in the category reappear, unless some have been hidden by selection. See Effects of Hiding by Category on page 175. Isolate Selection Tools menu ➤ Isolate Selection Right-click to open the quad menu. ➤ Display (upper-right) quadrant ➤ Isolate Selection Keyboard ➤ Alt + Q The Isolate Selection tool lets you edit a single object or selection set of objects while hiding the rest of the scene on a temporary basis. This guards against selecting other objects while working on a single selection. It allows you to focus on the objects you need to see, without the visual distraction of the surroundings. It also reduces the performance overhead that can come from displaying other objects in the viewports. When you turn on Isolate Selection, the active viewport (Perspective and axonometric on page 9100 only) performs the Zoom Extents on page 8726 action on the isolated objects. When you exit Isolate Selection mode, Perspective viewports return to the previous zoom level, but axonometric viewports do not. When an isolated selection includes multiple objects, you can select a subset of these, and choose Isolate Selection once again. This isolates the subset. However, clicking Exit Isolation unhides the entire scene. You can’t “step back” through individual levels of isolation. NOTE Isolate Selection works only at the object level. You can’t choose it while at the sub-object level. If you go to a sub-object level while working with an isolated object, you can click Exit Isolation, but you can’t isolate sub-objects. 176 | Chapter 4 Selecting Objects Interface While the Isolate tool is active, a dialog labeled Warning: Isolated Selection appears. Exit Isolation Mode Click to end isolation, close the dialog, and unhide the rest of the scene. The views are restored to what they showed before you chose Isolate Selection. Introduction to Sub-Object Selection This is a general introduction to sub-object selection. For specific information, see Editable Mesh on page 2190, Editable Patch on page 2374, Editable Poly on page 2240, and Editable Spline on page 554; for a discussion of NURBS sub-object selection, see Sub-Object Selection on page 2445. When you model an object, often you edit a portion of its underlying geometry, such as a set of its faces or vertices. Or when you are working with a model, you may want to apply mapping coordinates to a portion of its underlying geometry. Use the methods described in this topic to make sub-object selections. Introduction to Sub-Object Selection | 177 Left: A selection of face sub-objects Middle: A selection of edge sub-objects Right: A selection of vertex sub-objects You can access sub-object geometry through a variety of methods. The most common technique is to convert an object into "editable" geometry such as a mesh, spline, patch, NURBS, or poly object. These object types let you select and edit geometry at the sub-object level. If you have a primitive object and want to retain control of its creation parameters, you can apply a modifier such as Edit Mesh on page 1263, Edit Poly on page 1274, Edit Spline on page 1368, Edit Patch on page 1271, or Mesh Select on page 1445. The Line Spline on page 518 and NURBS curves and surfaces are the exception: you can edit their sub-objects as soon as you create these kinds of objects. You choose a sub-object level in the stack display. Click the plus sign that appears next to the name of an object that has sub-objects. This expands the hierarchy, showing the available sub-object levels. Click a level to choose it. The name of the sub-object level highlights in yellow, and the icon for that 178 | Chapter 4 Selecting Objects sub-object level appears to the right of both its name and the name of the top-level object. Stack display shows the sub-object hierarchy, letting you choose a sub-object level. Editing at the Sub-Object Level When you edit an object at the sub-object level, you can select only components at that level: vertices, edges, polygons, and so on. You can’t deselect the current object, nor can you select other objects. To leave sub-object editing and return to object-level editing, click the top-level name of the object in the modifier stack, or click the highlighted sub-object level. Introduction to Sub-Object Selection | 179 Click the top-level object name to exit sub-object editing. TIP You can also access sub-object levels from the buttons at the top of the Selection rollout on the Modify panel. Procedures To make a sub-object selection: These methods assume the object has sub-object levels. If the object has no sub-object levels (for example, a primitive such as a sphere), the + icon is not present. In that case, you need to collapse the object or apply an Edit modifier before you can edit its sub-object geometry. TIP When working with an editable poly or Edit Poly object, we highly recommend that you use the Graphite Modeling tools on page 1978 instead of the Modify panel. 1 Select the object you want to edit. 2 If the object doesn’t already have sub-object levels, apply an Edit ... modifier such as Edit Mesh. 3 Open the Modify panel. 4 In the modifier stack, click hierarchy. (the + icon) to expand the object's 5 On the stack display, click a sub-object level such as Vertex, Edge, or Face. 180 | Chapter 4 Selecting Objects TIP For a detailed selection, you might want to zoom in on the object. 6 Click one of the toolbar selection buttons, and then use the same selection methods you’d use on objects to select the sub-object components. Or from the quad menu ➤ Transform quadrant, choose one of the selection methods and select the sub-object components. There are two alternative ways to go to a sub-object level: ■ Select the object and go to the Modify panel. Then right-click the object, and use the quad menu ➤ Tools 1 (upper-left) quadrant ➤ Sub-objects submenu. ■ Choose the selection level using buttons on the Modify panel's Selection rollout, if one is present for the type of object you're editing. TIP Once you're at a sub-object level, the Insert key cycles through the levels of other kinds of sub-objects. To exit a sub-object level, do one of the following: ■ In the stack display, click the highlighted sub-object name or the top-level name of the object. ■ If the object has a Selection rollout, click the button of the active sub-object level to turn it off. ■ Right-click the object, and then in the Tools 1 (upper-left) quadrant of the quad menu, choose Top-level. ■ Access a different command panel. This turns off sub-object editing. If you think you’ve turned off sub-object editing but top-level object selection is still not restored, it might be due to the following reasons: ■ Your selection is locked. Click the Lock Selection Set button on the prompt line to turn it off. Introduction to Sub-Object Selection | 181 ■ You’ve set the Selection Filter on page 164 on the main toolbar to a specific category of object, so you can’t select any of the other categories. To fix this, select All in the Selection Filter list. Selection Commands Selection commands appear on the quad menu, on the main toolbar, on the Edit menu, and on the status bar. Main toolbar By default, important selection commands appear on the main toolbar. Edit menu The Edit menu contains selection commands that operate globally on your objects. Status bar The Selection Lock Toggle on page 8667 is located on the status bar. Locking a selection is useful when you are doing a lot of editing on a selection, and don't want to select something else by mistake. The simplest method of selection is to turn on Select Object mode on page 183, and then click an object in a viewport (or drag to surround the object). While the method is simple, it is not effective for selecting multiple objects, especially in a crowded scene. Other tools let you select objects by name, filter out the kinds of objects you want to select, and to create named selection sets you can select repeatedly. See also: ■ Transform Commands on page 850 ■ Select And Manipulate on page 2868 ■ Introducing Object Selection on page 150 ■ Basics of Selecting Objects on page 155 ■ Isolate Selection on page 176 ■ Scene Explorer on page 8469 182 | Chapter 4 Selecting Objects Select Object Main toolbar ➤ (Select Object) Right-click to open quad menu. ➤ Transform quadrant ➤ Select Select Object lets you select an objects and sub-objects for manipulation. Object selection is affected by several other controls: ■ The active Selection Region type: Rectangular on page 192, Circular on page 193, Fence on page 194, Lasso on page 195, or Paint on page 195. ■ The active selection filter on page 200 (All, Geometry, Shapes, Lights, and so forth). ■ The state of the crossing selection tool (which determines whether completely surrounded objects or surrounded and crossing objects are selected). You can also select objects by name with the Select From Scene dialogSelect From Scene on page 184 list; press the H key to access the dialog. A number of objects selected together is called a selection set on page 163. You can name selection sets in the Named Selection Sets field on the main toolbar and then recall them for later use. NOTE The Smart Select command activates the Select Object function and, with repeated invocations, cycles through the available Selection Region methods. By default, Smart Select is assigned to the Q key; you can use Customize User Interface on page 8837 to assign it to a different keyboard shortcut, a menu, etc. Procedures NOTE In versions of 3ds Max prior to Autodesk 3ds Max 2011, holding down the Ctrl toggled an object’s selection state. That is no longer the case. To add an object to a selection, use Ctrl. To remove an object from a selection, use Alt. Select Object | 183 To add objects to a selection set: ➤ Hold down the Ctrl key and select the objects to add. NOTE Adding objects doesn't change a named selection set. To remove individual objects from a selection set: ➤ Hold down the Alt key and select the objects to remove. NOTE Removing objects doesn't change a named selection set. To select objects and move, rotate, or scale them: ■ Use Select And Move, Select And Rotate, or Select And Scale, available from the main toolbar and the quad menu ➤ Transform quadrant. When you rotate a selection set, the pivot of rotation depends on which option is selected on the Use Center flyout on page 867 on the toolbar. These tools are restricted to a specific axis or plane, which you can choose from the Axis Constraints toolbar on page 8627 or specify with the transform gizmo on page 825. Select From Scene Main toolbar ➤ (Select By Name) Keyboard ➤ H Edit menu ➤ Select By ➤ Name This dialog, named Select From Scene or Select Objects in most contexts, lets you select or designate objects by choosing them from a list of all objects currently in the scene. Select From Scene is a modal on page 9224, read-only version of Scene Explorer on page 8469; you can’t use it to change object 184 | Chapter 4 Selecting Objects properties such as name and color. Other differences between Select From Scene and Scene Explorer include: ■ No hierarchy manipulation; you can’t link or unlink objects. ■ Hidden and frozen objects don’t appear in the list. ■ Because the dialog is modal, you must close it before continuing. ■ To select an object and close the dialog, double-click the object’s list entry. ■ All toggle settings such as Select Dependents, Display ➤ Children, and the Display buttons persist. That means they survive Reset operations and even quitting and restarting 3ds Max. This also applies to the position and size of the dialog. To return all dialog settings to their defaults, delete this file: [program folder]\plugcfg\DefaultModalSceneExplorer.ini. Select From Scene | 185 NOTE The Select From Scene dialog name and functionality are context dependent. When a transform such as Select And Move is active, the dialog lets you choose from all objects in the scene. But when certain modes are active, the choices in the dialog are more limited. For example, when Select and Link on page 3666 is active, the dialog is entitled Select Parent, and shows linkable objects but not the child object already selected. Similarly, if Group ➤ Attach is active, the dialog is named Attach To Group and lists groups but not solitary objects. TIP If you prefer to use the legacy Select Objects dialog instead of Select From Scene, it’s available as an option. Open the CurrentDefaults.ini file (see Market-Specific Defaults on page 8834), find the [Scene Explorer] section, and change SelectByNameUsesSceneExplorer setting. If set to 1, then Select By Name and related commands use the Select From Scene dialog. If set to 0, thenSelect By Name and related commands use the legacy Select Objects dialog. The latter’s functionality is essentially the same as the Selection Floater on page 187, except that it’s modal, not modeless. See also: ■ Selection Floater on page 187 Procedures To select objects by name: 1 Do one of the following: ■ On the main toolbar, click (Select By Name). ■ Choose Edit menu ➤ Select By ➤ Name. ■ Press H. The Select From Scene dialog opens. By default, it lists all objects in the scene, displaying any hierarchies as collapsible branches. Currently selected objects are highlighted in the list. 2 Choose one or more objects in the list by doing one of the following: ■ To select a single object and close the dialog, double-click the object name. ■ Drag, or click and then Shift+click to select a contiguous range of objects and Ctrl+click to select noncontiguous objects. 186 | Chapter 4 Selecting Objects ■ In the field above the list, type a search phrase. As you type, all matches for the current phrase are highlighted in the list. To highlight only objects whose case matches the search phrase exactly, turn on Find Case Sensitive (from the Select menu) . NOTE In some cases, such as when linking objects, you can select only one object. 3 Click Select. The selection is made as the dialog closes. To highlight a single item from among multiple highlighted items: Clicking one list item among several highlighted items does not unhlighlight the rest. When several items are highlighted, but you want to highlight only one of them, do either of the following: ■ If any items are not highlighted, click one of them to remove highlighting from the rest, and then highlight the one you want. ■ If all items are highlighted, the preceding method isn’t practical. In that case, on the upper toolbar click Select None, and then highlight the one you want. Selection Floater [Available only as a CUI action] This modeless dialog lets you select objects in the scene. You can keep the dialog open while you work in your scene, making it easier to select objects. IMPORTANT The Selection Floater command is available only as a Customize User Interface on page 8837 action; to use it you must first add it explicitly to the user interface. See also: ■ Scene Explorer on page 8469 Selection Floater | 187 Interface [select objects field] Enter a name to highlight objects in the list whose names begin with the text you specify. Find Case Sensitive When on, the select objects field above the list is case-sensitive. For example, if the list contains objects named apple and Apple and Find Case Sensitive is on, typing “a” will highlight only the apple entry. Also, sorts the list so uppercase names come before lowercase. [objects list] Lists objects according to the current Sort and List Types choices. Does not display hidden and frozen objects. 188 | Chapter 4 Selecting Objects To highlight an object name in the list, click with the mouse. To highlight multiple object names, drag, or click and then Ctrl+click or Shift+click, or use the search field above the list. To select highlighted objects, click the Select button. Alternatively, you can highlight and select a single object in the list by double-clicking its name. After selecting objects, the dialog remains open until you close it explicitly. All/None/Invert These buttons alter the pattern of selection in the list window. Influences When you highlight an object in the list window and then click the Influences button, the selected object's influences on page 9193 are highlighted as well. Display Subtree Displays each item in the list so that its hierarchical branch on page 9183 is included (for example, Thigh/Shin/Foot). Hierarchical branches are indented. Display Influences When this is on and you select an item in the list window, all of its influences are shown in blue. If you want to highlight these influences, click Influences. Select Subtree When this is on and you select an item in the list window, all of its hierarchical children are selected as well. Select Dependents When this is on and you select an item in the list window, all of its dependent on page 9134 objects are selected as well.Dependents include instances, references, and objects sharing a common modifier (the same objects that appear green when Show Dependencies is on in the View menu). When both Select Subtree and Select Dependents are on, the subtree of any newly selected node is first selected, and then the dependents are selected. In other words, dependents of the subtree are selected, but not the subtrees of all dependents. Sort group Lets you choose the sort order of the items displayed in the list. This option is unavailable when Display Subtree is on; in that case, sorting is always alphabetical. Alphabetical Sorts from numeric characters at the top, then A to Z at the bottom. When Find Case Sensitive is on, all upper-case names come before lower-case names. Selection Floater | 189 By Type Sorts by category, using the same order as the check boxes in the List Types group. By Color Sorts by object wireframe color. The sorting order is arbitrary; the value of this option is that objects of the same color are grouped together. By Size Sorts based on the number of faces in each object. The object with the least number of faces is listed first, followed by objects with successively greater number of faces. List Types group Determines the types of objects to display in the list. All/None/Invert These buttons alter the pattern of activation of the List Types options. Selection Sets group Lists any named selection sets on page 204 that you have defined in the scene. When you choose a selection set from the drop-down list, 3ds Max highlights its component objects in the main list. Selection Region Flyout Main toolbar ➤ Selection Region flyout Edit menu ➤ Selection Region The Selection Region flyout gives you five different ways to select objects within a particular area or volume. Clicking and holding on the Selection Region button opens a flyout containing the Rectangle on page 192, Circular on page 193, Fence on page 194, Lasso on page 195, and Paint on page 195 Selection Region buttons, from top to bottom. 190 | Chapter 4 Selecting Objects Selection Region flyout For the first four methods, you can select either objects that are completely within the selection region (window method), or objects that are within or touched by the selection shape (crossing method). Toggle between the window and crossing selection methods by using the Window/Crossing toggle on page 197 on the main toolbar. NOTE If you hold down Ctrl while specifying a region, the affected objects are added to the current selection. Conversely, if you hold down Alt while specifying a region, the affected objects are removed from the current selection. NOTE The Smart Select command activates the Select Object on page 183 function and, with repeated invocations, cycles through the available Selection Region methods. By default, Smart Select is assigned to the Q key; you can use Customize User Interface on page 8837 to assign it to a different keyboard shortcut, a menu, etc. Procedures To select using a region (general method): 1 Choose a Selection Region method from the flyout. 2 Drag in a viewport, then release the mouse. The first location you click is one corner of the rectangle, and where you release the mouse is the opposite corner. Selection Region Flyout | 191 IMPORTANT If you're using Select Object on page 183, you can start dragging anywhere to select a region: on an object or off. However, if you're using one of the transform tools, such as Select and Move on page 851, start the drag operation away from an object; that is, in an empty part of the viewport. Otherwise, if you start dragging on an object, most likely 3ds Max will assume you intend to select where you click and will begin the transform operation immediately. To cancel the selection, right-click before you release the mouse. Rectangular Selection Region Main toolbar ➤ Region flyout (Rectangular Selection Region), on the Selection Edit menu ➤ Selection Region ➤ Rectangular Region Selects objects within a rectangular area. You can use Rectangular to select either objects that are completely within the selection region (window method), or objects that are either within or touched by the selection shape (crossing method). Toggle between the window and crossing selection methods by using the Window/Crossing toggle on page 197 on the main toolbar. NOTE If you hold down Ctrl while specifying a region, the affected objects are added to the current selection. Conversely, if you hold down Alt while specifying a region, the affected objects are removed from the current selection. Procedures To select using a rectangle: 1 Click (Rectangular Selection Region). 192 | Chapter 4 Selecting Objects 2 Drag in a viewport, then release the mouse. The first location you click is one corner of the rectangle, and where you release the mouse is the opposite corner. To cancel the selection, right-click before you release the mouse. Circular Selection Region Main toolbar ➤ flyout (Circular Selection Region), on the Selection Region Edit menu ➤ Selection Region ➤ Circular Region Selects objects within a circular area. You can use Circular to select either objects that are completely within the selection region (window method), or objects that are either within or touched by the selection shape (crossing method). Toggle between the window and crossing selection methods by using the Window/Crossing toggle on page 197 on the main toolbar. NOTE If you hold down Ctrl while specifying a region, the affected objects are added to the current selection. Conversely, if you hold down Alt while specifying a region, the affected objects are removed from the current selection. Procedures To select using a circle: 1 Click (Circular Selection Region). 2 Drag in a viewport, then release the mouse. The first location you click is the center of the circle, where you release the mouse defines the circle's radius. To cancel the selection, right-click before you release the mouse. Selection Region Flyout | 193 Fence Selection Region Main toolbar ➤ flyout (Fence Selection Region), on the Selection Region Edit menu ➤ Selection Region ➤ Fence Region Selects objects within an irregular “fence” shape. You can use Fence to select either objects that are completely within the selection region (window method), or objects that are either within or touched by the selection shape (crossing method). Toggle between the window and crossing selection methods by using the Window/Crossing toggle on page 197 on the main toolbar. NOTE If you hold down Ctrl while specifying a region, the affected objects are added to the current selection. Conversely, if you hold down Alt while specifying a region, the affected objects are removed from the current selection. Procedures To select using a fence: 1 Click (Fence Selection Region). 2 Drag to draw the first segment of a polygon, then release the mouse button. A "rubber-band line" is now attached to the cursor, anchored at the point of release. 3 Move the mouse and click to define the next segment of the fence. You can make as many steps as you want. 4 To complete the fence, either click the first point, or double-click. A pair of cross hairs appears when you're near enough to click the first point. This creates a closed fence. Double-clicking creates an open fence, which can select objects only by the crossing method. To cancel the selection, right-click before you release the mouse. 194 | Chapter 4 Selecting Objects Lasso Selection Region Main toolbar ➤ flyout (Lasso Selection Region), on the Selection Region Edit menu ➤ Selection Region ➤ Lasso Region Selects objects within a complex or irregular region with a single mouse action. You can use Lasso to select either objects that are completely within the selection region (window method), or objects that are either within or touched by the selection shape (crossing method). Toggle between the window and crossing selection methods by using the Window/Crossing toggle on page 197 on the main toolbar. NOTE If you hold down Ctrl while specifying a region, the affected objects are added to the current selection. Conversely, if you hold down Alt while specifying a region, the affected objects are removed from the current selection. Procedures To select using a lasso: 1 Click (Lasso Selection Region). 2 Drag to draw a shape around the objects that should be selected, then release the mouse button. NOTE To cancel the selection, right-click before you release the mouse. Paint Selection Region Main toolbar ➤ flyout (Paint Selection Region), on the Selection Region Selection Region Flyout | 195 Edit menu ➤ Selection Region ➤ Paint Region Lets you select objects by dragging the mouse over them. To change the brush size, right-click the Paint Selection Region button, and then, on the Preference Settings dialog ➤ General tab ➤ Scene Selection group, change the Paint Selection Brush Size value on page 8891. If you hold down Ctrl while specifying a region, the affected objects are added to the current selection. Conversely, if you hold down Alt while specifying a region, the affected objects are removed from the current selection. TIP You can also create custom tools for changing the brush size; choose Customize menu ➤ Customize User Interface and set keyboard shortcuts or other user interface items for the actions Paint Selection Size Up and Paint Selection Size Down. NOTE Paint Selection Region respects the Window/Crossing toggle on page 197. If the toggle is set to Window on page 199 and the brush is smaller than an object or sub-object to be selected, you won't be able to select the item. To resolve this, enlarge the brush or choose Crossing on page 197. NOTE With editable poly on page 2240 and Edit Poly on page 1274 objects, you can also paint soft selections on page 1973 and deformation on page 2245. Procedures To select by painting a region: 1 Choose (Paint Selection Region) from the flyout. 2 Drag over the objects to select, then release the mouse button. As you drag, a circle showing the brush radius appears attached to the mouse. NOTE To cancel the selection, right-click before you release the mouse. 3 To change the brush size, right-click the Paint Selection Region button, and then, on the Preference Settings dialog ➤ General tab ➤ Scene Selection group, change the Paint Selection Brush Size value on page 8891. You can also set keyboard shortcuts for changing the brush size. To do so, use the Paint Selection Size Up and Paint Selection Size Down action items. See Keyboard Panel on page 8837. 196 | Chapter 4 Selecting Objects Window/Crossing Selection Toggle Main toolbar ➤ Crossing selection or (Window/Crossing toggle) Window selection Edit menu ➤ Region ➤ Window or Crossing The Window/Crossing Selection toggle switches between window and crossing modes when you select by region. ■ In Crossing mode, you select all objects or sub-objects within the region, plus any objects or sub-objects crossing the boundaries of the region. ■ In Window mode, you select only the objects or sub-objectswithin the selection. TIP If you're making sub-object selections of faces and you select more faces than you want, make sure you're in Window mode. The Selection Region flyout on page 190 on the toolbar allows you to create different-shaped selection boundaries. 3ds Max automatically saves the Window/Crossing setting in the 3dsmax.ini on page 42 file. NOTE You can automatically switch between Window and Crossing Region Selection based on cursor movement direction. To set this up, choose Customize ➤ Preferences and on the General tab in the Scene Selection group turn on Auto Window/Crossing Selection by Direction. Crossing Selection The default Crossing option selects objects within the selection region or crossed by the border of the region. Window/Crossing Selection Toggle | 197 Select Region Crossing selects objects within the window and also objects it crosses: the trash can, bench, and streetlight. To select objects within and crossed by a selection region: 1 Do one of the following: ■ Choose Edit ➤ Selection Region ➤ Crossing. ■ Click the Window/Crossing selection toggle to display the Crossing icon. 2 On the main toolbar, click the Selection Region flyout on page 190 and choose a method: (Fence), or 198 | Chapter 4 Selecting Objects (Rectangular), (Lasso). (Circular), NOTE This setting also applies to (Paint Selection Region), but in this case the boundary is that of the brush, not the region. In other words, when painting a region in Crossing mode, the brush selects every object or sub-object it touches or encompasses. 3 Drag to specify the region and select the objects. Window Selection The Window option selects objects entirely within the selection region. Select Region Window selects only those objects completely inside the window: the trash can and bench. Window/Crossing Selection Toggle | 199 To select objects within a selection region: 1 Do one of the following: ■ Choose Edit ➤ Selection Region ➤ Window. ■ Click the Window/Crossing selection toggle to display the Window icon. 2 On the main toolbar, click the Selection Region flyout on page 190 and choose a method: (Fence), or (Rectangular), (Circular), (Lasso). NOTE This setting also applies to (Paint Selection Region), but in this case the boundary is that of the brush, not the region. In other words, when painting a selection region, the brush must completely encompass an object or sub-object to select it. 3 Drag to specify the region and select the objects. Selection Filter List Main toolbar ➤ Selection Filter The Selection Filter list lets you restrict to specific types and combinations of objects that can be selected by the selection tools. For example, if you choose Cameras, you can select only cameras with the selection tools. Other objects do not respond. When you need to select objects of a certain type, this is useful as a quick method of freezing all other objects. 200 | Chapter 4 Selecting Objects Use the drop-down list to select a single filter. Choose Combos from the drop-down list to use multiple filters from the Filter Combinations dialog on page 201. Filter Combinations Dialog Main toolbar ➤ Selection Filter list ➤ Combos ➤ Filter Combinations dialog Use the Filter Combinations dialog to create your own custom combinations of categories to add to the Selection Filters list on page 200. You can also add specific types of objects, or Class IDs, to the list. For example, you can set a filter that lets you select only Sphere primitives. Procedures To create a combination filter: 1 Open the Selection Filter list and choose Combos. The Filter Combinations dialog appears. 2 Turn on one or more of the check boxes in the Create Combination group. 3 Click the Add button. The specified combination appears in the Current Combinations list to the right as a combination of the first letters of each selected category. Filter Combinations Dialog | 201 4 Click OK. The new combo item appears at the bottom of the Select Filter list. Combos are stored in the 3dsmax.ini on page 42 file, so they remain in effect for all scenes through all sessions. To delete a combination filter: 1 Open the Selection Filter list and choose Combos. The Filter Combinations dialog appears. 2 Choose one or more of the combos in the Current Combinations list. 3 Click the Delete button. 4 Click OK. 202 | Chapter 4 Selecting Objects Interface Filter Combinations Dialog | 203 Create Combination group Geometry, Shapes, Lights, Cameras, Helpers, Space Warps Choose the category or categories you want included in the combination. Add After choosing the categories to include in a combination, click this button to place the categories, labeled with the categories' initials, in the Current Combinations list, as well as at the bottom of the Selection Filter list. Current Combinations group Current Combinations list Lists current combinations. To delete one or more combinations, choose them, and then click Delete. Delete After choosing one or more combinations in the Current Combinations list, click this button to delete them. All Class ID group Class ID list Lists all the available categories that can be added to custom filters for display and selection. Highlight a category to add, then click Add. Add After choosing a class to include in the filter list, click this button to place the class in the Current Class ID Filter list, as well as at the bottom of the Selection Filter list. Current Class ID Filter group Class ID list Lists current classes to filter. To delete a class, choose it, and then click Delete. Delete After choosing a class in the Current Class ID Filter list, click this button to delete the class. Named Selection Sets Main toolbar ➤ (Edit Named Selection Sets) and the Named Selection Sets text field and drop-down list The Named Selection Sets list allows you to name a selection set and recall the selection for later use. It supports selection sets both at the object level and at sub-object levels. You edit named object-level selection sets with the 204 | Chapter 4 Selecting Objects Named Selections Sets dialog on page 206 and sub-object level sets with the Edit Named Selections dialog on page 211. A named selection set is removed from the list if all of its objects have been deleted from the scene, or if all of its objects have been removed from the named set in the Named Selections Sets dialog. Selection set names are case sensitive at both the object level and at sub-object levels. You can transfer sub-object named selections from one level in the stack to another. The Copy and Paste buttons let you copy named selections from one modifier to another. While at a specific sub-object level, such as Vertex, you can make selections and name those selections in the Named Selection Sets field of the toolbar. The named sets are specific to both the selection level and the level on the stack. Keep in mind the following restrictions: ■ You can transfer named selections only between the same type of sub-object level. In other words, you can transfer named selections from vertex sub-object to another vertex sub-object, but you can't transfer it to face or edge sub-object level. ■ You must transfer the selection between modifiers that handle like geometry. You can copy and paste between an editable mesh and a mesh select modifier, but you can't copy and paste between a mesh select modifier and an editable spline. ■ You can copy and paste between two modifiers in two different objects, as long as you're at the same level and both modifiers handle the same type of geometry. ■ If you change the topology of a mesh after creating a named selection (such as deleting some vertices), the named selections will probably no longer select the same geometry. Procedures To create a named selection set: 1 Select the objects you want to be in a set. Named Selection Sets | 205 2 Type the name of the set in the Named Selection Sets field, and then press Enter. 3 Whenever you want to access the selection, choose its name from the Named Selection Sets drop-down list. To select a named selection set, do one of the following: 1 To select a single item, click it in the list. 2 To select more than one item in the list, select one, and then select others while holding down the Ctrl key. 3 To deselect single items after you've selected multiple items, hold down the Alt key. Named Selection Sets Dialog Edit menu ➤ Manage Selection Sets Main toolbar ➤ (Edit Named Selection Sets) The Named Selection Sets dialog, available from the Edit menu and the toolbar, is a modeless dialog on page 9224 that lets you create named selection sets or select objects to add to (or remove from) a selection set, directly from the viewport. The dialog also lets you organize your current named selection sets, browse their members, delete or create new sets, or identify which named selection sets a particular object belongs to. NOTE This dialog applies to objects only. For editing sub-object named selection sets, see Edit Named Selections Dialog on page 211. See also: ■ Named Selection Sets on page 204 ■ Using Named Selection Sets on page 163 ■ Edit Named Selections Dialog on page 211 206 | Chapter 4 Selecting Objects Procedures To create a named selection: 1 In the viewport, select the objects you want to gather as a selection set. 2 On the main toolbar, click (Edit Named Selection Sets), or from the main menu, choose Edit ➤ Manage Selection Sets. 3 On the Named Selection Sets dialog, click (Create New Set). 4 Enter a name for the new selection set. To add objects to a named selection set: 1 On the main toolbar, click (Edit Named Selection Sets), or on the main menu, choose Edit ➤ Manage Selection Sets. 2 Choose the named selection set in the dialog. 3 Select one or more objects in the viewport. 4 In the dialog, click (Add Selected Objects). To remove objects from a named selection set: 1 On the main toolbar, click (Edit Named Selection Sets), or on the main menu, choose Edit ➤ Manage Selection Sets. 2 Choose the named selection set in the dialog. 3 In the viewport, select the objects you want to remove. 4 In the dialog, click (Subtract Selected Objects). Named Selection Sets | 207 NOTE You can also remove objects by selecting them in the Named Selection Sets dialog, then clicking (Remove or pressing Delete. To move an object from one set to another: 1 On the main toolbar, click (Edit Named Selection Sets), or on the main menu, choose Edit ➤ Manage Selection Sets. 2 In the Named Selection Sets dialog, expand the selection sets. 3 Drag an object from one set to another. The object is moved into the second set. If you use Ctrl+drag, the object will be copied into the second set. TIP You can also copy the contents of an entire set into another, by dragging them into the desired selection set. To select objects in a set: 1 Highlight the set in the Named Selection Sets dialog. 2 Click (Select Objects In Set) to select all of the objects in the highlighted set. 208 | Chapter 4 Selecting Objects Interface In the Named Selection Sets dialog, all of the current named selection sets are displayed. By clicking the plus (+) or minus (-) icon, you can expand or collapse (respectively) the object list for each set. The buttons along the top of the dialog let you create or delete sets, add or remove objects from a set, select objects (independently or as a selection set), and see which named selection set(s) a particular object belongs to. Create New Set Creates a new selection set, including any currently selected objects as members. NOTE If no objects are selected, an empty set is created. Named Selection Sets | 209 Remove Removes the selected object or selection set. NOTE Deleting an object or its selection set does not delete the object; it only destroys the named set. Add Selected Objects Adds the currently selected objects to the selected named selection set. Subtract Selected Objects Removes currently selected objects from the selected named selection set. Select Objects in Set Selects all members of the current named selection. Select Objects by Name Opens the Select From Scene dialog on page 184, where you can select a group of objects. The selected objects can then be added to or removed from any named selection set. Highlight Selected Objects Highlights all of the named selection sets that contain the current scene selection. Status Bar Displays the current named selection set, as well as what’s currently selected in the scene. If more than one object is selected, the number of selected objects is displayed. Right-click menu Additional commands are available when you right-click in the Named Selection Sets dialog. Rename Lets you rename the selected set or object. TIP You can rename objects or sets by pressing F2. Cut Removes the selected object or set and stores it in a buffer for reuse with the Paste command, similar to the Cut command in Windows. TIP You can cut an object or set by pressing Ctrl+X. 210 | Chapter 4 Selecting Objects Copy Copies the selected object or set and stores it in a buffer for reuse with the Paste command, similar to the Copy command in Windows. TIP You can copy an object or set by pressing Ctrl+C. Paste Adds a Cut or Copied object or set into another set. TIP You can paste an object or set by pressing Ctrl+V. Collapse All Collapses all expanded selection sets. Expand All Expands all collapsed selection sets. Create New Set Creates a new selection set, including any currently selected objects as members. Remove Removes the selected object or selection set. Add Selected Objects Adds currently selected objects to the selected named selection set. Subtract Selected Objects Removes currently selected objects from the selected named selection set. Select Objects in Set Selects all members of the current named selection. Select Objects by Name Opens the Select Objects dialog on page 184, and adds all objects selected there to the current named selection set. Highlight Selected Objects Highlights all of the named selection sets that contain the current scene selection. Find Next Toggles through selection sets containing the selected object, when used in collaboration with the Highlight Selected Objects command. TIP You can use Ctrl+G to toggle through the sets. Edit Named Selections Dialog Make a sub-object selection. ➤ Edit menu ➤ Manage Selection Sets Make a sub-object selection. ➤ Main toolbar ➤ Selection Sets) (Edit Named Named Selection Sets | 211 Edit Named Selections displays the Edit Named Selections dialog, letting you manage named selection sets of sub-objects on page 177. Unlike the Named Selection Sets dialog on page 206, which applies to objects only, it is a modal dialog, which means that you must close it in order to work in other areas of 3ds Max. Also, you can work only with existing named sub-object selections; you cannot use the dialog to create new selections. Procedures To edit named sub-object selections: 1 At a sub-object level, create one or more named selection sets on page 204. 2 On the main toolbar, click (Edit Named Selection Sets), or on the main menu, choose Edit ➤ Manage Selection Sets. The Edit Named Selections dialog opens, listing all named selection sets for the current sub-object level. 3 Use the dialog controls to edit the named selection sets. 212 | Chapter 4 Selecting Objects Interface The dialog window lists all named selections at the current sub-object level. The buttons beneath the windows let you delete, merge, and edit the listed items. Use standard mouse-plus-keyboard methods (using Ctrl or Shift) to highlight list items and designate them for subsequent operations. Named Selection Sets | 213 To rename a set, click it in the list, and then edit its name in the one-line window immediately below the list. Combine Merges all objects from the highlighted selection sets into a single, new selection set. Select two or more selection sets, and then click Combine and enter a new name for the selection set. Use Delete to delete the original sets. Delete Deletes all highlighted items from the Named Selections window. This affects only selection sets, not the sub-objects they refer to. Subtract (A-B) Removes the sub-objects contained in one selection set from another. Select one item in the Named Selections window, and then select the other. The top highlighted item in the window is operand A, and the bottom is operand B (regardless of the order of their selection). Click Subtract (A-B) to subtract the sub-objects in the bottom item from those in the top item. There must be some overlap between the two selection sets for this command to have any effect. Subtract (B-A) Subtracts the sub-objects in the top selected item from those in the bottom item. Intersection Creates a selection set that consists only of sub-objects that all highlighted selection sets have in common. Highlight two or more items in the Named Selections window, and then click Intersection. In the dialog that appears, enter a new set name and click OK. Select All Edit menu ➤ Select All Keyboard ➤ Ctrl+A This command selects all objects in the scene matching the current selection filter type on page 200 on the main toolbar. Select None Edit menu ➤ Select None Keyboard ➤ Ctrl+D This command deselects all objects in the scene conforming to the current selection filter type on page 200 on the main toolbar. 214 | Chapter 4 Selecting Objects Select Invert Edit menu ➤ Select Invert Keyboard ➤ Ctrl+I This command inverts the current selection set. All objects not currently selected are selected, and all objects currently selected are deselected, respecting the current selection filter type on page 200 on the main toolbar. Select Similar Select one or more objects. ➤ Edit menu ➤ Select Similar Select one or more objects. ➤ Right-click ➤ quad menu ➤ Transform quadrant ➤ Select Similar Select one or more objects. ➤ Ctrl+Q Select Similar automatically selects all items that are “similar” to the current selection. In general, this means that the objects must be on the same layer, and have the same material (or no material) applied. The specific functionality depends on the objects’ source: ■ Selects all items imported in the DWG format in the selected object's or objects' layer that have the same style(s) on page 8094 or categories as defined in AutoCAD Architecture (formerly known as ADT, or Architectural Desktop), or the same families and types as defined in Revit. For example, if you've imported or linked to a DWG file that contains walls in several different styles, such as CMU-8, Concrete-8, and Stud-4, you could select all CMU-8 wall segments in the same layer by selecting one and then invoking Select Similar. If you start by selecting multiple objects with different styles, Select Similar will select all objects with those styles. ■ This command also applies to objects native to 3ds Max. It selects all objects of the same type. This includes primitives and editable object types. For example, if you add some boxes and cylinders, select one of the cylinders, and then invoke Select Similar, all of the cylinders will be selected, but not the boxes. If you then convert all of the objects to Editable Poly format and repeat the test, all of the objects will be selected. If you then apply a material to one of the objects or move it to a different layer, it’s no longer “similar” to the rest and won’t be selected by Select Similar. Select Invert | 215 Select By Edit menu ➤ Select By The Select By submenu on the Edit menu provides commands for selecting objects in the scene by color, name, and other characteristics. It also gives quick access to the various Region selection options. See also: ■ Selection Tab on page 2132 Select By Color Edit menu ➤ Select By ➤ Color Select By Color lets you select all objects having the same color as the selected object. Selection is made by wireframe color (see Object Color Dialog on page 300), rather than by any materials associated with the objects. After you choose this command, click any object in the scene to determine the color for the selection set. TIP To select objects by material, use Schematic View on page 8507. Select By Name (Edit Menu) Edit menu ➤ Select By ➤ Name Keyboard ➤ H Select By Name lets you select objects by choosing them from a list of all objects in the scene. For a full description of the Select By Name function, see Select From Scene on page 184. TIP To select objects by material, use Select By Material on page 6064. Select By Layer Edit menu ➤ Select By ➤ Select By Layer 216 | Chapter 4 Selecting Objects Select By Layer lets you select all objects in one or more layers by picking them from a list of all layers in the scene. Choosing this command opens the Select By Layer dialog; use standard methods to highlight one or more layers, and then click OK. The dialog closes, and all objects in the highlighted layer or layers are selected. Edit Commands These commands on the Edit menu on page 8589 are for basic edit manipulations of selections. Undo and Redo work as in standard Windows applications. These commands are available on the default main toolbar as well. 3ds Max also provides a history of commands. Right-clicking the Undo or Redo buttons displays a list of commands you can undo or redo. Not all operations are reversible using Undo. NOTE Viewport changes such as panning and zooming have a separate Undo and Redo. See View-Handling Commands on page 106. The Hold and Fetch command pair serves as an alternative to Undo and Redo. Hold saves the current state of the scene. After using Hold, you can restore that state at a later point by using Fetch. Sometimes, when you are about to perform a risky operation, an alert prompts you to first use Hold. 3ds Max does not have the Cut or Paste functions found in many Windows applications. The Delete command simply removes the selection from the scene. Undo/Redo Quick Access toolbar on page 8585 ➤ (Undo) or (Redo) Edit menu ➤ Undo or Redo Keyboard ➤ Ctrl+Z (Undo) or Ctrl+Y (Redo) The Undo command reverses the last operation, including selection actions and those performed on selected objects. Redo reverses the last Undo operation. Some actions cannot be undone: for example, applying the Collapse utility or Reset Transform utility, or saving a file, which overwrites the previous Edit Commands | 217 version. When you know an action cannot be undone, use Hold on page 219 first. Then if you want to undo it, use Fetch. Hold and Fetch are also commands on the Edit menu on page 8589. Afer you perform an action that is undoable, the Undo command on the Edit menu shows the name of the function to be undone. After you undo an action, the Redo command Edit menu shows the name of the function you can redo. Undo and Redo are also available as buttons on the Quick Access toolbar. You can click the Undo or Redo down-arrow to display a drop-down list that shows the last operations performed. You can highlight and reverse any number of these operations in sequence with the respective Undo or Redo command. By default, there are 20 levels of Undo. You can change the number of levels with the Customize ➤ Preferences ➤ General tab on page 8887 ➤ Scene Undo group. Undo/Redo and Object Creation When you create an object, the Create operation is recorded by 3ds Max and displayed next to the activated Undo command in the Edit menu. If you undo the Create operation, the Create operation appears next to the activated Redo command in the Edit menu. The Undo and Redo commands in the Edit menu are unavailable when no valid operation was performed or recorded. Procedures To undo the most recent action: Do one of the following: ■ Click (Undo).. ■ Choose Edit menu ➤ Undo. ■ Press Ctrl+Z. To undo several actions: 1 Click the (Undo) drop-down arrow. 2 From the list, select the level where you want to return. You must choose a continuous selection; you can’t skip over items in the list. 3 Click the Undo button. 218 | Chapter 4 Selecting Objects To exit the list without performing an action, click the Cancel button, or click somewhere outside of the list. To redo an action, do one of the following: 1 Click (Redo). 2 Edit menu ➤ Redo. 3 Press Ctrl+Y. To redo several actions: 1 Click the (Redo) drop-down arrow. 2 From the list, click the action to return to. Your selection must be continuous: you can't skip over any items in the list. 3 Click the Redo button. To exit the list without performing an action, click the Cancel button or click somewhere outside of the list. Hold/Fetch Edit menu ➤ Hold or Fetch Hold saves the scene and its settings to a disk-based buffer. Fetch restores the contents of the buffer stored by the previous Hold command. The information stored includes geometry, lights, cameras, the viewport configuration, and selection sets. Use Hold before you perform an operation that might not work as expected, that is new or unfamiliar to you, or that cannot be undone. If the results aren't as expected, you can use Fetch to return to the point where you chose Hold. TIP Also use Save or Save As before you perform an operation that cannot be undone: for example, applying the Reset Transform utility. Hold/Fetch | 219 If you experience an unexpected end of operation or crash after you perform Hold, you can retrieve your scene from the buffer with the Fetch command after you restart 3ds Max. Additional Details ■ The Hold buffer is a temporary file (maxhold.mx) in the directory specified by the AutoBackup path on the Configure User Paths dialog ➤ File I/O panel on page 8875. ■ Fetch also deletes all operations recorded in the Undo and Redo History lists. Delete Make a selection. ➤ Edit menu ➤ Delete Make a selection. ➤ Keyboard ➤ Delete The Delete command deletes the current selection from the model. The Undo command on page 217 can restore the deleted selection to the model. (Undo is also available as a button on the Quick Access toolbar on page 8585.) NOTE Actively file-linked objects on page 8014 cannot be deleted. 220 | Chapter 4 Selecting Objects Object Properties 5 The Object Properties dialog, available from the Edit and right-click menus, lets you view and edit parameters for how selected objects behave in viewports and renderings. Note that you cannot necessarily edit all properties; parameters that apply to renderable geometry are unavailable for non-renderable objects. However, parameters that apply to any object, such as Hide/Unhide, Freeze/Unfreeze, Trajectory, and so on, remain available for these non-renderable objects. With the Object Properties dialog you can specify settings per object or by layer on page 9114. Object settings affect only the object or objects selected. When an object is set to By Layer, it inherits its properties from the layer settings, which you set with the Layer Properties dialog on page 8548. The Object Properties dialog panels are: ■ General Panel (Object Properties Dialog) on page 221 ■ Advanced Lighting Panel (Object Properties Dialog) on page 232 ■ mental ray Panel (Object Properties Dialog) on page 236 ■ User Defined Panel (Object Properties Dialog) on page 240 Object Properties Dialog Panels The Object Properties dialog has four panels for managing properties. General Panel (Object Properties Dialog) Edit menu ➤ Object Properties ➤ Object Properties dialog ➤ General panel 221 Select object or objects. ➤ Right-click. ➤ Transform (lower-right) quadrant of the quad menu ➤ Object Properties ➤ Object Properties dialog ➤ General panel Layer manager ➤ Click the icon next to an object's name. ➤ Object Properties dialog ➤ General panel This panel of the Object Properties dialog displays general object information, as well as controls for rendering the object and displaying it in viewports. 222 | Chapter 5 Object Properties Interface General Panel (Object Properties Dialog) | 223 Object Information group This group displays information about the selected object, including the following: Name Shows the name of the object. When a single object is selected, you can edit this field to give the object a new name. When multiple objects are selected, this field shows "Multiple Selected," and cannot be edited. Color The color swatch shows the object's color. You can click it to display the Object Color dialog on page 300 and select a different color. Dimensions Displays the X, Y, and Z dimensions of the object's extents on page 9151. Vertices and Faces Display the number of vertices and faces in the object. For shapes on page 506, these values are the values used if you have made the shape renderable. Faces for renderable shapes are generated only at rendering time. Shape Vertices and Shape Curves Appear only for shape objects. Shape Vertices is the number of vertices in the shape, and Shape Curves is the number of polygons. (Shape Curves is the value that appeared as "Polygons" in previous releases.) These values can change over time: they are valid only for the current frame and the current view. Parent Displays the name of the object's parent in a hierarchy. Shows "Scene Root" if the object has no hierarchical parent. Material Name Displays the name of the material assigned to the object. Displays "None" if no material is assigned. Num. Children Displays the number of children hierarchically linked to the object. In Group/Assembly Displays the name of the group or assembly to which the object belongs. Displays "None" if the object is not part of a group. Layer Displays the name of the layer which the object is assigned to. Interactivity Group Hide Hides the selected object or objects. Hidden objects exist in the scene, but do not appear in the viewports or rendered images. To unhide hidden objects, use the Display panel on page 8805 or choose Tools ➤ Display Floater on page 8805. 224 | Chapter 5 Object Properties NOTE Objects residing on a hidden layer are automatically hidden, regardless of this setting. TIP The Layer Manager on page 8537 is the easiest way to hide groups of objects or layers. Freeze Freezes the selected object or objects. Frozen objects appear in the viewports, but cannot be manipulated. To unfreeze frozen objects, use the Display panel on page 8805 or choose Tools ➤ Display Floater on page 8805. NOTE Objects residing on a frozen layer are automatically frozen, regardless of this setting. TIP The Layer Manager on page 8537 is the easiest way to freeze groups of objects or layers. Display Properties group NOTE Most of these options are also available on the Display panel on page 8805 and by choosing Tools ➤ Display Floater on page 8805. By Object/By Layer Toggles between setting display properties on a per-object basis and at the layer level. When set to By Layer, the object display properties are unavailable; set the layer properties on the Layer Properties dialog on page 8548. NOTE If multiple objects are selected and have different values for this setting, this button reads “Mixed.” See-Through Makes the object or selection translucent in viewports. This setting has no effect on rendering: it simply lets you see what is behind an object in a crowded scene, and especially to adjust the position of objects behind the see-through object. Default=off. You can customize the color of see-through objects by using the Colors panel on page 8860 of the Customize ➤ Customize User Interface dialog on page 8837. Keyboard shortcut (default): Alt+X General Panel (Object Properties Dialog) | 225 Display as Box Toggles the display of selected objects, both 3D objects and 2D shapes, as bounding boxes on page 9113. Produces minimum geometric complexity for rapid display in viewports. Default=off. Backface Cull Toggles the display of faces with normals on page 9237 that point away from the view. When on, you see through the wireframe to the backfaces. Applies only to wireframe viewports. Default=off. Edges Only Toggles the display of hidden edges and polygon diagonals on page 9136. When on, only outside edges appear. When off, all mesh geometry 226 | Chapter 5 Object Properties appears. Applies to Wireframe viewport display mode, as well as other modes with Edged Faces turned on. NOTE This option is also available in the Display panel on page 8805 and by choosing Tools ➤ D isplay Floater on page 8805. Vertex Ticks Displays the object's vertices as tick marks. Default=off. Trajectory Displays the object's trajectory on page 9332. Default=off. General Panel (Object Properties Dialog) | 227 Ignore Extents When on, this object is ignored when you use the display controls Zoom Extents on page 8733 and Zoom Extents All on page 8726. Keyboard shortcut: No default, but you can customize it using the Keyboard panel on page 8837 of the Customize ➤ Customize User Interface dialog on page 8837. Show Frozen in Gray When on, the object turns gray in viewports when you freeze it. When off, viewports display the object with its usual color or texture even when it is frozen. Default=on. Never Degrade When on, the object is not subject to adaptive degradation on page 9084. Vertex Channel Display For editable mesh on page 2190, editable poly on page 2240, and editable patch on page 2374 objects, displays the assigned vertex colors in viewports. The drop-down list lets you choose to display Vertex Color, Vertex Illumination, Vertex Alpha, Map Channel Color, or Soft Selection Color. Default=off. You can assign vertex colors at all sub-object levels except Edge. Map Channel Sets the map channel for the vertex color. Available only when the Map Channel Color option is active. Shaded When on, shaded viewports add shading to the vertex coloring. When off, colors are unshaded. Default=off. Rendering Control group By Object/By Layer Toggles between setting rendering controls on a per-object basis and at the layer level. When set to By Layer, the object rendering control settings are unavailable; set the layer properties on the Layer Properties dialog on page 8548. NOTE If multiple objects are selected and have different values for this setting, this button reads “Mixed.” 228 | Chapter 5 Object Properties Visibility Controls the rendered visibility of the object. At 1.0, the object is fully visible. At 0.0, the object is completely invisible when rendered. Default=1.0. You can animate this parameter. Animating Visibility assigns a visibility controller to the object. By default this is a Bezier float controller on page 3462. Renderable Makes an object or selected objects appear or disappear from rendered output. Nonrenderable objects don't cast shadows or affect the visual component of the rendered scene. Like dummy objects, nonrenderable objects can manipulate other objects in the scene. For lights, this is the only available control in the Rendering Controls group. Making a light non-renderable effectively turns it off. Shape on page 506 objects have the Renderable option turned on by default. In addition, each shape has an Enable In Renderer parameter. When both check boxes are on, the shape appears in rendered output. If the Renderable object properties setting is off, the shape is not renderable, regardless of the state of its local Enable In Renderer check box. If you apply a modifier that converts the shape into a mesh object, such as a Lathe modifier on page 1418 or Extrude modifier on page 1369, the shape automatically becomes renderable regardless of the state of its local Enable In Renderer setting. Inherit Visibility Causes the object to inherit a percentage of the visibility of its parent (as determined by the parent's Visibility track in Track View). When a group parent is assigned a visibility track, Inherit Visibility is automatically turned on for all children in the group. The children will have the maximum visibility of the parent. Transparent materials and hidden objects have no effect on this function. Visible to Camera When on, the object is visible to cameras in the scene. When off, cameras do not view this object; however, its shadows and reflections are rendered. Default=on. Visible to Reflection/Refraction When on, the object has “secondary” visibility: it appears in rendered reflections and refractions. When off, the object does not appear in rendered reflections or refractions. Default=on. NOTE An object can have Visible To Camera on but Visible To Reflection/Refraction off, in which case the object renders in the scene but does not appear in reflections or refractions. Receive Shadows When on, the object can receive shadows. Default=on. Cast Shadows When on, the object can cast shadows. Default=on. General Panel (Object Properties Dialog) | 229 Apply Atmospherics When on, atmospheric effects are applied to the object. When off, atmospheric effects do not change the rendered appearance of this object. Default=on. Render Occluded Objects Allows special effects to affect objects in the scene that are occluded by this object. The special effects, typically applied by plug-ins on page 9270 such as Glow on page 7531, use G-buffer on page 9173 layers to access occluded objects. Turning on this control makes the object transparent for the purposes of special effects. This makes no difference when you render to most image files. When you render to either the RLA on page 8453 or RPF on page 8455 file format, however, occluded objects appear with the effect applied on their designated G-buffer layer. Default=off. G-Buffer group Allows you to tag an object as a target for a render effect on page 7515 based on the G-buffer on page 9173 channel. Assigning the object a nonzero ID creates a G-buffer channel that can be associated with a render effect. The Object ID property is also used with the Multi/Sub-Map shader on page 6834, and can be displayed in the Rendered Frame Window when rendering to RLA on page 8453 and RPF on page 8455 formats. WARNING The mental ray renderer on page 7129 does not recognize Z-depth with G-buffers. G-buffer data is saved on a single layer. Also, the mental ray renderer does not support the following effects: ■ Glow lens effect on page 7531 (rendering effect) ■ Ring lens effect on page 7538 (rendering effect) ■ Lens effects Focus filter on page 7801 (Video Post) Object ID Setting Object ID to a nonzero value means that the object will receive the rendering effects associated with that channel in Render Effects and the post-processing effects associated with that channel in Video Post. To save the channel data with the rendering, render to either the RLA on page 8453 or RPF on page 8455 file format. Motion Blur group By Object/By Layer Toggles between setting motion blur properties on a per-object basis and at the layer level. When set to By Layer, the motion blur settings are unavailable; set the layer properties on the Layer Properties dialog on page 8548. 230 | Chapter 5 Object Properties NOTE If multiple objects are selected and have different values for this setting, this button reads “Mixed.” Multiplier Affects the length of the motion-blur streak. If you choose either form of motion blur here in the Object Properties dialog, you must also choose to apply that type of blur in the Render Setup dialog on page 6956. The rendering speed of object motion blur depends on the complexity of the geometry to which it's assigned. The rendering speed of image motion blur depends on the amount of rendered screen space taken up by the blurring object. In most cases image motion blur renders more quickly. Object motion blur renders more quickly when applied to very simple objects, and image motion blur renders more slowly when the object takes up a lot of screen space, and moves all the way across the screen in a single frame. Changing the Object Blur Multiplier value. Enabled When on, enables motion blur for this object. When off, motion blur is disabled regardless of the other blur settings. Default=on. You can animate the Enabled check box. The main use of animating Enable is to apply motion blur over only a limited range of frames. This can save a tremendous amount of time when you are rendering an animation. You can enable motion blur for lights and cameras. With the mental ray renderer, moving lights and cameras can generate motion blur. However, they do not generate motion blur with the default scanline renderer. ■ NoneTurns off the state of motion blur for the object. General Panel (Object Properties Dialog) | 231 ■ ObjectObject motion blur on page 9242 provides a time-slice blur effect. ■ ImageImage motion blur on page 9190 blurs the object's image based on the velocity of each pixel. Advanced Lighting Panel (Object Properties Dialog) Select object or objects. ➤ Edit menu ➤ Object Properties ➤ Object Properties dialog ➤ Advanced Lighting panel Select object or objects. ➤ Right-click. ➤ Transform (lower-right) quadrant of the quad menu ➤ Object Properties ➤ Object Properties dialog ➤ Advanced Lighting panel Layer manager ➤ Click the icon next to an object's name. ➤ Object Properties dialog ➤ Advanced Lighting panel This panel of the Object Properties dialog lets you customize how objects behave under advanced lighting (the Light Tracer on page 7055 or radiosity on page 7068). 232 | Chapter 5 Object Properties Interface Advanced Lighting Panel (Object Properties Dialog) | 233 Selection Information rollout Num. Geometric Objects The number of geometric objects present in the current selection. Num. Light Objects The number of lights present in the current selection. Geometric Object Radiosity Properties rollout Exclude from Adv. Lighting Calculations When on, the current selection is excluded from advanced lighting (radiosity or light tracing). Objects excluded from advanced lighting will not contribute to indirect illumination. By Object/By Layer Toggles between object settings and object layer settings. Object settings affect only the object or objects selected. Object layer settings affect all objects on the same layer as the selected object. Most settings on this rollout are available only when this toggle is set to By Object. Default=By Object. NOTE If multiple objects with different settings are selected, this button will read “Mixed.” Adv. Lighting General Properties group Cast Shadows Determines whether objects will cast shadows in the radiosity solution. NOTE When disabling Cast Shadows, you should also turn off Diffuse (reflective & translucent) and Specular (transparent) in the Radiosity-only Properties group. If these switches are left turned on, objects will still generate light that can produce artifacts in the solution. Receive Illumination Determines whether objects will receive indirect illumination. Num. Regathering Rays Multiplier Lets you adjust the number of rays cast by this object, per pixel. If an object looks “blotchy” after rendering, Increasing this value can improve its appearance. Default=1.0. TIP Increasing this setting is most useful for objects with large, smooth surfaces. More complex geometry tends not to show advanced lighting artifacts as much as smooth surfaces do. Radiosity-only Properties group Diffuse (reflective & translucent) When on, the radiosity solution will process diffuse reflection and translucency on page 9337 of the selected objects. 234 | Chapter 5 Object Properties Specular (transparent) When on, radiosity will process transparency of the selected objects. Exclude from Regathering When on, objects are excluded from the regathering process when rendering. For more information on the Radiosity-only Properties group, see Radiosity Control Panel on page 7087. Object Subdivision Properties group Use Global Subdivision Settings When on, the object's meshing settings correspond to the global subdivision settings on the Radiosity Control Panel. When off, you can change the meshing settings for each object. Default=on. ■ SubdivideWhen on, a radiosity mesh is created for the objects regardless of the global meshing state. The subdivision that is performed is determined by the Use Adaptive Subdivision switch. When off, the settings in the Mesh Settings group are unavailable. Default=on. ■ Use Adaptive SubdivisionToggles adaptive subdivision. Default=on. TIP Adaptive meshing is computed for an object only if Shoot Direct Lights is turned on in the Radiosity Meshing Parameters rollout on page 7099. NOTE The Mesh Settings group parameters Contrast Threshold, Min Mesh Size, and Initial Mesh Size are available only when Use Adaptive Subdivision is turned on. Mesh Settings group Max Mesh Size The size of the largest faces after adaptive subdivision. Default=36” for imperial units and 100cm for metric units. When Use Adaptive Subdivision is off, Max Mesh Size sets the size of the radiosity mesh in world units. Min Mesh Size Faces are not divided smaller than the minimum mesh size. Default=3 inches for Imperial units and 10cm for metric units. Contrast Threshold Faces that have vertex illuminations that differ by more than the Contrast Threshold setting are subdivided. Default=75.0. Initial Mesh Size When improving the face shape, faces that are smaller than the Initial Mesh Size are not subdivided. The threshold for deciding whether a face is poorly shaped also gets larger as the face size is closer to the Initial Mesh Size. Default=12 inches for Imperial units and 30cm for metric units. Advanced Lighting Panel (Object Properties Dialog) | 235 _____ Radiosity Refine Iterations The number of refine iterations in the radiosity process for the current selection. Iterations Done The number of refine iterations performed on the current selection. Light Object Radiosity Properties rollout These options are available only for light objects. Exclude from Radiosity Processing When on, the current selection is excluded from the radiosity solution. When lights are excluded from radiosity, their direct contribution is only used for rendering. This option is available only when By Object is selected. By Object/By Layer Toggles between object settings or object layer settings. Object settings affect only the object or objects selected. Object layer settings affect all objects on the same layer as the selected object. NOTE If multiple objects are selected and have different settings, this button reads “Mixed.” Store Direct Illumination in Mesh When on, the light’s direct illumination is added to the radiosity mesh, even if the global rendering mode is Render Direct Illumination. This is comparable to the Re-Use Direct Illumination option when rendering radiosity, but only for this particular light. When off, the light's direct illumination is used only when you render the scene. This is comparable to the Render Direct Illumination option. for more information about the Re-Use Direct Illumination and Render Direct Illumination options, see Rendering Parameters Rollout (Radiosity) on page 7107. In general, re-using direct illumination stored in the radiosity mesh improves render time, but shadows appear coarse and inaccurate unless the mesh is very fine. Rendering direct illumination and shadows (using the radiosity mesh to provide only indirect light) takes more time but gives you a more finished and accurate image. mental ray Panel (Object Properties Dialog) Edit menu ➤ Object Properties ➤ Object Properties dialog ➤ mental ray panel 236 | Chapter 5 Object Properties Select object or objects. ➤ Right-click. ➤ Transform (lower-right) quadrant of the quad menu ➤ Object Properties ➤ Object Properties dialog ➤ mental ray panel Layer manager ➤ Click the icon next to an object's name. ➤ Object Properties dialog ➤ mental ray panel This panel of the Object Properties dialog supports mental ray rendering; specifically, the indirect illumination features caustics on page 7154 and global illumination on page 7160. They control whether objects generate or receive caustics or global illumination. These settings are ignored where they aren't appropriate. For example, lights can be set to generate caustics, but for a light, the Receive Caustics setting has no effect, as lights aren't renderable. Similarly, these settings have no meaning for cameras. Also available on this panel are controls for setting displacement parameters on a per-object basis. TIP Most of these settings, as well as additional rendering-related settings, are also available on the quad menu that opens when you Alt+Ctrl+right-click a selected object. mental ray Panel (Object Properties Dialog) | 237 Interface The mental ray panel contains object properties for the mental ray renderer. Final Gather group These settings let you specify how an object interacts with the final gather process. When Object is Hit by a Final Gather Ray ■ Return Object Color (Physically Correct)Returns the object’s material color at the point that the final gather ray intersects it, and contributes to final gather illumination. This is the default mode. ■ Return BlackBlocks final gather rays, returning no color, thus not shading the object at all. 238 | Chapter 5 Object Properties ■ Pass through (Invisible to FG)Prevents the final gather process from seeing the object during ray casting. This is useful for ignoring the light contribution from small, complex objects like blades of grass. The final gather rays pass through and strike the underlying object, such as a ground plane that is easier to shade. Receive Illumination from Final Gather When on, the object is subject to illumination from final gather rays. When off, the object is not illuminated by final gather rays. Default=on. Caustics and Illumination group These settings determine whether and how the object participates in the simulation of caustics and global illumination (photons). To use these capabilities, the respective check boxes must also be enabled on the Render Setup dialog's Caustics And Global Illumination rollout on page 7224. Exclude from Caustics When on, the object does not participate in the caustics solution. When off, the additional caustics-related object properties are available. Default=off. Generate Caustics When on, the object can generate caustics. When off, the object does not generate caustics. Default=off. Receive Caustics When on, the object can receive caustics. That is, caustic effects are cast onto this object. When off, the object does not receive caustics. Default=on. Exclude from GI When on, the object does not participate in the global-illumination solution. When off, the additional global-illumination-related object properties are available. Default=off. Generate Global Illumination When on, the object can generate global illumination. When off, the object does not generate global illumination. Default=off. Receive Global Illumination When on, the object can receive global illumination. That is, reflected light is cast onto this object. When off, the object does not receive global illumination. Default=on. Displacement group These settings let you apply displacement parameters on a per-object basis. Use Global Settings When on, applies to all objects the Displacement settings on the Render Setup dialog ➤ Renderer panel ➤ Shadows and Displacement rollout on page 7209. Turn off to make settings on a per-object basis. Default=on. mental ray Panel (Object Properties Dialog) | 239 View-Dependent Defines the space for displacement. When View-Dependent is on, the Edge Length setting specifies the length in pixels. When off, Edge Length is specified in world-space units. Default=on. Smoothing Turn off to have the mental ray renderer correctly render height maps. Height maps can be generated by normal mapping; see Creating and Using Normal Bump Maps on page 7320. When on, mental ray simply smoothes the geometry using the interpolated normals, making the geometry look better. This result, however, cannot be used for height map displacement because smoothing affects geometry in a way that is incompatible with height mapping. Edge Length Defines the smallest allowable edge length. The mental ray renderer will stop subdividing an edge once it reaches this size. Default=2.0 pixels. Max. Displace Controls the maximum offset, in world units, that can be given to a vertex when displacing it. This value can affect the bounding box of an object. Default=20.0. TIP If displaced geometry appears to be “clipped,” try increasing the value of Maximum Displace. NOTE When using placeholders (see the Translator Options rollout on page 7240), if this value is larger than it needs to be, it can reduce performance. If you experience slow times while displaced objects when Use Placeholder Objects is on, try lowering the Max. Displace value. Max. Level Controls how many times a triangle can be subdivided. Default=6. User Defined Panel (Object Properties Dialog) Edit menu ➤ Object Properties ➤ Object Properties dialog ➤ User Defined panel Select object or objects. ➤ Right-click. ➤ Transform (lower-right) quadrant of the quad menu ➤ Object Properties ➤ Object Properties dialog ➤ User Defined panel Layer manager ➤ Click the icon next to an object's name. ➤ Object Properties dialog ➤ User Defined panel This panel of the Object Properties dialog lets you enter properties or comments that you define yourself. 240 | Chapter 5 Object Properties Interface User Defined Panel (Object Properties Dialog) | 241 User Defined Properties In this text box, you can enter properties for the object, or comments about it, that you define yourself. 3ds Max doesn't use these properties, but it saves them with the scene, and they reappear whenever you view the Object Properties dialog for the object. Rename Objects Tool Tools menu ➤ Rename Objects The Rename Objects tool helps you rename several objects at once. Interface Selected When chosen, renaming affects currently selected objects. 242 | Chapter 5 Object Properties Pick Click to open the Pick Objects To Rename dialog, which lets you choose the objects to rename. This dialog has the same controls as Select From Scene on page 184. Base Name Enter a base name for all objects. The toggle enables or disables this name. Prefix When on, lets you enter a string that will be a prefix to the name of all renamed objects. Remove First N Digits When on, the first N characters in the base name are removed from object names. The spinner sets the value of N. Suffix When on, lets you enter a string that will be a suffix to the name of all renamed objects. Remove Last N Digits When on, the last N characters in the base name are removed from object names. The spinner sets the value of N. Numbered When on, lets you number object names incrementally. ■ Base NumberThe base number appended to the name of the first renamed object. ■ StepThe step by which the base number is incremented in succeeding renamed objects. Rename Click to rename the affected objects and have your changes take effect. Custom Attributes Animation menu ➤ Parameter Editor Keyboard ➤ Alt+1 Use the Parameter Editor to assign custom attributes to objects, modifiers, materials, and animation tracks. A custom attribute is an additional, abstract parameter; abstract in the sense that it does not directly extend the functionality of the object by default. It affects an object only after wire parameters on page 3645, reaction controllers on page 3559, or expression controllers on page 3486 are set up to connect the custom attribute to another parameter in the scene. You can also use custom attributes to store job-specific notes and data. Custom Attributes | 243 Custom attributes behave like other object parameters in several ways: ■ They are saved and loaded in the scene file along with the object. ■ They can be animated and keyframed. ■ They are displayed in Track View along with the base parameters. Each custom attribute parameter can be one of a number of different data types, including integers, floating numbers, Booleans, arrays, nodes, colors, and texture maps. Parameters added to an object or modifier appear on a Custom Attributes rollout on the Modify panel. For each custom attribute parameter you create, you can specify the name, layout, value range, default value, and UI type: spinner or slider for floats and integers, check box for Booleans, etc. As you customize an attribute, the result is displayed on the Testing Attribute rollout at the bottom of the dialog. NOTE If an object with custom attributes is placed in a container on page 7855, those attributes are retained in the inherited container. The inheritor of the container can unlock attribute values and edit them locally, but any locally added attributes to the same definition will be lost upon updating on page 7888 the container. See also: ■ Parameter Collector on page 260 ■ Attribute Holder Modifier on page 1102 Custom Attributes Special Features The Custom Attributes feature offers an array of workflow-enhancing functionality, including: ■ the ability to add custom attributes to specific animation tracks. ■ the ability to edit existing custom attributes. ■ 13 available data types. ■ a variety of available UI options, such as ComboBox and ListBox for the Array data type. ■ the ability to position UI elements precisely with X and Y Offset controls. 244 | Chapter 5 Object Properties ■ the ability to preserve custom attributes on page 8793 when collapsing the stack. ■ A special Attribute Holder modifier on page 1102 that lets you collect attributes from different entities and access them in one place on the Modify panel. Procedures To add a parameter to an object: 1 Select the object. 2 Choose Animation menu ➤ Parameter Editor. The Parameter Editor opens. 3 Change settings as desired. 4 Click Add. The parameter is added to the level specified in the Add To Type list. If an object has no custom attributes, Parameter Editor first adds a Custom Attributes entry to the current Add To Type level, and then adds the parameter to the Custom Attributes entry. If an object has more than one Custom Attributes entry as a result of collapsing its stack, the parameter is added to the first Custom Attributes entry. If a custom attribute parameter is assigned to an object or modifier, you can see and edit its value on the Modify panel after adding it by activating the entity to which the attribute is assigned. If the custom attribute is assigned to a material, it's available for that material in the Material Editor, on the Custom Attributes rollout. To access a parameter that's assigned to an animation track, open Track View, highlight the track's Custom Attributes entry, and then right-click and choose View Attribute Dialog. To edit a parameter or custom attribute: 1 Select the object. 2 Choose Animation menu ➤ Parameter Editor. The Parameter Editor opens. Custom Attributes | 245 3 From the Add To Type drop-down list, choose the type of parameter to edit, and then click Edit/Delete. The Edit Attributes/Parameters dialog opens. 246 | Chapter 5 Object Properties NOTE If you chose Add To Type ➤ Picked Track, the Track View Pick dialog might open first to prompt you to choose the animation track whose attribute to edit. 4 In the Edit Attributes/Parameters dialog, highlight the parameter to edit. Its settings appear in the Parameter Editor. 5 Change the settings in the Parameter editor, and then click Accept Parameter changes. 6 With multiple parameters or custom attributes, to change the ordering, click the entity to move, and then use the up and down arrow buttons to move the entity in the list. Moving a Custom Attributes entry also moves its parameters. NOTE You cannot rename a Custom Attributes entry. Custom Attributes | 247 7 When finished editing, click Apply Changes, and then exit the dialog by clicking the Close or Cancel button. To delete a custom attribute or parameter: 1 Select the object. 2 Choose Animation menu ➤ Parameter Editor. The Parameter Editor opens. 3 From the Add To Type drop-down list, choose the type of parameter to delete, and then click Edit/Delete. The Edit Attributes/Parameters dialog opens. NOTE If you chose Add To Type ➤ Picked Track, the Track View Pick dialog might open first to prompt you to choose the animation track from which to delete the attribute. 4 In the Edit Attributes/Parameters dialog, highlight the parameter to delete, and then click Delete Parameter. Alternatively, to delete all parameters under the same Custom Attributes heading as the highlighted parameter, click Delete All Parameters. To delete one or more custom attributes instead, click a Custom Attributes heading, and then click Delete Attribute or Delete All Attributes. Multiple attributes can result from collapsing an object's stack with Preserve Custom Attributes on. For example, one set of custom attributes might be applied to an object and a second set of attributes assigned to one of its modifiers. Collapsing such an object results in two sets of custom attributes. 5 Click Apply Changes, and then close the dialog by clicking its Close box or the Cancel button. Interface The Parameter Editor takes the form of a dialog with several rollouts: The first rollout sets general options for the attribute; the central rollout sets options for the current parameter type; and the third lets you preview the attribute user interface (UI). 248 | Chapter 5 Object Properties Attribute rollout Add to Type group Add to Type list Choose whether the custom attribute is assigned to the selected object, its active modifier (as highlighted in the modifier stack), its material, or a picked track. Also use this drop-down list to choose the attribute type to delete or edit. Custom Attributes | 249 If the text “Pick Explicit Track” appears in the box below the drop-down list before you choose Picked Track , the Track View Pick dialog appears showing the Track View hierarchy. Expand the hierarchy as necessary, click the track to add the attribute to, and then click OK. NOTE If you choose Selected Object's Current Modifier and multiple modifiers are highlighted in the stack when you click Add, Parameter Editor applies the custom attribute to the first modifier you highlighted and removes the highlighting from the other modifiers. Pick Explicit Track Click this button to open a Track View hierarchy window from which to choose an animation track. Navigate the hierarchy to find the desired track, highlight the track, and then click OK. The controller information for the track then appears in the text box to the right of the button, and the Parameter Editor will then use this track for adding or editing custom attributes and parameters. 250 | Chapter 5 Object Properties Add/Edit/Delete group Add Applies the custom attribute parameter to the current object, modifier, material, or track, depending on the current choice in the Add To Type list. If a custom attribute parameter is assigned to an object or modifier, you can see and edit its value on the Modify panel after adding it by activating the entity to which the attribute is assigned. If the custom attribute is assigned to a material, it's available for that material in the Material Editor. To access a parameter that's assigned to an animation track, open Track View, highlight the track's Custom Attributes entry, and then right-click and choose View Attribute Dialog. Edit/Delete Opens the Edit Attributes/Parameters dialog. This dialog displays a list of all of the custom attribute parameters assigned to the currently object at the current level. Dialog behavior is described in these two procedures: To edit a parameter or custom attribute: on page 245 and To delete a custom attribute or parameter: on page 248. Parameter Type group Parameter Type Use the drop-down list to choose the data type for the current parameter. The following list includes links to the sections describing the UI settings for each parameter's data type: ■ Angle: Spinner on page 252 or Slider on page 253 ■ Array on page 255 ■ Boolean: CheckBox on page 254 or CheckButton on page 254 ■ Color on page 257 ■ Float: Spinner on page 252 or Slider on page 253 ■ fRGBA on page 257 ■ Integer: Spinner on page 252 or Slider on page 253 ■ Material on page 258 ■ Node on page 257 ■ Percent: Spinner on page 252 or Slider on page 253 ■ String on page 259 ■ TextureMap on page 258 ■ WorldUnits: Spinner on page 252 or Slider on page 253 Custom Attributes | 251 UI Type group UI Type Selects the type of UI element that controls the parameter. The UI types available depend on which parameter type you specify. For example, float and integer values are controlled by spinners or sliders, and Boolean values by check boxes or check buttons. Array values are always controlled by drop-down lists, node values by pick buttons, color values by color pickers, and texture map values by map buttons. Full descriptions of each UI Options rollout follow, and the list of parameter types, above, includes links to the respective UI Options rollout descriptions. Name The name of the parameter. Parameter Editor gives the parameter the default name Param#, with # being a number. Change the name by editing this field. Angle/Float/Integer/Percent/WorldUnits UI Options rollout: Spinner This is a numeric value that the user can set with a standard 3ds Max spinner. Size group Width Sets the width of the spinner. Range group From Sets the minimum value of the spinner. To Sets the maximum value of the spinner. 252 | Chapter 5 Object Properties Default Sets the default value of the spinner. Alignment group Left/Right/Center Sets the alignment of the spinner in the rollout. Offsets X/Y Fine-tune the position of the spinner on the horizontal and vertical axes. Angle/Float/Integer/Percent/WorldUnits UI Options rollout: Slider This is a numeric value that the user can set with a standard 3ds Max slider. Size group Width Sets the width of the slider. Range group From Sets the minimum value of the slider. To Sets the maximum value of the slider. Default Sets the default value of the slider. Alignment group Left/Right/Center Sets the alignment of the slider in the rollout. Offsets X/Y Fine-tune the position of the slider on the horizontal and vertical axes. Custom Attributes | 253 Orientation And Ticks group Vertical When on, the slider will be displayed vertically. When off, the slider is displayed horizontally. Ticks Sets the number of ticks along the slider. The ticks are distributed evenly along the length of the slider. Boolean UI Options rollout: Check Box This is a standard 3ds Max check box that the user can turn on and off by clicking it with the mouse. Size group Width Sets the width of the check box. Height Sets the height of the check box. Alignment group Left/Right/Center Sets the alignment of the check box in the rollout. Offsets X/Y Fine-tune the position of the check box on the horizontal and vertical axes. Boolean UI Options rollout: Check Button This is a standard 3ds Max check button that the user can turn on and off by clicking it with the mouse. 254 | Chapter 5 Object Properties Size group Width Sets the width of the check button. Height Sets the height of the check button. Alignment group Left/Right/Center Sets the alignment of the check button in the rollout. Offsets X/Y Fine-tune the position of the check button on the horizontal and vertical axes. Check Button Options group Highlight Color Sets the color of the button when it is pressed. Array UI Options rollout: Drop-Down List/ComboBox/ListBox This lets the user of the custom attribute choose a named option from a list. The options for the three Array UI types are the same; they differ in how they appear on the Custom Attributes rollout. The types are: ■ Drop-Down List: Only the current choice is visible by default. The user clicks the field to open the list and then clicks to choose a different item. ■ ComboBox: Displays an editable field above a list box. The user clicks to choose from the list, or edits the field. ■ ListBox: Displays a list. The user clicks the desired item; the highlighting indicates the current choice. Custom Attributes | 255 Size group Width Sets the width of the list. Height Sets the height of the list. Alignment group Left/Right/Center Sets the alignment of the drop-down list in the rollout. Offsets X/Y Fine-tune the position of the array list on the horizontal and vertical axes. Array group Item name Lets you enter a name into the list. Click Add Item to add the name to the array list. To remove an item, highlight its name and click Delete Item. Click Clear Array to remove all items from the list. [array list] Displays the contents of the list. The item at the top of the array list is the default selection. 256 | Chapter 5 Object Properties Node UI Options rollout: Pick Button A node is any object in the 3ds Max scene. The Node UI element creates a button that, when clicked, lets the user pick a scene node other than the one to which the attribute is attached. After selecting the node, its name appears on the button. Size group Width Sets the width of the pick button. Height Sets the height of the pick button. Alignment group Left/Right/Center Sets the alignment of the pick button in the rollout. Offsets X/Y Fine-tune the position of the pick button on the horizontal and vertical axes. Color UI Options rollout: Color Picker This creates a color swatch that displays the current color and lets the user click it to choose a new color with the Color Selector dialog. Custom Attributes | 257 Size group Width Sets the width of the color picker. Height Sets the height of the color picker. Alignment group Left/Right/Center Sets the alignment of color picker in the rollout. Offsets X/Y Fine-tune the position of the color picker on the horizontal and vertical axes. ColorPicker Default Color group Default Color Sets the default color of the color picker. Material/TextureMap Options rollout: MaterialButton/MapButton The options for the Material UI type (MaterialButton) and TextureMap UI type (MapButton) are the same. The difference is that, when the user clicks the resulting button to open the Material/Map Browser, the former displays only materials and the latter displays only maps. 258 | Chapter 5 Object Properties Size group Width Sets the width of the material/map button. Height Sets the height of the material/map button. Alignment group Left/Right/Center Sets the alignment of the material/map button in the rollout. Offsets X/Y Fine-tune the position of the material/map button on the horizontal and vertical axes. String Options rollout: EditText The String parameter type creates a text box that the user can edit with the keyboard, with optional default text. Size group Width Sets the width of the material/map button. Height Sets the height of the material/map button. Alignment group Left/Right/Center Sets the alignment of the text box in the rollout. Offsets X/Y Fine-tune the position of the text box on the horizontal and vertical axes. Label group Label above text box When off, the label (parameter name) appears to the left of the text box. When on, the label appears above the text box. EditText Default Text group Default Text Enter any default text that should appear in the box before the user edits it. Testing Attribute rollout Custom Attributes | 259 This rollout displays the UI layout for the custom attribute that you are working on. It updates continuously so that you can see how different settings in the various rollouts affect the UI display of the attribute. The UI element is operational in this rollout in the sense that it can be moved, clicked, toggled, and so on. Parameter Collector Animation menu ➤ Parameter Collector Keyboard ➤ Alt+2 Parameter Collector lets you sort and present animatable parameters so that you can access and key selected parameter sets with a click or two. It takes the form of a resizable dialog that regenerates dynamically as parameters change. The dialog supports drag-and-drop rollout reordering. Collections are saved with their scenes and can be merged into other scenes. One of Parameter Collector's most powerful features is the ability to change all parameters in a collection simultaneously, in an absolute or relative mode. For example, if you're animating a character's hand, you can use Parameter Collector to easily make all the fingers curl up together to form a fist. NOTE Parameter Collector does not support parameters of externally referenced objects on page 7971 or objects in externally referenced scenes on page 7999. See also: ■ Custom Attributes on page 243 ■ Attribute Holder Modifier on page 1102 Procedures Example: To use Parameter Collector: This exercise demonstrates some basic Parameter Collector functions. In general, start with a scene containing one or more objects whose parameters you'll collect. Ideally, they should be animated, but it's not absolutely necessary. 1 For this example, reset 3ds Max and then add a sphere. 2 Open Parameter Collector from the Animation menu, or press Alt+2. 260 | Chapter 5 Object Properties 3 On the Parameter Collector toolbar, click (Add To New Rollout). The Track View Pick dialog opens. This lets you specify parameters to collect. 4 On the Track View Pick dialog, expand Objects ➤ Sphere01 ➤ Transform: Position/Rotation/Scale ➤ Position: Position XYZ. 5 Click X Position: Bezier Float. The parameter highlights. 6 Click OK to close the dialog. A new rollout named Parameters 1 appears, containing the X Position parameter. NOTE A parameter in Parameter Collector can contain only a single value (for example: float, integer, color), so 3ds Max doesn't let you add parameters such as Position: Position XYZ, which contains three distinct values. 7 Click (Add To Selected Rollout), and then use the same method to add the Y Position and Z Position parameters: Highlight both parameters on the Track View Pick dialog and then click Add To Selected Rollout to add both at once to the Parameters 1 rollout. 8 Drag each spinner in turn to move the sphere on the respective axis. As you change each parameter value, the sphere moves in real time in the viewports. 9 Set all three parameters to 0.0. 10 Click the check button next to each parameter to select all three. 11 On the toolbar, turn on (Multiple Edits). Parameter Collector | 261 12 Drag one of the spinners. All three change by the same amount, so that the sphere moves diagonally in the scene. 13 Use the keyboard to change the Y Position value to 30.0. Again, the other two change. 14 Click (Absolute/Relative) to turn on Relative mode. All the values display 0.0, as with Offset mode on the status bar coordinate display. 15 Use the spinner to set Y Position to 0.65. The three change in unison, and then reset back to 0.0 when you release the mouse button. This has added the value you set to each of the three positions, as you'll see in the next step. 16 Click the Absolute/Relative button to return to Absolute mode. The values are all set to 30.65, reflecting the relative change that you made. Next, you'll try a few Edit commands. 17 Click the Y Position check button to deselect the parameter. 18 From the Edit menu, choose Select Invert. The Y Position parameter is now selected, and the other two are deselected. 19 Click (Move Parameters Up). The Y Position parameter now sits above the X Position parameter. 20 Click (Move Parameters Down). The Y Position returns to its position below the X Position parameter. 21 Choose Edit ➤ Edit Notes. The Notes dialog opens. Here you can change the parameter name, set a URL or file location with further information about the parameter, and enter comments. 22 In the box below Parameter Name, type Sphere Y Loc., and then press Enter. 262 | Chapter 5 Object Properties The new name replaces the old one on the rollout. You can see the original name by hovering the mouse cursor over the parameter name; it appears on a tooltip. To conclude this exercise, you'll use Parameter Collector to set and edit animation keyframes. 23 On the Collection menu, turn on Show Keys In Track Bar if necessary. 24 On the 3ds Max status bar, turn on (Auto Key). 25 Change the Sphere Y Loc. (the old Y Position) parameter value to 20.0. Because you're at frame 0, no key is set. This is the same way Auto Key works normally. 26 Go to frame 20 and then set Sphere Y Loc. to 30.0. This sets animation keys at frames 0 and 20. 27 Right-click the key at frame 20. The menu shows that a key exists at frame 20 only for Y Position. Normally, 3ds Max would create keys for all three axes, even if you moved the sphere only on one axis. Parameter Collector can set keys for unselected objects as well. 28 Click in an empty area of the active viewport to deselect the sphere, and then go to frame 30 and change the Sphere Y Loc. value to 40.0. This sets another key for Y Position at frame 30. 29 In Parameter Collector, select the X Position and Z Position parameters, and then click (Key Selected). This button is available only when Auto Key is on. 30 Check the track bar key again. Now there are keys for all three parameters, as demonstrated by the red brackets on the spinners in Parameter Collector. 31 Click (Properties), to the right of the Sphere Y Loc. parameter. This opens a Key Info dialog on page 3447 for the parameter, with the ability to edit the key time and value as well as interpolation with other keys. The dialog is also available from the track bar right-click menu, but it's much easier to access the data for a specific key from Parameter Collector. Parameter Collector | 263 Interface Parameter Collector takes the form of a dialog with a menu bar, a toolbar, and rollouts that you create and modify using the dialog tools. You can resize the dialog horizontally and vertically; expanding it lets you see all rollouts simultaneously. 264 | Chapter 5 Object Properties Menu Bar The menu bar provides a range of functions for using Parameter Collector. See Parameter Collector Menu Bar on page 268 for details. Also, you can open the Spinner Right-Click menu on page 3411 by right-clicking a numeric field in Parameter Collector. Toolbar The Parameter Collector toolbar provides button access to the most commonly used functions. [collection name] If empty, enter a name for the current collection, or choose a different collection from the drop-down list. If a name appears and you edit it, pressing Enter duplicates the current collection with the new name. New Collection Creates a new, empty collection, clearing the current collection name and the rollout area. You can restore any existing collection by choosing it from the drop-down list. This button is unavailable if you have not entered a name for the collection. Duplicate Collection Creates a new, unnamed collection containing the same data as the current collection. Enter a name for the duplicate selection in the editable field. This button is unavailable if you have not entered a name for the collection. TIP You can also duplicate a collection and name it at the same time by editing the name of an existing collection and then pressing Enter. Delete Collection Removes the current collection from memory. This button is unavailable if you have not entered a name for the collection. Multiple Edits Enables multiple editing, in which changing the value of any selected parameter simultaneously changes all selected parameters of Parameter Collector | 265 the same type by the same amount. This applies to both Absolute and Relative modes (see following). Absolute/Relative Works the same way as the Absolute/Offset mode toggle on the Coordinate Display on page 8669. When Absolute is chosen, modifying a value changes it to the exact amount you specify. When Relative is chosen, the displayed value is 0, and modifying the parameter adds the specified change to the original value. The actual value appears only in Absolute mode. This applies to numeric values only; any changes to other values, such as color, are always absolute. NOTE With multiple parameters selected, and Multiple Edits on, changing the value of a selected parameter changes the other selected parameter values by the same amount, not to the same amount. This happens in both Absolute and Relative modes. Key Selected Sets keys on page 9200 for selected parameters only at the current frame. Available only when Auto Key on page 8679 is on. Reset Selected Sets all selected numeric parameters to 0. Has no effect on other parameter types. Move Parameters Down Moves each selected parameter down one position within its rollout, if possible. Move Parameters Up Moves each selected parameter up one position within its rollout, if possible. Add to Selected Rollout Lets you add new parameters to the selected rollout. Click this button to open the Track View Pick dialog, and then choose the parameters from the dialog. NOTE You can add several parameters at once by highlighting them in the dialog before clicking OK. 266 | Chapter 5 Object Properties Add to New Rollout Lets you add new parameters to a new rollout. Click this button to open the Track View Pick dialog, and then choose the parameter from the dialog. Parameter Collector creates a new rollout to hold the parameters. NOTE You can add several parameters at once by highlighting them in the dialog before clicking OK. Delete Selected Deletes all selected parameters. Delete All Deletes all parameters and rollouts. Rollouts Rollouts work the same way in Parameter Collector as they do on the command panel on page 8569. You can expand and collapse a rollout by clicking its title bar, and move it to another location by dragging the title bar. You can resize the dialog to be able to see all rollouts at once. Only one rollout can be selected at a time. You select a rollout by clicking the horizontal bar beneath the title; when selected, this bar is orange-yellow in color, and angle brackets surround the rollout title (for example, “> Hand Parameters <”). The interface for each parameter on a rollout is as follows: [Select Parameter] A small check button on the left side of the rollout. Click it to toggle the parameter's selection status. When selected, the button appears pressed in and is colored yellow-orange. [parameter name] By default, the parameter has the same name as is shown in Track View, but you can change it with the Edit menu ➤ Edit Notes command. You can see the default name for a parameter as well as the object it controls, if any, by hovering the mouse over the parameter name; the information appears on a tooltip. [parameter value] Shows the current value of the parameter. The parameter type determines how this appears: numeric field/spinner, color swatch, etc. You can edit the value the same way as on the command panel or a dialog. If a key exists for the value at the current frame, the spinner or swatch appears with red brackets at the corners. Parameter Collector | 267 [Properties] Opens a Key Info dialog on page 3447 for the parameter. Available only if the parameter has an animation controller. Use the Key Info dialog to edit an animation key's value, time, and interpolation methods. Parameter Collector Menu Bar Animation menu ➤ Parameter Collector ➤ Parameter Collector menu bar Keyboard ➤ Alt+2 ➤ Parameter Collector menu bar The Parameter Collector dialog menu bar provides access to a number of important commands. Some of these commands are replicated on the dialog toolbar; others, such as the Select tools, are available only from the menus. Also, you can open the Spinner Right-Click menu on page 3411 by right-clicking a numeric field in Parameter Collector. Interface Collection menu The first three items in this menu are unavailable until you enter a name for the current collection in the editable field (drop-down list) just below the menu bar. New Collection Creates a new, empty collection, clearing the current collection name and the rollout area. You can restore any existing collection by choosing it from the drop-down list. Duplicate Collection Creates a new, unnamed collection containing the same data as the current collection. Enter a name for the duplicate selection in the editable field. Delete Collection Removes the current collection from memory. Show Keys in Track Bar Displays in the track bar on page 8659 animation keys for all objects with parameters in the current collection, whether or not the objects are selected in the scene. Isolate Keys in Track Bar The track bar displays only keys for parameters in the Parameter Collector. Show Selected Keys in Track Bar Displays in the track bar on page 8659 animation keys for all objects with selected parameters in the current collection, whether or not the objects are selected in the scene. 268 | Chapter 5 Object Properties Isolate Selected Keys in Track Bar The track bar displays only keys for selected parameters in the Parameter Collector. Put to Object Stores the current collection as part of an object in the scene. Opens the Put To Object dialog; highlight an object in the list, and then click Pick. Although parameter collections are stored with the scene in which they're created, you can use this function to transfer a collection to a different scene. After putting the collection to an object, save the scene. Open or create another scene, merge the object from the saved scene to the new one, and then use Get from Object. You can also back up, organize and streamline parameter collections by putting and getting different collections to and from various objects in your scene. Just remember that if you add, reorder, or remove parameters or rollouts to a collection that has been put to an object, you must then put it to the object again so the changes are saved to the collection. Link to Object Stores the current collection using a live link as part of an object in the scene. Any change to the collection instantly updates the version of the collection stored in the object. Opens the Link To Object dialog; highlight an object in the list, and then click Pick. Link to Object has basically the same function as Put To Object (see previous entry), except that it guarantees an up-to-date stored version of the collection, especially when merging the object into another scene that is a common production workflow. NOTE Only one “linked-to” object can be active in a scene, but you can use Put To Object on any number of objects at a time. Get from Object Retrieves a collection that you stored with Put To Object or Link To Object. Remove from Object Deletes a collection that you stored with Put To Object or Link To Object. Edit menu Parameter Collector lets you select parameters in any combination, but you can select no more than one rollout at a time. To select or deselect a parameter, click the small button on its left side. To select or deselect a rollout, click the wide horizontal button just below the rollout title. Selecting a rollout deselects any other selected rollout. Select All Selects all parameters and rollouts. Parameter Collector Menu Bar | 269 Select All Rollout Selects all parameters on the current rollout. Unavailable if no rollout is selected. Select None Deselects all parameters. Select Invert Inverts the current selection of parameters. Delete Selected Deletes all selected parameters. Delete All Deletes all parameters and rollouts. Multiple Edits Enables multiple editing, in which changing any parameter simultaneously changes all selected parameters of the same or similar type. NOTE The changed parameter need not be selected. Absolute/Relative This works the same as the Absolute/Offset mode toggle on the Coordinate Display on page 8669. When Absolute is chosen, modifying a value changes it to the exact amount you specify. When Relative is chosen, the displayed value shows 0, and modifying the parameter adds the specified change to the original value. This applies to numeric values only; changes to any other value types such as color are always absolute. Edit Notes Opens a single Notes dialog on page 271 for all selected parameters. You can open the Notes dialog for a single parameter by right-clicking its Select Parameter button. Parameters menu Add to Selected Lets you add new parameters to the selected rollout. Add to New Rollout Lets you add new parameters to a new rollout. Move Up Moves selected parameters up one position within their rollout, if possible. Move Down Moves selected parameters down one position within their rollout, if possible. Move Up By Rollout Moves selected parameters to the rollout above, if possible. If the same parameter already exists in the rollout above, the selected parameter is simply deleted. Move Down By Rollout Moves selected parameters to the next rollout, if possible. If the same parameter already exists in the next rollout, the selected parameter is simply deleted. Key All Sets keys on page 9200 for all parameters at the current frame. Available only when Auto Key on page 8679 is on. 270 | Chapter 5 Object Properties Key Selected Sets keys on page 9200 for selected parameters only at the current frame. Available only when Auto Key on page 8679 is on. Reset All Sets all numeric parameters to 0. Has no effect on other parameter types. Reset Selected Sets all selected numeric parameters to 0. Has no effect on other parameter types. Rollout menu NOTE While there are no menu commands for moving rollouts, you can do so simply by dragging the rollout title bar to a new location. New Rollout Creates a new, empty rollout. New Rollout Selected Parameters Creates a new rollout and populates it with copies of any selected parameters. Rename Rollout Opens a small dialog that lets you rename the selected rollout. Delete Rollout Deletes the selected rollout. Delete Rollout Move Up Deletes the selected rollout and moves its parameters to the rollout above. Delete Rollout Move Down Deletes the selected rollout and moves its parameters to the rollout below. Notes Dialog (Parameter Collector) Parameter Collector ➤ Select one or more parameters. ➤ Parameter Collector menu bar ➤ Edit menu ➤ Notes Parameter Collector ➤ Right-click a Parameter Select button. The Notes dialog lets you enter a name, URL, and comments for one or more selected parameters in Parameter Collector. Choosing Notes from the Edit menu with multiple parameters selected opens a single dialog common to all selected parameters. Right-clicking a Parameter Select button opens a dialog for that parameter only. When you open Notes from the Edit menu with multiple parameters selected, if the text contents for a box in all selected parameters are the same (or null), its check box is on, indicating that changes to the text will apply to all selected parameters. If a text box has different contents for different selected parameters, Notes Dialog (Parameter Collector) | 271 the check box is off, and the corresponding text box is empty and unavailable, preventing any changes. If you turn on a check box, you can edit the text, and changes will be applied to all selected parameters. Interface The Notes dialog interface comprises three text boxes, each with its respective check box, and a button. By default, the text boxes are empty; you can enter any text into each box, although each has a specific purpose, as described below. Parameter Name Lets you change the parameter name shown in Parameter Collector. By default, the parameter name displayed in Parameter Collector is the same as the name that appeared in the Track View Pick dialog when you added it to Parameter Collector. If you enter a different name in the Notes dialog, Parameter Collector then displays that name. The changed name is used only in Parameter Collector; elsewhere, such as the Modify panel, it remains the same as before. 272 | Chapter 5 Object Properties You can see the original parameter name, as well as the object to which it's attached, by hovering the mouse over the parameter name in Parameter Collector; the information appears in a tooltip. URL Lets you enter a URL, such as www.discreet.com. This could be a link to a Web or intranet page, or even a network location or file pertaining to the selected parameter. To access the link, click the Go button. Go If the URL text box contains a valid URL, clicking Go opens the URL in a separate browser window. Notes Contains any comments on the parameters. This field is strictly for informational purposes. Expression Techniques In 3ds Max, you can use mathematical expressions (rather than constant numbers) to express parameter values. For example, you could use the expression 24*6 to represent the number 144. You can use mathematical expressions to control the following object properties: ■ Object parameters, such as length, width, and height ■ Transform and modifier values, such as an object's position coordinates Parameter wiring on page 3645, the expression controller on page 3486, and the numerical expression evaluator on page 8570 all use expressions, which are described in this topic. An expression is a mathematical function that returns a value. You can use expressions to control the following scene elements: Scene element Calculatable property Creation parameters Any numeric creation parameter Transforms Position [X, Y, Z] X Rotation Y Rotation Z Rotation Scale [X%, Y%, Z%] Expression Techniques | 273 Scene element Calculatable property Modifiers Any numeric modifier parameter (including creation parameters) Materials Colors [R, G, B] Any numeric material parameter NOTE Expressions work only with the individual XYZ components of Euler rotation. You can't assign an expression to TCB rotation or other kinds of rotation controllers. The following links jump to sections within this topic: ■ Expression Return Types on page 274 ■ Operators on page 275 ■ Variables on page 277 ■ Functions on page 279 See also: ■ Trigonometric Functions on page 282 ■ Vectors on page 285 ■ Expression Controller Techniques on page 3492 Expression Return Types The type of value returned by an expression depends on the kind of controller: ■ Float expressions return a floating-point scalar value (For example, 5.617). Scalars are used in the animation controllers of numeric parameters. If the parameter has an integer value, the expression rounds the float value to the nearest integer. ■ Position, Scale, and Point3 expressions return a three-component vector. For example, [5, 18, 24]. The vector can represent an object's X,Y,Z location, percent scaling in X, Y, and Z, or a color (RGB values) in a material. 274 | Chapter 5 Object Properties Operators In the following tables, p and q are any scalar value or expression, V and W are any vector value or expression. (The character "x" is used as the vector cross-product operator.) Scalar Operators These are the arithmetic operators for scalar values: Operator Use Meaning + p+q Addition - p-q Subtraction - -p Additive inverse * p*q Multiplication / p/q Division ^ p^q power (p to the power of q) ** p**q ^ and ** are the same operation You can also use logical (Boolean) operators with scalar values. These operators all return 1 if true, 0 otherwise: Operator Use Meaning = p=q equal to < p p>q Greater than <= p<=q less than or equal to >= p>=q Greater than or equal to | p|q Logical OR, returns 1 if either p or q is nonzero; otherwise, returns 0 Expression Techniques | 275 Operator Use Meaning & p&q Logical AND, returns 1 if p and q are both nonzero; otherwise, returns 0 TIP Logical operators are useful with the "if" function. Vector Operators For vectors that have a variable name, you can use a special component operator (.) to refer to the three scalar components of the vector: Use Meaning V.x first component (X) V.y second component (Y) V.z third component (Z) These are the operators for vector arithmetic: Operator Use Meaning + V+W Addition - V-W subtraction * p*V scalar multiplication * V*p scalar multiplication * V*W dot product X VxW cross product / V/p scalar division 276 | Chapter 5 Object Properties Operator Precedence Expressions have eight levels of precedence. The higher the operator is on the list, the earlier it is evaluated. Operator Level of Precedence -+ as unary operators, as in -8, +25 . the component operator, as in V.x ** ^ X cross product */ += < > <= >= |& Parentheses are a special case. They are a grouping or subexpression operator that is provided so you can override the precedence order of the other operators. Variables In expressions you write for expression controllers on page 3486, variables are represented by symbolic names. You create them to contain constant or variable values in your expressions. Several predefined variables are also provided. Some of these have a constant value, others can vary. In expressions used for parameter wiring on page 3645 and the numerical expression evaluator on page 8570, you can use predefined variables with constant values. Expression Techniques | 277 Predefined Variables with Constant Values These are the predefined variables that have a constant value (variable names are case-sensitive): Variable Name Constant Value Use pi 3.14159 Ratio of a circle's circumference to its diameter. e 2.71828 Base of natural logarithms. TPS 4800 Ticks per second. The tick is the basic time unit of 3ds Max animation. Predefined Variables with Variable Values These are the predefined variables that have a variable, time-based value (variable names are case-sensitive). Variable Name Meaning F Frame number. For each frame, F equals the current frame number, counting from zero. The range of frames can vary depending on the number of frames in the active time segment. NT Normalized time. By definition, normalized time (NT) ranges from 0 to 1 over the active time segment, regardless of how many frames are in the segment. If you base an expression on NT, its effect happens exactly once over the range. You can also multiply NT by a factor for the expression's effect to occur a certain number of times (for example, 2*NT causes the expression's effect to occur twice). Expressions based on NT speed up or slow down if you change the length of the time segment. 278 | Chapter 5 Object Properties Variable Name Meaning S Seconds (elapsed time in seconds). Elapsed time is measured from the first frame to the current frame. The range of seconds can vary depending on the total time of the active time segment. T Ticks (elapsed time in ticks). There are 4800 ticks per second. Elapsed time is measured from the first frame to the current frame. The range of ticks can vary depending on the total time of the active time segment. Rules for Variable Names ■ Variable names can contain as many alphanumeric characters as you like. Their length is not limited. ■ Variable names cannot contain spaces. ■ The variable name must begin with a letter. Numbers are valid within a variable name (as in "Pos1" or "M23"). ■ Variable names are case-sensitive. For example, "pos", "Pos", and "POS" designate three different variables. ■ You can't create a variable with a name that duplicates another name, including the variable names that are predefined. Functions Following is a list of the functions provided for expressions. In this list, p, q, and r represent scalar values or scalar expressions. V and W represent vector values or vector expressions. To use a function in an expression, enter the name of the function and appropriate arguments to it. Expression Techniques | 279 Trigonometric Functions The sine, cosine, and tangent functions take an angle in degrees and return a floating-point value. The arc functions take a floating-point value and return a value in degrees. Function Meaning sin(p) sine cos(p) cosine tan(p) tangent asin(p) arc sine acos(p) arc cosine atan(p) arc tangent Hyperbolic Functions Hyperbolic functions take a floating-point value and return a floating-point value. Function Meaning sinh(p) hyperbolic sine cosh(p) hyperbolic cosine tanh(p) hyperbolic tangent Conversion Between Radians and Degrees Function Meaning radToDeg(p) takes p in radians and returns the same angle in degrees degToRad(p) takes p in degrees and returns the same angle in radians 280 | Chapter 5 Object Properties Rounding Functions Function Meaning ceil(p) smallest integer greater than or equal to p floor(p) largest integer less than or equal to p Standard Calculations Function Meaning ln(p) natural (base e) logarithm log(p) common (base 10) logarithm exp(p) exponential function exp(p)=e^p pow(p,q) p to the power of q (p^q) sqrt(p) square root abs(p) absolute value min(p,q) minimum returns p or q, depending on which is smaller max(p,q) maximum returns p or q, depending on which is greater mod(p,q) remainder of p divided by q Conditional Functions Function Meaning if(p then q else if r then s) uses the standard “if/then/else if” structure. For example: if (X_Position<0) then 0 else if (X_Position>=0 and X_Position<=10) then X_Position*3 else 100 This returns 0 if the X position is less than 0, or the X position times 3 if the X posi- Expression Techniques | 281 Function Meaning tion is between 0 and 10 inclusive, or 100 if the X position is greater than 10. The “else if” part is optional, and can be repeated to specify several different conditions if necessary. vif(c,V1,V2) "Vector If" (Value is V1 if c is true, else V2.) Vector Handling Functions Function Meaning length(V) length of V comp(V,i) i'th component (I=0,1,2): comp([5,6,7],1)=6 unit(V) returns a unit vector in the same direction as V NOTE The comp function is an alternative to the notation V.x, V.y, V.z. Special Animation Function Function Meaning noise(p,q,r) 3D noise: returns a randomly generated position The arbitrary values p, q and r, are used as a random-generation seed. You can reuse these values to ensure that noise() returns the same value. Trigonometric Functions This topic is a quick review for readers who need a reminder about this area of mathematics. If you’re familiar with trigonometry, you can skip this topic. If you find this topic difficult to follow, you might consult a more basic reference on mathematics. Trigonometric functions are principally used to model or describe: ■ The relation between angles in a triangle (hence the name). 282 | Chapter 5 Object Properties ■ Rotations about a circle, including locations given in polar coordinates. ■ Cyclical or periodic values, such as sound waves. The three basic trigonometric functions are derived from an angle rotating about a unit circle. Trigonometric functions based on the unit circle The tangent function is undefined for x=0. Another way to define the tangent is: Because XYR defines a right-angled triangle, the relation between the sine and cosine is: The graphs of the basic trigonometric functions illustrate their cyclical nature. Trigonometric Functions | 283 Graphs of basic trigonometric functions The sine and cosine functions yield the same values, but the phase differs along the X axis by /2: in other words, 90 degrees. The inverse functions for the trigonometric functions are the arc functions; the inverse only applies to values of x restricted by –/2 X /2. The graphs for these functions appear like the basic trigonometric function graphs, but turned on their sides. Graphs of basic arc functions The hyperbolic functions are based on the exponential constant e instead of on circular measurement. However, they behave similarly to the trigonometric functions and are named for them. The basic hyperbolic functions are: 284 | Chapter 5 Object Properties Graphs of basic hyperbolic functions Vectors This topic is a quick review for readers who need a reminder about vector arithmetic. If you’re familiar with vectors and vector calculations, you can skip this topic. If this topic is difficult to follow, you might consult a more basic reference on mathematics. A vector expresses a length and a direction in a particular space. The vector is expressed as a point; for example, [5, 5, 7]. The length is the distance from the origin to that point, and the direction is similarly from the origin to (and through) the point. In 3ds Max, vectors have three values and describe positions in three-dimensional space. They can also represent percent scaling in X, Y, and Z; and (more abstractly) describe locations in RGB color space. Vectors | 285 Unit Vectors and Basic Vectors A unit vector has a length of one. Unit vectors are often used to express direction only. The three basic vectors are unit vectors that describe the three axes (X, Y, and Z) of 3D space. Basic vectors and the XYZ axes Adding and Subtracting Vectors Adding two vectors creates a new vector that combines the length and direction of the original two. Vector addition is commutative: V+W=W+V. Adding two vectors 286 | Chapter 5 Object Properties Subtracting two vectors gives the vector between the two points. Subtracting two vectors Scalar Multiplication and Division Multiplying a vector by a scalar changes the vector’s length, as does dividing the vector by a scalar. Vector Length and Direction The length of a vector is obtained from the Pythagorean theorem. In 3ds Max expressions, the length() function returns this value. The direction of the vector is the vector divided by its length; this gives you a unit vector with the same direction. Vectors | 287 The distance between two points is the length of the vector between them. Subtracting vectors to obtain a distance 288 | Chapter 5 Object Properties Creating Geometry 6 The solid 3D objects in the scene, and the objects used to create them, are known as geometry. Usually, geometry comprises the subject of your scene and the objects that you render. Villa with a swimming pool was created using a variety of geometry. This section describes the types of geometry you can create using the Create panel on page 8771. See also: ■ Surface Modeling on page 1965 289 ■ Space Warps and Particle Systems on page 2919 ■ SAT Files on page 8311 Basics of Creating and Modifying Objects This section provides an introduction to techniques for creating and modeling objects. The Create panel on page 8771 contains controls for creating new objects, the first step in building a scene. Despite the variety of object types, the creation process is consistent for most objects. The Modify panel on page 8773 provides controls to complete the modeling process. You can rework any object, from its creation parameters to its internal geometry. Both object-space and world-space modifiers let you apply a wide range of effects to objects in your scene. The modifier stack allows editing of the modifier sequence. In 3ds Max, you model basic parametric on page 9258 objects into more complex ones by: ■ Changing parameters on page 9258 ■ Applying modifiers ■ Directly manipulating sub-object geometry Varying the Parameters Unlike physical objects, with a fixed shape and size, you can change the creation parameters of objects and shapes to dramatically alter topology. Here are some examples of changes you can make: ■ Turn a cone into a four-sided pyramid by reducing the number of sides and turning the Smooth option off. ■ Slice any circular object as if it were a pie. ■ Animate almost all creation parameters, and interactively change their settings during animation playback. ■ Render splines directly at any assigned width. ■ Break, detach, and divide wall segments. 290 | Chapter 6 Creating Geometry ■ Change the number of risers without affecting the overall rise of the stairs. Collapsing Primitives to Base Geometry You can collapse a geometric primitive or shape to one of a variety of base geometric types once you no longer need access to its creation parameters. For example, you can convert any standard primitive to an editable mesh on page 2190, editable poly on page 2240, editable patch on page 2374, or NURBS on page 2457 object, and you can convert a spline shape to an editable mesh, editable spline on page 554, or NURBS object. The easiest way to collapse an object is to select it, right-click it, and choose a "Convert to" option from the quad menu ➤ Transform quadrant. This lets you use explicit editing methods with the object, such as transforming vertices. You can also use the Modify panel to collapse a primitive. Mapping Coordinates Most Geometry objects have an option for generating mapping coordinates. Objects need these mapping coordinates if you plan to apply a mapped material to them. Mapped materials include a wide range of rendered effects, from 2D bitmaps to reflections and refractions. See Mapping Coordinates on page 6005 and Using Maps to Enhance a Material on page 5990. If mapping coordinates have already been applied to an object, the check box for this feature is turned on. See also: ■ Using the Modify Panel on page 979 ■ Using the Modifier Stack on page 983 ■ Editing the Stack on page 987 ■ Modifying at the Sub-Object Level on page 991 ■ Using the Stack at the Sub-Object Level on page 994 ■ Modifying Multiple Objects on page 996 ■ How Instanced Modifiers Work on page 1000 ■ Transforms, Modifiers, and Object Data Flow on page 971 Basics of Creating and Modifying Objects | 291 Using the Create Panel The Create panel provides the controls for creating objects and adjusting their parameters. To access the Create panel: 1 Click (Create tab) on the command panels on page 8770. By default, this panel is open when you start 3ds Max. If the command panel isn't visible, choose it from the Customize Display right-click menu on page 8827. 2 Click an object type to display its Parameters rollout. The Creation Process The actual creation of objects is accomplished with a single click of the mouse, a drag, or some combination, depending on the object type. This is the general sequence: ■ Choose an object type. ■ Click or drag in a viewport to create an object of approximate size and location. ■ Adjust the object’s parameters and position, either immediately or later. See Creating an Object on page 296. Create Panel Interface Controls in the Create panel vary depending on the kind of object you are creating. However, certain controls are always present, and others are shared by nearly all object types. Category Buttons at the top of the panel access the seven main categories of objects. Geometry is the default category. Subcategory A list lets you select subcategories. For example, subcategories under Geometry include Standard Primitives, Extended Primitives, Compound Objects, Particle Systems, Patch Grids, NURBS Surfaces, and Dynamics Objects. Object Type A rollout contains labeled buttons for creating objects in a particular subcategory, plus the AutoGrid on page 2819 check box. 292 | Chapter 6 Creating Geometry Name and Color The Name shows the automatically assigned name of the object. You can edit this name or replace it with another. (Different objects can have the same name, though this is not recommended.) Clicking the square color swatch brings up an Object Color dialog on page 300 to change the color of the object as it appears in viewports (the wireframe color). Creation Method This rollout provides a choice of how you use the mouse to create an object. For example, you can use either the center (radius) or edge (diameter) to define the size of a Circle shape. A default creation method is always selected when you access the tool. If you want to use an alternate method, choose the option before you create the object. The creation method has no effect on a finished object; the options are for your convenience during creation. Keyboard Entry This rollout lets you enter creation parameters from the keyboard for geometric primitive and shape objects. Parameters This rollout shows creation parameters: the defining values for an object. Some parameters can be preset, while others are only for adjustment after an object has been created. Other rollouts Additional rollouts can appear on the Create panel, depending on what kind of object you create. Identifying the Basic Building Blocks On the Create panel, the categories for Geometry and Shapes supply the "building blocks" to combine and modify into more sophisticated objects. These parametric on page 9258 objects are ready to use. By adjusting values and turning some buttons on or off, you can create dozens of "new" building blocks from the ones listed here. You can choose these types from the sub-categories list on the Create panel. Geometry Types Standard Primitives Relatively simple 3D objects such as Box, Sphere, and Cylinder, as well as Torus, Plane, Cone, GeoSphere, Tube, Teapot, and Pyramid. Extended Primitives More complex 3D objects such as Capsule, OilTank, Spindle, Hedra, Torus Knot, and Prism. Compound Objects Compound objects include Scatter, Connect, ShapeMerge, Booleans, Morph, BlobMesh, Terrain, and Loft. Booleans combine the geometry of two objects using union, intersection, and difference operations. Morphs are animated objects that change one geometric shape into other shapes over Identifying the Basic Building Blocks | 293 time. ShapeMerge lets you embed a spline shape into a geometric mesh. Loft on page 674 uses shapes as cross sections along a path to produce a 3D object. Particle Systems Animated objects that simulate spray, snow, blizzard, and similar collections of small objects. Patch Grids Simple 2D surfaces ready for modeling or repairing existing meshes. NURBS Surfaces Analytically generated surfaces especially suited for modeling surfaces with complicated curves. AEC Extended Elements useful for AEC design, including Terrain, Foliage (plants and trees), Railing, for creating custom railings, and Wall, for the production of Wall objects. Stairs Four types of stairs: Spiral, L-Type, Straight, and U-Type. Doors Parametric door styles include Pivot, BiFold, and Sliding. Windows Parametric window styles include Awning, Fixed, Projected, Casement, Pivoted, and Sliding. NOTE Default materials are automatically applied to Foliage, as well as to the following object types: Railing, Stairs, Doors, and Windows. Dynamics Objects Objects designed for use in dynamics simulations. Shape Types Splines Common 2D shapes such as a Line, Rectangle, Circle, Ellipse, Arc, Donut, NGon, and Star. Text shapes support TrueType fonts. Section creates a spline from the cross-section of an object. Helix is a 3D shape. NURBS Curves A Point Curve and CV Curve provide the starting points for complex surfaces. See Introduction to NURBS Modeling on page 2433. Extended Splines More complex 2D shapes including Walled Rectangle, Channel Spline, Angle Spline, Tee Spline, and Wide Flange Spline. Extended splines can be used in architectural and similar applications. 294 | Chapter 6 Creating Geometry Varying the Parameters Unlike physical building blocks, with fixed shape and size, you can change the parameters of objects and shapes to dramatically alter topology. Here are some examples of changes you can make: ■ Turn a cone into a four-sided pyramid by reducing the number of sides and turning the Smooth option off. ■ Slice any circular object as if it were a pie. ■ Animate almost all creation parameters, and interactively change their settings during animation playback. ■ Render splines directly at any assigned width. ■ Break, detach, and divide wall segments. ■ Change the number of risers without affecting the overall rise of the stairs. Collapsing Primitives to Base Geometry You can collapse a building-block object to one of a variety of base geometric types once you no longer need access to its creation parameters. For example, you can convert any standard primitive to an editable mesh on page 2190, editable poly on page 2240, editable patch on page 2374, or NURBS on page 2457 object, and you can convert a spline shape to an editable mesh, editable spline on page 554, or NURBS object. The easiest way to collapse an object is to select it, right-click it, and choose a "Convert to" option from the quad menu ➤ Transform quadrant. This lets you use explicit editing methods with the object, such as transforming vertices. You can also use the Modify panel to collapse a primitive. Mapping Coordinates Most Geometry objects have an option for generating mapping coordinates. Objects need these mapping coordinates if you plan to apply a mapped material to them. Mapped materials include a wide range of rendered effects, from 2D bitmaps to reflections and refractions. See Mapping Coordinates on page 6005 and Using Maps to Enhance a Material on page 5990. If mapping coordinates have already been applied to an object, the check box for this feature is turned on. Identifying the Basic Building Blocks | 295 Creating an Object With some variations, the steps shown in the following images apply to creating any type of object on the Create panel. For specific examples, see the Procedures section in any object's topic. 1. Radius defined 2. Height defined 296 | Chapter 6 Creating Geometry 3. Sides increased 4. Height Segments increased To choose an object category: 1 Click (Create tab) to view the Create panel. 2 Click one of the buttons at the top of the Create panel. For example, (Geometry). 3 Choose the subcategory Standard Primitives from the list. A number of buttons appear on the Object Type rollout. To choose an object type: ■ Click the button for the type of object you want to create. The button highlights, showing that it is active. Four rollouts appear: Name and Color, Creation Method, Keyboard Entry, and Parameters. Creating an Object | 297 To choose a creation method (optional): You can accept the default method and skip this step. ■ Choose a method in the Creation Method rollout. To preset the creation parameters (optional): You can adjust all creation parameters after you create an object. Skip this step if you prefer. ■ In the Parameters rollout, you can set parameters before you create an object. However, the values of parameters you set by dragging the mouse (for example, the Radius and Height of a cylinder) have no effect until after you create the object. To create the object: 1 Put the cursor at a point in any viewport where you want to place the object, and hold the mouse button down (do not release the button). 2 Drag the mouse to define the first parameter of the object; for example, the circular base of a cylinder. 3 Release the mouse button. The first parameter is set with this release. In some cases, such as Sphere, Teapot, and Plane, this completes the object. You can skip the remaining steps. 4 Move up or down without touching the mouse button. This sets the next parameter; for example, the height of a cylinder. If you want to cancel: Until you complete the next step, you can cancel the creation process with a right-click. 5 Click when the second parameter has the value you want, and so on. The number of times you press or release the mouse button depends on how many spatial dimensions are required to define the object. (For some kinds of objects, such as Line and Bones, the number is open-ended.) When the object is complete, it is in a selected state and ready for adjustments. To name the object (optional): 3ds Max gives each new object a default name based on the primitive type and the order of creation. For example: Box001, Sphere030. You can change the name to anything you like using the method described following. 298 | Chapter 6 Creating Geometry Also, to change the number of digits appended to the default object name, edit the 3dsmax.ini on page 42 file as follows: add (if necessary) a section named [Preferences] and in that section add the setting NameSuffixLength=#, where # is the number of digits. For example, to use default names like Box00123, add this: [Preferences] NameSuffixLength=5 ■ To rename an object, highlight the object name in the Name And Color rollout, and then enter a name. This option is available only when a single object is selected. Naming objects is a good practice for organizing your scenes. To name a set of selected objects, see Named Selection Sets on page 163. To change the object’s display color (optional): ■ The color swatch next to the object name field displays the selected object's color and lets you select a new one. The color is the one used to display the object in viewports. Click the color swatch to display the Object Color dialog on page 300. You can also change object colors with Layers on page 8537. To adjust the object's parameters: ■ You can change the creation parameters immediately after you complete an object, while it’s still selected. Or, you can select the object later and adjust its creation parameters on the Modify panel. While making adjustments, you can use viewport navigation controls like Zoom, Pan, and Orbit to change your view of the selected object. You can also adjust the time slider. To end the creation process: While the object type button remains active, you can continue creating objects of the same type until you do one of the following: 1 Select an object other than the one you created most recently. 2 Transform an object. 3 Change to another command panel. 4 Use commands other than viewport navigation or the time slider. Creating an Object | 299 After you end the creation process, changing parameters on the Create panel will have no effect on the object; you must go to the Modify panel to adjust the object’s parameters. See Using the Modify Panel on page 979. Assigning Colors to Objects 3ds Max is a truecolor on page 9338 program. When you pick a color in 3ds Max, you are specifying 24 bits of color data, which provide a range of over 16 million colors. Object wireframe colors are used primarily as an organizational tool. Object naming strategies, named selection sets, and object wireframe color strategies provide a rich set of tools for organizing even the most complex scenes. You can use two dialogs to specify colors: ■ The Object Color dialog on page 300 contains two preset palettes of colors that you use to set an object’s wireframe color. This is also the surface color you see in a rendered viewport. The two color palettes are Default palette and AutoCAD ACI palette. ■ The Color Selector on page 304 is a generic dialog that you use to define any color in the 24-bit color range. For the purpose of defining colors to assign to objects, it is available only through the Default palette. The Layers functionality lets you organize your scene and can also be used for assigning object colors. For more information, see Manage Layers Dialog on page 8537. Object Color Dialog Click the color swatch by the object's name in any command panel. The Object Color dialog contains two preset palettes of colors that you use to set an object’s wireframe color. This is also the surface color you see in a shaded viewport. Using Random Color Assignment By default, 3ds Max assigns colors randomly as objects are created. The colors are chosen from the current palette in the Object Color dialog. If you turn on Customize ➤ Preferences ➤ General panel on page 8887 ➤ Default to By Layer for New Nodes, new objects are assigned the color set by the layer. 300 | Chapter 6 Creating Geometry For individual objects, you can click the By Layer/By Object button on the Object Color dialog to change the method used to set the object color. Defining Custom Colors When using the 3ds Max palette, the Object Color dialog contains a palette of 16 custom color swatches. You can define any color for each of the 16 color swatches by selecting a swatch from the Custom Colors group, then clicking Add Custom Colors. Switching Between Palettes You can alternate between two versions of the Object Color dialog at any time by clicking the appropriate Basic Colors toggle: ■ 3ds Max palette: Contains a fixed palette of 64 colors, plus a custom palette of 16 user-defined custom colors. Use this version when you want to work with a smaller palette of colors or when you want to define custom object wireframe colors. ■ AutoCAD-compatible version: Contains a fixed palette of 256 colors matching the colors in the AutoCAD Color Index (ACI). Use this version when you want to assign object colors that match the AutoCAD Color Index. Using ACI colors is useful if you plan to export objects to AutoCAD and want to organize them by object color, or when you want a wide selection of colors to choose from. Procedures To set object color: This is the general procedure for selecting object color. 1 Select one or more objects. 2 On any command panel, click the color swatch to the right of the Object Name field to display the Object Color dialog. 3 On the Object Color dialog, click the By Layer / By Object toggle to set it to By Object. 4 Click a color swatch from the palette, and then click OK to apply the color to the selection. Assigning Colors to Objects | 301 To create objects of the same color: ■ Choose the color you want to use and turn off Assign Random Colors. Newly created objects appear in this color until you change the setting. To define a custom color: 1 With the 3ds Max palette option active, click one of the 16 custom color swatches. 2 Click Add Custom Colors to display the Color Selector on page 304. 3 Define a custom color and click Add Color. The custom color is stored in the selected color swatch of the Object Color dialog and is set as the current color. To copy a custom color from an object in your scene to one of your custom color swatches: ■ Drag the Active Color swatch up to one of the custom color swatches. The Active Color swatch is in the Object Color dialog, to the left of the OK button. To select objects by color: ■ Click (Select By Color). This displays the Select Objects dialog on page 184. All objects that have the same color as the current object are highlighted in the list. Click Select. 302 | Chapter 6 Creating Geometry Interface Palette Choose one of these: ■ 3ds Max paletteWhen chosen, the dialog displays Basic Colors and Custom Colors groups, and you have the option to add custom colors. ■ AutoCAD ACI paletteWhen chosen, the AutoCAD ACI palette is shown. When you click a color, its ACI# is displayed at the bottom of the dialog. Basic Colors A set of 64 default colors, available only when 3ds Max Palette is active. Custom Colors Displays 16 custom colors when 3ds Max Palette is active. To choose a custom color, click its swatch. To define or change a custom color, click its swatch and then click Add Custom Colors. Add Custom Colors Available only when 3ds Max Palette is active. Clicking this option displays the Color Selector on page 304, which allows you to modify the currently selected custom color. If you click Add Custom Colors with a basic color chosen, the dialog switches to the first custom color before opening the Color Selector. By Layer/By Object Sets the object's color by layer or by object. If color is set by object, choosing a new color on the Object Color dialog changes the object's wireframe color in viewports. Assigning Colors to Objects | 303 ACI# Displays the ACI number for the selected color. Available only when AutoCAD ACI palette is active. Select by Color Opens the Select Objects dialog on page 184 listing all objects that use the current color as their wireframe color. NOTE This button is available only if at least one object in the scene has the Current Color as its wireframe color. Assign Random Colors When on, 3ds Max will assign a random color to each object created. When off, 3ds Max will assign the same color to every object created until the color swatch is changed. This setting affects wireframe colors only when By Object is turned on as the color method. Active/Current Color Displays the active color (if no object is selected) or current color. When you click the color swatch, the Color Selector dialog on page 304 opens, where you can mix a custom color. Color Selector Dialog Any command panel ➤ Name and Color fields ➤ Click color swatch. ➤ Object Color dialog ➤ Add Custom Colors button or Current Color swatch. Material Editor ➤ Click any color swatch. Select or add a light object. ➤ Modify panel ➤ Intensity/Color/(Distribution/Attenuation) rollout ➤ Click color or Filter Color swatch. Rendering menu ➤ Environment ➤ Environment and Effects dialog ➤ Click color swatch for Background, Tint, and Ambient components of Global Lighting, and various components of atmospheric effects such as Fire, Fog, and so on.. The Color Selector dialog lets you specify a custom color parameter in 3ds Max. You can work simultaneously with three different color models to help you zero in on the exact color you want. You can use the Color Selector to specify many color parameters, such as light colors, material colors, background colors, and custom object colors. (Another 304 | Chapter 6 Creating Geometry way to choose an object's viewport color is to use the predefined colors in the Object Color dialog on page 300.) In most contexts, the Color Selector is modeless on page 9224; that is, it remains on the screen until you dismiss it, and you can use other controls or work in a viewport while the dialog is still visible. In other contexts, the Color Selector is modal, and you must close the dialog before proceeding. The dialog is divided into three different color selection models. You can use the controls for any model to define a color. The three color models are: ■ Hue/Blackness/Whiteness (HBW) The most prominently displayed and intuitive color model is the HBW model. This model represents a natural, pigment-based way of mixing color by starting with a pure color (hue) and then making it darker by adding black, or lighter by adding white. The main feature of the HBW model is a large square box displaying the color spectrum. Across the top of this box you have the spectrum of pure colors, or hue. Down the side of the box you see increasing levels of blackness, making the color dark as you approach the bottom. To the right of the color spectrum box is the Whiteness box, which controls the amount of white in the color. Use higher positions to decrease the whiteness, or lower positions to increase the whiteness. ■ Red/Blue/Green (RGB) The RGB model adjusts the mix of Red, Green, and Blue to define a color. This model represents the way colored light can be mixed. This is additive color mixing, as opposed to the subtractive color mixing for paint and other pigments. You can adjust values using the color sliders, the numeric fields to their right (via the keyboard), or the spinners to the right of the numeric fields. ■ Hue/Saturation/Value (HSV) The HSV color model adjusts Hue, Saturation, and Value. Hue sets the color; Saturation (labeled "Sat") sets the color's purity; and Value sets the color's brightness, or intensity. You can adjust values using the color sliders, the numeric fields to their right (via the keyboard), or the spinners to the right of the numeric fields. As you adjust the controls of one color model, the controls of the other two models change to match. The color defined by the color model is displayed in the right half of the Color Output box. The original color, before you began making changes, is displayed in the left half. Assigning Colors to Objects | 305 Procedures To display the Color Selector: 1 Click the color swatch of a color parameter such as the color of a light or of a material component. NOTE The object color displayed next to an object's name on command panels uses the Object Color dialog on page 300. On the Object Color dialog, clicking the Active (or Current) Color swatch or the Add Custom Colors button displays a Color Selector. 2 Make a color selection and click OK or Cancel, or the Close button (X). If using the Add Color version of the Color Selector, be sure to click Add Color first. 3 To revert to the original color, click Reset. To choose the hue of a color, do one of the following: 1 Click anywhere in the Hue rainbow (the large, multicolored square). 2 Drag the Hue slider at the top of the rainbow. 3 Drag the Red, Green, and Blue sliders. 4 Drag the Hue slider. 5 Use the Red, Green, Blue, or Hue spinners. To make a color lighter, do one of the following: 1 Drag the vertical Whiteness slider (at the right of the Hue rainbow) downward. 2 Drag the vertical Blackness slider (at the left of the Hue rainbow) upward. 3 Drag the Saturation (Sat.) slider to the left. 4 Use the Saturation spinner to decrease saturation. 5 Drag the Value slider to the right. 6 Use the Value spinner to increase the value. 306 | Chapter 6 Creating Geometry To make a color darker, do one of the following: 1 Drag the vertical Whiteness slider (at the right of the Hue rainbow) upward. 2 Drag the vertical Blackness slider (at the left of the Hue rainbow) downward. 3 Drag the Saturation (Sat.) slider to the right. 4 Use the Saturation spinner to increase saturation. 5 Drag the Value slider to the left. 6 Use the Value spinner to decrease the value. To return to the original color: ■ Click Reset. The new color is replaced by the original color, and all parameter values are reset. To dismiss the Color Selector, do one of the following: 1 Click Close. 2 Click OK or Cancel. 3 Click the dialog's Close (X) button. Interface Assigning Colors to Objects | 307 Hue Define a pure color by dragging the hue pointer across the top of the box. Blackness Drag the blackness pointer down the side to darken the pure color by adding black. You can also click or drag inside the box to change hue and blackness at the same time. Whiteness The vertical bar to the right controls the amount of whiteness. The color set by the hue and blackness pointers is displayed at the top of the bar and pure white at the bottom. Drag the whiteness pointer down to lighten the color by adding white. Red, Green, and Blue When a red, green, or blue slider is all the way to the left, its numeric field contains 0; none of the color controlled by that slider is used. If the slider is all the way to the right, the field reads 255; the maximum amount of that color is being used. The spinners to the right of each slider are another way of setting the red, blue, or green component. The colors in the sliders change to show an approximation of what the color result will be if you move the slider to that location, without adjusting any other color parameter. Hue Sets the pure color. Locating the slider all the way to the left gives you pure red. As you drag the slider to the right you move through the spectrum of Red, Yellow, Green, Cyan, Blue, Magenta, and back to Red again. Hue is more accurately represented as a color wheel rather than a linear slider. That is why the Hue slider is red at both ends. Think of the hue range from 0 to 255 as being points on a circle where the numbers 0 and 255 are right next to each other. Saturation ("Sat") Sets the purity or strength of the color. A weak color, with a saturation near 0, is dull and gray. A strong color, with a saturation near 255 is very bright and pure. Value Sets the lightness or darkness of a color. Low values darken the color toward black. High values lighten the color toward white. A value in the middle, at a setting of 127, gives you the color defined only by hue and saturation. Color Output This pair of color swatches, below the Value slider, lets you compare the new color, shown on the right, to the original color, shown on the left. 308 | Chapter 6 Creating Geometry Sample Screen Color Lets you pick a new color from anywhere on the screen. After clicking this button, the mouse cursor changes to the eyedropper icon shown on the button. While this cursor appears, use any of these methods: ■ Click anywhere on the screen to replace the current color with the color of the pixel under the lower-right corner of the cursor. ■ Drag to continually update the current color with the color of the pixel under the lower-right corner of the cursor. This makes it easier to make sure you get the right color if the desired color area is small (say, a one-pixel-thick line). ■ At any time, press and hold Shift to average the current color with colors the cursor moves over. Instead of replacing the current color with the new sampled color, smoothed sampling gradually mixes the sampled color with the current color, giving a smoothed color transition during sampling. This is useful for sampling noisy areas, where the variations in colors are accumulated to provide a representative general color. Unlike the other methods, releasing the left mouse button only does not exit the sampler mode; you can move the mouse elsewhere (without sampling) and then start dragging again to continue smoothed sampling in other areas. Releasing Shift only returns to regular sampling. Releasing both Shift and the left mouse button exits the sampler mode, returning the mouse cursor and behavior to normal. Sampling can occur under any conditions anywhere within any windows that belong to the current instance of 3ds Max. To sample anywhere outside of 3ds Max (for example, the desktop), drag the mouse from within one of these 3ds Max windows. The color sampler tool compensates for any gamma applied to the color selector using the Customize ➤ Preferences ➤ Gamma And LUT on page 8917 ➤ Affect Color Selectors option. This means that the color-corrected, displayed sampled visual color in the color selector always matches the on-screen visual color of the sampled location. If the gamma of the color selector does not match the gamma of the sampled location, the true color values (RGB/HSV) of the sampled color will differ from the true color values of the sampled location. This behavior applies to both regular gamma and Autodesk LUT gamma correction modes. Reset Click to restore color settings to the original color. OK Accepts any changes and closes the dialog. Assigning Colors to Objects | 309 NOTE If you opened the dialog by clicking Add Custom Colors on the Object Color dialog, the button label reads “Add Color.” Cancel Restores the original color and closes the dialog. Color Selector for mental ray Materials and Shaders When you click a color swatch in the interface for a mental ray material on page 6224 or mental ray shader on page 6806, or a DirectX material on page 6597, you see a variant of the Color Selector. This dialog differs from the standard Color Selector in two ways: ■ The RGB and HSV values appear as normalized values between 0.0 and 1.0, rather than as 8-bit integers (0–255). ■ An additional Alpha slider and spinner let you explicitly set the alpha value for this color. This value is also normalized, where 0.0 represents fully transparent, and 1.0 represents fully opaque. This version of the Color Selector also appears when you use the DirectX Shader material on page 6597 and the mental ray renderer's Sampling Quality rollout on page 7189. Color Clipboard Utility Tools menu ➤ Color Clipboard 310 | Chapter 6 Creating Geometry Utilities panel ➤ Utilities rollout ➤ Color Clipboard button The Color Clipboard utility stores color swatches for copying from one map or material to another. For example, if in the Material Editor, you want to copy a color from a swatch in one level of a material to a swatch in another level (or from another material), there would be no way to do it with drag and drop. This is because you can't have two materials/maps visible at the same time. However, you can drag the color from one material to the color clipboard, switch to the other material, and then drag the color from the clipboard to the swatch in the new material. You can save and load color clipboard files. The saved file, which is given a .ccb (color clip board) extension, is an ASCII file that contains a palette description. The first 12 lines of the file consist of three RGB numbers, so you can easily edit or create your own clipboard files. This file format is also used by the VertexPaint modifier on page 1910. Procedures To copy a color from a swatch to the color clipboard: 1 On the Utilities panel, click Color Clipboard. 2 Open the Material Editor. 3 Select a color from any swatch in a material. 4 Drag the color to a swatch in the color clipboard. 5 A dialog appears asking if you want to copy or swap the material. Choose copy to replace the swatch in the color clipboard with the swatch from the material you selected. Choose swap to swap colors on the Color Clipboard swatch and material swatch. Assigning Colors to Objects | 311 Interface Color swatches Click a color swatch to edit its value with the Color Selector. NOTE The Color Selector invoked by this utility uses decimal numbers in the range 0.0 to 1.0, instead of integers in the range 0 to 255 as with other color-selection dialogs in 3ds Max. New Floater Displays a floating clipboard with 12 slots, plus buttons for opening and saving color clipboard files. You can open up as many of these floaters as you want and you can minimize them. If you exit the Utilities panel or select the Close button to exit the Color Clipboard utility, any visible floaters remain open. When you close a floater, any changed values are lost. Close Exits the Clipboard utility. Adjusting Normals and Smoothing In general, you adjust normals and smoothing to prepare objects for rendering. A normal on page 9237 is a unit vector that defines which way a face or vertex 312 | Chapter 6 Creating Geometry is pointing. Smoothing groups define whether a surface is rendered with sharp edges or smooth surfaces. The direction in which a normal points represents the front, or outer surface of a face or vertex, which is the side of the surface that is normally displayed and rendered. You can manually flip or unify face normals to fix surface errors caused by modeling operations or by importing meshes from other programs. Smoothing groups are numbers assigned to the faces of an object. Each face can carry any number of smoothing groups, up to the maximum of 32. If two faces share an edge and share the same smoothing group, they render as a smooth surface. If they don’t share the same smoothing group, the edge between them renders as a corner. You can change and animate smoothing group assignments manually. Changing smoothing groups does not alter geometry in any way: it simply changes the way faces and edges are shaded. Viewing and Changing Normals When you create an object, normals on page 9237 are generated automatically. Usually objects render correctly using these default normals. Sometimes, however, you need to adjust the normals. Left: The normals shown as spikes indicate the orientation of faces on the pyramid. Adjusting Normals and Smoothing | 313 Right: Flipping normals can make faces invisible (or visible) in shaded viewports and renderings. Undesired normals can appear in these objects: ■ Meshes imported from other applications. ■ Geometry generated by complex operations such as Boolean objects, lathe objects, or lofts. Normals are used to define which side of a face or vertex is considered the "out" side. The out side of a face or vertex is the side that gets rendered unless you are using two-sided materials, or turn on the Force 2-Sided option in the Render Setup dialog ➤ Common panel ➤ Common Parameters rollout on page 7020. Do one of the following to view or change face normals: ■ Apply a Normal modifier on page 1497. If a Face sub-object selection is active, Normal applies to the selected faces. If no faces are selected, Normal applies to the entire object. ■ Apply an Edit Mesh modifier on page 1263, enable Face, Polygon or Element sub-object mode, and then use the features on the Surface Properties rollout to change the directions in which normals point. ■ Convert the object to an editable mesh on page 2190, enable Face, Polygon or Element sub-object mode, and use the features on the Surface Properties rollout Viewing Normals The easiest way to view normals is to look at an object in a shaded viewport. In this case, you are not viewing the normal arrows themselves, but rather their effects on the shaded surface. If the object looks as if it is inside-out, or has holes, then some of the normals might be pointing in the wrong direction. You can display the normal vectors for selected faces or vertices by enabling Show Normals on the Selection rollout of an editable mesh object or the Edit Mesh modifier. Unifying Normals Use Unify Normals to make normals point in a consistent direction. If an object has normals that are inconsistent (some point outward and others inward) the object will appear to have holes in its surface. 314 | Chapter 6 Creating Geometry Unify Normals is found on the Surface Properties rollout and on the Normal modifier. If you are animating the creation of a complex object such as a nested Boolean or a loft, and you think the operation might result in inconsistent faces, apply a Normal modifier on page 1497 to the result, and turn on Unify Normals. Flipping Normals Use Flip Normals to reverse the direction of all selected faces. Flipping the normals of an object turns it inside-out. Flip Normals is found on the Surface Properties rollout and on the Normal modifier. The Lathe modifier on page 1418 sometimes creates an object with normals pointing inward. Use the Flip Normals check box on the Lathe modifier's Parameters rollout to adjust the normals. You can also use the Normal modifier with both Unify and Flip turned on to fix inside-out lathed objects. Viewing and Changing Smoothing Smoothing blends the shading at the edges between faces to produce the appearance of a smooth, curved surface. You can control how smoothing is applied to a surface so your objects can have both smooth surfaces and sharp, faceted edges where appropriate. Adjusting Normals and Smoothing | 315 The face labeled “1-2” shares smoothing groups with adjacent faces, so the edges between them are smoothed over in renderings. The face labeled “3” does not share a smoothing group, so its edge is visible in renderings. Smoothing does not affect geometry. It affects only the way geometry is colored when rendered. Smoothing is controlled by smoothing groups, which are numbered groups ranging from 1 to 32. You can assign each face to one or more smoothing groups. When a scene is rendered, the renderer checks each adjacent pair of faces to see if they share a smoothing group, and renders the object as follows: ■ If faces have no smoothing groups in common, the faces are rendered with a sharp edge between them. ■ If faces have at least one smoothing group in common, the edge between the faces is “smoothed”, meaning it is shaded in such a way that the area where the faces meet appears smooth. Because each face has three edges, only three smoothing groups can be in effect for any face. Extra smoothing groups assigned to a face are ignored. 316 | Chapter 6 Creating Geometry Do one of the following to view or change smoothing group assignments: ■ Turn on the Smooth check box on the Parameters rollout of a parametric object to set default smoothing for the object. ■ Turn on the Auto Smooth check box on the Rendering rollout of a spline shape to turn on smoothing. ■ Apply a Smooth modifier on page 1682. If a Face sub-object selection is active, Smooth applies to the selected faces. If no faces are selected, Smooth applies to the entire object. ■ Convert the object to editable poly on page 2240 format or apply the Edit Poly modifier on page 1274, access the Polygon or Element sub-object level, then use the features on the Polygon: Smoothing Groups rollout. ■ Convert the object to editable mesh on page 2190 format or apply the Edit Mesh modifier on page 1263, access the Face (or Polygon or Element) sub-object level, then use the features on the Surface Properties rollout. Viewing Smoothing Groups The easiest way to view smoothing is to look at an object in a shaded viewport. In this case, you are not viewing the smoothing groups themselves but rather their effects on the shaded surface. You can see the smoothing group numbers for selected faces of an editable mesh object or the Edit Mesh modifier by looking at the Smoothing Group buttons on the Surface Properties rollout, or of an editable poly object on the Polygon Properties rollout. Smoothing Group buttons appear as follows: ■ Group numbers not used by any face in the selection, appear normal. ■ Group numbers used by all faces in the selection, appear selected. ■ Group numbers used by some, but not all, faces in the selection, appear blank. Automatically Smoothing an Object Click Auto Smooth to assign smoothing automatically. You set a Threshold angle to determine whether to smooth adjacent faces. ■ If the angle between face normals is less than or equal to the threshold, the faces are assigned to a common smoothing group. Adjusting Normals and Smoothing | 317 ■ If the angle between face normals is greater than the threshold, the faces are assigned to separate groups. Auto Smooth is found on the Surface Properties rollout and on the Smooth modifier. Manually Applying Smoothing Groups You manually assign smoothing groups to a selection of faces by clicking Smoothing Group buttons on the Surface Properties rollout or the Smooth modifier. The smoothing group of each button you click is assigned to the selection. Selecting Faces by Smoothing Group You can also select faces according to the assigned smoothing groups. Click Select By SG on the Surface Properties rollout (editable mesh) or Polygon Properties rollout (editable poly) and then click the smoothing group of the faces to select. This is a convenient way to examine smoothing groups on an object someone else created. Geometric Primitives Geometric primitives are basic shapes that 3ds Max provides as parametric objects on page 9258. Primitives are divided into two categories: standard primitives and extended primitives. See also: ■ Basics of Creating and Modifying Objects on page 290 ■ Creating an Object on page 296 Creating Primitives from the Keyboard Create panel ➤ (Geometry) ➤ Standard or Extended Primitives ➤ Keyboard Entry rollout 318 | Chapter 6 Creating Geometry You can create most geometric primitives from your keyboard using the Keyboard Entry rollout. In a single operation, you define both the initial size of an object and its three-dimensional position. 3ds Max automatically assigns the object's name and color. See Object Name and Wireframe Color on page 8771. This method is generally the same for all primitives; differences occur in the type and number of parameters. The Hedra primitive, a complex and highly visual family of objects, is unsuited to this method and has no keyboard entry. Procedures To open the Keyboard Entry rollout: 1 On the Create panel for Standard or Extended Primitives, click any of the primitive Object Type rollout buttons, except Hedra, RingWave, or Hose. 2 Click the Keyboard Entry rollout to open it. This rollout is closed by default. NOTE The buttons on the Creation Method rollout have no effect on keyboard entry. To create a primitive from the keyboard: 1 On the Keyboard Entry rollout, select a numeric field with the mouse and then enter a number. 2 Press Tab to move to the next field. You do not have to press Enter after entering a value. Press Shift+Tab to reverse direction. 3 When you have all fields set, click Create. 4 The object appears in the active viewport. Once created, a new primitive is unaffected by the numeric fields in the Keyboard Entry rollout. You can adjust parameter values on the Parameters rollout, either immediately after creation or on the Modify panel. Creating Primitives from the Keyboard | 319 Interface The Keyboard Entry rollout contains a common set of position fields, labeled X, Y, and Z. The numbers you enter are offsets along the axes of the active construction plane; either the home grid or a grid object. Plus and minus values correspond to positive and negative directions for these axes. Defaults=0,0,0; the center of the active grid. The location set by X,Y is equivalent to the first mouse-down position in the standard method of creating objects. Each standard primitive has the following parameters on its Keyboard Entry rollout. Primitive Parameters XYZ point Box Length, Width, Height Center of base Cone Radius 1, Radius 2, Height Center of base Sphere Radius Center GeoSphere Radius Center Cylinder Radius, Height Center of base Tube Radius 1, Radius 2, Height Center of base Torus Radius 1, Radius 2 Center Pyramid Width, Depth, Height Center of base Teapot Radius Center of base 320 | Chapter 6 Creating Geometry Primitive Parameters XYZ point Plane Length, Width Center Standard Primitives Geometric primitives are familiar as objects in the real world such as beach balls, pipes, boxes, doughnuts, and ice cream cones. In 3ds Max, you can model many such objects using a single primitive. You can also combine primitives into more complex objects, and further refine them with modifiers. A collection of standard primitive objects Standard Primitives | 321 3ds Max includes a set of 10 basic primitives. You can easily create the primitives with the mouse in the viewport, and most can be generated from the keyboard as well. These primitives are listed in the Object Type rollout and on the Create menu on page 8598. Also available from the Object Type rollout is the AutoGrid option on page 2819. You can convert standard primitive objects to editable mesh objects on page 2190, editable poly objects on page 2240, and NURBS surfaces. on page 2500 You can also convert primitives to patch objects; see the path annotation at Editable Patch on page 2374 (the information at the start of the topic that tells you how to create this type of object). All primitives have name and color controls, and allow you to enter initial values from the keyboard. See these topics: Object Name and Wireframe Color on page 8771 Creating Primitives from the Keyboard on page 318 The remaining rollouts are covered in the topic for each primitive. Box Primitive Create panel ➤ (Geometry) ➤ Standard Primitives ➤ Object Type rollout ➤ Box button Create menu ➤ Standard Primitives ➤ Box Box produces one of the simplest of the primitives. Cube is the only variation of Box. However, you can vary the scale and proportion to make many different 322 | Chapter 6 Creating Geometry kinds of rectangular objects, from large, flat panels and slabs to tall columns and small blocks. Examples of boxes Procedures To create a box: 1 On the Object Type rollout, click Box. 2 In any viewport, drag to define a rectangular base, then release to set length and width. 3 Move the mouse up or down to define the height. 4 Click to set the finished height and create the box. To create a box with a square base: ■ Hold down Ctrl as you drag the base of the box. This keeps length and width the same. Holding the Ctrl key has no effect on height. Standard Primitives | 323 To create a cube: 1 On the Creation Method rollout, choose Cube. 2 In any viewport, drag to define the size of the cube. 3 As you drag, a cube emerges with the pivot point at the center of its base. 4 Release to set the dimensions of all sides. Interface Creation Method rollout Cube Forces length, width, and height to be equal. Creating a cube is a one-step operation. Starting at the center of the cube, drag in a viewport to set all three dimensions simultaneously. You can change a cube's individual dimensions in the Parameters rollout. Box Creates a standard box primitive from one corner to the diagonally opposite corner, with different settings for length, width, and height. Parameters rollout The defaults produce a box with one segment on each side. Length, Width, Height Sets the length, width, and height of the Box object. These fields also act as readouts while you drag the sides of the box. Default=0,0,0. 324 | Chapter 6 Creating Geometry Length, Width, Height Segments Sets the number of divisions along each axis of the object. Can be set before or after creation. By default, each side of the box is a single segment. When you reset these values, the new values become the default during a session. Default=1,1,1. TIP Increase the Segments settings to give objects extra resolution for being affected by modifiers. For example, if you're going to bend on page 1104 a box on the Z axis, you might want to set its Height Segments parameter to 4 or more. Generate Mapping Coords Generates coordinates for applying mapped materials to the box. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Cone Primitive Create panel ➤ (Geometry) ➤ Standard Primitives ➤ Object Type rollout ➤ Cone button Create menu ➤ Standard Primitives ➤ Cone The Cone button on the Creation command panel lets you produce round cones, either upright or inverted. Standard Primitives | 325 Examples of cones Procedures To create a cone: 1 On the Create menu choose Standard Primitives ➤ Cone. 2 In any viewport, drag to define a radius for the base of the cone, then release to set it. 3 Move to up or down to define a height, either positive or negative, then click to set it. 4 Move to define a radius for the other end of the cone. Decrease this radius to 0 for a pointed cone. 5 Click to set the second radius and create the cone. 326 | Chapter 6 Creating Geometry Interface Creation Method rollout Edge Draws a cone from edge to edge. You can change the center location by moving the mouse. Center Draws a cone from the center out. Parameters rollout The defaults produce a smooth, round cone of 24 sides with five height segments, one cap segment, and the pivot point at the center of the base. For improved rendering of smoothly shaded cones, particularly those with pointed tips, increase the number of height segments. Radius 1, Radius 2 Set the first and second radii for the cone. The minimum value for both is 0.0. If you enter a negative value, 3ds Max converts it to 0.0. You can combine these settings to create pointed and flat-topped cones, upright or inverted. The following combinations assume a positive height: Radius Combinations Effect Radius 2 is 0 Creates a pointed cone Standard Primitives | 327 Radius Combinations Effect Radius 1 is 0 Creates an inverted pointed cone Radius 1 is larger than Radius 2 Creates a flat-topped cone Radius 2 is larger than Radius 1 Creates an inverted flat-topped cone If Radius 1 and 2 are the same, a cylinder is created. If the two radius settings are close in size, the effect is similar to applying a Taper modifier to a cylinder. Effect of Radius settings Height Sets dimension along the central axis. Negative values create the cone below the construction plane. Height Segments Sets the number of divisions along the cone's major axis. Cap Segments Sets the number of concentric divisions around the center of the cone's top and bottom. Sides Sets the number of sides around the cone. Higher numbers shade and render as true circles with Smooth selected. Lower numbers create regular polygonal objects with Smooth off. Smooth Blends the faces of the cone, creating a smooth appearance in rendered views. Slice On Enables the Slice function. Default=off. When you create a slice and then turn off Slice On, the complete cone reappears. You can use this check box to switch between the two topologies. Slice From, Slice To Sets the number of degrees around the local Z axis from a zero point at the local X axis. For both settings, positive values move the end of the slice counterclockwise; negative values move it clockwise. Either setting can be made first. When the ends meet, the whole cone reappears. Generate Mapping Coords Generates coordinates for applying mapped materials to the cone. Default=on. 328 | Chapter 6 Creating Geometry Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Sphere Primitive Create panel ➤ (Geometry) ➤ Standard Primitives ➤ Object Type rollout ➤ Sphere button Create menu ➤ Standard Primitives ➤ Sphere Sphere produces a full sphere, or a hemisphere or other portion of a sphere. You can also "slice" a sphere about its vertical axis. Examples of spheres Standard Primitives | 329 Procedures To create a sphere: 1 On the Create menu choose Standard Primitives ➤ Sphere. 2 In any viewport, drag to define a radius. As you drag, a sphere emerges with its center at the pivot point. 3 Release the mouse to set the radius and create the sphere. To create a hemisphere: You can reverse the order of the following steps, if you like. 1 Create a sphere of desired radius. 2 Type 0.5 in the Hemisphere field. The sphere is reduced to exactly the upper half, a hemisphere. If you use the spinner, the sphere changes in size. Interface Creation Method rollout Edge Draws a sphere from edge to edge. You can change the center location by moving the mouse. Center Draws a sphere from the center out. 330 | Chapter 6 Creating Geometry Parameters rollout The defaults produce a smooth sphere of 32 segments with the pivot point at its center. Radius Specifies the radius of the sphere. Segments Sets the number of polygonal divisions for the sphere. Smooth Blends the faces of the sphere, creating a smooth appearance in rendered views. Hemisphere Increasing values progressively will "cut off" the sphere, starting at the base, to create a partial sphere. Values range from 0.0 to 1.0. The default is 0.0, producing a full sphere. A setting of 0.5 produces a hemisphere, and 1.0 reduces the sphere to nothing. Default=0.0. Chop and Squash toggle creation options for Hemisphere. Chop Reduces the number of vertices and faces in the sphere by "chopping" them out as the hemisphere is cut off. Default=on. Squash Maintains the number of vertices and faces in the original sphere, "squashing" the geometry into a smaller and smaller volume toward the top of the sphere. Standard Primitives | 331 Effects of Chop and Squash during hemisphere creation Slice On Uses the From and To angles to create a partial sphere. The effect is similar to lathing a semicircular shape fewer than 360 degrees. Slice From Sets the start angle. Slice To Sets the stop angle. For both settings, positive values move the end of the slice counterclockwise; negative values move it clockwise. Either setting can be made first. When the ends meet, the whole sphere reappears. Smoothing groups are assigned to sliced spheres as follows: The surface of the sphere is always assigned group 1; the bottom, when Smooth is on, gets group 2. Facing the pie-slice surfaces, the cut on the left gets group 3, and the cut on the right gets group 4. Material IDs are assigned to sliced spheres as follows: The bottom is 1 (when Hemisphere is greater than 0.0), the surface is 2, and the slice surfaces are 3 and 4. Base To Pivot Moves a sphere upward along its local Z axis so the pivot point is at its base. When off, the pivot point is on the construction plane at the center of the sphere. Default=off. Turning on Base To Pivot lets you place spheres so they rest on the construction plane, like pool balls on a table. It also lets you animate a hemisphere so it appears to grow out of the construction plane or sink into it. 332 | Chapter 6 Creating Geometry Effect of using Base To Pivot setting Generate Mapping Coords Generates coordinates for applying mapped materials to the sphere. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Standard Primitives | 333 GeoSphere Primitive Create panel ➤ (Geometry) ➤ Standard Primitives ➤ Object Type rollout ➤ GeoSphere button Create menu ➤ Standard Primitives ➤ GeoSphere Use GeoSphere to make spheres and hemispheres based on three classes of regular polyhedrons. Examples of geospheres Geospheres produce a more regular surface than standard spheres. They also render with a slightly smoother profile than a standard sphere given the same number of faces. Unlike a standard sphere, a geosphere has no poles, which can be an advantage when you apply certain modifiers such as Free-Form Deformation (FFD) modifiers on page 1380. 334 | Chapter 6 Creating Geometry Procedures To create a geosphere: 1 On the Create menu choose Standard Primitives ➤ Geosphere. 2 In any viewport, drag to set the center and radius of the geosphere. 3 Set parameters such as Geodesic Base Type and Segments. To create a geo-hemisphere: 1 Create a geosphere. 2 In the Parameters rollout, turn on the Hemisphere check box. The geosphere is converted to a hemisphere. Interface Creation Method rollout Diameter Draws a geosphere from edge to edge. You can change the center location by moving the mouse. Center Draws a geosphere from the center out. Parameters rollout Radius Sets the size of the geosphere. Standard Primitives | 335 Segments Sets the total number of faces in the geosphere. The number of faces in a geosphere is equal to the sides of the base polyhedron times the segments squared. Lower segment values work best. Using the maximum segment value of 200 can generate up to 800,000 faces, impairing performance. Geodesic Base Type group Lets you choose one of three types of regular polyhedrons for the geosphere's basic geometry. ■ TetraBased on a four-sided tetrahedron. The triangular facets can vary in shape and size. The sphere can be divided into four equal segments. ■ OctaBased on an eight-sided octahedron. The triangular facets can vary in shape and size. The sphere can be divided into eight equal segments. ■ IcosaBased on a 20-sided icosahedron. The facets are all equally sized equilateral triangles. The sphere can be divided into any number of equal segments, based on multiples and divisions of 20 faces. Smooth Applies smoothing groups to the surface of the sphere. Hemisphere Creates a half-sphere. Base To Pivot Sets the pivot point location. When on, the pivot is at the bottom of the sphere. When off, the pivot is at the center of the sphere. This option has no effect when Hemisphere is on. Generate Mapping Coords Generates coordinates for applying mapped materials to the geosphere. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Cylinder Primitive Create panel ➤ (Geometry) ➤ Standard Primitives ➤ Object Type rollout ➤ Cylinder button Create menu ➤ Standard Primitives ➤ Cylinder 336 | Chapter 6 Creating Geometry Cylinder produces a cylinder, which you can "slice" around its major axis. Examples of cylinders Procedures To create a cylinder: 1 On the Create panel, choose Standard Primitives ➤ Cylinder. 2 In any viewport, drag to define the radius of the base, then release to set the radius. 3 Move up or down to define a height, either positive or negative. 4 Click to set the height and create the cylinder. Interface Creation Method rollout Edge Draws a cylinder from edge to edge. You can change the center location by moving the mouse. Center Draws a cylinder from the center out. Standard Primitives | 337 Parameters rollout The defaults produce a smooth cylinder of 18 sides with the pivot point at the center of the base. There are five height segments and one cap segment. If you don't plan to modify the cylinder's shape, such as with a Bend modifier, set Height Segments to 1 to reduce scene complexity. If you plan to modify the ends of the cylinder, consider increasing the Cap Segments setting. Radius Sets the radius of the cylinder. Height Sets the dimension along the central axis. Negative values create the cylinder below the construction plane. Height Segments Sets the number of divisions along the cylinder's major axis. Cap Segments Sets the number of concentric divisions around the center of the cylinder's top and bottom. Sides Sets the number of sides around the cylinder. With Smooth on, higher numbers shade and render as true circles. With Smooth off, lower numbers create regular polygonal objects. Smooth The faces of the cylinder are blended together, creating a smooth appearance in rendered views. Slice On Enables the Slice function. Default=off. 338 | Chapter 6 Creating Geometry When you create a slice and then turn off Slice On, the complete cylinder reappears. You can use this check box to switch between the two topologies. Slice From, Slice To Sets the number of degrees around the local Z axis from a zero point at the local X axis. For both settings, positive values move the end of the slice counterclockwise; negative values move it clockwise. Either setting can be made first. When the ends meet, the whole cylinder reappears. Generate Mapping Coords Generates coordinates for applying mapped materials to the cylinder. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Tube Primitive Create panel ➤ (Geometry) ➤ Standard Primitives ➤ Object Type rollout ➤ Tube button Create menu ➤ Standard Primitives ➤ Tube Tube produces both round and prismatic tubes. The tube is similar to the cylinder with a hole in it. Standard Primitives | 339 Examples of tubes Procedures To create a tube: 1 On the Create menu choose Standard Primitives ➤ Tube. 2 In any viewport, drag to define the first radius, which can be either the inner or outer radius of the tube. Release to set the first radius. 3 Move to define the second radius, then click to set it. 4 Move up or down to define a height, either positive or negative. 5 Click to set the height and create the tube. To create a prismatic tube: 1 Set the number of sides for the kind of prism you want. 2 Turn Smooth off. 3 Create a tube. 340 | Chapter 6 Creating Geometry Interface Creation Method rollout Edge Draws a tube from edge to edge. You can change the center location by moving the mouse. Center Draws a tube from the center out. Parameters rollout The defaults produce a smooth, round tube of 18 sides with the pivot point at the center of the base. There are five height segments and one cap segment. If you don't plan to modify the cylinder's shape, such as with a Bend modifier, set Height Segments to 1 to reduce scene complexity. If you plan to modify the ends of the cylinder, consider increasing the Cap Segments setting. Radius 1, Radius 2 The larger setting specifies the outside radius of the tube, while the smaller specifies the inside radius. Height Sets the dimension along the central axis. Negative values create the tube below the construction plane. Height Segments Sets the number of divisions along the tube's major axis. Standard Primitives | 341 Cap Segments Sets the number of concentric divisions around the center of the tube's top and bottom. Sides Sets the number of sides around the tube. Higher numbers shade and render as true circles with Smooth on. Lower numbers create regular polygonal objects with Smooth off. Smooth When on (the default), faces of the tube are blended together, creating a smooth appearance in rendered views. Slice On Enables the Slice feature, which removes part of the tube's circumference. Default=off. When you create a slice and then turn off Slice On, the complete tube reappears. You can therefore use this check box to switch between the two topologies. Slice From, Slice To Sets the number of degrees around the local Z axis from a zero point at the local X axis. For both settings, positive values move the end of the slice counterclockwise; negative values move it clockwise. Either setting can be made first. When the ends meet, the whole tube reappears. Generate Mapping Coords Generates coordinates for applying mapped materials to the tube. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Torus Primitive Create panel ➤ (Geometry) ➤ Standard Primitives ➤ Object Type rollout ➤ Torus button Create menu ➤ Standard Primitives ➤ Torus Torus produces a torus, or a ring with a circular cross section, sometimes referred to as a doughnut. You can combine three smoothing options with rotation and twist settings to create complex variations. 342 | Chapter 6 Creating Geometry Examples of tori Procedures To create a torus: 1 From the Create menu, choose Standard Primitives ➤ Torus. 2 In any viewport, drag to define a torus. 3 As you drag, a torus emerges with its center at the pivot point. 4 Release to set the radius of the torus ring. 5 Move to define the radius of the cross-sectional circle, then click to create the torus. Interface Creation Method rollout Edge Draws a torus from edge to edge. You can change the center location by moving the mouse. Center Draws a torus from the center out. Standard Primitives | 343 Parameters rollout The defaults produce a smooth torus with 12 sides and 24 segments. The pivot point is at the center of the torus on the plane, cutting through the center of the torus. Higher settings for sides and segments produce a more dense geometry that might be required for some modeling or rendering situations. Radius 1 Sets the distance from the center of the torus to the center of the cross-sectional circle. This is the radius of the torus ring. Radius 2 Sets the radius of the cross-sectional circle. This value is replaced each time you create a torus. Default = 10. Radius 1 and Radius 2 344 | Chapter 6 Creating Geometry Rotation Sets the degree of rotation. Vertices are uniformly rotated about the circle running through the center of the torus ring. Positive and negative values for this setting "roll" the vertices in either direction over the surface of the torus. Rotation and Twist Twist Sets the degree of twist. Cross sections are progressively rotated about the circle running through the center of the torus. Beginning with twist, each successive cross section is rotated until the last one has the number of degrees specified. Twisting a closed (unsliced) torus creates a constriction in the first segment. You can avoid this by either twisting in increments of 360 degrees, or by turning Slice on and setting both Slice From and Slice To to 0 to maintain a complete torus. Segments Sets the number of radial divisions around the torus. By reducing this number, you can create polygonal rings instead of circular ones. Sides Sets the number of sides on the cross-sectional circle of the torus. By reducing this number, you can create prism-like cross sections instead of circular ones. Smooth group Choose one of four levels of smoothing: ■ All(default) Produces complete smoothing on all surfaces of the torus. ■ SidesSmoothes the edges between adjacent segments, producing smooth bands running around the torus. ■ NoneTurns off smoothing entirely, producing prism-like facets on the torus. ■ SegmentsSmoothes each segment individually, producing ring-like segments along the torus. Slice On Creates a portion of a sliced torus rather than the entire 360 degrees. Standard Primitives | 345 Slice From When Slice On is on, specifies the angle where the torus slice begins. Slice To When Slice On is on, specifies the angle where the torus slice ends. Generate Mapping Coords Generates coordinates for applying mapped materials to the torus. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Pyramid Primitive Create panel ➤ (Geometry) ➤ Standard Primitives ➤ Object Type rollout ➤ Pyramid button Create menu ➤ Standard Primitives ➤ Pyramid The Pyramid primitive has a square or rectangular base and triangular sides. 346 | Chapter 6 Creating Geometry Examples of pyramids Procedures To create a Pyramid: 1 On the Create menu choose Standard Primitives ➤ Pyramid. 2 Choose a creation method, either Base/Apex or Center. NOTE Hold the Ctrl key while using either creation method to constrain the base to a square. 3 In any viewport, drag to define the base of the pyramid. If you're using Base/Apex, define the opposite corners of the base, moving the mouse horizontally or vertically to define the width and depth of the base. If you're using Center, drag from the center of the base. 4 Click, and then move the mouse to define the Height. 5 Click to complete the pyramid. Standard Primitives | 347 Interface Creation Method rollout Base/Apex Creates the pyramid base from one corner to the diagonally opposite corner. Center Creates the pyramid base from the center out. Parameters rollout Width, Depth and Height Sets the dimension of the corresponding side of the pyramid. Width, Depth and Height Segs Sets the number of segments to the corresponding sides of the pyramid. Generate Mapping Coords Generates coordinates for applying mapped materials to the pyramid. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. 348 | Chapter 6 Creating Geometry Teapot Primitive Create panel ➤ (Geometry) ➤ Standard Primitives ➤ Object Type rollout ➤ Teapot button Create menu ➤ Standard Primitives ➤ Teapot Teapot produces a teapot. You can choose to make the whole teapot at once (the default), or any of its parts. Since the Teapot is a parametric object, you can choose which parts of the teapot to display after creation. Examples of teapots History of the Teapot This teapot derives from the original data developed by Martin Newell in 1975. Beginning with a graph-paper sketch of a teapot that he kept on his desk, Newell calculated cubic Bezier splines on page 9104 to create a wireframe model. James Blinn, also at the University of Utah during this period, produced early renderings of exceptional quality using this model. Standard Primitives | 349 The teapot has since become a classic in computer graphics. Its complexly curved and intersecting surfaces are well suited to testing different kinds of material mappings and rendering settings on a real-world object. Procedures To create a teapot: 1 On the Create menu, choose Standard Primitives ➤ Teapot. 2 In any viewport, drag to define a radius. As you drag, a teapot emerges with the pivot point at the center of its base. 3 Release the mouse to set the radius and create the teapot. To create a teapot part: 1 In Parameters rollout ➤ Teapot Parts group, turn off all parts except the one you want to create. 2 Create a teapot. The part you left on appears. The pivot point remains at the center of the teapot's base. 3 In Parameters rollout ➤ Teapot Parts group, turn off all parts except the one you want. The teapot has four separate parts: body, handle, spout, and lid. Controls are located in the Teapot Parts group of the Parameters rollout. You can check any combination of parts to create at the same time. The body alone is a ready-made bowl, or a pot with optional lid. To turn a part into a teapot: 1 Select a teapot part in the viewport. 2 On the Modify panel ➤ Parameters rollout, turn on all parts. (This is the default.) The whole teapot appears. You can apply modifiers to any separate part. If you later turn on another part, the modifier affects the additional geometry as well. 350 | Chapter 6 Creating Geometry Interface Creation Method rollout Edge Draws a teapot from edge to edge. You can change the center location by moving the mouse. Center Draws a teapot from the center out. Parameters rollout Radius Sets the radius of the teapot Segments Sets the number of divisions for the teapot or its individual parts. Smooth Blends faces of the teapot, creating a smooth appearance in rendered views. Teapot Parts group Turn check boxes on or off for teapot parts. By default, all are on, producing a complete teapot. Generate Mapping Coords Generates coordinates for applying mapped materials to the teapot. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by Standard Primitives | 351 the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Plane Primitive Create panel ➤ (Geometry) ➤ Standard Primitives ➤ Object Type rollout ➤ Plane button Create menu ➤ Standard Primitives ➤ Plane The Plane object is a special type of flat polygon mesh that can be enlarged by any amount at render time. You can specify factors to magnify the size or number of segments, or both. Use the Plane object for creating a large-scale ground plane that doesn't get in the way when working in a viewport. You can apply any type of modifier to the plane object, such as Displace on page 1255 to simulate a hilly terrain. Example of plane 352 | Chapter 6 Creating Geometry Procedures To create a plane: 1 On the Create menu choose Standard Primitives ➤ Plane. 2 In any viewport, drag to create the Plane. Interface Creation Method rollout Rectangle Creates the plane primitive from one corner to the diagonally opposite corner, interactively setting different values for length and width. Square Creates a square plane where length and width are equal. You can change dimensions in the Parameters rollout subsequent to creation. Parameters rollout Length, Width Sets the length and width of the plane object. These fields act also as readouts while you drag the sides of the box. You can revise these values. Defaults= 0.0, 0.0. Length Segs, Width Segs Sets the number of divisions along each axis of the object. Can be set before or after creation. By default, each side of the plane Standard Primitives | 353 has four segments. When you reset these values, the new values become the default during a session. Render Multipliers group Render Scale Specifies the factor by which both length and width are multiplied at render time. Scaling is performed from the center outward. Render Segs Specifies the factor by which the number of segments in both length and width are multiplied at render time. Generate Mapping Coords Generates coordinates for applying mapped materials to the plane. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Extended Primitives Extended Primitives are a collection of complex primitives for 3ds Max. The topics that follow describe each type of extended primitive and its creation parameters. 354 | Chapter 6 Creating Geometry A collection of extended primitive objects These primitives are available from the Object Type rollout on the Create panel and from the Create menu on page 8598 ➤ Extended Primitives. All primitives offer AutoGrid. They all have name and color controls, and allow you to enter initial values from the keyboard. See these topics: AutoGrid on page 2819 Extended Primitives | 355 Object Name and Wireframe Color on page 8771 Creating Primitives from the Keyboard on page 318 (not applicable to Hedra, RingWave, or Hose) The remaining rollouts are covered in the topic for each primitive. Hedra Extended Primitive Create panel ➤ (Geometry) ➤ Extended Primitives ➤ Object Type rollout ➤ Hedra button Create menu ➤ Extended Primitives ➤ Hedra Use Hedra to produce objects from several families of polyhedra. Examples of hedra 356 | Chapter 6 Creating Geometry Procedures To create a polyhedron: 1 From the Create menu, choose Extended Primitives ➤ Hedra. 2 In any viewport, drag to define a radius, then release to create the polyhedron. As you drag, a polyhedron emerges from the pivot point. 3 Adjust the Family Parameter and Axis Scaling spinners to vary the Hedra's appearance. Extended Primitives | 357 Interface Family group Use this group to select the type of polyhedron to create. Tetra Creates a tetrahedron. Cube/Octa Creates a cubic or octahedral polyhedron (depending on parameter settings). 358 | Chapter 6 Creating Geometry Dodec/Icos Creates a dodecahedron or icosahedron (depending on parameter settings). Star1/Star2 Creates two different star-like polyhedra. TIP You can animate between Hedra types. Turn on the Auto Key button, go to any frame, and change the Family check box. There is no interpolation between types; the model simply jumps from a star to a cube or tetrahedron, and so on. Family parameters group P, Q Interrelated parameters that provide a two-way translation between the vertices and facets of a polyhedron. They share the following: ■ Range of possible values is 0.0 through 1.0. ■ The combined total of the P and Q values can be equal to or less than 1.0. ■ Extremes occur if either P or Q is set to 1.0; the other is automatically set to 0.0. ■ Midpoint occurs when both P and Q are 0. In the simplest terms, P and Q change the geometry back and forth between vertices and facets. At the extreme settings for P and Q, one parameter represents all vertices, the other represents all facets. Intermediate settings are transition points, with the midpoint an even balance between the two parameters. Axis Scaling group Polyhedra can have as many as three kinds of polygonal facets, such as triangle, square, or pentagon. These facets can be regular or irregular. If a polyhedron has only one or two types of facet, only one or two of the axis scaling parameters are active. Inactive parameters have no effect. P, Q, R Controls the axis of reflection for one of the facets of a polyhedron. In practice, these fields have the effect of pushing their corresponding facets in and out. Defaults=100. Reset Returns axes to their default setting. Vertices group Parameters in the Vertices group determine the internal geometry of each facet of a polyhedron. Center and Center & Sides increase the number of vertices in the object and therefore the number of faces. These parameters cannot be animated. Extended Primitives | 359 Basic Facets are not subdivided beyond the minimum. Center Each facet is subdivided by placing an additional vertex at its center, with edges from each center point to the facet corners. Center & Sides Each facet is subdivided by placing an additional vertex at its center, with edges from each center point to the facet corners, as well as to the center of each edge. Compared to Center, Center & Sides doubles the number of faces in the polyhedron. NOTE If you scale the axis of the object, the Center option is used automatically, unless Center & Sides is already set. To see the internal edges shown in the figure, turn off Edges Only on the Display command panel. Radius Sets the radius of any polyhedron in current units. Generate Mapping Coords Generates coordinates for applying mapped materials to the polyhedron. Default=on. Torus Knot Extended Primitive Create panel ➤ (Geometry) ➤ Extended Primitives ➤ Object Type rollout ➤ Torus Knot button Create menu ➤ Extended Primitives ➤ Torus Knot Use Torus Knot to create a complex or knotted torus by drawing 2D curves in the normal planes around a 3D curve. The 3D curve (called the Base Curve) can be either a circle or a torus knot. You can convert a torus knot object to a NURBS surface on page 2500. 360 | Chapter 6 Creating Geometry Example of torus knot Procedures To create a Torus Knot: 1 On the Create menu, choose Extended Primitives ➤ Torus Knot. 2 Drag the mouse to define the size of the torus knot. 3 Click, then move the mouse vertically to define the radius. 4 Click again to finish the torus. 5 Adjust the parameters on the Modify panel. Interface Creation Method rollout Diameter Draws the object from edge to edge. You can change the center location by moving the mouse. Radius Draws the object from the center out. Extended Primitives | 361 Parameters rollout > Base Curve group Provides parameters that affect the base curve. Knot/Circle With Knot, the torus interweaves itself, based on various other parameters. With Circle, the base curve is a circle, resulting in a standard torus if parameters such as Warp and Eccentricity are left at their defaults. Radius Sets the radius of the base curve. Segments Sets the number of segments around the perimeter of the torus. P and Q Describes up-and-down (P) and around-the-center (Q) winding numbers. (Active only when Knot is chosen.) Warp Count Sets the number of "points" in a star shape around the curve. (Active only when Circle is chosen.) Warp Height Sets the height of the "points" given as a percentage of the base curve radius. 362 | Chapter 6 Creating Geometry Parameters rollout > Cross Section group Provides parameters that affect the cross section of the torus knot. Radius Sets the radius of the cross section. Sides Sets the number of sides around the cross section. Eccentricity Sets the ratio of the major to minor axes of the cross section. A value of 1 provides a circular cross section, while other values create elliptical cross sections. Twist Sets the number of times the cross section twists around the base curve. Lumps Sets the number of bulges in the torus knot. Note that the Lump Height spinner value must be greater than 0 to see any effect. Lump Height Sets the height of the lumps, as a percentage of the radius of the cross section. Note that the Lumps spinner must be greater than 0 to see any effect. Lump Offset Sets the offset of the start of the lumps, measured in degrees. The purpose of this value is to animate the lumps around the torus. Parameters rollout > Smooth group Provides options to alter the smoothing displayed or rendered of the torus knot. This smoothing does not displace or tesselate the geometry, it only adds the smoothing group information. All Smoothes the entire torus knot. Extended Primitives | 363 Sides Smoothes only the adjacent sides of the torus knot. None The torus knot is faceted. Parameters rollout > Mapping Coordinates group Provides methods of assigning and adjusting mapping coordinates. Generate Mapping Coords Assigns mapping coordinates based on the geometry of the torus knot. Default=on. Offset U/V Offset the mapping coordinates along U and V. Tiling U/V Tile the mapping coordinates along U and V. ChamferBox Extended Primitive Create panel ➤ (Geometry) ➤ Extended Primitives ➤ Object Type rollout ➤ ChamferBox button Create menu ➤ Extended Primitives ➤ Chamfer Box Use ChamferBox to create a box with beveled or rounded edges. 364 | Chapter 6 Creating Geometry Examples of chamfered boxes Procedures To create a standard chamfered box: 1 From the Create menu, choose Extended Primitives ➤ Chamfer Box. 2 Drag the mouse to define the diagonal corners of the base of the chamfered box. (Press Ctrl to constrain the base to a square.) 3 Release the mouse button, and then move the mouse vertically to define the height of the box. Click to set the height 4 Move the mouse diagonally to define the width of the fillet, or chamfer (toward the upper left increases the width; toward the lower right decreases it). 5 Click again to finish the chamfered box. To create a cubic chamfered box: 1 On the Creation Method rollout, click Cube. Extended Primitives | 365 2 Beginning at the center of the cube, drag in a viewport to set all three dimensions simultaneously. 3 Release the button, and move the mouse to set the fillet or chamfer. 4 Click to create the object. You can change a cube's individual dimensions in the Parameters rollout. Interface Creation Method rollout Cube Forces length, width, and height to be equal. You can change a cube's individual dimensions in the Parameters rollout. Box Creates a standard chamfered box primitive from one corner to the diagonally opposite corner, with individual settings for length, width, and height. Parameters rollout Length, Width, Height Sets the corresponding dimensions of the chamfered box. 366 | Chapter 6 Creating Geometry Fillet Slices off the edges of the chamfered box. Higher values result in a more refined fillet on the edges of the chamfered box. Length, Width, Height Segs Sets the number of divisions along the corresponding axis. Fillet Segs Sets the number of segments in the filleted edges of the box. Adding fillet segments increases the edge roundness. Smooth Blends the display of the faces of the chamfered box, creating a smooth appearance in rendered views. Generate Mapping Coords Generates coordinates for applying mapped materials to the chamfered box. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. ChamferCyl Extended Primitive Create panel ➤ (Geometry) ➤ Extended Primitives ➤ Object Type rollout ➤ ChamferCyl button Create menu ➤ Extended Primitives ➤ Chamfer Cylinder Use ChamferCyl to create a cylinder with beveled or rounded cap edges. Extended Primitives | 367 Examples of chamfered cylinders Procedures To create a chamfered cylinder: 1 From the Create menu, choose Extended Primitives ➤ Chamfer Cylinder. 2 Drag the mouse to define the radius of the base of the chamfered cylinder. 3 Release the mouse button, and then move the mouse vertically to define the height of the cylinder. Click to set the height. 4 Move the mouse diagonally to define the width of the fillet, or chamfer (toward the upper left increases the width; toward the lower right decreases it). 5 Click to finish the cylinder. 368 | Chapter 6 Creating Geometry Interface Creation Method rollout Edge Draws the object from edge to edge. You can change the center location by moving the mouse. Center Draws the object from the center out. Parameters rollout Radius Sets the radius of the chamfered cylinder. Height Sets the dimension along the central axis. Negative values create the chamfered cylinder below the construction plane. Fillet Chamfers the top and bottom cap edges of the chamfered cylinder. Higher numbers result in a more refined fillet along the cap edge. Height Segs Sets the number of divisions along the corresponding axis. Fillet Segs Sets the number of segments in the filleted edges of the cylinder. Adding fillet segments curves the edges, producing a filleted cylinder. Extended Primitives | 369 Sides Sets the number of sides around the chamfered cylinder. Higher numbers shade and render as true circles with Smooth on. Lower numbers create regular polygonal objects with Smooth off. Cap Segs Sets the number of concentric divisions along the center of the chamfered cylinder's top and bottom Smooth Blends the faces of the chamfered cylinder, creating a smooth appearance in rendered views. Slice On Enables the Slice function. Default=off. When you create a slice and then turn off Slice On, the complete chamfered cylinder reappears. You can use this check box to switch between the two topologies. Slice From, Slice To Sets the number of degrees around the local Z axis from a zero point at the local X axis. For both settings, positive values move the end of the slice counterclockwise; negative values move it clockwise. Either setting can be made first. When the ends meet, the whole chamfered cylinder reappears. Generate Mapping Coords Generates coordinates for applying mapped materials to the chamfered cylinder. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. OilTank Extended Primitive Create panel ➤ (Geometry) ➤ Extended Primitives ➤ Object Type rollout ➤ OilTank button Create menu ➤ Extended Primitives ➤ Oil Tank Use OilTank to create a cylinder with convex caps. 370 | Chapter 6 Creating Geometry Examples of oil tanks Procedures To create an oil tank: 1 From the Create menu, choose Extended Primitives ➤ Oil Tank. 2 Drag the mouse to define the radius of the base of the oil tank. 3 Release the mouse button, and then move the mouse vertically to define the height of the oil tank. Click to set the height. 4 Move the mouse diagonally to define the height of the convex caps (toward the upper left to increase the height; toward the lower right to decrease it). 5 Click again to finish the oil tank. Extended Primitives | 371 Interface Creation Method rollout Edge Draws the object from edge to edge. You can change the center location by moving the mouse. Center Draws the object from the center out. Parameters rollout Radius Sets the radius of the oil tank. Height Sets the dimension along the central axis. Negative values create the oil tank below the construction plane. Cap Height Sets the height of the convex caps. The minimum value is 2.5 percent of the Radius setting. The maximum value is 99 percent the Radius setting, unless the absolute value of the Height setting is less than twice the Radius setting, in which case cap height cannot exceed 49.5 percent of the absolute value of the Height setting. 372 | Chapter 6 Creating Geometry Overall/Centers Determines what the Height value specifies. Overall is the overall height of the object. Centers is the height of the midsection of the cylinder, not including its convex caps. Blend When greater than 0, creates a bevel at the edge of the caps. Sides Sets the number of sides around the oil tank. To create a smoothly rounded object, use a higher number of sides and turn Smooth on. To create an oil tank with flat sides, use a lower number of sides and turn Smooth off. Height Segs Sets the number of divisions along the oil tank's major axis. Smooth Blends the faces of the oil tank, creating a smooth appearance in rendered views. Slice On Turns on the Slice function. Default=off. When you create a slice and then turn off Slice On, the complete oil tank reappears. You can therefore use this check box to switch between the two topologies. Slice From, Slice To Sets the number of degrees around the local Z axis from a zero point at the local X axis. For both settings, positive values move the end of the slice counterclockwise; negative values move it clockwise. Either setting can be made first. When the ends meet, the whole oil tank reappears. Generate Mapping Coords Generates coordinates for applying mapped materials to the oil tank. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Capsule Extended Primitive Create panel ➤ (Geometry) ➤ Extended Primitives ➤ Object Type rollout ➤ Capsule button Create menu ➤ Extended Primitives ➤ Capsule Use Capsule to create a cylinder with hemispherical caps. Extended Primitives | 373 Examples of capsules Procedures To create a capsule: 1 From the Create menu, choose Extended Primitives ➤ Capsule. 2 Drag the mouse to define the radius of the capsule. 3 Release the mouse button, and then move the mouse vertically to define the height of the capsule. 4 Click to set the height and finish the capsule. Interface Creation Method rollout Edge Draws the object from edge to edge. You can change the center location by moving the mouse. Center Draws the object from the center out. 374 | Chapter 6 Creating Geometry Parameters rollout Radius Sets the radius of the capsule. Height Sets the height along the central axis. Negative values create the capsule below the construction plane. Overall/Centers Determines what the Height value specifies. Overall specifies the overall height of the object. Centers specifies the height of the midsection of the cylinder, not including its domed caps. Sides Sets the number of sides around the capsule. Higher numbers shade and render as true circles with Smooth on. Lower numbers create regular polygonal objects with Smooth off. Height Segs Sets the number of divisions along the capsule's major axis. Smooth Blends the faces of the capsule, creating a smooth appearance in rendered views. Slice On Turns on the Slice function. Default=off. When you create a slice and then turn off Slice On, the complete capsule reappears. You can use this check box to switch between the two topologies. Slice From, Slice To Sets the number of degrees around the local Z axis from a zero point at the local X axis. Extended Primitives | 375 For both settings, positive values move the end of the slice counterclockwise; negative values move it clockwise. Either setting can be made first. When the ends meet, the whole capsule reappears. Generate Mapping Coords Generates coordinates for applying mapped materials to the capsule. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Spindle Extended Primitive Create panel ➤ (Geometry) ➤ Extended Primitives ➤ Object Type rollout ➤ Spindle button Create menu ➤ Extended Primitives ➤ Spindle Use the Spindle primitive to create a cylinder with conical caps. Examples of spindles 376 | Chapter 6 Creating Geometry Procedures To create a spindle: 1 From the Create menu, choose Extended Primitives ➤ Spindle. 2 Drag the mouse to define the radius of the base of the spindle. 3 Release the mouse button, and then move the mouse vertically to define the height of the spindle. Click to set the height. 4 Move the mouse diagonally to define the height of the conical caps (toward the upper left to increase the height; toward the lower right to decrease it). 5 Click again to finish the spindle. Interface Creation Method rollout Edge Draws the object from edge to edge. You can change the center location by moving the mouse. Center Draws the object from the center out. Extended Primitives | 377 Parameters rollout Radius Sets the radius of the spindle. Height Sets the dimension along the central axis. Negative values create the spindle below the construction plane. Cap Height Sets the height of the conical caps. The minimum value is 0.1; the maximum value is ½ the absolute value of the Height setting. Overall/Centers Determines what the Height value specifies. Overall specifies the overall height of the object. Centers specifies the height of the midsection of the cylinder, not including its conical caps. Blend When greater than 0, creates a fillet where the caps meet the body of the spindle. Sides Sets the number of sides around the spindle. Higher numbers shade and render as true circles with Smooth on. Lower numbers create regular polygonal objects with Smooth off. 378 | Chapter 6 Creating Geometry Cap Segs Sets the number of concentric divisions along the center of the spindle's top and bottom. Height Segs Sets the number of divisions along the spindle's major axis. Smooth Blends the faces of the spindle, creating a smooth appearance in rendered views. Slice On Turns on the Slice function. Default=off. When you create a slice and then turn off Slice On, the complete spindle reappears. You can therefore use this check box to switch between the two topologies. Slice From, Slice To Sets the number of degrees around the local Z axis from a zero point at the local X axis. For both settings, positive values move the end of the slice counterclockwise; negative values move it clockwise. Either setting can be made first. When the ends meet, the whole spindle reappears. Generate Mapping Coords Sets up the required coordinates for applying mapped materials to the spindle. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. L-Ext Extended Primitive Create panel ➤ (Geometry) ➤ Extended Primitives ➤ Object Type rollout ➤ L-Ext button Create menu ➤ Extended Primitives ➤ L-Extrustion Use L-Ext to create an extruded L-shaped object. Extended Primitives | 379 Example of L-Ext Procedures To create an L-Ext object: 1 From the Create menu, choose Extended Primitives ➤ L-Ext. 2 Drag the mouse to define the base. (Press Ctrl to constrain the base to a square.) 3 Release the mouse and move it vertically to define the height of the L-extrusion. 4 Click, and then move the mouse vertically to define the thickness or width of the walls of the L-extrusion. 5 Click to finish the L-extrusion. 380 | Chapter 6 Creating Geometry Interface Creation Method rollout Corners Draws the object from corner to corner. You can change the center location by moving the mouse. Center Draws the object from the center out. Parameters rollout Side/Front Length Specify the lengths of each "leg" of the L. Side/Front Width Specify the widths of each "leg" of the L. Height Specifies the height of the object. Side/Front Segs Specify the number of segments for a specific "leg" of the object. Width/Height Segs Specify the number of segments for the overall width and height. Extended Primitives | 381 NOTE The object's dimensions (Back, Side, Front) are labeled as though it were created in the Top or Perspective viewports, and seen from the front in world space. Generate Mapping Coords Sets up the required coordinates for applying mapped materials to the object. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Gengon Extended Primitive Create panel ➤ (Geometry) ➤ Extended Primitives ➤ Object Type rollout ➤ Gengon button Create menu ➤ Extended Primitives ➤ Gengon Use Gengon to create an extruded, regular-sided polygon with optionally filleted side edges. 382 | Chapter 6 Creating Geometry Examples of gengons Procedures To create a gengon: 1 From the Create menu, choose Extended Primitives ➤ Gengon. 2 Set the Sides spinner to specify the number of side wedges in the gengon. 3 Drag the mouse to create the radius of the gengon. 4 Release the mouse button, then move the mouse vertically to define the height of the gengon. Click to set the height. 5 Move the mouse diagonally to specify the size of the chamfer along the side angles (toward the upper left to increase the size; toward the lower right to decrease it). 6 Click to finish the gengon. TIP In the Parameters rollout, increase the Fillet Segs spinner to round the chamfered corners into fillets. Extended Primitives | 383 Interface Creation Method rollout Edge Draws the object from edge to edge. You can change the center location by moving the mouse. Center Draws the object from the center out. Parameters rollout Sides Sets the number of sides around the gengon. Higher numbers shade and render as true circles with Smooth on. Lower numbers create regular polygonal objects with Smooth off. Radius Sets the radius of the gengon. Fillet Sets the width of the chamfered corners. Height Sets the dimension along the central axis. Negative values create the gengon below the construction plane. Side Segs Sets the number of divisions around the gengon. Height Segs Sets the number of divisions along the gengon's major axis. Fillet Segs Sets the number of divisions for the edge filleting. Increasing this setting will produce round, filleted corners instead of chamfers. 384 | Chapter 6 Creating Geometry Smooth Blends the faces of the gengon, creating a smooth appearance in rendered views. Generate Mapping Coords Sets up the required coordinates for applying mapped materials to the gengon. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. C-Ext Extended Primitive Create panel ➤ (Geometry) ➤ Extended Primitives ➤ Object Type rollout ➤ C-Ext button Create menu ➤ Extended Primitives ➤ C-Extrusion Use C-Ext to create an extruded C-shaped object. Example of C-Ext Procedures To create a C-Ext object: 1 From the Create menu, choose Extended Primitives ➤ C-Extrusion. 2 Drag the mouse to define the base. (Press Ctrl to constrain the base to a square.) 3 Release the mouse and move it vertically to define the height of the C-extrusion. Extended Primitives | 385 4 Click, and then move the mouse vertically to define the thickness or width of the walls of the C-extrusion. 5 Click to finish the C-extrusion. Interface Creation Method rollout Corners Draws the object from corner to corner. You can change the center location by moving the mouse. Center Draws the object from the center out. Parameters rollout Back/Side/Front Length Specify the length of each of the three sides. Back/Side/Front Width Specify the width of each of the three sides. 386 | Chapter 6 Creating Geometry Height Specifies the overall height of the object. Back/Side/Front Segs Specify the number of segments for a specific side of the object. NOTE The object's dimensions (Back, Side, Front) are labeled as though it were created in the Top or Perspective viewports, and seen from the front in world space. Width/Height Segs Set these to specify the number of segments for the overall width and height of the object. Generate Mapping Coords Sets up the required coordinates for applying mapped materials to the object. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. RingWave Extended Primitive Create panel ➤ (Geometry) ➤ Extended Primitives ➤ Object Type rollout ➤ RingWave button Create menu ➤ Extended Primitives ➤ RingWave Use the RingWave object to create a ring, optionally with irregular inner and outer edges whose shapes can be animated. You can also animate the growth of the ringwave object, and you can use keyframing to animate all numeric settings. Use RingWave for various types of special-effects animation, for example, to depict the shock wave emanating from the explosion of a star or planet. Extended Primitives | 387 Example of ringwave Procedures To create a basic animated ringwave: 1 On the menu bar choose Create ➤ Extended Primitives ➤ RingWave. 2 Drag in a viewport to set the outer radius of the ringwave. 3 Release the mouse button, and then move the mouse back toward the center of the ring to set the inner radius. 4 Click to create the ringwave object. 5 Drag the time slider to see the basic animation. This is determined by the Inner Edge Breakup group ➤ Crawl Time settings. 6 To animate the ring's growth, choose RingWave Timing group ➤ Grow And Stay or Cyclic Growth. 388 | Chapter 6 Creating Geometry Interface Parameters rollout Extended Primitives | 389 RingWave Size group Use these settings to change the ringwave's basic parameters. Radius Sets the outside radius of the ringwave. Radial Segs Sets the segment count between the inner and outer surfaces in the direction of the radius. Ring Width Sets the mean ring width as measured inward from the outer radius. Sides Sets the number of segments in the circumferential direction for both the inner, outer, and end (cap) surfaces. Height Sets the height of the ringwave along its major axis. TIP If you leave the Height at 0 for an effect like a shock wave, you will want to apply a two-sided material so that the ring can be seen from both sides. Height Segs Sets the number of segments in the direction of the height. RingWave Timing group Use these settings for ringwave animation where the ringwave grows from nothing to its full size. No Growth Sets a static ringwave, which appears at Start Time and disappears after End Time. Grow and Stay Animates a single growth cycle. The ringwave begins growing at the Start Time and reaches its full size at Start Time plus Grow Time. Cyclic Growth The ringwave grows repeatedly from the Start Time to Start Time plus Grow Time. For example, if you set Start Time to 0 and Grow Time to 25, leaving End Time at the default value of 100, and choose Cyclic Growth, the ringwave grows from nothing to its full size four times over the course of the animation. Start Time The frame number where the ringwave appears, and begins to grow if you choose Grow and Stay or Cyclic Growth. Grow Time The number of frames after Start Time the ringwave takes to reach full size. Grow Time is available only if Grow and Stay or Cyclic Growth is chosen. End Time The frame number after which the ringwave disappears. 390 | Chapter 6 Creating Geometry Outer Edge Breakup group Use these settings to change the shape of the ringwave's outer edge. TIP For effects like shock waves, the ringwave typically has little or no breakup on the outer edge but relatively massive breakup on the inner edge. On Turns on breakup of the outer edge. The remaining parameters in this group are active only when this is on. Default=off. Major Cycles Sets the number of major waves around the outer edge. Width Flux Sets the size of the major waves, expressed as a percentage of the unmodulated width. Crawl Time Sets the number of frames each major wave takes to move around the outer circumference of the RingWave. Minor Cycles Sets the number of random-sized smaller waves in each major cycle. Width Flux Sets the average size of the smaller waves, expressed as a percentage of the unmodulated width. Crawl Time Sets the number of frames each minor wave takes to move across its respective major wave. Inner Edge Breakup group Use these settings to change the shape of the ringwave's inner edge. On Turns on the breakup of the inner edge. The remaining parameters in this group are active only when this is on. Default=on. Major Cycles Sets the number of major waves around the inner edge. Width Flux Sets the size of the major waves, expressed as a percentage of the unmodulated width. Crawl Time Sets the number of frames each major wave takes to move around the inner circumference of the RingWave. Minor Cycles Sets the number of random-sized smaller waves in each major cycle. Width Flux Sets the average size of the smaller waves, expressed as a percentage of the unmodulated width. Crawl Time Sets the number of frames each minor wave takes to move across its respective major wave. Extended Primitives | 391 NOTE Negative values in the Crawl Time parameters change the direction of the wave. To produce interference patterns, use Crawl Time settings of opposite sign for major and minor waves, but similar Width Flux and Cycles settings. TIP To produce the best "random" results, use prime numbers for major and minor cycles that differ by a multiple of two to four. For example, a major wave of 11 or 17 cycles using a width flux of 50 combined with a minor wave of 23 or 31 cycles with a width flux of 10 to 20 makes a nice random-appearing edge. _____ Texture Coordinates Sets up the required coordinates for applying mapped materials to the object. Default=on. Smooth Applies smoothing to the object by setting all polygons to smoothing group 1. Default=on. Prism Extended Primitive Create panel ➤ (Geometry) ➤ Extended Primitives ➤ Object Type rollout ➤ Prism button Create menu ➤ Extended Primitives ➤ Prism Use Prism to create a three-sided prism with independently segmented sides. Example of a prism 392 | Chapter 6 Creating Geometry Procedures To create a prism with an isosceles triangle as its base: 1 Choose Isosceles on the Creation Method rollout. 2 Drag horizontally in the viewport to define the length of Side 1 (along the X axis). Drag vertically to define the length of Sides 2 and 3 (along the Y axis). (To constrain the base to an equilateral triangle, press Ctrl before performing this step.) 3 Release the mouse, and move it vertically to define the height of the prism. 4 Click to complete the prism. 5 On the Parameters rollout, alter the length of the sides as needed. To create a prism with a scalene or obtuse triangle at its base: 1 Choose Base/Apex in the Creation Method rollout. 2 Drag horizontally in the viewport to define the length of Side 1 (along the X axis). Drag vertically to define the length of Sides 2 and 3 (along the Y axis). 3 Click, and then move the mouse to specify the placement of the apex of the triangle. This alters the length of sides 2 and 3, and the angles of the corners of the triangle. 4 Click, and then move the mouse vertically to define the height of the prism. 5 Click to complete the prism. Interface Creation Method rollout Isosceles Draws a prism with an isosceles triangle at its base. Base/Apex Draws a prism with a scalene or obtuse triangle at its base. Extended Primitives | 393 Parameters rollout Side (n) Length Sets the length of triangle's corresponding side (and thus the triangle's corner angles). Height Sets the dimension of the prism's central axis. Side (n) Segs Specifies the number of segments for each side of the prism. Height Segs Sets the number of divisions along the prism's central axis. Generate Mapping Coordinates Sets up the required coordinates for applying mapped materials to the prism. Default=off. Hose Extended Primitive Create panel ➤ (Geometry) ➤ Extended Primitives ➤ Object Type rollout ➤ Hose button Create menu ➤ Extended Primitives ➤ Hose The Hose object is a flexible object that you can connect between two objects, whereupon it reacts to their movement. It's similar to Spring on page 784, but does not have dynamics properties. You can specify the overall diameter and 394 | Chapter 6 Creating Geometry length of the hose, the number of turns, and the diameter and shape of its "wire." Hose models a workable spring on a motorcycle Procedures To create a hose: 1 From the menu bar, choose Create ➤ Extended Primitives ➤ Hose. 2 Drag the mouse to define the radius of the hose. 3 Release the mouse, and then move it to define the length of the hose. 4 Click to finish the hose. Example: To bind a hose to two objects: 1 Add a hose and two other objects. Select the hose. 2 In the Modify panel ➤ Hose Parameters rollout ➤ End Point Method group, choose Bound To Object Pivots. 3 In the Binding Objects group, click Pick Top Object, and then select one of the two objects. 4 In the Binding Objects group, click Pick Bottom Object, and then select the second of the two objects. The two ends of the hose attach themselves to the two objects. Extended Primitives | 395 5 Move one of the objects. The hose adjusts itself to remain attached to both objects. Interface Hose Parameters rollout > End Point Method group Free Hose Choose this when using the hose as a simple object that’s not bound to other objects. Bound to Object Pivots Choose this when binding the hose to two objects, using the buttons in the Binding Objects group. Hose Parameters rollout > Binding Objects group Available only when Bound To Object Pivots is chosen. Use the controls to pick the objects to which the hose is bound and to set the tension between them. "Top" and "Bottom" are arbitrary descriptors; the two bound objects can have any positional relationship to each other. Each end point of the hose is defined by the center of the overall diameter. This end point is placed at the pivot point of the object to which it is bound. You can adjust the relative position of the binding object to the hose by 396 | Chapter 6 Creating Geometry transforming the binding object while the Affect Object Only button is turned on in the Hierarchy panel ➤ Adjust Pivot rollout. Top (label) Displays the name of the "top" binding object. Pick Top Object Click this button and then select the "top" object. Tension Determines the tension of the hose curve near the Top object as it reaches for the Bottom object. Lower the tension to have the bend occur closer to the Top object, raise the tension to have the bend occur further away from the Top object. Default=100. Bottom (label) Displays the name of the "bottom" binding object. Pick Bottom Object Click this button and then select the "bottom" object. Tension Determines the tension of the hose curve near the Bottom object as it reaches for the Top object. Lower the tension to have the bend occur closer to the Bottom object, raise the tension to have the bend occur further away from the Bottom object. Default=100. Hose Parameters rollout > Free Hose Parameters group Height Use this field to set the straight-line height or length of the hose when it is not bound. This is not necessarily the actual length of the hose. Available only when Free Hose is chosen. Extended Primitives | 397 Hose Parameters rollout > Common Hose Parameters group Segments The total number of segments in the hose's length. Increase this setting for a smooth profile when the hose is curved. Default=45. Flex Section Enable When on, lets you set the following four parameters for the central, flexible section of the hose. When off, the hose's diameter is uniform throughout its length. Starts The percentage of the hose length from the starting extremity of the hose at which the flex section begins. By default, the starting end of the hose is the end at which the object pivot appears. Default=10%. Ends The percentage of the hose length from the end extremity of the hose at which the flex section ends. By default, the end extremity of the hose is opposite the end at which the object pivot appears. Default=90%. Cycles The number of corrugations in the flex section. The number of visible cycles is limited by the number of segments; if Segments isn't high enough to support the number of cycles, then not all cycles will appear. Default=5. TIP To set the appropriate number of segments, first set Cycles, and then increase Segments until the number of visible cycles stops changing. Diameter The relative width of the "outside" parts of the cycles. At negative settings, these are smaller than the overall hose diameter. At positive settings, 398 | Chapter 6 Creating Geometry these are larger than the overall hose diameter. Default=-20%. Range=-50% to 500%. Smoothing Defines the geometry that gets smoothed. Default=All: ■ AllThe entire hose is smoothed. ■ SidesSmoothing is applied along the length of the hose but not around its circumference. ■ NoneNo smoothing is applied. ■ SegmentsSmoothing is applied only on the inner section of the hose. Renderable When on, the hose is rendered using the specified settings. When off, the hose is not rendered. Default=on. Generate Mapping Coords Sets up required coordinates for applying mapped materials to the hose. Default=on. Extended Primitives | 399 Hose Parameters rollout > Hose Shape group Sets the shape of the hose cross section. Default=Round Hose. Round Hose Sets a circular cross section. Diameter The maximum width of the hose at the ends. Sides The number of sides of the hose. A Sides setting of 3 gives a triangular cross section; 4 gives a square cross section; and 5 gives a pentagonal cross section. Increase Sides for a circular cross section. Default=8. Rectangular Hose Lets you specify different settings for width and depth. Width The width of the hose. Depth The height of the hose. 400 | Chapter 6 Creating Geometry Fillet The amount by which the cross-section corners are rounded. For this to be visible, Fillet Segs must be set to 1 or higher. Default=0. Fillet Segs The number of segments across each filleted corner. A Fillet Segs setting of 1 cuts the corner straight across; use higher settings for rounded corners. Default=0. Rotation The orientation of the hose along its long axis. Default=0. D-Section Hose Similar to Rectangular Hose, but rounds one side for a D-shaped cross-section. Width The width of the hose. Depth The height of the hose. Round Sides The number of segments on the rounded side. Increase for a smoother profile. Default=4. Fillet The amount by which the two cross-section corners opposite the rounded side are rounded. For this to be visible, Fillet Segs must be set to 1 or higher. Default=0. Fillet Segs The number of segments across each filleted corner. A Fillet Segs setting of 1 cuts the corner straight across; use higher settings for rounded corners. Default=0. Rotation The orientation of the hose along its long axis. Default=0. Architectural Objects 3ds Max provides an array of architectural objects, useful as building blocks for models of homes, businesses, and similar projects. These include: AEC Extended objects (Foliage, Railing, and Wall), Stairs, Doors, and Windows. AEC Extended Objects Create panel ➤ (Geometry) ➤ AEC Extended Create menu ➤ AEC Objects Architectural Objects | 401 AEC Extended objects are designed for use in the architectural, engineering, and construction fields. Use Foliage to create plants, Railing to create railings and fences, and Wall to create walls. The Object Name and Wireframe Color rollout on page 8771 in each AEC Extended object's creation panel functions identically. The remaining rollouts are covered in each object's topic. Working with AEC Design Elements 3ds Max includes such features as Foliage, Doors, Windows, Stairs, Railing, and Wall to make exploring three-dimensional design ideas much easier. This section provides general information about these features. For detailed explanations and procedures, see the topics listed below: Doors on page 459 Windows on page 475 Stairs on page 440 Railing on page 416 Wall on page 425 Foliage on page 408 Doors and Windows 3ds Max supplies a number of parametric window and door objects that you can place into wall openings to add realism to an architectural model. These objects let you control details like trim and panel fill in your model. TIP Use Snaps on page 2859 for added precision when adding doors and windows. When you create a new door or window, you must select four points in the scene that define the size and orientation of the rectangle that will be the door or window. You may find it easier to select these points in a given sequence, depending on your scene and views of the scene. 402 | Chapter 6 Creating Geometry If you already have a rectangular hole you want to fill, you can still create a door or window to your specifications by using the following procedure. To create a door or window: 1 Set up an angled User view so that you can see the bottom and one vertical edge of the opening and its full height. 2 Set the appropriate object snaps, such as Vertex or Endpoint. This helps make the model more precise. 3 After clicking Window or Door, choose one of two Creation Methods: Width/Depth/Height or Width/Height/Depth. 4 Make parameter adjustments to define details. The width and orientation of the door/window is always defined by the first mouse click and subsequent mouse drag. Depending on the creation method you use, either the height or depth of the object is defined next. If you have no object snaps set and are working in a Perspective or User Viewport, using the Width/Depth/Height Creation Method creates an upright Door or Window. The Width/Height/Depth Creation Method creates the object as if it were lying on its side. Allowing Non-vertical Jambs The Allow Non-vertical Jambs toggle is useful for creating doors or windows that do not fit in a vertical plane, such as a skylight window in a sloping roof. By default, this toggle is off, making the third point in the creation sequence either directly above (Width/Height/Depth) or on the same horizontal plane (Width/Depth/Height) with the second point. When you turn on Allow Non-vertical Jambs, the third point in the creation sequence falls wherever you choose and the fourth point is added by 3ds Max. Its offset from the plane is determined by the first three points. Using the Width/Height/Depth Creation Method in Perspective and User viewports with Allow Non-vertical Jambs off can be an efficient way to create doors and windows with Object Snaps. However, it can also be confusing at first. Keep in mind that the third point you define, the Height, is interpreted as a point on the home grid until you indicate a point higher or lower than the grid. If you are using an Object Snap setting, 3ds Max might not know you mean a point off the grid unless you bring the cursor in proximity to a nonplanar point to which it can snap. AEC Extended Objects | 403 Additional Parameters There are additional parameters specific to each door and window type that control overall dimension parameters, as well as detailed parameters for sub-object components such as mullions, trim, and panels within leaves. See Doors on page 459 and Windows on page 475 for more information on these parameters. Animating Doors and Windows Certain door and window creation parameters, including the Open parameter, can be animated. See Doors on page 459 and Windows on page 475 for more information. Creating Stairs and Railings 3ds Max contains four types of stair objects: spiral stairs on page 449, U-type stairs on page 456 with an intermediate landing, L-type stairs on page 446 with a landing at the bend in the stair, and straight stairs on page 453 with no intermediate landing. A complementary Railing object can be used to create any number of handrail designs that follow along a spline path. For more information, see Stairs on page 440. The Railing Object Use the Railing button on the Create panel in the to produce railing objects. Railing components include rails, AEC Extended category on page 401posts, and fencing. Fencing includes pickets (balusters) or solid-filled material (such as glass or wood strips). You can create a railing in two ways: specify the orientation and height of the railing, or pick a spline path and apply the railing to that path. The spline path with a railing is called a rail path. Later, if you edit the rail path, the Railing object automatically updates to follow the changes you make. Rail paths can occupy three-dimensional space. When you create the lower rails, posts, and fencing components of a Railing object, you use a special version of the Spacing Tool to specify the spacing of those components. 3ds Max displays the Spacing Tool dialog for each railing component: Lower Rail, Post Spacing, or Picket Spacing. For more information on the Spacing Tool, see Spacing Tool on page 892. For details on Railing parameters and information on creating a Railing object, see Railing on page 416. 404 | Chapter 6 Creating Geometry Creating Walls Use the Wall button on page 425 on the Create panel, in the AEC Extended category, to produce straight-wall objects. A wall object is made up of sub-object segments that you can edit with the Modify panel. You can: ■ Break or insert wall segments to create separate wall objects. ■ Delete wall segments. ■ Connect two wall objects. When you create two wall segments that meet at a corner, 3ds Max removes any duplicate geometry. This “cleaning up” of the corners might involve trimming. 3ds Max cleans up only the first two wall segments of a corner, not other wall segments that might share the corner. 3ds Max does not clean up intersections. You can edit the segments of a wall using sub-object selection mode on the Modify panel. For example, you can define a wall’s height profile. 3ds Max moves the active grid to the plane of the wall you’re editing. This allows you to snap to the profile vertices in the plane of the wall. If you move, scale, or rotate the wall object, the linked door and window moves, scales, or rotates along with the wall. If you move the linked door or window along the wall, using the door or window's Local coordinate system and activating Restrict to XY Plane in the Axis Constraints toolbar on page 847, the opening will follow. Also, if you change a door or window's overall width and height in the Modify panel, the hole will reflect those changes. Usage Tips The following are a few tips for working with wall objects: ■ Use the Top viewport when creating wall objects. ■ Single walls with many windows and doors can slow down snap calculations and movement of the wall object. To speed up insertion and editing, use multiple walls instead of a single wall. ■ You can speed up performance in a scene with many walls, windows, and doors by collapsing them. First save an uncollapsed version for any future parametric changes you might want to make. Then right-click the wall and pick Select Children from the right-click menu. Next use Collapse in the Utility rollout to collapse them all. AEC Extended Objects | 405 For complete information, see Wall on page 425. To create a wall: 1 On the Create panel, in the AEC Extended category, click Wall. 2 Use Customize ➤ Units Setup to establish precision, and then set the parameters for the Width, Height, and Justification of the wall. 3 In any viewport, click, release the mouse, drag the wall segment to the length you want and click again. This creates a wall segment. You can end the wall or you can continue to create another wall segment. 4 To complete the wall, right-click, or to add another wall segment, drag the next wall segment to the length you want and click again. If you create a room by ending a segment at the end of another segment of the same wall object, 3ds Max displays the Weld Point dialog. This dialog lets you convert the two end vertices into a single vertex, or keep the two end vertices separate. 5 If you want the wall segments to be welded at a corner (when you move one wall, the other wall stays at the corner), click Yes. Otherwise, click No. 6 Right-click to complete the wall, or continue to add another wall segment. To attach separate walls: 1 Select a wall object. 2 On the Modify panel, click Attach, and then pick another wall object. The two wall objects become part of the same wall object, but are not physically connected. Attach stays active, and you can continue clicking wall segments to attach. To stop attaching, click the Attach button or right-click in the active viewport. To attach multiple wall objects simultaneously to the selected wall object, click Attach Multiple on the Modify panel to open the Attach Multiple dialog. This works the same as the Select From Scene dialog on page 184, except that it shows only wall objects; choose multiple walls to attach, and then click the Attach button. 406 | Chapter 6 Creating Geometry To connect vertices in a wall: This method lets you connect two separate wall sections with a new segment. TIP It is easier to work with wall vertices in wireframe view mode. 1 Select a wall object that has more than one section. Typically you would use Attach to create such an object. 2 In the modifier stack on page 8776, go to the Vertex sub-object level. 3 Click Connect and point the mouse over an end vertex until the cursor changes to a cross. 4 Click once over the end vertex. 5 Move the cursor to another end vertex, and then click to connect the two segments. To insert a vertex in a wall: It is easier to work with wall vertices in wireframe view mode. 1 Select a wall segment. 2 In the modifier stack on page 8776, go to the Vertex sub-object level. 3 Click Insert. A highlighted line appears along the bottom of the wall, showing where you can insert vertices. 4 Click anywhere on the highlighted line to insert a vertex. The new vertex is attached to the mouse cursor. 5 Move the mouse to position the vertex, and then click to place it. Now the mouse is attached to one of the new segments. 6 Move the mouse along the segment and click to add vertices. 7 Right-click to finish working on this segment. You can now insert vertices in other segments, or right-click again to exit Insert mode. AEC Extended Objects | 407 Foliage Create panel ➤ (Geometry) ➤ AEC Extended ➤ Foliage button Create menu ➤ AEC Objects ➤ Foliage Foliage produces various types of plant objects such tree species. 3ds Max generates mesh representations to create fast, efficient, and good-looking plants. You control height, density, pruning, seed, canopy display, and level of detail. The seed on page 414 option controls creation of different representations of the same species. You can create millions of variations of the same species, so each object can be unique. With the viewport canopy mode on page 415 option, you can control the amount of plant detail, reducing the number of vertices and faces 3ds Max uses to display the plant. 408 | Chapter 6 Creating Geometry Some of the plants that can be created from the standard library Tips ■ Use the Spacing tool on page 892 to place plants along a path. ■ Use vertex or face snapping (see Snaps Settings on page 2850) to position plants on a surface. Using the Spacing tool to distribute trees along paths Procedures To add plants to a scene: 1 Click the Favorite Plants rollout ➤ Plant Library button to display the Configure Palette dialog. 2 Double-click the row for each plant you want to add or remove from the Palette and click OK. 3 On the Favorite Plants rollout, select a plant and drag it to a location in a viewport. Alternatively, select a plant in the rollout and then click in the viewport to place the plant. 4 On the Parameters rollout, click the New button to display different seed variations of the plant. AEC Extended Objects | 409 5 Adjust the remaining parameters to show elements of the plants, such as leaves, fruit, branches, and if you want, to view the plant in canopy mode. Interface Object Name and Wireframe Color rollout This rollout lets you set the foliage object's name, color, and default material. For detailed information, see Object Name and Wireframe Color on page 8771. When Favorite Plants rollout ➤ Automatic Materials is on, each plant is assigned its own default material. For more information, see Favorite Plants rollout, following. Keyboard Entry rollout See Creating Primitives from the Keyboard on page 318. 410 | Chapter 6 Creating Geometry Favorite Plants rollout The palette displays the plants currently loaded from the Plant Library on page 412. There are three ways to add a plant to the scene: ■ Use keyboard entry. ■ Click the icon in the Favorite Plants list and then click a location in a viewport. Double-click the icon to place the plant at the world origin. ■ Drag the plant from the palette and drop it into a viewport. Automatic Materials Assigns default materials for the plant. To modify these material assignments, use the Material Editor on page 6019. Select the plant in the viewport, and click Main toolbar ➤ Material Editor. Click the Get Material button on page 6068 to display the Material/Map Browser. Under Browse From, choose Selected. Then, from the list pane, double-click the material list item AEC Extended Objects | 411 for the plant to display the materials in the Basic Parameters rollout of the Material Editor. If you turn off Automatic Materials, 3ds Max assigns no materials to the object, unless the Name And Color rollout ➤ Default Material check box is on and a default material is assigned. This way you can specify a particular default material for all foliage objects. For more information, see Object Name and Wireframe Color on page 8771. When on, Automatic Materials overrides the Default Material settings. NOTE Even if Automatic Materials is off, 3ds Max still assigns material IDs to the foliage objects, so that the object is ready for a multi/sub-object material. Plant Library Displays the Configure Palette dialog. Using this window, you can view information on the available plants including their names, whether they’re in the palette, their scientific names, types, descriptions, and the approximate number of faces per object. You can also add and remove plants from the palette, and clear the palette, which removes all plants from the palette. TIP To quickly add or remove a plant from the palette, double-click its row in the Configure Palette dialog. The Fav. (Favorite Plants) column entry switches between "no" and "yes." Click OK to accept the changes and exit the window. 412 | Chapter 6 Creating Geometry Parameters rollout Height Controls the approximate height of the plant. 3ds Max applies a random noise factor to the height of all of the plants. Therefore, the actual height of a plant, as measured in the viewports, won't necessarily match the setting given in the Height parameter. Density Controls the amount of leaves and flowers on the plant. A value of 1 displays a plant with all its leaves and flowers, .5 displays a plant with half its leaves and flowers, and 0 displays a plant with no leaves or flowers. AEC Extended Objects | 413 Two trees with varying foliage densities Pruning Applies only to plants with branches. Removes branches that lie below an invisible plane parallel to the construction plane. A value of 0 prunes nothing, a value of 0.5 prunes the plant at a plane halfway up its height from the construction plane, and a value of 1 prunes everything possible from the plant. What 3ds Max prunes from the plant depends on the type of plant. The trunk is never pruned. Three pairs of trees, showing different values of pruning New Displays a random variation of the current plant. 3ds Max displays the seed value in the numeric field next to the button. TIP Click the New button repeatedly until you find the variation you want. This is often easier than trying to adjust the tree using modifiers. Seed A value between 0 and 16,777,215 representing the possible variations of branch and leaf placement and shape and angle of the trunk of the current plant. Generate Mapping Coords Applies default mapping coordinates on page 9212 to the plant. Default=on. 414 | Chapter 6 Creating Geometry Show group Controls the display of leaves, fruit, flowers, trunk, branches, and roots of plants. Available options depend on the type of plant you select. For example, if a plant doesn’t have fruit, 3ds Max disables that option. Turning off options reduces the number of vertices and faces displayed. Viewport Canopy Mode group In 3ds Max, the canopy of a plant is a shell covering the outermost parts of the plant, such as the leaves or the tips of the branches and trunk. The term derives from "forest canopy." Use reasonable parameters when you create many plants and want to optimize display performance. Because this setting applies only to the plant's representation in the viewports, it has no effect on how 3ds Max renders the plant. For information on how 3ds Max renders the plant, see Level-of-Detail on page 415. When Not Selected Displays the plant in canopy mode when it’s not selected. Always Always displays the plant in canopy mode. Never Never displays the plant in canopy mode. 3ds Max displays all the features of the plant. Level-of-Detail group AEC Extended Objects | 415 Controls how 3ds Max renders the plant. For information on how 3ds Max displays the plant in the viewports, see Viewport Canopy Mode on page 415. Low Renders the plant canopy, providing the lowest level of detail. Medium Renders a reduced-face-count version of the plant. How 3ds Max reduces the face count varies from plant to plant, but it usually involves removing smaller elements of the plant or reducing the number of faces in the branches and trunk. High Renders all the faces of the plant, providing the highest level of detail. TIP Set the parameters before creating multiple plants. This can avoid slowing down the display, and might reduce editing you have to do on the plants. Railing Create panel ➤ (Geometry) ➤ AEC Extended ➤ Railing button Create menu ➤ AEC Objects ➤ Railing Components of the railing object include rails, posts, and fencing. Fencing includes either pickets (balusters) or solid-filled material, such as glass or wood strip. Railings used to create fences in a field. You can create a railing object either by specifying the orientation and height of the railing, or by picking a spline path and applying the railing to that path. When 3ds Max applies railing to a spline path, the latter is called a rail path. Later, if you edit the rail path, the railing object automatically updates to follow the changes you made. You can use three-dimensional splines as rail paths. 416 | Chapter 6 Creating Geometry When you create the lower rails, posts, and fencing components of a railing, you use the Spacing tool on page 892 to specify the spacing of those components. 3ds Max names the Spacing tool dialog for each railing component: Lower Rail Spacing, Post Spacing, or Picket Spacing. TIP Use Railing to create complete railings for stairs. See Stairs on page 440 for more information. Railings and Materials By default, 3ds Max assigns five different material IDs to railings. The aectemplates.mat material library includes Rail-Template, a multi/sub-object material on page 6542 designed to be used with railings. Each component of the railing/material is listed below along with its corresponding Material ID. Material ID Railing/Material Component 1 Lower rails 2 Posts of the railing 3 Solid fill of the railing 4 Top of the railing 5 Pickets of the railing NOTE 3ds Max does not automatically assign a material to the railing object. To use the included material, open the library and then assign the material to your object. Procedures The following procedures describe how to create railings combining each of the components: upper rail, lower rails, posts, picket fencing, and solid filled fencing. You can create a railing object in any viewport, but for best results, use a Perspective, Camera, or Top viewport. To create a railing: 1 Click and drag the railing to the desired length. AEC Extended Objects | 417 2 Release the mouse button, and then move the mouse vertically to set the height. Click to finish. By default, 3ds Max creates the top rail along with two posts, a lower rail at half the railing height, and two evenly spaced pickets. 3 If you need to, change any of the parameters to adjust the segments, length, profile, depth, width, and height of the rail. To adjust lower rails: 1 To modify the lower rail, or add more, choose an option from the Lower Rail(s) group ➤ Profile list. 2 Specify the depth and width for the lower rails and then click Lower Rail(s) ➤ (Spacing). 3 Specify the number of lower rails you want using the Count option. Click Close to apply your changes. For more information on spacing options in this dialog, see Spacing Tool on page 892. To create posts: 1 If you want to modify the posts, or add more, choose an option from the Profile list under the Posts rollout. 2 Specify the depth and width of the posts and how much they should extend above the top rail. Then click Posts rollout ➤ (Spacing). 3 Specify the number of posts you want using the Count option. Click Close to apply your changes. For more information on spacing options in this dialog, see Spacing Tool on page 892. To create picket fencing: 1 Choose Fencing rollout ➤ Type list ➤ Pickets. The Solid Fill options will be unavailable. 2 Choose an option from the Profile list, specify the depth and width of the pickets, and then click Picket rollout ➤ 418 | Chapter 6 Creating Geometry (Spacing). 3 Specify the number of pickets you want using the Count option. Click Close to apply your changes. For more information on spacing options in this dialog, Spacing Tool on page 892. To create solid-fill fencing: 1 Choose Fencing rollout ➤ Type list ➤ Solid Fill. (The options under Picket are unavailable). 2 Under Solid Fill, adjust the options for Thickness and offsets. To create railings along a spline path: Before you can create railings along a spline path, you need to create a spline, or use an existing spline from your scene. 1 Click Railing. Create panel ➤ (Geometry) ➤ AEC Extended ➤ 2 Click Pick Railing Path, then select a spline in your scene. Since the number of segments is 1 by default, the upper rail extends for one segment between the start and end of the spline. 3 Change the amount of segments using the Modify panel ➤ Segment setting. The higher the segment value, the more closely the railing approximates the spline shape. 4 If you want the railing to contain corners where the spline does, turn on Respect Corners. 5 Complete the remainder of the railing options as described in the preceding procedures. Thereafter, the spline is associated with the railing; any changes you make to the spline shape are reflected in the railing. Interface Name and Color rollout This rollout lets you set the selected railing's name and color. For detailed information, see Object Name and Wireframe Color on page 8771. AEC Extended Objects | 419 Railing rollout Pick Railing Path Click this, and then click a spline in the viewport to use as the railing path. 3ds Max uses the spline as the path along which to apply the railing object. If you edit the spline you’ve used as a railing path, the railing adjusts to the changes you make. 3ds Max doesn’t immediately recognize 2D Shapes from a linked AutoCAD drawing. To recognize Shapes from a linked AutoCAD drawing, edit the Shape with Edit Spline on page 1368 in the Modify panel. TIP When you create a railing using a closed spline for the rail path, open the Post Spacing dialog on page 892, turn off Start Offset and End Offset, and lock End Offset. This will ensure that 3ds Max properly creates the railing with any fill, pickets, and posts you specify. 420 | Chapter 6 Creating Geometry NOTE Railing objects that use Pick Path do not stay on the path when substituted using the Substitute modifier. Substituted externally referenced railings do not undo when railings are associated with a path. Segments Sets the number of segments of the railing object. Available only when you’re using a railing path. For a close approximation to a railing path, increase the number of segments. Be aware that a high number of segments increases file size and slows down the rendering speed. You might use fewer segments when the spline path has a low curvature (or none) and fewer segments provide an adequate approximation. Respect Corners Puts corners in the railing to match the corners of the railing path. Length Sets the length of the Railing object. When you drag the mouse, the length displays in the edit box. Top Rail group The defaults produce a top rail component, consisting of one segment by the length you specify, a square profile, four units deep, three units wide, and the height you specify. 1. Width 2. Depth 3. Height 4. Profile for the square top rail 5. Profile for the round top rail Profile Sets the cross-section shape of the top rail. Depth Sets the depth of the top rail. Width Sets the width of the top rail. AEC Extended Objects | 421 Height Sets the height of the top rail. During creation, you can drag the top rail to the height you want using the mouse in the viewport. Or you can enter the height amount from the keyboard or use the spinners. Lower Rail(s) group Controls the profile, depth, width, and spacing between the lower rails. You specify how many lower rails you want using the Lower Rail Spacing button. A railing with the rails defined by their profile, depth, and width as planks. Profile Sets the cross-section shape of the lower rails. Depth Sets the depth of the lower rails. Width Sets the width of the lower rails. Lower Rail Spacing Sets the spacing of the lower rails. When you click this button, the Lower Rail Spacing dialog displays. Specify the number of lower rails you want using the Count option. For more information on spacing options in this dialog, see Spacing Tool on page 892. Generate Mapping Coords Assigns mapping coordinates on page 9212 to the railing object. NOTE If a visible viewport is set to a non-wireframe or non-bounding-box display, Generate Mapping Coordinates is on for all primitives to which you apply a material containing a map with Show Map In Viewport on. If all viewports are set to wireframe or bounding box, 3ds Max turns on Generate Mapping Coordinates for primitives containing mapped materials at render time. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. 422 | Chapter 6 Creating Geometry Posts rollout Controls the profile, depth, width, extension, and spacing between the posts. You specify how many posts you want using the Post Spacing button. Profile Sets the cross-section shape of the posts: none, Square, or Round. Depth Sets the depth of the posts. Width Sets the width of the posts. Extension Sets the amount the posts extend above the bottom of the top railing. Post Spacing Sets the spacing of the posts. When you click this button, the Post Spacing dialog displays. Specify the number of posts you want using the Count option. For more information on spacing options in this dialog, see Spacing Tool on page 892. TIP Setting Profile to (none) makes an "invisible" post. You might want to do this to create a railing with gaps between solid fill fencing. Or you could use it to make a railing with openings between groups of pickets. This is different from setting the post count to 0 in the Post Spacing dialog. AEC Extended Objects | 423 Fencing rollout Type Sets the type of fencing between the posts: none, Pickets, or Solid Fill. Picket group Controls the profile, depth, width, and spacing between the pickets. Specify how many pickets you want using the Picket Spacing button. Available only when you set Type to Pickets. 1. A railing with pickets using a square profile 2. A railing with pickets using a round profile Profile Sets the cross-section shape of the pickets. 424 | Chapter 6 Creating Geometry Depth Sets the depth of the pickets. Width Sets the width of the pickets. Extension Sets the amount the pickets extend above the bottom of the top railing. Bottom Offset Sets the amount the pickets are offset from the bottom of the railing object. Picket Spacing Sets the spacing of the pickets. When you click this button, the Picket Spacing dialog displays. Specify the number of pickets you want using the Count option. For more information on spacing options in this dialog, see Spacing Tool on page 892. Solid Fill group Controls the thickness and offsets of the solid fill between the posts. Available only when you set Type to Solid. Thickness Sets the thickness of the solid fill. Top Offset Sets the offset of the solid fill from the bottom of the top rail. Bottom Offset Sets the offset of the solid fill from the bottom of the railing object. Left Offset Sets the offset between the solid fill and the adjacent left post. Right Offset Sets the offset between the solid fill and the adjacent right post. Wall Create panel ➤ Type rollout ➤ Wall button (Geometry) ➤ AEC Extended ➤ Object Create menu ➤ AEC Objects ➤ Wall The Wall object is made up of three sub-object types that you can edit in the Modify panel. Similarly to the way you edit splines, you can edit the wall object on page 435, its vertices on page 436, its segments on page 437, and its profile on page 438. AEC Extended Objects | 425 When you create two wall segments that meet at a corner, 3ds Max removes any duplicate geometry. This "cleaning up" of the corners might involve trimming. 3ds Max cleans up only the first two wall segments of a corner, not any other wall segments that might share the corner. 3ds Max does not clean up intersections. Inserting Doors and Windows in a Wall 3ds Max can automatically make openings for doors and windows in a wall. At the same time, it links the door or window to the wall as its child. The most effective way of doing both is to create the doors and windows directly on a wall segment by snapping to the faces, vertices, or edges of the wall object. If you move, scale, or rotate the wall object, the linked door or window moves, scales, or rotates along with the wall. If you move the linked door or window along the wall, using the door or window's local coordinate system and constraining motion to the XY plane on page 8627, the opening will follow. Also, if you change a door or window's overall width and height on the Modify panel, the hole will reflect those changes. For further information, see the procedure To create and place a window or door in a wall on page 431. Walls and Materials By default, 3ds Max assigns five different material IDs to walls. The aectemplates.mat material library includes Wall-Template, a multi/sub-object material on page 6542 designed to be used with walls. Each component of the wall/material is listed below along with its corresponding Material ID. Material ID Wall/Material Component 1 Vertical ends of the wall 2 Outside of the wall 3 Inside of the wall 4 Top of the wall, including any edges cut out of the wall 5 Bottom of the wall 426 | Chapter 6 Creating Geometry NOTE 3ds Max does not automatically assign a material to the wall object. To use the included material, open the library and then assign the material to your object. NOTE The definitions of slots 2 and 3 are interchangeable; inside and outside simply depend on your point of view, and how you created the wall. See also: ■ Editing Wall Objects on page 434 Tips ■ To make a passageway through a wall you can perform a Boolean operation on page 646 with the wall as Operand A, and another object, such as a box or an extruded archway shape, as Operand B. The wall will still be accessible at the Boolean sub-object level. Then, you can add a window or door in the passageway, and link on page 3665 it as a child of the wall. ■ Single walls with many windows and doors can become slow to use because of the amount of boolean calculations used. To speed up movement and editing, you might consider using multiple walls instead of a single wall. ■ You can speed up performance in a scene with many walls, windows and doors by collapsing them. First save an uncollapsed version for any future parametric changes you might want to make. Then double-click the wall to select it and its children. Next use Convert To from the right-click menu to convert them to an editable mesh, and so on. Procedures To create a wall: You can create a wall in any viewport, but for vertical walls, use a Perspective, Camera, or Top viewport. 1 Set parameters for the Width, Height, and Justification of the wall. 2 In a viewport, click and release, move the mouse to set the desired length for the wall segment, and click again. This creates a wall segment. You can end the wall by right-clicking or you can continue to create another wall segment. 3 To add another wall segment, move the mouse to set the length of the next wall segment and click again. AEC Extended Objects | 427 If you create a room by ending a segment at the end of another segment of the same wall object, 3ds Max displays the Weld Point dialog. This dialog lets you convert the two end vertices into a single vertex, or to keep the two end vertices distinct. 4 If you want the wall segments to be welded at that corner so that when you move one wall, the other wall stays correct at the corner, click Yes. Otherwise, click No. 5 Right-click to end the wall, or continue to add other wall segments. To attach separate walls: 1 Select a wall object. 2 On the object. Modify panel, click Attach, and then pick another wall The two wall objects become part of the same wall object, but are not physically connected. Attach stays active, and you can continue clicking wall segments to attach. To stop attaching, click the Attach button or right-click in the active viewport. To attach multiple wall objects simultaneously to the selected wall object, click Attach Multiple on the Modify panel to open the Attach Multiple dialog. This works the same as the Select From Scene dialog on page 184, except that it shows only wall objects; choose multiple walls to attach, and then click the Attach button. To connect vertices in a wall: This method lets you connect two separate wall sections with a new segment. TIP It is easier to work with wall vertices in wireframe view mode. 1 Select a wall object that has more than one section. Typically you would use Attach to create such an object. 2 In the modifier stack on page 8776, go to the Vertex sub-object level. 3 Click Connect and point the mouse over an end vertex until the cursor changes to a cross. 4 Click once over the end vertex. 428 | Chapter 6 Creating Geometry 5 Move the cursor to another end vertex, and then click to connect the two segments. To insert a vertex in a wall: It is easier to work with wall vertices in wireframe view mode. 1 Select a wall segment. 2 In the modifier stack on page 8776, go to the Vertex sub-object level. 3 Click Insert. A highlighted line appears along the bottom of the wall, showing where you can insert vertices. 4 Click anywhere on the highlighted line to insert a vertex. The new vertex is attached to the mouse cursor. 5 Move the mouse to position the vertex, and then click to place it. Now the mouse is attached to one of the new segments. 6 Move the mouse along the segment and click to add vertices. 7 Right-click to finish working on this segment. You can now insert vertices in other segments, or right-click again to exit Insert mode. To detach and reorient a copy of a wall segment: TIP It is easier to work with wall vertices in wireframe view mode. 1 Select a wall. 2 In the modifier stack on page 8776, go to the Segment sub-object level. 3 Select a wall segment. 4 Turn on both Reorient and Copy, and then click Detach. 5 Enter a name for the new wall object in the Detach dialog or click OK to accept the default name. 3ds Max copies the original wall’s Local coordinate system on page 9205 when it makes the copy of the detached segment. It places the new object so that its Local coordinate system is coincident with the World space origin on page 9353. AEC Extended Objects | 429 To add a gable point to a wall profile or adjust for uneven terrain: TIP It is easier to work with wall vertices in wireframe view mode. 1 Select a wall. 2 In the modifier stack on page 8776, go to the Profile sub-object level. 3 Select a wall profile by clicking a wall segment. A grid appears. 4 To add a gable point procedurally, set the height and click Create Gable. If you prefer to add the profile point manually, click Insert, click a point on the highlighted top profile, drag the new point into place and then release where you want to place the new gable point. You can move profile points you create with Insert only within the plane of the wall segment, and you cannot move them below the original top edge. If you want to adjust the profile for uneven terrain below a wall, click Insert, pick the highlighted bottom profile and add points as necessary. If you want to extend multiple segments uniformly downward below floor level, do the following: At the Segment sub-object level, select the segments and, on the Edit Segment rollout, enter a negative Bottom Offset value to move the segments downward. Add the absolute value of the Bottom Offset setting back to the Height value to bring the top of the wall height back up and make it flush with the other wall segments. To apply a texture to a wall: Walls are created with five different material IDs on page 9217 for their various parts. The aectemplates.mat material library includes Wall-Template, a Multi/Sub-Object material designed for use with walls. You can copy or copy and modify this template, or create your own material as follows: 1 Create a Multi/Sub-Object material on page 6542 using five textures for the following Material IDs: ■ Slot #1 is the material for the vertical ends on the wall ■ Slot #2 is the material for the outside of the wall ■ Slot #3 is the material for the inside of the wall 430 | Chapter 6 Creating Geometry ■ Slot #4 is the material for the top of the wall, as well as any inside edges cut out of the wall ■ Slot #5 is the material for the bottom of the wall NOTE The definitions of slots 2 and 3 are interchangeable; inside and outside simply depend on your point of view, and how you created the wall. 2 If the top and bottom surfaces of the wall aren't visible in the rendered scene, you can use a three-sided material instead. The inside and outside of the wall are relative to the direction in which the wall was created. To swap a texture between slots in the Material Editor, drag one of the textures over the other slot in the Basic Parameters rollout of the Multi/Sub-Object material, and then choose Swap. 3 For greater control in tiling across the wall surface, apply a Map Scaler world-space modifier on page 1086 to the wall. Then adjust the scale of the map in the Map Scaler's Parameters rollout. To create and place a window or door in a wall: For best results, perform this procedure in a wireframe viewport. 1 Create a window on page 475 or door on page 459 (hereafter referred to as "window" for brevity) directly on an existing wall. You can define the window's exact dimensions after insertion. Use edge snap on page 2850 for the first snaps to place and align the window on the wall and to establish its exact depth. Snap to and then click the near top edge of the wall to start creation. Drag to another edge snap point on the near top edge of the wall and release to align the window with the wall segment and to set its width. Snap to the rear top edge of the wall to set the proper depth and click. Move the cursor downward and click to define the window height. This final click doesn't require a snap, as it simply defines a rough height. 2 The window should now be cut out of the wall. On the Modify panel for windows or doors, set the correct width and height. Change the depth if it's different from the snap depth you set above. 3 Use vertex snap to move the window or door from a reference point to a known point on the wall segment. Then Next, use relative offset values from this new position to accurately locate the window or door. As an example, following the next two steps, you AEC Extended Objects | 431 could move a window from its top left corner to the top left corner of the wall segment so that you can then move it 3 feet to the right and 2 feet down. 4 With the window or door selected, set the coordinate system to Local. 5 On the Coordinate Display on page 8669, activate Offset mode and then enter the offset distances on the X axis for horizontal and the Y axis for vertical. NOTE For best results, do not position an inserted window or door at the bottom of a wall. Interface Keyboard Entry rollout X Sets the coordinate position along the X axis for the start point of a wall segment in the active construction plane. Y Sets the coordinate position along the Y axis for the start point of a wall segment in the active construction plane. Z Sets the coordinate position along the Z axis for the start point of a wall segment in the active construction plane. Add Point Adds the point from the X, Y, and Z coordinate values you enter. Close Ends creation of the wall object and creates a segment between the end point of the last segment and the start point of the first segment, to make a closed wall. 432 | Chapter 6 Creating Geometry Finish Ends creation of the wall object, leaving it open ended. Pick Spline Lets you use a spline as the wall path. Click this, and then click a spline in the viewport to use as the wall path. 3ds Max uses the spline as the path along which to apply the wall object. 3ds Max doesn’t immediately recognize 2D Shapes from a linked AutoCAD drawing. To recognize Shapes from a linked AutoCAD drawing, edit the Shape with Edit Spline on page 1368 from the Modify panel. NOTE If you designate a curved spline as the path, 3ds Max creates straight wall segments that approximate the spline as closely as possible, with one wall segment per spline segment. Parameters rollout The defaults produce a wall object 5 units wide, 96 units high, and justified at the center of the wall. Width Sets the thickness of the wall. Range=0.01 unit to 100,000 units. Default=5. Height Sets the height of the wall. Range=0.01 unit to 100,000 units. Default=96. AEC Extended Objects | 433 Justification group Left Justifies the wall at the left edge of its baseline (the line between the wall's front and back sides, which is equal to the wall thickness). If you turn Grid Snap on, the left edge of the wall’s baseline snaps to the grid line. Center Justifies the wall at the center of its baseline. If you turn Grid Snap on, the center of the wall’s baseline snaps to the grid line. This is the default. Right Justifies the wall at the right edge of its baseline. If you turn Grid Snap on, the right edge of the wall’s baseline snaps to the grid line. Generate Mapping Coords Assigns mapping coordinates on page 9212 to the wall. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Editing Wall Objects Select a wall object. ➤ Modify panel This topic describes the Wall options on the Modify panel. TIP It's generally easiest to edit wall objects in wireframe mode. See also: ■ Wall on page 425 434 | Chapter 6 Creating Geometry Interface Edit Object rollout This rollout appears when you select a wall object at the object level; other rollouts, discussed below appear at the different sub-object levels. Attach Attaches another wall in a viewport to the selected wall by a single pick. The object you attach must also be a wall. 3ds Max applies the material of the selected wall to the wall being attached. Attach Multiple Attaches other walls in a viewport to the selected wall. Click this button to open the Attach Multiple dialog, which lists all the other wall objects in the scene. Select the walls you want to attach from the list and click the Attach button. 3ds Max applies the material of the selected wall to the walls being attached. Justification group See Justification on page 434. Generate Mapping Coords. Assigns mapping coordinates on page 9212 to the wall. Default=on. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. AEC Extended Objects | 435 Edit Vertex rollout Appears at the Vertex sub-object level. Each wall segment has two vertices; one in each bottom corner. In wireframe views, wall vertices appear as + symbols. Connected segments in the same wall object each share a vertex. Moving a wall vertex has the effect of scaling attached segments as well as rotating them about their other vertices. You cannot rotate or scale wall vertices. Connect Lets you connect any two vertices, creating a new linear segment between the vertices. Click this button, click a vertex, and then click a second vertex on a different segment. When you move the cursor over a valid second vertex, the mouse icon changes to a Connect icon. Break Lets you disconnect segments at a shared vertex. TIP Select a vertex shared between wall segments, and then click the Break button. The segments become disconnected, and each has its own end vertex at the position of the previously shared vertex. Refine Adds a vertex to the position along a wall segment that you click. When you move the cursor over a valid Refine point, the mouse icon changes to a Refine icon. Insert Inserts one or more vertices, creating additional segments. When you move the cursor over the a valid Insert point, the mouse icon changes to an Insert icon. Right-click to stop inserting new vertices and segments. Delete Deletes the currently selected vertex or vertices, including any segments in between. Deleting vertices shared by two or more segments doesn't create a gap, but rather results in a single segment connecting vertices adjacent to those being deleted. 436 | Chapter 6 Creating Geometry Edit Segment rollout This rollout appears when you select a wall object and then access Segment sub-object level. Each wall segment is defined by, and effectively connects, two wall vertices. Moving a segment is the same as moving its two vertices in tandem. It has the effect of scaling adjacent wall segments as well as rotating them about their other vertices. You can scale a wall segment horizontally only (any Scale function does this). You cannot rotate a segment. Break Specifies a break point in a wall segment. You needn't select a segment first. When you move the cursor over the object, the mouse icon changes to a Break icon. The position you select on the segment becomes two coincident vertices, and 3ds Max breaks the segment in two. Detach Detaches wall segments you select and creates a new wall object out of them. Same Shape Detaches the wall segment keeping it part of the same wall object. If you also turn on Copy, 3ds Max places a detached copy of the segment in the same location. AEC Extended Objects | 437 Reorient Detaches the wall segment, copies the object’s Local coordinate system on page 9205, and places the segment so that its object Local coordinate system is coincident with the World space origin on page 9353. If you also turn on Copy, 3ds Max detaches a copy of the segment and leaves the original segments in place. Copy Copies the detached wall segment rather than moving it. Divide Subdivides each segment by the number of vertices specified in the Divisions spinner. Select one or more segments, set the Divisions spinner, and then click Divide. Divisions Sets the number by which to divide the segment. Insert Provides the same function as the Insert button on page 436 in Vertex sub-object selection. Inserts one or more vertices, creating additional segments. When you move the cursor over the a valid Insert point, the mouse icon changes to an Insert icon. Right click to stop inserting new vertices and segments. Delete Deletes any selected wall segments in the current wall object. Refine Provides the same function as the Refine button on page 436 at the Vertex sub-object level. Adds a vertex to the position along a wall segment you select. When you move the cursor over a valid Refine point, the mouse icon changes to a Refine icon. Parameters group Width Changes the width of a selected segment or segments. Height Changes the height of a selected segment or segments. Bottom Offset Sets the distance of the bottom of the selected segment or segments from the floor. Edit Profile rollout This rollout appears when you select a wall object and then access Profile sub-object level. The term "profile" refers to the outline of a wall segment's top and bottom edges. When in Profile sub-object mode, the selected wall object's inner horizontal edges appear dark orange. Click any of these edges to select the corresponding segment, highlight it in red, and place a temporary active grid in the plane of the segment. At that point, you can insert and delete vertices along the horizontal edges, move an inserted vertex along the grid to change the profile, create gables, and change the grid properties. 438 | Chapter 6 Creating Geometry Insert Inserts a vertex so that you can adjust the profile of the selected wall segment. Use this option to adjust the profile of walls under gables or to align walls to a slope. When you move the cursor over the selected segment, the mouse icon changes to an Insert icon. Click to insert a new profile point, then drag and release to position and place it. You can add new profile points to both the top and the bottom of the wall, but you cannot position profile points below the original top edge or above the original bottom edge. Delete Deletes the selected vertices on the profile of the selected wall segment. Create Gable Creates a gable by moving the center point of the top profile of the selected wall segment to a height you specify. Select the segment, set the height, and then click Create Gable. Height Specifies the height of a gable. Grid Properties group The grid constricts profile point insertion and movement to the plane of the wall and allows you to snap to grid points on the plane of the wall. Width Sets the width of the active grid. Length Sets the length of the active grid. Spacing Sets the size of the smallest square in the active grid. AEC Extended Objects | 439 Stairs Create panel ➤ (Geometry) ➤ Stairs Create menu ➤ AEC Objects You can create four different types of stairs in 3ds Max: Spiral Stair on page 449, Straight Stair on page 453, L-Type Stair on page 446’ , or U-Type Stair on page 456. Railings and Materials By default, 3ds Max assigns seven different material IDs to stairs. The aectemplates.mat material library includes Stair-Template, a multi/sub-object material on page 6542 designed to be used with stairs. Each component of the stair/material is listed below along with its corresponding Material ID. Material ID Railing/Material Component 1 Treads of the stairs 2 Front riser of the stairs 3 Bottom, back, and sides of the risers of the stairs 4 Center pole of the stairs 5 Handrails of the stairs 6 Carriage of the stairs 7 Stringers of the stairs NOTE 3ds Max does not automatically assign a material to the stairs object. To use the included material, open the library and then assign the material to your object. Procedures To create railings on stairs: 1 Create the stairs. See individual stair-type topics for more information. 440 | Chapter 6 Creating Geometry 2 In the Generate Geometry group, turn on Rail Path ➤ Left and Right. 3ds Max places left and right rail paths above the stairs. 3 In the Railings rollout, set Height to 0.0. 4 Click Create panel ➤ AEC Extended ➤ Railing on page 416 to create the first railing. 5 Click Railing rollout ➤ Pick Railing Path and select one of the rail paths on the stairs. 6 Adjust the railing parameters. 3ds Max remembers the parameters you set. When you create the next railing, it will have the same parameters as you set for the first railing. 7 Right-click to end the creation of the first railing. 8 Click Railing again to create the second railing. 9 Click Pick Railing Path and select the other rail path on the stairs. Interface Object Type rollout Stair Selection Buttons Click one of these to specify the type of stairs you want to create. Name and Color rollout This rollout lets you set the stairs object's name and color. For detailed information, see Object Name and Wireframe Color on page 8771. Stairs | 441 Parameters rollout > Type group Open Creates an open riser stair, as shown on the left in the illustration above. Closed Creates a closed riser stair, as shown in the center in the illustration above. Box Creates a stair with closed risers and closed stringers on both sides, as shown on the right in the illustration above. Rise group 3ds Max keeps one Rise option locked while you adjust the other two. To lock an option, you click a push pin. To unlock an option you click a raised push pin. 3ds Max locks the spinner value of the parameter with the depressed push pin and allows the spinner values of the parameter with the raised push pins to change. Overall Controls the height of the flight of stairs. Riser Ht Controls the height of the risers. Riser Ct Controls the number of risers. There will always be one more riser than steps. This implied riser is between the top step of the stair and the upper floor. 442 | Chapter 6 Creating Geometry Linear stair with five risers 1 through 4. Risers 5. The implied riser 6. The upper floor you snap to 7. The lower floor you snap to 8. The steps Stringers rollout These controls are available only when you turn on Stringers on the Parameters rollout ➤ Generate Geometry group. Depth Controls how far down the stringers reach toward the floor. Width Controls the width of the stringers. Offset Controls the vertical distance of the stringers from the floor. Spring from Floor Controls whether the stringer starts at the floor, flush with the start of the first riser, or if the stringer extends below the floor. You control the amount the stringer extends below the floor with the Offset option. Stairs | 443 Left: The stringer extending below the floor. (Spring From Floor off.) Right: The stringer springing from the floor. (Spring From Floor on.) Carriage rollout These controls are available only when you turn on Carriage on the Parameters rollout ➤ Generate Geometry group. Depth Controls how far down the carriage reaches toward the floor. Width Controls the width of the carriage. Carriage Spacing Sets the spacing of the carriage. When you click this button, the Carriage Spacing dialog displays. Specify the number of carriages you want using the Count option. For more information on spacing options in this dialog, see Spacing Tool on page 892. Spring from Floor Controls whether the carriage starts at the floor, flush with the start of the first riser, or if the carriage extends below the floor. You control the amount the carriage extends below the floor with the Offset option. 444 | Chapter 6 Creating Geometry Left: The carriage springing from the floor. (Spring From Floor on.) Right: The carriage extending below the floor. (Spring from Floor off.) Railings rollout These controls are available only when you turn on one or more of the Handrail or Rail Path options on the Parameters rollout ➤ Generate Geometry group. Also, Segments and Radius aren't available if neither of the Handrail options is on. Height Controls the height of the railings from the steps. Offset Controls the offset of the railings from the ends of the steps. Segments Controls the number of segments in the railings. Higher values display smoother railings. Radius Controls the thickness of the railings. Stairs | 445 L-Type Stair Create panel ➤ (Geometry) ➤ Stairs ➤ L-Type Stair button Create menu ➤ AEC Objects ➤ L-Type Stair The L-Type Stair object lets you create a staircase with two flights at right angles to each other. Types of L-type stair: open, closed, and boxed L-type stairs have two flights at right angles, and a landing. Procedures To create L-Type stairs: 1 In any viewport, drag to set the length for the first flight. Release the mouse button, then move the cursor and click to set the length, width, and direction for the second flight. 2 Move the cursor up or down to define the rise of the stairs, then click to end. 3 Adjust the stairs by using the options in the Parameters rollout. 446 | Chapter 6 Creating Geometry Interface Generate Geometry group Stringers Creates stringers along the ends of the treads of the stairs. To modify the stringers’ depth, width, offset and spring from the floor, see Stringers rollout on page 443. Carriage Creates an inclined, notched beam under the treads which supports the steps or adds support between the stringers of the stairs. You might also know this as a carriage piece, a horse, or a rough string. See Carriage rollout on page 444 to modify the parameters. Handrail Creates left and right handrails. See Railings rollout on page 445 to modify the handrails’ height, offset, number of segments, and radius. Rail Path Creates left and right paths you can use to install railings on the stairs. See Stairs on page 440 for the instructions on how to do this. Layout group Length 1 Controls the length of the first flight of stairs. Length 2 Controls the length of the second flight of stairs. Stairs | 447 Width Controls the width of the stairs, including the steps and the landing. Angle Controls the angle of the second flight from the landing. Range=-90 to 90 degrees. Offset Controls the distance of the second flight from the landing. The length of the landing adjusts accordingly. Steps group Thickness Controls the thickness of the steps. Step thickness variance between two stairs Depth Controls the depth of the steps. Step depth variance between two stairs Generate Mapping Coords Applies default mapping coordinates on page 9212 to the stairs. 448 | Chapter 6 Creating Geometry NOTE If a visible viewport is set to a non-wireframe or non-bounding-box display, Generate Mapping Coordinates is on for all primitives to which you apply a material containing a map with Show Map In Viewport on. If all viewports are set to wireframe or bounding box, 3ds Max turns on Generate Mapping Coordinates for primitives containing mapped materials at render time. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Spiral Stair Create panel ➤ (Geometry) ➤ Stairs ➤ Spiral Stair button Create menu ➤ AEC Objects ➤ Spiral Stair The Spiral Stair object lets you specify the radius and number of revolutions, add stringers and a center pole, and more. Types of spiral stair: open, closed, and boxed Spiral stairs wind around a center Procedures To create spiral stairs: 1 In any viewport, click for the start point of the stairs, and drag to the specify the radius you want. 2 Release the mouse button, move the cursor up or down to specify the overall rise, and click to end. Stairs | 449 3 Adjust the stairs with options in the Parameters rollout. Interface Generate Geometry group Stringers Creates stringers along the ends of the treads of the stairs. To modify the stringers’ depth, width, offset and spring from the floor, see Stringers rollout on page 443. Carriage Creates an inclined, notched beam under the treads which supports the steps or adds support between the stringers of the stairs. You might also know this as a carriage piece, a horse, or a rough string. See Carriage rollout on page 444 to modify the parameters. Center Pole Creates a pole at the center of the spiral. See Center Pole rollout on page 452 to modify the parameters of the pole. Handrail Creates inside and outside handrails. See Railings rollout on page 445 to modify the handrails’ height, offset, number of segments, and radius. Rail Path Creates inside and outside paths which you can use to install railings on the stairs. See Stairs on page 440 for the instructions on how to do this. 450 | Chapter 6 Creating Geometry Layout group CCW Orients the spiral stairs to be a right-hand flight of stairs. CW Orients the spiral stairs to be a left-hand flight of stairs. Left: CCW (counterclockwise) right-hand spiral stairs. The arrow indicates “Up.” Right: CW (clockwise) left-hand spiral stairs. The arrow indicates “Up.” Radius Controls the size of the radius of the spiral. Revs Controls the number of revolutions in the spiral. Width Controls the width of the spiral stairs. Steps group Thickness Controls the thickness of the steps. Stairs | 451 Step thickness variance between two stairs Depth Controls the depth of the steps. Step depth variance between two stairs Segs Controls the number of segments 3ds Max uses to construct the steps. Generate Mapping Coords Applies default mapping coordinates on page 9212 to the stairs. NOTE If a visible viewport is set to a non-wireframe or non-bounding-box display, Generate Mapping Coordinates is on for all primitives to which you apply a material containing a map with Show Map In Viewport on. If all viewports are set to wireframe or bounding box, 3ds Max turns on Generate Mapping Coordinates for primitives containing mapped materials at render time. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Center Pole rollout These controls are available only when you turn on Center Pole on the Parameters rollout ➤ Generate Geometry group. 452 | Chapter 6 Creating Geometry Radius Controls the radius size of the center pole. Segments Controls the number of segments in the center pole. Higher values display a smoother pole. Height The spinner controls the height of the center pole. Turning on Height lets you adjust the height of the pole independently of the stairs. Turning off Height makes the spinner unavailable and locks the top of the pole to the top of the implied last riser. Typically, this riser would attach to the fascia of a landing. Left: The center pole locked to the top of the implied last riser. (Height turned off.) Right: The center pole adjusted to the height you specify. (Height turned on.) Straight Stair Create panel ➤ (Geometry) ➤ Stairs ➤ Straight Stair button Create menu ➤ AEC Objects ➤ Straight Stair The Straight Stair object lets you create a simple staircase, with optional stringers, carriage, and handrail. Stairs | 453 Types of straight stair: open, closed, and boxed Straight stairs have a single flight. Procedures To create straight stairs: 1 In any viewport, drag to set the length. Release the mouse button, then move the cursor and click to set the width you want. 2 Move the cursor up or down to define the rise of the stairs, and click to end. 3 Adjust the stairs with the options in the Parameters rollout. Interface Generate Geometry group Stringers Creates stringers along the ends of the treads of the stairs. To modify the stringers’ depth, width, offset and spring from the floor, see Stringers rollout on page 443. 454 | Chapter 6 Creating Geometry Carriage Creates an inclined, notched beam under the treads which supports the steps or adds support between the stringers of the stairs. You might also know this as a carriage piece, a horse, or a rough string. See Carriage rollout on page 444 to modify the parameters. Handrail Creates left and right handrails. See Railings rollout on page 445 to modify the handrails’ height, offset, number of segments, and radius. Rail Path Creates left and right paths you can use to install railings on the stairs. See Stairs on page 440 for the instructions on how to do this. Layout group Length Controls the length of the stairs. Width Controls the width of the stairs. Steps group Thickness Controls the thickness of the steps. Step thickness variance between two stairs Depth Controls the depth of the steps. Stairs | 455 Step depth variance between two stairs Generate Mapping Coords Applies default mapping coordinates on page 9212 to the stairs. NOTE If a visible viewport is set to a non-wireframe or non-bounding-box display, Generate Mapping Coordinates is on for all primitives to which you apply a material containing a map with Show Map In Viewport on. If all viewports are set to wireframe or bounding box, 3ds Max turns on Generate Mapping Coordinates for primitives containing mapped materials at render time. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. U-Type Stair Create panel ➤ (Geometry) ➤ Stairs ➤ U-Type Stair button Create menu ➤ AEC Objects ➤ U-Type Stair The U-Type Stair object lets you create a two-flight staircase, with the two flights parallel to each other and a landing between them. 456 | Chapter 6 Creating Geometry Types of U-type stair: open, closed, and boxed U-type stairs have two flights in opposite directions, and a landing. Procedures To create U-Type stairs: 1 In any viewport, drag to set the length for the first flight. Release the mouse button, then move the cursor and click to set the width of the landing, or the distance separating the two flights. 2 Click and move the cursor up or down to define the rise of the stairs, then click to end. 3 Adjust the stairs by using the options in the Parameters rollout. Interface Generate Geometry group Stringers Creates stringers along the ends of the treads of the stairs. To modify the stringers’ depth, width, offset and spring from the floor, see Stringers rollout on page 443. Stairs | 457 Carriage Creates an inclined, notched beam under the treads which supports the steps or adds support between the stringers of the stairs. You might also know this as a carriage piece, a horse, or a roughstring. See Carriage rollout on page 444 to modify the parameters. Handrail Creates left and right handrails. See Railings rollout on page 445 to modify the handrails’ height, offset, number of segments, and radius. Rail Path Creates left and right paths you can use to install railings on the stairs. See Stairs on page 440 for the instructions on how to do this. Layout group Left/Right Controls the position of the two flights (Length 1 and Length 2) relative to each other. If you select left, then the second flight is on the left from the landing. If you select right, then the second flight is the right from the landing. Length 1 Controls the length of the first flight of stairs. Length 2 Controls the length of the second flight of stairs. Width Controls the width of the stairs, including the steps and the landing. Offset Controls the distance separating the two flights and thus the length of the landing. Steps group Thickness Controls the thickness of the steps. 458 | Chapter 6 Creating Geometry Step thickness variance between two stairs Depth Controls the depth of the steps. Step depth variance between two stairs Generate Mapping Coords Applies default mapping coordinates on page 9212 to the stairs. NOTE If a visible viewport is set to a non-wireframe or non-bounding-box display, Generate Mapping Coordinates is on for all primitives to which you apply a material containing a map with Show Map In Viewport on. If all viewports are set to wireframe or bounding box, 3ds Max turns on Generate Mapping Coordinates for primitives containing mapped materials at render time. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Doors Create panel ➤ (Geometry) ➤ Doors Doors | 459 Create menu ➤ AEC Objects The door models provided let you control details of a door's appearance. You can also set the door to be open, partially open, or closed, and you can animate the opening. Different door types in a model of a house There are three kinds of doors. The Pivot door on page 469 is the familiar door that is hinged on one side only. The Bifold door on page 473 is hinged in the middle as well as the side, like many closet doors. You can also make these kinds of doors a set of double doors. The Sliding door on page 471 has a fixed half and a sliding half. The topic for each kind of door describes its unique controls and behavior. Most door parameters are common to all kinds of doors, and are described here. Doors and Materials By default, 3ds Max assigns five different material IDs to doors. The aectemplates.mat material library includes Door-Template, a multi/sub-object material designed to be used with doors. Each component of the door/material is listed below along with its corresponding Material ID. 460 | Chapter 6 Creating Geometry Material IDs for a door or window Material ID Door/Material Component 1 Front 2 Back 3 Inner Bevel (used for glazing when Panels set to Glass or Beveled). 4 Frame 5 Inner Door Doors | 461 NOTE 3ds Max does not automatically assign a material to the door object. To use the included material, open the library and then assign the material to your object. Making an Opening for a Door To make an opening in a wall, you can perform a Boolean operation on page 646 with the wall as Operand A, and another object, such as a box, as Operand B. Then, you can create and add a door in the opening, and link on page 3665 it, if you choose, as a child of the wall. NOTE Using snaps, you can insert a door in a wall object, automatically linking the two and creating a cutout for the door. See the procedure To create and place a window or door in a wall: on page 431. Procedures To create a door: 1 On the Object Type rollout, click the button for the type of door you want to create. 2 Choose options as needed, such as changing the default creation method. Turn off Create Frame to eliminate the door frame. Turn on Allow Non-vertical Jambs if you want an inclined door. 3 Drag the mouse in the viewport to create the first two points, defining the width and angle of the base of the door. 4 Release the mouse and move to adjust the depth of the door (default creation method), and then click to set. By default, the depth is perpendicular to the line between the first two points and parallel to the active grid. 5 Move the mouse to adjust the height, and then click to finish. The height is perpendicular to the plane defined by the first three points and perpendicular to the active grid. You can adjust the Height, Width, and Depth values on the Parameters rollout. On the Creation Method rollout, you can change the creation order to width-height-depth instead of width-depth-height. 462 | Chapter 6 Creating Geometry To create a door material: 1 Create a door or select an existing door. 2 Open the Material Editor, and select a slot for the material. 3 Click the Type button below the Material Editor toolbar. The Material/Map Browser dialog opens. 4 In the Material list, double-click the Multi/Sub-Object item, and then on the Replace Material dialog that appears, choose either option and click OK. 5 On the Multi/Sub-Object Basic Parameters rollout, click Set Number and change Number Of Materials to 5. Click OK. 6 Optionally, change the sub-material names to those specified in the above table on page 461. 7 Edit the material as you would any Multi/Sub-Object material. To animate a door: You can animate a door opening and closing by keyframing the Open setting. 1 Create a door or select an existing door. If using an existing door, also access the Modify panel. 2 Set the Parameters rollout ➤ Open parameter to the amount you want the door to be open at the start of the animation. If you want it to be closed, set it to 0. 3 Click the Auto Key button and advance to the first keyframe. 4 Change the Open setting. 5 Continue moving to any additional keyframes and changing the Open setting as necessary. 6 Play the animation. Interface The topic for each kind of door describes its unique controls and behavior. Most door parameters are common to all kinds of doors, and are described here. Doors | 463 Object Type rollout There are three kinds of doors in 3ds Max: Pivot The familiar door type that is hinged on one side only. See Pivot Door on page 469. Sliding Has a fixed half and a sliding half. See Sliding Door on page 471. BiFold Hinged in the middle as well as the side, like many closet doors. You can also use this type of door to make a set of double doors. See BiFold Door on page 473. Name and Color rollout See Object Name and Wireframe Color on page 8771. Creation Method rollout You define each type of door with four points: Drag the first two, followed by two move-click sequences. The Creation Method setting determines the order in which these actions define the door's dimensions. Width/Depth/Height The first two points define the width and angle of the base of the door. You set these points by dragging in a viewport, as the first step in creating a door. The first point, where you click and hold before dragging, defines a point on the jamb at the hinge for single-pivot and bifold doors (both jambs have hinges on double doors, and sliding doors have no hinge). The second point, where you release the button after dragging, specifies the width of the door, as well as the direction from one jamb to the other. This lets you align the door with a wall or opening when you place it. The 464 | Chapter 6 Creating Geometry third point, where you click after moving the mouse, specifies the depth of the door, and the fourth click, where you click after moving the mouse again, specifies the height. Width/Height/Depth Works like the Width/Depth/Height option, except that the last two points create first the height and then the depth. NOTE With this method, the depth is perpendicular to the plane set by the first three points. Thus, if you draw the door in the Top or Perspective viewport, the door lies flat on the active grid. Allow Non-vertical Jambs Lets you create tilted doors. Set snaps on page 2833 to define points off the construction plane. Default=off. Doors | 465 Parameters rollout Height Sets the overall height of the door unit. Width Sets the overall width of the door unit. Depth Sets the depth of the door unit. Open With Pivot doors, specifies in degrees the extent to which the door is open. With Sliding and BiFold doors, Open specifies the percent that the door is open. 466 | Chapter 6 Creating Geometry Frame group This rollout has controls for the door-jamb frame. Though part of the door object, the frame behaves as if it were part of the wall. It doesn't move when you open or close the door. Create Frame This is turned on as a default to display the frame. Turn this off to disable display of the frame. Width Sets the width of the frame parallel to the wall. Available only when Create Frame is on. Depth Sets the depth of the frame as it projects from the wall. Available only when Create Frame is on. Door Offset Sets the location of the door relative to the frame. At 0.0, the door is flush with one edge of the trim. Note that this can be a positive or negative value. Available only when Create Frame is on. Generate Mapping Coords Assigns mapping coordinates to the door. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Doors | 467 Leaf Parameters rollout Provides controls that affect the door itself (as opposed to the door unit, which includes the frame). You can adjust the dimensions of the door, add panels, and adjust the dimensions and placement of those panels. The total number of panels for each door element is the number of horizontal divisions times the number of vertical divisions. Pivot doors have a single door element unless they are double doors. BiFold doors have two door elements, or four if they are double doors. Sliding doors have two door elements. Thickness Sets the thickness of the door. Stiles/Top Rail Sets the width of the panel framing on the top and sides. This setting is apparent only if the door is paneled. Bottom Rail Sets the width of the panel framing at the base of the door. This setting is apparent only if the door is paneled. 468 | Chapter 6 Creating Geometry # Panels Horiz. Sets the number of panel divisions along the horizontal axis. # Panels Vert. Sets the number of panel divisions along the vertical axis. Muntin Sets the width of the separations between the panels. Panels group Determines how panels are created in the door. None The door has no paneling. Glass Creates glass panels with no beveling. Thickness Sets the thickness of the glass panels. Beveled Choose this to have beveled panels. The remaining spinners affect the beveling of the panels. Bevel Angle Specifies the angle of the bevel between the outer surface of the door and the surface of the panel. Thickness 1 Sets the outer thickness of the panel. Thickness 2 Sets the thickness where the bevel begins. Middle Thick. Sets the thickness of the inner part of the panel. Width 1 Sets the width where the bevel begins. Width 2 Sets the width of the inner part of the panel. Pivot Door Create panel ➤ (Geometry) ➤ Doors ➤ Pivot button Create menu ➤ AEC Objects ➤ Pivot Door The Pivot door is hinged on one side only. You can also make the door a double door, with two door elements, each hinged on its outer edge. Doors | 469 Single and double pivot doors This topic describes only controls and behavior unique to the Pivot door. Most door parameters are common to all kinds of doors; see Doors on page 459. 470 | Chapter 6 Creating Geometry Interface Parameters rollout The Parameters rollout contains three check boxes specific to Pivot doors. Double Doors Makes a double door. Flip Swing Changes the direction the door swings. Flip Hinge Places the door hinges on the opposite side of the door. This option is unavailable for double doors. Sliding Door Create panel ➤ (Geometry) ➤ Doors ➤ Sliding button Create menu ➤ AEC Objects ➤ Sliding Door The Sliding door slides as if on a track or railing. It has two door elements: one remains stationary while the other moves. Doors | 471 Sliding doors with different numbers of panels This topic describes only controls and behavior unique to the Sliding door. Most door parameters are common to all kinds of doors; see Doors on page 459. 472 | Chapter 6 Creating Geometry Interface Parameters rollout Flip Front Back Changes which element is in front, compared to the default. Flip Side Changes the current sliding element to the stationary element, and vice versa. BiFold Door Create panel ➤ (Geometry) ➤ Doors ➤ BiFold button Create menu ➤ AEC Objects ➤ BiFold Door The BiFold door is hinged in the middle as well as on the side. It has two door elements. You can also make the door a double door, with four door elements. Doors | 473 Single and double bifold doors This topic describes only controls and behavior unique to the BiFold door. Most door parameters are common to all kinds of doors; see Doors on page 459. 474 | Chapter 6 Creating Geometry Interface Parameters rollout The Parameters rollout contains three check boxes specific to BiFold doors. Double Doors Makes the door a double door, with four door elements, meeting in the center. Flip Swing Makes the door swing in the opposite direction from the default. Flip Hinge Makes the door hinged on the opposite side from the default. Flip Hinge is unavailable when Double Doors is on. Windows Create panel ➤ (Geometry) ➤ Windows Create menu ➤ AEC Objects Windows | 475 The window object lets you control details of a window's appearance. You can also set the window to be open, partially open, or closed, and you can animate the opening over time. Different types of windows in a model of a house 3ds Max offers six kinds of windows: ■ The Casement window on page 486 has one or two door-like sashes that swing inward or outward. ■ The Pivoted window on page 490 pivots at the center of its sash, either vertically or horizontally. ■ The Projected window on page 492 has three sashes, two of which open like awnings in opposite directions. ■ The Sliding window on page 494 has two sashes, one of which slides either vertically or horizontally. ■ The Fixed window on page 488 doesn't open. ■ The Awning window on page 483 has a sash that is hinged at the top. 476 | Chapter 6 Creating Geometry Windows and Materials By default, 3ds Max assigns five different material IDs to windows. The aectemplates.mat material library includes Window-Template, a multi/sub-object material designed to be used with windows. Each component of the window/material is listed below along with its corresponding Material ID. Material IDs for a door or window Material ID Window/Material Component 1 Front Rails 2 Back Rails 3 Panels (glazing), with 50% opacity 4 Front Frame Windows | 477 Material ID Window/Material Component 5 Back Frame NOTE 3ds Max does not automatically assign a material to the window object. To use the included material, open the library and then assign the material to your object. Making an Opening for a Window To make an opening in a wall, you can perform a Boolean operation on page 646 with the wall as Operand A, and another object, such as a box, as Operand B. Then, you can create and add a window in the opening, and link on page 3665 it, if you choose, as a child of the wall. NOTE Using snaps, you can insert a window in a wall object, automatically linking the two and creating a cutout for the window. See the procedure To create and place a window or door in a wall: on page 431. Procedures To create a window: 1 On the Object Type rollout, click the button for the type of window you want to create. 2 Choose options as needed, such as changing the default creation method. Turn on Allow Non-vertical Jambs if you want an inclined window. 3 Drag the mouse in the viewport to create the first two points, defining the width and angle of the base of the window. 4 Release the mouse and move to adjust the depth of the window (default creation method), and then click to set. By default, the depth is perpendicular to the line between the first two points and parallel to the active grid. 5 Move the mouse to adjust the height, and then click to finish. The height is perpendicular to the plane defined by the first three points and perpendicular to the active grid. You can adjust the height, width, and depth values on the Parameters rollout. 478 | Chapter 6 Creating Geometry In the Creation Method rollout, you can change the creation order to width-height-depth instead of width-depth-height. To create a window material: 1 Create a window or select an existing window. 2 Open the Material Editor, and select a slot for the material. 3 Click the Type button below the Material Editor toolbar. The Material/Map Browser dialog opens. 4 In the Material list, double-click the Multi/Sub-Object item, and then on the Replace Material dialog that appears, choose either option and click OK. 5 On the Multi/Sub-Object Basic Parameters rollout, click Set Number and change Number Of Materials to 5. Click OK. 6 Optionally, change the sub-material names to those specified in the above table on page 477. 7 Edit the material as you would any Multi/Sub-Object material. To animate a window: You can animate a window opening and closing by keyframing the Open setting. 1 Create a window or select an existing window. 2 If using an existing window, also access the Modify panel. 3 Set the Parameters rollout ➤ Open parameter to the amount you want the window to be open at the start of the animation. If you want it to be closed, set it to 0. 4 Click the Auto Key button on page 8679 to turn it on, and advance to the first keyframe. 5 Change the Open setting. 6 Continue moving to any additional keyframes and changing the Open setting as necessary. 7 Play the animation. Windows | 479 Interface Most window parameters are common to all kinds of windows, and are described here. The topic for each window type describes its unique controls and behavior. Object Type rollout Six types of window are available in 3ds Max: Awning Has a sash that is hinged at the top. See Awning on page 483. Casement Has one or two door-like sashes that swing inward or outward. See Casement on page 486. Fixed Doesn't open. See Fixed on page 488. Pivoted Pivots at the center of its sash, either vertically or horizontally. See Pivoted on page 490. Projected Has three sashes, two of which open like awnings in opposite directions. See Projected on page 492. Sliding Has two sashes, one of which slides vertically or horizontally. See Sliding on page 494. Name and Color rollout See Object Name and Wireframe Color on page 8771. 480 | Chapter 6 Creating Geometry Creation Method rollout You define each type of window with four points: Drag the first two, followed by two move-click sequences. The Creation Method setting determines the order in which these actions define the window's dimensions. Width/Depth/Height The first two points define the width and angle of the base of the window. You set these points by dragging in a viewport, as the first step in creating a window. This lets you align the window with a wall or opening when you place it. The third point, where you click after moving the mouse, specifies the depth of the window, and the fourth click, where you click after moving the mouse again, specifies the height. Width/Height/Depth Works like the Width/Depth/Height option, except that the last two points create first the height and then the depth. NOTE With this method, the depth is perpendicular to the plane set by the first three points. Thus, if you draw the window in the Top or Perspective viewport, the door lies flat on the active grid. Allow Non-vertical Jambs Select to create tilted windows. Set snaps on page 2833 to define points off the construction plane. Default=off. Windows | 481 Parameters rollout Height/Width/Depth Specifies the overall dimensions of the window. Frame group Horiz. Width Sets the width of the horizontal part of the window frame (at the top and bottom). This setting also affects the glazed portion of the window's width. 482 | Chapter 6 Creating Geometry Vert. Width Sets the width of the vertical part of the window frame (at the sides). This setting also affects the glazed portion of the window's height. Thickness Sets the thickness of the frame. This also controls the thickness of casements or railings on the window's sashes. Glazing group Thickness Specifies the thickness of the glass. Generate Mapping Coordinates Creates the object with the appropriate mapping coordinates on page 9212 already applied. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Awning Window Create panel ➤ (Geometry) ➤ Windows ➤ Awning button Create menu ➤ AEC Objects ➤ Awning Window The Awning window has one or more sashes that are hinged at the top. Windows | 483 Awning window 484 | Chapter 6 Creating Geometry Interface Parameters rollout The topic for each kind of window describes its unique controls and behavior. Some window parameters are common to all kinds of windows; see Windows on page 475. Rails and Panels group Width Sets the width (depth) of the rails in the sashes. Panel Count Sets the number of sashes in the window. If you use more than one sash, each is hinged at its top edge. Range=1 to 10. Open Window group Open Specifies the percent the window is open. This control is animatable. Windows | 485 Casement Window Create panel ➤ (Geometry) ➤ Windows ➤ Casement button Create menu ➤ AEC Objects ➤ Casement Window The Casement window has one or two sashes that are hinged on the side, like a door. Casement window 486 | Chapter 6 Creating Geometry Interface Parameters rollout The topic for each kind of window describes its unique controls and behavior. Some window parameters are common to all kinds of windows; see Windows on page 475. Casements group Panel Width Changes the size of the glazed panel within each sash. One/Two Specifies the number of window panels: one or two. Using two panels creates a window like a double door; each panel is hinged on its outside side edge. Open Window group Open Specifies the percent that the window is open. This control is animatable. Windows | 487 Flip Swing Turn this on to have the sashes open in the opposite direction. Fixed Window Create panel ➤ (Geometry) ➤ Windows ➤ Fixed button Create menu ➤ AEC Objects ➤ Fixed Window Fixed windows do not open, thus have no Open Window control. In addition to the standard window object parameters, the Fixed window provides the Rails And Panels group of settings for subdividing the window. Fixed windows 488 | Chapter 6 Creating Geometry Interface Parameters rollout The topic for each kind of window describes its unique controls and behavior. Some window parameters are common to all kinds of windows; see Windows on page 475. Rails and Panels group Width Sets the width (depth) of the rails in the sashes. # Panels Horiz Sets the number of horizontal divisions in the window. # Panels Vert Sets the number of vertical divisions in the window. Chamfered Profile Chamfers the rails between the glazed panels, as in a conventional wooden window. When Chamfered Profile is off, the rails have a rectangular profile. Windows | 489 Pivoted Window Create panel ➤ (Geometry) ➤ Windows ➤ Pivoted button Create menu ➤ AEC Objects ➤ Pivoted Window A pivoted window has one sash only, hinged midway through the side of the sash. It can swing open either vertically or horizontally. Pivoted windows 490 | Chapter 6 Creating Geometry Interface Parameters rollout The topic for each kind of Window describes its unique controls and behavior. Most Window parameters are common to all kinds of Windows; see Windows on page 475. Rails group Width Sets the width of the rails in the sash. Pivots group Vertical Rotation Switches the pivot axis from horizontal to vertical. Windows | 491 Open Window group Open Specifies the percent that the window is open. This control is animatable. Projected Window Create panel ➤ (Geometry) ➤ Windows ➤ Projected button Create menu ➤ AEC Objects ➤ Projected Window Projected windows have three sashes: The top sash doesn't move, while the bottom two sashes swing open like awning windows, but in opposite directions. Projected window 492 | Chapter 6 Creating Geometry Interface Parameters rollout The topic for each kind of window describes its unique controls and behavior. Some window parameters are common to all kinds of windows; see Windows on page 475. Rails and Panels group Width Sets the width (depth) of the rails in the sashes. Middle Height Sets the height of the middle sash, relative to the window's frame. Bottom Height Sets the height of the bottom sash, relative to the window's frame. Windows | 493 Open Window group Open Specifies the percent that the two movable sashes are open. This control is animatable. Sliding Window Create panel ➤ (Geometry) ➤ Windows ➤ Sliding button Create menu ➤ AEC Objects ➤ Sliding Window Sliding windows have two sashes: one fixed, one movable. The sliding part can move either vertically or horizontally. Sliding windows 494 | Chapter 6 Creating Geometry Interface Parameters rollout The topic for each kind of Window describes its unique controls and behavior. Most Window parameters are common to all kinds of Windows; see Windows on page 475. Rails and Panels group Rail Width Sets the width of the rails in the sash. # Panels Horiz Sets the number of horizontal divisions in each sash. # Panels Vert Sets the number of vertical divisions in each sash. Windows | 495 Chamfered Profile Chamfers the rails between the glazed panels, as in a conventional wooden window. When Chamfered Profile is off, the rails have a rectangular profile. Open Window group Hung When on, the window slides vertically. When off, the window slides horizontally. Open Specifies the percent that the window is open. This control is animatable. mental ray Object The mental ray object category contains one object type: the mr Proxy object. Use this object to lighten the rendering load with geometry-heavy scenes. mr Proxy Object Set mental ray as the current renderer. ➤ Create panel ➤ (Geometry) ➤ mental ray ➤ Object Type rollout ➤ mr Proxy button The mr Proxy object is intended for use in large scenes to be rendered with mental ray. This object type is useful when scenes contain many instances of an object, such as an auditorium with hundreds or thousands of instances of a seat model. It is also particularly useful for objects with extremely high polygon counts, in that it obviates both the conversion to mental ray format and the presence of the source object at render time, thus saving time and freeing up a great deal of memory for rendering. The only drawbacks are the reduced fidelity of the proxy object in the viewports and the inability to edit proxies directly. The basic usage of the mr Proxy object is that you create and optionally animate the “source” object, apply a material, and then save a copy to disk for possible future modification. Next, you convert the object to mr Proxy format and write the proxy to a disk file or series of files, after which it appears in the viewports as a point cloud (a set of vertices showing the object size and approximate shape). Finally, you delete the source object, as its presence in the scene is no longer necessary. You can then use the mr Proxy object like 496 | Chapter 6 Creating Geometry any object in the scene, instancing it, transforming it, and so on. When you render, mental ray loads the disk files and uses the geometry defined therein. However, if you need to modify it (such as changing a modifier parameter, or editing a sub-object), you need to load the source object, modify it, reconnect it to the proxy object, and rewrite the files. NOTE Using Select Similar on page 215 with an mr Proxy object selects all mr Proxy objects, even if they use different source objects. Procedures To use the mr Proxy object: 1 Make sure mental ray is the active renderer. 2 Create or load the object that is to serve as the source object. Apply any necessary modifiers and material. Be sure to save a copy for future reference. 3 Add an mr Proxy object. Until you define the source object, the mr Proxy object appears in the scene as a wireframe cube. 4 Go to the Modify panel. The mr Proxy object requires that you specify the source object from the Modify panel. 5 Click the source object button, which currently reads “None,” and then select the source object. The name of the source object appears on the button. TIP If you plan to modify the source object, do so before converting it to mr Proxy format. Because the mr Proxy geometry is loaded by mental ray at render time, the renderer ignores any modifiers that change the geometry. The one exception is the Skew modifier on page 1610, which affects the object’s transformation matrix rather than its sub-object geometry, and thus can modify a proxy. 6 Click the Write Object To File button, enter a file name, and click Save. This opens the mr Proxy Creation dialog, which lets you set parameters for the proxy object file, including animation frames and preview settings. Change settings as necessary and then click OK to continue. mr Proxy Object | 497 The file is saved in the MIB format and its path and file name are placed in the Proxy File field. After you save the file, the Display group shows the proxy geometry and the viewport shows the object, by default, as a point cloud: a group of vertices that roughly defines the object’s shape. You can change the number of points in the cloud and use a bounding box to represent the object, with or without the point cloud. (When the point cloud is on, you can toggle the bounding box, but when you turn off the point cloud, the bounding box always displays.) mr Proxy object represented as a point cloud If you like, you can now delete the original object. TIP To select an mr Proxy object when represented as a point cloud, click one of the vertices. 7 If the object is difficult to visualize in the viewports, increase the Display group ➤ Viewport Verts value. You can now use this object as any other object in 3ds Max, applying materials, copying it, animating with it, and so on. 498 | Chapter 6 Creating Geometry To use materials with the mr Proxy object: When you convert an object to mr Proxy format, the proxy does not inherit the object’s material. An efficient way to handle this is with the XRef material. 1 Create or load the object that is to serve as the source object. Apply any necessary modifiers and material, and then save a copy. 2 Create the mr Proxy object and then convert the source object, as described in the preceding procedure. Delete the source object. 3 Apply an XRef material on page 6605 to the proxy object. 4 Set the material to use the material from the source object file you saved in step 1. Then, to modify the material on the proxy, load the source object, edit its material, and save the file. Because the material on the proxy object is externally referenced, it updates automatically. Example: To use an animated source object: The mr Proxy object supports vertex-level animation as well as topological changes in the source object. For example, you could create a fluid simulation with a particle system to which BlobMesh on page 634 is applied, and then bake it out to a series of mr Proxy files. This procedure gives an example of how to use this feature. 1 Create a source object and add vertex-level animation. For example, you could apply the Bend modifier and then set keys for different values of the Angle parameter. 2 Add an mr Proxy object. 3 Go to the Modify panel, click the source object (“None”) button and then select the object from step 1. 4 Click the Write Object To File button, enter a file name, and click Save. On the mr Proxy Creation dialog, choose either animation option (Active Time Segment or Custom Range) and, if you like, toggle the Preview Generation switches. Click OK to continue. 3ds Max writes a pair of files (geometry and thumbnail) for each animation frame. 5 You control animation playback in the Proxy object with the Animation Support group settings. When you save or load an animated Proxy, 3ds Max automatically enables the On check box in this group and sets Frames mr Proxy Object | 499 to the number of frames in the animation. You can change the value to the number of frames you want to use from the animation. Also, you can adjust the rate at which the animation appears in the proxy object by adjusting the Replay Speed value, and change the frame at which the playback begins with the Frame Offset parameter. Last, to have the animation play back and forth, turn on Ping-Pong Replay. Interface NOTE Before using the mr Proxy object, make sure mental ray is the active renderer. 500 | Chapter 6 Creating Geometry Parameters rollout Source Object group [source object button] Shows the name of the source object, or, if you haven’t assigned one, the text “None.” To assign an object, click the button and then select the source object. The name of the source object then appears on the mr Proxy Object | 501 button, unless you delete the source object subsequently. In that case, the button label returns to “None,” although the mr Proxy object still functions normally, assuming you’ve saved the object to an MIB file. Clear source object slot Restores the source object button label to “None,” but doesn’t otherwise affect the proxy object. Write Object to File Lets you save the object as an MIB file, which you can then load into another mr Proxy object using the Proxy File controls. Clicking the button opens a File Name dialog, where you can navigate to the desired folder and enter a file name. Then, when you click Save, 3ds Max opens the mr Proxy Creation dialog on page 504. Set parameters as desired and then click OK. This saves a file named [file name].mib, containing the geometry data, and another named [file name].mib.bmp, which contains the thumbnail image that appears on the Parameters rollout. NOTE The MIB file contains only geometry, not materials. You can apply different materials to each instance or copy of an mr Proxy object. If Animation Support is on, 3ds Max writes a sequence of both types of file, with a four-digit frame number appended to the base file name for each file. For example, if you use the file name Test and set Animation Support group ➤ Frames to 10, then the first pair of files are named Test0000.mib and Test0000.mib.bmp, the second pair are named Test0001.mib and Test0001.mib.bmp, and so on. Proxy File group Proxy File This editable field shows the location and name of the base MIB file stored with the Write Object To File command. To use a different file you can edit the field manually or click the [...] button and use the File Name dialog to choose a new file. ... [browse] Click this button to choose an MIB file to load into the proxy object. You can use this button to load an existing MIB file into a new proxy object, allowing you to easily transfer objects between different scenes. 502 | Chapter 6 Creating Geometry NOTE If you load an MIB file that’s part of an animated sequence, you’re given the opportunity to load the entire sequence. Confirming automatically turns on animation support and sets the animation parameters to appropriate values. For details, see Animation Support group on page 503. Scale Adjusts the size of the proxy object. Alternatively, you can use the Scale tool to resize the object. Display group Viewport Verts The number of vertices displayed in the point cloud for the proxy object. For best performance, display only enough vertices to make the object recognizable. Show Point Cloud When on, the proxy object appears as a point cloud (group of vertices) in the viewports. When on, you can combine this with Show Bounding Box (see following). NOTE When the object is selected, the point cloud always displays. Show Bounding Box When on, the proxy object appears as a bounding box in the viewports. Available only when Show Point Cloud is on. When Show Point Cloud is off, the bounding box always displays. [preview window] Shows the thumbnail image stored for the current frame of the MIB file. The thumbnail is generated when you click Write Object To File. The image includes the current scene background. Also, if you turn off Exclude Other Objects on the Preview Generation Options rollout, it includes other objects in the scene. Animation Support group These settings control animation playback; animation recording is controlled by the mr Proxy Creation settings (see following) when you save the Proxy object. mr Proxy Object | 503 On When enabled, plays animation in the proxy object if the current MIB file is part of an animation sequence. When off, the proxy object remains in the state of the last animation frame. Saving or loading an animated Proxy object automatically enables animation playback. The remaining Animation Support settings are available only when animation is enabled. Frames The number of frames to use from the animation, starting at the first frame of the animation + the Frame Offset value. After the last frame plays, the animation repeats, either from the first frame forward again, or, if Ping-Pong Replay is on, back and forth. Saving or loading an animated Proxy object automatically sets Frames to the correct value. Replay Speed Lets you adjust the playback speed as a multiplier. For example, if you load a 100-frame animation and then set Replay Speed to 0.5 (half speed), 3ds Max plays back each frame twice, so the animation takes 200 frames to play back fully. Default=1.0 (full speed). Frame Offset Lets you start the animation playback at a frame other than the first. Add this value to the start frame (see Geometry to Write on page 505) to determine at which frame the animation starts playing back. Ping-Pong Replay When on, the animation plays forward, then in reverse, then forward again and so on. When off, it plays forward only. mr Proxy Creation dialog This dialog opens when you click Write Object To File on page 502 and then enter a file name and click Save. They determine whether and how animation is saved to the proxy file, and how to display the preview. 504 | Chapter 6 Creating Geometry Geometry to Write Choose the option that specifies how to save deformation animation, such as that produced by modifiers, in the proxy file. Transform animation, such as rotation of the entire object, is not saved. ■ Current FrameSaves no animation; only the state of the object in the current frame. ■ Active Time SegmentSaves all animation in the active time segment on page 9082. ■ Custom RangeSaves animation only in the frame range you specify with the Start and End values. Preview Generation group These settings determine how to display the object preview on page 503, and are saved with the proxy file. Include only Source Object in Preview When on, the preview image contains only the geometry in the proxy object. When off, the preview shows any additional geometry in the scene within the extent of the image zoom (see Automatic Zoom Extents, following). Default=on. Automatic Zoom Extents When on, zooms the preview image to the bounding box of the proxy object before rendering the image. Default=on. mr Proxy Object | 505 Shapes Create panel ➤ Shapes Create menu ➤ Shapes A shape is an object made from one or more curved or straight lines. 3ds Max includes the following shape types: Splines and Extended Splines on page 511 and NURBS Curves on page 2481 Using Shapes Shapes are 2D and 3D lines and groups of lines that you typically use as components of other objects. Most of the default shapes are made from splines. You use these spline shapes to do the following: ■ Generate planar and thin 3D surfaces ■ Define loft components such as paths, shapes, and fit curves ■ Generate surfaces of revolution ■ Generate extrusions ■ Define motion paths 3ds Max supplies 11 basic spline shape objects, two types of NURBS curves, and five extended splines. You can quickly create these shapes using mouse or keyboard entry and combine them to form compound shapes. For information about the methods and parameters used to create these shapes, see Splines and Extended Splines on page 511 . Creating Shapes To access the shape-creation tools, go to the Create panel and click (Shapes). You'll find the standard shapes under Splines in the category list, Point Curve and CV Curve under NURBS curves, and WRectangle, Channel, Angle, Tee, and Wide Flange under Extended Splines. As you add plug-ins, other shape categories might appear in this list. 506 | Chapter 6 Creating Geometry The Object Type rollout contains the spline creation buttons. You can combine one or more of these spline types into a single shape. Create Shape from Edges You can create shapes from edge selections in mesh objects. In Edit/Editable Mesh objects, at the Edge selection level, in the Edit Geometry rollout, is a button called Create Shape from Edges that creates a spline shape based on selected edges. See Editable Mesh (Edge) on page 2207. Similarly, with Editable Poly objects, you can use the Create Shape button at the Edge selection level. See Editable Poly (Edge) editable polyedgeshapescreating from edges on page 2269 Editable Splines You can convert a basic spline to an editable spline object on page 554. The editable spline has a variety of controls that let you directly manipulate it and its sub-objects. For example, at the Vertex sub-object level you can move vertices or adjust their Bezier handles. Editable splines let you create shapes that are less regular, more free-form than the basic spline options. When you convert a spline to an editable spline, you lose the ability to adjust or animate its creation parameters. Renderable Shapes When you use a shape to create a 3D object by lofting, extruding, or other means, the shape becomes a renderable 3D object. However, you can make a shape render without making it into a 3D object. There are three basic steps to rendering a shape: 1 On the Rendering rollout of the shape's creation parameters, turn on Enable In Renderer. 2 Specify the thickness for the spline using the Thickness spinner in the Rendering rollout. Shapes | 507 3 If you plan to assign a mapped material to the spline, turn on Generate Mapping Coords. When Enable In Renderer is on, the shape is rendered using a circle as a cross section. Mapping coordinates are generated with U mapped once around the perimeter, and V mapped once along the length. 3ds Max provides control over renderable shapes; viewports, including wireframe viewports, can display the geometry of renderable shapes. The rendering parameters for shapes appear in their own rollout. The Steps settings affect the number of cross sections in the renderable shape. Please observe the following: ■ When you apply a modifier that converts a shape into a mesh (such as Extrude on page 1369 or Lathe on page 1418), the object automatically becomes renderable, regardless of the state of the Enable in Renderer check box. 508 | Chapter 6 Creating Geometry You need to turn on the Enable in Renderer check box only when you want to render an unmodified spline shape in the scene. ■ As with all objects, a shape's layer must be on for the shape to render. See Layer Properties on page 8537. ■ The Object Properties dialog on page 221 also has a Renderable check box, which is turned on by default. Both this check box and the General rollout ➤ Renderable check box must be turned on in order to render a shape. Shapes as Planar Objects A straightforward usage for shapes is 2D cutouts or planar objects. Examples include ground planes, text for signs, and cutout billboards. You create a planar object by applying an Edit Mesh modifier on page 1263 to a closed shape, or by converting it to an editable mesh object on page 2190. 2D objects You can also apply an Edit Mesh modifier to a 3D shape (for example, a shape whose vertices have been moved vertically away from the construction plane by different amounts) to create a curved surface. The resulting 3D surface often requires manual editing of faces and edges to smooth surface ridges. Extruded and Lathed Shapes You can apply modifiers to a shape to create a 3D object. Two of these modifiers are Extrude and Lathe. Extrude on page 1369 creates a 3D object by adding height to a shape. Lathe on page 1418 creates a 3D object by rotating a shape about an axis. Shapes | 509 Initial text shape with extruded shape below Lathed object with initial shape on right Lofting Shapes You create Lofts on page 674 by combining two or more splines in special ways. Shapes form the lofting path, loft cross-sections, and loft fit curves. Shapes as Animation Paths You can use shapes to define the position of an animated object. You create a shape and use it to define a path that some other object follows. Some possible ways for a shape to control animated position are: ■ You can use a Path constraint on page 3629 to use a shape to control object motion. ■ You can convert a shape into position keys using the Motion panel ➤ Trajectories ➤ Convert From function (see Trajectories on page 3440). 510 | Chapter 6 Creating Geometry See also: ■ Edit Modifiers and Editable Objects on page 990 ■ Modifying at the Sub-Object Level on page 991 ■ Modifier Stack Controls on page 8776 Splines and Extended Splines Create panel ➤ (Shapes) ➤ Splines Create menu ➤ Shapes Create panel ➤ (Shapes) ➤ Extended Splines Splines include the following object types: Line on page 518, Rectangle on page 522, Circle on page 524, Ellipse on page 525, Arc on page 526, Donut on page 530. NGon on page 531, Star on page 533, Text on page 535, Helix on page 539, and Section on page 541. Extended Splines include the following object types: WRectangle on page 545. Channel on page 547. Angle on page 549. Tee on page 551, and Wide on page 553 This topic covers aspects of spline and extended spline creation that are common to all spline object types, including the parameters available in the General rollout. For parameters unique to a particular spline or extended spline type, see its section. Procedures To control starting a new shape manually: 1 On the Create panel, turn off the check box next to the Start New Shape button. 2 Click the Start New Shape button. 3 Begin creating splines. Splines and Extended Splines | 511 Each spline is added to the compound shape. You can tell you are creating a compound shape because all the splines remain selected. 4 Click Start New Shape to complete the current shape and prepare to start another. Issues to remember about creating shapes: ■ You can go back and change the parameters of a shape containing a single spline after the shape is created. ■ You can create a compound shape by adding splines to a shape: Select the shape, turn off Start New Shape, and then create more splines. ■ You cannot change the parameters of a compound shape. For example, create a compound shape by creating a circle and then adding an arc. Once you create the arc, you cannot change the circle parameters. To create a spline using keyboard entry: 1 Click a spline creation button. 2 Expand the Keyboard Entry rollout. 3 Enter X, Y, and Z values for the first point. 4 Enter values in any remaining parameter fields. 5 Click Create. 512 | Chapter 6 Creating Geometry Interface Object Type rollout (Splines and Extended Splines) AutoGrid Lets you automatically create objects on the surface of other objects by generating and activating a temporary construction plane based on normals of the face that you click. For more information, see AutoGrid on page 2819. Start New Shape A shape can contain a single spline or it can be a compound shape containing multiple splines. You control how many splines are in a shape using the Start New Shape button and check box on the Object Type rollout. The check box next to the Start New Shape button determines when new shapes are created. When the box is on, 3ds Max creates a new shape object for every spline you create. When the box is off, splines are added to the current shape until you click the Start New Shape button. Shape Selection buttons Lets you specify the type of shape to create. Name and Color rollout Lets you name an object and assign it a viewport color. For details, see Object Name and Wireframe Color on page 8771. Splines and Extended Splines | 513 Rendering rollout Lets you turn on and off the renderability of a spline or NURBS curve, specify its thickness in the rendered scene, and apply mapping coordinates. You can animate render parameters, such as the number of sides, but you cannot animate the Viewport settings. You can convert the displayed mesh into a mesh object by applying an Edit Mesh or Edit Poly modifier or converting to an editable mesh or editable poly object. If Enable In Viewport is off when converting, closed shapes will be “filled in” and open shapes will contain only vertices; no edges or faces. If Enable In Viewport is on when converting, the system will use the Viewport settings for this mesh conversion. This gives maximum flexibility, and will always give the conversion of the mesh displayed in the viewports. Enable In Renderer When on, the shape is rendered as a 3D mesh using the Radial or Rectangular parameters set for Renderer. 514 | Chapter 6 Creating Geometry Enable In Viewport When on, the shape is displayed in the viewport as a 3D mesh using the Radial or Rectangular parameters set for Renderer. Use Viewport settings Lets you set different rendering parameters, and displays the mesh generated by the Viewport settings. Available only when Enable in Viewport is turned on. Generate Mapping Coords Turn this on to apply mapping coordinates. Default=off. 3ds Max generates the mapping coordinates in the U and V dimensions. The U coordinate wraps once around the spline; the V coordinate is mapped once along its length. Tiling is achieved using the Tiling parameters in the applied material. For more information, see Mapping Coordinates on page 6005. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Viewport Choose this to specify Radial or Rectangular parameters for the shape as it will display in the viewports when Enable In Viewport is on. Renderer Choose this to specify Radial or Rectangular parameters for the shape as it will display when rendered or when viewed in the viewport when Enable In Viewport is turned on. Radial Displays the 3D mesh as a cylindrical object. Thickness Specifies the diameter of the viewport or rendered spline mesh. Default=1.0. Range=0.0 to 100,000,000.0. Splines rendered at thickness of 1.0 and 5.0, respectively Sides Sets the number of sides (or facets) for the spline mesh n the viewport or renderer. For example, a value of 4 results in a square cross section. Splines and Extended Splines | 515 Angle Adjusts the rotational position of the cross-section in the viewport or renderer. For example, if the spline mesh has a square cross section you can use Angle to position a "flat" side down. Rectangular Displays the spline's mesh shape as a rectangle. Length Specifies the size of the cross–section along the local Y axis. Width Specifies the size of the cross–section along the local X axis. Angle Adjusts the rotational position of the cross-section in the viewport or renderer. For example, if you have a square cross-section you can use Angle to position a "flat" side down. Aspect Sets the aspect ratio for rectangular cross-sections. The Lock check box lets you lock the aspect ratio. When Lock is turned on, Width is locked to Length that results in a constant ratio of Width to Length. Auto Smooth If Auto Smooth is turned on, the spline is auto-smoothed using the threshold specified by the Threshold setting below it. Auto Smooth sets the smoothing based on the angle between spline segments. Any two adjacent segments are put in the same smoothing group if the angle between them is less than the threshold angle. NOTE Turning Auto Smooth on for every situation does not always give you the best smoothing quality. Altering the Threshold angle may be necessary or turning Auto Smooth off may produce the best results. Threshold Specifies the threshold angle in degrees. Any two adjacent spline segments are put in the same smoothing group if the angle between them is less than the threshold angle. Interpolation rollout These settings control how a spline is generated. All spline curves are divided into small straight lines that approximate the true curve. The number of divisions between each vertex on the spline are called steps. The more steps used, the smoother the curve appears. 516 | Chapter 6 Creating Geometry Steps Spline steps can be either adaptive (that is, set automatically by turning on Adaptive) or specified manually. When Adaptive is off, use the Steps field/spinner to set the number of divisions between each vertex. Splines with tight curves require many steps to look smooth while gentle curves require fewer steps. Range=0 to 100. Optimize When on, removes unneeded steps from straight segments in the spline. Optimize is not available when Adaptive is on. Default=on. Adaptive When off, enables manual interpolation control using Optimize and Steps. Default=off. When on, Adaptive sets the number of steps for each spline to produce a smooth curve. Straight segments always receive 0 steps. Optimized spline left and adaptive spline right. Resulting wireframe view of each, respectively, on the right. The main use for manual interpolation of splines is in morphing or other operations where you must have exact control over the number of vertices created. Creation Method rollout Many spline tools use the Creation Methods rollout. On this rollout you choose to define splines by either their center point or their diagonal. Edge Your first click defines a point on the side or at a corner of the shape and you drag a diameter or the diagonal corner. Splines and Extended Splines | 517 Center Your first click defines the center of the shape and you drag a radius or corner point. Text on page 535 and Star on page 533 do not have a Creation Methods rollout. Line on page 518 and Arc on page 526 have unique Creation Methods rollouts that are discussed in their respective topics. Keyboard Entry rollout You can create most splines using keyboard entry. The process is generally the same for all splines and the parameters are found under the Keyboard Entry rollout. Keyboard entry varies primarily in the number of optional parameters. The image above shows a sample Keyboard Entry rollout for the Circle shape. The Keyboard Entry rollout contains three fields for the X, Y, and Z coordinates of the initial creation point, plus a variable number of parameters to complete the spline. Enter values in each field and click the Create button to create the spline. Line Spline Create panel ➤ (Shapes) ➤ Splines ➤ Object Type rollout ➤ Line Create menu ➤ Shapes ➤ Line Use Line to create a free-form spline made of multiple segments. 518 | Chapter 6 Creating Geometry Example of line Procedures To create a line: 1 Go to the Create panel and turn on (Shapes). 2 On the Object Type rollout, click the Line button. 3 Choose a creation method. 4 Click or drag the start point. Clicking creates a corner vertex; dragging creates a Bezier vertex. 5 Click or drag additional points. Clicking creates a corner vertex; dragging creates a Bezier vertex. 6 Do one of the following: ■ Right-click to create an open spline. ■ Click the first vertex and click Yes in the "Close spline?" dialog to create a closed spline. To create a line using rectilinear and angle-snap options: These two options aid in creating regular shapes: ■ While creating a spline with the mouse, press and hold Shift to constrain new points to 90-degree-angle increments from previous points. Use the Splines and Extended Splines | 519 default Initial type setting of Corner and click all subsequent points to create fully rectilinear shapes. ■ While creating a spline with the mouse, press and hold Ctrl to constrain new points to angle increments determined by the current Angle Snap setting on page 2847. To set this angle, go to Tools menu ➤ Grids And Snaps ➤ Grid And Snap Settings, click the Options tab on page 2859 in the Grid And Snap Settings dialog, and change the value in the Angle (deg) field. The angle for each new segment relates to the previous segment, so the angle snap works only after you've placed the first two spline vertices (that is, the first segment). Angle Snap need not be enabled for this feature to work. To create a line from the keyboard: 1 Enter values in the X, Y, and Z fields to specify a vertex coordinate. 2 Click Add Point to add a vertex to the current line at the specified coordinate. 3 Repeat steps 1 and 2 for each additional vertex. 4 Do one of the following: ■ Click Finish to create an open spline. ■ Click Close to connect the current vertex to the first vertex and create a closed spline. Interface Automatic Conversion to an Editable Spline Because the Line object has no dimension parameters to be carried over to the Modify panel, it converts to an editable spline on page 554 when you move from the Create panel to the Modify panel. While you are creating the line, the Create panel displays the original controls, such as Interpolation, Rendering, Creation Method, and Keyboard Entry. After creating the line, when you go to the Modify panel you have immediate access to the Selection and Geometry rollouts to edit the vertices or any part of the shape. Rendering and Interpolation rollouts All spline-based shapes share these parameters. See Splines on page 511 for an explanation of these parameters. 520 | Chapter 6 Creating Geometry Creation Method rollout Creation method options for lines are different from other spline tools. You choose options to control the type of vertex created when you click or drag vertices. You can preset the default types of spline vertices during line creation with these settings: Initial Type group Sets the type of vertex you create when you click a vertex location. Corner Produces a sharp point. The spline is linear to either side of the vertex. Smooth Produces a smooth, nonadjustable curve through the vertex. The amount of curvature is set by the spacing of the vertices. Drag Type group Sets the type of vertex you create when you drag a vertex location. The vertex is located at the cursor position where you first press the mouse button. The direction and distance that you drag are used only when creating Bezier vertices. Corner Produces a sharp point. The spline is linear to either side of the vertex. Smooth Produces a smooth, nonadjustable curve through the vertex. The amount of curvature are set by the spacing of the vertices. Bezier Produces a smooth, adjustable curve through the vertex. The amount of curvature and direction of the curve are set by dragging the mouse at each vertex. Splines and Extended Splines | 521 Keyboard Entry rollout Keyboard entry for lines is different from keyboard entry for other splines. Entering keyboard values continues to add vertices to the existing line until you click Close or Finish. Add Point Adds a new point to the line at the current X/Y/Z coordinates. Close Closes the shape, adding a final spline segment between the most recent vertex and the first. Finish Finishes the spline without closing it. Rectangle Spline Create panel ➤ Rectangle (Shapes) ➤ Splines ➤ Object Type rollout ➤ Create menu ➤ Shapes ➤ Rectangle Use Rectangle to create square and rectangular splines. Examples of rectangles 522 | Chapter 6 Creating Geometry Procedures To create a rectangle: 1 Go to the Create panel and turn on (Shapes). 2 Click Rectangle. 3 Choose a creation method. 4 Drag in a viewport to create a rectangle. Optionally, press Ctrl while dragging to constrain the spline to a square. Interface Rendering and Interpolation rollouts All spline-based shapes share these parameters. See Splines on page 511 for an explanation of these parameters. Creation Method rollout The Rectangle shape uses the standard creation methods of Center or Edge. Most spline-based shapes share the same Creation Method parameters. See Splines on page 511 for an explanation of these parameters. Parameters rollout Once you have created a rectangle, you can make changes using the following parameters: Length Specifies the size of the rectangle along the local Y axis. Width Specifies the size of the rectangle along the local X axis. Corner Radius Creates rounded corners. When set to 0, the rectangle contains 90-degree corners. Splines and Extended Splines | 523 Circle Spline Create panel ➤ (Shapes) ➤ Splines ➤ Object Type rollout ➤ Circle Create menu ➤ Shapes ➤ Circle Use Circle to create closed circular splines made of four vertices. Example of circle Procedures To create a circle: 1 Go to the Create panel and turn on (Shapes). 2 Click Circle. 3 Choose a creation method. 4 Drag in a viewport to draw the circle. Interface Rendering and Interpolation rollouts All spline-based shapes share these parameters. See Splines on page 511 for explanations of these parameters. 524 | Chapter 6 Creating Geometry Creation Method rollout The Circle shape uses the standard creation methods of Center or Edge. Most spline-based shapes share the same Creation Method parameters. See Splines on page 511 for an explanation of these parameters. Parameters rollout Once you have created a circle, you can make changes using the following parameter: Radius Specifies the radius of the circle. Ellipse Spline Create panel ➤ Ellipse (Shapes) ➤ Splines ➤ Object Type rollout ➤ Create menu ➤ Shapes ➤ Ellipse Use Ellipse to create elliptical and circular splines. Examples of ellipses Procedures To create an ellipse: 1 Go to the Create panel and turn on (Shapes). 2 Click Ellipse. Splines and Extended Splines | 525 3 Choose a creation method. 4 Drag in a viewport to draw the ellipse. Optionally, press Ctrl while dragging to constrain the spline to a circle. Interface Rendering and Interpolation rollouts All spline-based shapes share these parameters. See Splines on page 511 for explanations of these parameters. Creation Method rollout The Ellipse shape uses the standard creation methods of Center or Edge. Most spline-based shapes share the same Creation Method parameters. See Splines on page 511 for an explanation of these parameters. Parameters rollout Once you have created an Ellipse, you can make changes using the following parameters: Length Specifies the size of the Ellipse along the local Y axis. Width Specifies the size of the Ellipse local X axis. Arc Spline Create panel ➤ (Shapes) ➤ Splines ➤ Object Type rollout ➤ Arc Create menu ➤ Shapes ➤ Arc Use Arc to create open and closed circular arcs made of four vertices. 526 | Chapter 6 Creating Geometry Procedures To create an arc using the end-end-middle method: 1 Go to the Create panel and turn on (Shapes). 2 Click Arc. 3 Choose the End-End-Middle creation method. 4 Drag in a viewport to set the two ends of the arc. 5 Release the mouse button, then move the mouse and click to specify a third point on an arc between the two endpoints. Creating an arc using the End-End-Middle creation method To create an arc using the center-end-end method: 1 Go to the Create panel and turn on (Shapes). 2 Click Arc. 3 Choose the Center-End-End creation method. 4 Press the mouse button to define the center of the arc. 5 Drag and release the mouse button to specify the start point of the arc. Splines and Extended Splines | 527 6 Move the mouse and click to specify the other end of the arc. Creating an arc using the Center-End-End creation method Interface Rendering and Interpolation rollouts All spline-based shapes share these parameters. See Splines on page 511 for an explanation of these parameters. Creation Method rollout These options determine the sequence of mouse clicks involved in the creation of the arc. End-End-Middle Drag and release to set the two endpoints of the arc, and then click to specify the third point between the two endpoints. Center-End-End Press the mouse button to specify the center point of the arc, drag and release to specify one endpoint of the arc, and click to specify the other endpoint of the arc. 528 | Chapter 6 Creating Geometry Parameters rollout Once you have created an arc, you can make changes using the following parameters: Radius Specifies the arc radius. From Specifies the location of the start point as an angle measured from the local positive X axis. To Specifies the location of the end point as an angle measured from the local positive X axis. Pie Slice When on, creates a closed spline in the form of a pie. The start point and end point are connected to the center with straight segments. Closed pie slice arcs Reverse When on, the direction of the arc spline is reversed, and the first vertex is placed at the opposite end of an open arc. As long as the shape remains an original shape (and not an editable spline), you can switch its direction by toggling Reverse. Once the arc is converted to an editable spline, you can use Reverse at the Spline sub-object level to reverse direction. Splines and Extended Splines | 529 Donut Spline Create panel ➤ Donut (Shapes) ➤ Splines ➤ Object Type rollout ➤ Create menu ➤ Shapes ➤ Donut Use Donut to create closed shapes from two concentric circles. Each circle is made of four vertices. Example of donut Procedures To create a donut: 1 Go to the Create panel and turn on (Shapes). 2 Click Donut. 3 Choose a creation method. 4 Drag and release the mouse button to define the first donut circle. 5 Move the mouse and then click to define the radius of the second concentric donut circle. The second circle can be larger or smaller than the first. 530 | Chapter 6 Creating Geometry Interface Rendering and Interpolation rollouts All spline-based shapes share these parameters. See Splines on page 511 for explanations of these parameters. Creation Method rollout The Donut shape uses the standard creation methods of Center or Edge. Most spline-based shapes share the same Creation Method parameters. See Splines on page 511 for an explanation of these parameters. Parameters rollout Once you have created a donut, you can make changes using the following parameters: Radius 1 Sets the radius of the first circle. Radius 2 Sets the radius of the second circle. NGon Spline Create panel ➤ (Shapes) ➤ Splines ➤ Object Type rollout ➤ NGon Create menu ➤ Shapes ➤ NGon Use NGon to create closed flat-sided or circular splines with any number (N) of sides or vertices. Splines and Extended Splines | 531 Examples of NGons Procedures To create an NGon: 1 Go to the Create panel and turn on (Shapes). 2 Click NGon. 3 Choose a creation method. 4 Drag and release the mouse button in a viewport to draw the NGon. Interface Rendering and Interpolation rollouts All spline-based shapes share these parameters. See Splines on page 511 for an explanation of these parameters. Creation Method rollout The NGon shape uses the standard creation methods of Center or Edge. Most spline-based shapes share the same Creation Method parameters. See Splines on page 511 for an explanation of these parameters. 532 | Chapter 6 Creating Geometry Parameters rollout Once you have created an NGon, you can make changes using the following parameters: Radius Specifies the NGon radius. You can use either of two methods to specify the radius: ■ InscribedThe radius from the center to the corners of the NGon ■ CircumscribedThe radius from the center to the sides of the NGon. Sides Specifies the number of sides and vertices used by the NGon. Range=3 to 100. Corner Radius Specifies the degree of rounding to apply to the corners of the NGon. A setting of 0 specifies a standard unrounded corner. Circular When on, specifies a circular NGon. Star Spline Create panel ➤ (Shapes) ➤ Splines ➤ Object Type rollout ➤ Star Create menu ➤ Shapes ➤ Star Use Star to create closed star-shaped splines with any number of points. Star splines use two radiuses to set the distance between the outer points and inner valleys. Splines and Extended Splines | 533 Examples of stars Procedures To create a star: 1 Go to the Create panel and turn on (Shapes). 2 Click Star. 3 Drag and release the mouse button to define the first star radius. 4 Move the mouse and then click to define the second star radius. Interface Rendering and Interpolation rollouts All spline-based shapes share these parameters. See Splines on page 511 for explanations of these parameters. Parameters rollout Once you have created a star, you can make changes using the following parameters: 534 | Chapter 6 Creating Geometry Radius 1 Specifies the radius of the inner vertices (the valley) of the star. Radius 2 Specifies the radius of the outer vertices (the points) of the star. Points Specifies the number of points on the star. Range=3 to 100. A star has twice as many vertices as the specified number of points. Half the vertices lie on one radius, forming points, and the remaining vertices lie on the other radius, forming valleys. Distortion Rotates the outer vertices (the points) about the center of the star. This produces a sawtooth affect. Fillet Radius 1 Rounds the inner vertices (the valleys) of the star. Fillet Radius 2 Rounds the outer vertices (the points) of the star. Text Spline Create panel ➤ (Shapes) ➤ Splines ➤ Object Type rollout ➤ Text Create menu ➤ Shapes ➤ Text Use Text to create splines in the shape of text. The text can use any Windows font installed on your system, or a Type 1 PostScript font installed in the directory pointed to by the Fonts path on the Configure System Paths dialog on page 8881. Because fonts are loaded only at first use, changing the font path later has no immediate effect: once you have used the font manager, you must restart 3ds Max before you can use a new font path. Examples of text Splines and Extended Splines | 535 You can edit the text in the Create panel, or later in the Modify panel. Using Text Shapes Text shapes maintain the text as an editable parameter. You can change the text at any time. If the font used by your text is deleted from the system, 3ds Max still properly displays the text shape. However, to edit the text string in the edit box you must choose an available font. The text in your scene is just a shape where each letter and, in some cases, pieces of each letter are individual splines. You can apply modifiers like Edit Spline on page 1368, Bend on page 1104, and Extrude on page 1369 to edit Text shapes just like any other shape. Procedures To create text: 1 Go to the Create panel and turn on (Shapes). 2 Click Text. 3 Enter text in the Text box. 4 Do either of the following to define an insertion point: ■ Click in a viewport to place the text in the scene. ■ Drag the text into position and release the mouse button. To enter a special Windows character: 1 Hold down the Alt key. 2 Enter the character's numeric value on the numeric keypad. You must use the numeric keypad, not the row of numbers above the alphabetic keys. For some characters, you must enter a leading zero. For example, 0233 to enter an e with an acute accent. 3 Release the Alt key. 536 | Chapter 6 Creating Geometry Interface Settings available for text include kerning, leading, justification, multiple lines, and a manual update option. Rendering and Interpolation rollouts All spline-based shapes share these parameters. See Splines on page 511 for an explanation of these parameters. Parameters rollout Once you have created text, you can make changes using the following parameters: Font list Choose from a list of all available fonts. Available fonts include: ■ Fonts installed in Windows. ■ Type 1 PostScript fonts located in the directory pointed to by the Fonts path on the Configure System Paths dialog on page 8881. Splines and Extended Splines | 537 Italic style button Toggles italicized text. Underline style button Toggles underlined text. Align Left Aligns text to the left side of its bounding box. Center Aligns text to the center of its bounding box. Align Right Aligns text to the right side of its bounding box. Justify Spaces all lines of text to fill the extents of the bounding box. NOTE The four text-alignment buttons require multiple lines of text for effect because they act on the text in relation to its bounding box. If there's only one line of text, it's the same size as its bounding box. Size Sets the text height where the height measuring method is defined by the active font. The first time you enter text, the default size is 100 units. Kerning Adjusts the kerning (the distance between letters). Leading Adjusts the leading (the distance between lines). This has an effect only when multiple lines of text are included in the shape. Text edit box Allows for multiple lines of text. Press Enter after each line of text to start the next line. ■ The initial session default is "VIZ Text." ■ The initial session default is "MAX Text." ■ The edit box does not support word wrap. ■ You can cut and paste single- and multi-line text from the Clipboard. 538 | Chapter 6 Creating Geometry Update group These options let you select a manual update option for situations where the complexity of the text shape is too high for automatic updates. Update Updates the text in the viewport to match the current settings in the edit box. This button is available only when Manual Update is on. Manual Update When on, the text that you type into the edit box is not shown in the viewport until you click the Update button. Helix Spline Create panel ➤ (Shapes) ➤ Splines ➤ Object Type rollout ➤ Helix Create menu ➤ Shapes ➤ Helix Use Helix to create open flat or 3D helices or spirals. Examples of helixes Procedures To create a helix: 1 Go to the Create panel and turn on (Shapes). 2 Click Helix. 3 Choose a creation method. 4 Press the mouse button to define the first point of the Helix start circle. Splines and Extended Splines | 539 5 Drag and release the mouse button to define the second point of the Helix start circle. 6 Move the mouse and then click to define the height of the Helix. 7 Move the mouse and then click to define the radius of the Helix end. Interface Rendering rollout All spline-based shapes share these parameters. See Splines on page 511 for explanations of these parameters. Interpolation The helix differs from other spline-based shapes in that it always uses adaptive interpolation: the number of vertices in a helix is determined by the number of turns. Creation Method rollout The Helix shape uses the standard creation methods of Center or Edge. Most spline-based shapes share the same Creation Method parameters. See Splines on page 511 for an explanation of these parameters. Parameters rollout Once you have created a helix, you can make changes using the following parameters: Radius 1 Specifies the radius for the Helix start. Radius 2 Specifies the radius for the Helix end. 540 | Chapter 6 Creating Geometry Height Specifies the height of the Helix. Turns Specifies the number of turns the Helix makes between its start and end points. Bias Forces the turns to accumulate at one end of the helix. Bias has no visible affect when the height is 0.0. Helical spline varied only by bias settings ■ A bias of –1.0 forces the turns toward the start of the helix. ■ A bias of 0.0 evenly distributes the turns between the ends. ■ A bias of 1.0 forces the turns toward the end of the helix. CW/CCW The direction buttons set whether the Helix turns clockwise (CW) or counterclockwise (CCW). Section Spline Create panel ➤ Section (Shapes) ➤ Splines ➤ Object Type rollout ➤ Create menu ➤ Shapes ➤ Section Section is a special type of spline that generates shapes based on a cross-sectional slice through mesh objects. The Section object appears as a bisected rectangle. You simply move and rotate it to slice through one or more mesh objects, and then click the Create Shape button to generate a shape based on the 2D intersection. Splines and Extended Splines | 541 Red line shows the section shape based on the structure. Procedures To create and use a section shape: 1 Go to the Create panel and turn on (Shapes). 2 Click Section. 3 Drag a rectangle in the viewport in which you want to orient the plane. (For example, create it in the Top viewport to place the Section object parallel with the XY home grid.) The Section object appears as a simple rectangle with crossed lines indicating its center. With the default settings, the rectangle is for display purposes only, because the effect of the Section object extends along its plane to the full extents of the scene. 4 Move and rotate the section so that its plane intersects mesh objects in the scene. Yellow lines are displayed where the sectional plane intersects objects. 542 | Chapter 6 Creating Geometry 5 On the Create panel, turn on resulting dialog, and click OK. (Shapes), enter a name in the An editable spline on page 554 is created, based on the displayed cross sections. Interface Rendering and Interpolation rollouts All spline-based shapes share these parameters. See Splines on page 511 for an explanation of these parameters. Section Parameters rollout Create Shape Creates a shape based on the currently displayed intersection lines. A dialog is displayed in which you can name the new object. The resulting shape is an editable spline consisting of curve segments and corner vertices, based on all intersected meshes in the scene. Splines and Extended Splines | 543 Update group Provides options for specifying when the intersection line is updated. When Section Moves Updates the intersection line when you move or resize the Section shape. When Section Selected Updates the intersection line when you select the section shape, but not while you move it. Click the Update Section button to update the intersection. Manually Updates the intersection line only when you click the Update Section button. Update Section Updates the intersection to match the current placement of the Section object when using When Section Selected or Manually option. NOTE When using When Section Selected or Manually, you can offset the generated cross section from the position of the intersected geometry. As you move the section object, the yellow cross-section lines move with it, leaving the geometry behind. When you click Create Shape, the new shape is generated at the displayed cross-section lines in the offset position. Section Extents group Choose one of these options to specify the extents of the cross-section generated by the section object. Infinite The section plane is infinite in all directions, resulting in a cross section at any mesh geometry in its plane. Section Boundary The cross-section is generated only in objects that are within or touched by the boundary of the section shape. Off No cross section is displayed or generated. The Create Shape button is disabled. Color swatch Click this to set the display color of the intersection. Section Size rollout 544 | Chapter 6 Creating Geometry Provides spinners that let you adjust the length and width of the displayed section rectangle. Length/Width Adjust the length and width of the displayed section rectangle. NOTE If you convert the section grid to an editable spline, it's converted to a shape based on the current cross section. Extended Splines Extended splines are enhancements to the original spline set. WRectangle Spline Create panel ➤ rollout ➤ WRectangle (Shapes) ➤ Extended Splines ➤ Object Type Create menu ➤ Shapes ➤ WRectangle Use WRectangle to create closed shapes from two concentric rectangles. Each rectangle is made of four vertices. The WRectangle is similar to the Donut tool except it uses rectangles instead of circles. WRectangle stands for “walled rectangle”. Example of WRectangle Procedures To create a wrectangle: 1 Go to the Create panel and turn on (Shapes). 2 Open the Shapes List and choose Extended Splines. Extended Splines | 545 3 Click WRectangle. 4 Drag and release the mouse button to define the outer rectangle. 5 Move the mouse and then click to define the inner rectangle. Interface Rendering and Interpolation rollouts All spline-based shapes share these parameters. For explanations, see Splines and Extended Splines on page 511. Creation Method rollout The WRectangle shape uses the standard creation methods of Center or Edge. Most spline-based shapes share the same Creation Method parameters. For explanations, see Splines and Extended Splines on page 511. Parameters rollout Length Controls the height of the wrectangle section. Width Controls the width of the wrectangle section. Thickness Controls the thickness of the walls of the wrectangle. Sync Corner Fillets When turned on, Corner Radius 1 controls the radius of both the interior and exterior corners of the wrectangle. It also maintains the thickness of the section. Default=on. Corner Radius 1 Controls the radius of all four interior and exterior corners of the section. 546 | Chapter 6 Creating Geometry If Sync Corner Fillets is turned off, Corner Radius 1 controls the radius of the four exterior corners of the wrectangle. Corner Radius 2 Controls the radius of the four interior corners of the wrectangle. Corner Radius 2 is only available when Sync Corner Fillets is turned off. NOTE Take care when adjusting these settings. There are no constraining relationships between them. Therefore, it's possible to set an inside radius (Corner Radius 2) that is greater than the length and width of the sides. Channel Spline Create panel ➤ rollout ➤ Channel (Shapes) ➤ Extended Splines ➤ Object Type Create menu ➤ Shapes ➤ Channel Use Channel to create a closed “C” shaped spline. You have the option to specify the interior and exterior corners between the vertical web and horizontal legs of the section. Example of Channel Procedures To create a channel: 1 Go to the Create panel and turn on (Shapes). 2 Open the Shapes List and select Extended Splines. 3 Click Channel. Extended Splines | 547 4 Drag and release the mouse button to define the outer perimeter of the channel. 5 Move the mouse and then click to define the thickness of the walls of the channel. Interface Rendering and Interpolation rollouts All spline-based shapes share these parameters. For explanations, see Splines and Extended Splines on page 511. Creation Method rollout The Channel shape uses the standard creation methods of Center or Edge. Most spline-based shapes share the same Creation Method parameters. For explanations, see Splines and Extended Splines on page 511. Parameters rollout Length Controls the height of the vertical web of the channel. Width Controls the width of the top and bottom horizontal legs of the channel. Thickness Controls the thickness of both legs of the angle. Sync Corner Fillets When turned on, Corner Radius 1 controls the radius of both the interior and exterior corners between the vertical web and horizontal legs. It also maintains the thickness of the channel. Default=on. 548 | Chapter 6 Creating Geometry Corner Radius 1 Controls the exterior radius between the vertical web and horizontal legs of the channel. Corner Radius 2 Controls the interior radius between the vertical web and horizontal legs of the channel. NOTE Take care when adjusting these settings. There are no constraining relationships between them. Therefore, it's possible to set an inside radius (Corner Radius 2) that is greater than the length of the web or width of the legs. Angle Spline Create panel ➤ rollout ➤ Angle (Shapes) ➤ Extended Splines ➤ Object Type Create menu ➤ Shapes ➤ Angle Use Angle to create a closed “L” shaped spline. You have the option to specify the radii of the corners between the vertical and horizontal legs of the section. Example of Angle Procedures To create an Angle spline: 1 Go to the Create panel and turn on (Shapes). 2 Open the Shapes List and select Extended Splines. 3 Click Angle. 4 Drag and release the mouse button to define the initial size of the angle. Extended Splines | 549 5 Move the mouse and then click to define the thickness of the walls of the angle. Interface Rendering and Interpolation rollouts All spline-based shapes share these parameters. For explanations, see Splines and Extended Splines on page 511. Creation Method rollout The Angle shape uses the standard creation methods of Center or Edge. Most spline-based shapes share the same Creation Method parameters. For explanations, see Splines and Extended Splines on page 511. Parameters rollout Length Controls the height of the vertical leg of the angle. Width Controls the width of the horizontal leg of the angle. Thickness Controls the thickness of both legs of the angle. Sync Corner Fillets When turned on, Corner Radius 1 controls the radius of both the interior and exterior corners between the vertical and horizontal legs. It also maintains the thickness of the section. Default=on. Corner Radius 1 Controls the exterior radius between the vertical and horizontal legs of the angle. 550 | Chapter 6 Creating Geometry Corner Radius 2 Controls the interior radius between the vertical and horizontal legs of the angle. Edge Radii Controls the interior radius at the outermost edges of the vertical and horizontal legs. NOTE Take care when adjusting these settings. There are no constraining relationships between them. Therefore, it's possible to set an inside radius (Corner Radius 2) that is greater than the length or width of the legs of the angle. Tee Spline Create panel ➤ rollout ➤ Tee (Shapes) ➤ Extended Splines ➤ Object Type Create menu ➤ Shapes ➤ Tee Use Tee to create a closed T-shaped spline. You can specify the radius of the two interior corners between the vertical web and horizontal flange of the section. Example of Tee Procedures To create a Tee spline: 1 Go to the Create panel and turn on (Shapes). 2 Open the Shapes List and select Extended Splines. 3 Click Tee. 4 Drag and release the mouse button to define the initial size of the tee. Extended Splines | 551 5 Move the mouse and then click to define the thickness of the walls of the tee. Interface Rendering and Interpolation rollouts All spline-based shapes share these parameters. For explanations, see Splines and Extended Splines on page 511. Creation Method rollout The Tee shape uses the standard creation methods of Center or Edge. Most spline-based shapes share the same Creation Method parameters. For explanations, see Splines and Extended Splines on page 511. Parameters rollout Length Controls the height of the vertical web of the tee. Width Controls the width of the flange crossing the tee. Thickness Controls the thickness of the web and flange. Corner Radius Controls the radius of the two interior corners between the vertical web and horizontal flange of the section. NOTE Take care when adjusting these settings. There are no constraining relationships between them. Therefore, it's possible to set a radius (Corner Radius) that is greater than the length of the web or width of the flange. 552 | Chapter 6 Creating Geometry Wide Flange Spline Create panel ➤ rollout ➤ Wide Flange (Shapes) ➤ Extended Splines ➤ Object Type Create menu ➤ Shapes ➤ Wide Flange Use Wide Flange to create a closed spline shaped like a capital letter I. You can specify the interior corners between the vertical web and horizontal flanges of the section. Example of Wide Flange Procedures To create a Wide Flange spline: 1 Go to the Create panel and turn on (Shapes). 2 Open the Shapes List and select Extended Splines. 3 Click Wide Flange. 4 Drag and release the mouse button to define the initial size of the wide flange. 5 Move the mouse and then click to define the thickness of the walls of the wide flange. Interface Rendering and Interpolation rollouts All spline-based shapes share these parameters. For explanations, see Splines and Extended Splines on page 511. Extended Splines | 553 Creation Method rollout The Wide Flange shape uses the standard creation methods of Center or Edge. Most spline-based shapes share the same Creation Method parameters. For explanations, see Splines and Extended Splines on page 511. Parameters rollout Length Controls the height of the vertical web of the wide flange. Width Controls the width of the horizontal flanges crossing the wide flange. Thickness Controls the thickness of the web and flanges. Corner Radius Controls the radius of the four interior corners between the vertical web and horizontal flanges. NOTE Take care when adjusting these settings. There are no constraining relationships between them. Therefore, it's possible to set a radius (Corner Radius) that is greater than the length of the web or width of the flanges. Editable Spline Create or select a spline ➤ Modify panel ➤ Right-click spline entry in the stack display ➤ Convert To: Editable Spline Create a line ➤ Modify panel Create or select a spline ➤ Right-click the spline ➤ Transform (lower-right) quadrant of the quad menu ➤ Convert To: ➤ Convert to Editable Spline Editable Spline provides controls for manipulating an object as a spline object and at three sub-object levels: vertex, segment, and spline. 554 | Chapter 6 Creating Geometry The functions in Editable Spline are the same as those in the Edit Spline modifier on page 1368. The exception is that when you convert an existing spline shape to an editable spline, the creation parameters are no longer accessible or animatable. However, the spline's interpolation settings (step settings) remain available in the editable spline. When a spline-editing operation (typically, moving a segment or vertex) causes end vertices to overlap, you can use the Weld on page 574command to weld the overlapping vertices together or the Fuse on page 575 command if you want the two overlapping vertices to occupy the same point in space but remain separate vertices. NOTE Welding coincident vertices is controlled by the End Point Auto-Welding feature on page ?. Show End Result If you have several modifiers higher in the modifier stack, and want to see the results of edits in an Edit Spline modifier or Editable Spline object, then turn on Show End Result on the Modify panel. As you edit the spline network, you’ll be able to see the result of modifiers above the Editable Spline object. This is useful for Surface Tools work where you add a Surface modifier above an Editable Spline object in the modifier stack. See also: ■ Edit Modifiers and Editable Objects on page 990 ■ Modifying at the Sub-Object Level on page 991 ■ Modifier Stack Controls on page 8776 Procedures To produce an editable spline object, first select the shape, and then do one of the following: 1 Right-click the shape entry in the stack display and choose Convert To: Editable Spline. 2 In a viewport, right-click the object and choose Convert To: ➤ Convert to Editable Spline from the Transform (lower-right) quadrant of the quad menu. Editable Spline | 555 3 Create a shape with two or more splines by first turning off Start New Shape (on the Create panel). Any shape made up of two or more splines is automatically an editable spline. 4 Apply an Edit Spline modifier to a shape, and then collapse the stack. If you use the Collapse utility on page 1974 to collapse the stack, be sure to choose Output Type ➤ Modifier Stack Result. 5 Import a .shp file. 6 Merge a shape from a 3ds Max file. To select shape sub-objects: 1 Expand the object's hierarchy in the stack display and choose a sub-object level, or click one of the sub-object buttons at the top of the Selection rollout. You can also right-click the object in the viewports and choose a sub-object level from the quad menu: Tools 1 (upper-left) quadrant ➤ Sub-objects ➤ Choose the sub-object level. 2 Click a selection or transform tool, and then select sub-objects using standard click or region-selection techniques. Because sub-object selections can be complex, you might consider using one of the following techniques to prevent clearing the sub-object selection by accident: ■ Use Lock Selection on page 8667. ■ Name the sub-object selection (see Named Selection Sets List on page 163). To clone sub-object selections: ■ Hold down the Shift key while transforming the sub-objects. You can clone segment and spline sub-objects, but not vertices. To draw a spline cage: 1 Select a segment sub-object on a spline. 2 On the Geometry rollout in the Connect Copy group, turn on Connect. 3 Hold down the Shift key and transform the selected segment. You can move, rotate or scale using the transform gizmo to control the direction. 556 | Chapter 6 Creating Geometry Notice that with Connect Copy on, new splines are drawn between the locations of the segment and its clone. TIP Use Area Selection or Fuse before selecting and moving these vertices. They will not move together as they do with the Cross-Section modifier. Or use Fuse to keep the vertices together. Interface The following controls are available at the object (top) level and at all sub-object levels. Rendering and Interpolation rollouts These creation parameters appear in these rollouts for editable splines. For splines to which the Edit Spline modifier has been applied, creation parameters are available by selecting the object type entry (for example, Circle or NGon) at the bottom of the modifier stack on page 8776. Editable Spline | 557 Rendering rollout Controls here let you turn on and off the renderability of the shape, specify its thickness in the rendered scene, and apply mapping coordinates. The spline mesh can be viewed in the viewports. You can animate the render parameters, such as the number of sides. Viewport settings cannot be animated. You can also convert the displayed mesh into a mesh object by applying an Edit Mesh modifier or converting to an Editable Mesh. The system will use the Viewport settings for this mesh conversion if Use Viewport Settings is turned on; otherwise it will use the Renderer settings. This gives maximum flexibility, and will always give the conversion of the mesh displayed in the viewports. Enable In Renderer When on, the shape is rendered as a 3D mesh using the Radial or Rectangular parameters set for Renderer. Enable In Viewport When on, the shape is displayed in the viewport as a 3D mesh using the Radial or Rectangular parameters set for Renderer. 558 | Chapter 6 Creating Geometry Use Viewport settings Lets you set different rendering parameters, and displays the mesh generated by the Viewport settings. Available only when Enable in Viewport is turned on. Generate Mapping Coords Turn this on to apply mapping coordinates. Default=off. The U coordinate wraps once around the thickness of the spline; the V coordinate is mapped once along the length of the spline. Tiling is achieved using the Tiling parameters in the material itself. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Viewport Choose this to specify Radial or Rectangular parameters for the shape as it will display in the viewport when Enable In Viewport is turned on. Renderer Choose this to specify Radial or Rectangular parameters for the shape as it will display when rendered or when viewed in the viewport when Enable In Viewport is turned on. Radial Displays the 3D mesh as a cylindrical object. ■ ThicknessSpecifies the diameter of the viewport or rendered spline mesh. Default=1.0. Range=0.0 to 100,000,000.0. Splines rendered at thickness of 1.0 and 5.0, respectively ■ SidesSets the number of sides (or facets) for the spline mesh n the viewport or renderer. For example, a value of 4 results in a square cross section. Editable Spline | 559 ■ AngleAdjusts the rotational position of the cross-section in the viewport or renderer. For example, if the spline mesh has a square cross section you can use Angle to position a "flat" side down. Rectangular Displays the spline's mesh shape as rectangular. ■ AspectSets the aspect ratio for rectangular cross-sections. The Lock check box lets you lock the aspect ratio. When Lock is turned on, Width is locked to Depth that results in a constant ratio of Width to Depth. ■ LengthSpecifies the size of the cross–section along the local Y axis. ■ WidthSpecifies the size of the cross–section along the local X axis. ■ AngleAdjusts the rotational position of the cross-section in the viewport or renderer. For example, if you have a square cross-section you can use Angle to position a "flat" side down. ■ AspectThe ratio of length to width. This control is linked to the Length setting; when Aspect is unlocked, changing Length changes Aspect and vice-versa. When Aspect is locked, the control is unavailable, and changing Length or Width automatically changes the Width or Length (respectively) to maintain the current aspect ratio. Auto Smooth When on, the spline is auto-smoothed using the threshold specified by the Threshold setting. Auto Smooth sets the smoothing based on the angle between spline segments. Any two adjacent segments are put in the same smoothing group if the angle between them is less than the threshold angle. Threshold Specifies the threshold angle in degrees. Any two adjacent spline segments are put in the same smoothing group if the angle between them is less than the threshold angle. Interpolation rollout The Interpolation controls set how 3ds Max generates a spline. All spline curves are divided into small straight lines that approximate the true curve. 560 | Chapter 6 Creating Geometry The number of divisions between each vertex on the spline is called steps. The more steps used, the smoother the curve appears. Splines used in above lathed objects contained two steps (left) and 20 steps (right) Steps Use the Steps field to set the number of divisions, or steps, 3ds Max uses between each vertex. Splines with tight curves require many steps to look smooth while gentle curves require fewer steps. Range=0 to 100. Spline steps can be either adaptive or manually specified. The method used is set by the state of the Adaptive check box. The main use for manual interpolation is to create splines for morphing or other operations where you must have exact control over the number of vertices created. Optimize When on, removes unneeded steps from straight segments in the spline. Default=on. NOTE Optimize is not available when Adaptive is on. Optimize was used to create spline in this lathed object. Editable Spline | 561 Adaptive When on, automatically sets the number of steps for each spline to produce a smooth curve. Straight segments always receive 0 steps. When off, enables manual interpolation control using Optimize and Steps. Default=off. Selection rollout Provides controls for turning different sub-object modes on and off, working with named selections and handles, display settings, and information about selected entities. When you first access the Modify panel with an editable spline selected, you're at the Object level, with access to several functions available as described in Editable Spline (Object) on page 565. You can toggle the sub-object modes and access relevant functions by clicking sub-object buttons at the top of the Selection rollout. You can work with parts of shapes and splines using shape sub-object selection of the Editable Spline object. Clicking a button here is the same as selecting a sub-object type in the Modifier List. Click the button again to turn it off and return to object selection level. Vertices Define points and curve tangents. 562 | Chapter 6 Creating Geometry Segments Connect vertices. Splines Are a combination of one or more connected segments. Named Selections group Copy Places a named selection into the copy buffer. Paste Pastes a named selection from the copy buffer. Lock Handles Normally you can transform the tangent handles of only one vertex at a time, even when multiple vertices are selected. Use the Lock Handles controls to transform multiple Bezier and Bezier Corner handles simultaneously. Alike As you drag the handle of an incoming vector, all incoming vectors of the selected vertices move simultaneously. Likewise, moving the outgoing tangent handle on one vertex moves the outgoing tangent handle for all selected vertices. All Any handle you move affects all handles in the selection, regardless of whether they're broken. This option is also useful when working with a single Bezier Corner vertex when you want to move both handles. Shift+click a handle to "break" the tangent and move each handle independently. The Alike option must be chosen to break the tangent. Area Selection Lets you select automatically all vertices within a specific radius of the vertex you click. At the Vertex sub-object level, turn on Area Selection, and then set the radius with the spinner to the right of the Area Selection check box. This is useful when moving vertices that have been created using Connect Copy or Cross Section button. Segment End Select a vertex by clicking a segment. In Vertex sub-object, turn on and select a segment close to the vertex that you want selected. Use this when there are a number of coincident vertices and you want to select a vertex on a specific segment. The cursor changes to a cross when it is over a segment. By holding down the Ctrl key you can add to the selection. Select By Selects vertices on the selected spline or segment. First select a spline or segment in sub-object spline or segment, then turn on vertex sub-object and click Select By and choose Spline or Segment. All the vertices on the selected spline or segment are selected. You can then edit the vertices. Editable Spline | 563 Display group Show Vertex Numbers When on, 3ds Max displays vertex numbers next to the selected spline's vertices at any sub-object level. Selected Only When on, the vertex number or numbers appear only next to selected vertices. Soft Selection For information on the Soft Selection rollout settings, see Soft Selection Rollout on page 1966. Selection Info At the bottom of the Selection rollout is a text display giving information about the current selection. If 0 or more than one sub-object is selected, the text gives the number selected. At the Vertex and Segment sub-object levels, if one sub-object is selected, the text gives the identification numbers of the current spline (with respect to the current object) and of the current selected sub-object. Each spline object contains a spline number 1; if it contains more than one spline, the subsequent splines are numbered consecutively higher. When a single spline is selected at the Spline sub-object level, the first line displays the identification number of the selected spline and whether it's open or closed, and the second line displays the number of vertices it contains. When more than one spline is selected, the number of splines selected is displayed on the first line, and the total number of vertices they contain is displayed on the second line. Geometry rollout The Geometry rollout provides functions for editing a spline object and sub-objects. The functions available at the spline object level (when no sub-object level is active; see Editable Spline (Object) on page 565) are also available at all sub-object levels, and work exactly the same at each level. Other functions are also available, depending on which sub-object level is active. Those that apply to other sub-object levels are unavailable. 564 | Chapter 6 Creating Geometry Editable Spline (Object) Select an editable spline ➤ Modify panel ➤ Editable spline (not a sub-object level) selected in the modifier stack Select an editable spline ➤ Right-click the spline ➤ Tools 1 (upper-left) quadrant of the quad menu ➤ Sub-objects ➤ Top-level The functions available at the editable spline object level (that is, when no sub-object level is active) are also available at all sub-object levels, and work exactly the same at each level. Interface Rendering, Interpolation, and Selection rollouts See the Editable Spline topic for information on the Rendering and Interpolation rollouts on page 557, and Selection rollout on page 562 settings. Geometry rollout Editable Spline | 565 New Vertex Type group The radio buttons in this group let you determine the tangency of the new vertices created when you Shift+Clone segments or splines. If you later use Connect Copy, vertices on the splines that connect the original segment or spline to the new one will have the type specified in this group. This setting has no effect on the tangency of vertices created using tools such as the Create Line button, Refine, and so on. ■ LinearNew vertices will have linear tangency. ■ SmoothNew vertices will have smooth tangency. When this option is chosen, new vertices that overlap are automatically welded. ■ BezierNew vertices will have bezier tangency. ■ Bezier CornerNew vertices will have bezier corner tangency. Create Line Adds more splines to the selected spline. These lines are separate spline sub-objects; create them in the same way as the line spline on page 518. To exit line creation, right-click or click to turn off Create Line. Break Splits a spline at the selected vertex or vertices. Select one or more vertices and then click Break to create the split. There are now two superimposed non-connected vertices for every previous one, allowing the once-joined segment ends to be moved away from each other. Attach Lets you attach another spline in the scene to the selected spline. Click the object you want to attach to the currently selected spline object. The object you're attaching to must also be a spline. Unattached splines (left) and attached splines (right) 566 | Chapter 6 Creating Geometry When you attach an object, the materials of the two objects are combined in the following way: ■ If the object being attached does not have a material assigned, it inherits the material of the object it is being attached to. ■ Likewise if the object you're attaching to doesn't have a material, it inherits the material of the object being attached. ■ If both objects have materials, the resulting new material is a multi/sub-object material on page 6542 that encompasses the input materials. A dialog appears offering three methods of combining the objects' materials and material IDs. For more information, see Attach Options Dialog on page 2232. Attached shapes lose their identity as individual shapes, with the following results: ■ The attached shape loses all access to its creation parameters. For example, once you attach a circle to a square you cannot go back and change the radius parameter of the circle. ■ The modifier stack of the attached shape is collapsed. Any edits, modifiers, and animation applied to the attached shape are frozen at the current frame. Reorient When on, rotates the attached spline so that its creation local coordinate system is aligned with the creation local coordinate system of the selected spline. Attach Mult. Click this button to display the Attach Multiple dialog, which contains a list of all other shapes in the scene. Select the shapes you want to attach to the current editable spline, then click OK. Cross Section Creates a spline cage out of cross-sectional shapes. Click Cross Section, select one shape then a second shape, splines are created joining the first shape with the second. Continue clicking shapes to add them to the cage. This functionality is similar to the Cross Section modifier, but here you can determine the order of the cross sections. Spline cage tangency can be defined by choosing Linear, Bezier, Bezier Corner or Smooth in New Vertex Type group. End Point Auto-Welding group ■ Automatic WeldingWhen Automatic Welding is turned on, an end point vertex that is placed or moved within the threshold distance of another end point of the same spline is automatically welded. This feature is available at the object and all sub-object levels. Editable Spline | 567 ■ ThresholdA proximity setting that controls how close vertices can be to one another before they are automatically welded. Default=6.0. Insert Inserts one or more vertices, creating additional segments. Click anywhere in a segment to insert a vertex and attach the vertex to the mouse. Optionally move the mouse and then click to place the new vertex. Continue moving the mouse and clicking to add vertices. A single click inserts a corner vertex, while a drag creates a Bezier (smooth) vertex. Right-click to complete the operation and release the mouse. At this point, you're still in Insert mode, and can begin inserting vertices in a different segment. Otherwise, right-click again or click Insert to exit Insert mode. Editable Spline (Vertex) Select an editable spline ➤ Modify panel ➤ Expand the editable spline in the stack display ➤ Vertex sub-object level Select an editable spline ➤ Modify panel ➤ Selection rollout ➤ Vertex button Select an editable spline ➤ Right-click the spline ➤ Tools 1 (upper-left) quadrant of the quad menu ➤ Sub-objects ➤ Vertex While at the Editable Spline (Vertex) level, you can select single and multiple vertices and move them using standard methods. If the vertex is of the Bezier or Bezier Corner type, you can also move and rotate handles, thus affecting the shapes of any segments joined at the vertex. You can copy and paste the handles between vertices using tangent copy/paste. You can reset them or switch between types using the quad menu. The tangent types are always available on the quad menu when a vertex is selected; your cursor doesn't have to be directly over them in the viewport. Procedures To set a vertex type: 1 Right-click any vertex in a selection. 568 | Chapter 6 Creating Geometry 2 Choose a type from the shortcut menu. Each vertex in a shape can be one of four types: ■ Smooth: Nonadjustable vertices that create smooth continuous curves. The curvature at a smooth vertex is determined by the spacing of adjacent vertices. ■ Corner: Nonadjustable vertices that create sharp corners. ■ Bezier: Adjustable vertex with locked continuous tangent handles that create a smooth curve. The curvature at the vertex is set by the direction and magnitude of the tangent handles. ■ Bezier Corner: Adjustable vertex with discontinuous tangent handles that create a sharp corner. The curvature of the segment as it leaves the corner is set by the direction and magnitude of the tangent handles. Smooth vertex (left) and Corner vertex (right) Editable Spline | 569 To copy and paste vertex tangent handles: 1 Turn on copy from. (Vertex), then select the vertex you want to 2 On the Geometry rollout scroll down to the Tangent group and click Copy. 3 Move your cursor over the vertices in the viewport. The cursor changes to a copy cursor. Click the handle you wish to copy. 4 On the Geometry rollout scroll down to the Tangent group and click Paste. 5 Move your cursor over the vertices in the viewport. The cursor changes to a paste cursor. Click the handle you wish to paste to. The vertex tangency changes in the viewport. To reset vertex handle tangency: It is easy to make the handles very small and coincident with the vertex, which makes them hard to select and edit. Reset the vertex handle tangency to redraw your handles 1 Select the vertex that is problematic. 2 Right-click and choose Reset Tangents. Any vertex handle editing you have done is discarded and the handles are reset. Interface Soft Selection rollout For information on the Soft Selection rollout settings, see Soft Selection Rollout on page 1966. 570 | Chapter 6 Creating Geometry Geometry rollout New Vertex Type group The radio buttons in this group let you determine the tangency of the new vertices created when you Shift+Clone segments or splines. If you later use Connect Copy, vertices on the splines that connect the original segment or spline to the new one will have the type specified in this group. This setting has no effect on the tangency of vertices created using tools such as the Create Line button, Refine, and so on. ■ LinearNew vertices will have linear tangency. ■ SmoothNew vertices will have smooth tangency. When this option is chosen, new vertices that overlap are automatically welded. ■ BezierNew vertices will have bezier tangency. ■ Bezier CornerNew vertices will have bezier corner tangency. _____ Create Line Adds more splines to the selected object. These lines are separate spline sub-objects; create them in the same way as the line spline on page 518. To exit line creation, right-click or click to turn off Create Line. Break Splits a spline at the selected vertex or vertices. Select one or more vertices and then click Break to create the split. There are now two superimposed non-connected vertices for every previous one, allowing the once-joined segment ends to be moved away from each other. Editable Spline | 571 Attach Attaches another spline in the scene to the selected spline. Click the object you want to attach to the currently selected spline object. The object you're attaching must also be a spline. For further details, see Attach on page 566. Attach Mult. Click this button to display the Attach Multiple dialog, which contains a list of all other shapes in the scene. Select the shapes you want to attach to the current editable spline, then click OK. ■ ReorientWhen on, reorients attached splines so that each spline's creation local coordinate system is aligned with the creation local coordinate system of the selected spline. Cross Section Creates a spline cage out of cross-sectional shapes. Click Cross Section, select one shape then a second shape, splines are created joining the first shape with the second. Continue clicking shapes to add them to the cage. This functionality is similar to the Cross Section modifier, but here you can determine the order of the cross sections. Spline cage tangency can be defined by choosing Linear, Bezier, Bezier Corner or Smooth in New Vertex Type group. TIP When you edit the spline cage, use Area Selection before selecting your vertices. This will keep their positions together as you transform them. Refine group The Refine group includes a number of functions useful for building spline networks for use with the Surface modifier on page 1711. Refine Lets you add vertices without altering the curvature values of the spline. Click Refine, and then select any number of spline segments to add a vertex each time you click (the mouse cursor changes to a "connect" symbol when over an eligible segment). To finish adding vertices, click Refine again, or right-click in the viewport. You can also click existing vertices during a refine operation, in which case 3ds Max displays a dialog asking if you want to Refine or Connect Only to the vertex. If you choose Connect Only, 3ds Max will not create a vertex: it simply connects to the existing vertex. 572 | Chapter 6 Creating Geometry The Refine operation creates a different type of vertex depending on the types of vertices on the endpoints of the segment being refined. ■ If the bordering vertices are both Smooth types, the Refine operation creates a Smooth type vertex. ■ If the bordering vertices are both Corner types, the Refine operation creates a Corner type vertex. ■ If either of the bordering vertices is a Corner or Bezier Corner, the Refine operation creates a Bezier Corner type. ■ Otherwise, the operation creates a Bezier type vertex. Connect When on, creates a new spline sub-object by connecting the new vertices. When you finish adding vertices with Refine, Connect makes a separate copy of each new vertex and then connects all of the copies with a new spline. NOTE For Connect to work, you must turn it on before you click Refine. After turning on Connect and before beginning the refinement process, turn on any combination of these options: ■ LinearWhen on, makes all segments in the new spline straight lines by using Corner vertices. When Linear is off, the vertices used to create the new spline are of the Smooth type. ■ Bind FirstCauses the first vertex created in a refinement operation to be bound to the center of the selected segment. See Bound Vertex on page 9113. ■ ClosedWhen on, connects the first and last vertices in the new spline to create a closed spline. When Closed is off, Connect always creates an open spline. ■ Bind LastCauses the last vertex created in a refinement operation to be bound to the center of the selected segment. See Bound Vertex on page 9113. End Point Auto-Welding group Editable Spline | 573 Automatic Welding When Automatic Welding is turned on, an end point vertex that is placed or moved within the threshold distance of another end point of the same spline is automatically welded. This feature is available at the object and all sub-object levels. Threshold The threshold distance spinner is a proximity setting that controls how close vertices can be to one another before they are automatically welded. Default=6.0. _____ Weld Converts two end vertices, or two adjacent vertices within the same spline, into a single vertex. Move either two end vertices or two adjacent vertices near each other, select both vertices, and then click Weld. If the vertices are within the unit distance set by the Weld Threshold spinner (to the right of the button), they're converted into a single vertex. You can weld a selection set of vertices, as long as each pair of vertices is within the threshold. Connect Connects any two end vertices, resulting in a linear segment, regardless of the tangent values of the end vertices. Click the Connect button, point the mouse over an end vertex until the cursor changes to a cross, and then drag from one end vertex to another end vertex. Insert Inserts one or more vertices, creating additional segments. Click anywhere in a segment to insert a vertex and attach the mouse to the spline. Then optionally move the mouse and click to place the new vertex. Continue moving the mouse and clicking to add vertices. A single click inserts a corner vertex, while a drag creates a Bezier (smooth) vertex. Right-click to complete the operation and release the mouse. At this point, you're still in Insert mode, and can begin inserting vertices in a different segment. Otherwise, right-click again or click Insert to exit Insert mode. 574 | Chapter 6 Creating Geometry Make First Specifies which vertex in the selected shape is the first vertex. The first vertex of a spline is indicated as a vertex with a small box around it. Select one vertex on each spline within the currently edited shape that you want to change and click the Make First button. On open splines, the first vertex must be the endpoint that is not already the first vertex. On closed splines, it can be any point that isn't already the first vertex. Click the Make First button, and the first vertices will be set. The first vertex on a spline has special significance. The following table defines how the first vertex is used. Shape Use First Vertex Meaning Loft Path Start of the path. Level 0. Loft Shape Initial skin alignment. Path Con- Start of the motion path. 0% location straint on the path. Trajectory First position key. Fuse Moves all selected vertices to their averaged center. Fuse is useful for making vertices coincide when building a spline network for use with the Surface modifier on page 1711. NOTE Fuse doesn't join the vertices; it simply moves them to the same location. Editable Spline | 575 Three selected vertices (left); fused vertices (right) Cycle Selects successive coincident vertices. Select one of two or more vertices that share the exact same location in 3D space, and then click Cycle repeatedly until the vertex you want is selected. Cycle is useful for selecting a specific vertex from a group of coincident vertices at a spline intersection when building a spline network for use with the Surface modifier on page 1711. TIP Watch the info display at the bottom of the Selection rollout to see which vertex is selected. CrossInsert Adds vertices at the intersection of two splines belonging to the same spline object. Click CrossInsert, and then click the point of intersection between the two splines. If the distance between the splines is within the unit distance set by the CrossInsert Threshold spinner (to the right of the button), the vertices are added to both splines. You can continue using CrossInsert by clicking different spline intersections. To finish, right-click in the active viewport or click the CrossInsert button again. CrossInsert is useful for creating vertices at spline intersections when building a spline network for use with the Surface modifier on page 1711. NOTE CrossInsert doesn't join the two splines, but simply adds vertices where they cross. 576 | Chapter 6 Creating Geometry Fillet Lets you round corners where segments meet, adding new control vertices. You can apply this effect interactively (by dragging vertices) or numerically (using the Fillet spinner). Click the Fillet button, and then drag vertices in the active object. The Fillet spinner updates to indicate the fillet amount as you drag. Original rectangle (left), after applying Fillet (top right), and after applying Chamfer (bottom right) If you drag one or more selected vertices, all selected vertices are filleted identically. If you drag an unselected vertex, any selected vertices are first deselected. You can continue using Fillet by dragging on different vertices. To finish, right-click in an active viewport or click the Fillet button again. A fillet creates a new segment connecting new points on both segments leading to the original vertex. These new points are exactlydistance Editable Spline | 577 from the original vertex along both segments. New fillet segments are created with the material ID of one of the neighboring segments (picked at random). For example, if you fillet one corner of a rectangle, the single corner vertex is replaced by two vertices moving along the two segments that lead to the corner, and a new rounded segment is created at the corner. NOTE Unlike the Fillet/Chamfer modifier, you can apply the Fillet function to any type of vertex, not just Corner and Bezier Corner vertices. Similarly, adjoining segments need not be linear. ■ Fillet AmountAdjust this spinner (to the right of the Fillet button) to apply a fillet effect to selected vertices. Chamfer Lets you bevel shape corners using a chamfer function. You can apply this effect interactively (by dragging vertices) or numerically (using the Chamfer spinner). Click the Chamfer button, and then drag vertices in the active object. The Chamfer spinner updates to indicate the chamfer amount as you drag. If you drag one or more selected vertices, all selected vertices are chamfered identically. If you drag an unselected vertex, any selected vertices are first deselected. You can continue using Chamfer by dragging on different vertices. To finish, right-click in an active viewport or click the Chamfer button again. A chamfer "chops off" the selected vertices, creating a new segment connecting new points on both segments leading to the original vertex. These new points are exactly distance from the original vertex along both segments. New chamfer segments are created with the material ID of one of the neighboring segments (picked at random). For example, if you chamfer one corner of a rectangle, the single corner vertex is replaced by two vertices moving along the two segments that lead to the corner, and a new segment is created at the corner. NOTE Unlike the Fillet/Chamfer modifier, you can apply the Chamfer function to any type of vertex, not just Corner and Bezier Corner vertices. Similarly, adjoining segments need not be linear. ■ Chamfer AmountAdjust this spinner (to the right of the Chamfer button) to apply a chamfer effect to selected vertices. 578 | Chapter 6 Creating Geometry Tangent group Tools in this group let you copy and paste vertex handles from one vertex to another. Copy Turn this on, then choose a handle. This action copies the selected handle tangent into a buffer. Paste Turn this on, then click a handle. This pastes the handle tangent onto the selected vertex. Paste Length When this is on, the handle length is also copied. When this is off, only the handle angle is considered, the handle length is unchanged. Hide and Bind group Hide Hides selected vertices and any connected segments. Select one or more vertices, and then click Hide. Unhide All Displays any hidden sub-objects. Bind Lets you create bound vertices on page 9113. Click Bind, and then drag from any end vertex in the current selection to any segment in the current selection except the one connected to the vertex. Before dragging, when the cursor is over an eligible vertex, it changes to a + cursor. While dragging, a dashed line connects the vertex and the current mouse position, and when the mouse cursor is over an eligible segment, it changes to a "connect" symbol. When you release over an eligible segment, the vertex jumps to the center of the segment and is bound to it. Bind is useful for connecting splines when building a spline network for use with the Surface modifier on page 1711. Unbind Lets you disconnect bound vertices on page 9113 from the segments to which they're attached. Select one or more bound vertices, and the click the Unbind button. Editable Spline | 579 Delete Deletes the selected vertex or vertices, along with one attached segment per deleted vertex. Display group Show selected segs When on, any selected segments are highlighted in red at the Vertex sub-object level. When off (the default), selected segments are highlighted only at the Segment sub-object level. This feature is useful for comparing complex curves against each other. Editable Spline (Segment) Select an editable spline ➤ Modify panel ➤ Expand the editable spline in the stack display ➤ Segment sub-object level Select an editable spline ➤ Modify panel ➤ Selection rollout ➤ Segment button Select an editable spline ➤ Right-click the spline ➤ Tools 1 (upper-left) quadrant of the quad menu ➤ Sub-objects ➤ Segment A segment is the portion of a spline curve between two of its vertices. While at the Editable Spline (Segment) level, you can select single and multiple segments and move, rotate, scale or clone them using standard methods. Procedures To change segment properties: 1 Select an editable spline segment, and then right-click. 2 On the Tools 1 (upper-left) quadrant of the quad menu, choose Line or Curve. 580 | Chapter 6 Creating Geometry The effect of changing segment properties varies according to the type of vertices at the segment end. ■ Corner vertices always result in line segments regardless of the segment property. ■ Smooth vertices can support both line or curve segment properties. ■ Bezier and Bezier Corner vertices apply their tangent handles only to curve segments. Tangent handles are ignored by line segments. ■ A tangent handle associated with a line segment displays an X at the end of the handle. You can still transform the handle, but it has no effect until the segment is converted to a curve segment. TIP If you have problems transforming the handles, display the axis constraints toolbar and change the transform axis there. Interface Rendering, Interpolation, and Selection rollouts For information on the Rendering, Interpolation on page 557 and Selection rollout on page 562 settings, see Editable Spline on page 554. Soft Selection rollout For information on the Soft Selection rollout settings, see Soft Selection Rollout on page 1966. Geometry rollout New Vertex Type group The radio buttons in this group let you determine the tangency of the new vertices created when you Shift+Clone segments or splines. If you later use Connect Copy, vertices on the splines that connect the original segment or spline to the new one will have the type specified in this group. Editable Spline | 581 This setting has no effect on the tangency of vertices created using tools such as the Create Line button, Refine, and so on. ■ LinearNew vertices will have linear tangency. ■ SmoothNew vertices will have smooth tangency. When this option is chosen, new vertices that overlap are automatically welded. ■ BezierNew vertices will have bezier tangency. ■ Bezier CornerNew vertices will have bezier corner tangency. _____ Create Line Adds more splines to the selected spline. These lines are separate spline sub-objects; create them in the same way as the line spline on page 518. To exit line creation, right-click or click to turn off Create Line. Break Lets you specify a break point at any segment in the shape (you do not have to first select a segment). When on, the mouse icon changes to a Break icon. You can now click any spot on a segment. The clicked spot becomes two coincident vertices, and the segment is split into two parts. Attach Attaches another spline in the scene to the selected spline. Click the object you want to attach to the currently selected spline object. The object you're attaching to must also be a spline. For further details, see Attach on page 566. Reorient Reorients the attached spline so that its creation local coordinate system is aligned with the creation local coordinate system of the selected spline. Attach Mult. Click this button to display the Attach Multiple dialog, which contains a list of all other shapes in the scene. Select the shapes you want to attach to the current editable spline, then click OK. Cross Section Creates a spline cage out of cross–sectional shapes. Click Cross Section, select one segment then another sub-object segment, splines are 582 | Chapter 6 Creating Geometry created joining the first shape with the second. Continue clicking segments to add them to the cage. All segments must be part of the same object to build cross sections. This functionality is similar to the Cross Section modifier, but here you can determine the order of the cross sections. Spline cage tangency can be defined by choosing Linear, Bezier, Bezier Corner or Smooth in New Vertex Type group. TIP When you want to move these vertices, turn on Area Selection before you select them. When you transform them, the vertices will stay together. Refine group The Refine group includes a number of functions useful for building spline networks for use with the Surface modifier on page 1711. Refine Lets you add vertices without altering the curvature values of the spline. Click Refine, and then select any number of spline segments to add a vertex each time you click (the mouse cursor changes to a "connect" symbol when over an eligible segment). To finish adding vertices, click Refine again, or right-click in the viewport. You can also click existing vertices during a refine operation, in which case 3ds Max displays a dialog asking if you want to Refine or Connect to the vertex. If you choose Connect, 3ds Max will not create a vertex: it simply connects to the existing vertex. The Refine operation creates a different type of vertex depending on the types of vertices on the endpoints of the segment being refined. ■ If the bordering vertices are both Smooth types, the Refine operation creates a Smooth type vertex. ■ If the bordering vertices are both Corner types, the Refine operation creates a Corner type vertex. ■ If either of the bordering vertices is a Corner or Bezier Corner, the Refine operation creates a Bezier Corner type. ■ Otherwise, the operation creates a Bezier type vertex. Editable Spline | 583 Connect When on, creates a new spline sub-object by connecting the new vertices. When you finish adding vertices with Refine, Connect makes a separate copy of each new vertex and then connects all of the copies with a new spline. NOTE For Connect to work, you must turn it on before you click Refine. After turning on Connect and before beginning the refinement process, turn on any combination of these options: ■ LinearWhen on, makes all segments in the new spline linear by using Corner vertices. When Linear is off, the vertices used to create the new spline are of the Smooth type. ■ Bind FirstCauses the first vertex created in a refinement operation to be bound to the center of the selected segment. For more information, see Bound Vertex on page 9113. ■ ClosedWhen on, connects the first and last vertices in the new spline to create a closed spline. When Closed is off, Connect always creates an open spline. ■ Bind LastCauses the last vertex created in a refinement operation to be bound to the center of the selected segment. For more information, see Bound Vertex on page 9113. Connect Copy group Connect Copy When on, Shift+cloning a segment creates a new spline sub-object with additional splines that connect the new segment's vertices to the vertices of the original segment. It is analogous to Shift+cloning edges in Editable Mesh and Editable Poly objects. NOTE For Connect Copy to work, you must turn it on before you Shift+Clone. Threshold Determines the distance soft selection will use when Connect Copy is on. A higher threshold results in more splines being created; a lower threshold results in fewer splines. 584 | Chapter 6 Creating Geometry End Point Auto-Welding group Automatic Welding When Automatic Welding is turned on, an end point vertex that is placed or moved within the threshold distance of another end point of the same spline is automatically welded. This feature is available at the object and all sub-object levels. Threshold The threshold distance spinner is a proximity setting that controls how close vertices can be to one another before they are automatically welded. Default=6.0. _____ Insert Inserts one or more vertices, creating additional segments. Click anywhere in a segment to insert a vertex and attach the mouse to the spline. Then optionally move the mouse and click to place the new vertex. Continue moving the mouse and clicking to add vertices. A single click inserts a corner vertex, while a drag creates a Bezier (smooth) vertex. Right-click to complete the operation and release the mouse. At this point, you're still in Insert mode, and can begin inserting vertices in a different segment. Otherwise, right-click again or click Insert to exit Insert mode. _____ Hide Hides selected segments. Select one or more segments, and then click Hide. Editable Spline | 585 Unhide All Displays any hidden sub-objects. Delete Deletes any selected segments in the current shape. Selected and deleted segment Divide Subdivides the selected segment or segments by adding the number of vertices specified by the spinner. Select one or more segments, set the Divisions spinner (to the button's right), and then click Divide. Each selected segment is divided by the number of vertices specified in the Divisions spinner. The distance between the vertices depends on the segment's relative curvature, with areas of greater curvature receiving more vertices. Selected and divided segment 586 | Chapter 6 Creating Geometry Detach Lets you select several segments in various splines and then detach them (or copy them) to form a new shape. Three options are available: ■ Same Shp(Same Shape) When on, Reorient is disabled, and a Detach operation keeps the detached segment as part of the shape (rather than producing a new shape). If Copy is also on, you end up with a detached copy of the segment in the same location. ■ ReorientThe detached segment copies the position and orientation of the source object's creation Local coordinate system. The new detached object is moved and rotated so that its Local coordinate system is positioned and aligned with the origin of the current active grid. ■ CopyCopies the detached segment rather than moving it. Original and detached splines Display group Show selected segs When on, any selected segments are highlighted in red at the Vertex sub-object level. When off (the default), selected segments are highlighted only at the Segment sub-object level. This feature is useful for comparing complex curves against each other. Editable Spline | 587 Surface Properties rollout Material group You can apply different material IDs to spline segments (see Material ID on page 9217). You can then assign a multi/sub-object material on page 6542 to such splines, which appears when the spline is renderable, or when used for lathing or extrusion. Be sure to turn on Generate Material IDs and Use Shape IDs when lofting, lathing or extruding. Set ID Lets you assign a particular material ID number to selected segments for use with multi/sub-object materials and other applications. Use the spinner or enter the number from the keyboard. The total number of available IDs is 65,535. Select ID Selects the segments or splines corresponding to the Material ID specified in the adjacent ID field. Type or use the spinner to specify an ID, then click the Select ID button. Select By Name This drop-down list shows the names of sub-materials if an object has a Multi/Sub-object material assigned to it. Click the drop arrow and select a material from the list. The segments or splines that are assigned that material are selected. If a shape does not have a Multi/Sub-Object material assigned to it, the name list will be unavailable. Likewise, if multiple shapes are selected that have an Edit Spline modifier applied to them, the name list is inactive. Clear Selection When turned on, selecting a new ID or material name forces a deselection of any previously selected segments or splines. When turned off, selections are cumulative so new ID or material name selections add to a previous selection set of segments or splines. Default=on. 588 | Chapter 6 Creating Geometry Editable Spline (Spline) Select an editable spline ➤ Modify panel ➤ Expand the editable spline in the stack display ➤ Spline sub-object level Select an editable spline ➤ Modify panel ➤ Selection rollout ➤ Spline button Select an editable spline ➤ Right-click the spline ➤ Tools 1 (upper-left) quadrant of the quad menu ➤ Sub-objects ➤ Spline While at the Editable Spline (Spline) level, you can select single and multiple splines within a single spline object and move, rotate, and scale them using standard methods. Procedures To change spline properties: ■ You change the properties of a spline from Line to Curve by right-clicking and choosing Line or Curve from the Tools 1 (upper-left) quadrant of the quad menu. Changing the spline property also changes the property of all vertices in the spline: ■ Choosing Line converts vertices to Corners. ■ Choosing Curve converts vertices to Beziers. Interface Rendering, Interpolation and Selection rollouts For information on the Rendering, Interpolation on page 557 and Selection rollout on page 562 settings, see Editable Spline on page 554. Soft Selection rollout See Soft Selection Rollout on page 1966 for information on the Soft Selection rollout settings. Editable Spline | 589 Geometry rollout 590 | Chapter 6 Creating Geometry New Vertex Type group The radio buttons in this group let you determine the tangency of the new vertices created when you Shift+Clone segments or splines. If you later use Connect Copy, vertices on the splines that connect the original segment or spline to the new one will have the type specified in this group. This setting has no effect on the tangency of vertices created using tools such as the Create Line button, Refine, and so on. ■ LinearNew vertices will have linear tangency. ■ SmoothNew vertices will have smooth tangency. When this option is chosen, new vertices that overlap are automatically welded. ■ BezierNew vertices will have bezier tangency. ■ Bezier CornerNew vertices will have bezier corner tangency. _____ Create Line Adds more splines to the selected spline. These lines are separate spline sub-objects; create them in the same way as the line spline on page 518. To exit line creation, right-click or click to turn off Create Line. Attach Attaches another spline in the scene to the selected spline. Click the object you want to attach to the currently selected spline object. The object you're attaching to must also be a spline. For further details, see Attach on page 566. Reorient Reorients the attached spline so that its creation local coordinate system is aligned with the creation local coordinate system of the selected spline. Attach Mult. Click this button to display the Attach Multiple dialog, which contains a list of all other shapes in the scene. Select the shapes you want to attach to the current editable spline, then click OK. Cross Section Creates a spline cage out of cross–sectional shapes. Click Cross Section, select one shape then a second shape, splines are created joining the first shape with the second. Continue clicking shapes to add them to the cage. This functionality is similar to the Cross Section modifier, but here you can determine the order of the cross sections. Spline cage tangency can be defined in the New Vertex Type group. Editable Spline | 591 TIP When you edit the spline cage, use Area Selection before selecting your vertices. This will keep their positions together as you transform them. Connect Copy group Connect Copy When on, Shift+Cloning a spline creates a new spline sub-object with additional splines that connect the new spline's vertices to the vertices of the original segment. It is analogous to Shift+Cloning edges in Editable Mesh and Editable Poly objects. NOTE For Connect Copy to work, you must turn it on before you Shift+Clone. Threshold Determines the distance soft selection uses when Connect Copy is on. A higher value results in more splines being created, a lower value results in fewer splines. End Point Auto-Welding group Automatic Welding When Automatic Welding is turned on, an endpoint vertex that is placed or moved within the threshold distance of another endpoint of the same spline is automatically welded. This feature is available at the object and all sub-object levels. Threshold A proximity setting that controls how close vertices can be to one another before they are automatically welded. Default=6.0. _____ Insert Inserts one or more vertices, creating additional segments. Click anywhere in a segment to insert a vertex and attach the mouse to the spline. Then optionally move the mouse and click to place the new vertex. Continue moving the mouse and clicking to add vertices. A single click inserts a corner vertex, while a drag creates a Bezier (smooth) vertex. Right-click to complete the operation and release the mouse. At this point, you're still in Insert mode, and can begin inserting vertices in a different segment. Otherwise, right-click again or click Insert to exit Insert mode. Reverse Reverses the direction of the selected spline. If the spline is open, the first vertex will be switched to the opposite end of the spline. Reversing the direction of a spline is usually done in order to reverse the effect of using the Insert tool at vertex selection level. 592 | Chapter 6 Creating Geometry Original and reversed splines Outline Makes a copy of the spline, offset on all sides to the distance specified by the Outline Width spinner (to the right of the Outline button). Select one or more splines and then adjust the outline position dynamically with the spinner, or click Outline and then drag a spline. If the spline is open, the resulting spline and its outline will make a single closed spline. Original and outlined splines NOTE Normally, if using the spinner, you must first select a spline before using Outline. If, however, the spline object contains only one spline, it is automatically selected for the outlining process. Editable Spline | 593 Center When off (default), the original spline remains stationary and the outline is offset on one side only to the distance specified by Outline Width. When Center is on, the original spline and the outline move away from an invisible center line to the distance specified by Outline Width. _____ Boolean Combines two closed polygons by performing a 2D Boolean operation that alters the first spline you select, and deletes the second one. Select the first spline, then click the Boolean button and the desired operation, and then select the second spline. NOTE 2D Booleans only work on 2D splines that are in the same plane. 594 | Chapter 6 Creating Geometry There are three Boolean operations: ■ UnionCombines two overlapping splines into a single spline, in which the overlapping portion is removed, leaving non-overlapping portions of the two splines as a single spline. ■ SubtractionSubtracts the overlapping portion of the second spline from the first spline, and deletes the remainder of the second spline. ■ IntersectionLeaves only the overlapping portions of the two splines, deleting the non-overlapping portion of both. Original splines (left), Boolean Union, Boolean Subtraction, and Boolean Intersection, respectively Mirror Mirrors splines along their length, width, or diagonally. Click the direction you want to mirror first so it is active, then click Mirror. ■ CopyWhen selected, copies rather than moves the spline as it is mirrored. Editable Spline | 595 ■ About PivotWhen on, mirrors the spline about the spline object's pivot point (see Pivot on page 3796). When off, mirrors the spline about its geometric center. Mirrored splines Trim Use Trim to clean up overlapping segments in a shape so that ends meet at a single point. To trim, you need intersecting splines. Click the portion of the spline you want to remove. The spline is searched in both directions along its length until it hits an intersecting spline, and deleted up to the intersection. If the section intersects at two points, the entire section is deleted up to the two intersections. If the section is open on one end and intersects at the other, the entire section is deleted up to the intersection and the open end. If the section is not intersected, or if the spline is closed and only one intersection is found, nothing happens. Extend Use Extend to clean up open segments in a shape so that ends meet at a single point. To extend, you need an open spline. The end of the spline nearest the picked point is extended until it reaches an intersecting spline. If there is no intersecting spline, nothing happens. Curved splines extend in a direction tangent to the end of the spline. If the end of a spline lies directly on a boundary (an intersecting spline), then it looks for an intersection further along. 596 | Chapter 6 Creating Geometry Infinite Bounds For the purposes of calculating intersections, turn this on to treat open splines as infinite in length. For example, this lets you trim one linear spline against the extended length of another line that it doesn't actually intersect. _____ Hide Hides selected splines. Select one or more splines, and then click Hide. Unhide All Displays any hidden sub-objects. Delete Deletes the selected spline. Close Closes the selected spline by joining its end vertices with a new segment. Detach Copies selected splines to a new spline object, and deletes them from the currently selected spline if Copy is clear. ■ ReorientThe spline being detached is moved and rotated so that its creation local coordinate system is aligned with the creation local coordinate system of the selected spline. ■ CopyWhen selected, copies rather than moves the spline as it is detached. Explode Breaks up any selected splines by converting each segment to a separate spline or object. This is a time-saving equivalent of using Detach on each segment in the spline in succession. You can choose to explode to splines or objects. If you choose Object, you're prompted for a name; each successive new spline object uses that name appended with an incremented two-digit number. Surface Properties rollout Editable Spline | 597 Material group You can apply different material IDs (see material ID on page 9217) to splines in shapes containing multiple splines. You can then assign a multi/sub-object material on page 6542 to such shapes, which appears when the spline is renderable, or when used for lathing or extrusion. Set ID Lets you assign a particular material ID number to selected segments for use with multi/sub-object materials and other applications. Use the spinner or enter the number from the keyboard. The total number of available IDs is 65,535. Select ID Selects the segments or splines corresponding to the Material ID specified in the adjacent ID field. Type or use the spinner to specify an ID, then click the Select ID button. Select By Name This drop-down list shows the names of sub-materials if an object has a Multi/Sub-object material assigned to it. Click the drop arrow and select a material from the list. The segments or splines that are assigned that material are selected. If a shape does not have a Multi/Sub-Object material assigned to it, the name list will be unavailable. Likewise, if multiple shapes are selected that have an Edit Spline modifier applied to them, the name list is inactive. Clear Selection When turned on, selecting a new ID or material name, forces a deselection of any previously selected segments or splines. If turned off, selections are cumulative so new ID or material name selections add to a previous selection set of segments or splines. Default=on. Shape Check Utility Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Shape Check The Shape Check utility tests spline and NURBS-based shapes and curves for self-intersection and graphically displays any instances of intersecting segments. Self-intersecting shapes used to produce lathed, extruded, lofted, or other 3D objects can result in rendering errors. The utility is "sticky" in that once you've picked a shape object for it to check, you can pan/zoom viewports and it will continually display the locations of intersecting curves in the shape you pick. 598 | Chapter 6 Creating Geometry If a shape is animated, moving the time slider will recheck the shape on each frame of the animation, allowing for easy checking of these changing shapes. Intersection points highlighted by Shape Check Interface Pick Object Click this button, and then click the shape for the utility to check. You can pick only spline- and NURBS-based shapes and curves. Points of intersection discovered by the utility are highlighted with red boxes. The text below the button indicates whether any points of intersection occur. Close Closes the utility. Shape Check Utility | 599 Compound Objects Create panel ➤ (Geometry) ➤ Compound Objects Create menu ➤ Compound Compound objects typically combine two or more existing objects into a single object. Morph Compound Object Select an object. ➤ Create panel ➤ Objects ➤ Object Type rollout ➤ Morph (Geometry) ➤ Compound Select an object. ➤ Create menu ➤ Compound ➤ Morph Morphing is an animation technique similar to tweening in 2D animation. A Morph object combines two or more objects by interpolating the vertices of the first object to match the vertex positions of another object. When this interpolation occurs over time, a morphing animation results. 600 | Chapter 6 Creating Geometry Seed or base object, and the target objects at specific frames Morph Compound Object | 601 The resulting animation The original object is known as the seed or base object. The object into which the seed object morphs is known as the target object. You can morph one seed into multiple targets; the seed object's form changes successively to match the forms of the target objects as the animation plays. Before you can create a morph, the seed and target objects must meet these conditions: ■ Both objects must be mesh, patch, or poly objects. ■ Both objects must have an equal number of vertices. If these conditions don't apply, the Morph button is unavailable. You can use any kind of object as a morph target, including an animated object or another morph object, as long as the target is a mesh that has the same number of vertices as the seed object. Creating a morph involves the following steps: ■ Model the base object and target objects. 602 | Chapter 6 Creating Geometry ■ Select the base object. ■ Click ■ Add the target objects. ■ Animate. Create panel ➤ Geometry ➤ Compound Objects ➤ Morph. Setting Up the Morph Geometry Make sure that the objects you want to use as the seed and targets have the same number of vertices. TIP When you create Loft objects that you want to use as morph seeds and targets, make sure that Morph Capping is on and Adaptive Path Steps and Optimize are turned off. All shapes in the Loft object must have the same number of vertices. You should also turn off Adaptive and Optimize for other shape-based objects that you want to use with Morph, such as those with Extrude or Lathe modifiers. WARNING The selected object is permanently converted to a morph object as soon as you click Morph, whether or not you proceed to select a target object. The only way to restore the original object is to undo the Morph click. Morph Object and Morpher Modifier There are two ways to set up morphing animations: the Morph compound object and the Morpher modifier. The Morpher modifier on page 1464 is more flexible because you can add it multiple times at any place in an object's modifier stack display. This flexibility lets you animate the base object or the morph targets before reaching the Morpher modifier, for example with a noise modifier. The Morpher modifier works hand in hand with the Morpher material. The Morpher modifier is the ideal way to morph characters. The Barycentric Morph controller can be simpler to use in Track View. The Track View display for Compound Morph has only one animation track regardless of the number of targets. Each key on the track represents a morph result based on a percentage of all the targets. For basic morphing needs, Compound Morph may be preferable to the Morpher modifier. Lastly, you can add the Morpher modifier to the stack of a Compound Morph object. Morph Compound Object | 603 Procedures Example: To create a basic morph: 1 On the Create panel, with (Geometry) active, turn on Patch Grids. On the Object Type rollout, click Quad Patch. 2 In the Top viewport, click and drag to create a patch on the left side of the viewport. 3 Right-click the modifier stack display in the Modify panel and select Convert To Editable Patch from the pop-up menu. 4 Right-click the patch, and then click Move in the Transform quadrant of the quad menu. 5 In the Top viewport, hold Shift and drag with the patch to create a copy on the right side of the viewport. 6 On the Modify panel ➤ Selection rollout, go to the Vertex sub-object level. 7 In the Front viewport, select and move vertices on the selected patch to alter its shape. 8 On the Modify panel, in the stack display, click Editable Patch again to return to the top level. 9 Select the original patch in the viewports. 10 On the Create panel, with (Geometry) active, choose Compound Objects from the drop-down list. On the Object Type rollout, click Morph. 11 On the Pick Targets rollout, click Pick Target. 12 In the viewports, click the second patch object. Both patch objects are listed in the Morph Targets list. 13 Click Modify panel. Morph displays above the Editable Patch in the modifier stack. 14 Move the time slider to frame 10. 15 In the Morph Targets list, click M_QuadPatch01. 604 | Chapter 6 Creating Geometry 16 On the Current Targets rollout, click Create Morph Key. On the track bar, a key is displayed at frame 10. 17 On the track bar, right-click the key at frame 10 and click QuadPatch01:Morph in the menu. A Key Info dialog displays. 18 On the Key Info dialog, select M_QuadPatch01 from the list. 19 On the Key Info dialog, drag the percentage spinner. The base object changes shape. 20 Close the Key Info dialog and drag the time slider back and forth. The patch morphs its shape. To select the targets for a morph: 1 Select the seed object. 2 On the Create panel, with (Geometry) active, choose Compound Objects from the drop-down list. On the Object Type rollout, click Morph. The name of the seed object is displayed at the top of the Morph Targets list on the Current Targets rollout. 3 On the Pick Targets rollout, choose the method for creating targets: Reference, Move, Copy, or Instance. 4 Click Pick Target. 5 Select one or more target objects in the viewports. As you select each target, its name is added to the Morph Targets list. If an object can't be a target (for example, if it has a different number of vertices than the morph seed), you can't select it. If you select a target object while you are not at frame 0, creating the target also creates a morph key. You can create additional morph keys from targets you've already selected, as described in the following procedure. Morph Compound Object | 605 To create morph keys from existing targets: 1 Drag the time slider to the frame where you want to place the morph key. NOTE The Auto Key button does not need to be on to set morph keys. 2 Highlight the name of a target object on the Morph Targets list. The Create Morph Key button is available only when a target object name is selected. 3 Click Create Morph Key. 3ds Max places a morph key at the active frame. 4 To preview the effect of the morph, drag the time slider back and forth. You can view and edit the morph keys in Track View, which also lets you view the morph's target object parameters. Interface Pick Targets rollout When you pick target objects, you designate each target as a Reference, Move (the object itself), Copy, or Instance. Base your selection on how you want to use the scene geometry after you create the morph. Pick Target Use this button to designate the target object or objects. Reference/Copy/Move/Instance Lets you specify how the target is transferred to the compound object. It can be transferred either as a reference on page 9282, a copy, an instance on page 9195, or it can be moved, in which case the original shape is not left behind. ■ Use Copy when you want to reuse the target geometry for other purposes in the scene. 606 | Chapter 6 Creating Geometry ■ Use Instance to synchronize morphing with animated changes to the original target object. ■ Use Move if you've created the target geometry to be only a morph target, and have no other use for it. You can use an animated object or another morph as the target of a morph. Current Targets rollout Morph Targets Displays a list of the current morph targets. Morph Target Name Use this field to change the name of the selected morph target in the Morph Targets list. Create Morph Key Adds a morph key for the selected target at the current frame. Delete Morph Target Deletes the currently highlighted morph target. If morph keys reference the deleted target, then those keys are deleted as well. Morph Compound Object | 607 Scatter Compound Object Select an object. ➤ Create panel ➤ Objects ➤ Object Type rollout ➤ Scatter (Geometry) ➤ Compound Select an object. ➤ Create menu ➤ Compound ➤ Scatter Scatter is a form of compound object that randomly scatters the selected source object either as an array, or over the surface of a distribution object. The plane of the hill is used to scatter the trees and two different sets of rocks. Procedures To create a Scatter object: 1 Create an object to be used as a source object. 2 Optionally, create an object to be used as a distribution object. 608 | Chapter 6 Creating Geometry 3 Select the source object, and then on the Object Type rollout, click Scatter. NOTE The source object must be either a mesh object or an object that can be converted to a mesh object. If the currently selected object is invalid, the Scatter button is unavailable. Results of scattering source object with distribution object visible (above) and hidden (below) You now have two choices. You can either scatter the source object as an array without using a distribution object, or use a distribution object to scatter the object. See the following procedures. To scatter the source object without a distribution object: 1 Choose Use Transforms Only in the Scatter Objects rollout ➤ Distribution group. Scatter Compound Object | 609 2 Set the Duplicates spinner to specify the desired total number of duplicates of the source object. 3 Adjust the spinners on the Transforms rollout to set random transformation offsets of the source object. To scatter the source object using a distribution object: 1 Make sure the source object is selected. 2 Choose the method by which you want to clone the distribution object (Reference, Copy, Move, or Instance.) 3 Click Pick Distribution Object, and then select the object you want to use as a distribution object. 4 Make sure that Use Distribution Object on the Scatter Object rollout is chosen. 5 Use the Duplicates spinner to specify the number of duplicates. (This is not necessary if you're using the All Vertices, All Edge Midpoints or All Face Centers distribution methods.) 6 Choose a distribution method in the Scatter Object rollout ➤ Distribute Object Parameters group under Distribute Using. 7 Optionally, adjust the Transform spinners to randomly transform the duplicates. 8 If the display is too slow, or the meshes too complicated, consider choosing Proxy on the Display rollout or decreasing the percentage of displayed duplicates by reducing the Display percentage. Most of the spinner values are animatable, so you can animate things like the number of duplicates, their transformations, and so on. 610 | Chapter 6 Creating Geometry Scatter objects (the grass) with a high number of duplicates Interface Pick Distribution Object rollout Contains the options for selecting a distribution object. Object Displays the name of the distribution object selected with the Pick button. Pick Distribution Object Click this button, then click an object in the scene to specify it as a distribution object. Scatter Compound Object | 611 Reference/Copy/Move/Instance Lets you specify how the distribution object is transferred to the scatter object. It can be transferred either as a reference on page 9282, a copy, an instance on page 9195, or moved, in which case the original shape is not left behind. Scatter Objects rollout The options on this rollout let you specify how the source object is scattered, and let you access the objects that make up the compound Scatter object. Distribution group These two options let you choose the basic method of scattering the source object. Use Distribution Object Scatters the source object based on the geometry of the distribution object. Use Transforms Only This options doesn't need a distribution object. Instead, duplicates of the source object are positioned using the offset values on the Transforms rollout. If all of the Transform offsets remain at 0, you won't see the array because the duplicates occupy the same space. 612 | Chapter 6 Creating Geometry Objects group Contains a list window showing the objects that make up the Scatter object. List Window Click to select an object in the window so that you can access it in the Stack. For example, if your distribution object is a sphere, you can click Distribution: D_Sphere01, open the Stack list, and select Sphere to access the sphere's parameters. Source Name Lets you rename the source object within the compound Scatter object. Distribution Name Lets you rename the distribution object. Extract Operand Extract a copy or an instance of the selected operand. Choose an operand in the list window to enable this button. NOTE This button is available only on the Modify panel. You can't extract an operand while the Create panel is active. Instance/Copy This option lets you specify how the operand is extracted: as either an instance on page 9195 or a copy. Source Object Parameters group These options affect the source object locally. Duplicates Specifies the number of scattered duplicates of the source object. This number is set to 1 by default, but you can set it to 0 if you want to animate the number of duplicates, beginning with none. Note that the Duplicates number is ignored if you're distributing the duplicates using either Face Centers or Vertices. In these cases, one duplicate is placed at each vertex or face center, depending on your choice. Base Scale Alters the scale of the source object, affecting each duplicate identically. This scale occurs before any other transforms. Scatter Compound Object | 613 Vertex Chaos Applies a random perturbation to the vertices of the source object. Animation Offset Lets you specify the number of frames by which each source object duplicate's animation is offset from the previous duplicate. You can use this feature to produce wave-type animation. At the default setting of 0, all duplicates move identically. Distribution Object Parameters group These options affect how the duplicates of the source object are arranged, relative to the distribution object. These options have an effect only when a distribution object is used. Perpendicular When on, orients each duplicate object perpendicular to its associate face, vertex, or edge in the distribution object. When off, the duplicates maintain the same orientation as the original source object. Use Selected Faces Only When on, limits distribution to the selected faces passed up the Stack. Perhaps the easiest way to do this is to use the Instance option when picking the distribution object. You can then apply a Mesh Select modifier to the original object and select only those faces you want to use for the distribution of the duplicates. 614 | Chapter 6 Creating Geometry Distribute Using The following options let you specify how the geometry of the distribution object determines the distribution of the source object. These options are ignored if you're not using a distribution object. Area Distributes duplicate objects evenly over the total surface area of the distribution object. Objects distributed over a spherical surface with Area turned on Even Divides the number of faces in the distribution object by the number of duplicates, and skips the appropriate number of faces in the distribution object when placing duplicates. Skip N Skips N number of faces when placing duplicates. The editable field specifies how many faces to skip before placing the next duplicate. When set to 0, no faces are skipped. When set to 1, every other face is skipped, and so on. Random Faces Applies duplicates randomly over the surface of the distribution object. Along Edges Assigns duplicates randomly to the edges of the distribution object. Scatter Compound Object | 615 All Vertices Places a duplicate object at each vertex in the distribution object. The Duplicates value is ignored. All Edge Midpoints Places a duplicate at the midpoint of each segment edge. All Face Centers Places a duplicate object at the center of each triangular face on the distribution object. The Duplicates value is ignored. Volume Scatters objects throughout the distribution object's volume. All other options restrict distribution to the surface. Consider turning on Display rollout ➤ Hide Distribution Object with this option. Objects fill a spherical volume with Volume turned on Display group Result/Operands Choose whether to display the results of the scatter operation or the operands before the scattering. 616 | Chapter 6 Creating Geometry Transforms rollout The settings in the Transforms rollout let you apply random transform offsets to each duplicate object. The values in the transform fields specify a maximum offset value that's applied randomly with a positive or negative value to each duplicate. Thus, if you set a rotation angle of 15 degrees, duplicates are rotated randomly from -15 to +15 degrees. For example, one duplicate might be rotated 8 degrees, another -13, another 5, and so on. You can use the Transform Scatter Compound Object | 617 settings with or without a distribution object. When there is no distribution object, you must adjust the Transform settings in order to see the duplicates. Rotation group Specifies random rotation offsets. X, Y, Z deg Enter the maximum random rotational offset you want about the local X, Y, or Z axis of each duplicate. Use Maximum Range When on, forces all three settings to match the maximum value. The other two settings become disabled, and the setting containing the maximum value remains enabled. Local Translation group Specifies translation of the duplicates along their local axes. X, Y, Z Enter the maximum random movement you want along the X, Y, or Z axis of each duplicate. Use Maximum Range When on, forces all three settings to match the maximum value. The other two settings become disabled, and the setting containing the maximum value remains enabled. Translation on Face group Lets you specify the translation of duplicates along barycentric on page 9102 face coordinates of the associate face in the distribution object. These settings have no effect if you're not using a distribution object. A, B, N The first two settings specify the barycentric coordinates on the surface of the face, while the N setting sets the offset along the normal of the face. Use Maximum Range When on, forces all three settings to match the maximum value. The other two settings become disabled, and the setting containing the maximum value remains enabled. Scaling group Lets you specify the scaling of duplicates along their local axes. X, Y, Z % Specifies the percent of random scaling along the X, Y, or Z axis of each duplicate. Use Maximum Range When on, forces all three settings to match the maximum value. The other two settings become disabled, and the one containing the maximum value remains enabled. 618 | Chapter 6 Creating Geometry Lock Aspect Ratio When on, maintains the original aspect ratio of the source object. Typically, this provides uniform scaling of duplicates. When Lock Aspect Ratio is off, and any of the X, Y, and Z settings contain values greater than 0, the result is non-uniform scaling of duplicates because the values represent random scaling offsets in both positive and negative directions. Display rollout Provides options that affect the display of the Scatter object. Display Options group These options affect the display of the source and destination objects. Proxy Displays the source duplicates as simple wedges and speeds up viewport redraws when manipulating a complex Scatter object. This has no effect on the rendered image, which always displays the mesh duplicates. Mesh Displays the full geometry of the duplicates. Display % Specifies the percentage of the total duplicate objects that appear in the viewports. This has no effect on the rendered scene. Hide Distribution Object Hides the distribution object. The hidden object does not appear in the viewport or in the rendered scene. Uniqueness group Lets you set a seed number upon which the random values are based. Thus, altering this value changes the overall effect of the scattering. New Generates a new, random seed number. Seed Use this spinner to set the seed number. Scatter Compound Object | 619 Load/Save Presets rollout Lets you store preset values to use in other Scatter objects. For example, after setting all of your parameters for a specific Scatter object and saving the settings under a specific name, you can then select another Scatter object and load the preset values into the new object. Preset Name Lets you define a name for your settings. Click the Save button to save the current settings under the preset name. Saved Presets group A list window containing saved preset names. LOAD Loads the preset currently highlighted in the Saved Presets list. SAVE Saves the current name in the Preset Name field and places it in the Saved Presets window. DELETE Deletes the selected items in the Save Presets window. NOTE Animated parameter values subsequent to frame 0 are not stored. 620 | Chapter 6 Creating Geometry Conform Compound Object Select an object. ➤ Create panel ➤ Objects ➤ Object Type rollout ➤ Conform (Geometry) ➤ Compound Select an object. ➤ Create menu ➤ Compound ➤ Conform Conform is a compound object created by projecting the vertices of one object, called the Wrapper, onto the surface of another object, called the Wrap-To. There is also a space-warp version of this function; see Conform space warp on page 3022. Conform fits the road to the surface of the hills. Because the space-warp version is somewhat easier to use, it's a good idea to read that topic first, try the example, and then return here. This topic provides additional methods of projecting the wrapper vertices. NOTE This tool gives you the ability to morph between any two objects, regardless of the number of vertices in each object. See Vertex Projection Direction group on page 625 for more information. Conform Compound Object | 621 Procedures Example: To create a Conform object: 1 Position two objects, one of which will be the Wrapper, and the other the Wrap-To. (For this example, create a box as the Wrap-To object, and then create a larger sphere that completely surrounds it. The sphere will be the Wrapper.) 2 Select the Wrapper object (the sphere), and on the Create panel, with (Geometry) active, choose Compound Objects from the drop-down list. On the Object Type rollout, turn on Conform. NOTE Both objects used in Conform must be either mesh objects or objects that can be converted to mesh objects. If the selected Wrapper object is invalid, the Conform button is unavailable. 3 Specify the method of vertex projection in the Vertex Projection Direction group. (Use Along Vertex Normals for this example.) NOTE If you were to choose Use Active Viewport, you would next activate whichever viewport looks in the direction that you want to project the vertices. For example, if the Wrapper hovered over a Wrap-To terrain on the home plane, you'd activate the Top viewport. 4 Choose Reference, Copy, Move, or Instance to specify the type of cloning to perform on the Wrap-To object. (Choose Instance for this example.) 5 Click Pick Wrap-To Object, and then click the object onto which to project the vertices. (You can press the H key and use the Pick Object dialog on page 184 to select the box.) The list windows display the two objects, and the compound object is created with the Wrapper object conforming to the Wrap-To object. (In the example, the sphere is wrapped into the shape of the box.) 6 Use the various parameters and settings to alter the vertex projection direction, or adjust the vertices that are being projected. To project a road onto terrain: 1 Create the road and terrain objects. 622 | Chapter 6 Creating Geometry TIP You can quickly make a terrain by creating a patch grid on page 2424 and applying the Noise modifier on page 1490 to it. For the road, you can use a Loft compound object on page 674 by lofting a rectangle along a curved line. Both objects must have a sufficient level of detail to conform smoothly. 2 Orient both the road and the terrain so you are looking straight down at them in the Top viewport. Position the road so it's completely above the terrain (higher on the world Z axis). NOTE For the conform projection to work correctly, the road should not extend beyond the boundaries of the terrain when viewed in the Top viewport. 3 Select the road object. 4 Click Conform. 5 In the Pick Wrap-To Object rollout, make sure the Instance option is selected. 6 Click Pick Wrap-To Object, and click the terrain. An instance of the terrain object is created, with the same object color as the road. 7 Activate the Top viewport. In the Parameters rollout ➤ Vertex Projection Direction group, choose Use Active Viewport, and click Recalculate Projection. 8 In the Update group, turn on Hide Wrap-To Object. This hides the instance of the terrain so you can clearly see the road projected onto it. The Parameters rollout ➤ Wrapper Parameters group ➤ Standoff Distance value sets the number of units by which the road sits above the terrain along the world Z axis. 9 If necessary, adjust the Standoff Distance to raise or lower the road. Conform Compound Object | 623 Interface Pick Wrap-To Object rollout Object Displays the name of the selected Wrap-To object. Pick Wrap-To Object Click this button, and then select the object to which you want the current object to wrap. Reference/Copy/Move/Instance This option lets you specify how the Wrap-To object is transferred to the Conform object. It can be transferred either as a reference on page 9282, a copy, an instance on page 9195, or it can be moved, in which case the original is not left behind. Parameters rollout Contains all parameters for the Conform object. Objects group Provides a list window and two edit fields that let you navigate the compound object and rename its components. List Window Lists the Wrapper and the Wrap-To objects. Click to select an object in the window so that you can access it in the Modifier stack. 624 | Chapter 6 Creating Geometry Wrapper Name Lets you rename the wrapper object within the compound Conform object. Wrap-To Object Name Lets you rename the Wrap-To object. Vertex Projection Direction group Choose one of these seven options to determine the projection of the vertices. Use Active Viewport The vertices are projected away (inward) from the active viewport. Recalculate Projection Recalculates the projection direction for the currently active viewport. Because the direction is initially assigned when you pick the Wrap-To object, if you want to change viewports after assignment, click this button to recalculate the direction based on the new active viewport. Use Any Object's Z Axis Lets you use the local Z axis of any object in the scene as a direction. Once an object is assigned, you can alter the direction of vertex projection by rotating the direction object. Pick Z-Axis Object Click this button, and then click the object you want to use to indicate the direction of the projection source. Object Displays the name of the direction object. ■ Along Vertex NormalsProjects the vertices of the Wrapper object inward along the reverse direction of its vertex normals. A vertex normal is a vector produced by averaging the normals of all faces attached to that vertex. If Conform Compound Object | 625 the Wrapper object encloses the Wrap-To object, the Wrapper takes on the form of the Wrap-To object. ■ Towards Wrapper CenterProjects the vertices toward the bounding center of the Wrapper object. ■ Towards Wrapper PivotProjects the vertices toward the original pivot center of the Wrapper object. ■ Towards Wrap-To CenterProjects the vertices toward the bounding center of the Wrap-To object. ■ Towards the Wrap-To PivotProjects the vertices toward the pivot center of the Wrap-To object. NOTE Towards Wrapper Pivot and Towards the Wrap-To Pivot operate on the position of the original pivot point of the object before the Conform object is created. Once you create the Conform object, it's a new compound object with a single pivot point. TIP You can animate the conforming effect by morphing between the compound object and a previously made copy of the original wrapper object. To do this, however, you must turn on Hide Wrap-To Object in the Update group so that the original object and the compound object have the same number of vertices. Using this technique, you can effectively morph between two objects with a different number of vertices. Wrapper Parameters group Provides controls that determine how far the vertices are projected. Default Projection Distance The distance a vertex in the Wrapper object will move from its original location if it does not intersect the Wrap-To object. 626 | Chapter 6 Creating Geometry Standoff Distance The distance maintained between the vertex of the Wrapper object and the surface of the Wrap-To object. For example, if you set Standoff Distance to 5, the vertices can be pushed no closer than 5 units from the surface of the Wrap-To object. Use Selected Vertices When turned on, only the selected vertex sub-objects of the Wrapper object are pushed. When turned off, all vertices in the object are pushed, regardless of the Modifier stack selection. To access the Modifier stack of the Wrapper object, select the Wrapper object in the list window, open the Modifier stack, and select the base object name. At this point you can apply a Mesh Select modifier, for example, and select the vertices you want to affect. Update group The items in this group determine when the projection for the compound object is recalculated. Because complex compound objects can slow performance, you can use these options to avoid constant calculation. ■ AlwaysThe object is updated constantly. ■ When RenderingThe object is recalculated only when the scene is rendered. ■ ManuallyActivates the Update button for manual recalculation. Update Recalculates the projection. Hide Wrap-To Object When on, hides the Wrap-To object. Display group Determines whether the shape operands are displayed. Conform Compound Object | 627 ■ ResultDisplays the result of the operation. ■ OperandsDisplays the operands. Connect Compound Object Select an object. ➤ Create panel ➤ Objects ➤ Object Type rollout ➤ Connect (Geometry) ➤ Compound Select an object. ➤ Create menu ➤ Compound ➤ Connect The Connect compound object lets you connect two or more objects between "holes" in their surfaces. To do this, you delete faces in each object to create one or more holes in their surfaces, position them so that the holes face one another, and then apply Connect. 628 | Chapter 6 Creating Geometry Left: Before connect Right: After connect NOTE Connect is not suited to NURBS objects, because they convert into many separate meshes instead of one big mesh. The workaround is simple: apply a Weld modifier to the NURBS object (thus converting it to a mesh and zipping up its seams) before using it as part of a connect. Connect generates the best mapping coordinates it can for the bridges between the various holes in the meshes. While some ideal cases, such as a cylinder above another cylinder, can generate good UVW map interpolations, most cases cannot. You'll need to apply mapping to the bridge faces with a UVW Map modifier on page 1883. Vertex colors, on the other hand, interpolate smoothly. Notes: ■ You can use Connect on objects that have multiple sets of holes. Connect will do its best to match up the holes between the two objects. ■ The mapping coordinates assigned to the original two objects are maintained to the extent possible. You might find irregularities in the Connect Compound Object | 629 bridged area, depending on the complexity and difference between the two original sets of mapping coordinates and the types of geometry. Procedures To create a Connect object: 1 Create two mesh objects. 2 Delete faces on each to create holes where you want to bridge the objects. Position the objects so that the normals of the deleted faces of one object point toward the normals of the deleted faces of the other object (assuming that deleted faces could have normals). 3 Select one of the objects. On the Create panel, with (Geometry) active, choose Compound Objects from the drop-down list. On the Object Type rollout, turn on Connect. 4 Click the Pick Operand button, and then select the other object. 5 Faces are generated connecting the holes in the two objects. 6 Adjust the connection with the various options. Example: To connect two cylinders: 1 Create a cylinder with a radius of 15 and a height of 30. Use the default settings for the remaining parameters. 2 Create a second cylinder centered on the first with a radius of 30, a height of 30, and 13 sides. (The fewer sides are to demonstrate the mesh interpolation in the connection.) 3 Move the first, narrower cylinder straight up along Z so its bottom cap is about 15 units above the top cap of the larger cylinder. 4 Convert both cylinders to editable meshes. 5 Delete the lower cap of the upper cylinder, and the upper cap of the bottom cylinder. (Hint: Go to Editable Mesh (Polygon) mode, select each end in turn, and then press the Delete key.) 6 Exit sub-object mode, select the lower cylinder, and click Connect. 7 Click the Pick Operand button, and then click the upper cylinder. 630 | Chapter 6 Creating Geometry New faces are created that span the openings in the two cylinders. Example continued: To try out some options and create animation: 1 Go to the more. Modify panel and increase the Segments value to 5 or As the number of segments increases, the connection becomes curved. 2 Set the Tension value to 0. This straightens the connecting surface. Increase the value of Tension to 1, and then return it to 0.5. 3 Try different combinations of the Bridge and Ends options. 4 Select the upper cylinder, turn on various transforms at different frames. 5 (Auto Key), and apply Play the animation. Interface Pick Operand rollout Pick Operand Click this button to connect an additional operand to the original object. For example, you might begin with a single object with two holes, and arrange two additional objects, each with one hole, outside of those holes. Click the Pick Operand button and select one of the objects, which is connected, and then click Pick Operand again and select the other object, which is connected. Both connected objects are added to the Operands list. Connect Compound Object | 631 Reference/Copy/Move/Instance Lets you specify how the operand is transferred to the compound object. It can be transferred either as a reference on page 9282, a copy, an instance on page 9195, or moved, in which case the original is not left behind. NOTE Connect works only with objects that are capable of being converted into editable surfaces, such as editable meshes on page 2190. Parameters rollout Operands group Operands list Displays the current operands. Select an operand to rename, delete or extract by clicking it in this list. Name Renames a selected operand. Type in a new name, and then press Tab or Enter. Delete Operand Deletes a selected operand from the list. Extract Operand Extracts a copy or an instance of the selected operand. Choose an operand in the list to enable this button. 632 | Chapter 6 Creating Geometry NOTE This button is available only in the Modify panel. You can't extract an operand while in the Create panel. Instance/Copy Lets you specify how the operand is extracted: as either an instance on page 9195 or a copy. Interpolation group Segments Sets the number of segments in the connecting bridge. Tension Controls the curvature in the connecting bridge. A value of 0 provides no curvature, while higher values create curves that attempt to more smoothly match the surface normals on either end of the connecting bridge. This spinner has no apparent effect when Segments is set to 0. Smoothing group Bridge Applies smoothing between the faces in the connecting bridge. Ends Applies smoothing between the faces that border the old and new surfaces of the connecting bridge and the original objects. When turned off, 3ds Max assigns a new material ID number to the bridge. The new number is one higher than the highest ID number assigned to either of the original objects. When on, the ID number is taken from one of the original objects. NOTE If both Bridge and Ends are on, but the original objects contain no smoothing groups, then smoothing is assigned to the bridge and to the faces bordering the bridge. Display/Update rollout Connect Compound Object | 633 Display group Determines whether the shape operands are displayed. ■ ResultDisplays the result of the operation. ■ OperandsDisplays the operands. Update group These options determine when the projection for the compound object is recalculated. Because complex compound objects can slow performance, you can use these options to avoid constant calculation. ■ AlwaysThe object is updated constantly. ■ When RenderingThe object is recalculated only when the scene is rendered. ■ ManuallyActivates the Update button for manual recalculation. Update Recalculates the projection. BlobMesh Compound Object Create panel ➤ Type rollout ➤ BlobMesh (Geometry) ➤ Compound Objects ➤ Object Create menu ➤ Compound ➤ BlobMesh The BlobMesh compound object creates a set of spheres from geometry or particles, and connects the spheres together as if they were made of a soft, liquid substance. When the spheres move within a certain distance of one another, they connect together. When they move apart, they take on a spherical form again. 634 | Chapter 6 Creating Geometry In the 3D industry, the general term for spheres that operate in this way is metaballs on page 9222. The BlobMesh compound object generates metaballs based on specified objects in the scene, and the metaballs, in turn, form a mesh result called a blobmesh. A blobmesh is ideal for simulating thick liquids and soft substances that move and flow when animated. When you associate an object or particle system with the BlobMesh compound object, the metaballs are placed and sized differently depending on the object used to generate them: ■ For geometry and shapes, a metaball is placed at each vertex, and the size of each metaball is determined by the size of the original BlobMesh object. Soft selection can be used to vary the sizes of the metaballs. ■ For particles, a metaball is placed at each particle, and the size of each metaball is determined by the size of the particle on which it’s based. BlobMesh Compound Object | 635 ■ For helpers, a metaball is placed at the pivot point, and the size of the metaball is determined by the original BlobMesh object. NOTE You can apply motion blur on page 9228 to a BlobMesh object to enhance the effects of motion in renderings. For particle systems other than Particle Flow, use Image motion blur. For Particle Flow particle systems and all other types of objects including geometry, shapes, and helpers, use Object motion blur. Procedures To create a blobmesh from geometry or helpers: 1 Create one or more geometry or helper objects. If the scene requires animation, animate the objects as desired. 2 Click BlobMesh, and click anywhere on the screen to create the initial metaball. 3 Go to the Modify panel. 4 In the Blob Objects group, click Add. Select the objects you wish to use to create metaballs. A metaball appears at each vertex of each selected object, or at the centers of helper objects. 5 In the Parameters rollout, set the Size parameter as necessary to cause the metaballs to connect. To create a blobmesh with soft selection on geometry: 1 Create a geometry object, and convert it to an Editable Mesh or Editable Poly. 2 Apply a Mesh Select modifier to the object, and select some of the vertices on the object. 3 In the Soft Selection rollout, turn on Use Soft Selection. Set the Falloff value as desired. 4 Apply a Turn to Mesh or Turn to Poly modifier to the object. This will retain the soft selection and pass it up the stack regardless of whether you exit the sub-object mode. 5 On the Create panel, with (Geometry) active, choose Compound Objects from the drop-down list. On the Object Type rollout, 636 | Chapter 6 Creating Geometry turn on BlobMesh. Click anywhere in a viewport to create the initial metaball. 6 Go to the Modify panel. 7 In the Blob Objects group, click Add. Select the Editable Mesh or Editable Poly object. A metaball appears at each vertex of the selected object. 8 In the Parameters rollout, turn on Use Soft Selection. Metaballs are limited to those vertices that are affected by the soft selection. 9 Set the Size and Min. Size parameters to set the sizes of the metaballs. To create a blobmesh with soft selection on a spline: 1 Create the spline, and convert it to an Editable Spline. 2 In the Rendering rollout, turn on both Enable In Renderer and Enable In Viewport. 3 Apply a Mesh Select modifier, and select the appropriate vertices for soft selection. 4 In the Soft Selection rollout, turn on Use Soft Selection. Set the Falloff value as desired. 5 Apply a Turn to Mesh or Turn to Poly modifier to the object. This will retain the soft selection and pass it up the stack regardless of whether you exit the sub-object mode. 6 On the Create panel, with (Geometry) active, choose Compound Objects from the drop-down list. On the Object Type rollout, turn on BlobMesh. Click anywhere in a viewport to create the initial metaball. 7 Go to the Modify panel. 8 In the Blob Objects group, click Add. Select the Editable Spline. BlobMesh Compound Object | 637 A metaball appears at each vertex of the selected object. 9 In the Parameters rollout, turn on Use Soft Selection. Metaballs are limited to those vertices that are affected by the soft selection. 10 Set the Size and Min. Size parameters to set the sizes of the metaballs. To create a blobmesh from a particle system: When you use BlobMesh with a particle system, a metaball is created at each particle's location. The size of the metaball is determined by the size of the particle. 1 Create a particle system on page 3032, and set up its parameters to animate the particles. 2 On the Create panel, with (Geometry) active, choose Compound Objects from the drop-down list. On the Object Type rollout, turn on BlobMesh. Click anywhere in a viewport to create the initial metaball. 3 Go to the Modify panel. 4 In the Blob Objects group, click Add. Select the particle system. A metaball appears at each particle in the system. 5 If you have added a Particle Flow system on page 3033 to the blobmesh and you want to create metaballs only for particles in specific events, click Add on the Particle Flow Parameters rollout to choose the events from a list. TIP If you need to prevent the particles from rendering, do not hide them as this can prevent the blobmesh from generating correctly. Instead, turn off the particle system's Renderable option on the Object Properties dialog on page 221. 638 | Chapter 6 Creating Geometry Interface Parameters rollout Size The radius of each metaball for objects other than particles. For particles, the size of each metaball is determined by the size of the particle, which is set by parameters in the particle system. Default=20. BlobMesh Compound Object | 639 NOTE The apparent size of the metaballs is affected by the Tension value. When Tension is set to its lowest possible value, the radius of each metaball accurately reflects the Size setting. Higher Tension values will tighten the surface, and make the metaballs smaller. Tension Determines how relaxed or tight the surface will be. A smaller value makes a looser surface. This value can range from 0.01 to 1.0. Default=1.0. Evaluation Coarseness Sets the coarseness, or density, of the resulting blobmesh. When Relative Coarseness (see following) is off, the Render and Viewport values set the absolute height and width of blobmesh faces, and lower values create a smoother, denser mesh. When Relative Coarseness is on, the height and width of blobmesh faces is determined by the ratio of metaball size to this value. In this case, higher values create a denser mesh. Range (both)=0.001 to 1000.0. Render default=3.0, Viewport default =6.0. The lower end of the range for both Coarseness settings is 0.001, which allows for high-resolution metaball geometry when Relative Coarseness is off. Using such low values can also cause lengthy calculation delays; if this happens and you wish to halt calculation, press Esc. Relative Coarseness Determines how the coarseness values will be used. If this option is turned off, the Render Coarseness and View Coarseness values are absolute, where the height and width of each face on the blobmesh is always equal to the coarseness value. This means the faces on the blobmesh will retain a fixed size even if the metaballs change size. If this option is turned on, the size of each blobmesh face is based on the ratio of the metaball size to the coarseness, which will cause the blobmesh face size to change as the metaballs become larger or smaller. Default=Off. Large Data Optimization This option provides an alternate method for calculating and displaying the blobmesh. This method is more efficient than the default method only when a large number of metaballs are present, such as 2,000 or more. Turn on this option only when using a particle system or other object that produces a large number of metaballs. Default=Off. Off in Viewport Turns off the display of the blobmesh in viewports. The blobmesh will still appearing in renderings. Default=Off. Use Soft Selection If soft selection has been used on geometry you add to the blobmesh, turning on this option causes the soft selection to be used for the size and placement of metaballs. Metaballs are placed at selected vertices with the size set by the Size parameter. For vertices that lie within the falloff set on the geometry’s Soft Selection rollout, smaller metaballs are placed. For vertices outside the falloff, no metaballs are placed. This option has an effect only if the Vertex sub-object level for the geometry is still enabled, and Use Soft 640 | Chapter 6 Creating Geometry Selection on the geometry’s Soft Selection rollout is turned on. If Use Soft Selection is turned off either for the blobmesh for the geometry, metaballs are placed at all vertices on the geometry. Default=Off. Min Size Sets the minimum size for metaballs within the falloff when Use Soft Selection is turned on. Default=10.0. Pick Allows you to pick objects or particle systems from the screen to add to the blobmesh. Add Displays a selection dialog where you can select objects or particle systems to add to the blobmesh. Remove Removes objects or particles from the blobmesh. Particle Flow Parameters rollout Use this rollout if you have added a Particle Flow system to the blobmesh, and want particles to generate metaballs only during specific events. Before you can specify events on this rollout, you must add the Particle Flow system to the blobmesh on the Parameters rollout. All Particle Flow Events When turned on, all Particle Flow Events will generate metaballs. When turned off, only Particle Flow Events specified in the PFlow Events list will generate metaballs. BlobMesh Compound Object | 641 Add Displays a list of PFlow events in the scene so you can pick events to add to the PFlow Events list. Remove Removes the selected event from the PFlow Events list. ShapeMerge Compound Object Select an object. ➤ Create panel ➤ (Geometry) ➤ Compound Objects ➤ Object Type rollout ➤ ShapeMerge Select an object. ➤ Create menu ➤ Compound ➤ ShapeMerge ShapeMerge creates a compound object consisting of a mesh object and one or more shapes. The shapes are either embedded in the mesh, altering the edge and face patterns, or subtracted from the mesh. ShapeMerge combines the lettering, a text shape, with the mesh that models the tire. 642 | Chapter 6 Creating Geometry Procedures To create a ShapeMerge object: 1 Create a mesh object and one or more shapes 2 Align the shapes in the viewport so they can be projected toward the surface of the mesh object. 3 Select the mesh object, then click the ShapeMerge button. 4 Click Pick Shape, and then click the shape. The geometry of the surface of the mesh object is altered to embed a pattern matching that of the selected shape. Interface Pick Operand rollout Pick Shape Click this button, and then click the shape you want to embed in the mesh object. The shape is projected onto the mesh object in the direction of the shape's local negative Z axis. For example, if you create a box, and then create a shape in the Top viewport, the shape is projected onto the top of the box. You can repeat this process to add shapes, and the shapes can be projected in different directions. Simply click Pick Shape again, and then pick another shape. Reference/Copy/Move/Instance Lets you specify how the shape is transferred to the compound object. It can be transferred either as a reference on page 9282, a copy, an instance on page 9195, or moved, in which case the original shape is not left behind. ShapeMerge Compound Object | 643 Parameters rollout Operands group Operands list Lists all operands in the compound object. The first operand is the mesh object, and any number of shape-based operands can follow. Delete Shape Remove selected shapes from the compound object. Extract Operand Extracts a copy or an instance of the selected operand. Choose an operand in the list window to enable this button. Instance/Copy Lets you specify how the operand is extracted. It can be extracted either as an instance on page 9195 or a copy. Operation group These options determine how the shape is applied to the mesh. Cookie Cutter Cuts the shape out of the mesh object's surface. 644 | Chapter 6 Creating Geometry Merge Merges the shape with the surface of the mesh object. Invert Reverses the effect of Cookie Cutter or Merge. With the Cookie Cutter option, the effect is obvious. When Invert is off, the shape is a hole in the mesh object. When Invert is on, the shape is solid and the mesh is missing. When you're using Merge, Invert reverses the sub-object mesh selection. As an example, if you merge a circle shape and apply a Face Extrude, the circular area is extruded when Invert is off, and all but the circular area is extruded when Invert is on. Output Sub-Mesh Selection group Provides options that let you specify what selection level is passed up the Stack. The ShapeMerge object stores all selection levels; that is, it stores the vertices, faces, and edges of the merged shape with the object. (If you apply a Mesh Select modifier and go to the various sub-object levels, you'll see that the merged shape is selected.) Thus, if you follow the ShapeMerge with a modifier that acts on a specific level, such as Face Extrude, that modifier will work properly. If you apply a modifier that can work on any selection level, such as Volume Select or XForm, the options will specify which selection level is passed to that modifier. Although you can use a Mesh Select modifier on page 1445 to specify a selection level, the Mesh Select modifier considers the selection only at frame 0. If you've animated the shape operand, that animation will be passed up the Stack for all frames only by using the Output Sub-Mesh Selection options. ■ NoneOutputs the full object. ■ FaceOutputs the faces within the merged shape. ■ EdgeOutputs the edge of the merged shape. ■ VertexOutputs the vertices defined by the spline of the shape. ShapeMerge Compound Object | 645 Display/Update rollout Display group Determines whether the shape operands are displayed. ■ ResultDisplays the result of the operation. ■ OperandsDisplays the operands. Update group These options specify when the display is updated. Typically, you use them when you've animated the merged shape operands and the viewport display is slow. ■ AlwaysUpdates the display at all times. ■ When RenderingUpdates the display only when the scene is rendered. ■ ManuallyUpdates the display only when you click the Update button. Update Updates the display when any option except Always is chosen. Boolean Compound Object Select an object. ➤ Create panel ➤ Objects ➤ Object Type rollout ➤ Boolean 646 | Chapter 6 Creating Geometry (Geometry) ➤ Compound Select an object. ➤ Create menu ➤ Compound ➤ Boolean A Boolean object combines two other objects by performing a Boolean operation on them. TIP ProBoolean on page 734 is an improved, up-to-date, and more-complete implementation of the Boolean compound object. In general, it is recommended that you use ProBoolean rather than Boolean for combining 3D objects. Operand A (left); Operand B (right) These are the Boolean operations for geometry: Union The Boolean object contains the volumes of both original objects. The intersecting or overlapping portion of the geometry is removed. Intersection The Boolean object contains only the volume common to both original objects (in other words, where they overlapped). Subtraction (or difference) The Boolean object contains the volume of one original object with the intersecting volume removed. The two original objects are designated operands A and B. Boolean Compound Object | 647 You can layer Booleans in the stack display, so that a single object can incorporate many Booleans. By navigating through the stack display, it's possible to revisit the components of each Boolean and make changes to them. Subtraction: A-B (above); B-A (below) 648 | Chapter 6 Creating Geometry Union (above); Intersection (below) Booleans with Objects That Have Materials Assigned to Them Most primitives use several material IDs on page 9217 on their surfaces. For example, a box uses material IDs 1–6 on its sides. If you assign a Multi/Sub-Object material on page 6542 with six sub-materials, 3ds Max automatically assigns one to each side. If you assign a Multi/Sub-Object material with two sub-materials, 3ds Max assigns the first material to sides 1, 3, and 5, and the second to sides 2, 4, and 6. When you create a Boolean from objects that have materials assigned to them, 3ds Max combines the materials in the following way: ■ If operand A doesn't have a material, it inherits operand B's material. ■ If operand B doesn't have a material, it inherits operand A's material. ■ If both operands have materials, the resulting material is a Multi/Sub-Object material that combines the materials from both operands. For more information, see Material Attach Options Dialog on page 661. Solutions When Working with Booleans The Boolean algorithm caused unpredictable behavior in earlier releases. The solutions are discussed here. Boolean Compound Object | 649 Surface Topology Boolean requires that operands' surface topology be intact: This means no missing or overlapping faces and no unwelded vertices. The surface should be one continuous closed surface. The Boolean corrects operands that fail to meet this requirement. However, the automatic correction may not be exactly what you want, so in some cases it might be safer to correct the surfaces manually. To check for holes in the geometry, use the STL-Check modifier on page 1695 or the Measure utility on page 2914. To fill holes, use the Cap Holes modifier on page 1124. Face Normals Booleans require that the face normals of the surface be consistent. Flipped normals can produce unexpected results. Surfaces where some faces are facing one way and adjacent faces are flipped are also problematic, and are commonly found in geometry imported from CAD programs. The Boolean fixes these faces as best it can. Again, it might make more sense to correct these manually. Use shaded viewports to look for normal problems, watching for objects that appear inside-out or look otherwise incorrect. You can also turn on Show in the Editable Mesh (Face) on page 2214 ➤ Surface Properties rollout ➤ Normals group. Fix normals here, or with a Normal modifier on page 1497. Overlapping Elements Because Boolean operations depend on a clear understanding of what is inside and what is outside a mesh, meshes that overlap themselves can produce invalid results. For instance, if you use the Collapse utility on page 1974 with two overlapping objects without turning on the Boolean feature, the resulting object will not make a good Boolean operand. This is also a problem for the Teapot primitive on page 349 (with all parts turned on), which overlaps itself. If you need to use such an object as a Boolean operand, you might reconstruct it as a single non-overlapping mesh by separating the components and combining them with Boolean. Working with Inverted Meshes Boolean doesn't always produce the ideal result on "inverted meshes" (meshes that have been turned inside-out by having their normals flipped). The problem is that the area inside the flipped mesh is correctly seen as "outside," but the area outside it may also be seen as “outside.” To remedy this, instead of 650 | Chapter 6 Creating Geometry inverting the mesh, make a very large box or other primitive centered on (but not touching) the mesh and subtract the mesh from it using Boolean. Then convert it to an editable mesh, and delete the box faces. This produces a correctly inverted mesh that works correctly with Boolean. Alignment If two Boolean operands are perfectly aligned without actually intersecting, the Boolean operation might produce the wrong result. Although this is rare, if it does occur, you can eliminate it by making the operands overlap slightly. Relative Complexity Between Operands Boolean works best when the two operands are of similar complexity. If you wish to subtract text (a complex object made of many faces and vertices) from a box without any segments, the result is many long, skinny faces that are prone to rendering errors. Increasing the number of box segments produces better results. Try to maintain a similar complexity between operands. Coplanar Faces/Colinear Edges Previously, Boolean required that objects overlap. If two objects did not overlap but merely touched an edge to an edge, or a face to a face, the Boolean would fail. Boolean allows for non-overlapping objects. Coincident faces/edges and vertices are no longer a problem. You can use objects completely encased within another object, where no edges intersect, to create Booleans. See also Collapse Utility on page 1974 to create Booleans with multiple objects. See also: Fixing Boolean Problems on page 9049 ■ Procedures To create a Boolean object: 1 Select an object. This object becomes operand A. 2 Click Boolean. The name of operand A appears in the Operands list on the Parameters rollout. Boolean Compound Object | 651 3 On the Pick Boolean rollout, choose the copy method for operand B: Reference, Move, Copy, or Instance. (These methods are described in the Pick Boolean rollout section, later in this topic.) 4 On the Parameters rollout, choose the Boolean operation to perform: Union, Intersection, Subtraction (A-B), or Subtraction (B-A). You can also choose one of the Cut operations, described later in the Operation group section. 5 On the Pick Boolean rollout, click Pick Operand B. 6 Click in a viewport to select operand B. 3ds Max performs the Boolean operation. The operand objects remain as sub-objects of the Boolean object. By modifying the creation parameters of the Boolean's operand sub-objects, you can later change operand geometry in order to change or animate the Boolean result. Example: To create and modify a single object that contains multiple Booleans: Suppose you want to create a box with two holes in it. One hole is to be cut by a sphere, and the second by a cylinder. If you want to make changes to the sphere or the cylinder later, you can do so by following these steps: 1 Create a Boolean following the steps in the previous sections. The original object (the box) is converted to a Boolean, and is designated operand A. The second object (the sphere) is converted to operand B. 2 Deselect the Boolean object. Build the cylinder if it does not already exist. 3 Select the Boolean object; and under Compound Objects, click Boolean again. 4 Click Pick Operand B and click the cylinder in the viewport. It is converted to operand B. 5 On the Modify panel, choose Operand B from the Parameters rollout ➤ Operands list. If you want to see operand B, choose Display/Update rollout ➤ Display group ➤ Operands or Result + Hidden Ops. 652 | Chapter 6 Creating Geometry If you want to animate the Cylinder or the Cylinder’s parameters you can now access them in the modifier stack display. 6 If you want to modify the sphere’s parameters, choose the box in the Operands list. 7 Now there are two entries labeled Boolean in the stack display. Choose the lower entry. The Sphere is displayed in the Operands list. 8 Choose the Sphere from the Operands list. The sphere’s parameters are available by clicking the sphere's name in the modifier stack display. 9 Use this technique to change parameters or animate any of the operands within the multiple Boolean. You can also navigate multiple Booleans through Track View. Clicking the operand in Track View gives you direct access to its entry in the modifier stack display. In complex objects with many Booleans, this is an easier method than the one outlined above. Interface Pick Boolean rollout When you select operand B, you designate it as a Reference, Move (the object itself), Copy, or Instance, according to your choice in the Pick Boolean rollout for Boolean objects. Base your selection on how you want to use the scene geometry after you create the Boolean. Because you usually create Boolean objects from overlapping objects, if the B object isn't removed (if you don't use the default Move option), it often obstructs your view of the completed Boolean. You can move the Boolean or the B object to better see the result. Pick Operand B Use this button to select the second object to use to complete the Boolean operation. Boolean Compound Object | 653 Reference/Copy/Move/Instance Lets you specify how operand B is transferred to the Boolean object. It can be transferred either as a reference on page 9282, a copy, an instance on page 9195, or moved. ■ Use Reference to synchronize modifier-induced changes to the original object with operand B, but not vice-versa. ■ Use Copy when you want to reuse the operand B geometry for other purposes in the scene. ■ Use Instance to synchronize animation of the Boolean object with animated changes to the original B object, and vice-versa. ■ Use Move (the default) if you've created the operand B geometry only to create a Boolean, and have no other use for it. Object B geometry becomes part of the Boolean object regardless of which copy method you use. Parameters rollout 654 | Chapter 6 Creating Geometry Operands group Operands list field Displays the current operands. Name Edit this field to change the name of the operands. Choose an operand in the Operands list and it will also appear in the Name box. Extract Operand Extracts a copy or an instance of the selected operand. Choose one of the operands in the list window to enable this button. NOTE This button is available only in the Modify panel. You can't extract an operand while the Create panel is active. Instance/Copy Lets you specify how the operand is extracted: as either an instance on page 9195 or a copy. Operation group Union The Boolean object contains the volume of both original objects. The intersecting or overlapping portion of the geometry is removed. Intersection The Boolean object contains only the volume that was common to both original objects (in other words, where they overlapped). Subtraction (A-B) Subtracts the intersection volume of operand B from operand A. The Boolean object contains the volume of operand A with the intersection volume subtracted from it. Subtraction (B-A) Subtracts the intersection volume of operand A from operand B. The Boolean object contains the volume of operand B with the intersection volume subtracted from it. Cut Cuts operand A with operand B, but doesn't add anything to the mesh from operand B. This works like the Slice modifier on page 1676, but instead of using a planar gizmo, Cut uses the shape of operand B as the cutting plane. Cut treats the geometry of the Boolean object as volumes rather than closed solids. Cut does not add geometry from operand B to operand A. Operand B intersections define cut areas for altering geometry in operand A. There are four types of Cut: ■ RefineAdds new vertices and edges to operand A where operand B intersects the faces of operand A. 3ds Max refines the resulting geometry of operand A with additional faces inside the intersected area of operand B. Faces cut by the intersection are subdivided into new faces. You might use this option Boolean Compound Object | 655 to refine a box with text so that you can assign a separate material ID to the object. ■ SplitWorks like Refine but also adds a second or double set of vertices and edges along the boundary where operand B cuts operand A. Split produces two elements belonging to the same mesh. Use Split to break an object into two parts along the bounds of another object. ■ Remove InsideDeletes all operand A faces inside operand B. This option modifies and deletes faces of operand A inside the area intersected by operand B. It works like the subtraction options, except that 3ds Max adds no faces from operand B. Use Remove Inside to delete specific areas from your geometry. ■ Remove OutsideDeletes all operand A faces outside operand B. This option modifies and deletes faces of operand A outside the area intersected by operand B. It works like the Intersection option, except that 3ds Max adds no faces from operand B. Use Remove to delete specific areas from your geometry. Display/Update rollout Display group Visualizing the result of a Boolean can be tricky, especially if you want to modify or animate it. The Display options on the Boolean Parameters rollout help you visualize how the Boolean is constructed. 656 | Chapter 6 Creating Geometry The display controls have no effect until you've created the Boolean. ■ ResultDisplays the result of the Boolean operation; that is, the Boolean object itself. ■ OperandsDisplays the operands instead of the Boolean result. TIP When operands are difficult to see in a viewport, you can use the Operand list to select one or the other. Click the name of the A or B operand to select it. ■ Results + Hidden OpsDisplays the "hidden" operands as wireframe. Operand geometry remains part of the compound Boolean object, although it isn't visible or renderable. The operand geometry is displayed as wireframes in all viewports. Displaying the operands Boolean Compound Object | 657 Displaying the result (A-B) 658 | Chapter 6 Creating Geometry Displaying the hidden operand after A-B Boolean Compound Object | 659 Displaying the hidden operand after B-A Update group By default, Booleans are updated whenever you change the operands. A scene that contains one or more complicated, animated Booleans can impede performance. The update options provide alternate methods to improve performance. ■ AlwaysUpdates Booleans immediately when you change an operand, including the original object of an instanced or referenced B operand. This is the default behavior. ■ When RenderingUpdates Booleans only when you render the scene or click Update. With this option, viewports don't always show current geometry, but you can force an update when necessary. ■ ManuallyUpdates Booleans only when you click Update. With this option, the viewports and the render output don’t always show current geometry, but you can force an update when necessary. Update Updates the Boolean. The Update button is not available when Always is selected. 660 | Chapter 6 Creating Geometry Material Attach Options Dialog Use objects with different materials assigned to them. ➤ Create panel ➤ (Geometry) ➤ Compound Objects ➤ Object Type rollout ➤ Boolean ➤ Pick Boolean rollout ➤ Pick Operand B button ➤ Select object in the viewport that is operand B. When you use Boolean operations with objects that have been assigned different materials, 3ds Max displays the Material Attach Options dialog. This dialog offers five methods for handling the materials and the material IDs on page 9217 in the resultant Boolean object. NOTE If operand A has no material, and operand B has a material assigned, the Boolean dialog lets you choose to inherit the material from operand B. If operand A has a material assigned and operand B has no material assigned, the Boolean object automatically inherits materials from operand A. Procedures To create a Boolean from objects that match material IDs to material: 1 Create a Boolean on page 651 using at least one object that has a multi/sub-object material on page 6542 assigned to it. 2 On the Pick Boolean rollout, click Pick Operand B. 3 Click in a viewport and select the B operand. 3ds Max displays the Match Attach Options dialog. Boolean Compound Object | 661 4 Choose Match Material IDs to Material to complete the Boolean operation. Interface Match Material IDs to Material 3ds Max modifies the number of material IDs in the combined object to be no greater than the number of sub-materials assigned to the operands. For example, if you combine two boxes that have standard materials and each box is assigned six material IDs (the default), the resulting combined object has two operands with one material ID each, rather than the 12 that would result from using the Match Material to Material ID option. After you complete the operation, 3ds Max creates a new multi/sub-object material with two slots. 3ds Max assigns the sub-materials to the operands as they appeared before the operation. The number of resulting material IDs matches the number of materials between the original objects. You might use this option to reduce the number of material IDs. Match Material to Material IDs Maintains the original material ID assignment in the operands by adjusting the number of sub-materials in the resultant Multi/Sub-Object material. For example, if you combine two boxes, both assigned single materials, but with their default assignment of six material IDs, the result would be a Multi/Sub-Object material with 12 slots (six containing instances of one box's material, and six containing instances of the other box's material). Use this option when it's important to maintain the original material ID assignments in your geometry. Also use this option when material IDs have been assigned, but materials have not been assigned. NOTE To make the instanced sub-materials unique, select them in Track View, and click the Make Unique button on the Track View toolbar. You can also make them unique one at a time with the Make Unique button on page 6072 in the Material Editor. Do Not Modify Mat IDs or Material If the number of material IDs in an object is greater than the number of sub-materials in its multi/sub-object 662 | Chapter 6 Creating Geometry material, then the resultant face-material assignment might be different after the Boolean operation. Discard New Operand Material Discards the material assignment of operand B. 3ds Max assigns operand A's material to the Boolean object. Discard Original Material Discards the material assignment of operand A. 3ds Max assigns operand B's material to the Boolean object. NOTE A UVW Map modifier on page 1883 must be used with compound objects to apply mapping coordinates. Terrain Compound Object Select spline contours. ➤ Create panel ➤ Compound Objects ➤ Object Type rollout ➤ Terrain (Geometry) ➤ Select spline contours. ➤ Create menu ➤ Compound ➤ Terrain The Terrain button lets you produce terrain objects. 3ds Max generates these objects from contour line data. To create Terrain, you select editable splines representing elevation contours and create a mesh surface over the contours. You can also create a "terraced" representation of the terrain object so that each level of contour data is a step, resembling traditional study models of land forms. Terrain Compound Object | 663 Using contours to build a terrain Upper left: The contours Upper right: The terrain object Lower left: Terrain object used as the basis of a landscape If you import an AutoCAD drawing file to use as contour data, 3ds Max names each object based on the AutoCAD object's layer, color, or object type. A number is appended to each name. For example, an AutoCAD object on the layer BASE becomes an object named BASE.01. See Importing DWG Files on page 8194 for more information. After you import or create the contour data, select the objects, and click the Terrain button, 3ds Max creates a new triangulated mesh object based on the contour data. The name of the first selected spline becomes the name of the terrain object. Other splines in the selection are treated according to the previously set Reference, Move, Copy, or Instance selection in the Pick Operand rollout, described below. Keep in mind that the Terrain object can use any spline objects as operands, whether they are horizontal splines or not. Though the most common scenario is when sets of elevational contours are used to create terrain forms, it is possible to append or refine Terrain objects by using non-horizontal splines. 664 | Chapter 6 Creating Geometry NOTE To ensure that 3ds Max imports polylines as splines, when you import an AutoCAD drawing file, turn off Import AutoCAD DWG File dialog ➤ Geometry Options group ➤ Cap Closed Entities. Following are examples of uses of the Terrain feature: ■ Visualizing the effects of grading plans in 3D. ■ Maximizing views or sunlight by studying topographical undulation of land forms. ■ Analyzing elevation changes by using color on the data. ■ Adding buildings, landscaping, and roads to a terrain model to create virtual cities or communities. ■ Viewing corridors and completing ridge analyses from particular locations on a site by adding cameras to the scene. Procedures To analyze elevation changes: 1 Import or create contour data. 2 Select the contour data, then click the Terrain button. 3 On the Color By Elevation rollout, enter elevation zone values between the maximum and minimum elevations in the Base Elev box. Click Add Zone after entering the value. 3ds Max displays the zones in the list under the Create Defaults button. 4 Click the Base Color swatch to change the color of each elevation zone. For example, you could use a deep blue for low elevations, a light blue for intermediate elevations, and perhaps greens for higher elevations. 5 Click Solid To Top of Zone to see the elevation changes in a striped effect. 6 Click Blend To Color Above to see the elevation changes blended. Terrain Compound Object | 665 Interface Name and Color rollout Displays the name of the terrain object. 3ds Max uses the name of one of the selected objects to name the terrain object. Pick Operand rollout Pick Operand Adds splines to the terrain object. You might do this if you didn't select all the objects before generating the terrain object, or if some objects in the imported data weren't included in the terrain object. You can also use this option to add existing splines in the current scene to the terrain object. Reference/Copy/Move/Instance When you click Pick Operand, the copy method you designate determines how the operands are used. When Move is the method, the original contour data is moved from the scene and into the operands of the new terrain object. Copy, Reference, and Instance retain the original contour data in the scene and create copies, references or instances of the contour data as operands in the terrain object. This is similar to the copy method for Boolean on page 646. Override Allows you to select closed curves that override any other operand data within their interior. Within the area an Override operand encloses (as seen in plan), other curves and points of the mesh are disregarded and the elevation of the Override operand supersedes them. An Override operand is indicated in the operands list by a # after its name. Override is only effective on closed curves. If multiple override operands overlap, later overrides (higher operand numbers) take preference. 666 | Chapter 6 Creating Geometry Parameters rollout Operands group Operand list Displays the current operands. Each operand is listed as "Op" followed by a number and the name of the object that is being used as the operand. The operand name comprises layer, color, or object type name plus a numeric suffix. Delete Operand Deletes a selected operand from the Operands list. Terrain Compound Object | 667 Form group ■ Graded SurfaceCreates a graded surface of the mesh over the contours. Terrain created as a graded surface ■ Graded SolidCreates a graded surface with skirts around the sides and a bottom surface. This represents a solid that is visible from every direction. ■ Layered SolidCreates a "wedding cake" or laminated solid similar to cardboard architectural models. 668 | Chapter 6 Creating Geometry Terrain created as a "layered solid" surface, with levels Stitch Border When on, suppresses the creation of new triangles around the edges of terrain objects when edge conditions are defined by splines that are not closed. Most terrain forms display more reasonably when this is turned off. Retriangulate The basic Terrain algorithm tends to flatten or notch contours when they turn sharply upon themselves. A typical situation in which this may happen is when a narrow creek bed is described with contours; the resulting form may look more like a series of cascades at each elevational contour, rather than a smoothly descending ravine. When Retriangulate is checked, a somewhat slower algorithm is used that follows contour lines more closely. This may be particularly evident in the Layered Solid display mode. For additional precision, try using Retriangulate in conjunction with horizontal interpolation. Display group ■ TerrainDisplays only the triangulated mesh over the contour line data. ■ ContoursDisplays only the contour line data of the terrain object. Terrain Compound Object | 669 ■ BothDisplays both the triangulated mesh and the contour line data of the terrain object. You can select the terrain object by clicking its surface, but not by clicking a contour line. When Both is selected, contour lines may not be apparent in Wireframe display modes or when Edged Faces are displayed. Update group The items in this group box determine when 3ds Max recalculates the projection for the terrain object. Because complex terrain objects can slow performance, you can use these options to avoid constant calculation. ■ AlwaysUpdates the terrain object immediately when you change an operand, including the original object of an instanced or referenced operand. ■ When RenderingUpdates the terrain object when you render the scene or when you click Update. With this option, viewports won't show current geometry unless you click Update. ■ ManuallyUpdates the terrain object when you click Update. Update Updates the terrain object. This button is not enabled only when Always is the active option. Simplification rollout 670 | Chapter 6 Creating Geometry Horizontal group ■ No SimplificationUses all the operands' vertices to create a complex mesh. This results in greater detail and a larger file size than the two fractional options. ■ Use 1/2 of PointsUses half the set of vertices in the operands to create a less complex mesh. This results in less detail and a smaller file size than using No Simplification. ■ Use 1/4 of PointsUses a quarter of the of vertices in the operands to create a less complex mesh. This results in the least detail and smallest file size of these options. ■ Interpolate Points * 2Doubles the set of vertices in the operands to create a more refined but more complex mesh. This is most effective in terrain forms that use constructive curves such as circles and ellipses. This results in more detail and a larger file size than using No Simplification. ■ Interpolate Points * 4Quadruples the set of vertices in the operands to create a more refined but more complex mesh. This is most effective in terrain forms that use constructive curves such as circles and ellipses. This results in more detail and a larger file size than using No Simplification. Vertical group ■ No SimplificationUses all the spline operandsvertices of the terrain object to create a complex mesh. This results in greater detail and a larger file size than the other two options. ■ Use 1/2 of LinesUses half the set of spline operands of the terrain object to create a less complex mesh. This results in less detail and a smaller file size than using No Simplification. ■ Use 1/4 of LinesUses a quarter of the of spline operands of the terrain object to create a less complex mesh. This results in the least detail and smallest file size of the three options. Terrain Compound Object | 671 Color by Elevation rollout Maximum Elev. Displays the maximum elevation in the Z axis of the terrain object. 3ds Max derives this data from the contour data. Minimum Elev. Displays the minimum elevation in the Z axis of the terrain object. 3ds Max derives this data from the contour data. Reference Elev. This is the reference elevation, or datum, that 3ds Max uses as a guide for assigning colors to zones of elevation. After entering a reference elevation, click the Create Defaults button. 3ds Max treats elevations above the reference elevation as solid land and those below the reference elevation as water. 672 | Chapter 6 Creating Geometry If you enter a value no greater than the minimum elevation in the object, 3ds Max divides the range between the reference and minimum elevations into five color zones: dark green, light green, yellow, purple, and light gray. If you enter a value between the minimum and maximum elevations, 3ds Max creates six color zones. Two zones (dark blue and light blue) are used for elevations below the reference elevation. These are considered to be under water. One zone (dark yellow) is used for a narrow range around the reference elevation. Three zones (dark green, light green, light yellow) are used for elevations above the reference elevation. If you enter a value at or above the maximum elevation, 3ds Max divides the range between the minimum and reference elevations into three zones (dark blue, medium blue, light blue). Zones by Base Elevation group Create Defaults Creates elevation zones. 3ds Max lists the elevation at the bottom of each zone, referenced to the datum (the reference elevation). 3ds Max applies the color of the zone at the base elevation. Whether the colors blend between zones depends on your choice of the Blend to Color Above or Solid to Top of Zone option. Color Zone group The items in this group box assign colors to elevation zones. For example, you might want to change levels of blue to indicate the depth for water. Your changes in the Color Zone area don't affect the terrain object until you click the Modify Zone or Add Zone button. Base Elev This is the base elevation of a zone to which you assign color. After entering a value, click Add Zone to display the elevation in the list under Create Defaults. Base Color Click the color swatch to change the color of the zone. ■ Blend to Color AboveBlends the color of the current zone to the color of the zone above it. ■ Solid to Top of ZoneMakes a solid color at the top of the zone without blending to the color of the zone above it. Modify Zone Modifies selected options of a zone. Add Zone Adds values and selected options for a new zone. Delete Zone Deletes a selected zone. Terrain Compound Object | 673 Loft Compound Object Select a path or shape. ➤ Create panel ➤ Compound Objects ➤ Object Type rollout ➤ Loft (Geometry) ➤ Select a path or shape. ➤ Create menu ➤ Compound Objects ➤ Loft Loft objects are two-dimensional shapes extruded along a third axis. You create loft objects from two or more existing spline objects. One of these splines serves the path. The remaining splines serve as cross-sections, or shapes, of the loft object. As you arrange shapes along the path, 3ds Max generates a surface between the shapes. Roadway created as a lofted shape You create shape objects to serve as a path for any number of cross-section shapes. The path becomes the framework that holds the cross sections forming your object. If you designate only one shape on the path, 3ds Max assumes an identical shape is located at each end of the path. The surface is then generated between the shapes. 674 | Chapter 6 Creating Geometry 3ds Max places few restrictions on how you create a loft object. You can create curved, three-dimensional paths and even three-dimensional cross sections. When using Get Shape, as you move the cursor over an invalid shape, the reason the shape is invalid is displayed in the prompt line. Unlike other compound objects, which are created from the selected object as soon as you click the compound-object button, a Loft object is not created until you click Get Shape or Get Path, and then select a shape or path. Loft is enabled when the scene has one or more shapes. To create a loft object, first create one or more shapes and then click Loft. Click either Get Shape or Get Path and select a shape in the viewports. Once you create a loft object, you can add and replace cross-section shapes or replace the path. You can also change or animate the parameters of the path and shapes. Another method is to use the Modify panel's Deformations rollout to add complexity. See Deformations on page 703 for further information. Once you've created a loft object, you can also use the Modify panel's Deformations rollout to add complexity. See Deformations on page 703 for further information. You can't animate the path location of a shape. You can convert loft objects to NURBS surfaces on page 2500. Procedures To create a loft object: Creating loft objects is detailed and offers many choices, but the basic process is quite simple. 1 Create a shape to be the loft path. 2 Create one or more shapes to be loft cross sections. 3 Do one of the following: ■ Select the path shape and use Get Shape to add the cross sections to the loft. Loft Compound Object | 675 ■ Select a shape and use Get Path to assign a path to the loft. Use Get Shape to add additional shapes. You can use the loft display settings to view the skin generated by your loft in both wireframe and shaded views. NOTE 3ds Max builds the loft at the location of the first object you select: if you select a path and use Get Shape, it appears at the location of the path, and if you select a shape and use Get Path, it appears at the location of the shape. To create a loft with Get Path: 1 Select a shape as the first cross-section shape. 2 On the Create panel, with (Geometry) active, choose Compound Objects from the drop-down list. On the Object Type rollout, turn on Loft. 3 On the Creation Method rollout, click Get Path. 4 Choose Move, Copy, or Instance. 5 Click a shape for the path. The cursor changes to the Get Path cursor as you move it over valid path shapes. If the cursor does not change over a shape, that shape is not a valid path shape and cannot be selected. The first vertex of the selected path is placed at the first shape's pivot and the path tangent is aligned with the shape's local Z axis. When you click the path, 3ds Max builds the loft at the location of the shape. The location of the path doesn’t matter. To create a loft with Get Shape: 1 Select a valid path shape as the path. 2 If the selected shape is not a valid path, the Get Shape button is unavailable. 676 | Chapter 6 Creating Geometry 3 On the Create panel, with (Geometry) active, choose Compound Objects from the drop-down list. On the Object Type rollout, turn on Loft. 4 On the Creation Method rollout, click Get Shape. 5 Choose Move, Copy, or Instance. 6 Click a shape. The cursor changes to the Get Shape cursor as you move it over potential shapes. The selected shape is placed at the first vertex of the path. When you click the shape, 3ds Max builds the loft at the location of the path. The location of the shape doesn’t matter. TIP You can flip the shape along the path by holding down Ctrl when using Get Shape. For example, if you select the lowercase letter "b" with a Ctrl+click, the loft will look like the letter "d". Creation Method Rollout Select a path or shape. ➤ Create panel ➤ (Geometry) ➤ Compound Objects ➤ Object Type rollout ➤ Loft ➤ Creation Method rollout Select a path or shape. ➤ Create menu ➤ Compounds ➤ Loft ➤ Creation Method rollout You can choose between a shape or a path for creating the loft object using the Creation Method rollout, as well as the type of action for the loft object. Interface Loft Compound Object | 677 On the Creation Method rollout, you determine whether to use a shape or path for creating the loft object, and the type of action you want for the resulting loft object. NOTE 3ds Max builds the loft at the location of the first object you select: if you select a path and use Get Shape, it appears at the location of the path, and if you select a shape and use Get Path, it appears at the location of the shape. Get Path Assigns a path to the selected shape or changes the current assigned path. Get Shape Assigns a shape to the selected path or changes the current assigned shape. TIP Hold down Ctrl while getting the shape to flip the direction of the shape's Z axis. Move/Copy/Instance Lets you specify how the path or shape is transferred to the loft object. It can be moved, in which case no copy is left behind, or transferred as a copy or an instance on page 9195. TIP Use the Instance option if you expect to edit or modify the path after the loft is created. Surface Parameters Rollout Select a path or shape. ➤ Create panel ➤ (Geometry) ➤ Compound Objects ➤ Object Type rollout ➤ Loft ➤ Surface Parameters rollout Select a path or shape. ➤ Create menu ➤ Compounds ➤ Loft ➤ Surface Parameters rollout On the Surface Parameters rollout, you control smoothing of the surface of the loft as well as designate if texture mapping is applied along the loft object. 678 | Chapter 6 Creating Geometry Interface Loft Compound Object | 679 Smoothing group Left: Smoothing the length Right: Smoothing the width Rear: Smoothing both length and width Smooth Length Provides a smooth surface along the length of the path. This type of smoothing is useful when your path curves or when shapes on the path change size. Default=on. Smooth Width Provides a smooth surface around the perimeter of the cross-section shapes. This type of smoothing is useful when your shapes change the number of vertices or change form. Default=on. 680 | Chapter 6 Creating Geometry Mapping group Bitmap used to create the lines on the road Mapped roadway showing U and V dimensions for the loft Apply Mapping Turns lofted mapping coordinates on and off. Apply Mapping must be on in order to access the remaining items. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=off. Loft Compound Object | 681 Length Repeat Sets the number of times a map repeats along the length of the path. The bottom of the map is placed at the first vertex of the path. Width Repeat Sets the number of times a map repeats around the perimeter of cross-section shapes. The left edge of a map is aligned with the first vertex of each shape. Normalize Determines how path vertex spacing affects a map along both the path length and shape width. When on, vertices are ignored. Map coordinates and Repeat values are applied evenly along the length of the path and around the shapes. When off, major path divisions and shape vertex spacing affects map coordinate spacing. Map coordinates and Repeat values are applied proportionally according to the path division spacing or shape vertex spacing. Before and after applying Normalize to loft Materials group Generate Material IDs Creates Material IDs during the loft process. Use Shape IDs Offers the choice of using the spline material IDs to define the material IDs. NOTE Prior to version 3 of 3ds Max, splines could not hold material IDs. 682 | Chapter 6 Creating Geometry NOTE Shape IDs are inherited from shape cross sections, not from the path spline. Shape material IDs used to give the roadway two materials: concrete for supports and railings, asphalt with white lines for the traffic lanes Output Group Patch The lofting process produces a patch object. Mesh The lofting process produces a mesh object. This is the default, and was the only output type available with Loft in versions prior to version 3 of 3ds Max. You can also create NURBS objects from lofting by choosing Convert To: NURBS from the modifier stack right-click menu on page 8789. Path Parameters Rollout Select a path or shape. ➤ Create panel ➤ (Geometry) ➤ Compound Objects ➤ Object Type rollout ➤ Loft ➤ Path Parameters rollout Loft Compound Object | 683 Select a path or shape. ➤ Create menu ➤ Compounds ➤ Loft ➤ Path Parameters rollout The Path Parameters rollout lets you control the position of shapes at various intervals along the path of the loft object. Interface On the Path Parameters rollout, you control the position of multiple shapes at different intervals along the path of the loft object. Path Lets you set a path level by entering a value or dragging the spinner. If Snap is on, the value will jump to the previous snap increment. The Path value depends on the selected measuring method. Changing the measuring method causes the Path value to change. Inserting different shapes at different positions on the path Snap Lets you set a consistent distance between shapes along the path. The Snap value depends on the selected measuring method. Changing the measuring method also changes the Snap value to keep snap spacing constant. On When On is turned on, Snap is active. Default=off. Percentage Expresses the path level as a percentage of the total path length. Distance Expresses the path level as an absolute distance from the first vertex of the path. 684 | Chapter 6 Creating Geometry Path Steps Places shapes on path steps and vertices, rather than as a percentage or a distance along the path. When Path Steps is on, the following take place: ■ The Path spinner specifies the step along the path. The first step, at 0, is the first vertex. ■ The total number of steps, including vertices, appears in parentheses beside the Path spinner. ■ The current path level is indicated by the standard yellow X when it's a step, and by a small boxed X when it's a vertex. ■ Get Shape places a selected shape on the specified step or a vertex of the path. ■ Adaptive Path Steps on the Skin Parameters rollout is unavailable. (If it were available, the path steps and shapes would change positions along the path, depending on the result of the adaptive algorithm.) Please note the following when using the Path Steps option: ■ When you switch to Path Steps with a loft object that already contains one or more shapes, an alert message tells you that this action may relocate shapes. This is because there are a limited number of path steps, and only one shape can be on a single step or vertex. The Percentage and Distance options, on the other hand, provide an almost unlimited number of levels on which to place shapes. Thus, if you change from Percentage or Distance to Path Steps, the shapes must be moved to existing steps. If there are more shapes than can be moved to nearby steps, you could end up with more than one shape on a step. Switching from Path Steps to either Percentage or Distance, however, can always be done without loss of data. ■ If you alter the Path Steps spinner while in Path Steps mode, the location of your shapes might change. An alert message warns you of this. ■ If you animate the topology of the path while in Path Steps mode (such as animating the number of sides of an NGon), your shapes might jump around trying to find a legitimate position, and you could end up with more than one shape on the same path level. Pick Shape Sets the current level at any shape on the path. When you pick a shape on the path, Snap is turned off and Path is set to the level of the picked shape, where a yellow X appears. Pick Shape is available only from the Modify panel. Loft Compound Object | 685 Previous Shape Jumps the path level from its current location to the previous shape along the path. A yellow X appears at the current level. Clicking this button turns Snap off. Next Shape Jumps the path level from its current location to the next shape along the path. A yellow X appears at the current level. Clicking this button turns Snap off. Skin Parameters Rollout Select a path or shape. ➤ Create panel ➤ (Geometry) ➤ Compound Objects ➤ Object Type rollout ➤ Loft ➤ Skin Parameters rollout Select a path or shape. ➤ Create menu ➤ Compounds ➤ Loft ➤ Skin Parameters rollout On the Skin Parameters rollout, you adjust the complexity of the mesh of the loft object. You can also optimize the mesh by controlling the face count. Procedures Example: To use a constant cross-section: 1 Maximize the Front viewport, and then draw a Rectangle object on page 522 with Ctrl held down, to create a square about 20 x 20 units. 2 Create another rectangle beside it about 200 x 100 units. 3 Apply a Skew modifier to the large rectangle, but don't alter the Skew parameters. 4 Create a loft object in which the larger rectangle is the path and the square is the shape. 5 On the Modify panel, open the Skin Parameters rollout, and make sure Skin is on in the Display group. You can now see the wireframe structure of the lofted rectangle, with cross-sectional sides parallel to its corners. 686 | Chapter 6 Creating Geometry Make sure the color assigned the loft object is easily visible. Change it if necessary. 6 Turn off Constant Cross-Section, and observe the corners. When Constant Cross-Section is off, the corners become pinched. 7 Turn on Constant Cross-Section to restore the corners. Acute angles can cause problems when the cross sections formed by the path steps intersect at the corners. You can mitigate this by avoiding acute angles or by reducing the path steps. 8 Press H on the keyboard to open the Select From Scene dialog on page 184, and select Rectangle02 (the second larger rectangle). 9 On the Modify panel, change the Skew Axis to Y, and then set the Amount spinner to 95. 10 Use (Zoom Region) to zoom in on the upper-right corner of the rectangle so you can see the mesh in detail. At a skew of less than 100, the acute angle still works because the path cross-sections haven't intersected. 11 Set the Skew Amount to 300, and examine the same corner. At this angle, the path cross sections intersect, causing problems in the mesh. 12 Select the loft object, and set Path Steps to 1. The cross sections no longer intersect, and the corner is clean. When creating straight-edge molding for architectural modeling, you can avoid mangled corners simply by reducing the path steps to 0. Loft Compound Object | 687 Interface Capping group Cap Start When on, the end of a loft at the first vertex of the path is covered, or capped. When off, the end is open, or uncapped. Default=on. Cap End When on, the end of a loft at the last vertex of the path is covered, or capped. When off, the end is open, or uncapped. Default=on. Morph Arranges cap faces in a predictable, repeatable pattern necessary for creating morph targets. Morph capping can generate long, thin faces that do not render or deform as well as those created with grid capping. Grid Arranges cap faces in a rectangular grid trimmed at the shape boundaries. This method produces a surface of evenly sized faces that can be deformed easily by other modifiers. 688 | Chapter 6 Creating Geometry Roadway lofted with capping turned off Loft Compound Object | 689 Roadway lofted with capping turned on Options group Shape Steps Sets the number of steps between each vertex of the cross-section shapes. This value affects the number of sides around the perimeter of the loft. 690 | Chapter 6 Creating Geometry Left: Shape Steps=0. Right: Shape Steps=4. Path Steps Sets the number of steps between each main division of the path. This value affects the number of segments along the length of the loft. Loft Compound Object | 691 Frame lofted with Path Steps=1 692 | Chapter 6 Creating Geometry Frame lofted with Path Steps=5 Optimize Shapes When on, the Shape Steps setting is ignored for straight segments of cross-section shapes. If multiple shapes are on the path, only straight segments that have a match on all shapes are optimized. Default=off. Loft Compound Object | 693 Left: Optimize Shapes turned on Right: Optimize Shapes turned off Optimize Path When on, the Path Steps setting is ignored for straight segments of the path. Curved sections respect the Path steps setting. Available only with Path Steps mode. Default=off. 694 | Chapter 6 Creating Geometry When Optimize Path is off, the lofted roadway uses more steps. Loft Compound Object | 695 When Optimize Path is on, straight sections of the lofted roadway don't require additional steps. Adaptive Path Steps When on, analyzes the loft and adapts the number of path divisions to generate the best skin. Main divisions along the path occur at path vertices, shape locations, and deformation curve vertices. When off, main divisions along the path occur only at path vertices. Default=on. Contour When on, each shape follows the curvature of the path. The positive Z axis of each shape is aligned with the tangent to the path at the shape's level. When off, shapes remain parallel and have the same orientation as a shape placed at level 0. Default=on. 696 | Chapter 6 Creating Geometry Lofting the roadway with Contour off causes it to twist. Loft Compound Object | 697 Roadway lofted with Contour turned on Banking When on, shapes rotate about the path whenever the path bends and changes height in the path's local Z axis. The bank amount is controlled by 3ds Max. Banking is ignored if the path is 2D. When off, shapes do not rotate about their Z axis as they traverse a 3D path. Default=on. 698 | Chapter 6 Creating Geometry Roadway lofted with Banking turned on Constant Cross Section When on, the cross sections are scaled at angles in the path to maintain uniform path width. When off, the cross sections maintain their original local dimensions, causing pinching at path angles. Loft Compound Object | 699 Frame lofted with Constant Cross Section turned off 700 | Chapter 6 Creating Geometry Frame lofted with Constant Cross Section turned on Linear Interpolation When on, generates a loft skin with straight edges between each shape. When off, generates a loft skin with smooth curves between each shape. Default=off. Loft Compound Object | 701 Left: Object lofted with Linear Interpolation turned off Right: Object lofted with Linear Interpolation turned on Flip Normals When on, reverses the normals 180 degrees. Use this option to correct objects that are inside-out. Default=off. Quad sides When on, and when two sections of a loft object have the same number of sides, the faces that stitch the sections together are displayed as quads. Sides between sections with different numbers of sides are not affected, and are still connected with triangles. Default=off. Transform Degrade Causes the loft skin to disappear during sub-object shape/path transformations. For example, moving a vertex on the path causes the loft to disappear. When off, you can see the skin during these Sub-Object transformations. Default=off. Display group Skin When on, displays a loft's skin in all views using any shading level and ignores the Skin In Shaded setting. When off, displays only the loft sub-objects. Default=on. 702 | Chapter 6 Creating Geometry Skin in Shaded When on, displays a loft's skin in shaded views regardless of the Skin setting. When off, skin display is controlled by the Skin setting. Default=on. The loft object now retains the Skin and Skin In Shaded settings from one loft object to the next one created. Deformations Select a Loft object. ➤ Modify panel ➤ Deformations rollout Deformation controls let you scale, twist, teeter, bevel or fit shapes along the path. The interface for all deformations is a graph. Lines with control points on the graph represent the deformations along the path. Control points on the graphs can be moved or animated for modeling purposes or for various special effects. Manually creating and placing shapes along the path to produce these models would be a difficult task. Lofts solve this problem through the use of deformation curves. The deformation curves define changes in scale, twisting, teetering, and beveling along the path. You gain access to loft deformation curves through the Modify panel's Deformations rollout. Deformations are not available in the Create panel. You must open the Modify panel after you’ve lofted to access the Deformations rollout, which offers the following features: ■ Each deformation button displays its own deformation dialog. ■ You can display any or all of the deformation dialogs simultaneously. ■ The button to the right of each deformation button is a toggle to enable or disable the deformation's effect. See also: ■ Deformation Dialog on page 716 Loft Compound Object | 703 Procedures To apply deformations to a loft: 1 Select a loft object. 2 Go to the Modify panel and choose Loft from the modifier stack display if it's not already displayed. 3 Expand the Deformations rollout. 4 Click the deformation that you want to use. The window for the selected deformation appears. To toggle the deformation effect: ■ Click Enable/Disable to the right of the deformation buttons. Interface Deform Scale on page 705 Deform Twist on page 706 Deform Teeter on page 708 Deform Bevel on page 711 Deform Fit on page 713 704 | Chapter 6 Creating Geometry Deform Scale Select a Loft object. ➤ Scale Modify panel ➤ Deformations rollout ➤ You can loft objects such as columns and bugles from a single shape that changes only its scale as it travels along a path. Use Scale deformation when you want to make these types of objects. TIP By animating scale, a loft object can appear to travel along a path. Using this technique, you can create animations in which letters or lines write themselves onto the screen. These are the properties of Scale deformation curves: ■ The two curves are red for X-axis scaling and green for Y-axis scaling. ■ Default curve values are at 100%. ■ Values greater than 100% make the shape larger. ■ Values between 100% and 0% make the shape smaller. ■ Negative values scale and mirror the shape. See Deformation Dialog on page 716 for specific information on the dialog controls. Loft Compound Object | 705 Scale deformation curve dialog Procedures To use Scale deformation: 1 Select a loft object. 2 Click Loft in the modifier stack display. 3 Click Scale on the Deformations rollout. 4 Edit the deformation curves for the X axis and Y axis. Deform Twist Select a Loft object. ➤ Twist Modify panel ➤ Deformations rollout ➤ Twist deformation lets you create objects that spiral or twist along their length. Twist specifies the amount of rotation about the path. 706 | Chapter 6 Creating Geometry Twist deformation curve dialog Using twist to deform the lofted roadway These are the properties of Twist deformation curves: ■ A single red curve determines shape rotation about the path. ■ The default curve value is 0 degrees of rotation. ■ Positive values produce counterclockwise rotation, when viewed from the start of the path. ■ Negative values produce clockwise rotation. Loft Compound Object | 707 Both twist deformation and banking produce rotation about the path. Twist rotation is added to a shape after the banking angle is applied. You can use Twist deformation to exaggerate or reduce the amount of banking. ■ See Deformation Dialog on page 716 for specific information on the dialog controls. Procedures To use Twist deformation: 1 Select a loft object. 2 Click Loft in the modifier stack display. 3 Click Twist on the Deformations rollout. 4 Edit the single deformation curve to specify rotation about the path. Deform Teeter Select a Loft object. ➤ Teeter Modify panel ➤ Deformations rollout ➤ Teeter deformation rotates shapes about their local X axis and Y axis. Teetering is what 3ds Max does automatically when you select Contour on the Skin Parameters rollout. Use Teeter deformation when you want to manually control contour effects. 708 | Chapter 6 Creating Geometry Teeter deformation curve dialog Roadway lofted with no teeter Loft Compound Object | 709 Roadway lofted with teeter turned on. Teeter affects the X and Y axis orientation of the shape in relation to the path. These are the properties of Teeter deformation curves: ■ The two curves are red for X-axis rotation and green for Y-axis rotation. ■ Default curve values are at 0 degrees rotation. ■ Positive values rotate the shape counterclockwise about the shape's positive axis. ■ Negative values rotate the shape clockwise about the shape's positive axis. See Deformation Dialog on page 716 for specific information on the dialog controls. 710 | Chapter 6 Creating Geometry Procedures To use Teeter deformation: 1 Select a loft object. 2 Click Loft in the modifier stack display. 3 Click Teeter on the Deformations rollout. 4 Edit the deformation curves for X axis and Y axis rotation. Deform Bevel Select a Loft object. ➤ Bevel Modify panel ➤ Deformations rollout ➤ Nearly every object that you encounter in the real world is beveled. Because it is difficult and expensive to manufacture a perfectly sharp edge, most objects are created with chamfered, filleted, or eased edges. Use Bevel deformation to simulate these effects. Loft Compound Object | 711 Roadway with beveled edges NOTE Bevel is not available when loft output is set to Patch. These are the properties of Bevel deformation curves: ■ The single red curve is for bevel amount. ■ Bevel values are specified in current units. ■ The default curve value is 0 units. ■ Positive values reduce the shape, bringing it closer to the path. ■ Negative values add to the shape, moving it away from the path. When shapes are nested, the bevel direction is reversed for interior shapes. See Deformation Dialog on page 716 for specific information on the dialog controls. 712 | Chapter 6 Creating Geometry Normal and Adaptive Beveling The Bevel Deformation dialog provides three types of beveling: Normal, Adaptive Linear, and Adaptive Cubic. These are available from a flyout at the right end of the dialog toolbar. With normal beveling, the beveled shape remains parallel to the original, regardless of the crotch angle of the shape. Steep crotch angles combined with excessive bevel amounts result in overshooting at the crotch. Adaptive beveling alters the length of the bevel shape based on the crotch angle. Adaptive Linear alters the length-to-angle in a linear fashion. Adaptive Cubic alters it more on steep angles than on shallow angles, producing a subtly different effect. Both forms of adaptive beveling result in nonparallel beveled edges, and both are less likely to produce invalid bevels due to overshoots at the crotch. To see the differences in the three types of beveling, loft a star shape along a straight path and apply a bevel. When you switch among the three types of beveling, you'll see the difference in the bevel outline. Alter one radius of the star to examine the beveling with shallow and with sharp crotch angles. Procedures To use Bevel deformation: 1 Select a loft object. 2 Click Loft in the modifier stack display. 3 Click Bevel on the Deformations rollout. 4 Adjust the deformation curve. Deform Fit Select a Loft object. ➤ Fit Modify panel ➤ Deformations rollout ➤ Loft Compound Object | 713 Fit deformation lets you use two Fit curves to define the top and side profiles of your object. Use Fit deformation when you want to generate loft objects by drawing their profiles. Fit curves define a lofted shape. Fit shapes are really scale boundaries. As your cross-section shape travels along the path, its X axis is scaled to fit the boundaries of the X-axis fit shape and its Y axis is scaled to fit the boundaries of the Y-axis fit shape. NOTE Fit is not available when loft output is set to Patch. Procedures To use Fit deformation: 1 Select a loft object. 2 Click Loft in the modifier stack display. 3 Click Fit on the Deformations rollout. 714 | Chapter 6 Creating Geometry 4 In the viewport, click the shapes to use as fit curves. Interface Fit Deformation dialog The Fit Deformation dialog contains different buttons than the other deformations. For descriptions of the first eight buttons on the toolbar, see Deformation Dialog on page 716. The following descriptions apply to the tools specific to Fit deformation, and are listed from left to right in the order they appear on the toolbar. Fit Deformation toolbar Mirror Horizontally Mirrors the shape across the horizontal axis. Mirror Vertically Mirrors the shape across the vertical axis. Rotate 90 CCW Rotates the shape 90 degrees counterclockwise. Loft Compound Object | 715 Rotate 90 CW Rotates the shape 90 degrees clockwise. Delete Control Point Deletes the selected control point. Reset Curve Replaces the displayed Fit curve with a rectangle 100 units wide and centered on the path. If Make Symmetrical is on, both Fit curves are reset even though only one might be displayed. Delete Curve Deletes the displayed Fit curve. If Make Symmetrical is on, both Fit curves are deleted even though only one might be displayed. Get Shape Lets you select the shape to use for Fit deformation. Click Get Shape, and then click the shape to use in a viewport. Generate Path Replaces the original path with a new straight-line path. Deformation Dialog Select a Loft object. ➤ Modify panel ➤ Deformations rollout ➤ Scale, Twist, Teeter, Bevel, or Fit The Deformation dialogs for Scale, Twist, Teeter, Bevel, and Fit use the same basic layout. The buttons in the window's toolbar and prompt area perform the following functions: ■ Change deformation curve display. 716 | Chapter 6 Creating Geometry ■ Edit control points (these can be animated). ■ Navigate the Deformation dialog. Editing Deformation Curves A deformation curve starts as a straight line using a constant value. To produce more elaborate curves, you insert control points and change their properties. Use the buttons in the center of the Deformation dialog toolbar to insert and change deformation curve control points (see Interface, later in this topic). Control Point Types Control points on a deformation curve can produce curves or sharp corners, depending on the control point type. To change a control point type, right-click the control point and choose one of these from the shortcut menu: ■ CornerNon-adjustable linear control point producing a sharp corner. ■ Bezier CornerAdjustable Bezier control point with discontinuous tangent handles set to produce a sharp corner. This type produces a curve that looks like the corner type but has control handles like the Bezier Smooth type. ■ Bezier SmoothAdjustable Bezier control point with locked continuous tangent handles set to produce a smooth curve. Selecting Control Points Use the Move Control Point and Scale Control Point buttons with standard selection techniques to select control points. Procedures To drag Bezier tangent handles: 1 Select one or more Bezier Smooth or Bezier Corner control points to display their tangent handles. 2 Click one of the Move Control Point buttons. Loft Compound Object | 717 3 Drag any tangent handle. ■ Only the tangent handle you drag is affected. Tangent handles on other selected control points do not change. ■ If the tangent handle you drag is part of a Bezier Smooth control point, both handles move to maintain the Bezier Smooth type. ■ If the tangent handle you drag is part of a Bezier Corner control point, only that handle moves. To move a control point using the Position and Amount fields: 1 Select a single control point. 2 Do one of the following: ■ Move the control point horizontally by entering a value in the Position field. ■ Move the control point vertically by entering a value in the Amount field. To change the control point type: You can change control point types at any time by right-clicking a selection of one or more control points. 1 Select one or more control points. 2 Right-click any selected control point. 3 Choose a control point type from the shortcut menu. The following conditions apply to changing control point types: ■ The first and last control points must use the Corner or Bezier Corner type. ■ Converting a Bezier Smooth point to a Bezier Corner point unlocks the tangent handles but does not change their position. The curve appears smooth until you drag one of the tangent handles. 718 | Chapter 6 Creating Geometry ■ Converting a Bezier Corner point or inserted Bezier point to Bezier Smooth locks the tangent handles and changes their position and magnitude. The handles are rotated to the average between their two angles. The handle magnitudes are averaged and set equal. Interface Toolbar Buttons for working with a second curve are disabled for the Twist and Bevel deformations, which use only one curve. The disabled buttons are Make Symmetrical, Display X Axis, Display Y Axis, Display XY Axes, and Swap Deform Curves. Make Symmetrical You can apply the same deformation to both axes of a shape using Make Symmetrical, which is both an action button and a curve editing mode. Turning on Make Symmetrical has the following effect: ■ When a single curve is displayed, it copies the displayed deformation curve to the curve for the hidden axis. ■ When both axes are displayed, the Apply Symmetry dialog is also displayed. Click the button for the curve you want to apply to both axes. ■ Changes you make to the selected curve are duplicated on the other curve. When Make Symmetrical is not active, curve editing is applied only to the selected curve. Loft Compound Object | 719 Display X Axis / Y Axis / XY Axes You can display one or both deformation curves using the curve display buttons near the upper-left corner of the Deformation dialog. Turn on the following buttons to display deformation curves: ■ Display X AxisDisplays only the X axis deformation curve in red. ■ Display Y AxisDisplays only the Y axis deformation curve in green. ■ Display XY AxesDisplays X axis and Y axis deformation curves together, each using its own color. Swap Deform Curves Copies curves between the X axis and Y axis. This button is disabled when Make Symmetrical is on. Click Swap Deform Curves to copy the X axis curve to the Y axis, and the Y axis curve to the X axis. It doesn't matter which curve is currently displayed or selected. Move Control Points This flyout contains three buttons for moving control points and Bezier handles: ■ Move Control PointChanges the amount of deformation (vertical movement) and the location of the deformation (horizontal movement). ■ Move VerticalChanges the amount of deformation without changing the location. ■ Move HorizontalChanges the location of the deformation without changing the amount. 720 | Chapter 6 Creating Geometry If one control point is selected, you can move it by entering values in the control point Position and Amount fields at the bottom of the Deformation dialog. You cannot move end points horizontally. Intermediate control points are constrained horizontally to stay between the points on either side. The amount of horizontal constraint is determined by the control point type. ■ You can move corner control points very close together, until one is directly above the other. ■ You can move Bezier control points no closer than the length of their tangent handles. Moving Bezier Tangent Handles You can use the Move Control Point buttons to drag a tangent handle's angle and magnitude on Bezier Smooth and Bezier Corner vertices. Dragging a tangent handle has the following constraints: ■ You cannot move tangent angles beyond vertical. This prevents deformation curves from doubling back on themselves. ■ You cannot move tangent magnitudes beyond the preceding or next control point on the path. Pressing Shift while moving a Bezier Smooth tangent handle converts the control point to a Bezier Corner type. Scale Control Point Scales the value of one or more selected control points with respect to 0. Use this function when you want to change only the deformation amounts of selected control points while maintaining their relative ratio of values. ■ Drag downward to reduce values. ■ Drag upward to increase values. Insert Control Point This flyout contains buttons for inserting two control point types. Insert Corner Point Click anywhere on a deformation curve to insert a corner control point at that location. Loft Compound Object | 721 Insert Bezier Point Click anywhere on a deformation curve to insert a modified Bezier control point at that location. The tangent handles of the Bezier control point are set to maintain the shape of the curve before the point was inserted. If you are not sure which type of control point you need, or if you change your mind, you can convert the point to another type by right-clicking the point and selecting the type from the shortcut menu. Both Insert Control Point buttons put you in insertion mode. Right-click or choose another button to exit the mode. Delete Control Point Deletes selected control points. You can also delete selected points by pressing the Delete key. Reset Curve Deletes all but the end control points and sets the curves back to their default values. Bevel Type This flyout, available only in the Bevel Deformation dialog, lets you choose Normal, Adaptive Linear or Adaptive Cubic as the bevel type. For more information, see Deform Bevel on page 711. Deformation grid The area in the Deformation dialog that displays the deformation curves is called the deformation grid. This grid charts the value of the deformation along the length of the path. These are the main grid components: Active area The light-colored area of the grid defines the first and last vertex boundaries of the path. The ends of the deformation curve lie on each boundary and cannot be moved off the boundary. Horizontal lines Mark deformation values on the vertical scale. The following table lists each deformation curve type and the meaning of the deformation values. Deformation Type Deformation Value Scale Percentage Twist Rotation Angle 722 | Chapter 6 Creating Geometry Deformation Type Deformation Value Teeter Rotation Angle Bevel Current Units The thick horizontal line at 0 represents the deformation value at the loft path. Vertical lines Mark levels of the path. The levels displayed vary with the Adaptive Path Steps setting on the Skin Parameters rollout on page 686. If Adaptive Path Steps is on, levels are displayed at all path vertices and shape locations. If Adaptive Path Steps is off, levels are displayed only at path vertices. Path ruler Measures the length of the path. The values on the ruler measure percentage along the path. You can drag the path ruler vertically in the Deformation dialog. Deformation curves You can see one or two curves in the Deformation dialog, based on the deformation type and the curve display setting. The curves are color-coded by axis. A red curve displays deformation along the shape's local X axis. A green curve displays deformation along the shape's local Y axis. Control Point fields At the bottom of the Deformation dialog are two edit fields. When a single control point is selected these fields display the path location and deformation amount of the control point. Control Point Position The left field displays the location of the control point on the loft path as a percentage of the total path length. Control Point Amount The right field displays the deformation value of the control point. Deformation Dialog status bar The Deformation dialogs have their own view navigation buttons in the lower-right corner. These give you controls for zooming and panning the view of the deformation grid as you edit the curve values. The status bar also displays information about the current tool and the selected control point. Numeric fields These two fields are accessible only if a single control point is selected. The first gives the point's horizontal position, and the second gives its vertical position, or value. You can edit these fields with the keyboard. Loft Compound Object | 723 Lock Aspect This button is present only in the Fit Deformation dialog. When active, it restricts zooming to vertical and horizontal at the same time. Zoom Extents Changes the view magnification so the entire deformation curve is visible. Zoom Horizontal Extents Changes the view magnification along the path length so the entire path area is visible in the dialog. Zoom Vertical Extents Changes the view magnification along the deformation values so the entire deformation curve is displayed in the dialog. Zoom Horizontally Changes magnification along the path length. ■ Drag to the right to increase magnification. ■ Drag to the left to decrease magnification. Zoom Vertically Changes magnification along the deformation value. ■ Drag upward to increase magnification. ■ Drag downward to decrease magnification. Zoom Changes magnification along both the path length and the deformation value, preserving the curve aspect ratio. ■ Drag upward to increase magnification. ■ Drag downward to decrease magnification. Zoom Region Drag a region on the deformation grid. The region is then magnified to fill the deformation dialog. 724 | Chapter 6 Creating Geometry Pan Drag in the view to move in any direction. Scroll bars Drag the horizontal and vertical scroll bars to pan the view in a single direction. Path Commands Select a Loft object. ➤ Modify panel ➤ Modifier stack display ➤ Sub-object level ➤ Path ➤ Path Commands The Path Commands rollout appears only when you are modifying an existing loft object and have selected Path from the Sub-Object list. The Put command allows you to make a copy or instance of the loft path. Interface Put group Put Places the path into the scene as a separate object (as a Copy or Instance). Shape Commands Select a Loft object. ➤ Modify panel ➤ Modifier stack display ➤ Sub-object level ➤ Shape ➤ Shape Commands rollout Shape Commands let you align and compare shapes along the loft path. Loft Compound Object | 725 Interface Path Level Adjusts the shape's position on the path. Compare Displays the Compare dialog on page 727 in which you can compare any number of cross-section shapes. Reset Undoes rotation and scale of the shape performed with the Select and Rotate or Select and Scale. Delete Deletes the shape from the loft object. Align group The six buttons in this group let you align the selected shape in relation to the path. Looking down at a shape from the viewport in which it's created, the orientation is left to right along the X axis, and top to bottom along the Y axis. You can use a combination of these buttons for placements such as corner alignment. The operations are additive. In other words, you can use both Bottom and Left to place the shape in the lower-left quadrant. Center Centers the shape on the path, based on the bounding box of the shape. Default Returns the shape to its position when first placed on the loft path. When you use Get Shape, the shape is placed so that the path goes through its pivot point. This is not always the same as the center of the shape. Therefore, clicking Center is different than clicking Default. 726 | Chapter 6 Creating Geometry Left Aligns the left edge of the shape to the path. Right Aligns the right edge of the shape to the path. Top Aligns the top edge of the shape to the path. Bottom Aligns the bottom edge of the shape to the path. Put group Put Puts the shape into the scene as a separate object. Compare Dialog Select a Loft object. ➤ Modify panel ➤ Modifier stack display ➤ Sub-object level ➤ Shape ➤ Shape Commands rollout ➤ Compare button The Compare dialog lets you compare any number of cross-section shapes in a loft object for purposes of making sure their first vertices are properly aligned. If shapes' first vertices aren't aligned, unexpected lofting results can occur. Loft Compound Object | 727 Interface Pick Shape Lets you select shapes to display from the selected loft object. Click the Pick Shape button in the upper-left corner of the dialog. Then, in the viewport, select the shapes to display. Select a shape a second time to remove it from the display. When you position the mouse cursor over a shape in the loft object, the cursor image changes to show whether the shape appears in the dialog window: a + sign appears if the shape isn't selected (indicating that if you select the shape, it will be added to the dialog window), and a - sign appears if the shape is already selected. 728 | Chapter 6 Creating Geometry With each shape, the Compare dialog displays the first vertex as a small square. For correct lofting, the first vertices of all shapes on the path need to be in the same position. Reset Removes all shapes from the display. Dialog controls You can scroll the Compare dialog with the scroll bars at the bottom and right sides. You can also use the buttons in the lower-right corner to perform View Extents, Pan, Zoom, and Zoom Region functions. Align group While the Compare dialog is open, you can affect the shapes' positions in the dialog window with the Shape Commands rollout ➤ Align group buttons. Turn off Pick Shape, select a shape in the viewport, and then click the Align group buttons. See Shape Commands on page 725 for further information. Mesher Compound Object Create panel ➤ Type rollout ➤ Mesher (Geometry) ➤ Compound Objects ➤ Object Create menu ➤ Compound ➤ Mesher The Mesher compound object converts procedural objects to mesh objects on a per-frame basis so that you can apply modifiers such as Bend or UVW Map. It can be used with any type of object, but is designed primarily to work with particle systems on page 3323. Mesher is also useful for low-overhead instancing of objects with complex modifier stacks. Procedures To use a Mesher object: 1 Add and set up a particle system. Mesher Compound Object | 729 2 On the Create panel, with (Geometry) active, choose Compound Objects from the drop-down list. On the Object Type rollout, turn on Mesher. 3 Drag in a viewport to add the Mesher object. The size doesn't matter, but the orientation should be the same as that of the particle system. 4 Go to the Modify panel, click the Pick Object button, and then select the particle system. The Mesher object becomes a clone of the particle system, and shows the particles as mesh objects in the viewports no matter what the particle system's Viewport Display setting is. 5 Apply a modifier to the Mesher object, and set its parameters. For example, you might apply a Bend modifier and set its Angle parameter to 180. 6 Play the animation. Depending on the original particle system and its settings, as well as any modifiers applied to the Mesher object, you might be getting unexpected results. This typically occurs because the bounding box for the modifier, as applied to the particle system, is recalculated at each frame. For example, with a bent Super Spray particle system set to spread out over time, as the particles stream away and separate, the bounding box becomes longer and thicker, potentially causing unexpected results. To resolve this, you can use another object to specify a static bounding box. 7 To use another object's bounding box to limit the modified Mesher object, first add and set up the object. Its position, orientation, and size are all used in calculating the bounding box. 8 Select the Mesher object, and go to the Mesher stack level. 9 On the Parameters rollout, turn on Custom Bounding Box, click the Pick Bounding box button, and then select the bounding box object. The particle stream uses the new, static bounding box. 730 | Chapter 6 Creating Geometry TIP You can use any object as a bounding box, so it is often fastest to use the particle system itself. Move to the frame where the particle system is the size you want and pick it. In the following illustration, you can see a Super Spray particle system (left) and a Mesher object derived from the Super Spray (right). A Bend modifier is applied to the Mesher. In the center is a box object being used as a custom bounding box. The bounding box applied to the Bend modifier is visible as an orange wireframe when the modifier is highlighted in the stack. Using a custom bounding box with a bent particle system To modify the particles aspect of the Mesher, edit the original particle system. To modify the custom bounding box, move, rotate, or scale the bounding box object, and then reapply it using the Mesher object. At this point, both particle systems will render. The original particle system must exist in order to be able to be used by the Mesher object, so if you want only the Mesher replica to render, hide the original system before rendering. Mesher Compound Object | 731 Interface Parameters rollout Pick Object Click this button and then select the object to be instanced by the Mesher object. After doing so, the name of the instanced object appears on the button. 732 | Chapter 6 Creating Geometry Time Offset The number of frames ahead of or behind the original particle system that the Mesher's particle system will run. Default=0. Build Only At Render Time When on, the Mesher results do not appear in the viewports, but only when you render the scene. Default=off. Use this option to reduce the amount of computation required for the viewport display. Update After editing the original particle system settings or changing the Mesher Time Offset setting, click this button to see the changes in the Mesher system. Custom Bounding Box When on, Mesher replaces the dynamic bounding box derived from the particle system and modifier with a static bounding box of the user's choice. Pick Bounding Box To specify a custom bounding box object, click this button and then select the object. The custom bounding box appears as an orange wireframe when the modifier is highlighted in the stack. TIP You can use any object as a bounding box, so it is often fastest to use the particle system itself. Move to the frame where the particle system is the size you want and pick it. (coordinate values) Displays the coordinates of the opposite corners of the custom bounding box. Use All PFlow Events When on, and you've applied Mesher to a Particle Flow on page 3033 system, Mesher automatically creates mesh objects for every event on page 9148 in the system. To use only certain events, turn this off and specify the events to use with the PFlow Events group controls (see following). PFlow Events group When the Mesher object is applied to a Particle Flow system, use these controls to create meshes for specific events in the system. Mesher does not create meshes for the remaining events. [list box] Displays all Particle Flow events currently affected by Mesher. Add Lets you specify Particle Flow events to be affected by Mesher. If the Mesher object is applied to a Particle Flow system, when you click Add, an Add PF Events dialog opens listing all events in the system. Highlight the events to add, and then click OK. The events now appear in the list. Mesher Compound Object | 733 Remove Deletes highlighted events from the list. ProBoolean/ProCutter Compound Objects The ProBoolean and ProCutter compound objects provide you with modeling tools for combining 2D and 3D shapes in ways that would be difficult or impossible otherwise. The ProBoolean compound object on page 736 takes a 3ds Max mesh and adds extra intelligence to it prior to performing Boolean operations. First it combines the topologies, then it determines coplanar triangles and removes incident edges. The Booleans are then performed not on triangles but N-sided polygons. Once the Boolean operations are completed, the result is retriangulated and sent back into 3ds Max with coplanar edges hidden. The result of this extra work is twofold: The reliability of the Boolean object is extremely high, and the resulting output is much cleaner in terms of having fewer small edges and triangles. 734 | Chapter 6 Creating Geometry Objects combined by using ProBoolean Advantages of ProBoolean over the legacy 3ds Max Boolean compound object include: ■ Better quality mesh: fewer small edges, fewer narrow triangles. ■ Smaller mesh: fewer vertices and faces. ■ Easier and faster to use: unlimited objects per Boolean operation. ■ Cleaner-looking mesh: coplanar edges remain hidden. ■ Integrated decimation and quad meshing In addition, ProCutter on page 758 is an excellent tool for exploding, breaking apart, assembling, sectioning, or fitting together objects such as a 3D puzzle. See the following illustration for an example of a goblet shattering. ProBoolean/ProCutter Compound Objects | 735 Shattering a glass by use of the ProCutter object ProBoolean Compound Object Select an object. ➤ Create panel ➤ Objects ➤ Object Type rollout ➤ ProBoolean (Geometry) ➤ Compound A Boolean object combines two or more other objects by performing a Boolean operation or operations on them. ProBoolean adds a range of functionality to the traditional 3ds Max Boolean object, such as the ability to combine multiple objects at once, each using a different Boolean operation. ProBoolean can also automatically subdivide the Boolean result into quadrilateral faces, which lends itself well to smoothing edges with MeshSmooth on page 1450 and TurboSmooth on page 1767. Materials, Textures, Vertex Colors ProBoolean and ProCutter transfer texture coordinates, vertex colors, optionally materials, and maps from the operands to the final results. You can choose to apply the operand material to the resulting faces, or you can retain the original material. If one of the original operands had material maps or vertex colors, the resulting faces derived from that operand maintain those graphical attributes. However, when texture coordinates or vertex colors are present, it is impossible to remove coplanar faces, so the resulting mesh quality will be lower. We suggest that you apply textures after the ProBoolean operations. 736 | Chapter 6 Creating Geometry ProBoolean provides two options for applying materials, available in the Apply Material group on the Parameters rollout (see above illustration). The default method is Apply Operand Material, which applies the operand material to the resulting faces. The alternative, Retain Original Material, causes the resulting faces to use the material of the first selected object in the Boolean operation. The following illustration shows the difference between the two methods. The Boolean operation starts with a red box and a blue sphere, on the left. The box is used as the base object and the sphere is the subtracted operand. Using the default Apply Operand Material option gives the result shown in the center of the illustration. Choosing Retain Original Material yields the result shown on the right side of the illustration. Left: Original operands Middle: Apply Operand Material active Right: Retain Original material active Supported Boolean Operations ProBoolean supports Union, Intersection, Subtraction, Merge, Attach, and Insert. The first three operations work similarly to their counterparts in the standard Boolean compound object. The Merge operation intersects and ProBoolean/ProCutter Compound Objects | 737 combines two meshes without removing any of the original polygons. This can be useful for cases in which you need to selectively remove parts of the mesh. The Attach operation combines multiple objects into one without affecting their topology; they remain essentially separate elements on page 9143 of the compound object. And the Insert operation subtracts the bounding shape of operand A from operand B, and then replaces the cut-out part with operand A. Also supported are two variants of the Boolean operations: Imprint and Cookie Cutter. The Imprint option inserts (imprints) the intersection edges between the operands and the original mesh without removing or adding faces. Imprint only splits faces and adds new edges to the mesh of the base object (original selected object). Cookie Cutter performs the specified Boolean operation but does not add the faces from the operands into the original mesh. It can be used to cut a hole in a mesh or to get the portion of a mesh inside of another object. Editing the Boolean Object When you access a ProBoolean or ProCutter object from the Modify panel, you can add operands to the existing set. You can also remove and transform (move, rotate, etc.) operands. Polygon Reduction ProBoolean and ProCutter have a built-in decimation function. Typically, decimation is of better quality if it is integrated with the Boolean operations. The reason for this is that the Boolean object contains meta-information about which edges are intersection edges. The decimation function takes this information into account and uses it to properly maintain intersection edges. Text, Lofts and NURBS When performing Boolean operations with text objects on page 535, make sure characters don't intersect each other and that each letter is closed. Also, it's easy to inadvertently create loft objects on page 674 and NURBS objects on page 2433 in such a way as to have self-intersections. With loft objects, check the ends and points where the loft curve bends. See also: ■ ProCutter Compound Object on page 758 738 | Chapter 6 Creating Geometry Procedures To create a ProBoolean compound object: 1 Set up objects for the Boolean operation. For example, to subtract spherical shapes from a box, create the box and spheres and arrange the spheres so that their volumes intersect the box where the subtractions should take place. 2 Select the base object. In the example in step 1, you would select the box. 3 On the Create panel, with (Geometry) active, choose Compound Objects from the drop-down list. On the Object Type rollout, turn on ProBoolean. 4 On the Parameters rollout, choose the type of Boolean operation you want to use: Union, Intersection, Subtraction, etc. Also choose how 3ds Max will transfer the next operand you pick into the Boolean object: Reference, Copy, Move, or Instance. You can also choose to retain the original material, or keep the default Apply Material choice: Apply Operand Material. 5 Click the Start Picking button. 6 Pick one or more objects to participate in the Boolean operation. 7 As you pick objects, you can also change, for each newly picked object, the Boolean operation (Merge, etc.) and options (Cookie or Imprint), as well as how the next operand is transferred to the Boolean (Reference, Copy, etc.) and the Apply Material choice. You can continue picking operands as long as the Start Picking button stays pressed in. Each of the objects you pick is added to the Boolean operation. When the Modify panel is active, you can add objects to a selected ProBoolean object by clicking the Start Picking button and then picking the objects to add. Example: To change an existing Boolean with sub-object operations: ProBoolean offers a great deal of flexibility in combining various Boolean operations simultaneously, plus the ability to change the way operands combine both as you build the Boolean object and after the fact. 1 Start by adding a box, a sphere, a smaller box, and a cylinder, as shown in the following illustration. ProBoolean/ProCutter Compound Objects | 739 Top: Front viewport Bottom: Perspective viewport 740 | Chapter 6 Creating Geometry 2 Select the box. 3 On the Create panel, with (Geometry) active, choose Compound Objects from the drop-down list. On the Object Type rollout, turn on ProBoolean. 4 On the Parameters rollout, in the Operation group, choose Intersection. 5 On the Pick Boolean rollout, click Start Picking, and then click the sphere. The result is the intersection of the sphere and the box; that is, a single object that represents the common volume both objects occupy. In this case, it's the overlap of the sphere and the box. Although neither has a material at this point, the result uses the default color originally assigned by 3ds Max, at random, to the box when it was created. Note that Start Picking stays active (yellow). This means you can continue picking objects to incorporate into the Boolean object, optionally changing the operation as you go. ProBoolean/ProCutter Compound Objects | 741 6 Set Operation to Union, and then click the small box. The result is the union (adding) of the small box with the intersection of the sphere and larger box. Again, the original object's color is assigned to the result. 7 Set Operation to Subtraction, and then click the cylinder. The cylinder's intersecting volume is subtracted from the previous Boolean result. 742 | Chapter 6 Creating Geometry Note that the entire history of operands and operations used to build the Boolean object is listed in the hierarchy view list at the bottom of the Parameters rollout. Box01 starts the Boolean with Union, Sphere01 is then incorporated with Intersection, Box02 is incorporated with Union, and finally Cylinder01 is incorporated with Subtraction. NOTE The operation for the first object in the list has no effect on the Boolean object, but if you move it to another position in the list it does. You'll see an example of this at the end of this exercise. You can use the list and the other controls in the Sub-object Operations group to change the results. 8 In the list, highlight the Subtr - Cylinder01 entry, and then set Operation to Union. 9 In the Sub-object Operations group, click the Change Operation button. As a result of the change of operation, the cylinder appears in the Boolean object as an additive volume instead of a subtractive one. Also, its entry in the list changes to “Union - Cylinder01”, showing that the Boolean operation for the cylinder is now Union. ProBoolean/ProCutter Compound Objects | 743 You can also change the order of the operations, which can affect the results. 10 In the list, click the Union - Cylinder01 entry to remove the highlighting, and then highlight the entry 1: Inter - Sphere01. Note that its position in the list, 1, appears in the editable field next to the Reorder Ops button. 11 Change the value in the field from 1 to 3, and then click the Reorder Ops button. The Inter - Sphere01 item jumps to the end of the list. 744 | Chapter 6 Creating Geometry The Boolean object changes significantly. The new order in the list tells you how this shape was achieved: The two boxes and the cylinder were all combined with Union, adding their volumes together, and then the sphere was incorporated into that result with Intersection, leaving only the volume shared by all four objects. Interface Modifier stack With an unmodified ProBoolean object selected, the modifier stack shows a single, expandable entry: ProBoolean. ProBoolean/ProCutter Compound Objects | 745 Expanding this entry (by clicking the + icon) reveals a single subsidiary branch: Operands. To transform operands in the ProBoolean object independent of the entire object, click the Operands branch to highlight it. You can then select one or more operands, either by using standard selection methods in the viewport, or by highlighting their names in the hierarchy view on page 755 list at the bottom of the Parameters rollout. 746 | Chapter 6 Creating Geometry When one, and only one, operand is selected, the object type (not its name) appears as a separate stack entry below the ProBoolean entry. Clicking this entry provides direct access to the operand's parameters on the Modify panel. If Parameters rollout ➤ Display is set to Result, selecting an operand displays the operand's axis tripod or transform gizmo in the viewport, although the operand itself is not visible by default. ProBoolean/ProCutter Compound Objects | 747 To view the operand, set Parameters rollout ➤ Display to Operands. Whether or not the operands are visible, you can transform and animate them at the Operands sub-object level, as with any other object in 3ds Max. Changing a ProBoolean object by animating the position of the subtracted operand 748 | Chapter 6 Creating Geometry You can also transform and animate the base object; that is, the first object in the hierarchy view list. Pick Boolean rollout Start Picking Click this and then click each operand to transfer to the Boolean object in turn. Before picking each operand, you can change the Reference/Copy/Move/Instance choice, the Operation options, and the Apply Material choice. TIP When you're adding many operands to a Boolean object using the default settings, calculating the result each time you pick an object can slow down the process. To maintain optimum feedback, set Parameters rollout ➤ Display to Operands. Then, when you're finished, set it back to Result. Alternatively, on the Advanced Options rollout set Update to Manually, and then click the Update button to view the results after performing the Boolean operations. Choose a radio button to specify how the next operand you pick is transferred to the Boolean object: ■ ReferenceThe Boolean operation uses a reference on page 9282 to the picked operand, so the object remains after being incorporated into the Boolean object. Future modifications to the originally picked object will also modify the Boolean operation. Use Reference to synchronize modifier-induced changes to the original operand with the new operand, but not vice-versa. ■ CopyThe Boolean operation uses a copy of the picked operand. The selected object is unaffected by the Boolean operation, but a copy of it participates in the Boolean operation. ■ MoveThe picked operand becomes part of the Boolean operation and is no longer available as a separate object in the scene. This is the default choice. ■ InstanceThe Boolean operation makes an instance on page 9195 of the selected object. Future modifications of the selected object will also modify the instanced object participating in the Boolean operation and vice-versa. ProBoolean/ProCutter Compound Objects | 749 Parameters rollout Operation group These settings determine how the Boolean operands interact physically. Union Combines two or more separate entities into a single Boolean object. Intersection Creates a "new" object from the physical intersection between the original objects; the non-intersecting volumes are removed. Subtraction Removes the volume of a selected object from the original object. 750 | Chapter 6 Creating Geometry Merge Combines objects into a single object without removing any geometry. New edges are created where the objects intersect. NOTE In the following illustration, the display property Backface Cull was turned off so that all edges are visible. Left: Original object (box) and operand (small box) Center: Union operation; part of the smaller box is removed. Right: Merge operation, showing new edges at intersection Attach Combines two or more separate entities into a single Boolean object without changing their topology. In essence, the operands remain separate elements within the whole. Box and sphere primitives combined with Attach (left) and Union (right) Insert First subtracts the second operand’s bounding volume from the first, and then groups the two objects. ProBoolean/ProCutter Compound Objects | 751 In effect, Insert treats the first operand as a liquid volume, so that if there’s a hole in the inserted operand or some other way for the “liquid” to enter its volume, it does. The following illustration shows examples of this effect, with shaded geometry on the left and wireframe equivalents on the right. A bowl inserted in liquid; if the bowl has a hole in it or is tilted, the liquid enters its cavity. NOTE Insert does not simulate the displacement of liquid; the overall dimensions of the first operand remain constant. Cookie Cuts the faces of the original mesh shape, affecting only those faces. The faces of the selected operand are not added to the Boolean result. 752 | Chapter 6 Creating Geometry 1. Original object (box) and operand (sphere) 2. Standard Subtraction operation 3. Subtraction with Cookie on 4. Standard Intersection operation 5. Intersection with Cookie on Imprint Prints the outline of the shape (or intersection edges) onto the original mesh object. Left: Original object (box) and operand (text) Center: Standard Subtraction operation Right: Subtraction with Imprint NOTE The result of the Imprint operation is always the same; the main Operation choice has no effect on it. _____ Display Choose one of the following display modes: ■ ResultDisplays only the result of the Boolean operations, not the individual operands. Choosing Result also activates the ProBoolean level in the modifier stack on page 745. ■ OperandsDisplays the operands that define the Boolean result. Use this mode to edit the operands and modify the result. ProBoolean/ProCutter Compound Objects | 753 Choosing Operands also activates the Operands level in the modifier stack on page 745. Also, when picking many operands, use this mode to avoid having to recalculate the result each time, and then set Display back to Result at the end. Apply Material Choose one of the following material application modes: ■ Apply Operand MaterialNew faces created by the Boolean operation acquire the material of the operand. ■ Retain Original MaterialNew faces created by the Boolean operation retain the material of the original object. Sub-object Operations group These functions operate on operands highlighted in the hierarchy view list (see following). NOTE For these operations, you need not be at the Operands sub-object level in the modifier stack. Extract Selected Based on the chosen radio button (Remove, Copy, or Inst; see following), Extract Selected applies the operation to the highlighted operand in the hierarchy view list. Three modes of extraction are available: ■ RemoveRemoves the operand or operands highlighted in the hierarchy view list from the Boolean result. It essentially undoes the addition of the highlighted operand(s) to the Boolean object. Each extracted operand becomes a top-level object again. ■ CopyExtracts a copy of the operand or operands highlighted in the hierarchy view list. The original operand remains part of the Boolean result. ■ InstExtracts an instance of the operand or operands highlighted in the hierarchy view list. Subsequent modifications to this extracted operand also modify the original operand, thus affecting the Boolean object. Reorder Ops Changes the ordering of the highlighted operand in the hierarchy view list. The reordered operand is moved to the position listed in the text field next to the Reorder Ops button. Change Operation Changes the type of operation (see Operation group on page 750) for the highlighted operand. To change the operation type, highlight the operand in the hierarchy view, then choose the operation type radio option, and then click Change Operation. 754 | Chapter 6 Creating Geometry Hierarchy View The hierarchy view, found at the bottom of the Parameters rollout, displays a list of all of the Boolean operations that define the selected mesh. Each time you perform a new Boolean operation, 3ds Max adds an entry to the list. You can highlight operands for modification by clicking them in the hierarchy view list. To highlight multiple contiguous items in the list, click the first, and then Shift+click the last. To highlight multiple non-contiguous entries, use Ctrl+click. To remove highlighting from a list entry, Alt+click the highlighted item. At the ProBoolean level in the modifier stack, you can perform only sub-object operations on page 754 on highlighted items. At the Operands sub-object level, you can transform highlighted operands as well as perform sub-object operations; see Modifier stack on page 745 for details. ProBoolean/ProCutter Compound Objects | 755 Advanced Options rollout Update group These options determine when updates are performed on the Boolean object after you make changes. Choose one of the following: ■ AlwaysUpdates occur as soon as you make changes to the Boolean object. ■ ManuallyUpdates occur only when you click the Update button. ■ When SelectedUpdates occur whenever the Boolean object is selected. ■ When RenderingUpdates are applied to the Boolean object only at render time, or when you click Update. Update Applies changes to the Boolean object. Available with all options except Always. NOTE When you first create a ProBoolean object with Manually or When Rendering active, no operands, including the base object, are visible until you update at least once. Thereafter, the base object is visible, but no subsequently picked operands are until you update again. 756 | Chapter 6 Creating Geometry _____ Decimation % The percentage of edges to remove from the polygons in the Boolean object, thus reducing the number of polygons. For example, a Decimation % setting of 20.0 removes 20 percent of the polygon edges. 1. Decimation %=0.0 2. Decimation %=30.0 3. Decimation %=60.0 4. Decimation %=80.0 Quadrilateral Tessellation group These options enable quadrilateral tessellation of the Boolean object. This makes the object suitable for editing subdivision surfaces on page 1965 and for smoothing meshes. It also makes the object suitable for conversion to Editable Poly format. For further discussion of this option, see the topic Quad Meshing and Smoothing on page 766. Make Quadrilaterals When on, changes the tessellation of the Boolean object from triangles to quadrilaterals. NOTE When Make Quadrilaterals is on, the Decimation setting has no effect. Quad Size % Determines the size of the quadrilaterals as a percentage of the overall Boolean object length. Planar Edge Removal group This option determines how the polygons on planar faces are handled. Choose one of the following: ■ Remove AllRemoves all extra coplanar edges on a face such that the face itself will define the polygon. ■ Remove Only InvisibleRemoves invisible edges on each face. ProBoolean/ProCutter Compound Objects | 757 ■ No Edge RemovalNo edges are removed. ProCutter Compound Object Select an object. ➤ Create panel ➤ Objects ➤ Object Type rollout ➤ ProCutter (Geometry) ➤ Compound The ProCutter Compound object lets you perform specialized Boolean operations, primarily for the purpose of breaking apart or subdividing volumes. The results of ProCutter operations are particularly suitable for use in dynamics simulations where an object explodes or is shattered by impact with a force or another object. ProCutter used as a cookie cutter Following is a list of ProCutter features: ■ Break apart a stock object into elements of an editable mesh or into separate objects using cutters that are either solids or surfaces. 758 | Chapter 6 Creating Geometry ■ Use one or more cutters on one or more stock objects at the same time. ■ Perform a volume decomposition of a set of cutter objects. ■ Use a single cutter many times without maintaining the history. See also: ProBoolean Compound Object on page 736 ■ Procedures To use ProCutter: 1 Select an object to use as a cutter. 2 Activate the ProCutter compound object. 3 On the Cutter Picking Parameters rollout, click Pick Cutter Objects, and then select additional cutters. 4 On the Cutter Picking Parameters rollout, click Pick Stock Objects, and then select objects to be cut by the cutter objects. 5 In the Cutter Parameters rollout ➤ Cutter Options group, choose the parts of the originals you wish to keep: Stock Outside Cutters, Stock Inside Cutters, Cutters Outside Stock. 6 To get separate objects to manipulate or animate, collapse the result to an Editable Mesh on page 2190 object and use the Explode tool set to 180.0. Alternatively, use Auto Extract Mesh and Explode By Elements, described below. ProBoolean/ProCutter Compound Objects | 759 Interface Cutter Picking Parameters rollout Pick Cutter Objects When on, objects you select are designated as cutters, used to subdivide stock objects. Pick Stock Objects When on, objects you select are designated as stock objects; that is, objects that are subdivided by cutters. Choose a radio button to specify how the next object you pick is transferred to the ProCutter object: ■ ReferenceThe Boolean operation uses a reference on page 9282 to the picked operand, so the object remains after being incorporated into the Boolean object. Future modifications to the originally picked object will also modify the Boolean operation. Use Reference to synchronize modifier-induced changes to the original operand with the new operand, but not vice-versa. ■ CopyThe Boolean operation uses a copy of the picked operand. The selected object is unaffected by the Boolean operation, but a copy of it participates in the Boolean operation. ■ MoveThe picked operand becomes part of the Boolean operation and is no longer available as a separate object in the scene. This is the default choice. ■ InstanceThe Boolean operation makes an instance on page 9195 of the selected object. Future modifications of the selected object will also modify the instanced object participating in the Boolean operation and vice-versa. 760 | Chapter 6 Creating Geometry Cutter Tool Mode group These options let you use the cutter as a sculpting tool, cutting the same object repeatedly in different places. You can also get separate objects without having to go through Editable Mesh conversion. Auto Extract Mesh Automatically extracts the result when you select a stock object. It does not maintain the stock as a sub-object, but edits it and replaces the object with the result of the cut. This lets you quickly cut, move the cutter, and cut again. Explode By Elements When Auto Extract is on, detaches each element into a separate object automatically. Has no effect when Auto Extract is off. This convenient option makes it unnecessary to convert the ProCutter object to Editable Mesh format and then use Explode, as mentioned in this procedure on page 759. This is useful when cutting up an object. For example, you could use it to slice a loaf of bread. You use the cutter to cut a piece off, move the cutter, and then cut again. Parameters rollout You can choose any combination of the three cutting options to get the desired result. If you have non-closed meshes, the orientation of the mesh might determine which part of the stock is considered to be inside or outside the cutter. ProBoolean/ProCutter Compound Objects | 761 Stock Outside Cutter The result contains the parts of the stock outside of all of the cutters. This option gives you a similar result to a Boolean subtraction of the cutters from the stock objects. The gold part of the object in the following illustration results from this option. Stock Inside Cutter The result contains the parts of the stock inside one or more cutters. This option gives you similar results to a Boolean intersection of the cutters and the stock objects. There is some difference because each cutter is treated individually. The green, blue and red parts of the object on the left side of the following illustration are the results of this option. Cutter Outside Stock The result contains the parts of the cutters that are not inside the stock objects. Note that the cutters will cut each other if they intersect also. 762 | Chapter 6 Creating Geometry The right side of the following illustration (exploded for visibility) shows, as the result of this option, the parts that are not present on the left side. Cylinder and sphere as cutters and box as stock Left: Keeping stock inside and outside cutters Right: Keeping stock inside/outside cutters and cutters outside stock _____ Display Choose one of the following display modes: ■ Show ResultDisplays the result of the Boolean operations. ■ Show OpsDisplays the operands that define the Boolean result. Use this mode to edit the operands and modify the result. Apply Material Choose one of the following material application modes: ■ Apply Operand MaterialNew faces created by the Boolean operation acquire the material of the operand. ■ Retain Original MaterialNew faces created by the Boolean operation retain the material of the original object. Sub-object Operations group These functions operate on operands highlighted in the hierarchy view list (see following). ProBoolean/ProCutter Compound Objects | 763 Extract Selected Based on the chosen radio button (Remove, Copy, or Inst; see following), Extract Selected applies the operation to the highlighted operand in the hierarchy view list. Three modes of extraction are available: ■ RemoveRemoves the operand or operands highlighted in the hierarchy view list from the Boolean result. It essentially undoes the addition of the highlighted operand(s) to the Boolean object. Each extracted operand becomes a top-level object again. ■ CopyExtracts a copy of the operand highlighted in the hierarchy view list. The original operand remains part of the Boolean. ■ InstExtracts an instance of the operand highlighted in the hierarchy view list. Subsequent modifications to this extracted operand also modify the original operand, thus the Boolean object. Hierarchy View The hierarchy view displays a list of all operands: cutters and stock objects. You can select and edit objects using the hierarchy view, as with ProBoolean. Advanced Options rollout 764 | Chapter 6 Creating Geometry Update group These options determine when updates are performed on the Boolean object after you make changes. Choose one of the following: ■ AlwaysUpdates occur as soon as you make changes to the Boolean object. ■ ManuallyUpdates occur only when you click the Update button. ■ When SelectedUpdates occur whenever the Boolean object is selected. ■ When RenderingUpdates are applied to the Boolean object only at render time, or when you click Update. Update Applies changes to the Boolean object. Available with all options except Always. NOTE When you first create a ProCutter object with Manually or When Rendering active, no operands, including the base object, are visible until you update at least once. Thereafter, the base object is visible, but no subsequently picked operands are until you update again. _____ Decimation % The percentage of edges to remove from the polygons in the Boolean object, thus reducing the number of polygons. For example, a Decimation % setting of 20.0 removes 20 percent of the polygon edges. Quadrilateral Tessellation group Make Quadrilaterals When on, changes the tessellation of the Boolean object from triangles to quadrilaterals. This makes the object suitable for editing subdivision surfaces on page 1965 and for smoothing meshes. It also makes the object suitable for conversion to Editable Poly format. Quad Size % Determines the size of the quadrilaterals as a percentage of the overall Boolean object length. Planar Edge Removal group This option determines how the polygons on planar faces are handled. Choose one of the following: ■ Remove AllRemoves all extra coplanar edges on a face such that the face itself will define the polygon. ■ Remove Only InvisibleRemoves invisible edges on each face. ProBoolean/ProCutter Compound Objects | 765 ■ No Edge RemovalNo edges are removed. Quad Meshing and Smoothing ProBoolean, ProCutter, and the Quadify Mesh modifier on page 1589 can re-mesh planar surfaces using a quadrilateral meshing algorithm. This capability, in combination with the subdivision surface tools in MeshSmooth, TurboSmooth, and Editable Poly, can produce dramatic results. It does require some level of expertise to understand what is possible and how to achieve the best results using the quadrilateral tessellation. This topic shows the basics of how to use quad meshing and also contains tips and tricks about what works and how it works. TIP To apply quadrilateral tessellation to a mesh object without performing a Boolean operation on it, simply apply the Quadify Mesh modifier on page 1589. Quad Meshing Basics ProBoolean of an object containing several primitives 766 | Chapter 6 Creating Geometry To make a quadrilateral mesh, apply the Quadify Mesh modifier, or select a ProBoolean or ProCutter object, go to the Modify panel, and expand the Advanced Options panel as shown following. To get a result similar to the following illustration, turn on Make Quadrilaterals check box: ProBoolean/ProCutter Compound Objects | 767 Result of a quad mesh with Quad Size %=3.0 To change the size of the individual quadrilaterals, adjust the Quad Size % parameter. Typically a value between 1 and 4 percent achieves the desired results. The smaller the quad size, the smaller the resulting fillets or blends between the surfaces when the mesh is smoothed. The default Quad Size value is 3.0 percent. A Quad Size value of 2.0 percent produces the following result: 768 | Chapter 6 Creating Geometry Quad meshing with Quad Size %=2.0 If you know that you have the desired result and don't plan to go back and change the quad size or the original primitives, you can convert the object to Editable Poly format and apply smoothing with the Subdivision Surface settings. If this is not the case, however, and you plan to make further adjustments, use the MeshSmooth on page 1450 or TurboSmooth on page 1767 modifier to retain the history of the ProBoolean object. The following illustration shows the result of a MeshSmooth modifier with Subdivision Amount ➤ Iterations=1 applied to a ProBoolean object with Quad Size % set to 3.0. ProBoolean/ProCutter Compound Objects | 769 MeshSmooth modifier with NURMS and Iterations=1 770 | Chapter 6 Creating Geometry Rendered image after MeshSmooth modifier applied Quad Meshing Tips and Tricks Sometimes the results of quad meshing can produce undesirable results in the smoothed model. Problem #1: Stripes along cylinders or bumpiness on other surface Solution: Increase the number of subdivisions around cylinders or along other surfaces. ProBoolean/ProCutter Compound Objects | 771 Stripes and bumps with Quad Size %=2.0 To fix the problem depicted above, the number of sides on the two cylinders was changed from 18 to 30 and the number of segments on the torus was changed from 24 to 36. The following illustration shows the improved result: Increasing the primitives' resolution fixes the problem. Problem #2: Triangles along boundaries caused by conflicts with visible edges from original mesh 772 | Chapter 6 Creating Geometry Solution: Make sure Advanced Options rollout ➤ Planar Edge Removal is set to Remove All or create the original primitives without subdivisions on coplanar faces. Coplanar edges not removed from original box When rendered, misshapen geometry results from the presence of coplanar edges. ProBoolean/ProCutter Compound Objects | 773 Quad mesh with all coplanar edges removed Problem #3: Poor alignment of original primitive meshes causes undesirable results. Solution: Rotate or move original primitives into position to maximize mesh quality. The following illustration shows the result of subtracting three spheres of the same size from a box. The left-hand sphere is aligned properly so that there are good quads along both boundaries. This should produce a good result when smoothed. The middle sphere was lifted so that there is a strip of very thin quads near the boundary. This produces very little smoothing along that edge, as you can see in the rendered image. The right-hand sphere was rotated, producing poor alignment and many triangles on the sphere as well as small quads on the plane of the box. You can see the undesirable results in the rendered image. 774 | Chapter 6 Creating Geometry Quads produced by three spheres with different rotations and translations ProBoolean/ProCutter Compound Objects | 775 Rendered image of smoothed three-sphere example Dynamics Objects Create panel ➤ (Geometry) ➤ Dynamics Objects Create menu ➤ Dynamics Dynamics objects are similar to other mesh objects, except that they can be made to react to the motion of objects to which they are bound, or they can provide dynamic forces when included in a dynamics simulation on page 4226. 776 | Chapter 6 Creating Geometry Damper Dynamics Object Create panel ➤ (Geometry) ➤ Dynamics Objects ➤ Object Type rollout ➤ Damper button Create menu ➤ Dynamics ➤ Damper The Damper object provides a dynamic object that can behave as either a shock-absorber or an actuator. It consists of a base, a main housing, and a piston, with an optional boot. The piston slides within the main housing, providing different heights. The overall height can be affected by binding objects, in the same way as the Spring dynamic object. NOTE Damper is similar to Spring in many respects. See Spring object on page 784 for more detailed descriptions of similar parameters and procedures. Procedures To create a damper: 1 Drag and release to specify the diameter. 2 Move the mouse and click to specify the overall height of the damper. To use a damper in a dynamics simulation: The following must be in place to use the damper forces in a dynamics simulation: 1 Bind two objects to the ends of the damper, and choose Bound to Object Pivots in the End Point Method group box at the top of the command panel. 2 In the dynamics simulation, add the damper to the Object List. (The damper itself is not adjusted in the dynamics simulation, so all of the dynamics parameters will be disabled for the damper object.) 3 Include at least one of the bound objects or a parent of one of the bound objects in the simulation. For example, you can bind two dummy objects to the ends of a damper, and one of the dummies can be the child of an object that’s included in the simulation. In this case, the dummy itself does not need to be in the simulation. Damper Dynamics Object | 777 NOTE Damper is an "ideal" object with no mass. While it can be used in dynamics simulations, it cannot participate directly in collisions or effects. As a result, when you assign a damper object to a dynamics simulation, and then view it in the Edit Object dialog, all of the parameter settings are disabled. Interface End Point Method group Free Damper/Actuator Choose this when using the damper as a simple object that’s not bound to others or used in a dynamics simulation. Bound to Object Pivots Choose this option when binding the damper to two objects, using the buttons described next. 778 | Chapter 6 Creating Geometry Binding Objects group Use these controls to pick the objects to which the damper is bound. To complete the binding, you must select two binding objects, and then click Bound to Object Pivots. Piston (label) Displays the name of the object bound to the piston of the damper. Pick Piston Object Click this button and then select the object to be bound to the piston of the damper. Base (label) Displays the name of the object bound to the base of the damper. Pick Base Object Click this button and then select the object to be bound to the base of the damper. Free Damper Parameters group Pin-to-Pin Height Use this field/spinner to specify the distance between the bottom center of the base and the top center of the piston when the damper is not bound. Common Damper Parameters group Renderable When on, the object appears in the rendering; when off, the object does not appear. Material IDs are assigned to the damper object as follows: 1: Base 2: Main housing 3: Piston 4: Boot Stop (appears only if you enable Boot Parameters) 5: Boot (appears only if you enable Boot Parameters) Generate Mapping Coords Sets up the required coordinates for applying mapped materials to the object. Default=on. Damper Dynamics Object | 779 Cylinder Parameters group Provides parameters for the base and main cylinder of the damper. Base Dia The diameter of the base, or "mount" of the damper. Height The height of the base. Main Dia The diameter of the main housing of the damper. Height The height of the main housing. Sides The number of sides of both the base and the main housing. Fillet 1 The size of the fillet on the lower edge of the main housing. Fillet Segs The number of segments for Fillet 1. The higher this setting, the rounder the fillet profile appears. Fillet 2 The size of the fillet on the upper edge of the main housing. Fillet Segs The number of segments for Fillet 2. The higher this setting, the rounder the fillet profile appears. Inside Dia Specifies the inside diameter of the main housing, which is actually a tube rather than a cylinder. 780 | Chapter 6 Creating Geometry Smooth Cylinder When on, smoothing is applied to both the base and the main housing. Piston Parameters group Provides parameters for the piston of the damper. Diameter The diameter of the piston. Height The height of the piston. Sides The number of sides in the piston. Smooth Piston When on, smoothing is applied to the piston. Damper Dynamics Object | 781 Boot Parameters group The boot is an optional component of the damper that’s similar to the rubber "accordion" boot found on various types of dampers, such as shock absorbers. The boot acts like a bound dynamic object, in that one of its ends is bound to the main housing, while the other is bound to the piston. Thus, as the piston moves within the housing, the boot expands and contracts to follow. Enable Turn this on to add the boot to the damper. Min Dia The minimum diameter of the boot. This and the next parameter affect the depth of the accordion folds in the boot. Max Dia The maximum diameter of the boot. Sides The number of sides making up the boot. Folds The number of accordion folds (bulges) along the height of the boot. Resolution The number of segments in each fold. Stop Dia The diameter of the stop, which is the ring at the top of the boot. Stop Thick The thickness (height) of the stop ring. Setback The distance of the stop ring from the top of the piston. 782 | Chapter 6 Creating Geometry Stop Fillet The size of the fillet on the upper edge of the stop ring. Fillet Segs The number of segments the stop fillet. The higher this setting, the round the fillet profile appears. Smooth Boot When on, smoothing is applied to the boot. Dynamics Parameters group Unlike the Spring object, the damper can also be used as an actuator. Basically, a damper absorbs force (like a shock absorber) while an actuator applies force. The parameters in this group box, available only when End Point Method is set to Bound to Object Pivots, specify how forces are applied by the damper object in a dynamics simulation. Damper Parameters Provides parameters for a damper type of object. Specifically, this simulates a viscous linear damper, which provides linear resistance to motion (between the two binding objects) proportional to the Damper Dynamics Object | 783 rate at which the damper experiences displacement. The faster it gets hit, the harder it fights back. Push it slowly, and there’s almost no resistance. ■ Object is DamperSelect this option to use the damper object as a damper rather than an actuator. Drag Specifies the force per unit linear speed, measured in one of the methods specified below. ■ Drag is measured inLets you specify the measurement of drag to use: Pounds per in(ch)/sec or Newtons per m(eter)/sec. ■ Damper works inProvides directional options for the damper. Compression Only The damper reacts only to compression forces. Extension Only The damper reacts only to expansion forces. Both The damper reacts to both compression and expansion forces. Actuator Parameters Provides parameters for an actuator. When used as an actuator, the damper object exerts force between the two binding objects. A real-world example might be the thrusting piston in a log splitter. When used in a simulation, the force is applied by adjusting the value in the Force spinner. You can see the result only after solving the dynamics simulation. ■ Object is ActuatorChoose this when using the damper object as an Actuator. Force Specifies the amount of force exerted between the two bound objects. Positive values push the objects apart, while negative values pull them together. ■ Force is measured in Lets you specify the measurement of force to use: Pounds per inch or Newtons per meter. Spring Dynamics Object Create panel ➤ (Geometry) ➤ Dynamics Objects ➤ Object Type rollout ➤ Spring button Create menu ➤ Dynamics ➤ Spring The Spring object is a dynamics object in the shape of a coiled spring that lets you simulate a flexible spring in dynamics simulations. You can specify the overall diameter and length of the spring, the number of turns, and the 784 | Chapter 6 Creating Geometry diameter and shape of its “wire.” When used in a dynamics simulation, the compression and extension pressure of the spring are calculated as well. Procedures To create a spring: 1 Drag and release to specify the outside diameter. 2 Move the mouse and click to specify the overall length of the spring. To use a spring in a dynamics simulation: The following must be in place to use the spring forces in a dynamics simulation: 1 Bind two objects to the ends of the spring, and choose Bound to Object Pivots in the End Point Method group box at the top of the command panel. 2 In the dynamics simulation, add the spring to the Object List. (The spring itself is not adjustable in the dynamics Edit Object dialog, so all of the dynamics parameters will be disabled for the spring object.) 3 Include at least one of the bound objects or a parent of one of the bound objects in the simulation. For example, you can bind the ends of a spring to two dummy objects, and one of the dummies can be the child of an object that’s included in the simulation. The dummy without a parent will be stationary and the spring will pass its force through the other dummy to its parent. NOTE Spring is an "ideal" object with no mass. While it can be used in dynamics simulations, it cannot participate directly in collisions or effects. A spring can only exert force on other objects in simulations. As a result, when you assign a spring object to a dynamics simulation, and then view it in the Edit Object dialog, all of the parameter settings are disabled. Spring Dynamics Object | 785 Interface Spring Parameters rollout End Point Method group Free Spring Choose this when using the spring as a simple object that’s not bound to other objects or used in a dynamics simulation. Bound to Object Pivots Choose this when binding the spring to two objects, using the buttons described next. Binding Objects group Use these controls to pick the objects to which the spring is bound. "Top" and "Bottom" are arbitrary descriptors; the two bound objects can have any positional relationship to each other. To complete the binding, select two binding objects, and then click Bound to Object Pivots. Each end point of the spring is defined by the center of the overall diameter and the center of the wire. This end point is placed at the pivot point of the object to which it is bound. You can adjust the relative position of the binding object to the spring by transforming the binding object while the Affect Object Only button is turned on in the Hierarchy ➤ Pivot panel. Top (label) Displays the name of the "top" binding object. 786 | Chapter 6 Creating Geometry Pick Top Object Click this button and then select the "top" object. Bottom (label) Displays the name of the "bottom" binding object. Pick Bottom Object Click this button and then select the "bottom" object. Free Spring Parameters group Height Use this field/spinner to set the straight-line height or length of the spring when it is not bound. This is not the actual length of the spring's wire. Common Spring Parameters group Diameter The overall diameter of the spring, as measured at the center of the wire. (The diameter of the wire itself has no effect on this setting.) Turns The number of full 360-degree turns in the spring. CCW/CW Specifies whether the coils of the spring are counterclockwise (CCW) or clockwise (CW). Automatic Segments Choose this option to force each turn of the spring to contains the same number of segments, as specified in the Segs/Turn spinner. Thus, if you increase the number of turns, the number of segments also increases. Spring Dynamics Object | 787 Segs/Turn This spinner lets you specify the number of segments in each 360-degree turn of the spring. Manual Segments When this option is chosen, the length of the spring contains a fixed number of segments, no matter how many turns in the spring. Thus, as you increase the number of turns, you must manually increase the number of segments to maintain a smooth curve. Segments This spinner lets you specify the total number of manual segments in the spring. Smoothing Provides various methods of smoothing the object. The options here work the same as those in the Torus primitive on page 342. ■ AllAll surfaces are smoothed. ■ SidesSmoothing runs along the length of the wire, but not around its perimeter. ■ SegmentsSmoothing runs around the perimeter of the wire, but not along its length. ■ NoneNo smoothing is applied. Renderable When on, the object appears in the rendering; when off, the object does not appear. Generate Mapping Coords Assigns mapping coordinates to the object. Default=on. 788 | Chapter 6 Creating Geometry Wire Shape group Provides three different types of wire cross-sections for the spring: round, rectangular, or D-shaped. Each type has its own set of parameters. Round Wire Specifies a round wire for the spring. ■ DiameterThe diameter of the wire. ■ SidesThe number of sides that make up the cross section. Rectangular Wire Specifies a rectangular wire. ■ WidthDetermines the width of the cross section. ■ DepthDetermines the depth of the cross section. ■ FilletWhen combined with Fillet Segs (below), this lets you fillet (round) the corners of the cross section. Spring Dynamics Object | 789 ■ Fillet SegsSpecifies the number of segments in the fillet. ■ RotationRotates the angle of the cross section along the entire length of the spring. D-Section Wire Specifies a D-shaped wire. ■ WidthDetermines the width of the cross section. ■ DepthDetermines the depth of the cross section. ■ Round SidesSpecifies the number of segments that make up the rounded side of the D-shape. ■ FilletWhen combined with Fillet Segs (below), this lets you fillet (round) the corners of the cross section. ■ Fillet SegsSpecifies the number of segments in the fillet. ■ RotationRotates the angle of the cross section along the entire length of the spring. Dynamics Parameters group These parameters specify the forces that the spring contributes to a dynamic simulation. 790 | Chapter 6 Creating Geometry Relaxed Hgt Specifies the height (or length) at which the spring is "relaxed" and therefore contributes no force--either compression or extension. For example, if the placement of the binding objects stretches the spring to a length of 50 units but the Relaxed Len is set to 30, then an extension force is in effect because the spring is stretched further than its relaxed length. Constant k The amount of force exerted per unit change in length with respect to the Relaxed Hgt value. This could also be described as the measure of force-per-units-change in length as compared to the Relaxed Length. For example, if your spring is set to a Spring Constant of k=10 lb per in, and you stretch it to be ten inches longer than the Relaxed Hgt value, it will try to close with a force of 100 pounds. If you compress it two inches shorter than the Relaxed Hgt value, it will push back with 20 pounds of force. Spring constant is in Lets you specify the measurement of force to use: Pounds per inch or Newtons per meter. Spring works in Lets you specify the type of force you want the spring to exert. While most springs actually provide both compression and extension force, if your simulation requires only one, you can save calculation time by using one instead of both. ■ Compression OnlyThis type of spring provides only expansive force when its length is shorter than the specified Free Length. ■ Extension OnlyProvides contractive force when its length is greater than the specified Free Length. ■ BothProvides both expansive and contractive force, depending on the variation from Relaxed Hgt. Enable Nonlinearity When on, the compression and extension of the spring are non-linear, based on the assumption that a spring has physical limits to the amount it can stretch or contract. Thus, the further the spring gets from the Relaxed Hgt setting, the less linear the feedback. The non-linear compression is calculated using the relationship between the coil dimensions, wire diameter, and length. Extension compares the relationship between the wire diameter and overall spring diameter. Spring Dynamics Object | 791 Systems Create panel ➤ (Systems) A system combines objects, linkages, and controllers to produce an object set that has behavior as well as geometry. Systems help you create animations that would be much more difficult or time-consuming to produce using features independently. Systems can range from simple object generators to full-scale subsystem programs. Systems are primarily intended for plug-in on page 9270 component software. Additional systems might be available if your configuration includes plug-in systems. You can externally reference system objects in your scene. For more information, see XRef Objects on page 7971. Procedures To create a system: 1 On the Create panel, click (Systems). Now the Object Type rollout displays different types of systems. 2 On the Object Type rollout, choose a system to create. 3 Drag in a viewport to create the system. See also: ■ Sunlight on page 5852 792 | Chapter 6 Creating Geometry ■ Daylight on page 5852 ■ Biped on page 4822 Bones System Create panel ➤ (Systems) ➤ Bones button Animation menu ➤ Bone Tools ➤ Create Bones A Bones system is a jointed, hierarchical linkage of bone objects that can be used to animate other objects or hierarchies. Bones are especially useful for animating character models that have a continuous skin mesh. You can animate bones with forward or inverse kinematics. For inverse kinematics, bones can use any of the available IK solvers on page 3704, or through Interactive on page 3781 or applied IK on page 3784. Dinosaur character modeled using bones Bones System | 793 Bones are renderable objects. They have several parameters, such as taper and fins, that can be used to define the shape the bone represents. The fins make it easier to see how the bone is rotating. For animation, it is very important that you understand the structure of a bone object. The bone's geometry is distinct from its link. Each link has a pivot point at its base. The bone can rotate about this pivot point. When you move a child bone, you are really rotating its parent bone. It might be useful to think of bones as joints, because it is their pivot placements that matter, more than the actual bone geometry. Think of the geometry as a visual aid that is drawn lengthwise from the pivot point to the bone's child object. The child object is usually another bone. Bones system seen alone and inside a wireframe model Any hierarchy can display itself as a bone structure (see Using Objects as Bones on page 805), by simply turning on Bone On in the Bone Editing Tools rollout on page 807. See also: ■ Bone Tools on page 806 Creating Bones You start creating bones by clicking the Create Bones button on the Bone Editing Tools rollout on page 807, or by clicking the Bones button in the Systems category on the Create panel. To create bones, do the following. 794 | Chapter 6 Creating Geometry 1 Your first click in a viewport defines the start joint of the first bone. 2 The second click in a viewport defines the start joint of the next bone. Visually only one bone is drawn at this point because bones are visual aids drawn between two pivot points. It is the actual pivot point’s placement that is important. 3 Each subsequent click defines a new bone as a child of the previous bone. The result of multiple clicks is a single chain of bones. 4 Right-click to exit bone creation. This creates a small “nub” bone at the end of the hierarchy, which is used when assigning an IK chain. If you are not going to assign an IK chain to the hierarchy, you can delete the small nub bone. Creating a simple chain of three bones 3ds Max lets you create a branching hierarchy of bones. To create a branching hierarchy, such as legs branching from a pelvis, do the following: 1 Create a chain of bones, and then right-click to exit bone creation. 2 Click Bones (or Create Bones) again, and then click the bone where you want to begin branching. The new chain of bones branches from the bone you click. WARNING The behavior of a branching bone hierarchy is not always intuitive. Bones System | 795 NOTE You can also use Select And Link on page 3666 to connect one bone hierarchy to its branches. However, except for this one special case, using Select And Link with bones is not recommended. To edit an existing bone structure, whether branching or not, use the Bone Tools on page 806 instead. Assigning IK Controllers to Bones By default, bones are not assigned inverse kinematics (IK). Assigning an IK solver can be done in one of two ways. Typically, you create a bone hierarchy, then manually assign an IK solver. This allows for very precise control over where IK chains are defined. The other way to assign an IK solver is more automatic. When you create bones, choose IK solver from the list in the IK Chain Assignment rollout, and then turn on Assign To Children. When you exit bone creation, the chosen IK solver is automatically applied to the hierarchy. The solver extends from the first bone in the hierarchy to the last. For more information about IK, see Introduction to Inverse Kinematics on page 3696. Setting the Initial Position of Bones When you first create a bones system, the position of the bones is the initial state. Before you assign an IK solver or method, you can change the initial state of the bones by moving, rotating, or stretching the bones individually. Bone Color By default, bones are assigned the color specified for Bones in the Colors panel on page 8860 of the Customize User Interface dialog on page 8837. Choose Object as the Element and then choose Bones in the list. You can change the color of individual bones by selecting the bone, clicking the active color swatch next to the bone’s name in the Create panel or Modify panel, and then selecting a color in the Object Color dialog on page 300. You can also use the Bone Tools on page 806 to assign bone colors, or to assign a color gradient to a bone hierarchy. Bone Fins Fins are visual aids that help you clearly see a bone’s orientation. Fins can also be used to approximate a character's shape. Bones have three sets of fins: side, front, and back. By default, fins are turned off. 796 | Chapter 6 Creating Geometry Bones can have fins. Bones System | 797 Bones with various fin configurations Renderable Bones Bones can be renderable, though by default, they are not. To make a bone renderable, turn on the Renderable check box in the bone’s Object Properties dialog on page 221. 798 | Chapter 6 Creating Geometry Bones can be renderable. Object Properties for Bones In addition to visual properties, bones have behavioral properties. The controls for these are located on the Bone Tools floater on page 806. You can use these controls to turn other kinds of objects into bones. Using Constraints with Bones You can apply constraints on page 3607 to bones as long as an IK solver or method is not controlling the bones. If the bones have an assigned IK controller, you can constrain only the root of the hierarchy or chain. However, applying position controllers or constraints to a linked bone can cause undesirable effects, such as breaking of the bone chain. Bones System | 799 The “nub” bone at the end of the chain has a Spring controller applied to it. The Spring controller is connected to an animated sphere. Right: The sphere's movement breaks the bone chain. To avoid this problem, don't apply position controllers directly to child bones. Instead, create an IK chain and apply the controller to the IK chain's end effector. 800 | Chapter 6 Creating Geometry A IK chain has been applied, connecting the end nub to its parent bone. The IK chain's end effector is connected to the ball by a Spring controller. Right: Now when the sphere moves, the IK chain prevents the bones from breaking. Constraints and controllers that affect orientation only, such as Orientation or Look At, do not present this problem when applied to child bones. Procedures To create a bones system: 1 On the Create panel, click rollout, turn on Bones. (Systems). On the Object Type You can also access Create Bones through the Bone Tools rollout. 2 Click in a viewport. This creates a joint that is the base of the bone's hierarchy. 3 Drag to define the length of the second bone. 4 Click to set the length of the second bone, and then drag to create the third bone. Drag and click to continue creating new bones. 5 Right-click to end creation. Bones System | 801 3ds Max creates a small “nub” bone at the end of the hierarchy. This bone is used when assigning an IK chain. The first bone you create is at the top of the hierarchy. The last bone you create is at the bottom. For more about linked objects, see the Hierarchy Panel on page 8801. To create a bones hierarchy with an IK solver automatically applied: 1 On the Create panel, click rollout, turn on Bones. (Systems). On the Object Type 2 In the IK Chain Assignment rollout, select an IK solver from the list. 3 Turn on Assign To Children. 4 In a viewport, click and drag to create the bones. Right-click to end bone creation. After the bones are created, the chosen IK solver is applied to them. To edit the appearance of a bone: 1 Select a bone. 2 Go to the Modify panel. 3 Change settings in the Bone Parameters rollout. To change the length of bones after they’ve been created: IMPORTANT Repositioning a bone affects its length visually. More important, it affects the bone’s pivot position. The length of the bone is only a visual aid drawn between each bone’s pivot point. A bone has only one pivot. The bone you see visually is connecting its pivot point to the next bone’s pivot point. 1 Choose Animation menu ➤ Bone Tools. 2 On the Bone Tools dialog, click Bone Edit Mode. 3 Move the child of the bone you want to change. The length of its immediate parent changes to reach the child bone. 4 Turn off Bone Edit Mode when you are finished editing the bones. 802 | Chapter 6 Creating Geometry To add fins to bones: 1 Select the bone. 2 Choose Animation menu ➤ Bone Tools. 3 Select the bones to which you want to add fins. 4 In the Fin Adjustment Tools rollout, turn on Side Fins, Front Fin or Back Fin. 5 Adjust the size and appearance of the fins with the appropriate spinners. NOTE You can also add fins to an individual bone on the Modify panel. Interface IK Chain Assignment rollout (creation time only) Provides the tools to quickly create a bone chain with an IK solver automatically applied. Also allows for bone creation with no IK solver. IK Solver drop-down list Specifies the type of IK solver to be automatically applied if Assign To Children is turned on. Assign To Children When on, assigns the IK solver named in the IK solver list to all the newly created bones except the first (root) bone. When off, assigns a standard PRS Transform controller on page 3557 to the bones. Default=off. NOTE Choosing the SplineIKSolver and turning on Assign To Children causes the Spline IK Solver dialog on page 3774 to appear after bones have been created. Bones System | 803 Assign To Root When on, assigns an IK solver to all the newly created bones including the first (root) bone. Turning on Assign To Children also automatically turns on Assign To Root. Bone Parameters rollout (creation and modification time) These controls change the appearance of the bones. Bone Object group Width Sets the width of the bone to be made. Height Sets the height of the bone to be made. 804 | Chapter 6 Creating Geometry Taper Adjusts the taper of the bone shape. A Taper of 0 produces a box-shaped bone. Bone Fins group Side Fins Lets you add a set of fins to the sides of the bones you create. ■ SizeControls the size of the fin. ■ Start TaperControls the start taper of the fin. ■ End TaperControls the end taper of the fin. Front Fin Lets you add a fin to the front of the bone you create. ■ SizeControls the size of the fin. ■ Start TaperControls the start taper of the fin. ■ End TaperControls the end taper of the fin. Back Fin Lets you add a fin to the back of the bone you create. ■ SizeControls the size of the fin. ■ Start TaperControls the start taper of the fin. ■ End TaperControls the end taper of the fin. Generate Mapping Coords Creates mapping coordinates on the bones. Since the bones are renderable, they can also have materials applied, which can use these mapping coordinates. Using Objects as Bones Select a linked object or multiple objects linked to each other. ➤ Animation menu ➤ Bone Tools ➤ Object Properties rollout ➤ Bone On toggle You can use arbitrary objects such as cylinders or boxes as bones, controlling their animation as if they were bones in a bones system on page 793. You can apply an IK solver on page 3704 to the boned objects. To use objects as bones, select them and then turn on the Bone On toggle on the Object Properties rollout of the Bone Tools dialog on page 806. WARNING Turning on Freeze Length has no visible effect unless you transform the child of the object to which Freeze Length is applied. Bones System | 805 Once you've set objects to function as bones, applying an IK solution behaves as it does for standard bone objects. The geometry of the boned objects can stretch or squash during animation. Procedures To use objects as bones: 1 2 Link the objects you want to display as bones. Select all of these objects. NOTE You can set a single object to work as a bone, but this doesn't have much use. 3 Choose Animation menu ➤ Bone Tools. The floating Bone Tools dialog is displayed. 4 On the Object Properties rollout, turn on Bone On. 3ds Max now treats the selected objects as bones. 5 Select the object to use as the start of the IK chain. 6 Choose Animation ➤ IK Solvers ➤ HI Solver. You can choose a different IK solver, but the HI Solver is the preferred choice. 7 Click to select the end of the IK chain. Now when you transform the boned objects, their movement is governed by the IK solver. Bone Tools Animation menu ➤ Bone Tools 806 | Chapter 6 Creating Geometry This command opens the Bone Tools floater, which provides functions for working with bones. The floater contains three rollouts, described in the following topics. Bone Editing Tools Rollout Animation menu ➤ Bone Tools ➤ Bone Tools floater ➤ Bone Editing Tools rollout Controls on the Bone Editing Tools rollout let you create and modify bone geometry and structure, and set bone color for one or more bones. See also: ■ Bones System on page 793 Interface Bones System | 807 Bone Pivot Position group Bone Edit Mode Lets you change the lengths of bones and their positions relative to one another. When this button is on, you can change the length of a bone by moving its child bone. In effect, you can scale or stretch a bone by moving its child bone while in this mode. You can use this tool both before and after assigning an IK chain to the bone structure. When Bone Edit Mode is on, you cannot animate, and when Auto Key or Set Key is on, Bone Edit Mode is unavailable. Turn off Auto/Set Key to edit bones. NOTE Moving a bone in Bone Edit mode affects the length of both the child and its parent. If the bones aren't spatially aligned in the usual way (for example, if you are using other objects as bones), this might have unexpected results. Bone Tools group Create Bones Begins the bone-creation process. Clicking this button is the same as clicking Create panel ➤ Systems ➤ Bones on page 793. Create End Creates a nub bone at the end of the currently selected bone. If the selected bone is not at the end of a chain, the nub is linked in sequence between the currently selected bone and the next bone in the chain. Remove Bone Removes the currently selected bone. The bone’s parent bone is stretched to reach the removed bone’s pivot point, and any children of the removed bone are linked to its parent. Any IK chains that included the removed bone will remain intact. Connect Bones Creates a connecting bone between the currently selected bone and another bone. When you click this button, a dotted line appears in the active viewport from the first selected bone. Move the cursor to another bone to create a new connecting bone. The first selected bone will become a parent to the connecting bone, which is in turn a parent to the second selected bone. Delete Bone Deletes the currently selected bone, removing all its parent/child associations. A nub is placed at the end of the deleted bone’s parent. Any IK chains that included this bone become invalid. Reassign Root Makes the currently selected bone the root (parent) of the bone structure. If the current bone is the root, clicking this has no effect. If the current bone is the end of the chain, the chain is completely reversed. If the current bone is in the middle of the chain, the chain becomes a branching hierarchy. 808 | Chapter 6 Creating Geometry Refine Splits a bone in two. Click Refine, and then click a bone where you want it to split. Mirror Opens the Bone Mirror dialog (see following), which lets you create mirror copies of selected bones without changing the sign of the bones' scale. Instead, Mirror flips one of the bone axes: Y or Z. You can specify the mirroring axis and the flip axis with the dialog controls. Bone Mirror Dialog Opens when you click the Mirror button. Use it to specify the mirroring axis, the flip axis, and an offset value. While the dialog is open, you can see a preview of the mirrored bone(s) in the viewports. Click OK to create the bones, or Cancel to prevent creation. Mirror Axis Choose an axis or plane about which the bones will be mirrored: X/Y/Z or XY/YZ/ZX. Bone Axis to Flip To avoid creating a negative scale, choose the bone axis to flip: Y or Z. Offset The distance between the original bones and the mirrored bones. Use this to move the mirrored bones to the other side of the character. Bone Coloring group Selected Bone Color Sets the color for selected bones. Apply Gradient Applies a gradient color across several bones based on the Start Color and End Color values. This option is available only when two or more bones are selected. The Start Color is applied to the highest parent bone in the selected chain, while the End Color is applied to the last child object Bones System | 809 in the selected chain. Intermediate colors in the gradient are applied to bones in between. Start Color Sets the starting color for the gradient. End Color Sets the ending color for the gradient. Fin Adjustment Tools Rollout Animation menu ➤ Bone Tools ➤ Bone Tools floater ➤ Fin Adjustment Tools rollout Controls on the Fin Adjustment Tools rollout are for adjusting some aspects of bone geometry, including fins. 810 | Chapter 6 Creating Geometry Interface Absolute Sets the fin parameters as absolute values. Use this option to set the same fin values for all selected bones. Relative Sets the fin parameters relative to their current values. Use this option to retain size relationships between bones with different-sized fins. Copy Copies the bone and fin settings for the currently selected bone, in preparation for pasting to another bone. Bones System | 811 Paste Pastes the copied bone and fin settings to the currently selected bone. Bone Objects group Width Sets the width of the bone. Height Sets the height of the bone. Taper Adjusts the taper of the bone shape. A Taper with a 0 value produces a box-shaped bone. Higher values pinch the bone where it joins its child bone, while lower values expand that end of the bone. Fins group Side Fins Adds side fins to selected bones. ■ SizeControls the size of the fin. ■ Start TaperControls the start taper of the fin. ■ End TaperControls the end taper of the fin. Front Fin Adds front fins to selected bones. ■ SizeControls the size of the fin. ■ Start TaperControls the start taper of the fin. ■ End TaperControls the end taper of the fin. Back Fin Adds fins to the backs of selected bones. ■ SizeControls the size of the fin. ■ Start TaperControls the start taper of the fin. ■ End TaperControls the end taper of the fin. Object Properties Rollout (Bone Tools) Animation menu ➤ Bone Tools ➤ Bone Tools floater ➤ Object Properties rollout Controls on the Object Properties rollout for bones let you turn other objects into bones. They also control bone rigidity and alignment. NOTE You can reset the scale of bones with the Reset Scale option. 812 | Chapter 6 Creating Geometry Interface Bone On/Off When turned on, the selected bone or object behaves as a bone. Turning this option off causes the object to stop behaving like a bone: there is no auto alignment or stretching. Default=on for bone objects, off for other kinds of objects. NOTE Turning this option on doesn't immediately cause objects to align or stretch. However, future transforms of children can cause rotation and stretching. Freeze Length When turned on, the bone maintains its length. When turned off, the bone's length is based on the translation of its child bone. This option is available only if Bone On is on. Default=on. WARNING When you turn on Freeze Length, this has no visible effect unless you transform the child of the object to which Freeze Length is applied. Auto-Align When turned off, the bone's pivot point doesn't align to its child object. The translation of a child bone will not be converted into rotation of the parent. Instead, the child is allowed to move away from the parent's X axis. This option is available only if Bone On is on. Default=on. NOTE Changing the Auto-Align state does not have an immediate visual effect on the skeleton. It affects future behavior when bones are moved. Bones System | 813 Correct Negative Stretch When turned on, any stretching of the bone that results in a negative scale factor will be corrected to a positive number. This option is available only if Bone On is on. Default=on. Realign Causes the bone's X axis to realign and point at the child bone (or the average pivot of multiple children). Normally this alignment is maintained, and there is no need to use this option. However, it is possible for the bones to come out of alignment by turning off Auto-Align and moving a child bone. Use Realign to align the bone back to its child. This option is available only if Bone On is on. Reset Stretch Stretches the bone to reach its child object if the child has been moved away from the bone. This option is available only if Bone On is on. Reset Scale Resets a stretched bone's internally calculated scale to 100% on each axis. Using this option avoids unexpected behavior due to objects which are both linked and scaled. This option has no visual effect on the bone. This option is available only if Bone On is on. Stretch Factor Information Under the Correct Negative Stretch options is a text display giving information about the number of bones selected and the respective stretch factor for all three axes. If more than one bone is selected, the Stretch Factor text displays undefined. NOTE The Stretch Factor text only updates when you are in Bone Edit Mode on page 807. Stretch and Axis Options Stretch Determines what kind of stretch takes place when the child bone is transformed and Freeze Length is off. Default=Scale. ■ NoneNo stretch takes place. ■ ScaleLets the bone scale. The stretch happens along one axis. ■ SquashLets the bone squash. The bone gets fatter as it gets shorter, and thinner as it gets longer. Axis Determines the axis used for the stretch. ■ X/Y/ZChoose the axis for scaling or squashing. ■ FlipFlips the stretch along the selected axis. 814 | Chapter 6 Creating Geometry Ring Array System Create panel ➤ (Systems) ➤ Ring Array button The Ring Array object consists of a dummy object on page 2871 surrounded by a ring of boxes. You can arrange the boxes in the ring along a sine curve, vary their number, and animate the ring array's parameters. You can also replace the boxes with other objects using Track View, as described in the Procedures section, below. Example of ring array Procedures To create the ring array system: 1 On the Create panel, click rollout, turn on Ring Array. (Systems). On the Object Type 2 Drag in a viewport to set the center and radius of the array. A dummy object appears at the center. By default, four boxes are evenly spaced in a circle around it. To animate the ring array: 1 Turn on (Auto Key). 2 Move to a nonzero frame. 3 Adjust the ring array parameters. You can't animate the number of boxes in the ring. 4 Repeat steps 2 and 3 for additional keyframes. Ring Array System | 815 NOTE To animate the ring array after creation, use the Motion panel, not the Modify panel. To put other kinds of objects in the ring: You can use either version of Track View: Curve Editor or Dope Sheet. 1 In the Track View Controller window, click the name of object container of the object to put in the ring. The name highlights. 2 Still in the Controller window, right-click and choose Copy from the menu. 3 Highlight the object container of one of the ring array boxes. 816 | Chapter 6 Creating Geometry 4 Right-click and choose Paste. 5 In the Paste dialog, choose Copy or Instance. Optionally, to replace all the boxes with the copied object, turn on Replace All Instances. Click OK. The box or boxes are replaced with the copied object. TIP To see the replacement objects, you might need to refresh the viewports. Ring Array System | 817 Top: Object substituted for boxes in array Bottom: The result 818 | Chapter 6 Creating Geometry Interface These parameters control ring arrays. To adjust and animate the ring array after creation, select one of the array objects (not the dummy), and then go to the Motion panel, not the Modify panel. Radius Sets the radius of the ring. You set the initial Radius value when you drag to create the ring array. Amplitude Sets the amplitude of the ring's sine curve, in active units. Amplitude is a height offset from the local origin of the center dummy object. Cycles Sets the number of cycles in the ring's sine curve. When Cycles is 0.0, the ring is flat. When Cycles is 1.0, the ring is tilted. Greater values increase the number of peaks in the curve. Phase Offsets the phase of the wave. That is, it has the effect of moving the wave along the circumference of the ring. Whole values have no effect; only fractional values do. Number Sets the number of boxes in the ring. Ring Array System | 819 820 Moving, Rotating, and Scaling Objects 7 To change an object’s position, orientation, or scale, click one of the three transform buttons on the main toolbar or choose a transform from a shortcut menu. Apply the transform to a selected object using the mouse, the status bar Coordinate Display fields, a type-in dialog, or any combination of the above. The column can be moved, rotated, and scaled. 821 Scaling and Dimensions If you scale an object and later check its base parameters in the Modify panel, you see the dimensions of the object before it was scaled. The base object exists independently of the scaled object that is visible in your scene. You can use the Measure utility on page 2914 to measure the current dimensions of an object that has been scaled or changed by a modifier. See also: ■ Creating Copies and Arrays on page 921 ■ Using Shift+Clone on page 936 Using Transforms A transform is an adjustment of an object’s position, orientation, or scale, relative to the 3D world (or world space) in which you’re working. Changing a model by changing its position, rotation, or scale You can apply three types of transform to an object: ■ Position on page 851 ■ Rotation on page 852 822 | Chapter 7 Moving, Rotating, and Scaling Objects ■ Scale on page 854 This section presents these brief topics designed to help you quickly start learning how to transform objects, and how to animate your transforms: Using Transform Gizmos on page 825 Animating Transforms on page 838 Transform Managers on page 840 Specifying a Reference Coordinate System on page 842 Choosing a Transform Center on page 843 Using the Axis Constraints on page 847 Failure to Move or Rotate In some cases, an object might fail to move or rotate, even when the proper button is on and the object is selected. This could be due to one of the following reasons: ■ The object is frozen on page 168. ■ A transform controller has been assigned to the object. See Animation Controllers on page 3454. ■ Inverse Kinematics mode is on and the preference called Always Transform Children of the World is off. See Introduction to Inverse Kinematics (IK) on page 3696. Procedures To transform an object using the main toolbar: 1 On the main toolbar, click one of the three transform buttons: (Select And Move) on page 851, (Select And Rotate) on page 852, or (Select And Uniform Scale) on page 854. These buttons are usually referred to as Move, Rotate, and Scale. Using Transforms | 823 2 Position the mouse over the object you want to transform. ■ If the object is already selected, the cursor changes to indicate the transform. ■ If the object is not selected, the cursor changes to a crosshairs to show that the object can be selected. 3 Drag the mouse to apply the transform. If you drag the mouse over an unselected object, it becomes selected and is also transformed. You can restrict transforms to one or two axes easily with the transform gizmo on page 825. To cancel a transform: ■ Right-click while you’re dragging the mouse. To transform an object from the quad menu: 1 Right-click a selected object. The quad menu on page 8640 lists the three transforms. 2 Choose one of the transforms. The equivalent transform button is selected on the main toolbar. 3 Drag the object to apply the transform. To use transform type-in: 1 Choose Tools menu ➤ Transform Type-In to display the dialog. 2 Apply a transform to a selected object. 3 You can do any of the following, switching from one to the other as required. ■ Type a value in an axis field and press Enter to apply the transform change to the selection. ■ Drag a spinner in an axis field to update the selection. ■ Drag the object to apply the transform and read the resulting change in the dialog. 824 | Chapter 7 Moving, Rotating, and Scaling Objects For example, if Move is active, the dialog fields read out both the absolute and offset positions of the selected object in world space. If no object is selected, the fields turn gray. To use transform type-in on the status bar: 1 Select an object or a group of objects. 2 On the main toolbar, choose a transform (Move, Rotate, or Scale) to perform on the objects. 3 On the status bar, you can do any of the following, switching from one to another as required: ■ Type a value in an axis field and press Enter to apply the transform change to the selection. The Absolute/Offset toggle, to the right of the X, Y, and Z fields, lets you switch between entering values that are absolute (in world space) or offset (relative to the selection's present position, orientation, and dimensions). ■ Drag a spinner in an axis field to update the selection. ■ Drag the object to apply the transform and read the resulting change in the X, Y, and Z fields. TIP To see the Z field, drag the transform type-in portion of the toolbar while a pan hand is visible. Using Transform Gizmos Select an object. ➤ main toolbar ➤ Click any transform button to display the objects Transform Gizmo icon. The Transform gizmos are viewport icons that let you quickly choose one or two axes when transforming a selection with the mouse. You choose an axis by placing the mouse over any axis of the icon, and then drag the mouse to transform the selection along that axis. In addition, when moving or scaling an object, you can use other areas of the gizmo to perform transforms along any two axes simultaneously. Using a gizmo avoids the need to first specify a transform axis or axes on the Axis Constraints toolbar on page 8627, and also lets you switch quickly and easily between different transform axes and planes. Using Transform Gizmos | 825 Move gizmo Rotate gizmo 826 | Chapter 7 Moving, Rotating, and Scaling Objects Scale gizmo A Transform gizmo appears when one or more objects are selected and one of the transform buttons (Select And Move on page 851, Select And Rotate on page 852, or Select And Scale on page 854) is active on the main toolbar. Each transform type uses a different gizmo. By default, each axis is assigned one of three colors: X is red, Y is green, and Z is blue. The corners of the Move gizmo are assigned the two colors of the related axes; for example, the corner for the XZ plane is red and blue. When you position the mouse over any axis, it turns yellow to indicate that it’s active. Similarly, position the mouse over one of the plane handles, and both associated axes turn yellow. You can now drag the selection along the indicated axis or axes. Doing so changes the Axis Constraints toolbar "Restrict to ..." setting on page 847. Using Transform Gizmos | 827 NOTE When no transform tool is active and you select one or more objects, axis tripods appear in the viewport. The axis tripod appears when the transform gizmo is inactive. Each axis tripod consists of three lines, labeled X, Y, and Z, and shows you three things: ■ The orientation of the tripod reveals the orientation of the current reference coordinate system. ■ The location of the junction of the three axis lines shows where the current transform center is. ■ The highlighted red axis lines show the current axis constraints on page 847. Move Gizmo The Move gizmo includes plane handles, and the option to use a center box handle. 828 | Chapter 7 Moving, Rotating, and Scaling Objects You can select any of the axis handles to constrain movement to that axis. In addition, the plane handles allow you to constrain movement to the XY, YZ, or XZ planes. The selection hotspot is within the square formed by the plane handles. You can change the size and offset of the handles and other settings on the Gizmos panel on page 8941 of the Preferences dialog on page 8886. The Move gizmo with the YZ axes selected. You can constrain translation to the viewport plane by dragging the center box. To use this optional control, turn on Move In Screen Space on page 8943. Rotate Gizmo The Rotate gizmo is built around the concept of a virtual trackball. You can rotate an object freely, about the X, Y, or Z axis, or about an axis perpendicular to the viewport. Using Transform Gizmos | 829 The axis handles are circles around the trackball. Drag anywhere on one of them to rotate the object about that axis. As you rotate about the X, Y, or Z axis a transparent slice provides a visual representation of the direction and amount of rotation. If you rotate more than 360°, the slice overlaps and the shading becomes increasingly opaque. 3ds Max also displays numerical data to indicate a precise rotational measurement. 830 | Chapter 7 Moving, Rotating, and Scaling Objects In addition to XYZ rotation, you can also use free rotation or the viewport handle to rotate objects. Drag inside the Rotate gizmo (or the outer edge of the gizmo) to perform free rotation. Rotation should behave as if you were actually spinning the trackball. The outermost circle around the Rotate gizmo is the Screen handle, which lets you rotate the object on a plane parallel to the viewport. You can adjust settings for the Rotate gizmo on the Gizmos panel on page 8941 of the Preferences dialog on page 8886 Scale Gizmo The Scale gizmo includes plane handles and scaling feedback through the stretching of the gizmo itself. The plane handles let you perform uniform and non-uniform scaling without changing your selection on the main toolbar: ■ To perform Uniform scaling, drag in the center of the gizmo. Using Transform Gizmos | 831 The Transform gizmo with Uniform scaling selected. ■ To perform non-uniform scaling, drag on a single axis or a plane handle. 832 | Chapter 7 Moving, Rotating, and Scaling Objects Top: The Scale gizmo with the YZ plane handle selected Bottom: Non-uniform scaling on the YZ plane NOTE To perform a Squash operation, you must choose Select and Squash on page 858 on the main toolbar. The Scale gizmo provides feedback by changing its size and shape; in the case of a uniform scale operation, it will grow or shrink as the mouse moves, and during non-uniform scaling, the gizmo will stretch and deform while dragging. However, once the mouse button is released, the gizmo returns to its original size and shape. You can adjust settings for the Scale gizmo on the Gizmos panel on page 8941 of the Preferences dialog on page 8886 Notes Using a Transform gizmo sets the default axis constraint to the last axis or plane you used. Using Transform Gizmos | 833 If Lock Selection Set is on, you can drag anywhere in the viewport to transform the object. Dragging an axis, however, still applies the constraint along that axis. See also: ■ Gizmos Preferences on page 8941 Procedures Example: To explore use of the transform gizmo: 1 Reset 3ds Max, then create a sphere, and then click Move). (Select And The Transform Gizmo Appears At The Center Of The Sphere. Because The Default Axis Constraint On The Axis Constraints Toolbar Is Xy Plane, The X And Y Shafts Of The Transform Gizmo Are Yellow (Active), While The Z Shaft Is Blue. 2 Use (Orbit) on page 8740 to adjust the Perspective view for a better view of the Transform gizmo. When you’re done, right-click to return to Select And Move . 3 Point to any part of the sphere away from the Transform gizmo, and drag to confirm that the sphere is locked to the XY plane. 4 Point to the Z-axis shaft, and drag. The Z shaft turns yellow, the X and Y shafts turn red and green, respectively, and the sphere moves along the Z axis. 5 Point to the Y shaft, and drag. The Y shaft turns yellow, and the sphere moves along only the Y axis. 6 Point to the red-and-green corner mark opposite the ends of the X and Y axes, and drag. The sphere moves along the XY plane. 7 Press the Spacebar to turn on Selection Lock on page 8667. 8 Drag the mouse anywhere in a viewport away from the selection. The sphere moves along the XY plane. 834 | Chapter 7 Moving, Rotating, and Scaling Objects 9 Point to the X shaft, and drag. The sphere moves along only the X axis. Experiment with other transformations, such as rotation and scale. Try different reference coordinate systems. Experiment with sub-object transformations. Interface Change default colors Customize menu ➤ Customize User Interface dialog ➤ Colors panel on page 8860 ➤ Gizmos Element ➤ Active Transform Gizmo and Transform Gizmo X/Y/Z. Enable/disable Transform Gizmo Customize menu ➤ Preferences ➤ Gizmos panel on page 8941 ➤ On check box. NOTE When you turn off the Transform gizmo in Preferences, the standard axis tripod appears instead. To toggle display of either the gizmo or the tripod, press the X key or use Views menu ➤ Show Transform Gizmo. There are additional controls for each Gizmo in the Gizmos panel on page 8941 of the Preferences dialog. Transform Type-In Status bar ➤ Transform Type-In Edit menu ➤ Transform Type-In F12 Main toolbar ➤ Right-click Rotate), or one of the (Select and Move), (Select and (Select and Scale) buttons. Transform Type-In is a dialog that lets you enter precise values for move, rotate, and scale transforms on page 9336. You can use Transform Type-In with anything that can display an axis tripod or Transform gizmo. You can also use the Transform Type-In boxes on the status bar on page 8652. To use the Transform Type-In boxes on the status bar, simply enter the appropriate values in the boxes and press Enter to apply the transformation. Transform Type-In | 835 You can alternate between entering absolute transform values or offset values by clicking the Relative/Absolute Transform Type-In button to the left of the transform boxes. If you choose Transform Type-In from the Edit menu, press F12, or right-click one of the transform toolbar buttons, Transform Type-In pops up as a dialog. The title of the dialog reflects the active transform. If Rotate is active, the dialog's title is Rotate Transform Type-In and its controls affect rotation. If Scale is active, its title is Scale Transform Type-In, and so on. You can enter either absolute transform values or offset values. In most cases, both absolute and offset transforms use the active reference coordinate system on page 860. The exceptions are View, which uses the World coordinate system, and Screen, which uses World for absolute moves and rotations. Also, absolute scaling always uses the Local coordinate system. The dialog labels change to show the reference coordinate system being used. When you use the Transform Type-In at a sub-object level, you transform the transform gizmo of the sub-object selection. So, for example, the absolute position values represent the absolute world position of the transform gizmo. If you've selected a single vertex, it's the absolute world position of the vertex. If multiple vertices are selected, the Transform gizmo is placed at the center of the selection, so the position you specify in the Transform Type-In sets the absolute position of the center of the selected vertices. When multiple vertices are selected in Local transform mode, you end up with multiple transform gizmos. In this case, only the Offset control is available. Because the axis tripods are not scaled, the Absolute Scale control is not available at the sub-object level. Only Offset is available. When you use the Transform Type-In for Absolute rotation, the state of the Center flyout is respected. You can perform absolute rotations about the pivot point of the object, the selection center, or transform coordinate center. See Choosing a Transform Center on page 843. Using Type-In with Sub-Object Selection You can use Transform Type-In with any sub-object selection or gizmo. The transform affects the axis tripod for the selection. Absolute and offset world coordinates are those of the object's or selection's coordinate system, whose origin is indicated by the axis tripod. If multiple vertices are selected, the tripod is at the center of the selection and its location is given in world coordinates. 836 | Chapter 7 Moving, Rotating, and Scaling Objects Because axis tripods cannot be scaled, Absolute Scale fields are unavailable when you are at a sub-object level. See Basics of Creating and Modifying Objects on page 290 for information on sub-object selection and gizmos. Procedures To use transform type-in: 1 Select an object or a group of objects. 2 Choose a transform to perform on the objects (Move, Rotate, or Scale). 3 You can do any of the following, switching from one to another as required: ■ Type a value in an axis field and press Enter to apply the transform change to the object in the viewport. ■ Drag a spinner in an axis field to update the object in the viewport. ■ Drag the object to apply the transform and read the resulting change in the axis fields. For example, if Move is active, the fields read out both the absolute positions of the selected object in world space. If no object is selected, the fields turn gray. Interface Status bar Absolute/Offset Mode Transform Type-In When this is off, 3ds Max treats values you enter into the X, Y, and Z fields as absolutes. When this is on, 3ds Max applies transform values you enter as relative to current values; that is, as an offset. Default=off. X, Y, and Z Display and accept entry for values of position, rotation, and scale along each axis. Transform Type-In | 837 Absolute group (Dialog) X, Y, and Z Display and accept entry for absolute values of position, rotation, and scale along each axis. Position and rotation are always displayed, as world scale is always local. Offset group (Dialog) X, Y, and Z Display and accept entry for offsets of the position, rotation, and scale values along each axis. Displayed offset values revert to 0.0 after each operation. For example, if you enter 45 degrees in a Rotate Offset field, when you press Enter, 3ds Max rotates the object 45 degrees from its previous position, increases the Absolute field value by 45 degrees, and resets the Offset field to 0.0. Offset labels reflect the active reference coordinate system. The Offset can be Offset: Local, Offset: Parent, and so on. If you use Pick to select the reference coordinate system of a particular object, the Offset will be named with that object. Animating Transforms You can animate changes in position, rotation, and scale (transforms) by turning on the Auto Key button and then performing the transform at any frame other than frame 0. This creates a key for that transform at the current frame. Example: To animate an object moving among three points: 1 Turn on (Auto Key) on page 3403. The Auto Key button, the highlight border around the active viewport, and the time slider background all turn red. 2 Drag the time slider to frame 25. 838 | Chapter 7 Moving, Rotating, and Scaling Objects 3 Move the object from its current position (point A) to another location (point B). 3ds Max creates Move keys at frames 0 and 25. These appear on the track bar on page 8659. The establishing key at frame 0 describes the object’s original position, at point A. The key at frame 25 describes the object’s position at point B. 4 Drag the time slider to frame 50. 5 Move the object from point B to a third location (point C). 3ds Max creates a Move key at frame 50 that describes the object’s position at point C. 6 Click 7 Click (Auto Key) to stop recording animation. (Play) on page 8691. The object moves from point A to point B over frames 0 to 25, and then proceeds to point C over frames 26 to 50. 8 The Play button has turned into a Stop button; click stop playback. (Stop) to You can combine different transforms in a single animation sequence, so that an object appears to move as it rotates and changes in size. See Animation Concepts and Methods on page 3398 for more information on animation techniques. Animating Transforms | 839 An object animated among three points Transform Managers 3ds Max provides three controls, collectively referred to as the transform managers, for modifying the action of the transform tools. The transform manager controls are as follows: ■ The Reference Coordinate System drop-down list on page 860, which controls the orientation of the transform axes, is found to the right of the Move, Rotate, and Scale transform buttons on the main toolbar. ■ The Transform Center flyout on page 867, which controls the center about which 3ds Max applies the transform, is found to the right of the Reference Coordinate System drop-down list. ■ The Axis Constraint setting on page 847 lets you restrict the transform to a single axis or two axes (that is, a plane). The axis constraint tools appear on the Axis Constraints toolbar, which is off by default. You can open the toolbar by right-clicking an empty spot on the main toolbar and choosing Axis Constraints from the menu. 840 | Chapter 7 Moving, Rotating, and Scaling Objects TIP You can also restrict transforms with the transform gizmos on page 825. Definitions Certain terms are used in the description of transforms and the transform managers. ■ An axis is a straight line along which an object is moved or scaled, or about which an object is rotated. When you work in 3D, you use three axes, labeled X, Y, and Z, which are oriented 90 degrees from each other. ■ A coordinate system specifies the orientation of the X, Y, and Z axes used by a transform. For example, in the World coordinate system, as seen from the Front view, the X axis runs horizontally from left to right, the Y axis runs from back to front, and the Z axis runs vertically, from bottom to top. On the other hand, each object carries its own Local coordinate system. If the object has been rotated, its Local coordinate system might be different from the world coordinate system. ■ The transform center, or pivot point, is the spot about which a rotation takes place, or to and from which scaling occurs. Using the transform managers, you can specify any combination of axes, transform coordinate systems, and transform centers. Axis Tripod Icon An axis tripod appears in the viewports when you select one or more objects, to assist you visually in your transforms. This tripod consists of three lines, labeled X, Y, and Z, and shows you three things: ■ The orientation of the tripod reveals the orientation of your coordinate system. ■ The location of the junction of the three axis lines shows you where your transform center is. ■ The highlighted red axis lines show you the axis or axes to which the transform is constrained. For example, if only the X axis line is red, you can move objects only along the X axis. Transform Managers | 841 NOTE The Transform gizmo supplants the axis tripod for selections when a transform mode is active. Besides providing all of the above functions, it lets you specify the transform axis or axes without explicitly setting constraints; see Using the Axis Constraints on page 847. For more on the Transform gizmo, see Using Transform Gizmos on page 825. You can toggle the display of the axis tripod in all viewports by choosing Views menu ➤ Show Transform Gizmo, or by pressing the X key. Transform Manager Settings The state of the three transform managers (coordinate system, center, and axis constraints) is stored with each type of transform. When you switch from Move to Rotate to Scale, the transform managers change to whatever combination they were in when you last used that transform. For example, if you click Rotate and set the transform managers to Local, Selection Center, and Y constraint, when you click Move, the controls might shift to View, Pivot Point, and XY constraint (whichever combination was set the last time you used Move). When you go back to Rotate, the controls revert to Local, Selection Center, and Y constraint. TIP To avoid surprises, always click the transform button first, and then set the transform managers. If, instead, you first set the transform managers, their settings are likely to change as soon as you choose a new transform button. One way to remember this is always to set the transform and managers by working from left to right on the toolbar. Alternatively, you can turn on Customize menu ➤ Preferences ➤ General tab ➤ Reference Coordinate System group ➤ Constant, which keeps the transform manager settings the same for all transforms. Specifying a Reference Coordinate System The reference coordinate system determines the orientation of the X, Y, and Z axes used by the transform. The type of transform system you use affects all transform operations. You specify the transform coordinate system using the Reference Coordinate System list on page 860. Creating a Local Axis While modeling, it’s often helpful to have a temporary, movable local axis so you can rotate or scale about an arbitrary center. 842 | Chapter 7 Moving, Rotating, and Scaling Objects NOTE This technique does not work for animation. See Choosing a Transform Center on page 843 for animation tips. TIP As an alternative to this method, you can use the Working Pivot on page 3800. To create an adjustable local axis: 1 Create a Point helper object on page 2884. 2 From the Transform Coordinate System list, choose Pick, and then click the point object. The name of the point object appears in the list as the active coordinate system. Now you can use the point object’s coordinate system as an adjustable axis. To use the adjustable axis: 1 Place the point object where you want the rotate or scale transform to be centered. 2 Select the object you want to transform. 3 Choose the point object’s name in the Transform Coordinate System drop-down list. 4 From the Use Center flyout on page 867 choose Use Transform Coordinate Center. For more information, see Choosing a Transform Center on page 843. 5 Proceed with the transform. Choosing a Transform Center The transform center affects scale and rotation transforms, but has no effect on position transforms. 3ds Max lets you choose from three types of transform center using the Use Center flyout on page 867 on the main toolbar. When you change the transform center, the junction of the axis tripod icon moves to the location you specify. By default, 3ds Max sets the transform center to Use Pivot Point center for single objects. When you select multiple objects, the default transform center Choosing a Transform Center | 843 changes to Use Selection Center, because selection sets have no pivot point. You can change the transform center in either case, and 3ds Max remembers and restores the transform center setting separately for selections of single and multiple objects (during the current session). TIP You can transform an object’s pivot with the Hierarchy panel ➤ Adjust Pivot controls on page 3797. Alternatively, you can transform objects using the working pivot on page 3800. For example, you might select a single object and choose Use Transform Coordinate Center, and then select multiple objects and choose Use Pivot Point Center. When you next select a single object, 3ds Max switches back to Use Transform Coordinate Center. Then, when you select multiple objects, the center switches back to Pivot Point. 844 | Chapter 7 Moving, Rotating, and Scaling Objects 1. User selects single object. 2. User clicks Use Transform Coordinate Center from Use Center flyout on the main toolbar. 3. User adds second object to selection. 4. Transform center changes to Use Selection Center when selection set contains more than one object. Choosing a Transform Center | 845 5. User clicks Use Pivot Point Center while multiple objects still selected. 6. User selects single object. 7. Transform center returns to Use Transform Coordinate Center (see step 2). 8. User selects multiple objects. 9. Transform center returns to Use Pivot Point Center (see step 5). Transforming About Snapped Points While the transform center choices are often useful at the object level, they are not usually convenient when transforming sub-object selections. You can override the active transform center and perform the current transform about a temporary point by using snaps. When Snaps is active, and your selection is locked, the point you snap to will set the point about which the transform is performed. Using this technique, you can: ■ Move relative to two snap points. ■ Rotate about a snapped point. ■ Scale about a snapped point. For more details, see Snap Settings on page 2850. Animation and the Transform Center Because of the nature of keyframing, you can animate rotation and scale transforms properly only by using an object’s local pivot point. For example, while modeling, you can rotate an object that’s offset from the world origin around the world center coordinate system. The object sweeps around the origin in a large arc. However, if you attempt to animate this, the object rotates about its local axis and moves in a straight line from one end of the arc to the other. To avoid this discrepancy, when Auto Key on page 8679 is on and either the Rotate or Scale button is active, the Use Center flyout is unavailable and set to Use Pivot Point. When Auto Key button is off, all transforms use the center settings previously described. You can override this behavior by turning off Local Center During Animate on page 8936 in the Animation Preferences settings. Keep in mind that this affects only the center of the transform. The orientation of the selected transform coordinate system is still in effect. 846 | Chapter 7 Moving, Rotating, and Scaling Objects Animating "Off-Center" You can animate a rotation or scale about an off-center point by linking your object as the child of a dummy helper object, and then rotating or scaling the dummy. Another technique is to offset the pivot point of your object using the Hierarchy panel. For information about linking, dummy objects, and the Hierarchy panel, see Hierarchies on page 3653. Using the Axis Constraints Axis Constraints toolbar ➤ Restrict to (Z), or (X), (Y), a plane Keyboard ➤ F5 restricts to X F6 restricts to Y F7 restricts to Z F8 cycles through the three plane restrictions The Restrict to ... buttons, also called the Axis Constraint buttons, are located on the Axis Constraints toolbar on page 8627, which is off by default. You can turn on the Axis Constraints toolbar by right-clicking an empty spot on the main toolbar and choosing Axis Constraints from the pop-up menu. These buttons let you specify one or two axes about or along which the transform takes place. They help you avoid transforming an object in a direction you didn't intend. In Autodesk 3ds Max 2011, while the Axis Constraints toolbar is displayed, its controls update interactively to correspond to the portion of the transform gizmo on page 825 that you are using currently. NOTE It's generally easier to use the Transform gizmos than these buttons; see Using Transform Gizmos on page 825. However, it is helpful to understand the concepts explained below. Using the Axis Constraints | 847 Axis Constraint buttons Only one axis constraint can be active at a time. When a button is turned on, transforms are constrained to the specified axis (or plane). For example, if you turn on the Restrict To X button, you can rotate an object only about the X axis of the current transform coordinate system. The axis or axes to which you’re constrained are highlighted in red on the axis tripod icon in viewports, or in yellow on the Transform gizmo. NOTE By default, axis constraints don't apply when using Snap. You can override this by turning on Snaps Use Axis Constraint Toggle on the Axis Constraints toolbar on page 8627, or by turning on Use Axis Constraints in Snap Options on page 2859. NOTE Constraints are set on a transform-by-transform basis, so select the transform before you select the axis constraint. If you do not want the constraints to change, turn on Customize menu ➤ Preferences ➤ General tab ➤ Reference Coordinate System group ➤ Constant. The axis constraints are stored separately at object and sub-object levels. If you set these three controls one way while in sub-object mode and another way while in object selection level, when you return to sub-object mode, they're restored to the way they were previously set. For example, if you're using XY constraints at object level, then switch to sub-object level and use Z constraint, when you return to object level, XY will be restored. 848 | Chapter 7 Moving, Rotating, and Scaling Objects Restrict to Plane Flyout The Restrict To Plane flyout, available from the Axis Constraints toolbar, lets you limit all transformations (move, rotate, scale) to the XY, YZ, or ZX planes (by default, parallel with the Top view). You can also select planar constraint by using the Move Transform Gizmo on page 825. Instead of dragging one of the axis indicators, drag one of the plane indicators near the center of the gizmo. When you move an object along a plane that is head-on to your view, the object moves along the single available axis shown in the view. Reset XForm Utility Utilities panel ➤ Utilities rollout ➤ Reset XForm button Use the Reset XForm (Transform) utility to push object rotation and scaling values onto the modifier stack and align object pivot points and bounding boxes with the World coordinate system. Reset XForm removes all Rotation and Scale values from selected objects and places those transforms in an XForm modifier. To reset the transform of a group, use the Transform button in the Reset group box of the Hierarchy ➤ Pivot command panel. Procedures To reset an object's transform: 1 Select an object. Reset XForm Utility | 849 2 On the Utilities panel, click Reset XForm. 3 On the Reset Transform rollout, click Reset Selected. Object rotation and scaling are now carried by an XForm modifier placed at the top of the modifier stack. When you apply the Reset Transform utility, an XForm modifier on page 1961 that carries the rotation and scale values is placed at the top of the Modifier Stack display. You can apply other modifiers above and below the XForm modifier. You can select the XForm modifier and add other Move, Rotate, and Scale transforms. You can delete the XForm modifier to completely remove the transforms from the object. You can collapse the object to absorb the rotation and scale values into the object mesh. Interface Reset Selected Removes all Rotation and Scale values from selected objects and places those transforms in an XForm modifier. NOTE Reset Selected is not available if the object is contained in a Group on page 7909. Transform Commands The basic transform commands are the most straightforward way to change an object's position, rotation, or scale. These commands appear on the default main toolbar on page 8623. They are also available from the default quad menu on page 8640. 850 | Chapter 7 Moving, Rotating, and Scaling Objects See also: ■ Moving, Rotating, and Scaling Objects on page 821 ■ Using Shift+Clone on page 936 ■ Transform Type-In on page 835 Select and Move Main toolbar ➤ (Select and Move) Right-click an object. ➤ quad menu ➤ Transform quadrant ➤ Move Edit menu ➤ Select and Move Use the Select And Move button or the Move command on the Edit or quad menu to select and move objects. To move a single object, you do not need to select it first. When this button is active, clicking an object selects it and dragging the mouse moves it. The direction of the movement is determined both by your mouse and by the current reference coordinate system. To restrict object movement to the X, Y, or Z axis, or to any two axes, click the appropriate button on the Axis Constraints toolbar on page 8627, use the Transform gizmo on page 825, or right-click the object, and select the constraint from the Transform submenu. Select and Move | 851 Moving an object See also: ■ Move Gizmo on page 828 Select and Rotate Main toolbar ➤ (Select and Rotate) Right-click an object. ➤ quad menu ➤ Transform quadrant ➤ Rotate Edit menu ➤ Select and Rotate Use the Select and Rotate button or the Rotate command on the Edit or quad menu to select and rotate objects. To rotate a single object, you don't need to select it first. When this button is active, clicking an object selects it and dragging the mouse rotates it. 852 | Chapter 7 Moving, Rotating, and Scaling Objects When you are rotating an object about a single axis (as is usually the case), don't rotate the mouse, expecting the object to follow the mouse movement. Just move the mouse straight up and straight down. Up rotates the object one way, down rotates it the opposite way. The center of rotation is determined by the Transform Center setting on page 859. To restrict rotation about the X, Y, or Z axis, or to any two axes, click the appropriate button on the Axis Constraints toolbar on page 8627, use the Transform gizmo on page 825, or right-click the object, and select the constraint from the Transform submenu. Rotating an object See also: ■ Rotate Gizmo on page 829 Procedures This procedure illustrates the intuitive usage of the default Euler XYZ rotation controller on page 3482. Select and Rotate | 853 To animate object rotation interactively: 1 Create an object. 2 Drag the time slider on page 8656 to a frame other than 0. 3 Turn on 4 Turn on (Auto Key) on page 8679. (Select And Rotate). 5 Rotate the object on any axis by any amount. 6 Drag the time slider to a later frame. 7 8 Rotate the object on the same axis. Play the animation. The rotation plays back exactly as you recorded it. NOTE If you plan to rotate an object by more than 180 degrees, use the TCB rotation controller on page 3595 instead of Euler XYZ. Select and Scale Main toolbar ➤ Select and Scale flyout Right-click an object. ➤ quad menu ➤ Transform quadrant ➤ Scale Edit menu ➤ Select and Scale The Select And Scale flyout on the main toolbar provides access to three tools you can use to change object size. 854 | Chapter 7 Moving, Rotating, and Scaling Objects From top to bottom, these are: Select and Uniform Scale on page 855 Select and Non-Uniform Scale on page 856 Select and Squash on page 858 In addition, the Scale command is available on the Edit menu and the Transform quadrant of the quad (right-click) menu; this activates whichever scale tool is currently chosen in the flyout. NOTE The Smart Scale command activates the Select And Scale function and, with repeated invocations, cycles through the available scaling methods. By default, Smart Scale is assigned to the R key; you can use Customize User Interface on page 8837 to assign it to a different keyboard shortcut, a menu, etc. Select and Uniform Scale Main toolbar ➤ (Select and Uniform Scale), on Select And Scale flyout Right-click an object. ➤ Scale (selects current toolbar Scale mode) The Select And Uniform Scale button, available from the Select And Scale flyout on page 854, lets you scale objects by the same amount along all three axes, maintaining the object's original proportions. Select and Uniform Scale | 855 Uniform scale does not change an object's proportions. To scale a single object, you don't need to select it first. When this tool is active, clicking an object selects it and dragging the mouse scales it. See also: ■ Scale Gizmo on page 831 Select and Non-Uniform Scale Main toolbar ➤ flyout (Select and Non-Uniform Scale), on Select And Scale Right-click an object. ➤ Scale (selects current toolbar Scale mode) The Select And Non-Uniform Scale button, available from the Select And Scale flyout on page 854, lets you scale objects in a non-uniform manner according to the active axis constraint. 856 | Chapter 7 Moving, Rotating, and Scaling Objects Non-uniform scale can change proportions with different values for different axes. You can restrict the objects' scaling about the X, Y, or Z axis, or to any two axes, by first clicking the appropriate button on the Axis Constraints toolbar on page 8627, or with the Transform gizmo on page 825. To scale a single object, you don't need to select it first. When this tool is active, clicking an object selects it and dragging the mouse scales it. IMPORTANT Avoid applying non-uniform scale at the object level. Non-uniform scaling is applied as a transform and changes the axes of the object, so it affects other object properties. It also alters the properties passed hierarchically from parent to child. When you perform other operations on the object, such as rotation, inverse kinematic calculations, and other positioning operations, you might not get the results you expect. To recover from these problems, use the Hierarchy panel's Reset Scale button or the Utilities panel's Reset XForm utility. Either of these options will reset the axes to use the non-uniform scale as the fundamental scale for the object. As an alternative to non-uniform scaling, consider using the XForm modifier on page 1961. Select and Non-Uniform Scale | 857 See also: ■ Scale Gizmo on page 831 Select and Squash Main toolbar ➤ (Select and Squash), on Select And Scale flyout Right-click an object. ➤ Scale (selects current toolbar Scale mode) The Select And Squash tool is useful for creating different phases of the “squash and stretch”-style animation often found in cartoons. The Select And Squash tool, available from the Select And Scale flyout on page 854, lets you scale objects according to the active axis constraint. Squashing an object always involves scaling down on one axis while simultaneously scaling up uniformly on the other two (or vice-versa). Squash scales two axes in opposite directions, maintaining the object's original volume. 858 | Chapter 7 Moving, Rotating, and Scaling Objects You can restrict object scaling to the X, Y, or Z axis, or to any two axes, by first clicking the appropriate button on the Axis Constraints toolbar on page 8627. When the Select And Squash tool is active, clicking an object selects it and dragging the mouse scales it. IMPORTANT Avoid using Select And Squash at the object level. The non-uniform scaling that it effects is applied as a transform and changes the axes of the object, so it affects other object properties. It also alters the properties passed hierarchically from parent to child. When you perform other operations on the object, such as rotation, inverse kinematics calculations, and other positioning operations, you may not get the results you expect. To recover from these problems, use the Hierarchy panel's Reset Scale button or the Utilities panel's Reset XForm utility. Either of these options will reset the axes to use the non-uniform scale as the fundamental scale for the object. As an alternative to non-uniform scaling with Select And Squash, consider using the XForm modifier on page 1961. See also: ■ Scale Gizmo on page 831 Transform Coordinates and Coordinate Center Controls for setting the coordinate system and the active center for transforms to use are on the default main toolbar on page 8623. See also: ■ Moving, Rotating, and Scaling Objects on page 821 Transform Coordinates and Coordinate Center | 859 Reference Coordinate System Main toolbar ➤ Reference Coordinate System drop-down menu The Reference Coordinate System list lets you specify the coordinate system used for a transformation (Move, Rotate, and Scale). Options include View, Screen, World on page 9353, Parent, Local on page 9205, Gimbal, Grid, Working on page 3800, and Pick. In the Screen coordinate system, all views (including perspective views) use the viewport screen coordinates. View is a hybrid of World and Screen coordinate systems. Using View, all orthographic views use the Screen coordinate system, while perspective views use the World coordinate system. TIP The coordinate system is set on a transform-by-transform basis, so choose the transform before you specify the coordinate system. If you do not want the coordinate system to change, turn on Customize menu ➤ Preferences ➤ General panel ➤ Ref. Coord. System group ➤ Constant. Interface View In the default View coordinate system, X, Y, and Z axes are the same in all orthographic viewports. When you move an object using this coordinate system, you are moving it relative to the space of the viewport. ■ X always points right. ■ Y always points up. ■ Z always points straight out of the screen toward you. 860 | Chapter 7 Moving, Rotating, and Scaling Objects Different orientations of the View coordinate system: 1. Top viewport. 2. Front viewport. 3. Left viewport. 4. Perspective viewport. Screen Uses the active viewport screen as the coordinate system. ■ X is horizontal, running in a positive direction toward the right. ■ Y is vertical, running in a positive direction upward. ■ Z is depth, running in a positive direction toward you. Because the Screen mode depends on the active viewport for its orientation, the X, Y, and Z labels on an axis tripod on page 841 in an inactive viewport show the orientation of the currently active viewport. The labels on that tripod change when you activate the viewport it is in. Reference Coordinate System | 861 The coordinate system in Screen mode is always relative to the point of view. World Uses the world coordinate system. Seen from the front: ■ X runs in a positive direction to the right. ■ Z runs in a positive direction upward. ■ Y runs in a positive direction away from you. 862 | Chapter 7 Moving, Rotating, and Scaling Objects The World coordinate system is always fixed. NOTE The world axis shows the current orientation of the viewport with respect to world coordinate system. You can find it in the lower-left corner of each viewport. The world axis colors are red for X, green for Y, and blue for Z. You can toggle the display of the world axis in all viewports by turning off Display World Axis on page 8899 on the Viewports panel of the Preference Settings dialog. The world axis shows the current viewport orientation. Reference Coordinate System | 863 Parent Uses the coordinate system of the parent of the selected object. If the object is not linked to a specific object, it's a child of the world, and the parent coordinate system is the same as the world coordinate system. Example of a Parent object coordinate system Local Uses the coordinate system of the selected object. An object's local coordinate system is carried by its pivot point on page 9269. You can adjust the position and orientation of the local coordinate system, relative to its object, using the options on the Hierarchy command panel. When Local is active, the Use Transform Center button is inactive and all transforms use the local axis as the center of transformation. In a selection set of several objects, each uses its own center for the transform. 864 | Chapter 7 Moving, Rotating, and Scaling Objects Local uses an individual coordinate system specific to each object. Gimbal The Gimbal coordinate system is meant to be used with the Euler XYZ Rotation controller on page 3482. It is similar to Local, but its three rotation axes are not necessarily perpendicular to each other. When you rotate about a single axis with the Local and Parent coordinate systems, this can change two or three of the Euler XYZ tracks. The Gimbal coordinate system avoids this problem: Euler XYZ rotation about one axis changes only that axis's track. This makes function curve editing easier. Also, absolute transform type-in with Gimbal coordinates uses the same Euler angle values as the animation tracks (as opposed to Euler angles relative to the World or Parent coordinate system, as those coordinate systems require). For move and scale transforms, Gimbal coordinates are the same as Parent coordinates. When the object does not have an Euler XYZ Rotation controller assigned, Gimbal rotation is the same as Parent rotation. The Euler XYZ controller can be the active controller in a List controller, too. Grid Uses the coordinate system of the active grid. Reference Coordinate System | 865 Using an active grid coordinate system. Working Uses the coordinate system of the working pivot on page 3800. You can use this coordinate system at any time, whether or not the working pivot is active. When Use Working Pivot on page 3803 is on, this is the default coordinate system. Pick Uses the coordinate system of another object in the scene. After you choose Pick, click to select the single object whose coordinate system the transforms will use. The object's name appears in the Transform Coordinate System list. Because 3ds Max saves an object's name in the list, you can pick an object's coordinate system, change the active coordinate system, and then use the object's coordinate system again at a later time. The list saves the four most recently picked object names. When using Pick to specify an object as a reference coordinate system, you can press H to open the Pick Object dialog, which works like Select From Scene on page 184, and pick the object from there. NOTE You can pick objects within an XRef scene as coordinate reference system. 866 | Chapter 7 Moving, Rotating, and Scaling Objects Using another object as the coordinate system Use Center Flyout Main toolbar ➤ Use Center flyout The Use Center flyout provides access to three methods you can use to determine the geometric center for scale and rotate operations. From top to bottom, they are: Use Pivot Point Center on page 868 Use Selection Center on page 870 Use Center Flyout | 867 Use Transform Coordinate Center on page 871 See also: ■ Choosing a Transform Center on page 843 Use Pivot Point Center Main toolbar ➤ (Use Pivot Point Center), on Use Center flyout The Use Pivot Point Center option, available from the Use Center flyout on page 867, lets you enable rotation or scaling of one or more objects around their respective pivot points on page 9269. When Auto Key on page 8679 is active, Use Pivot Point Center is automatically chosen and no other option is available. The axis tripods on page 841 show the centers that are currently being used. NOTE The transformation center mode is set on a transform-by-transform basis, so select the transform before you select the center mode. If you do not want the center setting to change, turn on Customize menu ➤ Preferences ➤ General tab ➤ Reference Coordinate System group ➤ Constant. 868 | Chapter 7 Moving, Rotating, and Scaling Objects Applying a rotation with the Pivot Point rotates each object around its own local axis. Rotating Multiple Linked Objects When rotating a chain of linked on page 3665 objects (that is, a hierarchy) with Use Pivot Point Center active, the rotation is applied equally to each object Use Pivot Point Center | 869 in the chain. This results in a accumulated rotations, which makes it easy to animate such effects as fingers curling. Hierarchy before rotation (parent at bottom) Hierarchy rotated Use Selection Center Main toolbar ➤ (Use Selection Center), on Use Center flyout The Use Selection Center button, available from the Use Center flyout on page 867, lets you enable rotation or scaling of one or more objects around their collective geometric center. If you transform multiple objects, 3ds Max 870 | Chapter 7 Moving, Rotating, and Scaling Objects calculates the average geometric center of all the objects and uses that for the transform center. The axis tripod on page 841 shows the center that is currently being used. NOTE The transformation center mode is set on a transform-by-transform basis, so select the transform before you select the center mode. If you do not want the center setting to change, turn on Customize menu ➤ Preferences ➤ General tab ➤ Reference Coordinate System group ➤ Constant. With the Selection Center option, an averaged coordinate system is used to rotate the objects. Use Transform Coordinate Center Main toolbar ➤ flyout (Use Transform Coordinate Center), on Use Center Use Transform Coordinate Center | 871 The Use Transform Coordinate Center button, available from the Use Center flyout on page 867, lets you enable rotation or scaling of an object or objects around the center of the current coordinate system. When you designate another object as the coordinate system with the Pick function (see Specifying a Reference Coordinate System on page 842), the coordinate center is the location of that object's pivot. The axis tripod on page 841 shows the center that is currently being used. NOTE The transformation center mode is set on a transform-by-transform basis, so select the transform before you select the center mode. If you do not want the center setting to change, turn on Customize menu ➤ Preferences ➤ General tab ➤ Reference Coordinate System group ➤ Constant. An example of the World coordinate center Transform Tools The transform tools can transform objects according to certain conditions. Some of them, such as Array, can also create copies of objects. 872 | Chapter 7 Moving, Rotating, and Scaling Objects These tools (except for Array, Snapshot, Spacing Tool, and Clone And Align) are available on the default main toolbar on page 8623; the remainder are on the Extras toolbar on page 8630. Also, they all appear on the default Tools menu on page 8591. See also: ■ Moving, Rotating, and Scaling Objects on page 821 ■ Using Shift+Clone on page 936 ■ Creating Copies and Arrays on page 921 Transform Toolbox Edit menu ➤ Transform Toolbox The Transform Toolbox contains functions for easy object rotation, scaling, and positioning as well as for moving object pivots. Transform Toolbox | 873 Interface Quick Navigation Rotate group on page 874 Size group on page 875 Align Pivot group on page 876 Object group on page 877 Rotate group Rotates the current selection (including sub-objects) clockwise and counter-clockwise based on the view direction; clockwise always rotates clockwise in the current view. Align the view roughly to any axis and click an arrow button to rotate the object by the amount specified by the Degrees value. If the Reference Coordinate System on page 860 is set to Local, you can 874 | Chapter 7 Moving, Rotating, and Scaling Objects rotate the object on its local axis by first aligning the view roughly to the object’s local axis. If the coordinate system is set to Screen, the object will be rotated accordingly. The drop-down list on the left side is for quickly selecting a predefined rotation amount. NOTE You can assign CUI shortcuts on page 8837 (PolyTools category) for both Rotate commands. When assigned as shortcuts, the Rotate functions work as follows: ■ Normal (no key)Rotates 90 degrees. ■ ShiftRotates 30 degrees. [presets list] Opens a list of rotation-amount presets; click one to place it in the Degrees field. Rotate Counter-clockwise Click to rotate the selection counter-clockwise (roughly) about the view direction by the Degrees amount. Rotate Clockwise Click to rotate the selection clockwise (roughly) about the view direction by the Degrees amount. Degrees The amount of rotation applied by either of the Rotate buttons. To change the value, use the drop-down list, keyboard, or spinner controls. Size group Sets the size in 3ds Max units for the selected object on a single axis or all axes simultaneously. TIP You can use this feature to set an object’s size on any axis or all three axes to its previous size on one axis. First choose the axis and click Put Size, then choose a different axis or All and click Set Size. Set Size Applies the Size value to the object on the current axis or axes, thus resizing it. R Resets the object’s transform. Applies a Reset Xform on page 849 and converts it to the base geometry type, such as editable poly. Transform Toolbox | 875 Size The size that is applied when you click Set Size. Edit this value with the keyboard or mouse (spinner), or retrieve the object’s current size with the Put Size button (see following). X/Y/Z/All Choose the axis or axes on which to resize when you click Set Size. Also determines which axis size to retrieve with Put Size (see following). Get Opens a small, non-modal dialog that shows the dimensions of the selected object’s bounding box on all three axes. If you change the size, the displayed values update automatically. Put Size Places the dimension value specified by the current axis choice in the Size field. If All is chosen, has no effect. Align Pivot group These tools align the pivot on page 9269 of the selected object. Choose the location to move the pivot to and then click X, Y, or Z. [align location] Choose the location to which the pivot moves when you click an axis button: ■ MinMoves the pivot to the minimum value of the object’s bounding box on the specified axis. ■ MaxMoves the pivot to the maximum value of the object’s bounding box on the specified axis. ■ CenterMoves the pivot to the center of the object on the specified axis. ■ OriginMoves the pivot to the center of the world on the specified axis. X/Y/Z Specifies the axis to work on and also applies the operation. Center Moves the pivot to the center of the object on all three axes. 876 | Chapter 7 Moving, Rotating, and Scaling Objects Origin Moves the pivot to the center of the world on all three axes. Object group Center Moves the object to the center of the world (origin). QClone (Quick Clone) Makes a copy of the selected object and moves it to the side by the same amount as the object’s width. Align the view roughly to any axis and apply. Like the Rotate tool (see preceding), QClone works based on the direction the object is viewed in the viewport. In general it moves the clone to the right, except when the model is viewed from above or below, in which case it moves the clone toward the point of view. Uses the following keyboard modifiers: ■ Normal (no key)Makes a copy of the selected object. ■ ShiftMakes an instanced copy of the selected object. ■ AltMakes two copies or instances of the selected object. (Does not apply to use as a shortcut.) TIP If the distance the clone moves is too little or too much, reset the object’s transform first. Use the R button on page 875 in the Size group, or use Reset Xform on page 849. Mirror Selected Objects Main toolbar ➤ (Mirror) Tools menu ➤ Mirror Clicking Mirror displays the Mirror dialog, which enables you to move one or more objects while mirroring their orientation. The Mirror dialog also allows you to mirror the current selection about the center of the current coordinate system. You can create a clone with the mirror dialog at the same time. If you mirror a hierarchical linkage, you have the option to mirror the IK limits. Mirror Selected Objects | 877 Mirroring an object The Mirror dialog uses the current reference coordinate system on page 860, as reflected in its name. For example, if Reference Coordinate System is set to Local, the dialog is named Mirror: Local Coordinates. There is one exception: If Reference Coordinate System is set to View, Mirror uses Screen coordinates. As you adjust the various settings in the Mirror dialog, you see the results in the viewports. For more information on using Mirror, see Mirroring Objects on page 963. Procedures To mirror an object: 1 Make any object selection. 878 | Chapter 7 Moving, Rotating, and Scaling Objects 2 Do one of the following: ■ On the main toolbar, click (Mirror). ■ On the Tools menu, choose Mirror. 3ds Max opens the Mirror dialog. 3 Set the mirror parameters in the dialog and click OK. The active viewport changes to show the effect of each parameter as you set it. When you click OK, 3ds Max creates the choice of mirror that you see previewed. To make a clone using mirror: 1 Make any object selection 2 Do one of the following: ■ On the main toolbar, click (Mirror). ■ On the Tools menu, choose Mirror. 3ds Max opens the Mirror dialog. 3 In the Clone Selection group, choose Copy, Instance, or Reference. 4 Make any additional settings as desired and then click OK. Mirror Selected Objects | 879 Interface Mirror Axis group The mirror axis choices are X, Y, Z, XY, XZ, and YZ. Choose one to specify the direction of mirroring. These are equivalent to the option buttons on the Axis Constraints toolbar on page 8627. Offset Specifies the distance of the mirrored object's pivot point on page 9269 from the original object's pivot point. Clone Selection group Determines the type of copy made by the Mirror function. Default is No Clone. No Clone Mirrors the selected object without making a copy. Copy Mirrors a copy of the selected object to the specified position. 880 | Chapter 7 Moving, Rotating, and Scaling Objects Instance Mirrors an instance on page 9195 of the selected object to the specified position. Reference Mirrors a reference on page 9282 of the selected object to the specified position. If you animate on page 3398 the mirror operation, mirroring generates a Scale key. If you set Offset to a value other than 0.0, mirroring also generates Position keys. _____ Mirror IK Limits Causes the IK constraints to be mirrored (along with the geometry) when you mirror the geometry about a single axis. Turn this off if you don't want the IK constraints to be affected by the mirror command. The end effectors used by the IK are not affected by the Mirror command. To successfully mirror an IK hierarchy, first delete the end effectors: Go to the Motion panel ➤ IK Controller Parameters rollout ➤ End Effectors group and, under Position, click the Delete button. After the mirror operation, create the new end effector using the tools on the same panel. Array Flyout Extras toolbar ➤ Array flyout The Array flyout, available from the Extras toolbar on page 8630, provides access to various tools for creating arrays of objects. From top to bottom, these are: Array on page 882 Snapshot on page 888 Spacing Tool on page 892 Clone and Align Tool on page 900 Array Flyout | 881 Array Extras toolbar ➤ (Array), on Array flyout Tools menu ➤ Array The Array command displays the Array dialog, which enables you to create an array of objects based on the current selection. A one-dimensional array The items in the Array Dimensions group let you create one-, two-, and three-dimensional arrays. For example, a row of five objects is a single-dimension array, even though it takes up three-dimensional space in the scene. An array of objects that's five rows by three columns is a two-dimensional array, and an array of objects that's five rows by three columns by two levels is a three-dimensional array. 882 | Chapter 7 Moving, Rotating, and Scaling Objects TIP You can preview the array by turning on the Preview button. With Preview on, changing the array settings updates the viewports in real time. For more information on using Array, see Arraying Objects on page 948. Procedures To create an array: 1 Select the objects to array. 2 Do one of the following: ■ On the Extras toolbar, click ■ On the Tools menu, choose Array. (Array). 3ds Max opens the Array dialog. 3 On the Array dialog, select the type of object to output: Copy, Instance, on page 9195 or Reference on page 9282). 4 In the Preview group, click the Preview button to turn it on. This lets you see the results of the array operation in the viewports, with changes appearing in real time. 5 In the Array Transformation group, click the arrows to set Incremental or Totals array parameters for Move, Rotate, and Scale. 6 Enter coordinates for the Array Transformation parameters. 7 Indicate whether you want a 1D, 2D, or 3D array. 8 Set Count to the number of copies on each axis. 9 Enter the appropriate values in the numeric fields for Incremental Row Offsets. 10 Click OK. The current selection is duplicated the specified number of times, with each object transformed as indicated. Array | 883 To replace an array: 1 Undo the array to replace, using Edit ➤ Undo Create Array, or press Ctrl+Z. 2 Change the coordinate system and transform center, if needed. 3 Do one of the following: ■ On the Extras toolbar, click ■ On the Tools menu, choose Array. (Array). 3ds Max opens the Array dialog. 4 Adjust any parameters on the Array dialog that is displayed. 5 Click OK to create a new array, which replaces the previous version. Repeat these steps to fine-tune the array. Example: To create an array of objects that numbers 5 x 4 x 3: 1 Create a teapot with a radius of 10 units. 2 Choose Tools ➤ Array to display the Array dialog. 3 In the Incremental set of parameters, set Move X (the upper-left field) to 50. This causes each object in the array to be positioned 50 units apart on the X axis. 4 In the Array Dimensions group, choose the 3D button to enable all the spinners in that group. 5 Set the 1D Count spinner to 5, the 2D Count spinner to 4, and the 3D Count spinner to 3. This creates a row of 5 objects that are 50 units apart, and then 4 rows of those five objects, and then 3 rows of the 5 x 4 matrix of objects, resulting in a box array. 6 In the 2D row, set the Y spinner to 80. 7 In the 3D row, set the Z spinner to 100. 8 Click OK. A box array of teapots appears. The first dimensional array is five teapots created along the X world axis, 50 units apart (as specified in the Array 884 | Chapter 7 Moving, Rotating, and Scaling Objects Transform group). The second dimensional array is four layers created along the Y world axis, 80 units apart (as specified in the Array Dimensions group). The third dimensional array is three layers created along the Z world axis, 100 units apart. The total number of objects in the array is 60. Example: To create a 360-degree array: 1 Reset 3ds Max. 2 Near the top of the Front viewport (away from its center), create a long, thin box at the twelve-o'clock position (as if the viewport were a clock face). 3 From the User Center flyout on the main toolbar, choose Transform Coordinate Center). (Use 4 Choose Tools ➤ Array. 5 Click the arrow button to the right of the Rotate label to enable the three Rotate fields in the Totals section. 6 Set the Z parameter to 360.0. 7 In the Array Dimensions group, choose 1D and set Count to 12. 8 Click OK. 3ds Max creates an array of 12 boxes in a full circle. Array | 885 Interface Array Transformation group Specifies which combination of the three transforms to use to create the array. You also specify the extent, along the three axes, for each transform. You can specify the extent of the transform in increments between each object, or in totals for all objects. In either case, the distances are measured between the pivot points of the objects. The arrays occur using the current transform settings, so the group title changes depending on the transform settings. Click the left or right arrow button for Move, Rotate, or Scale to indicate whether you want to set Incremental or Total array parameters. Incremental Move Specifies the distance between each arrayed object along the X, Y, and Z axes, in units. Rotate Specifies the degree of rotation about any of the three axes for each object in the array, in degrees. Scale Specifies the percentage of scale along any of the three axes for each object in the array, in percentages. Totals Move Specifies the overall distance, along each of the three axes, between the pivot points of the two outer objects in the resulting array. For example, if you're arraying 6 objects and set Move X total to 100, the six objects will be 886 | Chapter 7 Moving, Rotating, and Scaling Objects arrayed in a row that's 100 units between the pivot points of the two outer objects in the row. Rotate Specifies the total degrees of rotation applied to the objects along each of the three axes. You can use this, for example, to create an array that totals 360 degrees. Re-Orient Rotates the generated objects about their local axes while rotating them about the world coordinates. When clear, the objects maintain their original orientation. Scale Specifies the total scale of the objects along each of the three axes. Uniform Disables the Y and Z spinners and applies the X value to all axes, resulting in a uniform scale. Type of Object group Determine the type of copies made by the Array function. The default is Copy. Copy Arrays copies of the selected object to the specified position. Instance Arrays instances of the selected object to the specified position. Reference Arrays references of the selected object to the specified position. Array Dimensions group Lets you add to the Array Transformation dimension. The additional dimensions are positional only. Rotation and scale are not used. 1D Creates a one-dimensional array, based on the settings in the Array Transformation group. Count Specifies the total number of objects along this dimension of the array. For 1D arrays, this is the total number of objects in the array. 2D Creates a two-dimensional array. Count Specifies the total number of objects along this second dimension of the array. X/Y/Z Specifies the incremental offset distance along each axis of the second dimension of the array. 3D Creates a three-dimensional array. Count Specifies the total number of objects along this third dimension of the array. Array | 887 X/Y/Z Specifies the incremental offset distance along each axis of the third dimension of the array. _____ Total in Array Displays the total number of entities that the array operation will create, including the current selection. If you're arraying a selection set, the total number of objects will be the result of multiplying this value times the number of objects in the selection set. Preview Toggles a viewport preview of the current array settings. Changing a setting updates the viewports immediately. If the update slows down feedback with large arrays of complex objects, turn on Display As Box. Display as Box Displays the array-preview objects as bounding boxes instead of geometry. Reset All Parameters Resets all the parameters to their default settings. Snapshot Extras toolbar ➤ (Snapshot), on Array flyout Tools menu ➤ Snapshot Choosing Tools ➤ Snapshot opens the Snapshot dialog. This enables you to clone an animated object over time. 888 | Chapter 7 Moving, Rotating, and Scaling Objects Using an ice-cream cone animated along a path, Snapshot creates a stack of cones. Snapshot spaces the clones equally in time. Adjustments in Track View let you space the clones equally along the path instead (see the second procedure, below). Like other clone techniques, Snapshot creates copies, instances, or references. You can also choose a mesh option for use with particle systems. Particle Snapshots You can clone particle systems as static mesh objects. You can also produce clones of the particles themselves as meshes, when using the Snapshot dialog ➤ Clone Method ➤ Mesh option. This works with all configurations of particle systems, including those using MetaParticles. Usage is the same as with other types of objects. Snapshot | 889 Procedures To clone an object over time: 1 Select an object with an animation path. Snapshot also shows the effect of any other transform animations, such as rotate or scale as well as parametric modifier animation. 2 Do one of the following: ■ On the Extras toolbar, click flyout. (Snapshot), which is on the Array ■ On the Tools menu, choose Snapshot. 3ds Max opens the Snapshot dialog. 3 Set parameters in the dialog, and click OK. To space clones evenly by distance: 1 Select an object with an animated position. 2 Open Track View and find the Position track for the original object. 3 Click Assign Controller and check that the track is using a Bezier Position controller. Do one of the following: ■ If the track is already using a Bezier Position controller, proceed to step 4. ■ If the track is not using a Bezier Position controller, change the controller on page 3930, then proceed to step 4. 4 Select all the transform keys and right-click one of the selected keys to display the Key Info dialog on page 3447. 5 Click Advanced to expand the dialog. 890 | Chapter 7 Moving, Rotating, and Scaling Objects 6 Click Normalize Time. 7 Set Constant Velocity on. 8 Choose Tools menu ➤ Snapshot. 3ds Max opens the Snapshot dialog. 9 Set parameters in the dialog, and click OK. Interface Snapshot group Single Makes a clone of the geometry of the object at the current frame. Range Makes clones of the geometry of the object along the trajectory over a range of frames. Specify the range with the From/To settings and the number of clones with the Copies setting. From/To Specifies the range of frames to place the cloned object along the trajectory. Snapshot | 891 Copies Specifies the number of clones to place along the trajectory. They are evenly distributed over the time period, but not necessarily over the spatial distance along the path. Clone Method group With the Copy, Instance, and Reference methods, the clone retains any animation within the object, so all the clones will be animated in the same way. Copy Clones copies of the selected object. Instance Clones instances on page 9195 of the selected object. Not available with particle systems. Reference Clones references on page 9282 of the selected object. Not available with particle systems. Mesh Use this to create mesh geometry out of particle system. Works with all kinds of particles. Spacing Tool Extras toolbar ➤ (Spacing Tool), on Array flyout Tools menu ➤ Spacing Tool The Spacing tool lets you distribute objects based on the current selection along a path defined by a spline or a pair of points. The distributed objects can be copies, instances on page 9195, or references on page 9282 of the current selected object. You define a path by picking a spline or two points and by setting a number of parameters. You can also specify how the spacing between objects is determined and whether the pivot points of the objects align to the tangent of the spline. 892 | Chapter 7 Moving, Rotating, and Scaling Objects The Spacing tool distributes the vases along the sides of the curved street. The vases are all the same distance from each other; fewer appear on the shorter side. TIP You can use compound shapes containing multiple splines as the spline path for distributing objects. Before creating shapes, turn off Start New Shape on the Create panel. Then create your shapes. 3ds Max adds each spline to the current shape until you turn Start New Shape back on. When you select the compound shape so that the Spacing tool can use it as a path, objects are distributed along all of the splines of the compound shape. For example, you might find this technique useful in spacing light standards along a path defined by separated splines. You can pick splines within an XRef scene as path reference. For more information, see Using the Spacing Tool on page 965. Spacing Tool | 893 Procedures To distribute objects along a path: 1 Select the objects to distribute. 2 Do one of the following: ■ On the Extras toolbar, click Array flyout. (Spacing Tool), which is on the ■ On the Tools menu, choose Align ➤ Spacing Tool. 3ds Max opens the Spacing Tool dialog. NOTE The Spacing tool is also available on rollouts for various components of the Railing object on page 416. 3 On the Spacing Tool dialog, click Pick Path or Pick Points to specify a path. If you click Pick Path, select a spline from your scene to use as the path. If you click Pick Points, pick a start and an end to define a spline as the path. When you're finished with the Spacing tool, 3ds Max deletes this spline. 4 Choose a spacing option from the Parameters list. The parameters available for Count, Spacing, Start Offset, and End Offset are dependent on the spacing option you choose. 5 Specify the number of objects to distribute by setting the value of Count. 6 Depending on the spacing option you choose, adjust the spacing and offsets. 7 Under Context, choose Edge to specify that spacing be determined from the facing edges of each object's bounding box, or choose Centers to specify that spacing be determined from the center of each object's bounding box. 8 Turn on Follow if you want to align the pivot points of the distributed objects to the tangent of the spline. 894 | Chapter 7 Moving, Rotating, and Scaling Objects 9 Under Type of Object, select the type of object to output (copy, instance on page 9195, or reference on page 9282). 10 Click Apply. Interface The Spacing tool gives you a choice of two basic methods for setting spacing: using a path, or specifying endpoints explicitly. Pick Path Click this, and then click a spline in the viewport to use as the path. 3ds Max uses the spline as the path along which to distribute objects. Pick Points Click this, and then click a start and an end to define a path on the construction grid. You can also use object snap to specify points in space. 3ds Max uses these points to create a spline as the path along which to distribute objects. When you're finished with the Spacing tool, 3ds Max deletes the spline. Parameters group Count The number of objects to distribute. Spacing Tool | 895 Spacing Specifies the space in units between the objects. 3ds Max determines this spacing based on whether you chose Edges on page 899 or Centers on page 899. Start Offset The number of units specifying an offset from the start of the path. Clicking the lock icon locks the start offset value to the spacing value and maintains the count. End Offset The number of units specifying an offset from the end of the path. Clicking the lock icon locks the end offset value to the spacing value and maintains the count. Distribution drop-down list This list contains a number of options for how to distribute the objects along the path, as follows: ■ Free CenterDistributes equally spaced objects along a straight line toward the end point of the path, beginning at the start of the path. A spline or a pair of points defines the path. You specify the number of objects and the spacing. ■ Divide Evenly, Objects at EndsDistributes objects along a spline. The group of objects is centered at the middle of the spline. The Spacing tool evenly fills the spline with the number of objects you specify and determines the amount of space between objects. When you specify more than one object, there are always objects at the ends of the spline. ■ Centered, Specify SpacingDistributes objects along a path. The group of objects is centered at the middle of the path. The Spacing tool attempts to evenly fill the path with as many objects as it can fit along the length of the path using the amount of space you specify. Whether there are objects at the ends of the path depends on the length of the path and the spacing you provide. ■ End OffsetDistributes the number of objects you specify along a straight line. The objects begin at an offset distance that you specify. This distance is from the end of the spline to its start point, or from the second pair of points to the first point. You also specify the spacing between objects. ■ End Offset, Divide EvenlyDistributes the number of objects you specify between the start of a spline or a pair of points and an end offset that you specify. 3ds Max always places an object at the end or its offset. When you specify more than one object, there is always an object placed at the start. The Spacing tool attempts to evenly fill the space with the objects between the end offset and the start. ■ End Offset, Specify SpacingDistributes objects toward the start of a spline or a pair of points, starting at the end or its offset. 3ds Max always places 896 | Chapter 7 Moving, Rotating, and Scaling Objects an object at the end or its offset. You specify the spacing between objects and the offset from the end. The Spacing tool attempts to evenly fill the space with as many objects as it can fit between the end or its offset and the start. There might not always be an object placed at the start. ■ Start OffsetDistributes the number of objects you specify along a straight line. The objects start at an offset distance that you specify. This distance is from the start of the spline to its end point, or from the first of a pair of points to the second. You also specify the spacing between objects. ■ Start Offset, Divide EvenlyDistributes the number of objects you specify between the end of a spline or a pair of points, starting at an offset that you specify from the start. 3ds Max always places an object at the start or its offset. When you specify more than one object, there is always an object placed at the end. The Spacing tool attempts to evenly fill the space with the objects between the start or its offset and the end. ■ Start Offset, Specify SpacingDistributes objects toward the end of a spline or a pair of points, starting at the start. 3ds Max always places an object at the start or its offset. You specify the spacing between objects and the offset from the start. The Spacing tool attempts to evenly fill the space with as many objects as it can fit between the start or its offset and the end. There might not always be an object placed at the end. ■ Specify Offsets and SpacingDistributes as many equally spaced objects as possible along a spline or between a pair of points. You specify the spacing between objects. When you specify offsets from the start and end, 3ds Max distributes equally spaced objects between the offsets. There might not always be an object placed at the start and ends. ■ Specify Offsets, Divide EvenlyDistributes the number of objects you specify along a spline or between a pair of points. If you specify one object, 3ds Max places it at the center of the path. If you specify more than one object, 3ds Max always places an object at the start offset and the end offset. If you specify more than two objects, 3ds Max evenly distributes the objects between the offsets. ■ Space from End, UnboundedDistributes the number of objects you specify along a straight line from the end toward the start of a spline or a pair of points. You specify the spacing between objects. 3ds Max locks the end offset so that it's the same as the spacing. ■ Space from End, Specify NumberDistributes the number of objects you specify toward the start of a spline or a pair of points, starting at the end. The Spacing tool determines the amount of space between objects based on the number of objects and the length of the spline or the distance Spacing Tool | 897 between the pair of points. 3ds Max locks the end offset so that it's the same as the spacing. ■ Space from End, Specify SpacingDistributes as many equally spaced objects as possible toward the start of a spline or a pair of points, starting at the end. You specify the spacing between objects. 3ds Max locks the end offset so that it's the same as the spacing. ■ Space from Start, UnboundedDistributes the number of objects you specify along a straight line toward the end of a spline or a pair of points, starting at the start. You specify the spacing between objects. 3ds Max locks the start offset so that it's the same as the spacing. ■ Space from Start, Specify NumberDistributes the number of objects you specify toward the end of a spline or a pair of points, starting at the start. The Spacing tool determines the amount of space between objects based on the number of objects and the length of the spline or the distance between the pair of points. 3ds Max locks the start offset so that it's the same as the spacing. ■ Space from Start, Specify SpacingDistributes as many evenly spaced objects as possible toward the end of a spline or a pair of points, starting at the start. You specify the spacing between objects. 3ds Max locks the start offset so that it's the same as the spacing. ■ Specify Spacing, Matching OffsetsDistributes as many evenly spaced objects as possible along a spline or between a pair of points (and their offsets). You specify the spacing. 3ds Max locks the start and end offsets so that they're the same as the spacing. ■ Divide Evenly, No Objects at EndsDistributes the number of objects you specify along a spline or between a pair of points (and their offsets). The Spacing tool determines the amount of space between objects. 3ds Max locks the start and end offsets so that they're the same as the spacing. 898 | Chapter 7 Moving, Rotating, and Scaling Objects Context group 1. Edge-to-edge spacing 2. Center-to-center spacing Edges Use this to specify that spacing is determined from the facing edges of each object's bounding box. Centers Use this to specify that spacing be determined from the center of each object's bounding box. Follow Use this to align the pivot points of the distributed objects to the tangent of the spline. Type of Object group Determines the type of copies made by the Spacing tool. The default is Copy. You can copy, instance on page 9195, or reference on page 9282 objects. Copy Distributes copies of the selected object to the specified position. Instance Distributes instances of the selected object to the specified position. Reference Distributes references of the selected object to the specified position. Spacing Tool | 899 TIP You can use compound shapes containing multiple splines as the spline path for distributing objects. Before creating shapes, turn off Start New Shape under Shapes on the Create panel. Then create your shapes. 3ds Max adds each spline to the current shape until you click the Start New Shape button so that it's checked. When you select the compound shape so that the Spacing tool can use it as a path, objects are distributed along all of the splines of the compound shape. For example, you might find this technique useful in spacing light standards along a path defined by separated splines. Clone and Align Tool Extras toolbar ➤ (Clone and Align Tool), on Array flyout Tools menu ➤ Clone and Align The Clone And Align tool lets you distribute source objects based on the current selection to a second selection of destination objects. For example, you can populate several rooms simultaneously with the same furniture arrangement. Similarly, if you import a CAD file that contains 2D symbols that represent chairs in a conference room, you can use Clone And Align to replace the symbols with 3D chair objects en masse. The distributed objects can be copies, instances on page 9195, or references on page 9282 of the current selected object. You determine the number of clones or clone sets by specifying any number of destination objects. You can also specify position and orientation alignment of the clones on one, two, or three axes, with optional offsets. You can use any number of source objects and destination objects. You can pick objects within an XRef scene as destination objects. With multiple source objects, Clone And Align maintains the positional relationships among the members of each cloned group, aligning the selection center with the destination's pivot. 900 | Chapter 7 Moving, Rotating, and Scaling Objects Procedures To use the Clone And Align tool: 1 Create or load an object or objects to be cloned, as well as one or more destination objects. 2 Select the object or objects to be cloned. 3 Do one of the following: ■ On the Extras toolbar, click the Array flyout. (Clone And Align), which is on ■ On the Tools menu, choose Align ➤ Clone And Align. 3ds Max opens the Clone And Align dialog. NOTE You can open the Clone And Align dialog before you select the objects to clone. 4 Do one of the following: ■ Click Pick once and then click each destination object in turn. Next, click Pick again to turn it off. ■ Click Pick List and then use the Pick Destination Objects dialog to pick all destination objects simultaneously. 5 On the Clone Parameters rollout, choose the type of clone, and, if appropriate, how to copy the controller. For details, see Clone Options Dialog on page 932. 6 Use the Align Parameters rollout settings to specify position, orientation, and scale options. 7 At any time, when Pick is off, you can change the source selection in a viewport. This causes the dialog to lose focus; click it again to regain focus and refresh the viewport preview of the clone operation. 8 To make the clones permanent, click Apply, and then click Cancel or the close button (X, in upper-right corner) to close the dialog. Clone and Align Tool | 901 Interface The Clone and Align tool takes the form of a non-modal dialog; it remains open while you work in the viewports. While the dialog is active, the results of the current settings appear as a preview in the viewports. Because of the 902 | Chapter 7 Moving, Rotating, and Scaling Objects dialog's non-modal nature, you can change the selection of source and destination objects on the fly and see the results immediately in the viewports. When the dialog focus is lost by activating another dialog or clicking in a viewport (that is, its title bar is gray rather than blue), the preview no longer appears in the viewports. To make the cloned objects permanent, click Apply when the dialog is active. Source and Destination Parameters rollout Designate source objects by selecting them in a viewport. If you do this with the Clone And Align dialog open, the dialog loses focus; click the dialog to regain focus and update the settings. Destination Objects [label] This read-only field shows the number of destination objects. To change this value, use Pick, Pick List, and Clear. Pick When on, each object you click in the viewports is added to the list of destination objects. Click again to turn off after picking all destination objects. To qualify as a valid destination object, an object must: ■ not have been designated as a source or destination object. ■ be selectable (frozen objects can't be selected). ■ not be a temporary cloned object. Pick List Opens the Pick Destination Objects dialog, which lets you pick all destination objects simultaneously, by name. In the dialog, highlight the destination objects, and then click Pick. Clear All Removes all destination objects from the list. Available only when at least one destination object is designated. Source Objects [label] This read-only field shows the number of source objects. To change this value, keep the dialog open, make sure Pick is off, and then select source objects in the viewports. When you click the dialog, the field updates. Link to Destination Links each clone as a child of its destination object. Clone Parameters rollout These settings let you determine the type of clone to create, and, if appropriate, how to copy the controller. For details, see Clone Options Dialog on page 932. Clone and Align Tool | 903 Align Parameters rollout The Align Position and Align Orientation group names are followed by the current reference coordinate system on page 860, in parentheses, which they use as the coordinate system for positioning and aligning the clones. When the View coordinate system is active, alignment uses the World coordinate system. The Offset parameters always use each destination object's Local coordinate system. Align Position group X/Y/Z Position Specifies the axis or axes on which to align the clones' position. Turning on all three options positions each set of clones at the respective destination object's location. X/Y/Z Offset The distance between the destination object's pivot and the source object's pivot (or source objects' coordinate center). For an Offset value to take effect, the respective Position check box must be on. Align Orientation group X/Y/Z Orientation Specifies the axis or axes about which to align orientation. Turning on all three options aligns each set of clones' orientation fully with that of the respective destination object. X/Y/Z Offset The angle by which the source objects are rotated away from the destination object's orientation about each axis. For an Offset value to take effect, the respective Orientation check box must be on. ___ Match Scale Use the X Axis, Y Axis, and Z Axis options to match the scale axis values between the source and destination. This matches only the scale values you'd see in the coordinate display on page 8669. It does not necessarily cause two objects to be the same size. Matching scale causes no change in size if none of the objects has previously been scaled. _____ Reset All Parameters Returns all settings in the Align Parameters rollout to their default values. 904 | Chapter 7 Moving, Rotating, and Scaling Objects _____ Apply Generates the clones as permanent objects. After clicking Apply, you can use Clone And Align to generate additional clones, using the results of previous clonings as source or destination objects if you like. Cancel Aborts the current cloning operation and closes the dialog. Align Flyout Main toolbar ➤ Align flyout The Align flyout, available from the main toolbar on page 8623, provides access to six different tools for aligning objects. From top to bottom, these are: Align on page 906 Quick Align on page 911 Normal Align on page 912 Place Highlight on page 915 Align Camera on page 917 Align to View on page 918 Align Flyout | 905 Align Main toolbar ➤ (Align), on Align flyout Keyboard ➤ Alt+A Interface on page 910 Align lets you align the current selection to a target selection. After selecting an object to align, you click Align, available on the Align flyout on page 905, and then select another object to align the first object to. This opens the Align dialog with the name of the target object on its title bar. When performing sub-object alignment, the title bar of the Align dialog reads "Align Sub-Object Selection." Aligning objects along an axis 906 | Chapter 7 Moving, Rotating, and Scaling Objects Left: X position, center Upper right: Y position, minimum Lower right: Y position, maximum You can align the position and orientation of the bounding box on page 9113 of the source object to the bounding box of a target object. You can use the Align tool with any selection that can be transformed. If an axis tripod is displayed, you can align the tripod (and the geometry it represents) to any other object in the scene. You can use this to align an object’s pivot point. You can use objects within an XRef scene as references with all alignment tools on the Align flyout, except Align to View. When performing sub-object alignment, the Current Object options and the Match Scale boxes are disabled. If you plan to align orientation for sub-objects, first switch to Local transform mode on the main toolbar so that the axis tripod is properly aligned with your sub-object selection. Other alignment tools on the Align flyout are Quick Align on page 911, Normal Align on page 912, Place Highlight on page 915, Align to Camera on page 917, and Align to View on page 918. Procedures To align an object with a point object: 1 Create a point helper object and position it at a target location in your scene. Rotate it as necessary to adjust final orientation. 2 Select a source object. 3 Do one of the following: ■ On the main toolbar, click (Align). ■ On the Tools menu, choose Align ➤ Align. 3ds Max displays the Align cursor. It is attached to a pair of cross hairs. 4 Move the cursor over the point object and click. Align Flyout | 907 3ds Max opens the Align Selection dialog. If necessary, move the dialog out of the way so you can see the active viewport. 5 In the Align Position group, turn on X Position. The selected source object shifts to align with the X axis of the point object. 6 Turn on Y Position and Z Position. The source object moves so its center is at the point object. 7 Turn on X Axis, Y Axis, and Z Axis in the Align Orientation group to reorient the object to match the coordinates of the point. To align objects by position and orientation: 1 Select a source object (the object to move into alignment with the target object). 2 Do one of the following: ■ On the main toolbar, click (Align). ■ On the Tools menu, choose Align ➤ Align. 3ds Max displays the Align cursor. When it is over an eligible target object, the cursor also shows crosshairs. 3 Position the cursor over the target object and click. The Align Selection dialog appears. By default, all options in the dialog are turned off. 4 In the Current Object and Target Object groups, choose Minimum, Center, Pivot Point, or Maximum. These settings establish the points on each object that become the alignment centers. 5 Begin alignment by turning on any combination of X Position, Y Position, and Z Position. The source object moves in relation to the target object, along the axes of the reference coordinate system. Setting all three moves the objects as close as possible, given the Current Object and Target Object settings. 908 | Chapter 7 Moving, Rotating, and Scaling Objects 6 In the Align Orientation group, turn on any combination of X Axis, Y Axis, or Z Axis. The source object realigns accordingly. If the objects already share an orientation, turning on that axis has no effect. Once two axes are aligned in orientation, the third is automatic. To align a gizmo to another object: 1 Display the gizmo level of the Sub-Object selection. 2 Do one of the following: ■ On the main toolbar, click (Align). ■ On the Tools menu, choose Align ➤ Align. 3 Click to select a target object in the viewport. (You can select the same object containing the gizmo to align the gizmo to a part of its own object.) 4 Use the available settings in the Align dialog to adjust the transformation of the gizmo. To align a sub-object selection of geometry to another object: 1 Do one of the following: ■ Convert the object to an editable mesh, and then make the sub-object selection at any level. ■ Apply a Mesh Select or Poly Select modifier, make a sub-object selection, apply an XForm modifier (The Mesh/Poly Select modifier by itself doesn't allow transforms.), and then activate the Gizmo sub-object level of the XForm modifier. 2 Do one of the following: ■ On the main toolbar, click (Align). ■ On the Tools menu, choose Align ➤ Align. 3 In a viewport, click a target object. 4 Use the Align dialog controls to perform the alignment. Align Flyout | 909 Interface Align Position group X/Y/Z Position Specifies the axis or axes on which to perform the alignment. Turning on all three options moves the selection to the target object's location. Current Object/Target Object groups Specify the points on the objects' bounding boxes to use for the alignment. You can choose different points for the current object and the target object. For example, you can align the current object's pivot point on page 9269 with the center of the target object. Minimum Aligns the point on the object's bounding box with the lowest X, Y, and Z values with the chosen point on the other object. Center Aligns the center of the object's bounding box with the chosen point on the other object. 910 | Chapter 7 Moving, Rotating, and Scaling Objects Pivot Point Aligns the object's pivot point with the chosen point on the other object. Maximum Aligns the point on the object's bounding box with the highest X, Y, and Z values with the chosen point on the other object. Align Orientation (Local) group These settings let you match the orientation of the local coordinate systems between the two objects on any combination of axes. This option is independent of the position alignment settings. You can leave the Position settings alone and use the Orientation check boxes to rotate the current object to match the orientation of the target object. Position alignment uses world coordinates on page 9353, while orientation alignment uses local coordinates. on page 9205 Match Scale group Use the X Axis, Y Axis, and Z Axis options to match the scale axis values between the two selected objects. This matches only the scale values you'd see in the Transform Type-In on page 835. It does not necessarily cause two objects to be the same size. There will be no change in size if neither of the objects has previously been scaled. Quick Align Main toolbar ➤ (Quick Align), on Align flyout Tools menu ➤ Quick Align Keyboard ➤ Shift+A Quick Align lets you instantly align the position of the current selection to that of a target object. If the current selection is a single object, Quick Align uses the two objects' pivots on page 9269. If the current selection comprises multiple objects or sub-objects, Quick Align aligns the source's selection center on page 870 with the pivot of the target object. Align Flyout | 911 Procedures To use Quick Align: 1 Select one or more objects or sub-objects to align. 2 Do one of the following: ■ On the main toolbar, click Align flyout. (Quick Align), which is on the ■ On the Tools menu, choose Align ➤ Quick Align. ■ Press Shift+A. The mouse cursor turns into a “lightning-bolt” symbol. When positioned over an acceptable alignment target, a crosshairs symbol also appears. 3 Click an object to which to align the selection from step 1. The alignment is performed. Normal Align Main toolbar ➤ (Normal Align), on Align flyout Tools menu ➤ Normal Align Keyboard ➤ Alt+N Normal Align uses the Normal Align dialog to align two objects based on the direction of the normal on page 9237 of a face or selection on each object. To open the Normal Align dialog, select the object to be aligned, click a face on the object, and then click a face on a second object. Upon releasing the mouse, the Normal Align dialog appears. 912 | Chapter 7 Moving, Rotating, and Scaling Objects If you use Normal Align while a sub-object selection is active, only that selection is aligned. This is useful when aligning sub-object selections of faces, since otherwise there's no valid face normal for the source object. Normal Align respects smoothing groups and uses the interpolated normal, based on face smoothing. As a result, you can orient the source object face to any part of the target surface, rather than having it snap to face normals. For an object with no faces (such as helper objects, space warps, particle systems, and atmospheric gizmos), Normal Align uses the Z axis and origin of the object as a normal. Thus, you can use a Point object on page 2884 with Normal Align. Other alignment tools on the Align flyout are Align on page 906, Quick Align on page 911,Place Highlight on page 915, Align to Camera on page 917, and Align to View on page 918. Procedures To align normals: 1 Select a source object. This is the object that moves during alignment. 2 Do one of the following: ■ On the main toolbar, click Align flyout. (Normal Align), which is on the ■ On the Tools menu, choose Align ➤ Normal Align. 3 Drag across the surface of the source object. The Normal Align cursor appears, attached to a pair of cross hairs. A blue arrow at the cursor indicates the current normal. 4 Move the cursor and blue arrow until you locate the normal you want to use, then release. The blue arrow remains as reference to the source normal. 5 Drag across the surface of the target object. A green arrow at the cursor indicates the current normal. 6 Move the cross hairs and green arrow until you locate the normal you want to use as a target, then release. Align Flyout | 913 The source object moves into alignment with the target normal, and the Normal Align dialog appears. 7 Do one of the following: ■ Click OK to accept the alignment. ■ Using the dialog, make modifications to the alignment before clicking OK. ■ Click Cancel Align to cancel the alignment procedure. Interface The Normal Align dialog lets you adjust or cancel the current alignment, and contains the following controls: Position Offset group Lets you translate the source object perpendicular to the normal on the X, Y or Z axes. X/Y/Z These three fields let you affect how much of an offset will be given to the selected faces. Rotation Offset group Lets you rotate the source object about the normal's axis. You see the rotation in real time. 914 | Chapter 7 Moving, Rotating, and Scaling Objects Angle This field lets you define the angle for the rotational offset. Flip Normal Determines whether the source normal matches the target normal's direction. This defaults to off, since you usually want the two normals to have opposing directions. When you turn this on or off, the source object flips 180 degrees. OK/Cancel Align The Cancel button is labeled Cancel Align to make it clear that you're not only canceling the settings in the dialog, but canceling the original transform on page 9336 of the source object. Place Highlight Main toolbar ➤ (Place Highlight), on Align flyout Tools menu ➤ Place Highlight Keyboard ➤ Ctrl+H Place Highlight, available from the Align flyout on page 905, enables you to align a light or object to another object so that its highlight or reflection can be precisely positioned. In Place Highlight mode, you can click and drag the mouse around in any viewport. Place Highlight is a viewport-dependent function, so use the viewport that you're going to be rendering. As you drag the mouse in the scene, a ray is shot from the mouse cursor into the scene. If it hits a surface, you see the surface normal on page 9237 at that point on the surface. When you designate a surface, any selected objects are positioned along a line that represents the ray reflected off the surface about the surface normal. The objects are positioned along this line based on their original distance from the surface point. For example, if the object is 100 units from the surface point before being moved, it will be positioned 100 units from the surface point along the reflected ray. If the object is a light, the position of the highlight on the surface of the object will be the surface point that you've chosen. Align Flyout | 915 TIP Place Highlight works with any kind of selected object. It can be used to move objects based on a combination of face normals and initial distance from the face. You can also use Place Highlight with a selection set that contains more than one object. All objects maintain their initial distance from the face. In this case it has nothing to do with highlights, but is simply being used to position objects. NOTE Highlight rendering depends on the material's specular properties and the type of rendering you use. Place Highlight aligns a camera and a spotlight to the same face. Other alignment tools on the Align flyout are Align on page 906, Quick Align on page 911, Normal Align on page 912, Align to Camera on page 917, and Align to View on page 918. 916 | Chapter 7 Moving, Rotating, and Scaling Objects Procedures To position a light to highlight a face: 1 Make sure the viewport you plan to render is active, and that the object you want to highlight is visible in it. The result of Place Highlight depends on what is visible in the viewport. 2 Select a light object. 3 Do one of the following: ■ On the main toolbar, click the Align flyout. (Place Highlight), which is on ■ On the Tools menu, choose Align ➤ Place Highlight. 4 Drag over the object to place the highlight. When you place an omni, free spot, or directional light, 3ds Max displays a face normal for the face the mouse indicates. When you place a target spotlight, 3ds Max displays the light's target and the base of its cone. 5 Release the mouse when the normal or target display indicates the face you want to highlight. The light now has a new position and orientation. You can see the highlight illumination in shaded viewports that show the face you chose, and when you render those views. Align Camera Main toolbar ➤ (Align Camera), on Align flyout Tools menu ➤ Align Camera Align Flyout | 917 Align Camera, available from the Align flyout on page 905, lets you align a camera to a selected face normal. Align Camera works similarly to Place Highlight on page 915, except that it operates on face normals instead of the angle of incidence, and occurs when you release the mouse button instead of dynamically acting during the mouse drag. Its purpose is to let you align a Camera viewport to a specified face normal. Other alignment tools on the Align flyout are Align on page 906, Quick Align on page 911, Normal Align on page 912, Place Highlight on page 915, and Align to View on page 918. Procedures To use Align Camera: 1 Select the camera used for the viewport you want to align. 2 Do one of the following: ■ On the main toolbar, click Align flyout. (Align Camera), which is on the ■ On the Tools menu, choose Align ➤ Align Camera. 3 In any viewport, drag the mouse over an object surface to choose a face. The chosen face normal appears as a blue arrow beneath the cursor. 4 Release the mouse to perform the alignment. 3ds Max moves the camera so it faces and centers the selected normal in the camera viewport. Align to View Main toolbar ➤ (Align to View), on Align flyout Tools menu ➤ Align to View 918 | Chapter 7 Moving, Rotating, and Scaling Objects Align to View, available from the Align flyout on page 905, displays the Align To View dialog, which lets you align the local axis of an object or sub-object selection with the current viewport. You can use Align to View with any selection that can be transformed. Other alignment tools on the Align flyout are Align on page 906, Quick Align on page 911, Normal Align on page 912, Place Highlight on page 915, and Align to Camera on page 917. Procedures To align the local axis of a selection with the current viewport: 1 Select the objects or sub-objects to align. 2 Do one of the following: ■ On the main toolbar, click Align flyout. (Align To View), which is on the ■ On the Tools menu, choose Align ➤ Align To View. 3ds Max opens the Align To Viewdialog. 3 Specify the local axis of the selected object to align with the current viewport's Z axis. 4 Select the Flip check box when you switch the direction of the alignment. The alignment takes place while the dialog is displayed. 5 Click OK to complete the process. Align Flyout | 919 Interface The Align to View dialog contains the following options: Align X, Align Y, Align Z Specifies which local axis of the selected object will be aligned with the current viewport's Z axis. Flip Switches the direction of the alignment. 920 | Chapter 7 Moving, Rotating, and Scaling Objects Creating Copies and Arrays 8 With 3ds Max, you can quickly create multiple versions of one or more selected objects during a transform operation. You do this by holding down the Shift key as you move, rotate, or scale the selection. Portico created from arrays of columns The general term for duplicating objects is cloning. This section presents all the methods and choices available for cloning objects. In addition to the transform method, the tools include the following: ■ Array lets you set all three transforms, in all three dimensions, at the same time. The results are precise linear and circular arrays in 2D or 3D space. 921 ■ Mirror produces a "reflected" clone about one or more axes. If you mirror an object without cloning, the result is a "flip" of the geometry, optionally to a new location. ■ Snapshot lets you create clones equally spaced over time or distance, based on an animation path. ■ Spacing Tool distributes objects based on the current selection along a path defined by a spline or pair of points. You can animate any of the cloning techniques. Overview of Copies, Instances, and References To duplicate an object, you use one of three methods. For all three methods, the original and clone (or clones) are identical at the geometry level. Where the methods vary is in the way they handle modifiers (for example, Bend or Twist). An object can be a copy of another. 922 | Chapter 8 Creating Copies and Arrays Copy method: Creates a completely separate clone from the original. Modifying one has no effect on the other. Instance method: Creates a completely interchangeable clone of the original. Modifying an instanced object is the same as modifying the original. Reference method: Creates a clone dependent on the original up to the point when the object is cloned. Changing parameters for modifiers that were applied to the object before the object was referenced, will change both objects. However, a new modifier can be applied to one of the reference objects, and it will affect only the object to which it is applied. Depending on the method used to create them, cloned objects are called copies, instances, or references. The following discussion focuses on how you might use these methods. Copies Copies are the most familiar kind of clone object. When you copy an object, you create a new, independent master object and data flow resulting in a new, named object. The copy duplicates all of the data of the original object at the time it is copied. The copy has no connection to the original object. Example of Using Copied Objects If you modeled a basic building shape and wanted to create a group of varied buildings, you could make copies of the basic shape and then model different features on each building to distinguish them from each other. Copying Actively Linked Objects When you copy objects that are actively linked through the File Link Manager on page 8014, 3ds Max automatically converts the copies to editable mesh objects. If your selection contains several objects that instance another object, the resulting copies also instance the same object. Instances Instances are alike not only in geometry, but also in every other way as well. Instancing an object results in multiple named objects based on a single master object. Each named object instance has its own set of transforms, space warp bindings, and object properties, but it shares the object modifiers and master object with the other instances. The data flow for an instance branches just after evaluating object modifiers. Overview of Copies, Instances, and References | 923 When you change one instance by applying or adjusting a modifier, for example, all the other instances change with it. Within 3ds Max, instances derive from the same master object. What you’re doing "behind the scenes" is applying a single modifier to a single master object. In the viewport, what you see as multiple objects are multiple instances of the same definition. Example of Using Instanced Objects If you wanted to create a school of swimming fish, you might begin by making many instanced copies of a single fish. You could then animate the swimming motion by applying a Ripple modifier to any fish in the school. The whole school would swim with exactly the same motions. Instances of Actively Linked Objects Creating instances of actively linked objects is not recommended. Reliability issues can arise if the instanced object is deleted in the linked file. References References are based on the original object, as are instances, but can also have their own unique modifiers. Like instances, references share, at minimum, the same master object and possibly some object modifiers. The data flow for a reference branches just after the object modifiers but then evaluates a second set of object modifiers unique to each reference. When you create references, 3ds Max displays a gray line, called the derived-object line, at the top of the modifier stack for all clones. Any modification made below the line is passed on to other references, and to the original object. New modifiers added above the line are not passed on to other references. Changes to the original object, such as in its creation parameters, are passed on to its references. This effect is useful for maintaining an original that will affect all its references, while the references themselves can take on individual characteristics. All shared modifiers reside below the derived-object line and are displayed in bold. All modifiers unique to the selected reference reside above the derived-object line and are not bold. The original object does not have a derived object line: its creation parameters and modifiers are all shared, and all changes to this object affect all references. 924 | Chapter 8 Creating Copies and Arrays The results of changing or applying a modifier to a named object reference depends on where in the modifier stack it is applied: ■ Applying a modifier to the top of the modifier stack affects only the selected named object. ■ Applying a modifier below the gray line affects all references branching above that line. ■ Applying a modifier at the bottom of the modifier stack affects all references derived from the master object. References of Actively Linked Objects Creating references of actively linked objects is not recommended. Reliability issues can arise if the referenced object is deleted in the linked file. Example of Using Referenced Objects In the example of modeling heads, you might want to keep a family resemblance in your characters. You could model basic features on the original, then model specifics on each reference. At some point, if you wanted to see what your characters would look like as "cone-heads," you could apply a Taper modifier to the original head, and have all the other characters take on the same feature. You could give the original character a very pointed head, then apply a separate Taper to some referenced characters to reduce the point toward normal. For swimming fish, you might choose to make all members of the school as referenced objects based on a single, original fish. You could still control the swimming motion from the original fish, and also add modifiers to individual fish in the school to vary their behavior. Techniques for Cloning Objects 3ds Max provides several techniques for copying or duplicating objects; cloning is the general term for this process. These techniques can be used to clone any selection set. ■ Clone ■ Shift+Clone ■ Snapshot Techniques for Cloning Objects | 925 ■ Array ■ Mirror ■ Spacing Tool ■ Clone and Align Tool Shared Features While each technique has distinct uses and advantages in cloning objects, in most cases the cloning techniques share some similarities in how they work: ■ You can apply a transform when you clone. New objects are moved, rotated, or scaled as they are created. ■ The transform is relative to the current coordinate system, axis constraint, and transform center. ■ When cloning creates new objects, you have the choice of making them copies, instances, or references. Each of the following items is discussed later in this chapter. Clone Using the Clone command on the Edit menu is the easiest method for copying an object in place; no transformation is involved. See Clone on page 932. 926 | Chapter 8 Creating Copies and Arrays Shift+Clone Shift+Clone clones an object when you transform it. You can clone an object as you transform it interactively in the viewport. The process is referred to as Using Shift+Clone on page 936: the technique of holding down the Shift key while transforming a selected object with the mouse. Quick and versatile, this technique is probably the one you’ll use most often to duplicate objects. Snap settings give you precise results. How you set the center and axes for the transforms determines the arrangement of the cloned objects. Depending on the settings, you can create both linear and radial arrays. You need a working knowledge of transform features to take full advantage of Shift+Clone. See Using Transforms on page 822. Techniques for Cloning Objects | 927 Snapshot Using an ice-cream cone animated along a path, Snapshot creates a stack of cones. Snapshot on page 888 clones an animated object over time. You can create a single clone on any frame, or space multiple clones along the animation path. The spacing is a uniform time interval; it can also be a uniform distance. 928 | Chapter 8 Creating Copies and Arrays Array A one-dimensional array Array on page 948 creates repeating design elements: for example, the gondolas of a Ferris wheel, the treads of a spiral stair, or the battlements along a castle wall. Array gives you precise control over all three transforms and in all three dimensions, including the ability to scale along one or more axes. It is the combination of transforms and dimensions, coupled with different centers, that gives you so many options with a single tool. A spiral stair, for example, would be a combination of Move and Rotate around a common center. Another array using Move and Rotate might produce the interlocked links of a chain. Techniques for Cloning Objects | 929 Mirror Mirroring an object Mirror on page 963 produces a symmetrical copy around any combination of axes. There is also a "No Clone" option that performs the mirror operation without copying. The effect is a flip or move of the object to a new orientation. Mirror has an interactive dialog. As you change settings, you see the effect in the active viewport; in other words, a preview of what the mirror will look like. There is also a Mirror modifier that gives you parametric control of the mirror effect. 930 | Chapter 8 Creating Copies and Arrays Spacing Tool The Spacing Tool distributes the vases along the sides of the curved street. The Spacing tool on page 892 distributes along a path defined by a spline or pair of points. You define a path by picking a spline or two points and by setting a number of parameters. You can also specify how the spacing between objects is determined and whether the insertion points of the objects align to the tangent of the spline. Clone and Align Tool The Clone And Align tool on page 900 lets you distribute source objects based on the current selection to a second selection of destination objects. For example, you can use Clone And Align to populate several rooms simultaneously with the same furniture arrangement. Similarly, if you import a CAD file that contains 2D symbols that represent chairs in a conference room, you can use Clone And Align to replace the symbols with 3D chair objects en masse. Techniques for Cloning Objects | 931 Clone Make a selection. ➤ Edit menu ➤ Clone Make a selection. ➤ Hold down Shift key. ➤ Move, rotate, or scale the selection with the mouse. With the Clone command you can create copies, instances, or references of a selected object or a set of objects. Clone creates a copy, instance, or reference of an object. The Clone command on the Edit menu creates a single copy of your selection. Alternatively, you can clone multiple copies by holding down the Shift key as you move on page 851, rotate on page 852, or scale on page 854 your selection. Either method displays the Clone Options dialog on page 932. Clone Options Dialog Make a selection. ➤ Edit menu ➤ Clone 932 | Chapter 8 Creating Copies and Arrays Make a selection. ➤ Hold down Shift key. ➤ Move, rotate, or scale the selection with the mouse. Scene Explorer on page 8469 ➤ Paste a copied node. Clone creates a copy, instance on page 9195, or reference on page 9282 of a selected object or set of objects. The Clone command on the Edit menu creates a single copy. You can clone multiple copies by holding down the Shift key as you transform the selection. Procedures To clone an object without transforming it: 1 Select an object, or set of objects. 2 From the Edit menu, choose the Clone command. The Clone Options dialog opens. NOTE All options are present except Number Of Copies. 3 Change the settings or accept the defaults, and then click OK. Each new, cloned object occupies the same space as the original. Select a clone by name to move or modify it. To clone an object with Scene Explorer on page 8469: NOTE Cloning objects with Scene Explorer requires that the new copies be hierarchical children of an existing object. 1 In Scene Explorer, highlight one or more objects. 2 Do either of the following: ■ Right-click one of the highlighted items and choose Copy Nodes. ■ From the Edit menu, choose Copy Nodes. 3 Do either of the following: ■ Right-click an item and choose Paste Nodes. ■ Highlight an object and from the Edit menu, choose Paste Nodes. The Clone Options dialog opens. 4 Change the settings or accept the defaults, and then click OK. Clone Options Dialog | 933 The copied objects are cloned as children of the highlighted object. Each new, cloned object occupies the same space as the original. Select a clone by name to move or modify it. To clone and transform an object: 1 On the main toolbar, click (Move), (Rotate), or (Scale). 2 Select an object, multiple objects, group, or sub-object. 3 Hold down the Shift key and drag the selection. As you drag your selection, the clone is created, selected, and transformed. The original object is deselected and unaffected by the transform. When you release the mouse button, the Clone Options dialog opens. 4 Change the settings or accept the defaults, and then click OK. Interface 934 | Chapter 8 Creating Copies and Arrays Object group Copy Places a copy of the selected object at the specified position. Instance Places an instance of the selected object at the specified position. Reference Places a reference of the selected object at the specified position. Controller group Lets you choose to copy or instance the transform controllers on page 9091 of the original object’s child objects. This option is available only when the selection you are cloning includes two or more hierarchically linked objects on page 9183. When cloning non-linked objects, transform controllers are simply copied. Also, when cloning linked objects, the highest-level cloned object's transform controller is simply copied. This option applies only to the transform controllers of objects at levels below the top of the cloned hierarchy. Copy Copies the cloned objects' transform controllers. Instance Instances the cloned objects' transform controllers below the top level of the cloned hierarchy. With instanced transform controllers, you can change the transform animation of one set of linked children, and automatically have the change affect any cloned sets. This allows you to animate all clones identically with a single animation setup. For example, consider a scene containing three objects named Torso, Thigh, and Calf. The objects are linked hierarchically so that Torso is the parent of Thigh and Thigh is the parent of Calf. Say you select all three objects and then clone them, and choose Clone Options ➤ Controller ➤ Instance. Thereafter, if you transform either Thigh or Calf object, the corresponding object in the other hierarchy is transformed identically, along with any child objects. However, if you transform either Torso object, the other hierarchy is not affected. _____ Number of Copies Specifies the number of copies of the object you want to create. Available only when you Shift+Clone an object. Using Shift+Clone to generate multiple copies applies the transform successively to each additional copy. If you Shift+Move an object and specify two copies, the second copy is offset from the first copy by the same distance that the first copy is offset from the original. For Rotate, two copies of the rotated object are created, with the second copy rotated twice as far as the first. For Scale, two copies of the scaled object are created, with the second copy scaled Clone Options Dialog | 935 from the first copy by the same percentage that the first copy was scaled from the original. Name Displays the name of the cloned object. You can use this field to change the name; additional copies use the same name followed by a two-digit number, starting at 01 and incrementing by one for each copy. So, for instance, if you Shift+Move an object and then specify the name building and two copies, the first copy will be named building and the second will be named building01. Using Shift+Clone Shift+Clone is the primary way to duplicate objects in 3ds Max. You hold down the Shift key and drag during any of the standard transform operations: Move, Rotate, or Scale. To Shift+Clone an object: 1 On the main toolbar, click (Move), (Rotate), or (Scale). 2 Select a transform coordinate system and constraints. Each transform carries its own settings. To avoid surprises, always click the transform button first, and then set your transform coordinate system and constraints. NOTE You can also use the Transform Gizmo to set axis constraints. 3 Select the object or set of objects you want to clone. The selection can be a single object, multiple objects, a group, or a sub-object selection. 4 Hold down the Shift key and drag the selection to apply the transform. As you drag, a clone is created and selected; it is now the object being transformed. The original object is no longer selected and is unaffected by the transform. When you release the mouse button, the Clone Options dialog appears. Change settings in this dialog or accept the defaults, and then click OK. Shift+Clone uses the Clone Options dialog on page 932 for any transform you choose. 936 | Chapter 8 Creating Copies and Arrays See also: ■ Cloning with Shift+Move on page 937 ■ Cloning with Shift+Rotate on page 939 ■ Cloning with Shift+Scale on page 942 Animating Shift+Clone You can animate any Shift+Clone operation. See Animating Shift+Rotate and Shift+Scale on page 944. Cloning Without Transforming Cloning objects with Shift+Clone requires transforming them at the same time, by moving, rotating, or scaling them. In some cases, you might want to clone an object without transforming it in any way. The Edit menu Clone command gives you this option, which lets you create only one clone at a time. To clone objects without transforming: 1 Select the object or objects to clone. 2 Choose Edit menu ➤ Clone. The Clone Options dialog appears. This is the same dialog used with Shift+Clone except that there's no Number Of Copies setting. The Clone command lets you create only one copy. 3 Change settings in this dialog or accept the defaults, and click OK. NOTE The cloned object occupies the exact same space as the original, and is selected when cloning is complete. Use Select By Name on page 184 to select the original or reselect the clone. Cloning with Shift+Move Cloning objects while moving them is quick and easy. It produces a linear array of two or more objects. Cloning with Shift+Move | 937 Shift+Move creates a clone in a different location. To clone with Shift+Move: 1 On the main toolbar, click (Move) . 2 Choose a coordinate system and axis constraint. 3 Make the selection you want to clone. 4 Hold down Shift and drag to move a clone of the selection away from the original. 5 Choose the number of copies you want to make on the Clone Options dialog, and whether you want them to be copies, instances, or references. 938 | Chapter 8 Creating Copies and Arrays About Arrays Created with Shift+Move Multiple clones produced by Shift+Move form an equally spaced linear array with these characteristics: ■ The line of the array runs from the center of the original through the centers of the clones. ■ The distance between each neighboring pair of copies is the same the distance between the original and the first clone. By using snaps as you move the selection, you can make precise arrays. An example of the Shift+Move array is a picket fence. From a single picket, you can generate long runs of fencing. You can array the fence along a major axis of the home grid, then group the pickets, rotate them to a particular angle, and move them into position. You can also make three-dimensional arrays with Shift+Move. The main choice is the combination of axes to allow movement off the construction plane. For example, to build a stairway, you can create a box that forms the top step, then use Shift+Move to copy it diagonally downward, using an array to create a downward flight. Cloning with Shift+Rotate Cloning objects while rotating them produces a variety of effects, depending on how you set up the transformation. Cloning with Shift+Rotate | 939 Shift+Rotate creates a clone with a different orientation. To clone with Shift+Rotate: 1 Click (Rotate) on the main toolbar. 2 Choose a coordinate system, transformation center, and axis constraint. 3 Make the selection you want to clone. 4 Hold down the Shift key and drag to rotate the selection. 5 Choose the number of copies you want to make on the Clone Options dialog, and whether you want them to be copies, instances, or references. Effects of Transform Settings Where you locate the transform center determines how 3ds Max positions clones when using Shift+Rotate. ■ For all settings, the direction of rotation is constrained by the active axis or axes of the viewport’s coordinate system. 940 | Chapter 8 Creating Copies and Arrays ■ Each clone is rotated from the previous one by the same amount as the first clone from the original. Local Pivot at Center An object’s default pivot point is often located at its center or its base. When you use Shift+Rotate around an object’s default pivot point, the clones overlap evenly as each one is rotated the same amount. This is true for multiple objects with a local-pivot setting, since each object uses its own local center. Clones of a circular object, like a sphere or cylinder, can be overlaid exactly on the original. You might need to move them away from the original to see them. With angle snap on page 2847 set to divide a circle evenly, you can produce complex symmetrical objects from simple ones. For example, you can clone a tetrahedron around one axis, then clone the new set about another axis to produce a faceted star. Local Pivot at a Distance When you separate the local pivot from the original, clones create a wheel-like arrangement. Long shapes like petals or blades, cloned with the center near one end, can create flowers or propellers. See Adjust Pivot Rollout on page 3797. You can move the local pivot any distance from the object, creating large circular arrays. Since direct animation is limited to the local pivot, this is a key technique in animating circular arrays. See Animating Shift+Rotate and Shift+Scale on page 944. Selection Center For either single or multiple objects, the selection center is the geometric center of the bounding box on page 9113 enclosing the entire selection. Clones are arrayed around this center, forming wheel-like arrays. For a single object, this center is usually different from its local center, but the effects are similar to those based on a local pivot. Coordinate Center Using the coordinate center, Shift+Rotate can produce circular arrays of any size. The rotation takes place around the center of the home grid, the screen, or whichever coordinate system you choose. While clones can be created this Cloning with Shift+Rotate | 941 way, the process cannot be directly animated. For details on overcoming this limitation, see Animating Shift+Rotate and Shift+Scale on page 944. Cloning with Shift+Scale Cloning objects while scaling them can produce a variety of nested objects and arrays, depending on the center you choose. Shift+Scale creates a clone of a different size. To clone with Shift+Scale: 1 Click a Scale button on the main toolbar. 2 Choose a coordinate system, axis constraint, and transform center. 3 Make the selection you want to clone. 4 Hold down Shift and drag to scale the selection. 942 | Chapter 8 Creating Copies and Arrays 5 Use the Clone Options dialog to choose the number of clones you want to make and whether you want them to be copies, instances, or references. Effects of Transform Settings Transform settings determine how 3ds Max distributes clones of a selection during Shift+Scale. In all scaling operations, the transform center acts as the center of scaling: ■ When clone objects decrease in size, they shrink toward the transform center. ■ When clone objects increase in size, they expand away from the transform center. The distance between cloned objects is scaled like the clones themselves, based on the initial distance from the original to the first clone. The spacing increases or decreases proportionately with respect to the transform center. Nested Copies When the selection center is used as the transform center for a single object, scaling occurs symmetrically around that center, producing nested copies. ■ As you scale in toward the center, smaller and smaller copies are created. ■ In the other direction, the original object is enclosed by increasingly larger copies. Variations are possible, depending on the type of scale and axis limitations. For example, you can scale a flat box into a progressively stepped pyramid by using Squash on page 858 and cloning inward on the Z axis. Offset Centers For Shift+Scale, any center other than the local pivot has the effect of creating an array of progressively scaled objects. Again, objects scale down in size toward the center, while increasing in size further away. However, this effect is limited by the particular scale option and the axis constraints, as discussed next. Cloning with Shift+Scale | 943 Axis Constraints Uniform Scale is unaffected by axis constraints, which you can set with the Transform Gizmo. Copies are always arrayed in or out from the center of the current coordinate system. For Non-Uniform Scale and Squash, scaling occurs only along the axis or axes set with the restricted axes. NOTE The Restrict To ... buttons (also called the Axis Constraints buttons) are available on the Axis Constraints toolbar on page 8627, which is off by default. You can toggle display of this toolbar by right-clicking an empty area of a toolbar and choosing Axis Constraints from the Customize Display right-click menu on page 8827. Animating Shift+Rotate and Shift+Scale You can use the Auto Key button on page 8679 to animate Shift-clone. However, there are some restrictions. When the Auto Key button is on, the transform center defaults to local pivot, and the Use Center flyout on page 867 on the toolbar is unavailable. If you choose one of the other centers and activate Auto Key, the center returns to the local pivot. This means you can’t directly animate about a non-local pivot center with Shift+Rotate and Shift+Scale. For example, you can't use this method to create clones in an arc or circular array around a common center. Using Non-Local Centers To use a center separate from the object you’re cloning, you can do any of the following: ■ Use a dummy object. ■ Offset the local pivot. ■ Change the default animation center. Using a Dummy Object as Center In this procedure, you use the axis tripod of the dummy object as the center for rotation or scale. To use a dummy object as center: 1 Create a dummy object on page 2871 at the center of rotation or scaling. 944 | Chapter 8 Creating Copies and Arrays 2 Link the object or objects you want to clone to the dummy object, which becomes the parent. 3 Select both the dummy and the objects, then transform them with Shift+Rotate or Shift+Scale. ■ For Shift+Rotate, the dummy’s center becomes the pivot. ■ For Shift+Scale, the dummy and selected objects scale together toward the center of the dummy. For details of dummy object use in hierarchies, see Using Dummy Objects on page 3686. Offsetting the Local Pivot In this procedure, you move the object’s pivot to the center of rotation or scale. This works much like using a dummy object. To offset the local pivot: 1 Select the object whose pivot you wish to move. 2 On the Hierarchy command panel, choose Pivot and then turn on Affect Pivot Only. 3 Move the local pivot of the original object to another location in your scene. 4 On the Hierarchy panel, click Affect Pivot Only again to turn it off. Shift+Rotate or Shift+Scale now animates around the offset center. This works with the default setting for local center. NOTE Moving the local pivot can adversely affect linking and inverse kinematics. If this is a possibility, consider changing the default axis instead of moving the local pivot. Animating Shift+Rotate and Shift+Scale | 945 To change the default axis while animating: In this procedure, you set 3ds Max to allow animation of transforms about any center on the Use Center flyout. 1 Choose Customize menu ➤ Preferences and click the Animation tab of the Preference dialog. 2 In the Animate group, turn off Local Center During Animate. This changes the default and makes all the transform center options available when animating. You can now animate around either the selection or transform coordinate center, as well as local pivot. NOTE Changing the default setting animates the rotation you see in viewports as a rotation plus translation, which might not be the effect you wanted. Cloning Objects Over Time with Snapshot The Snapshot tool on page 888 lets you clone an object along its animation path. You can make a single clone at any frame, or multiple clones spaced over a selected number of frames. 946 | Chapter 8 Creating Copies and Arrays Using car models animated along paths, Snapshot creates an image of a collision. Snapshot can also clone a particle system's particles. Snapshot spaces the clones equally in time. Adjustments in Track View let you space the clones equally along the path instead. Like other clone techniques, Snapshot creates copies, instances, or references. You can also choose a mesh option. To clone an object with Snapshot, the object must already be animated. You can use Snapshot from any frame on the path. The Auto Key button has no effect on Snapshot, since Snapshot creates static clones, not animation. This is the general procedure: To clone an object with Snapshot: 1 Select an object with an animation path, or a particle system. The animation can result from applying transforms, controllers, or any combination of effects. Cloning Objects Over Time with Snapshot | 947 2 On the Extras toolbar ➤ Array flyout on page 881 click (Snapshot), or on the Tools menu, choose Snapshot. 3ds Max opensthe Snapshot dialog. NOTE The Array flyout is on the Extras toolbar, which is off by default. You can toggle display of this toolbar by right-clicking an empty spot on the main toolbar and choosing Axis Constraints from the Customize Display right-click menu on page 8827. 3 Set parameters in the dialog, and click OK. Arraying Objects Array is a dedicated tool for cloning and precisely transforming and positioning groups of objects in one or more spatial dimensions. For each of the three transforms (move, rotate, and scale), you can specify parameters for individual objects in the array, or for the array as a whole. Many results you can get with Array would be laborious or impossible using Shift+Clone techniques. 948 | Chapter 8 Creating Copies and Arrays A one-dimensional array Creating an Array This is the general procedure. For more details, see the topics that follow. To create an array: 1 Select one or more objects to be in the array. 2 Choose a coordinate system and transform center. 3 On the Extras toolbar, click choose Array on page 882. (Array), or on the Tools menu, The Array dialog appears. NOTE The Array flyout is on the Extras toolbar, which is off by default. You can toggle display of this toolbar by right-clicking an empty spot on the main toolbar and choosing Axis Constraints from the Customize Display right-click menu on page 8827. Arraying Objects | 949 4 Set array parameters on this dialog, then click OK. Reuse of Array Settings Generally you should approach Array creation as an iterative process. The dialog settings are not interactive, so you get feedback only after creating the array. By revising the current settings and repeating the array, you develop a solution that meets your needs. After creating an array and checking its result, you can undo the array using Edit menu ➤ Undo Create Array or Ctrl+Z. This leaves the original selection set in place. Repeating an Array When you create an array, object selection moves to the last copy or set of copies in the array. By simply repeating current settings, you create a seamless continuation of the original array. During a session, 3ds Max maintains all the dialog settings for your current array. Array settings are saved only during the current session, not with the file. Be sure you’ve finished an array before you quit 3ds Max. General Considerations When you create an array, keep these points in mind: ■ Array is relative to the current viewport settings for coordinate system and transform center. ■ Axis constraints do not apply, because Array allows you to specify transforms along all axes. ■ You can animate array creation. By changing the default Animate preferences setting, you can activate all the transform center buttons, allowing direct animation around either the selection or coordinate center, as well as local pivot. For information about changing the default setting, see the procedure, To change the default axis while animating on page 945. ■ To make an array of a hierarchically linked object, select all the objects in the hierarchy before you click Array. 950 | Chapter 8 Creating Copies and Arrays Using the Array Dialog The Array dialog provides two main control areas where you set the important parameters: Array Transformation and Array Dimensions. You can set parameters in any order, but in practice it’s useful to start with Array Transformation. This creates the basic building block for the larger array, as defined by Array Dimensions. These topics discuss specific strategies for using these controls: Creating Linear Arrays on page 955 Creating Circular and Spiral Arrays on page 960 See also: ■ Array on page 882 Array Transformation This area lists the active coordinate system and transform center. It’s where you set the transforms that define the first row of the array. You decide here on the distance, rotation, or scale of individual elements, and along what axes. You then repeat this row in other dimensions to produce the finished array. Using the Array Dialog | 951 Move, Rotate, and Scale Transforms You set Move, Rotate, and Scale parameters along any of the three axes of the current coordinate system. ■ Move is set in current units. Use a negative value to create the array in the negative direction of the axis. ■ Rotate is set in degrees. Use a negative value to create the array in a clockwise direction around the axis. ■ Scale is set as a percentage. 100 percent is full size. Settings below 100 decrease the size, and above 100 increase it. Incremental and Totals For each transform, you have the choice of whether to apply the transforms successively to each newly created element in the array or to the overall array. For example, if you set Incremental ➤ X ➤ Move to 120.0 and Array Dimensions ➤ 1D ➤ Count to 3, the result is an array of three objects, each of whose transform centers is 120.0 units apart. However, if you set Totals ➤ X ➤ Move to 120.0 instead, the three elements are spaced 40.0 units apart for a total array length of 120.0 units. ■ Click arrows on either side of the transform labels to choose between Incremental or Totals. Incremental and Totals settings are toggles for each transform. When you set a value on one side, the other side is unavailable. However, the unavailable value updates to show the equivalent setting. Incremental: Parameters set on this side apply to individual objects in the array. Here are examples: ■ An Incremental Move X setting of 25 specifies a spacing of 25 units on the X axis between centers of arrayed objects. ■ An Incremental Rotate Z setting of 30 specifies a progressive rotation of 30 degrees on the Z axis for each object in the array. In the finished array, each object is rotated 30 degrees farther than the one before it. Totals: Parameters set on this side apply to the overall distance, number or degrees, or percentage scale in the array. Here are examples: ■ A Totals Move X setting of 25 specifies a total distance of 25 units on the X axis between the centers of the first and last arrayed objects. 952 | Chapter 8 Creating Copies and Arrays ■ A Totals Rotate Z setting of 30 specifies a combined rotation of 30 degrees on the Z axis divided equally among every object in the array. Type of Object Copy Creates new array members as copies of the originals. Instance Creates new array members as instances of the originals. Reference Creates new array members as references of the originals. For further information, see Overview of Copies, Instances, and References on page 922. Array Dimensions The Array Dimensions controls determine the number of dimensions used in the array and the spacing between the dimensions. Count: The number of objects, rows, or layers in each dimension. 1D: One-dimensional arrays form a single line of objects in 3D space, like a line of columns. 1D Count is the number of objects in a row. Spacing for these objects is defined in the Array Transformation area. A one-dimensional array, with 1D Count=6 Using the Array Dialog | 953 2D: Two-dimensional arrays form a layer of objects along two dimensions, like the rows of squares on a chess board. 2D Count is the number of rows in the array. A two-dimensional array, with 1D Count=7 and 2D Count=4 3D: Three-dimensional arrays form multiple layers of objects in 3D space, like neatly stacked boxes. 3D Count is the number of layers in the array. 954 | Chapter 8 Creating Copies and Arrays A three-dimensional array, with 1D Count=10, 2D Count=6, 3D Count=3 Incremental Row Offsets These parameters become available when you choose a 2D or 3D array. These are distances along any of the three axes of the current coordinate system. ■ If you set a Count value for 2D or 3D, but no row offsets, the array is created with overlapping objects. You need to specify at least one offset distance to prevent this. ■ If some objects appear to be missing from the array, it is possible that some objects have been created exactly on top of other objects in the array. To determine whether this has occurred, use Select By Name on page 184 to see the full listing of objects in your scene. If objects are on top of one another and you don't want this effect, click Ctrl+Z to undo the array, and try again. Creating Linear Arrays A linear array is a series of clones along one or more axes. A linear array can be anything from a line of trees or cars to a stairway, a picket fence, or a length Creating Linear Arrays | 955 of chain. Any scene requiring repeated objects or shapes is a candidate for a linear array. Examples of linear arrays For an explanation of interface terms used here, see Using the Array Dialog on page 951. For the basic steps in making an array, see Arraying Objects on page 948. Creating Simple Linear Arrays The simplest 2D linear array is based on moving a single object along a single axis. These are the basic choices to make on the Array dialog. Make these choices in the Array Transformation group: ■ Use Incremental Move settings where you know the spacing you want between objects. ■ Use Totals Move settings when you know the overall space or volume you want the array to occupy. ■ For either of these two types of arrays, enter a value for one axis. Leave the other transforms at their default values. 956 | Chapter 8 Creating Copies and Arrays Make these choices in the Array Dimensions group: ■ Choose 1D. ■ Enter a Count value for the number of objects in the array. The Total In Array field updates to show you the current total of objects in the array you are designing. ■ Click OK to create a linear array along the chosen axis, with the number of objects specified by Count. 2D and 3D Linear Arrays Arrays in 2D and 3D have the same Array Transformation group setup as 1D, with the addition of Incremental Row Offsets settings for moving the additional dimensions apart. ■ Set 2D or 3D and enter a Count value. If you set 3D, the 2D values also become available. Both Count values are 1 by default, which has the same effect as 1D. Set the 2D and 3D Count values greater than 1 to produce a more complex array. ■ Set a nonzero value for at least one Incremental Row Offsets setting for 2D and 3D. Otherwise, there will be no separation between the 1D row and the new clones. A wide variety of linear arrays are possible. Experiment with moving along all three axes and varying the row offsets in 2D and 3D. Creating Linear Arrays | 957 Using Rotation in Linear Arrays Linear array with elements rotated about their Y axis You can rotate elements in a linear array by applying a Rotate value for a specified axis. When you add rotation to a linear array, the choice of transform center becomes important. 958 | Chapter 8 Creating Copies and Arrays Using Scale in Linear Arrays Linear array with progressive scaling When you apply a Scale factor, 3ds Max scales each copy from the previous copy. Objects in the array become progressively smaller or larger, as in the illustration. Scale and Movement in Nested Arrays Using only Scale settings and the local pivot of an object produces nested arrays, like Russian dolls, just as it does when you Shift+Scale from the local Creating Linear Arrays | 959 pivot. However, with the Array tool, you can add movement as well. This means you can create increasingly larger or smaller copies and array them at the same time. Using Uniform Scaling By default, all axes are available for scaling. If you turn on Uniform, only the Scale X field is active; the Y and Z fields are unavailable. The X value is applied as uniform scaling on all axes of the arrayed objects. Creating Circular and Spiral Arrays Creating circular and spiral arrays typically involves some combination of moving, scaling, and rotating copies along one or two axes and around a common center. The effects can vary from the uniform radial arrangement of bolts on a wheel hub to the complex geometry of a spiral staircase. You can model many circular patterns with these techniques. See Using the Array Dialog on page 951 for an explanation of interface terms used here. See Arraying Objects on page 948 for the basic steps in making an array. Using a Common Center Both circular and spiral arrays require a common center for the arrayed objects. This can be the world center, the center of a custom grid object, or the center of the object group itself. You can also move the pivot point of an individual object and use that as the common center. 960 | Chapter 8 Creating Copies and Arrays Circular Arrays A circular array Circular arrays are similar to linear arrays, but based on rotation around a common center rather than movement along an axis. The following procedure makes a circle of objects on the XY plane of the home grid with the Z axis as the center. To create a circular array: 1 On the main toolbar, choose a transform center to become the center of the array. In this case, choose Use Transform Coordinate Center so the center of the grid becomes the array center. 2 Select an object and position it at some distance from the center of the grid. This distance is the radius of the finished circle. 3 On the Extras toolbar, choose on the Tools menu, choose Array. (Array) from the Array flyout, or Creating Circular and Spiral Arrays | 961 3ds Max opens the Array dialog. NOTE The Array flyout is on the Extras toolbar, which is off by default. You can toggle display of this toolbar by right-clicking the main toolbar and choosing Axis Constraints from the Customize Display right-click menu on page 8827. 4 On the Array dialog, enter 360 in the Totals Rotate Z field. This is the total rotation for the array, a complete circle. To create a partial circle, enter a smaller value. 5 Choose 1D and enter a Count value (this can be any number) and click OK. 3ds Max arrays that number of clones within the total rotational angle you specify. Spiral Arrays A spiral array 962 | Chapter 8 Creating Copies and Arrays The simplest spiral arrays are rotated circular arrays with a movement along the central axis. The same circle is formed, but now the circle rises upward. If Z is the central axis, enter a value for Incremental Move Z. Each clone is then moved upward this amount as the circle is formed. Rotation in Spiral Arrays In spiral arrays, the direction of rotation determines the direction of the spiral: which way it winds up or down. Enter a positive rotation for a counterclockwise spiral. Enter a negative rotation for a clockwise spiral. Reorienting an Array By default, each object, when copied into the array, rotates around its own center to follow the main rotation around the common center. This is controlled by the Re-Orient option. To cause objects to maintain their original orientation while being rotated, turn off Re-Orient. In effect, objects remain "facing the same direction" as the original object. Mirroring Objects The Mirror tool uses a dialog that either creates a mirrored clone of a selected object, or mirrors the orientation of the object without creating a clone. You can preview the effects of settings before committing to the operation. Mirroring Objects | 963 Mirroring an object This is the general procedure for mirroring an object. Begin by selecting the object. ■ On the main toolbar, click (Mirror), or on the Tools menu, choose Mirror. 3ds Max opens the Mirror dialog. The title bar of the dialog shows the coordinate system currently in use. For information on the Mirror dialog options, see Mirror Selected Objects on page 877. Mirrored Arrays You can combine the Mirror and Array tools by using them in succession. An entire array can be mirrored, or you can set up mirrored objects before creating an array. 964 | Chapter 8 Creating Copies and Arrays Animating Mirror When you use Mirror with Auto Key turned on, you see the transition occur as the mirrored object moves into place. For example, a cylinder mirrored to the other side of an axis appears to flatten and reshape itself. The object is, in fact, scaled from 100% to 0% to –100%. This effect is not visible unless the mirror operation is animated. Mirror Modifier The Mirror modifier on page 1462 provides a parametric method of mirroring an object or sub-object selection within the modifier stack. You can apply the Mirror modifier to any type of geometry. You can animate the mirror effect by animating the modifier’s gizmo. Using the Spacing Tool The Spacing Tool distributes objects based on the current selection along a path defined by a spline or pair of points. The distributed objects can be copies, instances, or references of the current selected object. You define a path by picking a spline or two points and by setting a number of parameters. You can also specify how the spacing between objects is determined and whether the insertion points of the objects align to the tangent of the spline. Using the Spacing Tool | 965 The Spacing Tool distributes the vases along the sides of the curved street. The vases are all at the same distance from each other; fewer of them appear on the shorter side. For details on the Spacing Tool parameters, see Spacing Tool on page 892. To distribute objects along a path: 1 Select one or more objects to distribute. 2 On the Extras menu, choose (Spacing Tool) from the Array flyout, or on the Tools menu, choose Align ➤ Spacing Tool. NOTE The Array flyout is on the Extras toolbar, which is off by default. You can toggle display of this toolbar by right-clicking an empty area on the main toolbar and choosing Axis Constraints from the Customize Display right-click menu on page 8827. 3 On the Spacing Tool dialog, click Pick Path or Pick Points to specify a path. 966 | Chapter 8 Creating Copies and Arrays If you click Pick Path, select a spline from your scene to use as the path. If you click Pick Points, click a start point and an end point to define a spline as the path. When you’re finished with the Spacing Tool, 3ds Max deletes this spline. 4 From the drop-down list at the bottom of the Parameters group, choose a spacing option. The parameters available for Count, Spacing, Start Offset, and End Offset depend on the spacing option you choose. 5 Specify the number of objects to distribute by entering a Count value, or by using the spinner. 6 Depending on the spacing option you choose, adjust the spacing and offsets. 7 In the Context group, choose one of the following: ■ Edges specifies that spacing be determined from the facing edges of each object’s bounding box. ■ Centers specifies that spacing be determined from the center of each object’s bounding box. 8 To align the insertion points of the distributed objects to the tangent of the spline, turn on Follow. 9 In the Type Of Object group, choose the type of object to output (copy, instance, or reference) and click Apply. Using the Spacing Tool | 967 968 Modifiers 9 Modifiers provide a way for you to sculpt and edit objects. They can change the geometry of an object, and its properties. Example: effects of the Twist modifier on an object The modifiers you apply to an object are stored in a stack on page 9225. By navigating up and down the stack, you can change the effect of the modifier, or remove it from the object. Or you can choose to “collapse” the stack and make your changes permanent. There are other general things to know about using modifiers: ■ You can apply an unlimited number of modifiers to an object or part of an object. 969 ■ When you delete a modifier, all its changes to the object disappear. ■ You can move and copy modifiers to other objects using controls in the modifier stack display on page 8776. ■ The order or sequence in which you add modifiers is important. Each modifier affects those that come after it. For instance, adding a Bend modifier on page 1104 before a Taper on page 1757 can give you distinctly different results than if you first added the Taper followed by the Bend. See also: ■ Modifier Stack Controls on page 8776 How Modifiers Differ from Transforms Modifiers and transforms differ in how they affect an object and the order in which they are applied to an object. Transforms The transform is the most basic of 3D manipulations. Unlike most modifiers, transforms are independent of an object’s internal structure, and they always act in world space on page 9354. An object can carry any number of modifiers, but it always has only a single set of transforms. The transforms of an object are expressed as a matrix of values that contain the following information: ■ Position of the object center in world space ■ Rotation of the object in world space ■ Scale of the object along its local axes The matrix is called the transformation matrix, and its information relates directly to the transforms Move, Rotate, and Scale. Applying one of these transforms alters the values in the transformation matrix. Transforms have the following properties. They are: ■ Applied to the entire object. ■ Independent of their order of application. No matter how many times you transform an object, the results are stored as one set of values in the matrix. ■ Applied after all object-space modifiers have been evaluated, but before the world-space modifiers. See Using the Modifier Stack on page 983. 970 | Chapter 9 Modifiers Most transforms produce equal displacement along one or more axes of an object, or part of an object. For Move on page 851, Rotate on page 852, and Uniform Scale on page 855 transforms, the displacement is equal along all three axes. When you rotate a box, all sides remain parallel. In general, all vertices keep the same relative position to one another. The exceptions are Squash on page 858 and Non-Uniform Scale on page 856, which displace axes by different amounts. TIP Use the XForm modifier on page 1961 if you want to transform an object at a specific location in the stack (that is, after some object-space modifiers but before others), or if you want to transform a sub-object selection. See Modifying at the Sub-Object Level on page 991. Modifiers Most modifiers allow you to perform operations on the internal structure of an object in object space on page 9243. For example, when you apply a modifier such as Twist on page 1783 to a mesh object, the position of each vertex of the object is changed in object space to produce the twisting effect. Modifiers can operate at the sub-object level, and are dependent on the internal structure of the object when the modifier is applied. Modifiers have the following properties. They are: ■ Applied to all of an object or part of an object (using a sub-object selection). ■ Dependent on the order of application. Applying a Bend followed by a Twist produces a result different from applying a Twist followed by a Bend. ■ Displayed as individual entries in the modifier stack, where you can turn them on or off, and change the order in which they're applied. Some modifiers operate in world space. These use world-space coordinates, and are applied to the object after all object-space modifiers and transforms have been applied. Otherwise, they have the same overall properties as object-space modifiers. Transforms, Modifiers, and Object Data Flow Once you have defined an object, 3ds Max evaluates changes affecting the base object and displays the result in the scene. What these changes are, and the order in which they are evaluated, is called the object data flow. Transforms, Modifiers, and Object Data Flow | 971 Diagram of data flow Master Object Master object refers to an object defined by a set of creation parameters and the original position and orientation of its pivot point. You never see the master object. What you see in the viewport is always the result of at least the following data flow: Master Object -> Object Transforms -> Object Properties 972 | Chapter 9 Modifiers Object creation parameters in the Modify panel and Track View Transforms, Modifiers, and Object Data Flow | 973 An example of master objects with different creation parameters. Object-Space Modifiers The object-space modifiers on page 1098 are the next group evaluated in the data flow. Each modifier is evaluated in the order it was placed on the modifier stack. The modifications all occur in the object’s object space and the result is called the modified object. 974 | Chapter 9 Modifiers Object modifiers in the Modify panel and Track View Transforms, Modifiers, and Object Data Flow | 975 The effect of modifiers on a master object. Object Transforms Once the modified object has been evaluated, it is transformed within the world coordinate system. Transforms cover the position, rotation, and scale changes applied from the transform buttons on the toolbar. The method of evaluating all modifiers first and then evaluating the combined transforms has ramifications for the way you work with 3ds Max. The effect of transforms is independent of the order in which they are applied. The order in which you apply modifiers, on the other hand, does affect the resulting geometry. If you want to apply a transform that is evaluated in a specific order in the modifier stack, use the XForm modifier on page 1961. 976 | Chapter 9 Modifiers Transforming a modified object Space Warps Space warps on page 2920 are evaluated after transforms. They distort objects bound to the space warp based on the position of the object in world space. For example, a Wave space warp on page 3013 causes the surface of an object to undulate in the form of a wave. As the object or the space warp moves through world space, the waves move across the object’s surface. Like space warps, world-space modifiers on page 1004 are evaluated after transforms. A world-space modifier is like a space warp bound to a single object. Object Properties Object properties are the last to be evaluated before the object is displayed. These are values specific to an object such as its name or settings you specify on the Object Properties dialog on page 221, such as shadow-casting properties; and materials you have applied to the object. This is the end of the data flow, and the result is the named object you see in your scene. Transforms, Modifiers, and Object Data Flow | 977 Right-click an object and choose Properties to display its Object Properties dialog. Object Properties affect the look of an object's rendered output. Using Modifiers This section contains a number of topics intended to help you learn how to use modifiers and the Modify panel. 978 | Chapter 9 Modifiers Bend modifier applied to a streetlight model Using the Modify Panel After adding objects to your scene from the Create panel, you often move to the Modify panel to change an object’s original creation parameters and to apply modifiers. Modifiers are the basic tools for reshaping and adjusting primitive geometry. NOTE You can float on page 9139 or dismiss the command panel using the Customize Display right-click menu on page 8827. The default setting is to display the command panel docked at the right of your screen. If it is not displayed or you want to change its location and docking or floating status, right-click in a blank area on any toolbar, and choose from the shortcut menu. The Modify panel stays in view until you click another command panel tab. The panel updates to show the options and controls that are available for the currently selected object or modifier. Using the Modify Panel | 979 Using Modifiers Once you’ve applied modifiers to an object, you can use the Modifier Stack on page 8776 to find a particular modifier, change its parameters, edit its sequence in the modifier stack, copy its settings to another object, or delete it entirely. You can find alphabetical lists of modifiers in Object-Space Modifiers on page 1098 and World-Space Modifiers (WSMs) on page 1004. General Guidelines You can generally do the following with the Modify panel: ■ Modify anything you can select. This includes any object or set of objects, or any part of an object down to the sub-object level. For example, you can use the Mesh Select modifier to select a single face, then apply a Taper modifier to it. ■ Apply an unlimited number of modifiers to an object or part of an object. The order or sequence in which you make modifications is important. Each modification affects those that come after it. See Using the Modifier Stack on page 983. NOTE Some modifiers can be applied only to certain types of objects. Modifier Sub-Object Levels In addition to its own set of parameters, a modifier typically has one or more sub-object levels that you access through the modifier stack on page 983. The most common of these are a gizmo and a center. Gizmo Displays in viewports as a wireframe that initially surrounds the selected object. A gizmo acts like a mechanical apparatus that transfers its modification to the object it’s attached to. To alter the effect of the modifier on the object, you can move, scale, and rotate the gizmo as you would any object. Center The center is the modifier's pivot point on page 9269. You can move a modifier’s center, which alters the effect of the modifier on the object. Parametric Deformations and Other Modifier Types One set of object-space modifiers is known as parametric deformations (“parametric deforms” on the Modifiers menu). Twist on page 1783 and Bend on page 1104 are examples. Parametric deformations alter the selection passed to them without explicitly depending on topology. 980 | Chapter 9 Modifiers Many other types of modifiers, however, perform operations on the explicit topology of sub-object selections. The Edit modifiers and Select modifiers are examples. When a topology-dependent modifier is present on the stack, you can adversely affect its results if you visit previous stack operations and change the number or order of sub-objects (such as faces or vertices) in the selection. If you try to do this, a warning alerts you to the situation. You can safely edit the stack beneath the topology-dependent modifier, as long as you do not add or remove sub-objects from the selection on which it operates. Procedures To use the Modify panel: 1 Select an object in your scene. 2 Click (the Modify tab) to display the Modify panel. The name of the selected object appears at the top of the Modify panel, and fields change to match this object. The object’s creation parameters appear in rollouts on the Modify panel, below the modifier stack display. You can use these rollouts to change the creation parameters for an object. As you change them, the object updates in the viewports. 3 Apply a modifier to an object (described in the next procedure). Using the Modify Panel | 981 After you apply a modifier, it becomes active, and rollouts below the modifier stack display settings specific to the active modifier. To apply a modifier to an object: 1 Select the object. 2 Do one of the following: ■ Choose a modifier from the Modifier List. This is a drop-down list at the top of the Modify panel. TIP You can use the mouse or keyboard to choose a modifier from the Modifier List. To use the keyboard, first open the list with the mouse, and then type the first letter in the modifier's name. From there you can use the arrow keys or the method described in the following paragraph to highlight the desired modifier, and then press Enter to assign the modifier. In many cases, several modifier names start with the same letter. You can go directly to a particular modifier if you type the first few letters (enough for a unique combination) in the desired modifier's name quickly. For example, say you want to assign the Mirror modifier to an object. Typing M goes to Mesh Select, which isn't anywhere near Mirror in the Modifier list, but typing MI goes directly to Mirror. ■ Choose a modifier from the Modifiers menu. This menu is organized into sets by functionality. Not all modifiers appear on the Modifiers menu. ■ If the modifier buttons are visible on the Modify panel and the modifier you want is one of them, click the button. If the buttons are not visible but you want to use them, click (Configure Modifier Sets) on page 8798, below the modifier stack display, and choose Show Buttons. A set of buttons with the names of modifiers appears between the modifier list and the stack display. Click Configure Modifier Sets again, choose the set of modifiers you want to use (for example, Free-Form Deformations), and then click the button for the modifier you want to apply. 982 | Chapter 9 Modifiers Rollouts are now displayed below the modifier stack display, showing settings for the modifier. As you change these settings, the object updates in viewports. To drag a modifier to an object: 1 Select an object that already has a modifier you would like to use on another object. 2 To copy the modifier without instancing it, drag the modifier's name from the stack display to the object in a viewport that you want to use the same modifier. To move the modifier, use Shift+drag; this removes it from the original object and applying it to the new one. To instance the modifier, use Ctrl+drag; this creates an instanced modifier applied to both the original object and the new one. NOTE Instancing a modifier causes its name to be displayed in italics in the modifier stack. This indicates that the modifier is instanced, meaning that a change to the modifier parameters of one object will affect the other. Using the Modifier Stack The modifier stack and its editing dialog are the keys to managing all aspects of modification. You use these tools to: ■ Find a particular modifier and adjust its parameters. ■ View and manipulate the sequence of modifiers. ■ Copy, cut, and paste modifiers between objects, or sets of objects. ■ Deactivate the effect of a modifier in the stack, the viewport display, or both. ■ Select a modifier’s components, such as gizmo or center. ■ Delete modifiers. See also: ■ Editing the Stack on page 987 Using the Modifier Stack | 983 ■ Modifier Stack Controls on page 8776 ■ Modifier Stack Right-Click Menu on page 8789 Examining the Modifier Stack The modifier stack (or "stack" for short) is a list on the Modify panel. It contains the accumulated history of a selected object and any modifiers you have applied to it. Internally, 3ds Max "evaluates" an object beginning at the bottom of the stack and applies changes to the object by moving sequentially to the top of the stack. You should therefore "read" the stack from bottom up to follow the sequence used by 3ds Max in displaying or rendering the final object. Here is an example of stack entries for a capsule object (an extended primitive): ■ At the bottom of the stack, the first entry always lists the object type (in this case, Capsule). You click this entry to display the original object creation parameters so you can adjust them. If you haven’t applied any modifiers yet, this is the only entry in the stack. ■ Object-space modifiers appear above the object type. You click a modifier entry to display the modifier’s parameters so you can adjust them, or to delete the modifier. Modifiers are preceded by a plus or minus icon if they have sub-object (or sub-modifier) levels. See Using the Stack at Sub-Object Level on page 994. 984 | Chapter 9 Modifiers ■ At the top of the stack are world-space modifiers and space warps bound to the object. (In the illustration, Displace Mesh is a world-space modifier.) These always appear at the top, and are described as "bindings." Basics of Using the Stack With the stack feature, no modification has to be permanent. By clicking an entry in the stack, you can go back to the point where you made that modification. You can then rework your decisions, temporarily turn off the modifier, or discard the modifier entirely by deleting it. You can also insert a new modifier in the stack at that point. The changes you make ripple upward through the stack, changing the current state of the object. Adding Multiple Modifiers You can apply any number of modifiers to an object, including repeated applications of the same modifier. As you start applying object modifiers to an object, the modifiers "stack up" in the order they’re applied. The first modifier appears just above the object type at the bottom of the stack. ■ 3ds Max inserts a new modifier in the stack just above the current selection, but always in the proper location. If you try to insert a world-space modifier between two object-space modifiers, 3ds Max automatically places it at the top of the stack. ■ If you select the object type on the stack and apply a new object-space modifier, it appears just above the object type and becomes the first modifier evaluated. Effect of Stack Sequence 3ds Max applies modifiers in their stack order (beginning at the bottom and carrying the cumulative change upward), so a modifier's location in the stack can be critical. The following figure shows the difference between the objects based entirely on a reversal in the stack order of two modifiers. On the left-hand tube, a Taper modifier is applied before a Bend modifier, and on the right-hand tube, the Bend is applied first. Using the Modifier Stack | 985 Results of reversing stack order of two modifiers Using the Buttons These buttons, found just below the modifier stack, help you manage the stack: Pin Stack Locks the stack and all Modify panel controls to the selected object’s stack. You can continue to edit the object even if you select a different object in the viewports. Show End Result When on, shows the effect of the entire stack on the selected object. When off, shows the effect of the stack only up to the currently highlighted modifier. Make Unique Makes an instanced object unique, or an instanced modifier unique to a selected object. See details in Editing the Stack on page 987. This option is also available from the Modifier Stack right-click menu on page 8789. Remove Modifier Deletes the current modifier from the stack, eliminating all changes caused by that modifier. Configure Modifier Sets Click to display a pop-up menu that lets you configure how to display and choose modifiers on the Modify panel. 986 | Chapter 9 Modifiers Editing the Stack You can copy, cut, and paste modifiers within an object’s stack, or into the stacks of other objects. Among other features, you can give modifiers explicit names to help you remember the intended effect. To edit the stack: 1 Choose an item in the stack. 2 Right-click. This displays the Modifier Stack right-click menu on page 8789, which is briefly introduced in this topic. Rearranging and Sharing Modifiers To rearrange modifiers: The easiest way to move a modifier to a different location in the stack is simply to drag it there. Alternatively, you can use the following cut/copy and paste procedure. 1 Choose one or more modifiers, right-click, and choose Copy or Cut. 2 Choose a new location in the list, right-click, and choose Paste. The paste occurs immediately above the new location. To share modifiers with other objects: 1 Choose one or more modifiers, right-click, and choose Copy. 2 Select a different object or group of objects. 3 Choose a location in the new stack, right-click, and choose Paste. You can also drag from the modifier stack display to an object in a viewport. TIP Select world-space and object-space modifiers separately. Cut, Copy, and Paste are disabled if both types are selected. If you try to paste a world-space modifier into the section for object-space types, the paste occurs at the top of the world-space section. The reverse is also true. Editing the Stack | 987 Unique and Instanced Modifiers By default, pasted modifiers are unique: they lose all connection with the modifier from which they were copied. Compare with an instanced modifier, which is shared between two or more objects. Changing a parameter on an instanced modifier automatically changes the same parameter on the other instanced objects. To create an instance of a modifier: ■ After copying or cutting the modifier, right-click and choose Paste Instanced. In the stack, the name of an instanced modifier appears in italics. Any instance of a modifier controls all other instances. Use this feature when you want a number of objects to take on the same feature. For example, copying an instanced Bend modifier on page 1104 to a number of trees would make them all bend identically. Changing Bend parameters on any one tree would change the bend on all the others. To remove the instancing from a modifier: ■ Select the instanced modifier and click the modifier from instanced to unique. (Make Unique). This converts Using Make Unique with Multiple Items Assume you have a group of trees all sharing the same instanced Bend modifier. If you select two of them and click Make Unique on page 8794, a message asks, "Do you want to make the selected objects unique with respect to each other?" ■ If you click Yes, the two trees become independent of one another. Each has a unique copy of the modifier and can be bent separately. ■ If you click No, the two trees continue to share the same instanced modifier, but separately from the instance in the original group. The two trees can be bent together. See How Instanced Modifiers Work on page 1000. Collapsing the Stack You can use Collapse All or Collapse To to collapse all or part, respectively, of an object's stack to an editable object that preserves the cumulative effect 988 | Chapter 9 Modifiers of the collapsed modifiers on the base object. You might choose to do this in these cases: ■ You’ve finished modifying an object and want to keep it as is. ■ You want to discard an object's animation tracks. Alternatively, you can Alt+right-click a selected object and choose Delete Selected Animation. ■ You want to simplify a scene and save some memory. NOTE In most cases, collapsing all or part of the stack will save memory. However, collapsing some modifiers, such as Bevel, increases file size and memory use. After you collapse an object’s stack, you can no longer parametrically adjust either its creation parameters or the individual modifiers affected by the collapse. Animation tracks that were assigned to such parameters also disappear. Collapsing the stack does not affect the object’s transforms; it affects world-space bindings only if you use Collapse To. Collapsing the stack does not save memory if the stack contains no modifiers. TIP Before you use either Collapse option, use Application menu on page 8579 ➤ Save ➤ Save Selected to preserve a copy of the original parametric object. To collapse the stack: 1 Right-click the modifier stack display. 2 If modifiers have been applied to the object, choose Collapse To or Collapse All. Collapse To Collapses the stack, up to and including the chosen modifier, into an editable object. Modifiers on the stack above the chosen modifier are not affected, and you can still adjust them individually. The resultant object type depends on the uppermost modifier that outputs a specific geometry type, if any. If the stack contains no such modifier, the result is an editable mesh on page 2190. If the collapsed portion of the stack contains a modifier that outputs a specific geometry type, and no other such modifier is above it, the result is that type of object. For example, if the topmost such collapsed modifier is Edit Poly, the resultant object is Editable Poly. Collapse All Collapses the entire stack into an editable object, other than world-space bindings. Any world-space bindings on the stack are left intact. Editing the Stack | 989 The resulting stack list shows a single entry: Editable Mesh, unless any modifiers on the stack output a different type of geometry. For example, if the topmost such modifier is Edit Poly, the resultant object is Editable Poly. If no modifiers are applied to the object, choose one of the Convert To options: ■ Editable Mesh ■ Editable Spline ■ Editable Patch ■ Editable Poly ■ NURBS NOTE Depending on the object type, not all Convert To options might be available. Edit Modifiers and Editable Objects To achieve highly detailed modeling effects, you can directly transform, modify, and align the geometry of objects at a sub-object level on page 9319, using the Modify panel on page 8773. The following table shows the different object types and their respective sub-objects. Object Type Sub-Object Geometry Mesh Vertex, Edge, Face, Polygon, Element Poly Vertex, Edge, Border, Polygon, Element Spline Vertex, Segment, Spline Patch Surface Vertex, Edge, Patch, Element, Handle NURBS Curve Curve CV or Point, Curve NURBS Surface Surface CV or Point, Surface With the exception of NURBS, to gain access to an object's sub-objects, in most cases you must first either convert the object into an editable object, or apply any of various modifiers to the object, such as Edit Mesh/Spline/Patch 990 | Chapter 9 Modifiers or Mesh/Spline Select. The Select modifiers simply let you specify sub-objects for modification by subsequently applied modifiers. The distinctions between transforming an object into an editable object and applying an Edit modifier to it are as follows: Method Advantage Disadvantage Editable object More efficient Can animate sub-objects Lose creation parameters Edit/Select modifier Keep creation parameters Less efficient Cannot animate sub-objects To convert a parametric object to an editable object, see any of the following topics: Editable Mesh Surface on page 2190 Editable Poly Surfaceeditable poly on page 2240 Editable Spline on page 554 Editable Patch Surface on page 2374 To apply an Edit modifier, see any of the following topics: Edit Mesh Modifier on page 1263 Edit Spline Modifier on page 1368 Edit Patch Modifier on page 1271 To apply a Select modifier, see the following topics: Mesh Select Modifier on page 1445 Poly Select Modifier on page 1529 Spline Select Modifier on page 1690 Volume Select Modifier on page 1944 Patch Select Modifier on page 1509 Modifying at the Sub-Object Level To achieve highly detailed modeling effects, you can directly transform, modify, and align the geometry of objects at the sub-object level on page 9319. Modifying at the Sub-Object Level | 991 Sub-objects are the pieces that make up objects, such as vertices and faces. You can also access and transform the sub-object components of modifiers. The particular geometry available at sub-object level depends on the object type. See Edit Modifiers and Editable Objects on page 990 for details on each object type. In a row of column sub-objects, a single column has been modified at the sub-object level. 992 | Chapter 9 Modifiers Making a Sub-Object Selection These are the general steps in setting up an object for sub-object selection. See Edit Modifiers and Editable Objects on page 990 for more information. 1 Convert the object into an editable object such as an editable mesh, editable spline, editable poly, and so on. (Some modifiers you can apply to the object, such as Edit Mesh, Mesh Select or Spline Select, also have sub-object levels.) TIP Work in a wireframe viewport so you can see the geometry. 2 On the modifier stack display, click (the plus-sign icon to the left of the name of the modifier or editable object). This expands the object's hierarchy, showing the names of the sub-object levels at which you can work. 3 On the stack display, choose the kind of sub-object geometry you want to work with: for example, Vertex, Face, or Edge. Each sub-object selection level has rollouts with their own sets of options. The sub-object level highlight is yellow by default. 4 Use standard selection techniques to select sub-object geometry, from a single sub-object to the entire object. By default, the sub-object selection highlights in red. Once you make a sub-object selection of geometry, you can do any of the following: ■ Apply any options supplied for the kind of object and the selection level. ■ Apply standard transforms: Move, Rotate, Scale. For more information, see Transforming a Sub-Object Selection, following. ■ Apply object-space modifiers (Bend, Taper, and Twist, for example) to perform useful modeling operations. ■ Apply object-space modifiers (UVW Map or Smooth, for example) to perform useful surfacing operations. ■ Bind a space warp on page 2920 to the selection. The rest of the object is unaffected by the warping. ■ Use the toolbar commands Align on page 906, Normal Align on page 912, and Align To View on page 918 with face selections. Modifying at the Sub-Object Level | 993 Transforming a Sub-Object Selection Using an editable mesh, poly, patch, or spline, you can directly transform any sub-object selection. However, “Select” modifiers like Mesh Select on page 1445 and Spline Select on page 1690 enable only selection. To transform a sub-object selection made with a Select modifier: 1 Add an XForm modifier on page 1961 to the stack, following (or somewhere above) the Select modifier. 2 In the stack, open the Select modifier and make a sub-object selection. 3 Choose XForm in the stack. You then transform the XForm gizmo, which applies the transform to the selection. Selecting and Transforming Modifier Components Most modifiers have sub-object components, such as a gizmo and center. Like sub-object geometry, these components can be accessed and transformed at sub-object level, directly modifying the object’s shape. Other modifiers, like those for free-form deformation, have control points and lattices at a sub-object level. Moving these components creates the modeling effects of the modifier. Using the Stack at the Sub-Object Level With editable objects such as meshes and splines, or modifiers with sub-object levels such as Mesh Select and Spline Select, you can continue to model a single sub-object selection by applying any number of other modifiers. When you go back and change the original selection, the new selection is "passed up the stack" to the modifiers that follow. Editable meshes and splines have "built-in" sub-object selection at their base level. But the selections you make with Mesh Select and Spline Select work exactly the same way on the stack. This topic uses meshes for its examples. You can apply the same concepts to editable splines, patches, and poly objects. Working at Two Levels When you select an object and apply modifiers (for example, Bend and Taper), you’re working with the object as a single unit, or "whole object", at the object level. 994 | Chapter 9 Modifiers When you make a sub-object selection, the stack display changes to show you are no longer working with the whole object. Consider the effect of a Mesh Select applied between Bend and Taper modifiers (Bend is below Taper). To the right of the Mesh Select and Taper modifiers, a sub-object icon (similar to the sub-object button in the Selection rollout) appears to show that sub-object selection is now in effect. The vertex sub-object selection made at the Mesh Select level is passed up the stack to the Taper modifier. This means the Taper modifier is applied only to the vertices selected at the Mesh Select level. Sub-object icon (in this case, for Vertex) to the right of modifier names in the stack display Sub-object selection carries upward through the stack. If you add more modifiers, each shows the sub-object icon to indicate this state. By learning to "read the stack," you can move back and forth between the object and sub-object levels while you work on an object. Returning to Whole-Object Level When you finish modeling a certain sub-object selection, you can return to work on the whole object. To return the stack to object level: 1 At any point in the stack, apply another Mesh Select modifier. 2 Leave this Mesh Select modifier at the top level (the object level, which highlights in gray). Any modifiers already on the stack above this modifier no longer show the sub-object icon. Any modifiers you add above the second Mesh Select now apply to the whole object. 3 To continue sending the sub-object selection up the stack, delete the second Mesh Select. Naming Sub-Object Selections Sub-object selections are often quite complex, involving a great many small elements that would be difficult to select a second time. For this reason, it’s Using the Stack at the Sub-Object Level | 995 a good idea to name important selection sets using the Named Selection Sets list on page 163 on the main toolbar. Named sub-object selections only appear at the type of level where they were first named. For example, if you select a set of vertices, you can name the selection at that vertex sub-object level. Then, when you later go to retrieve the named selection, you can access it only from the same modifier's vertex sub-object level. Copying Sub-Object Selections Once you name a sub-object selection set, you can copy it between modifiers in the same stack, or to the stack of another object of the same type. Editable meshes and Mesh Select (and their spline , patch, and poly counterparts) have buttons for Copy and Paste at each level of geometry, in the Modify panel ➤ Selection rollout. To copy/paste named sub-object selections: 1 Make a sub-object selection. 2 In the Selection rollout, click Copy. From the dialog, choose any available named selection set for that level of geometry. 3 Go to another Select modifier or to an editable mesh or poly, at the same level of geometry. Click Paste to complete the copy. Modifying Multiple Objects You can apply modifiers to multiple objects. In general, the process is parallel to modifying a single object. You make a selection set and apply an available modifier. The modifier then appears on a special stack that refers only to the commonality of that selection set. 996 | Chapter 9 Modifiers Top: Original objects Bottom: Single modifier applied to objects The Principle of Commonality When you select multiple objects, 3ds Max determines what the particular selected set of geometry has in common, if anything. Given any "commonality" among objects, 3ds Max presents the options as available modifiers. Unavailable modifiers represent areas where commonality does not hold. You can apply modifiers to different categories of objects, depending on the modifier. For example, you might apply Bend to both a 3D object and a 2D Modifying Multiple Objects | 997 shape. You can apply Mesh Select to a spline primitive and convert it to a mesh, but the reverse is not true: Spline Select is restricted to objects of the spline category. To modify multiple objects: 1 Select two or more objects. For selection sets, the name at the top of the Modify panel changes to read "Multiple Selected." If the objects are grouped, the group name appears. 2 Choose the kind of pivot point you want to use. See Using Pivot Points, (below). 3 Apply a modifier and adjust its parameters. If you apply a Mesh Select modifier, you can select geometry on one or more of the objects to use as a sub-object selection set. Using Pivot Points The first item in the Modifier List is a toggle called Use Pivot Points. This toggle is available only when multiple objects are selected. ■ When on, 3ds Max uses the pivot point of each object as the center of a modifier’s operation. For example, if you bend a line of trees around the Z axis, each bends along its own trunk. ■ When off, 3ds Max calculates a central pivot point for the entire selection set, and modifies the selection as a whole. For a Z-axis bend, trees at the end of a line would deform more than those at the center where the pivot is located. IMPORTANT Choose the pivot setting before you apply the modifier. You can’t change the pivot point afterward, although you can delete the modifier and start over without deselecting the selection set. 998 | Chapter 9 Modifiers Original objects Single modifier applied to all objects Modifying Multiple Objects | 999 Single modifier applied with Use Pivot Points activated Instanced Modifiers When you apply a modifier to multiple objects, each object receives an identical version of the modifier. These are called instanced modifiers. They are interchangeable. A change to any one of the instances affects all the other instances. How Instanced Modifiers Work on page 1000 covers instanced modifiers in detail. TIP Sometimes you might apply modifiers to a selection set, perform some other operations, and select the set again, only to find its modifier stack is empty. This happens if you applied another modifier to an individual object in the original selection set. When you select the set again, the modifier stack is empty because all members of the set no longer have all modifiers in common. You can still access the instanced modifiers by selecting a single object in the set. The individual object’s stacks still contain the modifiers you applied to the set as a whole. How Instanced Modifiers Work When you apply a modifier to a selection set, the same modifier is carried on the stack for each individual object. These are instanced modifiers: they are all exactly the same, and a change to the instance for any one object will change all the others. 1000 | Chapter 9 Modifiers In the stack, the name of an instanced modifier appears in italic. Objects sharing a single instanced modifier Identifying Instanced Modifiers You can quickly lose track of which objects share the same modifier. An option on the Views menu highlights those objects. To identify objects sharing instanced modifiers: 1 Select an object with an instanced modifier. Choose the instanced modifier in its stack. 2 Choose Views menu ➤ Show Dependencies. Other objects with instances of the same modifier appear in a distinctive color (purple by default). Adjusting Instanced Modifiers You can make changes to an entire set of objects from a single instance. This is a major advantage of instanced modifiers. How Instanced Modifiers Work | 1001 To adjust instanced modifiers: 1 Select any object in a set of objects with instances of the same modifier. 2 Choose the instanced modifier in its stack. The single object highlights and the appropriate gizmos appear for the entire selection set. Adjustments to this modifier now affect the entire set. Changing the parameter of an instanced modifier for one object affects all the objects sharing the modifier. Making Instanced Modifiers Unique At some point in your work, you might want to turn a modifier instance into a local copy that affects only a single object. To do so, click Make Unique on page 8794 on the Modify panel. This button appears beneath the modifier stack display. (Make Unique is also available as a pop-up menu choice when you right-click the instanced modifier's name in the stack display.) 1002 | Chapter 9 Modifiers To make an instanced modifier unique: 1 Select an object with an instanced modifier. 2 Choose the instanced modifier in its stack. 3 Below the modifier stack display, click (Make Unique). The modifier is no longer listed in italic text, and if Show Dependencies is set, the highlight disappears from the other objects. The modifier is now separate from the set of instanced modifiers. Adjustments you make to this modifier no longer affect other objects. Its parameters and gizmo remain unchanged from their original, instanced settings until you adjust them. To make multiple modifier instances unique: 1 Select two or more objects with the same instanced modifier. The stack now shows what the objects have in common. 2 Choose the instanced modifier in the stack. There can be more than one instanced modifier in this stack. Click the one you want to make unique for each of the selected objects. 3 Click (Make Unique). 4 Right-click and choose Make Unique from the menu. The modifier is no longer listed in italic text and if Show Dependencies is set, the highlight disappears from the other objects. 5 Click Yes to make the two objects become independent of one another. Click No for the two objects to continue to share the same instanced modifier, but separate from the instance in the original group. The parameters for this modifier disappear, because the objects no longer share the modifier. For each object, the modifier is now separate from the set of instanced modifiers. As with a single object, the parameters and gizmo are unchanged in the now unique modifiers. ■ To access the unique modifiers, select the objects individually. How Instanced Modifiers Work | 1003 NOTE If both the object and the modifier are instances, you can choose either in the stack before you click Make Unique. World-Space Modifiers (WSMs) World-space modifiers act as object-specific space warps. They are carried with the object, but like space warps use world space on page 9354 rather than object space for their effects. World-space modifiers eliminate the need for binding to a separate space-warp gizmo, making them convenient for modifying a single object or selection set. You apply world-space modifier like you apply standard object-space modifier. You can access world-space modifiers from the Modifiers menu, the Modifier List in the Modify panel, and applicable modifier sets on page 8797. A world-space modifier is indicated by either an asterisk or the text “(WSM)” next to its name. (The asterisk or “(WSM)” distinguishes the world-space version from the object-space version of the same modifier, if one exists.) When you assign a world-space modifier to an object, it appears at the top of the modifier stack, listed as a binding, in the same area as the space warp bindings. Camera Map Modifier (World Space) Modify panel ➤ Select an object. ➤ Modifier List ➤ World-Space Modifiers ➤ Camera Map (WSM) Select an object. ➤ Modifiers menu ➤ UV Coordinates ➤ Camera Map (WSM) The Camera Map world-space modifier is similar to the Camera Map modifier on page 1119, in that it applies UVW mapping coordinates to the object based on a specified camera. As a result, if you assign the same map as a Screen environment to the background as you apply to the object, the object is invisible in the rendered scene. The main difference between the world-space version of Camera Map and the object-space version is that, when you move the camera or the object using the object-space version, the object becomes visible, because the UVW coordinates are fixed to the object's local coordinates. When you move the 1004 | Chapter 9 Modifiers camera or object using the world-space version, the object remains invisible because world coordinates are used instead. Interface Current Camera Object group Label Names the current camera used for mapping. If there is no current camera, reads "None." Pick Camera Click this button, and then select the camera you want used for mapping. Channel group Map Channel Specifies use of a map channel on page 9210. Map channels are specified in the Material Editor on page 6019. Vertex Color Channel Specifies use of the Vertex Color Channel (see UVW Map Modifier on page 1883). Displace Mesh Modifier (World Space) Select an object. ➤ Modify panel ➤ Modifier List ➤ World-Space Modifiers ➤ Displace Mesh (WSM) The Displace Mesh world-space modifier (World Space) lets you see the effect of displacement mapping on page 6482 on editable mesh objects on page 2190 and objects with a Disp Approx modifier on page 1251 applied to them. If a Displace Mesh Modifier (World Space) | 1005 displacement map is applied to the object, the mesh shows the effect of the displacement map. Displace Mesh replaces the mesh with its displaced version. There are two main reasons for using Displace Mesh: ■ As a visualization aid to see the effect of a displacement map in viewports, and to compare the placement of displaced objects with other objects in the scene. For example, if you use an animated displacement map to create waves on a water surface, you might temporarily apply Displace Mesh to see where the ripples meet the waterline of a boat. When you use Displace Mesh in this way, usually you delete it once you've obtained the effect you want. ■ To obtain an editable mesh created from a displacement map To use the Displace Mesh this way, you apply it to the object that has a displacement map, then apply the Snapshot command on page 888 from the Tools menu, and choose Mesh as the clone method. Snapshot creates a permanently displaced mesh. As it does for other kinds of objects, Snapshot also leaves the original, displacement-mapped object in the scene. After applying Snapshot, you can delete the original object, or you can keep it in your scene to use for other purposes. TIP Use Disp Approx to displace editable meshes. Use Displace Mesh for previewing, as in the first item, but avoid using Snapshot. The mesh created by using Displace Mesh and Snapshot can have a high polygon count. This makes it slow to use interactively, and can cause smoothing problems, where the underlying mesh edges are visible. Interface The rollout for Displace Mesh lets you choose which surface approximation settings are used to produce the mesh. 1006 | Chapter 9 Modifiers Update Mesh Updates the mesh if you have changed the displacement mapping and want to see the results of the change. The mesh isn't updated automatically because that can become extremely time consuming. Custom Settings When turned off, Displace Mesh uses default settings to subdivide the mesh for the purposes of displacement mapping. When turned on, the subdivision controls in this rollout are enabled. Default=off. Subdivision Displacement Subdivides mesh faces to accurately displace the map, using the method and settings you specify in the Subdivision Presets and Subdivision Method group boxes. When turned off, the modifier applies the map by moving vertices in the mesh, the way the Displace modifier on page 1255 does. Default=on. Split Mesh Affects the seams of displaced mesh objects; also affects texture mapping. When on, 3ds Max splits the mesh into individual faces before displacing them; this helps preserve texture mapping. When off, 3ds Max uses an internal method to assign texture mapping. Default=on. Displace Mesh Modifier (World Space) | 1007 TIP This parameter is required because of an architectural limitation in the way displacement mapping works. Turning Split Mesh on is usually the better technique, but it can cause problems for objects with clearly distinct faces, such as boxes, or even spheres. A box's sides might separate as they displace outward, leaving gaps. And a sphere might split along its longitudinal edge (found in the rear for spheres created in the Top view) unless you turn off Split Mesh. However, texture mapping works unpredictably when Split Mesh is off, so you might need to add a Displace Mesh modifier and make a snapshot on page 888 of the mesh. You would then apply a UVW Map modifier on page 1883 and then reassign mapping coordinates to the displaced snapshot mesh. Subdivision Presets group and Subdivision Method group The controls in these two group boxes specify how the modifier applies the displacement map when Custom Settings and Subdivision Displacement are both turned on. They are identical to the surface approximation controls on page 2762 for NURBS surfaces. Displace NURBS Modifier (World Space) Select a NURBS object. ➤ Modify panel ➤ Modifier List ➤ World-Space Modifiers ➤ Displace NURBS (WSM) The Displace NURBS world-space modifier (World Space) converts a NURBS on page 2433 object into a mesh. If a displacement map is applied to the object, the mesh shows the effect of the displacement map in viewports. There are two main reasons for using Displace NURBS: ■ As a visualization aid to see the effect of a displacement map in viewports When you use Displace NURBS this way, you usually delete the modifier once you've obtained the effect you want. ■ To obtain an editable mesh created from a displacement map on a NURBS object To use Displace NURBS this way, you apply it to the object that has a displacement map, then use the Snapshot command on page 888 from the Tools menu, and choose Mesh as the Clone Method. Snapshot creates a permanently displaced mesh. As it does for other kinds of objects, Snapshot also leaves the original, displacement-mapped object in the scene. After applying Snapshot, you can delete the original object, or you can keep it in your scene to use for other purposes. 1008 | Chapter 9 Modifiers Interface The rollout for Displace NURBS lets you choose which surface approximation settings are used to produce the mesh. Animated Displacement Map If you use an animated displacement map on the mesh, turn on this toggle to have the NURBS Modifier correctly update the mesh as the displacement map animates. Displace NURBS Modifier (World Space) | 1009 You can apply a displacement map on page 6482 using the Material Editor on page 9210. Update Mesh Click to update the mesh if you have changed the displacement mapping and want to see the results of the change. The mesh isn't updated automatically because that could become extremely time consuming. Viewport Uses the tessellation that the NURBS object currently uses in viewports. Renderer Uses the tessellation that the NURBS object currently uses for the renderer. Custom Set the tessellation directly in the Tessellation Method group box. Base Surface, Surface Edge, Displaced Surface, and Lock These controls are the same as in the surface approximation controls on page 2762 for NURBS objects. Tessellation Method group The controls in this group are the same as the surface approximation controls for NURBS objects. _____ Ignore Surface Settings When turned off, Displace NURBS uses the surface approximation settings for surface sub-objects. When turned on, Displace NURBS uses the settings in the Tessellation Method group and overrides settings for surface sub-objects. Default=off. Auto Weld All vertices closer than the Threshold value are automatically welded together. This can simplify the mesh geometry. It is useful to turn this on when you have increased the Merge value in order to eliminate gaps between surface edges in the approximation of the NURBS object. Hair And Fur Modifier (World Space) Modify panel ➤ Make a selection. ➤ Modifier List ➤ World-Space Modifiers ➤ Hair And Fur (WSM) The Hair And Fur modifier is the heart of the Hair And Fur feature. You apply it to any object that you want to grow hair from: either a mesh object or a spline object. If object is a mesh, the hair grows from the entire surface unless 1010 | Chapter 9 Modifiers you make a sub-object selection. If the object is a spline, hair grows between the splines. When you select an object modified by Hair And Fur, hair is displayed in viewports. The hair itself as displayed in the viewports is not selectable, though hair guides are selectable when you work at the Guides sub-object level or style hair (see below). NOTE Hair And Fur renders only in Perspective and Camera views. If you attempt to render an orthographic view, 3ds Max displays a warning that says the hair will not appear. Hair And Fur renders by “tiles,” which are 2D projections of the 3D space that the hair or fur occupies. In Autodesk 3ds Max 2011, each tile is displayed in the rendered frame window as soon as it is generated. Also in Autodesk 3ds Max 2011, you can set the maximum memory that a tile uses at render time: see Hair And Fur Render Effect on page 7520. Hair And Fur can take advantage of multiple processors, improving rendering time on multiprocessor systems. Components of the Hair And Fur Feature Hair And Fur in 3ds Max has a few different components in the interface: ■ The Hair And Fur modifier is the main component. This is where you style the hair guides, and set parameters for size and coloration, kinkiness, frizziness, and so on. ■ The Hair And Fur render effect on page 7520 more directly controls how hair is rendered. Typically you don't need to change the render effect parameters, unless you have special rendering requirements. A Hair And Fur render effect is automatically added to your scene when you apply the Hair And Fur modifier. ■ A Hair Light Attributes rollout on page 5803 appears for all supported lights when a Hair And Fur render effect is active using the scanline renderer, and the render effect's Use All Lights At Render Time toggle is turned on. Controls on this rollout let you fine-tune how hair shadows appear under specific lights. The following light types are not supported when rendering hair with the “buffer” method (see “Lighting Considerations,” below): Skylight, mr Area Omni, mr Area Spot, IES Sun, IES Sky, mr Sky and mr Sun. However, mr Area Omni, mr Area Spot, mr Sky, and mr Sun are supported for hair when you use the “mr prim” method and the mental ray renderer. Hair And Fur Modifier (World Space) | 1011 NOTE For the purposes of rendering shadows in hair, Direct lights are treated as point (omni) lights. ■ There is also a Hair And Fur render element on page 7288, which you can use when you are doing your own compositing. Growth Objects You can grow Hair either from a surface or from splines. To grow hair from a surface, select the object and then apply the Hair And Fur modifier. You can use either geometric primitives or an editable surface type such as Polymesh. To grow hair from splines, you can draw several splines and combine them into a single object (or turn off Start New Shape during creation), and then apply the Hair And Fur modifier. You will see some preview interpolated hairs appear in viewports. The order of the spline sub-objects is important because Hair uses this order to interpolate hair in between the splines. If the interpolation seems incoherent, you might need to physically rearrange the splines. Using a spline emitter, Hair interpolates hair growth between pairs of splines in logical, numerical order. Left: Splines in sequential order result in predictable hair growth. Right: Splines in nonsequential order can produce undesirable results. TIP To check the numerical order of splines, go to the Editable Spline level of the modifier stack and access the Spline sub-object level. Then click each spline in turn and check its ID number at the bottom of the Selection rollout. It also can help to make sure that each spline's first vertex is where the hair roots should be. 1012 | Chapter 9 Modifiers Guide Hairs Storing and manipulating millions of dynamic, simulated hairs is demanding on today’s technology. Therefore, just as standard 3D graphics technology uses boundaries such as surfaces to describe solid objects, Hair uses hair “guides” to describe basic hair shape and behavior. Guides (yellow) occur at each polygon corner. Hairs (red) are interpolated between guides. When the growth object is a surface, Hair And Fur generates guide hairs at the corners of polygons. When the growth object is a spline, the spline sub-objects are themselves the guides. For surface-grown hair, you can manipulate the guides with styling tools on page 1033 to form a “control volume” that gets populated by interpolated hairs. The hairs can then be further manipulated with distorting controls such as Kink on page 1069 and Frizz on page 1064, which can be driven by maps or solid textures. Hair And Fur Modifier (World Space) | 1013 Frizz settings affect the hairs but not the guides. By default, a percentage of hairs are displayed in the viewports, but surface-grown guides do not appear except when you are working at the Guides sub-object level. You can adjust the viewport display of guides and hairs with settings on the Display rollout on page 1082. Guides are also used to calculate dynamics. After this calculation, hair interpolation takes place when you render. This is when parameters such as Frizz, as well as displacement and coloration, are calculated. You don't have control of every single hair, but this two-phase process makes the creation of realistic hair computationally feasible on a typical computer. Styling Hair The Hair And Fur modifier's growth settings have a great effect on the hair’s appearance and behavior, but you can also manipulate the guides directly (or in other words, style the hair). For surface-grown hair, use the tools on the Styling rollout on page 1033. First, select the surface whose hair you want to edit, and then on the Modify panel, either click the Style Hair button on the Styling rollout or choose the Guides 1014 | Chapter 9 Modifiers sub-object level from the Selection rollout on page 1019 or the modifier stack display. After guides have been styled, hair is interpolated between neighboring guide pairs. Mesh-based hair guides before and after styling. With spline growth, you style the hair by editing the growth splines in the viewports. Hair And Fur Modifier (World Space) | 1015 Style spline-based hair by manipulating the splines. Copying and Pasting Hair You can copy and paste a Hair And Fur modifier from one stack to another, but you need to line up the objects as closely as possible, because Hair uses proximity to determine how to position copied guides. If the objects have significantly different geometry, the transfer of guides can be inaccurate. Copying and pasting the Hair And Fur modifier automatically adjusts the hair scaling. Copying from a large object to a small object, for instance, results in a smaller default size in the copied modifier. If you copy an object that has Hair And Fur in its modifier stack, Hair will also copy the modifier’s data to a new modifier that will track the new object. Textures, Vertex Maps, and Shaders You can control many Hair And Fur modifier parameters with maps. If you apply a map to a parameter that is not a color, such as Density, Hair uses the texture as a grayscale map that is multiplied by the parameter value (0.0 to 100.0) . You apply a map by clicking the square button to the right of the parameter. After applying a map, the letter “M” appears on the button. To place this map in the first slot in the Material Editor, Shift+click the button. To disable the map temporarily, Ctrl+click the button. A disabled map is indicated by a lower-case “m”. Lighting Considerations When you render using the default “buffer” method, Hair And Fur provides its own default lighting (a single omni light), unless you have one or more supported lights in the scene. 1016 | Chapter 9 Modifiers Supported lights for the scanline renderer and “buffer” method include spotlights, omni lights, direct lights (which are treated as omni lights for hair purposes), and photometric lights except for IES Sun and IES Sky. Supported lights for the mental ray renderer and “mr prim” method include the lights supported by the scanline renderer, and these mental ray light types: mr Area Omni Light, mr Area Spotlight, mr Sky, and mr Sun. If supported lights exist in the scene, by default they are used to light the hair, and the internal default omni light is not used. This is because in the Hair And Fur render effect on page 7520, the Use All Lights At Render Time option is on by default. Also, any supported lights set to cast shadow-mapped shadows will cast shadows from rendered hair. For Hair’s “buffer” render to consider only certain lights, select the lights you’d like Hair to use, go to the Hair And Fur render effect, turn off Use All Lights At Render Time, and then click Add Hair Properties. This causes only the designated lights to illuminate the hair. It also adds a Hair Light Attr rollout on page 5803 to each of the designated lights. This lets you fine-tune the light's shadow settings for Hair. With the “buffer” method, you can also raytrace your scene. NOTE The other rendering methods provided are “geometry” and “mr prim.” The “geometry” method creates actual geometry for the rendered hair at render time. The “mr prim” method uses a mental ray shader to generate hair, and is for use only with the mental ray renderer. Use the Hair And Fur render effect to choose the rendering method. Loading and Saving Hair And Fur data in your scene is automatically saved when you save your MAX scene file. The state data for the hair can consume quite a bit of space, so your scene file will probably be significantly larger than it was before you applied hair. Animating Hair You cannot keyframe hair styling. You can keyframe Modify panel parameters to create special effects such as hair growing. But to animate hair motion, you can use the Frizz Animation parameters or use dynamics. To animate frizz, use the Frizz Anim. on page 1069, Anim. Speed, and Frizz Anim. Dir. parameters. It's not necessary to keyframe these to create animation; just set them to values other than the defaults. Hair And Fur Modifier (World Space) | 1017 To animate with dynamics, use the Dynamics rollout on page 1074. See To generate a precomputed dynamics simulation with Hair on page 1075. A gravity force is built in to Hair And Fur. You can add space warps to act as external forces (for example, Wind). See also: ■ Hair And Fur Render Effect on page 7520 ■ Hair And Fur Render Element on page 7288 ■ Hair Light Attr(ibutes) Rollout on page 5803 Procedures To use the Hair And Fur modifier: This procedure lists the essential steps for growing hair on an object. For more information, see other Hair And Fur topics in this help, and the tutorials in the Autodesk 3ds Max Tutorials, available from Help menu ➤ Tutorials. 1 Apply the Hair And Fur modifier to a mesh or spline object. The hairs appear in the viewports as brown lines. 2 Set the modifier parameters according to the desired results (see Topics in this Section, following). Available settings include the number of hairs, length, thickness, and coloring. 3 Activate a Perspective or Camera viewport, and then render the scene. Hair cannot render in an orthographic viewport. To apply hair to a limited area of a high-resolution object: An efficient working method for applying hair to part of a high-poly-count object is to use a low-poly proxy object. 1 Create the object to which you wish to apply hair. 2 Make a copy of the object in the same location as the original, remove any geometry where hair shouldn't grow, and reduce the polygon count. For example, you could use the MultiRes modifier on page 1482. 3 If the original object is to move, make the low-resolution proxy object a child of the original object. 1018 | Chapter 9 Modifiers 4 Apply the Hair And Fur modifier to the low-resolution proxy object and adjust as necessary. 5 Make the low-resolution proxy object non-renderable (see General Panel (Object Properties Dialog) on page 221). The hair will still render. Selection Rollout (Hair And Fur) Select an object with the Hair And Fur modifier applied. ➤ panel ➤ Selection rollout Modify The Selection rollout provides tools for accessing different sub-object levels and display settings and for creating and modifying selections, and displays information about selected entities. When you first apply the Hair And Fur modifier to an object, the entire object is affected by the modifier. You can specify that the only part of an object should grow hair by accessing a sub-object level and making a selection. Clicking a button here is the same as choosing a sub-object level in the modifier stack display. Click the button again to turn it off and return to the Object selection level. Interface NOTE Controls on this rollout are available only when the growth object is a mesh. If the growth object is a spline, the Selection controls have no effect, and sub-object levels for the Hair And Fur modifier are not visible in the modifier stack. Hair And Fur Modifier (World Space) | 1019 Guides Accesses the Guides sub-object level, which lets you edit the styling guides using tools on the Styling rollout on page 1033. When you click Guides, the Style Hair button on the Styling rollout is automatically turned on, and vice versa. Face Accesses the Face sub-object level, which lets you select a triangular face beneath the cursor; region selection selects multiple triangular faces within the region. Polygon Accesses the Polygon sub-object level, which lets you select polygons beneath the cursor. Region selection selects multiple polygons within the region. Element Accesses the Element sub-object level, which lets you select all contiguous polygons in an object by clicking once. Region selection lets you select multiple elements. By Vertex When on, you can select a sub-object only by selecting a vertex that it uses. When you click a vertex, all sub-objects that use the selected vertex are selected. Ignore Backfacing When on, using the mouse to select sub-objects affects only those facing you. When off (the default), you can select any sub-objects 1020 | Chapter 9 Modifiers under the mouse cursor, regardless of their visibility or facing. If there are more than one sub-object under the cursor, repeated clicking cycles through them. Likewise, with Ignore Backfacing off, region selection includes all sub-objects, regardless of the direction they face. NOTE The state of the Backface Cull setting on the Display panel does not affect sub-object selection. Thus, if Ignore Backfacing is off, you can still select sub-objects, even if you can't see them. Named Selection Set group Copy Places a named selection into the copy buffer. Paste Pastes a named selection from the copy buffer. TIP You can use this to grow hair from an existing selection lower on the stack. However, because the Hair And Fur modifier outputs an editable mesh, the copied sub-object selection should be from a mesh-based modifier. For example, if your base object is an editable poly, you can use tools such as Ring, Loop, and Grow to make a procedural edge selection, and then Ctrl+click the Polygon button on the Selection rollout to convert the selection to polygons. Next, apply a Mesh Select modifier (not Poly Select), and go to the Polygon sub-object level; the Mesh Select modifier inherits the Editable Poly selection. Use the Named Selection Sets field on the main toolbar to name the selection, and then use the Mesh Select modifier's Copy function on the named selection. Finally, apply the Hair And Fur modifier, go to the Poly sub-object level, and paste the selection. _____ Update Selection Recalculates the area from which hair is grown, based on the current sub-object selection, and refreshes the display. When you access a sub-object level within the Hair modifier and make a selection, the area of hair growth doesn't automatically update. Click Update Selection to view the results of a change in sub-object selection. Tools Rollout (Hair And Fur) Select an object with the Hair And Fur modifier applied. ➤ panel ➤ Tools rollout Modify This rollout provides tools for accomplishing a variety of tasks with Hair, including creating a hairstyle from an existing spline object, resetting the hair, Hair And Fur Modifier (World Space) | 1021 and loading and saving general presets for the modifier as well as specific hairdos. Here you can also specify an object from the current scene to be used as hair, such as a flower or group of flowers for creating a garden. Using Instanced Hair Besides the built-in hair strands, which are created at render time, you can assign any source object as hair strands, using the Instance Node controls on the Tools rollout. For example, in the following illustration, the original orientation of the source object affects its orientation when it is used as hair strands. Rotating the source object affects the hair orientation. The next illustration shows how increasing the Frizz Root value creates greater amounts of distortion in the resulting instanced hairs. This image also shows how a raised pivot in the source object causes the root of the hair to go below the surface of the growth object (the red square). Compare this with the previous illustration, in which the pivot rests at the base of the source object. 1022 | Chapter 9 Modifiers Frizz causes the instanced hairs to change shape. The next illustration shows the effect of the Merge Material check box. On the left side, Merge Material was left on, with the result that the flower model retained its original material and coloring when used as hair. On the right, Merge material was turned off, so the flower-hairs took on the material of the flower pot growth object. Hair And Fur Modifier (World Space) | 1023 Left: Merge Material on Right: Merge Material off In the next illustration, the Root Thick setting, from left to right, is 2.0, 10.0, 20.0, and 30.0. With instanced geometry, the Root Thick value affects the thickness of the resulting object uniformly along its height, while the Tip Thick value has no effect. (The Root Thick and Tip Thick settings are on the General Parameters rollout on page 1049.) 1024 | Chapter 9 Modifiers Increasing Root Thick affects the overall thickness of the hair geometry. From left to right: Root Thick = 2.0, 10.0, 20.0, and 30.0 The final illustration, below, shows how the instanced hair aligns itself faithfully to the guides, no matter how they're styled. The styled hair was brushed from the center, and the instances align perfectly in all directions, face up, without twisting or other distortion. This makes it easy to style instances as scales, for example. Hair And Fur Modifier (World Space) | 1025 Top left: The original styled hair Top right: The instanced hair (arrows) conforms to the styling. Bottom: Close-up view of instanced hair 1026 | Chapter 9 Modifiers Interface Recomb From Splines Lets you use a spline object to style the hair. Click this button and then select an object that is made up of spline curves. Hair will turn the curves into guides and populate each guide of the selected growth mesh with a replica of the closest curve. This tool is particularly useful for creating a specific style and length, such as short hair with a part on the side, without having to manually groom the hair in the Style dialog. For optimal control, position the splines fairly closely together and use as many as possible. Hair And Fur Modifier (World Space) | 1027 Hair and guides are recombed by the spline object (white). Spline Deform group Spline deformation lets you style or animate hair by having it conform to the shape of a spline on page 511. Pick Click to choose the spline you will use to deform the hair, then click the spline in a viewport, or press H and use the Pick Object dialog to select the spline. When no spline is picked, the label of this button shows “None.” When a spline is in active use, the label shows the name of the spline you picked. The deformation applies to all hair guides, and is a one-time operation: while splines are active, the guides are “locked” to the spline, and moving a point on a spline deforms the closest guides. However, the base of the spline (for example, where it’s attached to the head) does not move. If you deform the spline near the base of the guide, you will move the spline away from the base, because the base is fixed and will not follow the deformation. 1028 | Chapter 9 Modifiers TIP Clicking Recomb From Splines readjusts the hair (but not the guides) to align to the spline deformation better. However, you can’t animate Recomb From Splines. Left: The spline picked to deform hair Right: Hair deformed by the spline Animating the spline (for example, by animating the position of its vertices) animates the deformed hair, but not if you later alter the hair position by styling. This includes animating a modifier applied to the spline. The spline can be a spline cage: in other words, an Editable Spline object that consists of multiple splines. Left and right: Spline cage formed of two spiral spline sub-objects Middle: Hair deformed by the spline cage 3ds Max interpolates between the spline shapes in the spline cage, and the shape of a hair depends on its proximity to one or another spline sub-object in the cage. TIP One way to create a spline cage is to style hair, then click Tools rollout ➤ Convert group ➤ Guides -> Splines. Hair And Fur Modifier (World Space) | 1029 X To stop using spline deformation, click the Clear Spline button (labeled “X”). _____ Reset Rest Performs an averaging of hair guides using the growth mesh’s connectivity. This function is particularly useful after using Recomb From Splines. It's also advantageous when you change the size ratios of polygons in the growth object. For example, if you stretch part of the mesh by moving some vertices, by default the larger polygons will contain fewer hairs per unit area. Use Reset Rest to redistribute the number of hairs on the surface for more even coverage. Left: Even hair distribution before resizing polygons Center: Uneven hair distribution after moving edges, altering polygon size ratios Right: After using Reset Rest, distribution is again evened out. Regrow Hair Discards any styling information, resetting the hair to its default state, retaining all current Modify panel settings. Presets group Lets you load and save hair presets. Each preset contains all current Modify panel settings (except Display settings), but not any styling information. Load Opens the Hair Presets dialog, which contains a list of presets in the form of named swatches. To load a preset, double-click its swatch. Several sample presets are included with 3ds Max. 1030 | Chapter 9 Modifiers Hair And Fur Presets dialog Save Creates a new preset. You're prompted for a preset name; after entering one, Hair renders the swatch, as shown by a message on the status bar. You can abort the creation of the preset by clicking the Cancel button on the status bar during rendering. If you enter an existing preset name, Hair asks you to confirm overwriting the preset. Hairdo group Lets you copy and paste hairdos. Each hairdo contains all the current Modify panel settings (except Display settings) and styling information. This lets you apply all hair settings from one object to another. Copy Copies all hair settings and styling information into a paste buffer. Paste Pastes all hair settings and styling information to the current Hair-modified object. Hair And Fur Modifier (World Space) | 1031 Instance Node group Lets you specify an object to use as custom hair geometry. The hair geometry is not instanced from the original object, but all hairs created from it are instances of each other, to save memory. NOTE Hair does not use animation from instance objects. If an object is animated, Hair uses its state at the first animation frame. Pick To specify a hair object, click the Pick button and then pick an object to use. Thereafter, the button shows the name of the object you picked. To use a different instance object, or to use a modified version of the original object, click this button and then pick the new object. TIP In order for the instances to be properly scaled and fit to the hair, place the model's pivot at the “root” of the object. Hair will then scale your model appropriately so that the height of each instance matches the length of the hair it has been applied to. Any part of your model that extends below the pivot will intersect the surface. This can be useful; if the hair grows at an oblique angle to the growth surface, you can raise the pivot in the original model to make sure the instanced hairs will extend all the way to the growth surface. Also, bear in mind that the instancing engine will be deforming your model as it fits it to the hairs. Make sure that your model has enough divisions along the Z (vertical) axis for the deformation to look as smooth as it needs to; the number of subdivisions should be approximately equal to the Hair Segments value. Hair doesn't perform automatic subdivision on the geometry. X To stop using the instance node, click the Clear Instance button (labeled “X”). Merge Material When on, combines the material applied to the growth object and the material applied to the hair object into a single Multi/Sub-Object material and applies it to the growth object. When off, the growth object's material is applied to the instanced hair. Default=on. NOTE The merged material is instanced from the instance node, so that changing the original material affects the resulting material applied to the hair. Convert group Use these controls to convert guides or hair generated by the Hair And Fur modifier to 3ds Max objects that you can operate on directly. Guides -> Splines Copies all guides to a new, single spline object. The original guides are left intact. 1032 | Chapter 9 Modifiers Hair -> Splines Copies all hairs to a new, single spline object. The original hairs are left intact. Hair -> Mesh Copies all hair to a new, single mesh object. The original hairs are left intact. _____ Render Settings Opens the Effects panel and rollout on page 7517 and adds a Hair And Fur render effect on page 7520 to the scene, if one doesn't already exist. NOTE The Hair And Fur render effect settings are global, so even if you click Render Settings to open the effect settings from different Hair And Fur modifiers, you'll get the same render-effect settings. Styling Rollout (Hair And Fur) Select an object with the Hair And Fur modifier applied. ➤ panel ➤ Styling rollout Modify The Guides sub-object level of the Hair And Fur modifier on page 1010 lets you style hair interactively in viewports. Interactive styling controls are on the Styling rollout, which has a Style Hair button that you can also click to begin styling. Styling with Hair Guides Styling tools aren't available until you click Style Hair to turn it on, or choose the Guides sub-object level in either the Selection rollout or the modifier stack. Each guide hair has 15 segments and 14 vertices (there's an additional, non-selectable vertex at the root); for a tool to affect a guide, at least one of its vertices must be selected. To select vertices, click Select (in the Styling group) to turn it on, then use standard 3ds Max selection tools to select a portion of the guides. For example, you might drag a selection rectangle to select vertices on adjacent hair guides. By default, selected guides are displayed as orange, and unselected guides are displayed as yellow. Selections you make this way are constrained by the buttons at the top of the Selection group: Select Hair By Ends, Select Whole Guide (the default), Select Guide Vertices, or Select Guide By Root. As these names imply, the constraints affect how the Hair Brush modifies hair guides. The best way to get a feel for the difference between selection constraints is to practice using the various Hair And Fur Modifier (World Space) | 1033 selection constraints with tools such as Translate. The Hair Brush uses a combination of these constraints and IK to alter guide geometry. Left: Hair guide before styling Center: Translating while Select Whole Guide is active Right: Translating while Select Hair By Ends is active Once you've made a selection, typicall you will click Hair Brush (also in the Styling group, to the left of Select), and then use the brush in conjunction with one of the tools at the bottom of the Styling group: Translate, Stand, Puff Roots, Clump, Rotate, or Scale. While you style, only selected guides are affected, and in addition, only guides that fall within the brush area are affected at any given time. You can change the brush size using the slider in the Styling group, or by holding down Ctrl+Shift and dragging the mouse. The Hair Cut tool on the Styling rollout (between Hair Brush and Select) cuts hair guides by scaling them based on the brush location. Interface NOTE Controls on this rollout are available only when the growth object is a mesh. If the growth object is a spline, the Styling controls have no effect. Instead, you can style the hair by editing the underlying spline object. 1034 | Chapter 9 Modifiers Hair And Fur Modifier (World Space) | 1035 Style Hair / Finish Styling Click Style Hair to begin styling. Click Finish Styling to turn off styling mode. When you turn this button on, a brush is immediately available and by default the active tool is Translate. Turning on Style Hair turns on the Guides sub-object level in the Selection rollout on page 1019, and vice versa. Selection group Select Hair by Ends You can select only the vertex at the end of each guide hair. Select Whole Guide (The default.) Selecting any vertex on a guide hair selects all vertices on the guide hair. When you first turn on Style Hair, Hair activates this mode and selects all vertices of all guide hairs. Select Guide Vertices You can select any vertices on a guide hair. Select Guide by Root You can select only the vertex at the root of each guide hair, and doing so selects all vertices on the guide hair. Vertex display drop-down list Chooses how selected vertices are displayed in viewports. ■ Box Marker(The default.) Selected vertices display as small squares. ■ Plus MarkerSelected vertices display as small plus signs. ■ X MarkerSelected vertices display as small Xes. ■ Dot MarkerSelected vertices display as dots. Selection Utilities The buttons labeled “Selection Utilities” are for handling selections. Invert Selection Inverts the vertex selection. 1036 | Chapter 9 Modifiers Keyboard shortcut: Ctrl+I Rotate Selection Rotates the selection in space. Expand Selection Expands the selection by growing its area incrementally. Hide Selected Hides selected guide hairs. TIP If interactive styling in viewports seems to be slow, try hiding those guides you aren't working on. Show Hidden Unhides any hidden guide hairs. Styling group Hair Brush (The default.) In this styling mode, dragging the mouse affects only selected vertices within the brush area. While Hair Brush is on, a brush gizmo is displayed in viewports. In the active viewport, the brush appears as a circle, but as you can see in the other viewports, the brush is actually a three-dimensional cylindrical region. Hair And Fur Modifier (World Space) | 1037 In the active viewport, the brush appears to be a circle. 1038 | Chapter 9 Modifiers Inactive viewports show the brush to be a cylindrical region. Hair Cut Lets you trim the guide hairs. To cut hair, follow this suggested procedure: 1 In Selection mode, choose any selection method. 2 Drag the mouse to select guide hairs to trim. 3 Turn on Hair Cut. 4 Resize the brush using the slider. 5 Position the brush circle over hairs to cut, and then click to cut the hairs. Hairs with vertices inside the brush circle are shortened so that their endpoints touch the brush circle. Hair And Fur Modifier (World Space) | 1039 NOTE Cutting hair doesn't actually remove vertices; it only scales the guide hairs. You can restore guide hairs to their original length with Scale or one of the Pop commands on page 1043. Left: Hair guides before cutting Right: Hair guides after cutting Select Goes into selection mode, where you can use 3ds Max selection tools to select guide vertices according to the constraints chosen in the Selection group (Whole Guide, Ends, and so on). Distance Fade Available only for Hair Brush. When on, the effect of brushing fades toward the edges of the brush, giving a gentler effect. When off, brushing affects all selected vertices equally, giving a hard-edged effect. Default=on. Ignore Back Hairs Available only for Hair Brush and Hair Cut. When on, hairs on back faces are not affected by the brush. Default=off. Brush size slider Drag this slider to change the size of the brush. Keyboard shortcut: Ctrl+Shift+drag The styling buttons below the Brush Size Slider are available only while Hair Brush is on. 1040 | Chapter 9 Modifiers Translate Moves selected vertices in the direction that you drag the mouse. Stand Pushes selected guides toward a perpendicular orientation to the surface. Left: Guide hairs before styling with Stand Right: Guide hairs after styling with Stand (on the right) Puff Roots Pushes selected guide hairs toward a perpendicular orientation to the surface. The bias for this tool is closer to the root of the hair than to the endpoint. Left: Hair guides before puffing roots Right: Hair guides after puffing roots Hair And Fur Modifier (World Space) | 1041 Clump Forces selected guides to move towards each other (drag mouse leftward) or farther apart (drag mouse rightward). Left: Hair guides before clumping Right: Hair guides after clumping (at the right) Rotate Rotate or swirls guide hair vertices around the cursor location (at the center of the brush). Left: Hair guides before rotating Right: Hair guides after rotating (at the forelock) Scale Scales selected guides larger (drag mouse rightward) or smaller (drag mouse leftward). 1042 | Chapter 9 Modifiers Left: Hair guides at original lengths Right: Hair guides after scaling shorter Utilities group Attenuate Length Scales selected guides according to the surface area of underlying polygons. This is useful, for example, in applying fur to an animal model, which typically has smaller polygons in areas with shorter hair. For example, the polygons on an animals paws are usually smaller than the ones on the chest, and the chest fur tends to be longer. Pop Selected Pops selected hairs out along the surface normal. Left: Hair guides before using Pop Selected Right: Hair guides after using Pop Selected Hair And Fur Modifier (World Space) | 1043 Pop Zero-Sized Works like Pop Selected, but only operates on zero-length hairs. Left: Hair guides on top of head were scaled to zero length. Right: Using Pop Zero affects only the zero-length hair guides. Recomb Makes a guide parallel to the surface, using the guide's current direction as a hint. Here’s a suggested procedure: Turn on Hair Brush, select guides using Select Whole Guide, and then move the guides around not worrying about skin penetration or hair shape. You’re just trying to indicate the direction of the hair flow. Click Recomb frequently, and you will soon start to see hair flowing smoothly wherever you want it to. Once you have this flow, you can do your other styling. With the Recomb tool, you probably won't need to use Comb Away. Once you have the flow as you like it, you can go in and start styling in scale, cut guides, and move some of the tips around, “shaping” or “styling” the hair. 1044 | Chapter 9 Modifiers Left: Hair guides in their default position Right: Hair guides after clicking Recomb Reset Rest Performs an averaging of hair guides using the growth mesh’s connectivity. This function is particularly useful after using Recomb. Toggle Collisions When on, styling takes hair collisions into account. When off, styling ignores collisions. Default=off. For collisions to be used while styling, you need to have already added at least one collision object using the Dynamics rollout on page 1074. If no collisions are specified, this button has no effect. TIP If you collisions are enabled and styling interaction seems slow, try turning off Toggle Collisions. Toggle Hair Toggles viewport display of generated (interpolated) hair. This doesn't affect display of the hair guides. Default=on (hair is displayed). Hair And Fur Modifier (World Space) | 1045 Lock Locks selected vertices with respect to the orientation to and distance from the nearest surface. Locked vertices can be selected, but they can't be moved. This is useful for creating different types of hair shapes. For example, to make a braid, you would comb hair down some straight tubes, and then lock the vertices to the tubes. Then, in 3ds Max, when you twist the tubes, the hairs will follow. Locked vertices are no longer dynamic, although they will follow whatever the surface does, but if other vertices on the same guides aren't locked, they can still move freely, as usual. Unlock Unlocks all locked guide hairs. Undo Reverses the most recent action. Keyboard shortcut: Ctrl+Z Hair Groups group Split Selected Hair Groups Splits the selected guides into a group. This can be useful for creating a part or a cowlick, for example. Merge Selected Hair Groups Recombines selected guides. If you don't use Split Selected Hair Groups, then when you render hair, the generated hairs are interpolated across a styled part. When Split Selected Hair Groups is on, there is no interpolation between the split group and other hairs. To remove this effect and make the part less “clean,” click Merge Selected Hair Groups. 1046 | Chapter 9 Modifiers Quad Menu for Hair Styling While you are styling hair at the Guides sub-object level, right-clicking a viewport displays a quad menu that contains shortcuts to many styling controls that are also found on the Styling rollout on page 1033. Interface Utilities quadrant The first two choices are shortcuts to the buttons in the Hair Groups group: ■ Merge Hairgroups on page 1046 ■ Split Hairgroups on page 1046 The other choices in this quadrant are shortcuts to the buttons in the Utilities group: ■ Unlock on page 1046 ■ Lock on page 1046 ■ Toggle Hairs on page 1045 Hair And Fur Modifier (World Space) | 1047 ■ Toggle Collisions on page 1045 ■ Reset Rest on page 1045 ■ Recomb on page 1044 ■ Pop Zerosized on page 1044 ■ Pop Selected on page 1043 ■ Attenuate on page 1043 Styling quadrant The choices in this quadrant are shortcuts to most of the controls in the Styling group: ■ Ignore Back on page 1040 ■ Soft Falloff on page 1040 ■ Scale on page 1042 ■ Rotate on page 1042 ■ Clump on page 1042 ■ Puff on page 1041 ■ Stand on page 1041 ■ Translate on page 1041 ■ Cut on page 1039 To exit Cut mode and return to the hair brush, choose one of the other styling modes in this quadrant. TIP While the brush is active, you can resize it in viewports by holding down Ctrl+Shift and dragging the mouse. Selection Utils quadrant These choices are shortcuts to the buttons under “Selection Utilities” in the Selection group: ■ Invert Selection on page 1036 ■ Rotate Selection on page 1037 1048 | Chapter 9 Modifiers ■ Expand Selection on page 1037 ■ Hide Selected on page 1037 ■ Show Hidden on page 1037 Selection quadrant These choices are shortcuts to the buttons at the top of the Selection group that constrain how you can select hair guides: ■ Tip on page 1036 ■ Guide on page 1036 ■ Verts on page 1036 ■ Root on page 1036 General Parameters Rollout (Hair And Fur) Select an object with the Hair And Fur modifier applied. ➤ panel ➤ General Parameters rollout Modify This rollout lets you set the hair count and density, the length, thickness at the root and tip, and various other comprehensive parameters. Hair And Fur Modifier (World Space) | 1049 Interface Hair Count The total number of hairs generated by Hair. In some cases this is an approximate count, but the actual count is usually very close to the specified quantity. Default=15000. Range=0 to 10000000 (ten million). Top: Hair Count=1000 Bottom: Hair Count=9000 1050 | Chapter 9 Modifiers By default, Hair normalizes density to surface area; that is, larger polygons receive more hairs than smaller ones. If you edit the growth object in a way that changes the polygon-size ratios, use Reset Rest on page 1030 to adjust the hair distribution automatically. Hair Segments The number of segments per hair. Default=5. Range=1 to 150. This is equivalent to spline segments; with more segments, curly hair looks more natural, but the generated mesh object is larger. For perfectly straight hair, set Hair Segments to 1. Left: Hair Segments=5 Right: Hair Segments=60 Hair Passes Sets the number of transparency passes. Default=1. Range=1 to 20. Hair's buffer render on page 7522has a fairly novel way of handling hair transparency. Instead of resolving actual hair transparency, the hair is rendered multiple times (as opaque hair) with different random seeds. These buffers are then blended together. As you increase the Hair Passes value, the transparency (or wispiness) of the hair increases. In addition, increasing the value increases the actual number of rendered hairs as well, although the apparent density, or fill, seems about the same because of the additional transparency. Render time also increases linearly. Hair And Fur Modifier (World Space) | 1051 Top: Hair Passes=1 Bottom: Hair Passes=4 NOTE For best results when using the “mr prim” hair rendering method (see Hair And Fur Render Effect on page 7520) with the mental ray renderer, be sure to set the Trace Depth ➤ Max. Depth value (see Rendering Algorithms Rollout (mental ray Renderer) on page 7195) higher than the Hair Passes value. Density The numeric value sets the overall hair density; that is, it acts as a percentage multiplier of the Hair Count value. Default=100.0. Range=0.0 to 100.0. This attribute is also mappable via the map button to the right of the spinner. Mapping lets you add a texture map to control the amount of hair. An area of the map whose gray value is 50% will reduce the amount of hair grown in that area by 50%. To change the overall hair count, use the Hair Count value (see above). 1052 | Chapter 9 Modifiers Top: Density=100.0 + map Bottom: The bitmap used to control density TIP For optimal efficiency, use the Hair Count value to set the actual number of hairs, leave Density at 100.0, and use mapping to create uneven hair distribution. Simply lowering the Density value without specifying a map causes hairs to be created and then discarded, which unnecessarily increases rendering time. Scale Sets the overall scaling for the hairs. Default=100.0. Range=0.0 to 100.0. At the default value of 100.0, the hairs are full size. Reduce this value to make the hairs smaller. To make the hairs larger, use the styling tools on page 1033. Default=100.0. Range=0.0 to 100.0. This attribute is also mappable via the map button to the right of the spinner. Mapping allows you to add a texture map to control the length of the hair. An area of the map whose gray value is 50% will cut the hair grown in that area to 50% of its original length, with no shape change. Hair And Fur Modifier (World Space) | 1053 Scale value ramped from 0.0 (left) to 100.0 (right) using a linear gradient map NOTE The default size of the hairs depends on the size of the object to which the modifier is applied. The larger the object, the greater the initial size. Cut Length The numeric value sets the overall hair length as a percentage multiplier of the Scale value. Default=100.0. Range=0.0 to 100.0. This attribute is also mappable via the map button to the right of the spinner. Mapping allows you to add a texture map to control the length of the hair. An area of the map whose gray value is 50% will cut the hair grown in that area to 50% of its original length, with no shape change. This parameter is more computationally expensive than a density map, since each curve is re-parameterized on the fly, and should not be confused with a density map. It’s really more useful as an animated effect for growing hair (for example, creating a wolfman character). Rand. Scale Introduces random scaling into the rendered hairs. Default=40.0. Range=0.0 to 100.0. Random Scale value ramped from 0.0 (left) to 100.0 (right) using a linear gradient map 1054 | Chapter 9 Modifiers At the default value of 40.0, 40 percent of the hairs are scaled down randomly by varying amounts. At 0.0, no random scaling is introduced. Root Thick Controls the thickness of the hair at its root. With instanced hair, this controls the overall thickness as a multiplier of the original object's dimensions on the X and Y axes in object space. This setting affects both native hair and instanced hair. With instanced hair, Root thick controls the overall thickness of the hair, not just at the root. Tip Thick Controls the thickness of the hair at its tip. This setting affects native hair only, not instanced hair. To create tapering in instanced hair, apply the tapering when modeling the object to be instanced within Hair. Top: Root Thick=10.0, Tip Thick=0.0 Bottom: Tip Thick=10.0, Root Thick=0.0 Hair is translucent if its width is less than one pixel. On the other hand, setting Root Thick and Tip Thick to small values (close to or less than 1.0) can be a good way to obtain translucent hair. Displacement Displaces the hair roots from the surface of the growth object. Default=0.0. Range=–999999.0 to 999999.0. When you render an object with a high polygon count, but use a low-polygon proxy object to grow the hair, adjusting Displacement can help make the hair seem to grow from the high-polygon object, rather than floating above it. Hair And Fur Modifier (World Space) | 1055 Another use for this setting can be animating the hair falling onto or moving away from the growth object. Interpolate When on, hair growth is interpolated among the guide hairs, and the surface is fully populated with hair according to the General Parameters settings. When off, Hair generates only one hair per triangular face on the growth object, up to the limit imposed by the Hair Count setting. Default=on. Material Parameters Rollout (Hair And Fur) Select an object with the Hair And Fur modifier applied. ➤ panel ➤ Material Parameters rollout Modify The parameters on this rollout apply to buffer-rendered hair on page 7522 generated by Hair. In the case of geometry-rendered hair on page 7522, the hair coloring is derived from the growth object. In the case of hair rendered by “mr prim”, all parameters apply except Self Shadow and Geom. Shadow. With instanced hair, Hair uses the material from the instanced object. You can apply a map to any value by clicking the blank button to the right of the parameter. Values in the map act as multipliers to the base value. TIP If you apply a colored texture map to a color attribute such as Tip Color, start by setting the base color to white. Because the map acts as a multiplier, not doing so can lead to unexpected results. For example, if Tip Color is set to yellow and you apply a blue texture map, the hair will be black: this is because if you multiply those RGB values, they zero each other out. 1056 | Chapter 9 Modifiers Interface Occluded Amb. Controls the bias of the ambient/diffuse contributions of the illumination model. A setting of 100.0 renders the hair with flat lighting. A value of 0.0 is lit only by scene light sources, typically resulting in a higher-contrast solution. Default=40.0. Range=0.0 to 100.0. Hair And Fur Modifier (World Space) | 1057 Left: Occluded Amb=0.0 Right: Occluded Amb=100.0 Both: Color=white, Self Shadow=50.0 Tip Fade Applies only to mr prim on page 7522rendering (with the mental ray renderer). When on, the hair fades to transparent toward its tip. When off, the hair is equally opaque for its entire length. Tip Color Hair color at the tips, farthest from the growth object surface. To change the color, click the color swatch and use the Color Selector. Root Color Hair color at the roots, closest to the growth object surface. To change the color, click the color swatch and use the Color Selector. 1058 | Chapter 9 Modifiers Tip Color=red Root Color=blue Hue Variation=0.0 The Tip Color and Root Color attributes are also mappable via the map buttons to the right of the spinners. These let you add texture maps to control the hair coloring, separately at the tip and base. The UVW mapping used for the texture is the same as that of the growth object. For results closest to the map colors, set Tip Color and Root Color to white. Alternatively, set a different color to tint the map coloring. Left: The texture map used for the hair (center and right) Center: The map applied to Tip Color and Root Color causes the hair to use the same coloring. Right: Setting Tip Color and Root Color to orange adds an orange tint to the hair. Hue Variation The amount by which Hair varies the color of the hairs. The default value results in natural-looking hair. Default=10.0. Range=0.0 to 100.0. Hair And Fur Modifier (World Space) | 1059 Value Variation The amount by which Hair varies the brightness of the hairs. The default value results in natural-looking hair. Default=50.0. Range=0.0 to 100.0. Top: Hue/Value Variation=0.0 Middle: Value Variation=100.0 Bottom: Hue Variation=100.0 Mutant Color The color for mutant hairs. Mutant hairs are randomly selected, based on the Mutant % value (see following), and receive this color. One example of mutant hairs are the gray hairs that appear as we age. Mutant % The percentage of hairs that receive the mutant color (see above). You can animate the Mutant % value to produce, for example, a rapidly aging character. Default=0.0. Range=0.0 to 100.0. 1060 | Chapter 9 Modifiers Left: Mutant %=30.0 Right: Mutant %=0.0 Both: Color=brown, Mutant Color=white Specular The brightness of highlights on the hairs. Glossiness The relative size of highlights on the hairs. Smaller highlights result in glossier-looking hair. The combined results of the Specular and Glossiness settings appear in a graph to the right of the two parameters. Hair And Fur Modifier (World Space) | 1061 Left: Specular=0.0, Glossiness=0.0 Center: Specular=100.0, Glossiness=75.0 Right: Specular=100.0, Glossiness=0.1 Specular Tint This color tints specular highlights. Click the color swatch to use the Color Selector. Default=white. Self Shadow Controls the amount of self-shadowing; that is, hairs casting shadows on other hairs within the same Hair And Fur modifier. A value of 0.0 disables self shadowing, while a value of 100.0 results in maximum self-shadowing. Default=100.0. Range=0.0 to 100.0. 1062 | Chapter 9 Modifiers Top: Self Shadow=0.0 Center: Self Shadow=50.0 Bottom: Self Shadow=100.0 NOTE You can adjust the shadow characteristics by changing the Hair Light Attr rollout on page 5803 settings for lights that illuminate the hair. Geom. Shadow The amount of shadow contribution hair receives from geometry in the scene. Default=100.0. Range=0.0 to 100.0. Geom. Mat. ID The material ID assigned to geometry-rendered hair on page 7522. Default=1. mr Parameters Rollout (Hair And Fur) Select an object with the Hair And Fur modifier applied. ➤ panel ➤ mr Parameters rollout Modify Hair And Fur Modifier (World Space) | 1063 Lets you assign a mental ray shader on page 6806 to generate hair. 3ds Max passes the object's UV coordinate data, including map channels, to the mental ray shader; strictly speaking, the shader generates hair from this UV and mapping data, not from the object geometry itself. (Multiple map channels are supported.) When you use a mental ray shader for hair, you must render your scene using the mental ray renderer on page 7129 and set the Hair And Fur render effect on page 7520 method to “mr prim”. Aside from the “mr prim” option that you can choose as a render effect (see Hair And Fur Render Effect on page 7520), no mental ray hair shaders are provided with 3ds Max. This feature is meant to support third-party hair shader products or custom-coded hair shaders. NOTE When you assign a mental ray shader, the shader controls supersede other Hair And Fur material settings. On the other hand, if you use this rollout to assign a shader that is not supported, the renderer uses the regular Hair And Fur material settings. (“Geometric” settings such as Hair Count, Hair Segments, and so on, still apply.) Interface Apply mr Shader When on, lets you apply a mental ray shader to generate hair. [shader button] Enabled only when “Apply mr Shader” is on. Click to display a Material/Map Browser on page 6167 and assign the shader. When no shader is assigned, this button is labeled “None”. When a shader is assigned, the button's label shows the shader's name. Frizz Parameters Rollout (Hair And Fur) Select an object with the Hair And Fur modifier applied. ➤ panel ➤ Frizz Parameters rollout 1064 | Chapter 9 Modifiers Modify Frizz displacement is accomplished by doing a Perlin noise lookup at the hair's rest position root, and then displacing the hair much the way bump mapping displaces a surface normal. The frequency of the noise function is set by the Frizz X/Y/Z Frequency parameters. The magnitude of the displacement is controlled with Frizz Root and Frizz Tip. If you set dynamics mode on page 1079 to Live, the viewports show the effects of changing these settings in real time. 1. Frizz Root/Tip=0.0 2. Frizz Root=50.0, Frizz X/Y/Z Freq=14.0 Hair And Fur Modifier (World Space) | 1065 3. Frizz Root=150.0, Frizz X/Y/Z Freq=60.0 4. Frizz Tip=30.0, Frizz X/Y/Z Freq=14.0 5. Frizz Root=50.0, Frizz Tip=100.0, Frizz X/Y/Z Freq=60.0 Frizz actually calculates two noise fields, both of which use the same frequency settings and tip/root amplitudes. One of the noise fields is static relative to the hair. The Anim parameters let you animate the second noise field through the hair over time. This is useful for things like grassy fields, where it would be overkill to compute real dynamics. These parameters give you a similar result, at a small fraction of the computational overhead. All Frizz/Kink settings=0.0; this reference image provided for comparison with the Frizz and Kink illustrations (below). 1066 | Chapter 9 Modifiers Interface Frizz Root Controls the displacement of the hair at its root. Default=15.5. Range=0.0 to 360.0. Frizz Tip Controls the displacement of the hair at its tip. Default=130.0. Range=0.0 to 360.0. Hair And Fur Modifier (World Space) | 1067 Frizz Root=30.0, Frizz Tip=100.0, Frizz X/Y/Z Freq=14.0 Top: Styled Bottom: Unstyled Left: Differing values for Frizz Root and Frizz Tip result in curved hairs. Right: When Frizz Root=Frizz Tip, the hairs are straight. 1068 | Chapter 9 Modifiers Frizz X/Y/Z Freq(uency) Controls the frequency of the frizz effect on each of the three axes. Default=14.0. Range=0.0 to 100.0. Like frizz, Frizz Anim displaces the hair with a noise field. The difference is that you can move the noise field to create animated displacement, resulting in wavy movement without having to resort to dynamics. Frizz Anim. Sets the amplitude of the wavy motion. Default=0.0. Range=–9999.0 to 9999.0. Anim. Speed This multiplier controls the speed at which the animating noise field moves through space. This value is multiplied by the X, Y, and Z components of the Frizz Anim Dir attribute to determine the per-frame offset of the animating noise field. Default=0.0. Range=-9999.0 to 9999.0. Frizz X/Y/Z Anim. Dir(ection) Sets the direction vector of the frizz animation. Default=0.0. Range=–1.0 to 1.0. This vector is not normalized before use. This means that you can apply small tweaks to the values to achieve fine control over the speed of the animation on a given axis. To reduce confusion it’s a good idea to keep these directions either –1, 0, or 1. Once you’ve got the animation close to what you want, you can diverge from these and adjust the values to achieve the exact result you need. Kink Parameters Rollout (Hair And Fur) Select an object with the Hair And Fur modifier applied. ➤ panel ➤ Kink Parameters rollout Modify Kink displacement works similarly to Frizz, but evaluates noise lookups along the whole length of the guide. The result is a noise pattern that works on a larger scale than the Frizz noise. The effect is similar to crimped hair. Hair And Fur Modifier (World Space) | 1069 1. All settings=0.0 (no kink) 2. Kink Root=0.5 (rest=0.0) 3. Kink Tip=10.0, Kink Root=0.0, Kink X/Y/Z Freq=4.0, 4. Kink Tip=10.0, Kink Root=0.0, Kink X/Y/Z Freq=50.0, 1070 | Chapter 9 Modifiers Interface Kink Root Controls the amount of kink displacement of the hair at its root. Default=0.0. Range=0.0 to 100.0 Kink Root=0.5, Kink Tip=0.0, Kink X/Y/Z Freq=4.0 Top: Styled Bottom: Unstyled Kink Tip Controls the amount of kink displacement of the hair at its tip. Default=0.0. Range=0.0 to 100.0 Hair And Fur Modifier (World Space) | 1071 Top: Styled, Kink Tip=10.0, Kink Root=0.5, Kink X/Y/Z Freq=50.0 Bottom: Unstyled, Kink Tip=10.0, Kink Root=0.0, Kink X/Y/Z Freq=50.0 Kink X/Y/Z Freq(uency) Controls the frequency of the kink effect on each of the three axes. Default=0.0. Range=0.0 to 100.0. Multi Strand Parameters Rollout (Hair And Fur) Select an object with the Hair And Fur modifier applied. ➤ panel ➤ Multi Strand Parameters rollout Modify Some degree of clumping gets naturally created when you use Frizz at low frequencies, but you can go a bit further here with the Multi Strand parameters. For each hair that is normally rendered, Multi Strand renders a clump of additional hairs scattered around the original hair. The Splay settings control the degree of scattering at the roots and tips, and Multi Strand Count controls the number of hairs to create for the clump. You can use Splay to shape the clump by spreading or compressing the roots and tips. 1072 | Chapter 9 Modifiers TIP For each original hair, Multi Strand creates a cluster of hairs around that hair, offset at the bottom by the Root Splay factor. The hair is offset in the plane tangent to the root of the hair, which is not necessarily the surface of the object. To make sure Multi Strand hairs actually make contact with the surface, make the growth surface a bit smaller than the rendered surface. 1. Multi Strand Count=0, Hair Count=500 2. Multi Strand Count=10, Root Splay=0.1, Tip Splay=0.1, Hair Count=500 3. Multi Strand Count=10, Root Splay=0.4, Tip Splay=0.1, Hair Count=500 4. Multi Strand Count=10, Root Splay=0.0, Tip Splay=1.0, Hair Count=500 Hair And Fur Modifier (World Space) | 1073 Interface Count The number of hairs per clump. Root Splay Provides a random offset for each hair in a clump, at the root. Tip Splay Provides a random offset for each hair in a clump, at the tip. Randomize Randomizes the size of each hair in a clump. Dynamics Rollout (Hair And Fur) Select an object with the Hair And Fur modifier applied. ➤ panel ➤ Dynamics rollout Modify For hair to seem natural in an animation, it must respond to the motion of the body it's attached to and to external influences such as wind and gravity. Hair's Dynamics functions let the hair behave like real-world hair, in interactive (Live) or Precomputed mode. Designating Collision Surfaces Hair dynamics uses guide hairs to calculate collision. To reduce computation, you have to explicitly designate the objects with which hair will collide. The object from which the hair grows is a special case: to have hair collide with this object (for example, a human head), simply turn on Use Growth Object. If there is a collision object that you want more than one Hair modifier to interact with, you have to add that object as a collision object for each different Hair And Fur modifier. There are two different methods for calculating collision: Sphere and Polygon. Spherical collision uses a bounding sphere for collision objects; polygonal 1074 | Chapter 9 Modifiers collision uses the collision object's actual geometry. The Polygon option is more accurate, but the Sphere option is quicker to calculate. Procedures Example: To view hair dynamics in real time: 1 Apply the Hair And Fur modifier to an object. 2 On the Dynamics rollout (scroll the command panel down to view it), set Mode to Live. 3 Move the object around. The hair moves realistically. 4 On the Tools rollout, click Regrow Hair. The hair resumes its default position, growing straight out of the object. 5 Click (Play Animation). 6 The hair settles and droops, as if affected by gravity. Note that, as the animation repeats, the effects of gravity are cumulative; the hair animation doesn't restart at the first frame. 7 On the Tools rollout, click Regrow Hair again. 8 Add a Wind space warp to the scene. 9 On the Dynamics rollout, set Dynamics Params ➤ Gravity to 0.0. 10 In the External Forces group (at the bottom of the Dynamics rollout), click Add and then select the Wind space warp. 11 Play the animation again. This time, the hair isn't affected by gravity, but simply blown by the wind. Again, the effect is cumulative and the animation doesn't repeat. All of this animation takes place only in real time; no keyframes are set, so it can't be rendered. To learn how to set up a renderable dynamics simulation with Hair, see the following procedure. Hair And Fur Modifier (World Space) | 1075 To generate a precomputed dynamics simulation with Hair: 1 Apply the Hair And Fur modifier to an object. 2 Set up the animation. It could simply be motion of the growth object, or you could use the Dynamics rollout ➤ External Forces group to add space warps, such as Wind, that should affect the hair. Actually, because the hair is affected by its own gravity by default, you don't need to set up any explicit animation at all to see hair dynamics. 3 On the Modify panel ➤ Dynamics rollout, use the Collisions group to set objects the hair should collide with. Also set other simulation parameters in the Dynamics Params group. 4 In the Stat Files group, click the ellipsis (...) button. Use the Save As dialog to specify the location and name of the stat files to be generated. NOTE When you run the simulation, Hair will generate a separate stat file for each animation frame. IMPORTANT If you plan to render the animation with a networked render farm, make sure the path you specify can be seen in exactly the same way from each node on the render farm. If stat files aren’t found, hair will be stiff and just oriented to the skin as it moves. If the wrong stat files are found, hair can float right off an object. TIP If using Windows XP, click the My Network Places button to set a path using the Universal Naming Convention (UNC), even if it's on a local drive. Such a path can be accessed readily by other computers on the network. The path and stat file name appear in the text field next to the ellipsis button. 5 In the Simulation group, set the frame range for the simulation and then click Run. Hair runs the dynamics simulation and generates a stat file for each frame in the animation. It also automatically sets the mode to Precomputed, so when you play or render the animation, it reads the stat files and uses the information for the hair positioning in each frame. 6 Play the animation. The dynamics simulation stored in the stat files appears in the viewports. 1076 | Chapter 9 Modifiers 7 In the Mode group, choose None, and then play the animation again. The dynamics animation no longer appears. However, it's still stored in the stat files, and will reappear if you choose Precomputed. 8 Make sure Precomputed is on, and then render the animation. Hair And Fur Modifier (World Space) | 1077 Interface 1078 | Chapter 9 Modifiers Mode group Chooses the method Hair uses to generate dynamics. Live mode is suitable for experimentation, but for best results when rendering animation with Hair, use Precomputed mode. ■ NoneHair doesn't simulate dynamics. ■ LiveHair simulates dynamics interactively in the viewports, but doesn't generate animation keyframes or stat files for the dynamics. For best results with Live mode, turn off Display rollout ➤ Display Hairs group ➤ As Geometry. For some methods of using live dynamics, see this procedure: Example: To view hair dynamics in real time: on page 1075. If you press ESC while using live dynamics, 3ds Max displays a dialog that asks whether you want to stop live dynamics. Both Freeze and Stop reset the mode to None, but Freeze freezes the hair in its current position. You can use this as a starting point for precomputed dynamics, or as a point from which you style the hair. ■ PrecomputedLets you generate stat files for rendering dynamics-animated hair. Available only after setting a name and location for stat files (see following and To generate a precomputed dynamics simulation with Hair: on page 1076). Stat Files group Stat files let you record and play back a Hair-generated dynamics simulation. For a workflow example, see this procedure: To generate a precomputed dynamics simulation with Hair: on page 1076. Text field Displays the path and file name for the stat files. Hair And Fur Modifier (World Space) | 1079 (ellipsis button) Click to choose a name prefix and location for stat files using the Save As dialog. Hair adds a four-digit frame number (with leading zeroes) and the file name extension “.stat” to the name you provide (for example, hair_test0001.stat). Delete all files Deletes stat files from the target directory. The files must have the name prefix you assigned using the ... button. TIP You can still use stat files even if you move them to another location. Follow this procedure: 1 Open the MAX file used to generate the stat files. 2 On the Modify panel ➤ Dynamics rollout, click ellipsis button). (the 3 Use the Save As dialog to navigate to the directory with the stat files, and then click any stat file. Its name appears in the File Name field. 4 Edit the File Name field to delete the four-digit extension after the stat file name. For example, if the stat file name is test0033.stat, delete the “0033” so that it reads test.stat. 5 Click the Save button. The new stat file path appears in the Stat Files field. Now, when you play or render the animation, Hair uses the stat files as originally generated. Simulation group Determines the extent of the simulation, and lets you run it. These controls become available only after you choose Precomputed mode and specify stat files in the Stat Files group. Set Start and End to the frames at which to begin and end the simulation, and then click the Run button. 3ds Max then computes the dynamics and saves the stat files. Start The first frame to consider in calculating the simulation. End The final frame to consider in calculating the simulation. 1080 | Chapter 9 Modifiers Run Click to run the simulation and generate the stat files within the frame range indicated by Start and End. To abort a simulation while it's running, click Cancel on the status bar. Dynamics Params group These controls specify the basic parameters for the dynamics simulation. The Stiffness, Root Hold, and Dampen values can be mapped: click the map button to the right of the spinner to assign a map. Grayscale values in the map multiply the parameter's value at that hair location. Gravity Lets you specify a force that moves hair vertically in world space. Negative values pull hair up while positive values pull it down. To cause hair not to be affected by gravity, set the value to 0.0. Default=1.0. Range=–999.0 to 999.0. Stiffness Controls the magnitude of the effect of dynamics. If you set Stiffness to 1.0, the dynamics will have no effect. Default=0.4. Range=0.0 to 1.0. Root Hold Comparable to stiffness, but affects the hair only at the roots. Default=1.0. Range=0.0 to 1.0. Dampen Dynamic hair carries velocity forward to the next frame. Increasing dampening increases the amount by which these velocities are diminished. Thus, a higher Dampen value means that hair dynamics will be less active (the hair can also start to get “floaty”). Default=0.0. Range=0.0 to 1.0. Collisions group Use these settings to determine which objects hair collides with during a dynamic simulation and the method by which collision is calculated. ■ NoneCollisions are not considered during the dynamic simulation. This can cause the hair to penetrate its growth object as well as other objects it comes into contact with. ■ SphereHair uses a spherical bounding box to calculate collisions. This method is faster because it requires less computation, but can cause inaccurate results. It's most effective when the hair is seen from a distance. ■ PolygonHair considers each polygon in the collision objects. This is the slowest method, but the most accurate. Use Growth Object When on, hair collides with the growth (mesh) object. Objects list Lists the names of scene objects with which hair should collide. Hair And Fur Modifier (World Space) | 1081 Add To add an object to the list, click Add and then click the object in a viewport. Replace To replace an object, highlight its name in the list, click Replace, then click a different object in a viewport. Delete To remove an object, highlight its name in the list, then click Delete. External Forces group This group lets you specify space warps on page 2920 that will affect the hair during the dynamics simulation. For example, you can add a Wind space warp on page 2960 to cause the hair to be blown by a breeze. NOTE Hair dynamics already has a built-in gravity force, so it's not necessary to add one. Objects list Lists the names of forces that dynamically affect the hair. Add To add a space warp to the list, click Add and then click the warp's icon in a viewport. Replace To replace a space warp, highlight its name in the list, click Replace, then click a different warp's icon in a viewport. Delete To remove a space warp, highlight its name in the list, then click Delete. Display Rollout (Hair And Fur) Select an object with the Hair And Fur modifier applied. ➤ panel ➤ Display rollout Modify These settings let you control how hairs and guides display in the viewports. By default, Hair displays a small percentage of the hairs as lines. Alternatively, you can display the hairs as geometry, and you can also choose to display the guides. 1082 | Chapter 9 Modifiers Interface Display Guides group Display Guides toggle When on, Hair displays guides in the viewports, using the color shown in the color swatch. Default=off. NOTE At the Guides sub-object level, guides always appear in the viewports. Guide Color Click to display the Color Selector and change the color used to display guides. Guides do not reflect some settings made to the hair, such as Frizz. Use the Guides display mainly to see where hair will appear on the growth object. Hair places one guide at each vertex on the growth surface. Display Hairs group Display Hairs toggle When on, Hair displays hairs in the viewports. Default=on. Override When off, 3ds Max displays hairs using an approximation of their rendered color. When on, displays hairs using the color shown in the color swatch. Default=off. Color swatch Click to display the Color Selector and change the color used to display hairs when Override is on. NOTE When hair is displayed as geometry (see below), the color setting is ignored. Hair And Fur Modifier (World Space) | 1083 Percentage The percentage of total hairs displayed in the viewports. Lower this value to improve real-time performance in the viewports. Max. Hairs The maximum number of hairs displayed in the viewports, regardless of the Percentage value. As Geometry When on, displays the hairs in the viewports as the actual geometry to be rendered, rather than the default lines. Default=off. LS Colors Modifier (World Space) Select a Lightscape mesh object. ➤ Modify panel ➤ Modifier List ➤ World-Space Modifiers ➤ LS Colors (WSM) The LS Colors modifier converts Lightscape radiosity values to 3ds Max vertex colors. When you import a Lightscape model into 3ds Max, the radiosity values are kept as irradiances; that is, they describe the intensity of light falling on a mesh in physical units. This modifier converts the physical units to RGB colors. In conjunction with the Lightscape Mesh modifier on page 1431, this modifier can be used to produce meshes suitable for game engines. See also: ■ Lightscape Files (LP, LS, and Other Formats) on page 8286 1084 | Chapter 9 Modifiers Interface Brightness Controls the brightness of the displayed image on your monitor. The setting of this control does not affect the actual lighting levels in the model. Default=50.0. Contrast box Controls the contrast between light and dark regions in the model. Default=50.0. Daylight Determines whether you want natural daylight to be used in the calculation. Default=on. Exterior Scene Turn on for exterior daylight simulations. Default=off. TIP Use the logarithmic exposure control on page 7673 to control the brightness and contrast of the colors when you render. Use exposure control When on, disregards the settings of Brightness, Contrast, Daylight, and Exterior, and instead uses the settings of the active exposure control. If no exposure control is active in the scene, this toggle is disabled. Default=off. LS Colors Modifier (World Space) | 1085 The three radio buttons that follow choose how to handle irradiance values. ■ Convert light falling on the surfaceWhen chosen, converts the irradiance values directly to RGB values. In order to properly render the mesh, the vertex colors need to be interpolated and multiplied by the color of the material on the mesh. ■ Convert light reflecting from the surfaceWhen chosen, takes the irradiance values and multiplies them by the material's ambient color, then converts the result to RGB. To properly render the mesh, you need to interpolate the vertex colors over the faces. If textures are displayed by multiplying them by the vertex colors, they will not be correctly displayed unless the material color is white. By default, this is the active option. ■ Convert light reflecting from the surface, except for textured materialsWhen chosen, takes the irradiance values and multiplies them by the material's ambient color, and then converts the result to RGB, unless a texture is applied to the material's ambient component. If the ambient component has a map, this method converts the irradiance value directly to the vertex color. To properly render the mesh, you need to interpolate the vertex colors over the faces, unless the material is textured. If textures are displayed by multiplying them by the vertex colors, they will be correctly displayed. Add to colors When on, the result of the color conversion is added to existing vertex color values, if there are any. Default=off. Use self-illumination When on, the material's self illumination is included in the final vertex colors. Default=on. MapScaler Modifier (World Space) Select an object. ➤ Modify panel ➤ Modifier List ➤ World-Space Modifiers ➤ MapScaler (WSM) Select an object. ➤ Modifiers menu ➤ UV Coordinates ➤ Map Scaler (WSM) MapScaler maintains the scale of a map applied to an object. This lets you resize the object without altering the scale of the map. Typically, you might use this to maintain the size of a map regardless of how the geometry is scaled. 1086 | Chapter 9 Modifiers MapScaler sets the scale of a map on an object. This differs from the MapScaler (OSM) modifier on page 1432, which maintains the scale of the map with respect to the object size when scaled with a Select And Scale tool. See the latter's definition for other differences between the two versions. NOTE This world-space modifier is for use primarily with vertically oriented objects, such as walls in an architectural model, or objects with large, flat surfaces. While you can apply the MapScaler to any object, the results are less realistic on curved surfaces, especially complex ones, which can show cracks in the finished texture. MapScaler Modifier (World Space) | 1087 Interface Scale Represents the size of one repetition of the texture pattern. Size is measured in current system units. Repetitions occur across the object in the U and V directions. Default=1.0. NOTE When the Use Real-World Texture Coordinates switch is active in the General Preferences dialog on page 8887, the scale setting defaults to 1.0. If Use Real-World Texture Coordinates is turned off, scale defaults to 100.0. U/V Offset Specify horizontal and vertical offsets respectively. Available only when Wrap Texture is off. Wrap Texture When on, Map Scaler attempts to wrap the texture evenly around the object. This option requires more computing, but usually produces the most satisfactory results. Default=on. Wrap Using Smoothing Groups When turned on, textures are wrapped around corners when they share the same smoothing groups. Curved walls will map smoothly while sharp corners get a new texture origin. This switch is only available when the Wrap Textures switch is turned on. Default=off. Channel Specifies the map channel on page 9210. Default=1. Up Direction group World Z Axis Aligns the map with the Z axis of the world. 1088 | Chapter 9 Modifiers If you choose this option and then rotate the object, the mapping is not fixed to the object. Local Z Axis Aligns the map with the local Z axis of the object. With this option, the mapping remains fixed to the object. PatchDeform Modifier (World Space) Select an object. ➤ Modify panel ➤ Modifier List ➤ World-Space Modifiers ➤ PatchDeform (WSM) The PatchDeform world-space modifier lets you deform an object based on the contours of a patch object. It works the same as the PathDeform (World Space) on page 1089, but uses a patch instead of a curve. With the exception of the Move to Patch button, its parameters are the same as those in the object-space PatchDeform modifier on page 1514. PathDeform Modifier (World Space) Select an object. ➤ Modify panel ➤ Modifier List ➤ Animation Modifiers ➤ PathDeform (WSM) The PathDeform world-space modifier deforms an object based on a shape, spline or NURBS curve path. With the exceptions noted in the Interface section, this world-space modifier works the same as the object-space PathDeform modifier on page 1516. Procedures The first two examples, below, demonstrate the basic differences in orientation and the relationship between the object and its path when using the PathDeform modifier and the PathDeform (WSM) modifier. PatchDeform Modifier (World Space) | 1089 Example: To use the PathDeform modifier to curve text: 1 In the Top viewport, create a circle that's 100 units in radius. 2 In the Front viewport, create a text shape with six or seven letters, and a size of 25. 3 Apply an Extrude modifier to the text shape, and set the Amount to –5.0. 4 On the main toolbar, set the Reference Coordinate System to Local. Looking at the axis tripod for the extruded text object, you can see that its Z axis runs from back to front relative to world space. 5 Apply a PathDeform on page 1516 object-space modifier to the text object. Click the Pick Path button, and then select the circle. A circular gizmo appears. The circle runs through the local Z axis of the text object. Because of its orientation, its effect is minimal, but you can see a slight wedge-shaped deformation from the top view. 6 In the Path Deform Axis group, choose the Y option, and then the X option. The circle gizmo rotates to run through the specified axes, deforming the text object differently with each change. 7 Adjust the Percent spinner to view its effect, and then set it to zero. Try the same with Stretch, Rotation, and Twist, and then restore them to their original values. TIP Use the Ctrl key with Twist to amplify the effect. 8 Turn on Flip to switch the direction of the path, and then turn it off. 9 Go to the Gizmo sub-object level, and move the gizmo path around. The text object is further deformed by its relative position to the gizmo. 1090 | Chapter 9 Modifiers 10 Select the original circle shape, and change its radius. The deformation of the text object alters because its gizmo is an instance of the shape object. Example: To use the PathDeform world space modifier: This procedure continues from the previous one. 1 Select the text object, and then remove the Path Deform modifier from the stack. 2 Apply a Path Deform (WSM) modifier. 3 Click Pick Path, and select the circle. The text object flips around and moves in world space. Note that its orientation and deformation are difficult to analyze because there's an offset distance between the path and the object. 4 Click Move to Path. The text object is transformed so that its local Z axis is aligned with the path and its position is at the first vertex of the path. In the following steps, you'll use various controls to re-orient the text object so that it's at the front of the circle and readable from the Front viewport. 5 Choose the X option in the Path Deform Axis group to place the length of the text object along the path. 6 Adjust the Percent spinner to –25 to move the text to the front of the circle. 7 Adjust the Rotation spinner to –90 to rotate the text so it faces the Front viewport. 8 Turn on 9 (Auto Key), go to frame 100, and set Percent to –125. Play the animation to watch the text run around the circle. PathDeform Modifier (World Space) | 1091 Example: To create a growing vine: 1 Use the Line tool and, optionally, Editable Spline to create a path along which the vine will grow. 2 Create a Cone, and apply the Path Deform (WSM) modifier. 1092 | Chapter 9 Modifiers 3 Pick the path, and then click Move to Path. (The local Z axis of the cone should be along the path.) 4 Go to frame 100, and turn on (Auto Key). 5 Increase the Stretch value to stretch the cone along the path until it reaches the end. There won't be enough height segments in the cone, but you can fix that in step 7. 6 Turn off (Auto Key). 7 In the stack, click Cone, and then in the Parameters rollout increase the Height Segments setting until the stretched cone is smooth on the path. 8 Play the animation. The cone grows along the path, like a vine. Interface Because this is a world-space rather than an object-space modifier, the object is affected in world-space coordinates, and also by the position of the path relative to the object. Thus, if you transform the object relative to the path, or vice-versa, it has an affect on the deformation. Generally speaking, the Path Deform world-space modifier leaves the path in place while moving the object to the path, while the Path Deform object-space modifier leaves the object in place while moving the path to the object. PathDeform Modifier (World Space) | 1093 For all parameters except the following, refer to the PathDeform modifier on page 1516. Path Deform group Move to Path Moves the object from its original position to the start of the path. When you first pick a path, the object is deformed by the path based on the offset distance between the first vertex in the path and the object's location. Thus, as you adjust the Percent spinner, for example, the result will be distorted depending on the offset distance. IMPORTANT Using the Move To Path button applies a transform to the object that's not removed if you later remove the Path Deform binding from the object. However, you can undo on page 217 the transform immediately after it's been performed.) NOTE If the Auto Key button is on when you perform Move To Path, transform keys are created. 1094 | Chapter 9 Modifiers Point Cache Modifier (World Space) Select an object. ➤ Modify panel ➤ Modifiers List ➤ World Space Modifiers ➤ Point Cache (WSM) The world-space version of the Point Cache modifier works exactly the same as the Point Cache modifier on page 1521, except that it uses world-space coordinates instead of local-space coordinates. Use this version when animating with world-space modifiers such as PatchDeform (WSM) modifier on page 1089 or PathDeform (WSM) modifier on page 1089. Subdivide Modifier (World Space) Make a selection. ➤ Modify panel ➤ Modifier List ➤ World-Space Modifiers ➤ Subdivide (WSM) Make a selection. ➤ Modifiers menu ➤ Radiosity Modifiers ➤ Subdivide (WSM) The Subdivide (WSM) modifier is similar to the object-space Subdivide modifier on page 1705, and has the same parameters. In the world-space version of Subdivide, the size limit is on the mesh after it is transformed into world space coordinates. Surface Mapper Modifier (World Space) Make a selection. ➤ Modify panel ➤ Modifier List ➤ World-Space Modifiers ➤ Surface Mapper (WSM) The Surface Mapper (WSM) modifier takes a map assigned to a NURBS on page 2433 surface and projects it onto the modified object or objects. Surface Mapper is especially useful for seamlessly applying a single map to a group of surface sub-objects within the same NURBS model. You can also use it for other kinds of geometry. Point Cache Modifier (World Space) | 1095 The NURBS surface's map is projected onto the other geometry in the direction of the NURBS surface's normals, or opposite the normals if the modified object is on the other side of the NURBS surface. Procedures To use the surface mapper world-space modifier: 1 Create the NURBS surface to use for projection, and transform it so it wraps the objects you want to map. 2 Use the Material Editor on page 9210 to assign a mapped material to the NURBS surface. 3 Select the objects you want to map. 4 Use the Material Editor to assign the same material to the objects you want to map. 5 Apply the Surface Mapper world-space modifier. 6 In the Parameters rollout, turn on Pick NURBS Surface, and then click the NURBS projection surface in a viewport. 3ds Max now uses the NURBS surface's normals to project the texture onto the modified objects. TIP To fine-tune the map placement on the mesh, you can use the NURBS surface's Edit Texture Surface dialog on page 2743. 1096 | Chapter 9 Modifiers Interface Source Texture Surface group These controls let you choose the NURBS surface to project. Pick NURBS Surface Picks the NURBS surface to use for projection. Click to turn on this button, then click the NURBS surface in an active viewport. Surface Shows " " before you pick a NURBS surface; shows the name of the surface after you pick one. Map Channels group These controls let you choose which map channels on page 9210 to use. Input Channel Selects the NURBS surface map channel to use before projection. Output Channel Selects the modified object's map channel to use after projection. Surface Mapper Modifier (World Space) | 1097 Update Options group These controls let you choose how to update the mapping displayed in viewports. They have no effect if Show Map In Viewport on page 6006 is off. Always Updates viewports whenever the mapping changes. Manually Updates viewports only when you click Update. Update Updates viewports. This is unavailable unless you've chosen Manually. SurfDeform Modifier (World Space) Select an object. ➤ Modify panel ➤ Modifier List ➤ World-Space Modifiers ➤ Surf Deform (WSM) Select an object. ➤ Modifiers menu ➤ Animation Modifiers ➤ Surf Deform (WSM) The SurfDeform (WSM) modifier works the same as the PathDeform (WSM) modifier on page 1089, except that it uses a NURBS Point or CV surface instead of a curve. Object-Space Modifiers Object-space modifiers directly affect an object's geometry in local space on page 9205. When you apply an object-space modifier, it appears directly above the object with other oxbject-space modifiers in the modifier stack on page 8776. The order in which the modifiers appear in the stack can affect the resulting geometry. Affect Region Modifier Modify panel ➤ Make a vertex sub-object selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Affect Region Make a vertex sub-object selection. ➤ Modifiers menu ➤ Parametric Deformers ➤ Affect Region 1098 | Chapter 9 Modifiers The Affect Region modifier is a surface modeling tool, primarily used with vertex sub-object selections while surface modeling. With Affect Region, transforming a selection of vertices can also transform vertices in the region that surrounds the selection. This can help you form a bubble or indentation in the surface of an object. The easiest way to see this modifier's effect is with a shallow, flat box object with plenty of subdivisions. The Affect Region modifier has a two-part, arrow-shaped gizmo, plus numeric controls. When you apply the Affect Region modifier, it assigns an arrow-like gizmo consisting of two points connected by a line. The base of the arrow is the start point. The length and direction of the arrow defines the amount of movement of the vertices. Any vertices within Falloff distance of the base of the arrow are translated in the direction of the arrow. Because no points on the mesh are directly selected, this modifier doesn't depend on the topology of the input object. You can apply it to any renderable object. However, you can limit the effect by using a selection modifier like Mesh Select on page 1445 or Volume Select on page 1944 to pass a sub-object selection up the stack. NOTE The Affect Region modifier is ideal for simple animated effects, especially when you need to use interactive parameters. However, for fine-tuned modeling, you'll probably prefer the expanded capabilities of Soft Selection on page 1966 in Editable Mesh on page 2190, Editable Poly on page 2240, Edit Mesh on page 1263, Mesh Select on page 1445, Volume Select on page 1944, the HSDS modifier on page 1408, and NURBS on page 2453. Affect Region Modifier | 1099 Affect Region modifier applied Procedures Example: To form a bubble over the surface of a plane: 1 Create a plane with 15 width and length segments. 2 Set the length and width of the plane to 50 units. 3 Apply the Affect Region modifier. 4 In the Parameters group, set Falloff to 50. 5 Adjust the parameters to achieve different effects. Interface NOTE The parameters of this modifier are similar to those of the Soft Selection function on page 1966 of an Editable Mesh. 1100 | Chapter 9 Modifiers Modifier Stack Point sub-object level At this sub-object level, the base and tip of the gizmo arrow are points that can be selected. You can select, translate, and animate these two points together or individually. For more information on the stack display, see Modifier Stack on page 8776. Parameters rollout Parameters group Falloff Sets the radius of affected vertices, in units, from the base of the gizmo arrow. (Spinner value range: float, 0.0 to 999,999.0) Ignore Back Facing Affects only those vertices whose face normals are in the same general direction as the gizmo arrow. When turned off, all vertices in the Falloff group are affected. Affect Region Modifier | 1101 Curve group Pinch Affects the tangency of the curve where it meets the arrow tip. Positive values produce a pointed tip while negative values produce a dimple. (Spinner value range: float, -999,999.0 to 999,999.0) Bubble Changes the curvature of the affected vertices. A value of 1.0 produces a half-dome. As you reduce this value, the sides of the dome slope more steeply. Negative values lower the base of the curve below the base of the arrow gizmo. (Spinner value range: float, -999,999.0 to 999,999.0) Attribute Holder Modifier Create or select an object. ➤ Modify panel ➤ Modifier List ➤ Object Space Modifiers ➤ Attribute Holder Create or select an object ➤ Modifiers menu ➤ Animation ➤ Attribute Holder The Attribute Holder modifier is an empty modifier that provides a readily accessible user interface on the Modify panel to which you can add custom attributes on page 243. It has no user interface of its own; the interface consists solely of those attributes you assign to it. In essence, Attribute Holder is a stripped-down version of Parameter Collector on page 260 that can collect only custom attributes and appears on the Modify panel instead of a floating dialog. Procedures Example: To collect different custom attributes in an Attribute Holder modifier: Before undertaking this procedure, you should be familiar with basic usage of the Parameter Wiring dialog on page 3647. 1 Add a small box to an empty scene. Make it about 20.0 units on a side. 2 Apply a Taper modifier and an Attribute Holder modifier, in that order. In the modifier stack, the Attribute Holder modifier should be highlighted. 3 From the Animation menu, choose Parameter Editor. 4 In Parameter Editor, on the Attribute Rollout, make or ensure the following settings: ■ Add to Type=Selected Object's Current Modifier 1102 | Chapter 9 Modifiers ■ Parameter Type=Float ■ UI Type=Slider ■ Name=Box Height 5 On the Float UI Options rollout, keep all the default settings. 6 On the Attribute Rollout, click Add. The Custom Attributes rollout appears on the Modify panel, containing the new Box Height slider. 7 Add another attribute: ■ Add to Type=Selected Object's Current Modifier ■ Parameter Type=Integer ■ UI Type=Spinner ■ Name=Box Height Segs ■ Integer UI Options ➤ Range=From 1 to 50. 8 Add two more Float/Spinner attributes named Taper Amount and Taper Curve. The Attribute Holder modifier now has four custom attributes, but they don't do anything because they're not connected. You'll use Parameter Wiring to hook them up. 9 Close the Parameter Editor dialog. 10 In the active viewport, right-click the box and choose Wire Parameters. From the pop-up menu that appears, choose Modified Object ➤ Box (Object) ➤ Height. A rubber-band dashed line appears connecting the mouse cursor to the box. 11 You can't connect this “wire” directly to the custom attribute, so just left-click in an empty part of the viewport to open the Parameter Wiring dialog. The hierarchy list on the left side, Box01, is expanded to the box's Height parameter, which is highlighted. 12 On the right side, expand this path: Object ➤ Box01 ➤ Modified Object ➤ Attribute Holder ➤ Custom Attributes, and then click Box Height to highlight it. Attribute Holder Modifier | 1103 13 Click (Two-way Connection, the double-headed arrow), and then click Connect. 14 Similarly, connect Height Segments on the left side to Box Height Segments on the right. 15 Close the Parameter Wiring dialog. 16 Right-click the box again, choose Parameter Wiring, choose Modified Object ➤ Taper ➤ Amount, and then left-click to open the Parameter Wiring dialog. The Amount parameter is highlighted on the left side of the dialog. 17 On the right side, click the Attribute Holder's Taper Amount parameter, and then connect them. 18 Connect Curvature on the left side to Taper Curve on the right side, and then close the dialog. All the parameters are now hooked up. 19 Experiment with changing the values on the Custom Attributes rollout. The Attribute Holder modifier lets you change the box's creation parameters as well as the Taper modifier's settings without switching back and forth in the modifier stack. In this way you can access, in one convenient location, as many different parameters from different levels in an object's modifier stack, or even from different objects, as you like. You might notice that you can't set the taper to curve inward. You can resolve this by reopening Parameter Editor, clicking Edit/Delete, and then modifying the Taper Curve attribute to allow negative values. The change takes effect immediately, with no rewiring required. Bend Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Bend 1104 | Chapter 9 Modifiers Make a selection. ➤ Modifiers menu ➤ Parametric Deformers ➤ Bend The Bend modifier lets you bend the current selection up to 360 degrees about a single axis, producing a uniform bend in an object's geometry. You can control the angle and direction of the bend on any of three axes. You can also limit the bend to a section of the geometry. Bend applied to a streetlight model Procedures To bend an object: 1 Select an object and apply the Bend modifier. 2 On the Parameters rollout, set the axis of the bend to X, Y, or Z. This is the axis of the Bend gizmo, not the axis of the selected object. You can switch between axes at any time, but the modifier carries only one axis setting. 3 Set the angle of the bend along the chosen axis. The object bends to this angle. Bend Modifier | 1105 4 Set the direction of the bend. The object swivels around the axis. You can reverse angle and direction by changing a positive value to a negative value. To limit the bend: 1 Turn on Limit Effect in the Limits group. 2 Set values for the upper and lower limits. These are distances in current units above and below the modifier's center, which is at zero on the gizmo's Z axis by default. You can make the upper limit zero or positive, and the lower limit zero or negative. If the limits are equal, the result is the same as turning off Limit Effect. The bend is applied between these limits. The surrounding geometry, while unaffected by the bend itself, rotates to keep the object intact. This is analogous to bending a pipe, where the unbent sections rotate but remain straight. 3 At the sub-object level, you can select and move the modifier's center. The Limit settings remain on either side of the center as you move it. This lets you relocate the bend area to another part of the object. Interface Modifier Stack Gizmo sub-object You can transform and animate the gizmo like any other object at this sub-object level, altering the effect of the Bend modifier. Translating the gizmo translates its center an equal distance. Rotating and scaling the gizmo takes place with respect to its center. Center sub-object You can translate and animate the center at this sub-object level, altering the Bend gizmo's shape, and thus the shape of the bent object. For more information on the stack display, see Modifier Stack on page 8776. 1106 | Chapter 9 Modifiers Parameters rollout Bend group Angle Sets the angle to bend from the vertical plane. Range=-999,999.0 to 999,999.0. Direction Sets the direction of the bend relative to the horizontal plane. Range=-999,999.0 to 999,999.0. Bend Axis group X/Y/Z Specifies the axis to be bent. Note that this axis is local to the Bend gizmo and not related to the selected entity. Default=Z. Limits group Limit Effect Applies limit constraints to the bend effect. Default=off. Upper Limit Sets the upper boundary in world units from the bend center point beyond which the bend no longer affects geometry. Default=0. Range=0 to 999,999.0. Lower Limit Sets the lower boundary in world units from the bend center point beyond which the bend no longer affects geometry. Default=0. Range=-999,999.0 to 0. Bend Modifier | 1107 Bevel Modifier Select a shape. ➤ Modify panel ➤ Modifier List ➤ Bevel The Bevel modifier extrudes shapes into 3D objects and applies a flat or round bevel to the edges. A common use for this modifier is to create 3D text and logos, but you can apply it to any shape. Bevel takes a shape as the base of a 3D object. You then extrude the shape up to four levels and assign an outline amount for each level. Beveled text Procedures Example: To create beveled text: This example produces typical 3D beveled text, with equal bevels in front and back. 1 Create text on page 535 using default settings. 1108 | Chapter 9 Modifiers Font=Arial, Size=100.0. 2 Apply the Bevel modifier. 3 Type -1.0 in the Start Outline field. 4 For Level 1, do the following: ■ Type 5.0 for Height. ■ Type 2.0 for Outline. 5 Turn on Level 2, and do the following: ■ Type 5.0 for Height. ■ Type 0.0 for Outline. 6 Turn on Level 3 and do the following: ■ Type 5.0 for Height. ■ Type –2.0 for Outline. 7 If needed, turn on Keep Lines From Crossing. Bevel Modifier | 1109 Interface Parameters rollout 1110 | Chapter 9 Modifiers Capping group You can determine whether or not the beveled object is capped at either end with the check boxes in the Capping group. Start Caps the end with the lowest local Z value (bottom) of the object. When turned off, the bottom is open. End Caps the end with the highest local Z value (top) of the object. When turned off, the end is left open. Cap Type group Two radio buttons set the type of cap used. Morph Creates cap faces suitable for morphing. Grid Creates cap faces in a grid pattern. This cap type deforms and renders better than morph capping. Surface group Controls the side curvature, smoothing, and mapping of the surface. The first two radio buttons set the interpolation method used between levels; a numeric field sets the number of segments to interpolate. Linear Sides When active, segment interpolation between levels follows a straight line. Curved Sides When active, segment interpolation between levels follows a Bezier curve. For visible curvature, use multiple segments with Curved Sides. Segments Sets the number of intermediate segments between each level. Four-level bevels with 1 and 2 segments Bevels with linear and curved sides Bevel Modifier | 1111 Rounding and smoothing the bevel object sides Smooth Across Levels Controls whether smoothing groups are applied to the sides of a beveled object. Caps always use a different smoothing group than the sides. ■ When turned on, smoothing groups are applied to the sides. The sides appear rounded. ■ When turned off, smoothing groups are not applied. The sides appear as flat bevels. Generate Mapping Coordinates When turned on, mapping coordinates are applied to the beveled object. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=on. Intersections group Prevents sharp corners from overlapping neighboring edges. 1112 | Chapter 9 Modifiers Bevel works best with rounded shapes or shapes with corners greater than 90 degrees. Acute angles (less than 90 degrees) produce extreme bevels and often overlap nearby edges. Keep Lines From Crossing Prevents outlines from crossing over themselves. This is accomplished by inserting extra vertices in the outline and replacing sharp corners with a flat line segment. Using Keep Lines From Crossing: Left: Off Right: On Separation Sets the distance to be maintained between edges. The minimum value is 0.01. Bevel Modifier | 1113 Changing the Separation value Bevel Values rollout Contains the parameters that set the height and bevel amount of up to four levels. A beveled object requires a minimum of two levels: a start and an end. You add more levels to vary the amount and direction of bevel from start to end. You can think of bevel levels as layers on a cake. The Start Outline is the bottom of the cake and the Level 1 parameters define the height and size of the first layer. Turning on Level 2 or Level 3 adds another layer to the beveled object with the height and outline specifying the amount of change from the previous level. The last level on is always the top of the object. You must always set the Level 1 parameters. 1114 | Chapter 9 Modifiers Start Outline Sets the distance the outline is offset from the original shape. A non-zero setting changes the original shape's size. ■ Positive values make the outline larger. ■ Negative values make the outline smaller. Level 1 Includes two parameters that indicate the change from the Start level. Height Sets the distance of Level 1 above the Start level. Outline Sets the distance to offset the Level 1 outline from the Start Outline. Levels 2 and Level 3 are optional and allow you to change the bevel amount and direction. Level 2 Adds a level after Level 1. Height Sets the distance above Level 1. Outline Sets the offset distance of the Level 2 outline from Level 1. Level 3 Adds a level after the previous level. If Level 2 is not on, Level 3 is added after Level 1. Height Sets the distance above the previous level. Outline Sets the offset distance of Level 3 from the previous level. Traditional beveled text uses all levels with these typical conditions: ■ Start Outline can be any value, usually 0.0. ■ Level 1 Outline is a positive value. ■ Level 2 Outline is 0.0. No change from Level 1. ■ Level 3 Outline is the negative of Level 1. Returns Level 3 to the same size as the Start Outline. Bevel Profile Modifier Select a shape. ➤ Modify panel ➤ Modifier List ➤ Bevel Profile The Bevel Profile modifier extrudes a shape using another shape path as the "beveling profile." It's a variation on the Bevel modifier on page 1108. Bevel Profile Modifier | 1115 IMPORTANT Bevel Profile fails if you delete the original beveling profile. Unlike a loft object, which incorporates the shape, Bevel Profile is simply a modifier. NOTE Although this modifier might seem similar to a loft object with varying scale settings, it's actually different because it uses different outline values as distances between line segments rather than as scale values. This more complex method of resizing a shape results in some levels having either more or less vertices than others, and generally works better with text, for example. Bevel Profile creates an object using an open spline. 1116 | Chapter 9 Modifiers Bevel Profile creates an object using a closed spline, yielding a different result. Procedures To use the Bevel Profile modifier: 1 Create the shape you want to bevel (preferably in the Top viewport). 2 In the Front (XZ) viewport, create a shape to use as the beveling profile. 3 Select the first shape and apply the Bevel Profile modifier. 4 Click the Pick Profile button in the Bevel Profile modifier, and then click the profile shape. Interface Modifier Stack Bevel Profile Modifier | 1117 For more information on the stack display, see Modifier Stack on page 8776. Parameters rollout Bevel Profile group Pick Profile Selects a shape or NURBS curve to be used for the profile path. Generate Mapping Coords Assigns UV coordinates. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=on. Capping group Start Caps the bottom of the extruded shape. End Caps the top of the extruded shape. Cap Type group Morph Selects a deterministic method of capping that provides the same number of vertices for morphing between objects. Grid Creates gridded caps that are better for cap deformations. 1118 | Chapter 9 Modifiers Intersections group Keep Lines From Crossing Prevents beveled surfaces from self intersecting. This requires more processor calculation and can be time-consuming in complex geometry. Separation Sets the distance that sides should be kept apart to prevent intersections. Camera Map Modifier (Object Space) Select one object. ➤ Modifiers ➤ Camera Map Modify panel ➤ Modifier List ➤ Object-Space Select one object. ➤ Modifiers menu ➤ UV Coordinates ➤ Camera Map The Camera Map modifier (object-space version) assigns planar mapping coordinates based on the current frame and the camera specified in the Camera Map modifier. This differs from the Camera Map (WSM) modifier on page 1004 that updates the object's mapping coordinates on every frame. Camera Map Modifier (Object Space) | 1119 Left: The texture of an object with a camera map modifier matches the background when seen by the camera the modifier uses. Right: When seen by a camera not used by camera map, the object’s texture is based on object geometry. Blending an Object into the Background In the Procedures section (below), you'll be blending an object into the background using the Camera Map modifier. If the background uses the same image as the object's texture map, then the object blends with the background at the frame where the modifier is applied and a camera is specified. The object becomes visible if either the camera or object moves. In order to make the illusion work, you must assign the same map to the background that you assign to the object. Mapping Coordinates Because the accuracy of mapped objects depends partly on the complexity of the mesh, the "blend to background" effect works best when applied to an object with a relatively high density of triangular faces. The necessary density also depends on the distance of the object from the camera. 1120 | Chapter 9 Modifiers A simple box might look fine when it occupies only a small portion of the background, but up close the mapping will look distorted without adequate tessellation. Some experimentation is required to get an ideal mapping and still minimize the complexity of the geometry. (In general, for a box object that's filling a quarter of the screen, a tessellation of 4x4x4 works well.) NOTE When using the Camera Map modifier, apply the modifier to a single object at a time. If it's applied to a selection set, only the first item in the selection will be mapped properly. Use Camera Map (WSM) on page 1004 if you want to move the camera and maintain the match to the background. Using the Plate Match/MAX R2.5 Rendering Filter Prior to 3ds Max 3, the antialiasing affected only geometric edges, with the filtering of bitmaps being controlled in the Bitmap Map parameters (pyramidal, summed area, or no filtering). Antialiasing filters affect every aspect of the object, filtering textures along with geometric edges. While antialiasing provides superior results, it produces inconsistencies when rendering objects that are supposed to match the environment background. This is because the antialiasing filters do not affect the background by default. You can turn on background antialiasing in Customize ➤ Preferences ➤ Rendering ➤ Background Antialiasing ➤ Filter Background. To correctly match an objects map to an unfiltered background image, you need to use the Plate Match/MAX R2.5 filter so the texture is not affected by the antialiasing. There are three ways you can render objects in 3ds Max to blend seamlessly into a background environment: ■ By assigning a Matte/Shadow Material ■ By assigning a 100% self-illuminated diffuse texture to an object using Camera Mapping ■ By assigning a 100% self-illuminated diffuse texture using Environment/Screen projection The Plate Match/MAX R2.5 antialiasing should be used whenever trying to match foreground objects with an unfiltered background or when trying to match the antialiasing qualities of the 3ds Max 2.5 renderer. Camera Map Modifier (Object Space) | 1121 Procedures The following steps show how to apply the Camera Map modifier, and how to set up your scene. To apply the Camera Map modifier: 1 Create a scene with a camera and one or more objects. Make sure the object you want to map is visible in the Camera viewport. 2 Select the object, and apply the Camera Map modifier. Be sure to use the Object-Space version of the Camera Map modifier. 3 If you have animation in the scene, move to the frame where you want the object map to match the background. For example, if the camera is animated, the mapping will match only at this frame. 4 On the Camera Mapping rollout, click Pick Camera, and then select the camera used for the rendered view. To assign a background image to the Camera viewport: NOTE This procedure is not necessary for successful rendering, but if you want to see the effect in a viewport, follow these steps. 1 Activate the Camera viewport and turn off the grid. 2 Choose Views menu ➤ Viewport Background. 3 On the Viewport Background dialog that displays, click the Files button, and choose the same bitmap that you plan to apply as a background for the rendered scene, and as a diffuse map on the object. 4 In the Aspect Ratio group, choose Match Rendering Output. 5 Turn on Display Background, and click OK. 3ds Max closes the dialog and displays the map in the viewport. To assign a mapped material to the object: 1 In the Material Editor, create a standard material to whose Diffuse component you've assigned the same bitmap as you assigned to the background. 1122 | Chapter 9 Modifiers 2 At the Diffuse Map level of the material, turn on Viewport). 3 Select the object, and click (Show Map In (Assign Material To Selection). The map on the object in the viewport matches the viewport background, but the shading makes the object visible. To make the object truly invisible, go to the next step. 4 At the top level of the object's material, set Specular Level and Glossiness to 0. Turn off Self Illumination Color, and set Self Illumination to 100. The object is now camouflaged against the background. To assign the background to the rendered background: 1 Choose Rendering menu ➤ Environment. 2 In the Environment dialog that displays, click the button below "Environment Map" to open the Material/Map Browser. 3 Under the Browse From group box, choose Material Editor. 4 Turn off Root Only, find the map in the list window, highlight it, and choose OK. 5 Choose Copy in the dialog, and click OK. 6 In the Exposure Control rollout on the Environment dialog, make sure the exposure is set to or the turn off the Active switch. If you don’t do this, you will be able to see the object in the rendering. 7 Render the Camera viewport. The mapped object is camouflaged against the background in the rendered scene. Camera Map Modifier (Object Space) | 1123 Interface Pick Camera To apply the UVW coordinates, click this button, and then select the camera through which you're going to view the scene. Map Channel Turn on and choose a map channel to use. Map channels are specified in the Material Editor. Vertex Color Channel Uses the Vertex Color channel. Cap Holes Modifier Select a mesh object. ➤ Modify panel ➤ Modifier List ➤ Cap Holes Select a mesh object. ➤ Modifiers menu ➤ Mesh Editing ➤ Cap Holes The Cap Holes modifier builds faces in the holes in a mesh object. A hole is defined as a loop of edges, each of which has only one face. For example, one or more missing faces from a sphere would produce one or more holes. The modifier works best on reconstructing planar holes, but can do a reasonable job on non-planar holes as well. 1124 | Chapter 9 Modifiers Cap Holes used to make the cake appear solid NOTE This modifier can cap holes in a sub-object selection passed up the stack. It caps any part of the hole that's adjacent to, or within the selected geometry, whether vertex, edge, or face. Tips ■ If the Cap Holes modifier doesn't appear to work, remove it, apply a Mesh Select modifier on page 1445 to select the faces surrounding the hole, then apply Cap Holes to the sub-object selection. ■ The Cap Holes modifier creates faces with invisible edges unless you turn on All New Edges Visible before you apply it. Procedures Example: To cap a hole in a sphere: 1 Create a sphere. 2 Apply an Edit Mesh modifier to the sphere. 3 In the stack display, choose the Face selection level. 4 Select and delete a contiguous group of faces. 5 Turn off the Face selection level. 6 Apply a Cap Holes modifier. The hole you created should be filled. Cap Holes Modifier | 1125 TIP Turning on Smooth With Old Faces makes the cap less visible. Interface Smooth New Faces Assigns the same smoothing group number to all new faces. If possible, this will be a smoothing group number not used elsewhere in the object. Smooth With Old Faces Smoothes new triangular faces using the smoothing groups from bordering old faces. This smoothes only one level in from the perimeter of the border of the hole, so you might need to use both this and the Smooth New Faces option to properly smooth a large hole. NOTE When Smooth With Old Faces is turned on, the faces in the capped holes inherit a material face ID from one of the surrounding faces. When this item is turned off, the faces in the capped holes are assigned a new ID. Triangulate Cap Makes all of the edges visible in the new faces. Cloth and Garment Maker Modifiers Cloth provides you with advanced tools for creating realistic fabrics and tailor-made clothing for characters and creatures. 1126 | Chapter 9 Modifiers Laura by Georges Walser The Cloth system comprises two modifiers: ■ The Cloth modifier on page 1142 is responsible for simulating the motion of cloth as it interacts with the environment, which may include collision objects (a character or a table, for example) and external forces, such as gravity and wind. ■ The Garment Maker modifier on page 1206 is a specialized tool for creating 3D garments from 2D splines, similarly to the way real clothes are made, by stitching together flat pieces of cloth. You can model clothing in two ways: by creating the cloth objects with standard 3ds Max modeling methods and applying the Cloth modifier to them, or by designing virtual clothing patterns with splines and stitching together these various virtual panels to form a full garment using the Garment Maker modifier. With Garment Maker, you can even import spline patterns from external applications and use these as your pattern panels. Cloth and Garment Maker Modifiers | 1127 Cloth and Garment Overview Cloth is an advanced cloth-simulation engine that lets you create realistic garments for your characters and other creations. Cloth is designed to work in concert with the modeling tools in 3ds Max and can turn just about any 3D object into clothing; it also allows you to build garments from scratch. Before you begin working with Cloth, we recommend that you read this overview. It provides background information on cloth-simulation technology, so you can begin to grasp exactly the way Cloth works. It will give you a better overall understanding of how to set up Cloth scenes, the way the cloth behaves, and the array of advanced controls you will have at your disposal. As an artist and creator, you can use this knowledge to tailor (no pun intended) how Cloth will affect and interact with your scenes, and how you can best take advantage of this software. Cloth-Simulation Technology Cloth simulation is the process of replicating the movement and deformation of a piece of fabric or clothing to mimic how cloth would react in the real world. To make cloth simulation work, first you need a cloth object, such as a tablecloth or a pair of pants. Next, you need something for the fabric to interact with. This can be a collision object such as a table top or character’s leg, or a force such as wind or gravity. Limitations While Cloth is designed to help you create clothing for your models, you should be aware that, by its very nature, cloth simulation is only an approximation of how real fabric would react under certain circumstances; this system does have some limitations. One of the most important aspects of working with Cloth is the amount of time it can take to create a simulation. If you're looking to create a fully physically correct simulation, you might run into problems. Even with a fast computer, cloth dynamics at that level of accuracy (and geometric detail) could take virtually forever. So you must learn to scale your simulations back to a reasonable level. This doesn't mean you can't get believable clothing; it simply means that there are tradeoffs you should be willing to make. Tradeoffs In order to create a believable simulation, you need to balance time against quality and accuracy. The more time you have, the more accuracy and quality your simulation can have. There's no reason to make a model with 10,000 1128 | Chapter 9 Modifiers polygons if you can define the form equally well with 3,000. The same rule applies to cloth simulations. Internal and External Forces When simulating cloth, different forces come into play. Some internal forces like bend, stretch, and shear allow the fabric to deform in a realistic manner. External forces such as gravity, wind, and collisions make the cloth interact with its environment. To obtain a good-looking simulation, most or all of these things need to come into play. Without these forces, a piece of cloth will remain a flat, lifeless plane. Collision Detection When putting a shirt or pair of pants on a character, you don't want any part of the body to protrude through the fabric. The desired result is to have the garment deform around the mesh (rather than through it) so there are no intersections. This is done with collision detection; with Cloth, you tell the simulation system which objects will act as cloth, and which ones will act as collision objects. Basically, virtual feelers are sent out from the vertices of the cloth objects to see if there are any other objects that they might collide with. When one of the feelers hits something, the simulation knows that it must deform the fabric. It is important to remember that a cloth mesh with more vertices has more feelers and can do a better job of collision detection. This is critical, because if you are working with a high-poly character (collision object), you will need to increase the density of your cloth, or the high-poly mesh will protrude through the lower-poly cloth object. The reason is that there aren't enough feelers to detect all of the detail in the collision object. The alternative to this is to add one or more low-polygon proxy meshes for the character so there doesn't need to be such high density cloth objects that will slow down simulation. We'll cover the mesh density a bit more in the next section. Lastly, if you are simulating with fast-moving cloth objects, you might need to increase the Density value to give you the benefit of more feelers. You also might adjust the Step size to check more often for collision objects in the way. Clothing and Pattern Design Overview Traditionally, sewing patterns are cut from flat pieces of cloth and stitched together. The place where one piece of cloth is sewn to another is called a seam. Patterns are generally symmetrical, where the left side of the garment matches the right. Cloth and Garment Maker Modifiers | 1129 Skirt The simplest is a skirt pattern with two pieces, with a similar shape for the front and back. The back shape is a little larger than the front to account for the hips and buttocks. The shapes are sewn together at the sides to form a simple skirt. 1130 | Chapter 9 Modifiers The bottom edge of a garment is called a hem. In the skirt pattern, the waistline and hem are slightly curved. When a person puts on the skirt, the curve sits flat on the waist, while the skirt falls in folds to the hem. Because both the waistline and hem are curved, the skirt falls to the same length all the way around. Shirt A shirt pattern is slightly more complicated. A simple T-shirt pattern is made of two pieces, one for the front and another for the back. The collar on the back piece is higher than the collar on the front. You sew seams up the sides and at the shoulders, leaving the arm hole open. You can also add sleeves to the shirt. A sleeve pattern is bell-shaped. Cloth and Garment Maker Modifiers | 1131 It might not be immediately obvious how this pattern turns into a sleeve. The large hump of the bell fits over the shoulder, to give room for it to move. Pants A pants pattern has a curved shape at the top to accommodate the hips. The longer straight edge is the outside seam, while the shorter edge is the inseam. The curve near the top fits around the belly or buttocks, and under the crotch area. 1132 | Chapter 9 Modifiers Each piece is cut twice. The two front pieces are sewn together along the crotch, and the two back pieces are sewn together in the same way. Then the front is attached to the back at the outside seams and inseams. Cloth and Garment Maker Modifiers | 1133 Darts Darts are diamond-shaped holes inside a panel or V-shaped cutouts at an edge of a garment panel (see figure below), which when closed up cause the garment to assume a curved shape. 1134 | Chapter 9 Modifiers Cloth and Garment Maker Modifiers | 1135 Darts used to be a common part of women's everyday clothing, especially in blouses and dresses. However, darts are not needed with loose garments or stretchy clothing. Today, they are used mostly in formal wear and tailored garments. Clothing Design and Techniques One way to create clothing is to lay out a pattern and put it together with Garment Maker. Garment Maker is a modifier that is used to make seams, lay out cloth panels and define fabric densities. You can use Garment Maker to create seams for the pattern either in a traditional, flat layout or in a visual, easy-to-use 3D layout. In the real world, clothes are made by cutting out shapes from pieces of cloth and sewing them together along seams with thread. Garment Maker emulates this approach. First you must create a pattern that will define the shapes of the panels. Clothing patterns typically use shapes that we don't encounter in everyday life. Those of us who aren't an experienced clothing designers might have a hard time creating these shapes from scratch. It's often best to start out with a pattern made by somebody else. Cloth includes a variety of patterns 1136 | Chapter 9 Modifiers for shirts, pants, jackets and so forth. You can also buy software that will generate these patterns in DXF format. One program that does this is PatternMaker, available from http://www.patternmaker.com. When you want to move beyond editing the patterns included with Cloth, it's often helpful to use such applications to help create patterns and familiarize yourself with the process . Shirt pattern and shirt sewn together with Garment Maker Modeling Clothing Garment Maker is a useful tool for putting together patterns and adjusting seams, but you can also achieve good results by modeling with the standard 3ds Max tools and using Cloth on top of these meshes. You can create clothing with polygons, patches, or NURBS. IMPORTANT Keep in mind that modeled clothing must not have any overlapping vertices or interpenetrating faces. This type of geometry can cause the simulation to fail. Using Garment Maker; you will not run into this problem. If you are careful in creating your mesh, then this is an easy rule to follow. Pros and Cons When designing clothing, Garment Maker is usually the best way to go. It lets you define seams, seam strength, pleats, and other clothing parameters that cannot be defined with clothing modeled via other methods. Either methods lets you define separate portions of your clothing with different fabrics, but Garment Maker gives you greater control over this. The advantage to using modeled clothing is that it can sometimes be a faster setup with familiar methods and it’s a great way to repurpose older clothing models you have Cloth and Garment Maker Modifiers | 1137 made in the past. Using polygon-modeled clothing can result in overly regular creases and folds. Garment Maker uses a Delaunay mesh, which tends to avoid this problem. However, the irregular triangulation can result in rendering artifacts for low-resolution clothes, so it is advisable to apply the HSDS modifier after Cloth on garments created with Garment Maker and subdivide all the triangles once. NOTE MeshSmooth does not give good results with Garment Maker meshes. Left: Garment Maker Delaunay mesh Right: Modeled quad mesh How Cloth Works Cloth exists within 3ds Max as a pair of modifiers: Garment Maker and Cloth. Between these two, you can turn just about any 3D object into a cloth object, or you can create clothing in a more traditional method from 2D patterns, and then sew the panels together. However, before getting into the specifics of the two modifiers, it's useful to discuss how to preplan for using Cloth. This includes how geometry affects Cloth behavior as well as the density of the meshes you use as fabric. 1138 | Chapter 9 Modifiers Effect of Geometry on Cloth Ideally, the way you model your cloth should not affect how it behaves. However, in practice, the nature of the cloth geometry impacts the simulation. First of all, the density of the mesh defines how fine the folds are that can develop. If you create a plane with only nine vertices, when you drape it over a sphere, you are obviously not going to get much detailed folding. In addition to this aspect, there is the nature of the edges in the mesh. Folding can occur only at edges between triangles, so the regularity or irregularity of the mesh also dictates the resulting deformation. For example, a plane all of whose triangle hypotenuse edges are aligned will result in a cloth with folds aligned along those edges. Garment Maker creates meshes with an irregular layout (but with fairly equal-sized and close-to-equilateral triangles) that avoids this folding bias. However, this can also result in rendering artifacts with low-resolution cloths, so it is advisable to apply the HSDS modifier after Cloth on garments created with Garment Maker and subdivide all the triangles once. NOTE MeshSmooth does not give good results with Garment Maker meshes. Left: A low-density shirt. Right: The same shirt with HSDS applied, above Cloth in the modifier stack NOTE There should never be any modifiers that can alter topology between Garment Maker and Cloth. For example, you can use Unwrap UVW, but not modifiers such as Edit Mesh, MeshSmooth, or HSDS. The type of geometry you work with can have a great impact on how the cloth will react. You're probably accustomed to using triangular and quadrilateral polygons for modeling. Garment Maker uses a Delaunay mesh subdivision that promotes non-uniform deformation. When using quad polygons for cloth simulation be careful of getting uniform or symmetrical results. Cloth and Garment Maker Modifiers | 1139 Left: A quad mesh Right: A Delaunay mesh Cloth Mesh Density It is important to think about how dense your mesh has to be to achieve the result you want. Making the mesh too dense will slow down the system, while having your mesh at too low resolution might not give you the folds or detail you want to see. For example, if you applied a Bend modifier to a cylinder with only a few height segments, the result would be angular and unsmooth. On the other hand, if you created the cylinder with 1,000 height segments, you'd be wasting resources. The same is true for Cloth. You must find a balance between level of detail and performance that is appropriate for your scene. Low, medium, and high-density meshes and the way they deform Notes on the HSDS Modifier 1140 | Chapter 9 Modifiers Using the HSDS modifier to add detail to your model can be an effective solution that lets you simulate with a lower resolution mesh, and still get high-quality results. However, if you choose to use the HSDS modifier on top of your Cloth garments, you may want to apply an Edit Mesh modifier below it to weld the vertices together along the seams. This prevents the mesh from coming apart at the seams as it is subdivided. Shown above is how the modifier stack should look when using HSDS. The intermediate Edit Mesh modifier is used to weld the panel edge vertices together. If you want to preserve the seam creases, you should apply further Mesh Select and Smooth modifiers to reselect the panels and apply different smoothing groups across the garment. Pattern-Making Software Below is a list of traditional pattern-making software that you can use to create patterns for import into 3ds Max and use with Cloth. After ensuring that your Internet connection is active, click the software names to display the makers' Web sites. ■ Fashion CAD ■ PatternMaker ■ Wild Ginger Software ■ Autometrix ■ AccuMark Pattern Design Cloth and Garment Maker Modifiers | 1141 ■ TUKATECH See also: ■ Cloth Modifier on page 1142 ■ Garment Maker Modifier on page 1206 Cloth Modifier Select an object. ➤ Modifiers ➤ Cloth Modify panel ➤ Modifier List ➤ Object-Space The Cloth modifier is the heart of the Cloth system, and is applied to all objects in your scene that need to be part of the Cloth simulation. This is where you define cloth and collision objects, assign properties, and execute the simulation. Other controls include creating constraints, interactively dragging the cloth, and erasing parts of the simulation. Left: Cloth modifier not yet applied Right: Cloth modifier applied and simulated See also: ■ Object Properties Dialog (Cloth) on page 1161 ■ Cloth and Garment Maker Modifiers on page 1126 1142 | Chapter 9 Modifiers ■ Cloth and Garment Overview on page 1128 ■ Garment Maker Modifier on page 1206 Basic Concepts In a Cloth simulation, you will let Cloth know which objects will be part of the simulation, and which objects will not. Once you have done this, you define what the objects are made of. You can specify what is made of cloth, and what is a solid, collision object. Because Cloth is a modifier, an instance of it is assigned to each object to be included in the Cloth simulation. This includes all cloth and collision objects. Be aware that two cloth objects with two separate applications of the Cloth modifier will not interact with one another. There are a couple of ways to include objects in the simulation: ■ Select all of the objects at once and apply the Cloth modifier to them. ■ Apply Cloth to one or more objects and then add objects with the Add Objects button, available on both the Object rollout and the Object Properties dialog on page 1161. Units of Measure IMPORTANT The following information is necessary only if you change the system unit after applying the Cloth modifier. If you change the system unit before applying Cloth, the modifier automatically adjusts the cm/unit setting. It is important to think about size in doing clothing simulations. A very large flag behaves differently from a handkerchief. If the scale is off, then the simulation will be off. Because Cloth deals with real-world physics, it works in real-world units. This means that Cloth needs to know the relationship between units in 3ds Max and units in its own world. For example, suppose you create a plane that is 10 x 10 3ds Max units. If you want this plane to behave like a 10-inch x 10-inch handkerchief, you would tell Cloth that 1 3ds Max unit=1 inch. If you want it to behave like a 10-foot x 10-foot bed sheet, you would tell Cloth that 1 3ds Max unit=1 foot. Except as noted at the start of this section, Cloth ignores the 3ds Max System Units Setup (under Customize menu ➤ Units Setup ➤ System Units Setup). Cloth has its own units setup, which is determined by the cm/unit parameter on page 1181 on the Simulation Parameters rollout. This tells Cloth how many centimeters (cm) correspond to each 3ds Max unit. One inch equals 2.54 cm, Cloth and Garment Maker Modifiers | 1143 so the default setting of 2.54 means that one 3ds Max unit corresponds to 1 inch. Following is the procedure to follow to determine what setting to use here. 1 Use the measure utility or tape helper to measure some dimension of your cloth (or character) in 3ds Max units (call this number x). 2 Decide how big you want this object to be in the real world Convert this number to centimeters. If you have the dimension in inches, simply multiply by 2.54 (call this number y). 3 cm/unit=y/x Here is a quick example: You import a file, man.obj, into 3ds Max, and want to put a shirt on him. 1 Using the Measure utility, you find that the man is 170 3ds Max units tall. So y=170. 2 You determine that this man is about 6 feet tall. ■ 6 feet=72 inches. ■ And 72 inches=72x2.54=182.88cm. So x=182.88 3 So now you have the values to make sure the shirt behaves correctly. Cm/unit=y/x=170/182.88=0.929. Or you can round the spinner's value up to 1.0, since pinpoint accuracy is not needed here. Fabric Behavior Cloth provides many different ways to set up fabric behaviors. You can make your cloth behave like leather, silk, burlap, and anything in between. The Simulation Once all of your parameters are set and you’re ready to go, it’s time to simulate. In many cases, you will first perform a local simulation to fit your fabric to your character. Once your fabric is in place, you can simulate over time. Running a simulation in Cloth is very freeform. You are able to make many changes and edits to a simulation, making it more of a work in progress than a click and a “hope for the best” scenario. 1144 | Chapter 9 Modifiers Constraints You can constrain fabric in various ways to create different fabric effects during simulations. Cloth can constrain cloth to have extra drag as it flies through the air, or can cause it to be affected by a space warp in the scene. Linking a portion of the fabric to an animated object or attaching to a surface are other common constraints. If you wanted to create a pair of pants you would constrain the top portion of the pants to the waist of the character or a curtain can be constrained to a rod. Constraints are a very important and robust part of Cloth. Cloth has the ability to make multiple groups of constrained vertices for great flexibility. You can constrain many different parts of a piece of clothing to different nodes' surfaces or other cloth objects. You build constraints in Cloth at the modifier's Group sub-object level on page 1184. At this level, you can see vertices of all selected objects, both cloth and collision. You can then select these and place them in groups. Once a group is defined, you can then attach or "constrain" the selection set to another object, or have it affected by some external force. Tearing Cloth You can tear cloth. For an example of how to do so, see this procedure on page 1149. Cloth tears during the course of a simulation under a couple of circumstances: ■ The forces affecting the cloth pull it in a way that causes it to tear. A Strength or Tear Threshold value (they are the same) lets you set how easily cloth is torn. ■ The cloth collides with a collision object that is set to Cuts Cloth. See Collision Properties on page 1174. You must specify where the cloth will tear before you run the simulation. There are a few different ways to do this: ■ In either Cloth or Garment Maker, set a seam to be tearable. See Seams Sub-Object Level (Cloth) on page 1203, Curves Sub-Object Level (Garment Maker) on page 1228, and Seams Sub-Object Level (Garment Maker) on page 1235. ■ In the Cloth modifier, use the Group sub-object level to choose vertices that will tear, and then click Make Tear to create the tear. See Group Rollout (Cloth) on page 1185. Cloth and Garment Maker Modifiers | 1145 ■ With the Cloth modifier, choose two cloth elements that will tear apart, then at the Group sub-object level, join their edges by choosing vertices and then clicking Weld. See Group Rollout (Cloth) on page 1185. Tearing Cloth and the Point Cache Modifier If you use a Point Cache modifier on page 1521 to optimize a Cloth animation, there is a chance that tears will not be smoothed correctly before tearing occurs. To fix this problem, you can add a Welder modifier on page 1955 to the stack. Place the Welder above the Point Cache modifier. Procedures Example: To use the Keep Shape option: If your cloth object starts out with 3D shape that you'd like to retain during the simulation, you can use the Keep Shape option and setting to preserve this shape, or even reverse it. This simple procedure provides an example of how to use Keep Shape. 1 In the Top or Perspective viewport, create a Plane primitive object of about 90 x 90 units, with 20 x 20 segments. 2 Apply a Bend modifier, set Angle to 250.0, and set Bend Axis to X. This produces the initial tubular shape. 3 Copy the bent plane twice so you have three planes in a row. Rename the planes as follows: ■ don't keep shape ■ keep shape ■ reverse shape 1146 | Chapter 9 Modifiers 4 Select all three planes and apply the Cloth modifier. 5 On the Simulation Parameters rollout, turn off Gravity and set cm/unit to 0.5. Turning off Gravity keeps the cloth objects from falling during the simulation, so they stay in view, and lowering the cm/unit setting compensates for the planes' relatively large size. 6 On the Object rollout, click Object Properties. This opens the Object Properties dialog. 7 In the Objects In Simulation list, highlight all three planes (by dragging), and then, above the Cloth Properties group, choose Cloth. Also set U Bend to 500.0. This also sets V Bend to 500.0 automatically. Using high Bend values allows the simulation to proceed more quickly. Next, you'll set different Keep Shape properties separately for each object. 8 Highlight the reverse shape object in the list and set the Bend % value to –100.0. Cloth and Garment Maker Modifiers | 1147 NOTE The default value is 100.0. 9 Click OK to exit the dialog. 10 Select the don't keep shape object and note that Object rollout ➤ Selected Objects Manip group ➤ Use Target State is off. 11 Select both the reverse shape and the keep shape objects, but not don't keep shape, and then turn on Use Target State. 12 On the Object rollout, click Simulate Local. After a few seconds, the don't keep shape object starts to flatten out, the keep shape object doesn't change, and the reverse shape object has, in fact, reversed its shape, effectively creating a negative bend angle. TIP You can also use Use Target State with Grab State to maintain or reverse a shape created with a previous cloth simulation or shape-changing modifier. 1148 | Chapter 9 Modifiers Example: To tear a piece of cloth: 1 In the Top viewport, create a Plane. Make it about 150 units on each side. Set its Length Segments and Width Segments both equal to 7. 2 Also in the Top viewport, create two each side of the plane. Dummy objects: one on The plane flanked by two dummy objects 3 Turn on (Auto Key). Go to frame 100, then animate each dummy object so it moves about 300 units away from the plane along its X axis: Move the left-hand dummy to the left, and the right-hand dummy to the right. 4 Turn off (Auto Key). Cloth and Garment Maker Modifiers | 1149 5 Go back to Frame 0. 6 Select the plane. Go to the Cloth modifier to the plane. Modify panel, and apply a 7 On the Object rollout, click Object Properties. 3ds Max opens the Object Properties dialog for cloth. In the list of objects, click Plane01 to highlight it, choose the Cloth radio button to make Plane01 behave as cloth, and then click OK (keep all the default Cloth Property settings). 8 In the Modifier stack, go to the Group sub-object level. 9 Select the vertices along the left-hand side of the plane, and then on the Group rollout, click Make Group. Click OK to accept the default name of Group01. With Group01 still highlighted in the Group list, click Node, and then in a viewport click the left-hand dummy object to assign it to this group. 10 Repeat step 9 for the right-hand column of vertices and the right-hand dummy object. 1150 | Chapter 9 Modifiers 11 Select the two center columns of plane vertices, and then on the Group rollout, click Make Tear. Click OK to accept the default name of Group03. Central vertices selected to create a tear in the cloth 3ds Max creates a new Weld constraint that comprises the vertices at the center of the cloth plane. Cloth and Garment Maker Modifiers | 1151 After clicking Make Tear 12 On the Modifier stack, go back to the top Cloth level. 13 In the Object rollout ➤ Simulation group, click Simulate. 3ds Max animates the dummies pulling at the cloth. As this happens, the cloth tears along the vertices that you set to tear. 1152 | Chapter 9 Modifiers Cloth and Garment Maker Modifiers | 1153 Cloth tearing in the center as its edges are pulled apart Depending on the position of the dummy objects, the tear you see in your example might differ from the one shown in these illustrations. To run a cloth simulation with a networked render farm: A complex cloth simulation can require extensive computation and take a long time. Cloth includes commands that make it easy to run a simulation on a networked machine (part of a render farm), freeing up your machine for working on other parts of the scene. 1 Set up the simulation. 2 For each cloth object in the simulation, select the object, and then on the Selected Object rollout click Set and specify a path and file name for the cache. For best results, specify a mapped drive and turn on Force UNC Path. This specifies the path using the Universal Naming Convention so that it can be found by all computers in the network. Also, it's probably a good idea to keep all the cache files in the same directory. 3 On the Simulation Parameters rollout, turn on Sim On Render. 1154 | Chapter 9 Modifiers 4 Save the scene file. 5 On the Render Setup dialog, turn on Net Render, and then click Render. Submit the job to a single Server. Unlike rendering, network Cloth simulation cannot be split up among multiple Server machines. NOTE You needn't render the entire animation to trigger the cache creation; a single frame suffices. As soon as the Server machine starts the render, it begins computing the simulation and saving it to disk. At any point you can load the simulation in its current state from the cache file to check its progress by clicking the Load button. Object Rollout (Cloth) Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Cloth ➤ Object rollout The Object rollout is the first rollout you see on the Command panel once you apply the Cloth modifier. It comprises mostly controls to create a Cloth simulation and adjust fabric properties. Cloth and Garment Maker Modifiers | 1155 Interface 1156 | Chapter 9 Modifiers Object Properties Opens the Object Properties dialog on page 1161, where you can define which objects to include in the simulation, whether they are cloth or collision objects, and the parameters associated with them. Cloth Forces Add forces (that is, space warps in the scene) such as wind to the simulation. Click Cloth Forces to open the Forces dialog. To add forces to the simulation, in the Forces In Scene list on the left side, highlight the forces to add, and then click the > button to move them to the Forces In Simulation list, thus adding them to the simulation. Thereafter, the forces affect all cloth objects in the simulation. To remove forces from the simulation, in the Forces In Simulation list on the right side, highlight the forces to remove, and then click the < button to move them to the Forces In Scene list. Simulation group To run a cloth simulation, click any of the three Simulate buttons in this group. To halt a simulation, press Esc or if the Cloth Simulation dialog is open (i.e., Progress on page 1158 is on), click the Cancel button. Simulate Local Starts the simulation process without creating animation. Use this to drape the clothes on a character or sew the panels of a garment together. Simulate Local (damped) Same as Simulate Local, but with a large amount of damping added to the cloth. When sewing a garment together, sometimes the panels come together at high speed, causing problems. Using a damped simulation alleviates this problem. Simulate Creates a simulation over the active time segment. Unlike Simulate Local, this creates animation data in the form of a simulation cache at every frame. Cloth and Garment Maker Modifiers | 1157 The simulator advances by a time step called dT. The initial value is the Step setting on page 1182 on the Simulation Parameters rollout. When the simulator encounters certain situations, it decreases dT in order to overcome the obstacles. Sometime later, the simulator increases dT again up to the maximum Step value you set. The current value of dT appears on the Cloth Simulation dialog that shows the progress of the simulation as it takes place (see following). When the simulator decreases dT, it shows "dT decreased" on the Cloth Simulation dialog along with one of the following messages (explanation follows each message): ■ could not solve equations – The solver could not solve the equations of motion. ■ cloth has become over-stretched – In attempting to solve one step, some edges of the cloth became too elongated, indicating a failure of the solver. ■ cloth-solid collision velocity was too large – The speed of the cloth relative to that of the collision object is too high. ■ cloth-cloth collision velocity was too large – The speed of colliding cloth parts is too high. Progress When on, opens the Cloth Simulation dialog during the simulation. The dialog shows the progress of the simulation, including information about time, and messages about errors or time step size adjustments. The Cloth Simulation dialog shows information about the simulation while it's running. Simulated Frames Shows the number of frames simulated so far. Erase Simulation Deletes the current simulation. This deletes the cache of all cloth objects and sets the Simulated Frames count back to 1. 1158 | Chapter 9 Modifiers Truncate Simulation Deletes animation created by the simulation after the current frame. For example, if you've simulated an animation to frame 50 but want to keep only animation keys from frames 0 to 30, set the time slider to frame 30, then click this button. The simulation is then deleted from frame 31 on. Selected Object Manip group Set Initial State Updates the first frame of the selected cloth object’s cache to the current position. Reset State Resets the selected cloth object's state to the state before Cloth in the modifier stack. When you click this, the simulation is erased; that is, Simulated Frames returns to 1. Delete Object Cache Deletes the cache for selected non-cloth objects. If an object is simulated as cloth, and is then turned into a collision object (or inactive) via the Object Properties dialog, it will retain the cloth motion in its cache. This is useful for simulating clothes in layers. For example, you may simulate a character’s pants, then turn the pants into a collision object for simulating a coat. By simulating in layers, you avoid the problems of cloth-to-cloth collision detection. If you want to remove the cached motion from the selected object(s), click this button. Grab State Grabs the current state from the top of the modifier stack and updates the cache for the current frame. Following is an example of how this might be used: 1 Simulate to frame 100. When you play back the simulation, you see a collision object poking through the cloth at frame 24. Cloth and Garment Maker Modifiers | 1159 2 Add an Edit Mesh modifier after Cloth and pull the cloth vertices so the object doesn't poke through. 3 Go down the stack to Cloth and click Grab State. The vertices are now moved twice as far as you intended because the vertex displacement was applied once by Cloth, and again with Edit Mesh. 4 Remove the Edit Mesh modifier. The vertices should now be where you want them. Grab Target State Lets you specify the target shape for Keep Shape on page 1173. Grabs the current deformation from the top of the modifier stack and uses that mesh to define the target bend angles between triangles. Also turns on Use Target State on page 1160. NOTE Only the bend angles from the Target State mesh are used, not the edge lengths. TIP To add some natural creasing to your cloth, drop the cloth on the floor, click Grab Target State, and then run the simulation. After clicking Grab Target State and before running the simulation, click Reset State (unless you want the cloth to stay on the floor!). Reset Target State Resets the default bend angles to the mesh below Cloth in the stack. NOTE For Garment Maker on page 1206 objects, the target bend angles will depend on the output method set in the Garment Maker modifier. To see what is actually being used, use Show Target State on page 1161. Use Target State When on, preserves the shape of the mesh as stored by Grab Target State on page 1160. It uses the Bend % and Stretch % settings in the Keep Shape on page 1173 group on the Object Properties dialog for Cloth. If multiple cloth objects with different Use Target State settings are selected, this check box appears unavailable, but you can click it to make the setting for all selected objects. NOTE In previous versions, this check box was labeled Keep Shape and was found on the Object Properties dialog for Cloth. 1160 | Chapter 9 Modifiers _____ Create Keys Creates keys for a selected cloth object. The object is collapsed to an editable mesh, and any deformation is stored as vertex animation. Add Objects Lets you add objects to the simulation without opening the Object Properties dialog. Click Add Objects, and then click an object to add. To add multiple objects at once, press H and use the Pick Objects dialog. Show Current State Shows the current state of the cloth at the end of the last simulation time step. If the simulation is cancelled, the last time step could lie between two frames. If the simulation is allowed to successfully finish, the last time step corresponds to the last frame. Show Target State Shows the current target state of the cloth; that is, the desired bend angles used by the Keep Shape option. Show enabled solid collision When on, highlights all groups of vertices for which Solid Coll on page 1194 is on. This is handy for seeing exactly which vertices will be involved in solid-object collisions. Show enabled self collision When on, highlights all groups of vertices for which Self Coll on page 1194 is on. This is handy for seeing exactly which vertices will be involved in cloth-to-cloth collisions. Object Properties Dialog (Cloth) Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Cloth ➤ Object rollout ➤ Object Properties button Cloth and Garment Maker Modifiers | 1161 Use the Object Properties dialog to specify which objects are included in a Cloth simulation, whether they are cloth or collision objects, and define parameters associated with them. 1162 | Chapter 9 Modifiers Interface Cloth and Garment Maker Modifiers | 1163 Objects in Simulation The list below the caption “Objects in Simluation” shows the objects currently included in the Cloth simulation. To change an object’s role and properties, first highlight its name in the list. You can highlight multiple object names using standard methods: Ctrl+click, Shift+click, and dragging. Add Objects Click to open a Select From Scene dialog on page 184 that lets you select objects from your scene to be added to the Cloth simulation. After you add an object, the object name appears in the Objects In Simulation list, and an instance of the Cloth modifier is applied to the object. Remove Removes objects highlighted in the Objects In Simulation list from the simulation. You cannot remove an object that is currently selected in 3ds Max. Choosing the Role of an Object Three radio buttons in the Object Properties dialog, to the right of the Objects In Simulation list, let you choose how the Cloth simulation treats each individual object. Inactive Choose to make the highlighted object inactive in the simulation. The object can still be in the simulation, but it will not react to anything. This option is helpful for testing how different objects react, and for isolating dynamic effects. When you first add an object to the Cloth simulation, by default it is Inactive. Cloth Choose to make the highlighted object behave as a cloth object. Once you designate an object as Cloth, you can set its parameters in the Cloth Properties group on page 1165. NOTE Each cloth object can actually have two sets of properties. See the following section, “High-Level Cloth Options,” for more details. Collision Object Choose to make the highlighted object behave as a collision object. Cloth objects bounce off, wrap around, or are torn by collision objects. Once you designate an object as a Collision Object, you can set its properties in the Collision Properties group on page 1174. High-Level Cloth Options Use Panel Properties When on, tells Cloth to use the cloth properties specified at the Panel sub-object level on page 1199. This allows you to define different cloth properties on a panel-by-panel basis. Default=off. 1164 | Chapter 9 Modifiers While this option is on, controls in the Cloth Properties group are unavailable. Property 1 / Property 2 These two radio buttons let you assign two different sets of cloth properties to a Cloth object. If you assign both Property 1 and Property 2 sets, you can then use the Property Assignment group on page 1178 settings to interpolate or animate between the sets. Three options can be set only for Property 1, and are unavailable in the Property 2 set. Both sets use the same settings for these options. The options are Use Cloth Depth/Offset, Use Edge Springs, and Use Solid Friction. Cloth Properties Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Cloth ➤ Object rollout ➤ Object Properties button ➤ Object Properties dialog ➤ Highlight an object in the list. ➤ Choose Cloth. ➤ Cloth Properties group Cloth Properties control how a cloth object behaves in a Cloth simulation. The 3ds Max interface provides a few different ways to set cloth properties. Setting these values here in the Object Properties dialog for cloth applies them to the object globally. You can also apply these values locally at either the Group sub-object level on page 1184 or the Panel sub-object level on page 1199. If you turn on Use Panel Properties (see Object Properties Dialog (Cloth) on page 1161), 3ds Max disables the global settings in this group. Setting properties locally for panels is useful mainly when you are modeling a multi-panel garment created by the Garment Maker modifier on page 1206. You can assign two sets of properties to a single cloth object: Property 1 and Property 2. If both sets are assigned, you can then use the Property Assignment group on page 1178 to interpolate or animate between the sets. See also High-Level Cloth Options on page 1164. Cloth and Garment Maker Modifiers | 1165 Interface Presets group 1166 | Chapter 9 Modifiers Sets the Cloth Properties parameters to the preset chosen from the drop-down list. Any presets that are built into the system or that have been previously saved and loaded will show up here. Load Loads presets from your hard drive. Click this button and then navigate to the directory with your presets to load them into Cloth Properties. Presets have the file name extension .sti. Save Saves Cloth Properties parameters to a file to be loaded at a later time. By default, all Cloth preset files are saved to your \scenes\cloth folder. [Cloth Properties] U Bend / V Bend Resistance to bending. The higher this value is set, the less the fabric will be able to bend. A cotton fabric might bend more easily than leather, so a value of 15.0 for both U and V Bend might be good for cotton, while 50.0 would work well for leather. By default, the U Bend and V Bend parameters are locked together so that changing one sets the other to the same value. You can set different values for the two only when Anisotropic on page 1172 is off. We recommend that you do this only for Garment Maker on page 1206 objects. Cloth and Garment Maker Modifiers | 1167 Left: U and V Bend=50, simulating a burlap material Right: U and V Bend=2.5, simulating silk or other light fabric U B-Curve / V B-Curve Resistance to bending as the fabric folds. The default value of 0 sets the bend resistance to be constant. A setting of 1 makes the fabric very resistant to bending as the angle between triangles approaches 180 degrees. You never want two adjacent triangles to pass through each other, so you can increase this value to prevent this from happening. By default, the U B-Curve and V B-Curve parameters are locked together so that changing one sets the other to the same value. You can set different values for the two only when Anisotropic on page 1172 is off. We recommend that you do this only for Garment Maker on page 1206 objects. U Stretch / V Stretch Resistance to stretching. The default value of 50.0 is a reasonable value for most types of cloth. A larger value will be stiffer, while a smaller one will be stretchy like rubber. By default, the U Stretch and V Stretch parameters are locked together so that changing one sets the other to the same value. You can set different values for the two only when Anisotropic on page 1172 is off. We recommend that you do this only for Garment Maker on page 1206 objects. U Compress / V Compress Resistance to compression. Although these values default to 50.0, like their counterpart Stretch values, assigning values lower than the Stretch values can give good results, because when cloth is compressed along the length of its fibers, it tends to buckle rather than shrink. By default, the U Compress and V Compress parameters are locked together so that changing one sets the other to the same value. You can set different 1168 | Chapter 9 Modifiers values for the two only when Anisotropic on page 1172 is off. We recommend that you do this only for Garment Maker on page 1206 objects. Shear Resistance to shearing. Higher values result in stiffer cloth fabrics. Shear defines how much the individual triangles can deform. If you were to lay the edges of the triangle out in a straight line, this value would represent how long this line can stretch. With a high value, this length will be only the sum of the length of all of the sides at rest. A low value allows this length to be greater then that of all of the triangle sides at rest. This length of stretched sides is not on a one-to-one basis. One side of the polygon can stretch more then another, as long as the total shear value is not exceeded. Density The weight of the cloth per unit area (in gm/cm2). Higher values mean heavier cloth like denim. Use smaller values for lighter cloth like silk. Damping The larger this value, is the more sluggishly the fabric will react. With a lower value, the fabric will behave with more spring. Cloth with more damping will come to rest sooner then cloth with less damping. High damping results in cloth that behaves as though it is moving through oil. Excessive damping can cause simulation instabilities. TIP Begin by setting Damping to 0.01. If your simulation requires more damping, try increasing this value graudally. Plasticity The tendency of the cloth to keep its current deformation (that is, the bend angles). This is different from Keep Shape on page 1173, which determines the extent to which the cloth tends to keep its original deformation (or the one defined by the Target State). If you set Plasticity to 100.0, the cloth will not attempt to change the angles between triangles. If you want stiffer cloth, but you don't want the cloth to “balloon” up, increase the Plasticity value. Thickness Defines the virtual thickness of a fabric for the purpose of detecting cloth-to-cloth collisions. This value is irrelevant if cloth-to-cloth collisions are disabled. Larger values keep the cloth separated by greater distances. Be careful not to use too large or small values in this field. Very large values will interfere with the natural behavior of the cloth. Very small values will cause the simulator to take too long to calculate. This distance is measured in cm (centimeters) and should be smaller than the size of the triangles that make up the cloth object. A setting of 0.0 will let Cloth automatically assign a reasonable value for thickness. Cloth and Garment Maker Modifiers | 1169 Left: The top piece of cloth with a Thickness of 0 Right: Thickness of 9 Repulsion The amount of force used to repel other cloth objects. This value is irrelevant if cloth-to-cloth collisions are disabled. The simulator will apply a repulsion force scaled by this value to keep the cloth from coming in contact with other cloth objects. Increase this value if there are a lot of collisions between different parts of cloth, or if the cloth is tending to interpenetrate. Air Res. Resistance to air. This value will determine how much the air will affect the cloth. A higher Air Resistance value is useful for a tightly woven fabric, while a lower value is suitable for a loose-knit garment. Dyn. Fric. Dynamic friction between the cloth and solid objects. A larger value will add more friction and cause the fabric to slide less across an object. A lower value will allow the fabric to slip off an object easily, similarly to how silk behaves. Static Fric. Static friction between the cloth and solid objects. When the cloth is in a stationary position, this value will control its ability stay where it is, or slip away. Self Fric. Friction between the cloth and itself. This is similar to dynamic and static friction, but applies to cloth-to-cloth or self-collisions. A larger value will cause more friction between the cloth and itself. 1170 | Chapter 9 Modifiers Seam Force Not presently used and kept only for backward compatibility with older versions of the former product, called Stitch. This was a global seam strength, but seam strength is now defined on a seam-by-seam basis at the Seams sub-object level. U Scale Controls how much to shrink or expand the cloth along the U direction (as defined by Garment Maker). For non-Garment Maker meshes, this applies a uniform scaling to the cloth along both axes, and the V Scale parameter is ignored. A value of less than 1 will shrink the fabric at simulation time, while a value of more than 1 will stretch it. V Scale Controls how much to shrink or expand the cloth along the V direction (as defined by Garment Maker). A value of less than 1.0 will shrink the fabric at simulation time, while a value of more than 1.0 will stretch it. Depth Collision depth for the cloth object. If a portion of cloth reaches this depth inside a collision object, then the simulation will no longer try to push the cloth out of the mesh. This value is measured in 3ds Max units. To specify a Depth value specific to the cloth object, use this setting and be sure to turn on Use Cloth Depth/Offset on page 1172. Offset The distance maintained between the cloth object and the collision object. A very low value can cause the collision mesh to protrude from under the cloth. A very high value causes the fabric to appear to be floating above the collision object. This value is measured in 3ds Max units. To specify an Offset value specific to the cloth object, use this setting and be sure to turn on Use Cloth Depth/Offset on page 1172. Cling The extent to which the cloth object adheres to a collision object. Range=0.0 to 99999.0. Default=0.0. You can use this parameter to simulate effects such as wet cloth. A setting of 1.0 should be just enough to hold the default material onto a surface against its own weight. Layer Indicates the correct “order” of cloth pieces that might come in contact with each other. Range=–100 to 100. Default=0. If your garments and/or panels are all correctly oriented to begin with, then cloth-to-cloth collision detection should keep items from interpenetrating. However, the initial state of a garment or panel might have some interpenetration that cannot be resolved. For example, suppose you make a jacket with Garment Maker where the front right panel is supposed to sit on top of the front left panel. When you sew together the garment (generally with self-collision off), the front panels will interpenetrate, so to make sure that the right panel sits outside the left panel, you might have to use constraints or Live Drag. Using the Layers option on the panels can help here. Cloth and Garment Maker Modifiers | 1171 Here is the logic of layers: When two pieces of cloth (A and B) are in collision-detection range, their layers (layerA and layerB) are compared and the following rules are applied: ■ If either layerA or LayerB is 0, then Cloth uses the regular cloth-to-cloth collision method. ■ If layerA=layerB, then Cloth uses the regular cloth-to-cloth collision method. ■ If abs(layerA) > abs(layerB), then piece A is pushed to the appropriate side of piece B. Which side? If layerB > 0, then to the side indicated by the face normals. If layerB < 0, then to the opposite side. The sign of the Layer value indicates what the "outside" of that piece of cloth is. A positive sign means "The side that the normals face is the outside". _____ Based on This text field displays the name of the preset that the initial Cloth Property values are based on. If you have not chosen a preset, it displays “default.” When you modify some parameters and save a preset, 3ds Max saves the file using the name of the last preset you loaded. _____ Inherit Velocity When on, the cloth inherits the velocity of the mesh at the start of the simulation. This can be useful if you are generating a simulation in stages: generating one simulation, and then generating another that begins where the first one ended. Turning on Inherit Velocity can help create a smooth transition between the two simulations. Default=off. Use Edge Springs Enables an alternative method for calculating stretch. When on, stretch force is based on springs along triangle edges. When off, the stretch and shear forces are calculated in a more sophisticated manner to more accurately reflect the underlying physics. Default=off. Anisotropic (unlock U,V) When on, you can set different U and V values for the Bend, B-Curve, and Stretch parameters. The U and V directions are defined by Garment Maker on page 1206 and do not apply to non-Garment Maker meshes, for which setting different U/V values might result in unexpected behavior. Default=off. Use Cloth Depth/Offset When on, uses the Depth on page 1171 and Offset on page 1171 values set in Cloth Properties. When on, the cloth object ignores the collision object Depth and Offset values. Default=off. 1172 | Chapter 9 Modifiers Use Collision Obj Friction When on, uses the friction of the collision object to determine friction. Values for collision can be assigned either to the cloth or the collision objects. This enables you to set different friction values for each collision object. Default=off. Keep Shape group These settings preserves the shape of the mesh based on the values of Bend % and Stretch %. In normal operation, when Cloth creates a simulation, it tries to "flatten out" the cloth. To enable these settings, turn on Use Target State on page 1160. Bend % Modulates the target bend angles to a value between 0.0 and the angles defined by the target state on page 1160. A negative value inverts the angles. Range=–100.0 to 100.0. Default=100.0. Stretch % Modulates the target stretch angles to a value between 0.0 and the angles defined by the target state on page 1160. Range=0.0 to 100.0. Default=100.0. Pressure group A closed volume of cloth (for example, a polymesh based on a sphere) can behave as if it is filled with gas. Pressure The pressure of the gas filling the mesh. Increase this value to observe the pressure effect. At pressures near 100.0, the cloth volume behaves much like a balloon; lower values slow down the effect of gravity. Default=0.0. Damping Increase the Damping value to slow down the effect of the pressure force. Default=0.0. Track Volume When Track Volume is on, Pressure changes as the cloth volume changes. This models real-world gas, where compressing the volume increases the pressure, and so on. Default=off. Cloth and Garment Maker Modifiers | 1173 While Track Volume is on, the Pressure value sets only the pressure at the start of the simulation. Cap Holes If there are holes in the mesh, turning on Cap Holes adjusts the pressure so the mesh behaves as if the holes were capped. Default=off. Collision Properties Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Cloth ➤ Object rollout ➤ Object Properties button ➤ Object Properties dialog ➤ Highlight an object in the list. ➤ Choose Collision Object. ➤ Collision Properties group Collision Properties control how a collision object behaves in a Cloth simulation. Cloth objects bounce off, wrap around, or are torn by collision objects. Interface Depth Collision depth for the collision object. If a portion of cloth reaches this depth inside a collision object, then the simulation will no longer try to push the cloth out of the mesh. This value is measured in 3ds Max units. Offset The distance maintained between the cloth object and the collision object. A very low value can cause the collision mesh to protrude out from under the cloth. A very high value will look like the fabric is floating on top of the collision object. This value is measured in 3ds Max units. Dyn. Fric. Dynamic friction between the cloth and this particular solid object. A larger value will add more friction and cause the fabric to slide across an object less. A lower value will allow the fabric to slip of an object very easily, similarly to how silk would react. This value is only used for interaction with cloth objects that have Use Solid Friction enabled, otherwise the friction value is taken from the cloth's own properties. 1174 | Chapter 9 Modifiers Static [Friction] Static friction between the cloth and solid objects. When the cloth is in stationary position, this value will control its ability stay where it is, or slip away. This value is only used for interaction with cloth objects that have Use Solid Friction enabled otherwise the friction value is taken from the cloth’s own properties. Enable Collisions Enables or disables collisions for this object while still allowing it to be in the simulation. This means the object can still be used for making surface constraints. Cuts Cloth When on, the Collision Object can cut the cloth if it intersects with the cloth during the course of a simulation. The cloth object must be set up to have a tear along either a seam or a group of vertices. Default=off. TIP When you turn on Cuts Cloth, turn off Enable Collisions. This gives the most realistic results for most models. Selected Object Rollout (Cloth) Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Cloth ➤ Selected Object rollout The Selected Object rollout lets you control the simulation caches, control and optionally animate the cloth properties with a texture map or interpolation, and specify a bend map. This rollout appears only when a single object in the simulation is selected. Cloth and Garment Maker Modifiers | 1175 Interface 1176 | Chapter 9 Modifiers Cache group Use these settings for network simulation. When you render with Sim On Render on page 1183 on, Cloth can run the simulation on a networked machine, leaving your local machine free for other work. For a procedure, see To run a cloth simulation with a networked render farm: on page 1154. [text field] Shows the current path and file name for the cache file. You can edit this field, but the path must exist; the file will be created if necessary. For any cloth object for which you have not specified a file name, Cloth creates one based on the object name. Force UNC Path If the text field path is to a mapped drive, converts the path to UNC format on page 9339. This makes the path readily accessible to any computer on the network. To convert cache paths for all cloth objects in the current simulation to UNC format, click the All button. Overwrite Existing When on, Cloth can overwrite existing cache files. To enable overwriting for all cloth objects in the current simulation, click the All button. Set Lets you specify the path and filename of the cache file for the selected object. Click Set, navigate to the directory, enter the file name, and then click Save. Load Loads the specified file into the selected object's cache. Import Opens a file dialog to load a cache file other than the specified one. Load All Loads the specified cache file for every cloth object in the simulation. Cloth and Garment Maker Modifiers | 1177 Save Saves the current cache, if any, using the specified file name and path. If no file is specified, Cloth creates one based on the object name. Export Opens a file dialog to save the cache to a file other than the specified one. You can save in the default CFX format or in PointCache2 format. Extra Cache To create a second cache in PointCache2 format, turn on Extra Cache and click Set to specify a path and file name. This file is also created when you render with Sim On Render on. Property Assignment group Interpolate Interpolates between the two different property settings in the Object Properties dialog on page 1161 (as determined by the Property 1 and Property 2 radio buttons at the top right corner). You can use this slider to animate between these two properties to adjust the type of fabric settings the garment is using. Texture Map Set a texture map and apply the Property 1 and Property 2 settings to the cloth object. You can add a grayscale texture map in this slot to blend between the two properties set in the Object Properties dialog. Black will represent property 1 and white property 2. Any grayscale value will blend between these two properties. You can drag a texture map onto this button. 1178 | Chapter 9 Modifiers Cloth object with a burlap material in Property 1 and silk in Property 2 being controlled by a Checker procedural map Mapping Channel Lets you specify the mapping channel the Texture map will work from, or choose Vertex Color to use that instead. Vertex color can be particularly useful in conjunction with the new painting tools in 3ds Max. You can paint vertex colors directly onto your object and use the painted areas for material assignment. Bend Map group The Bend Map option lets you use a texture map, map channel, or vertex colors to modulate the target bend angles. The value of this is that you can paint deformations onto your cloth, or use some kind of noise map to add irregularity to the cloth. Bend Map Toggles the use of the Bend Map option. Set the strength of the modulation with the numeric value. In most cases, the value should be less than 1.0. Range=0.0 to 100.0. Default=0.5. Cloth and Garment Maker Modifiers | 1179 [map type] Choose the map type for the Bend map: ■ Vertex ColorUses the Vertex Color channel for modulation. ■ Map ChannelUses a map channel other than Vertex Color for modulation. Set the channel with the spinner. ■ Texture MapUses a texture map for modulation. To specify a texture map, click the button (labeled None by default) and then use the Material/Map Browser to choose the map. Thereafter the map name appears on the button. Simulation Parameters Rollout (Cloth) Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Cloth ➤ Simulation Parameters rollout The Simulation Parameters rollout settings let you specify general properties of the simulation such as gravity, start and end frames, and sewing-spring options. These settings apply to the simulation on a global scale, that is, to all objects in the simulation. 1180 | Chapter 9 Modifiers Interface cm/unit Determines how many centimeters there are per 3ds Max system unit. Cloth automatically sets cm/unit to the equivalent of 2.54 centimeters per inch (the default system unit in 3ds Max). For example, if you set the system unit to one foot, Cloth automatically sets cm/unit to 30.48 (12x2.54). Size and scale are important when doing cloth simulation because a 10-foot curtain behaves much differently from a one-foot square handkerchief, even if they are made from the same fabric. Earth Click this button to set the Gravity value to that of planet Earth. Gravity When on, the Gravity value (see following) affects cloth objects in the simulation. Cloth and Garment Maker Modifiers | 1181 [Gravity value] The force of gravity in cm/sec2. A negative value applies gravitational force downward. A positive value (i.e., no sign) means gravity will act to move cloth objects upward. The default value is set to be the same as Earth's gravity: -980.0 cm/sec2. Step The maximum size of the time step the simulator takes. This value is measured in seconds. The value must be less than the length of one frame (less than 0.033333 for 30 fps animation). A value of 0.02 is generally the largest value you want to use. Reducing this value causes the simulator to take longer to calculate, but will in general give better results. The simulator will automatically reduce its time steps as needed, but this is the maximum value that it will try. This value works in conjunction with the Subsample parameter: The actual maximum value=Step value divided by Subsampl value. Subsample The number of times per frame that 3ds Max samples the position of solid objects. Default=1. At the default value, Cloth samples the solid objects in the simulation once every frame. Increasing this value should help when objects are moving or rotating quickly, but be aware that the higher you set the value, the slower the simulation will be. Start Frame The frame at which the simulation starts. If you change this value after the simulation has been performed, the cache will be moved to this frame. Default=0. End Frame When on, determines the frame at which the simulation will stop. Default=100. Self Collision When on, detects cloth-to-cloth collisions. Leaving this off will speed up the simulator, but will allow cloth objects to interpenetrate. The numeric setting specifies the extent to which Cloth tends to avoid self-colliding cloth objects, at the cost of simulation time. Range=0 to 10. Default=0. This is a maximum limit. If Cloth needs fewer calculations to resolve all collisions, it will use fewer. In most cases, a value greater than 1 isn't necessary. Check Intersections (Discontinued feature. This check box has no effect.) Solid Collision When on, the simulator takes into account cloth-to-solid object collisions. This is almost always left on. Use Sewing Springs When on, uses the sewing springs created with Garment Maker to pull the fabric together. This works only with objects that have been made with Garment Maker on page 1206. Turn this option off once the garment has been pulled together. 1182 | Chapter 9 Modifiers When off, Cloth will identify vertices that are sewn together and will always keep them coincident. When on, there is always a chance for the vertices to come apart if the sewing springs are not strong enough (actually, there will always be some slight gap between the vertices in this case). Show Sewing Springs Toggles the visual representation of the sewing springs in the viewports. These do not render. Sim on Render When on, triggers the simulation at render time. Use this for generating a simulation with a network computer, which lets you continue to work on other aspects of your scene with your own computer. See a procedure here on page 1154. After the render is completed, Cloth writes a cache for each cloth object. You can specify this cache file on the Selected Object Rollout (Cloth) on page 1175 (which is available only when a single object is selected). If you do not specify a name, 3ds Max creates one. The numeric value indicates the priority of the simulation; the simulations are run in ascending order. For modifiers with the same priority, the order is undefined. NOTE Each object has its own cache file, which is temporarily created when the MAX file is opened. On saving the file, the cache is incorporated into the MAX file. When Sim On Render is on, the cache file specified is created and written to, but is not read from as you change the time slider. The cache file must be loaded into the internal cache file on page 1177 before you can see it. Advanced Pinching When on, Cloth tests for cloth pinched between two parts of the same collision object. This option helps with cloth colliding with small features of the collision objects, such as fingers. There is a significant performance hit for high-resolution collision objects. Tension Lets you visualize the compression/tension in the fabric by means of vertex coloring. Stretched cloth is indicated by red, compressed by blue, neutral by green. The numeric setting lets you change the range of tension/compression illustrated by a complete traversal from red to blue. The higher this value, the more gradual the shading. This works only for Garment Maker objects. Weld group Controls how cloth is smoothed across a tear that you set up, before the cloth has been torn. Cloth and Garment Maker Modifiers | 1183 The difference between these two options is primarily in whether they are compatible with a Point Cache modifier. See Point Cache Modifier (Object Space) on page 1521. ■ Verts When chosen, Cloth welds the vertices before tearing occurs. This creates a smooth mesh; however, its topology changes when the tear occurs, so when you choose this option you can’t use a Point Cache modifier with the Cloth animation. ■ Normals (The default.) When chosen, uses face normals to generate smoothing. The topology of the Cloth object does not change, so when this option is chosen, you can use a Point Cache modifier with the Cloth animation. Group Sub-Object Level (Cloth) Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Cloth ➤ Modifier stack ➤ Highlight the Group sub-object level Groups let you select groups of vertices and constrain them to surfaces, collision objects, or other cloth objects. At the Group sub-object level, all selected objects that are part of the Cloth simulation are shown with their vertices visible so that you can select them in an efficient fashion. When you create or select a group at this sub-object level, the Group Parameters rollout on page 1192 becomes available. IMPORTANT The concept of a group for Cloth can be applied to both the cloth objects and to the collision objects in the simulation. And when created, groups can then be given unique properties. For example, a group on a collision object can have a different collision offset from the rest of the object. This is a powerful feature when working with groups. NOTE You can select groups of vertices explicitly, with the mouse in the viewports, and you can also specify a soft selection or use a texture map to select vertices using controls on the Group Parameters rollout. See Soft Selection group on page 1198. In addition, named selection set on page 204 tools are available at this level. 1184 | Chapter 9 Modifiers Groups and Constraints The main reason for creating a group is to make it a constraint. A group becomes a constraint when you assign its vertices to behave in a particular way: for example, to follow another object or another piece of cloth. Until you make a group into a constraint, the group is described as unassigned. You create and manage groups, and constrain them, using the controls on the Group rollout on page 1185. You can fine-tune the behavior of an individual group using the controls on the Group Parameters rollout on page 1192. Group Rollout (Cloth) Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Cloth ➤ Modifier stack ➤ Highlight the Group sub-object level ➤ Group rollout The Group sub-object rollout is for selecting groups of vertices and constraining them to surfaces, collision objects, or other cloth objects. Cloth and Garment Maker Modifiers | 1185 Interface [Group management buttons] 1186 | Chapter 9 Modifiers Make Group Makes a group out of selected vertices. Select the vertices to include in the group, and then click this button. Name the group, and it will then show up in the list below for you assign to an object. Delete Group Deletes the group highlighted in the list. Detach Removes any constraint assigned to the group and sets it back to being unassigned (that is, without any constraint). Any unique properties assigned to this group will remain in effect. Initialize Constraints that involve attaching the vertices to another object (Node, SimNode, Surface and Cloth constraints) contain information regarding the relative positions of the group vertices to the other object. This information is created upon the creation of the constraint. To regenerate this information, click this button. Change Group Lets you modify the vertex selection in the group. To use, follow this procedure: 1 Choose the group in the list. 2 Change the selection of vertices. 3 Click Change Group. Rename Renames the highlighted group. [Constraint creation buttons] Node Constrains the highlighted group to the transforms of an object or node in the scene. To use, click Node, and then select the node for constraining. The node cannot be an object in the simulation; for that purpose, use the SimNode constraint on page 1188. Cloth and Garment Maker Modifiers | 1187 NOTE Node and SimNode simply constrain the group to an object's transforms, not to the object itself. They need not be near each other. When the cloth and the constraining object should be in close proximity, such as with clothing on a character mesh, use the Surface constraint instead (see following). Surface Attaches the selected group to the surface of a collision object in the scene. To use, click Surface, and then select the node for attaching. TIP This constraint is best suited for when the cloth and the constraining object should be in close proximity, such as with clothing on a character mesh. Cloth Attaches the selected group of cloth vertices to another cloth object. Preserve This group type preserves the motion from below the Cloth modifier in the modifier stack. For example, you might have a dress that you've skinned to a skeleton. You want the upper portion of the dress to be unaffected by the Cloth simulation (that is, to retain its deformation defined by the skinning), and the lower part to be simulated. In this case, you'd make a Preserve constraint from the upper vertices. Drag This group type locks the vertices in place or adds a damping force to selected group. When Group Parameters rollout ➤ Soft on page 1193 is off, you can use this constraint for nailing vertices in place so that they do not move at all. When Soft is on, the vertices will have a drag force applied where the amount of drag is controlled by the Strength and Damping values, also on the Group Properties rollout. SimNode This option works the same as the Node option on page 1187, except that the node must be part of the Cloth simulation. Group Attaches one group to another. This is recommended only for single-vertex groups. (that is, groups that contain only one vertex). With this, you can make one cloth vertex stick to another cloth vertex. Select one group, click this button to open the Pick Group dialog , and then choose another group. NoCollide Causes collisions between the currently selected group and another group to be ignored. When you click this button, you're prompted to choose another group. You could use this option to prevent the simulator from processing collisions between cloth and the body under an arm or between the legs. Forcefield Allows you to link a group to a space warp and have the space warp affect the vertices. 1188 | Chapter 9 Modifiers Sticky Surf The group sticks to a surface only after it has collided with that surface. Solid Coll on page 1194 must be enabled for this constraint to work. Sticky Cloth The group sticks to a surface only after it has collided with that surface. Self Coll on page 1194 must be enabled for this constraint to work. Weld Click to make an existing group into a Weld constraint. You must first highlight the name of the group in the Group list. Weld does not create a tear; it only welds vertices that are in close proximity. Use Weld if you create a tear by modeling two elements with matching edges and then applying the Cloth modifier later. Make Tear Click to make a vertex selection into a tear with a Weld constraint. First, select the vertices, and then click Make Tear. Clear Tears Click to remove all tears from the Cloth modifier. You cannot remove individual tears. NOTE Deleting a Weld constraint does not remove a tear: instead, it causes the mesh to break along those vertices, because the Weld constraint holds vertices together until tearing occurs. [Group list] Shows all current groups. The number of vertices associated with the highlighted group is shown below the list. To assign, copy, paste, delete, or edit a created group, first highlight the group name in the list. Cloth and Garment Maker Modifiers | 1189 _____ Copy Copies a named selection set to the copy buffer. Paste Pastes the named selection set from copy buffer. Shrink Click to shrink the current vertex selection. 3ds Max removes the outer row and column from the selection. Grow Click to grow the current vertex selection. 3ds Max adds an outer row and column to the selection. Growing a selection from a single vertex Ring Select two vertices, and then click Ring to select the vertices that are perpendicular to these two. Ring also works with selections of more than two vertices, but the results might not be what you expect. This is especially likely if Ignore Backfacing is turned off, as it is by default. 1190 | Chapter 9 Modifiers Ring selection based on two vertices Loop Select two vertices, and then click Loop to select the vertices that are parallel to these two. Loop also works with selections of more than two vertices, but the results might not be what you expect. This is especially likely if Ignore Backfacing is turned off, as it is by default. Loop selection based on two vertices Element Select one or more vertices, then click Element to select all the vertices in an element. An element corresponds to an Element in the underlying geometry: use this option with Editable Poly, Editable Patch, or Editable Mesh objects. Get Stack Selection Gets a sub-object selection from below the Cloth modifier on the stack, and applies it to the Group vertex selection. For example, if you create an Editable Poly object, make a vertex sub-object selection for the Editable Poly object, apply the Cloth modifier, and then at the Group level Cloth and Garment Maker Modifiers | 1191 click Get Stack Selection, the vertex selection is identical to the one you made for the Editable Poly object. If the underlying selection is of a different sub-object type, such as Edge or Poly, clicking Get Stack Selection creates a selection whose vertices correspond to vertices in the underlying selection: for example, all vertices that belong to the Edges or the Polys selected below. _____ Ignore Backfacing When on, you can select only vertices that face you in a viewport. When off (the default), you can select any vertices under the mouse cursor, regardless of whether they face you in the viewport. Group Parameters Rollout (Cloth) Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Cloth ➤ Modifier stack ➤ Highlight the Group sub-object level ➤ In a viewport, select vertices. ➤ Group rollout ➤ Click Make Group ➤ Group Parameters rollout Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Cloth ➤ Modifier stack ➤ Highlight the Group sub-object level ➤ Group rollout ➤ In the Group list, highlight the name of an existing group. ➤ Group Parameters rollout The Group Parameters rollout appears after you use Make Group on a vertex selection to create at least one group. Thereafter, highlight the group in the Group rollout list to display and edit the group's settings with the Group Parameters rollout. Interface Constraint Parameters group If the currently highlighted group is unassigned (that is, not a constraint), then controls in this group are not available. 1192 | Chapter 9 Modifiers On When on, enables the constraint specified for the current group in the group list on the Group rollout, using remaining settings in this group box. Soft Sets the constraint type to soft. A soft constraint uses springs between vertices. When off, the constraint is hard or rigid. The constraint types Node, Surface, Preserve, Drag, and SimNode can be hard or soft. Cloth, Group, and Forcefield constraints are always soft. ID Uses a Material ID to attach the group to an object. This option applies only to Surface and Cloth constraints. If, when the constraint is created or initialized, the cloth vertices are not over a triangle, then the constraint will be created to the center of the nearest triangle that has the requisite Material ID. This could mean that several vertices might be constrained to the center of the same triangle. In this case, you should only use soft constraints. A hard constraint would pull all those cloth vertices to the same exact point on the triangle, which would look strange. Offset The variance in the distance between a constrained group and its constraining, or target, object. The default value is 1.0 with Rel on (see following). This sets the constrained group to maintain its original distance from the target object. When set to 0.0, the constraint seeks to set the distance to the target object to zero. ■ rel Specifies the offset as a ratio of the original value. Available only with the Surface and Cloth constraint types. For example, if you want to move a constrained vertex by half its original distance, turn on the Rel. check box and set Offset to 0.5. Default=on. Strength The stiffness of the springs used if the constraint is soft. ■ vc Sets vertex colors to determine the strength of the constraint. Default=off. Damping The damping of the springs if the constraint is soft. Cloth and Garment Maker Modifiers | 1193 _____ 1-to-1 (The default.) When the mesh density is changed in Garment Maker, the group selection is reassigned. The 1-to-1 option selects the vertex closest to the original vertex. Blob When the mesh density is changed in Garment Maker, the group selection is reassigned. The Blob option selects the original vertex and the ones created within a certain radius of it. The radius can be left at default or auto, or it can be set manually. ■ Radius When on, lets you set the radial distance used by the Blob option. When off, Blob uses an automatic radial value. Default=off; default value = 2.0. Behavior Settings group Behavior Settings Toggles the availability of the other settings in this group. When off, the other settings have no effect. Solid Coll When on, the group vertices are used in solid-collision detection. Self Coll When on, the group vertices are used in self-collision detection. Layer Indicates the correct "order" of cloth pieces that might come in contact with each other. Range=–100 to 100. Default=0. If your garments and/or panels are all correctly orientated to begin with, then cloth-to-cloth collision detection should keep items from interpenetrating. However, the initial state of a garment/panel might have some interpenetration that cannot be resolved. For example, suppose you make a jacket with Garment Maker where the front right panel is supposed to sit on top of the front left panel. When you sew together the garment (generally with self-collision off), 1194 | Chapter 9 Modifiers the front panels will interpenetrate, so to make sure that the right panel sits outside the left panel, you might have to use constraints or Live Drag. Using the Layers option on the panels can help here. Here is the logic of layers: When two pieces of cloth (A and B) are in collision-detection range, their layers (layerA and layerB) are compared and the following rules are applied: ■ If either layerA or LayerB is 0, then Cloth uses the regular cloth-to-cloth collision method. ■ If layerA=layerB, then Cloth uses the regular cloth-to-cloth collision method. ■ If abs(layerA) > abs(layerB), then piece A is pushed to the appropriate side of piece B. Which side? If layerB > 0, then to the side indicated by the face normals. If layerB < 0, then to the opposite side. The sign of the Layer value indicates what the "outside" of that piece of cloth is. A positive sign means "The side that the normals face is the outside". Keep Shape When on, preserves the shape of the mesh based on the Bend % and Stretch % settings. In normal operation, when Cloth creates a simulation, it tries to "flatten out" the cloth. Default=off. ■ Bend % Modulates the target bend angles to a value between 0.0 and the angles defined by the target state on page 1160. A negative value inverts the angles. Range=–100.0 to 100.0. Default=100.0. ■ Stretch % Modulates the target stretch angles to a value between 0.0 and the angles defined by the target state on page 1160. A negative value inverts the angles. Range=0.0 to 100.0. Default=100.0. Presets group Sets the Cloth Properties parameters to the preset selected in the drop-down list. Any presets that are built into the system or that have been loaded will show up here. Cloth and Garment Maker Modifiers | 1195 Load Loads presets from the hard drive. Click this button and then navigate to the directory with your presets to load them into your Cloth Properties. Presets have the file name extension .sti. Save Saves your Cloth Properties parameters to a file that you can then load at a later time. 1196 | Chapter 9 Modifiers [Group properties] Use These Properties Turn on to set the cloth properties for the individual group, using the controls on this rollout. Default=off. Cloth and Garment Maker Modifiers | 1197 Get From Object Click to sets the cloth properties of the group to be the same as the object to which the group belongs. The remaining Properties controls are the same as those found in the Cloth Properties group on page 1165 of the Object Properties dialog for Cloth. Soft Selection group The Soft Selection controls apply on a per-group basis to permit soft selection of vertices neighboring the explicitly selected group members. This works the same as soft selection of vertices in other parts of 3ds Max. For details, see Soft Selection Rollout on page 1966. Alternatively, you can select vertices for a group based on a texture map. Use Texture Map When on, Cloth uses a texture map to specify a soft selection of vertices that belong to the current group. Click the button (by default, 1198 | Chapter 9 Modifiers labeled “None”) to choose a texture map. Use the Mapping Channel controls to choose a map channel or vertex color channel. You can add a grayscale texture map in this slot to blend between unselected and fully selected pixels in the group. Black represents unselected and white represents fully selected. Any grayscale value blends between the two. You can drag a texture map onto this button. NOTE For a texture map to apply to a group, at least one vertex must be explicitly selected. However, when Use Texture Map is on, the group's explicit vertex selection has no effect. Panel Sub-Object Level (Cloth) Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Cloth ➤ Modifier stack ➤ Highlight the Panel sub-object level At the Panel sub-object level, you can select one panel (cloth section) at a time and change its cloth properties. A panel, which must be created by the Garment Maker modifier on page 1206, is a closed spline that is not enclosed by another spline. If a closed spline is enclosed by another spline, it forms a hole in the outer spline. NOTE To be able to select a panel at this sub-object level, you must first use Object Properties on page 1161 to specify that the object is cloth. Also, to be able to change settings on this rollout, first turn on Object Properties ➤ Use Panel Properties on page 1164. Cloth and Garment Maker Modifiers | 1199 Interface 1200 | Chapter 9 Modifiers Presets group Presets Sets the selected panel's properties parameters to the preset selected in the drop-down list. Any presets that are built into the system or that have been previously saved and loaded will show up here. Presets have the file name extension .sti. Load Load presets from a specified location on your hard drive. Click this button and navigate to the directory with your presets to load them into your Cloth Properties. Save Save your Cloth Properties parameters to a file to be loaded at a later time. By default, Cloth preset files are saved to the \cloth folder inside 3ds Max install directory. Cloth and Garment Maker Modifiers | 1201 [Panel properties] These Properties controls are the same as those found in the Cloth Properties group on page 1165 of the Object Properties dialog for Cloth. 1202 | Chapter 9 Modifiers Keep Shape group Keep Shape When on, preserves the shape of the mesh based on the Bend % and Stretch % settings (see following). In a normal operation, when Cloth creates a simulation, it tries to "flatten out" the cloth. Bend % Modulates the target bend angles to a value between 0.0 and the angles defined by the target state on page 1160. A negative value inverts the angles. Range=-100.0 to 100.0. Default=100.0. Stretch % Modulates the target stretch angles to a value between 0.0 and the angles defined by the target state on page 1160. A negative value inverts the angles. Range=-100.0 to 100.0. Default=100.0. _____ Layer Sets the layer for the selected panel. See Behavior Settings group on page 1194. Seams Sub-Object Level (Cloth) Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Cloth ➤ Modifier stack ➤ Highlight the Seams sub-object level The Seams sub-object rollout is used to define seam properties. Cloth and Garment Maker Modifiers | 1203 Interface On Turn the seam on or off to make it active or inactive. Crease angle Creates a crease at your seam. The angle value will determine the angle of the crease that will be between the two panels. (Can be positive or negative depending on which way you want to crease) Left: High crease angle Right: Low crease angle Crease Strength Increase or decrease the strength of your seam. This value will effect how much the seam will resist bending in relation to the rest of the cloth object. A value of 2.0 means that the cloth will have twice the resistance to bending that it would otherwise have (as defined by the object/panel/vertex group properties). 1204 | Chapter 9 Modifiers Sewing Stiffness The amount of force with which the panels will be pulled together at simulation time. A larger value will pull the panels together harder and faster. Tearable When on, sets the selected seam to be tearable. Default=off. ■ Tear Threshold Sets a threshold value for tearing the seam. This value is equivalent to the Strength value of a Weld constraint at the Group sub-object level on page 1184. Default=10.0. Enable All Sets all seams on selected garment to be active. Disable All Sets all seams on selected garment to be off. This button deactivates the On check box for all seams. Faces Sub-Object Level (Cloth) Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Cloth ➤ Modifier stack ➤ Highlight the Faces sub-object level The Faces sub-object rollout enables interactive dragging of cloth objects while they are simulated locally. This sub-object level is useful for positioning cloth within your scenes in a more interactive way. NOTE If you position your cloth incorrectly, you can restore the original position by returning to the Object level and clicking the Reset State button. Interface Cloth and Garment Maker Modifiers | 1205 Simulate Local Starts local simulation of the cloth. In order for the real-time interactive feedback with the cloth to occur, this button must be on. Live Drag! When active you can drag selected faces as the local simulation is taking place. Live Rotate! When active, you can rotate selected faces as the local simulation is taking place. Sim on mouse down Runs the local simulation only when the left mouse button is clicked. This mode is usually preferred since you can start and stop the local simulation simply by releasing the mouse button. As a result, it makes it far easier to position and rotate the faces of your cloth within your scene. Ignore Backfacing When on, you can select only faces facing you. When off (the default), you can select any faces under the mouse cursor, regardless of visibility or facing. Garment Maker Modifier Select a shape object (spline or NURBS curve). ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Garment Maker Garment Maker is a modifier that is designed to put together 2D patterns that you can then use with Cloth on page 1142. With Garment Maker you can take a simple, flat, spline-based pattern and convert it to a mesh, arrange its panels, and create seams to sew the panels together. You can also specify internal seam lines on page 1214 for creases and cuts. See also: ■ Troubleshooting and Error Codes in Garment Maker on page 1239 ■ Cloth and Garment Maker Modifiers on page 1126 ■ Cloth and Garment Overview on page 1128 ■ Cloth Modifier on page 1142 1206 | Chapter 9 Modifiers Basic Concepts Splines When you start working with Garment Maker, you begin either by importing or drawing traditional 2D splines in the 3ds Max Top viewport. To use a spline with Garment Maker and eventually Cloth, it must be a closed shape. This does not mean that you cannot have splines inside of splines, but if you have multiple spline shapes inside of one another, the inner splines are treated as "holes" in the fabric, as shown below. Two closed splines - one with a nested spline inside Cloth and Garment Maker Modifiers | 1207 Resulting geometry after applying Garment Maker TIP For best results, when applying Garment Maker to multiple splines, first combine the splines into a single object. Also, to keep your patterns precise, no rounding of boundary edges and corners, you must break the splines at the corner vertices. This is also important because it directly impacts the segments of the splines that are to be used to create seams between the individual panels. To understand this better, take a look at the following example. In the image below are two rectangular splines to which a user might want to apply Garment Maker. After applying Garment Maker, the idea is to then create a seam between the two panels along the inner edge. First, it should be noted that both splines are closed shapes and have been attached so they are part of the same editable spline object. 1208 | Chapter 9 Modifiers When Garment Maker is assigned, look what happens: Garment Maker seems to have "chopped" corners of the rectangular splines off, altering the pattern. Beyond that, if the user tried to select the edges of the panels that make up the seam, they will not be able to. This is because Garment Maker currently has only a single spline to work with for each panel. To keep the pattern clean, do the following: Cloth and Garment Maker Modifiers | 1209 1 Access the 2 Vertex sub-object level of the editable spline. Select the vertices where the seams should be. 3 Click Break to create unique segments that Garment Maker can use to create a seam. Shown below are the results when all of the vertices are selected and then broken. All vertices in both panels selected and then "broken" 1210 | Chapter 9 Modifiers Garment Maker applied to "broken" splines The corners are now preserved. When the user goes to select the edges between the panels to act as seams, they will be selected independently of the other panel edges and highlight in red. This is what you want in order to create seams. Seam edges selected at the Seam sub-object level in red Cloth and Garment Maker Modifiers | 1211 Garment Panels Garment Maker's Panels sub-object level lets you arrange the panels of the pattern around the character. You can then create seams where the panels should connect and be "sewn" together. This lets you create the seams you need while seeing how the clothing will look around your character. Creating seams like this is in many cases far superior to making them in a flat layout because it allows you to visualize what is being done. Arranged panels with seams defined Pattern Creation To make patterns you can use the basic 2D spline tools in 3ds Max. Cloth comes with several patterns, but after you learn to use them, you will most likely want to start making your own. Patterns can take advantage of many features that real sewing patterns have, such as darts and multi-segment seams. To learn about other pattern making software, see Pattern-Making Software on page 1141. 1212 | Chapter 9 Modifiers Tricky Assemblies As you begin to move beyond the basic patterns for your garments, there are a number of rules that you should follow in order to work effectively with Cloth: ■ Always create your pattern splines in the Top viewport. Garment Maker assumes that the pattern is laid out this way. ■ When seaming garments with MultiSegment edges, you must take care of the order in which the seams are made. NOTE A MultiSegment comprises two or more individual segments acting as a single segment; you create it with Garment Maker. When creating a seam you cannot use: ■ A MultiSegment that has multiple gaps in it, unless all but one of those gaps are bridged by another seam. ■ A segment or MultiSegment that forms a closed loop (that is, a path directly, or via seams, completely encloses the MultiSegment). Both these issues arise in the common sleeve assembly shown below. The sleeve needs to be sewn to the armhole. When assembled, both the sleeve and the armhole form closed loops. The sleeve forms a loop via the seam along its underside. The armhole is closed by two seams: one across the shoulder and one down the side. Now, since you cannot seam closed loops together, it therefore follows that both the armhole and sleeve must be left open when creating the seam connecting them. So the order is as follows: 1 Because the sleeve is one segment and the armhole is two segments, you must make a MultiSegment out of those two segments first. 2 When dealing with MultiSegment seams, the order of creation is important. If you attempt to create seams in the wrong order, you might get a “Seamline topology is wrong” error, and the seams will not be created. When dealing with MultiSegment seams, create the minimum number of seams necessary to make the MultiSegment seam match the topology of the other piece to that you are going to connect. In this case, you have an arm seam that is open at the bottom, and a MultiSegment that is open at both the top and the bottom. If you closed the side of the garment, you'd end up with the situation illustrated in Cloth and Garment Maker Modifiers | 1213 the center image below, where the seam is twisted (it cannot be “untwisted” by reversing the seam). By closing the top of the armhole MultiSegment with a seam at the shoulder, you'll create proper topology to make the MultiSegment seam. 3 Next, you can seam up the sleeve to the armhole. See the leftmost image below. 4 Finally, you can add the seam down the side of the garment and across the underside of the sleeve (the order is irrelevant here). Left: Seam created for shoulder first and then for the MultiSegment, producing the desired result. Middle: Seam created at the bottom of the body MultiSegment first, resulting in an irreversible MultiSegment seam from the arm to the body. Right: No seams made on the body to connect its MultiSegment, resulting in a seam topology error. Internal Seam Lines When drawing panels, you can use extra open splines to define seam lines within the panels, also known as internal seam lines. Triangulation always occurs along these internal seam lines, so you can use them to help define the structure of the cloth panel, and as crease lines on page 1237. Also, you can specify that an internal seam line should be cut on page 1231, so that the cloth separates along the line during the simulation. To create an internal seam line, simply specify a Material ID of 2 for the internal spline, which should not be closed. Also, for best results, keep its 1214 | Chapter 9 Modifiers endpoints away from other splines in the shape. And, as with outside seam lines, an internal spline should not cross over itself or other splines. Left: Open spline, set to Material ID 2, specifies internal seam line. Center: At Garment Maker ➤ Curves or Seams sub-object level, seam line is selected and Cut is turned on. Right: Cloth separates along cut line during simulation. Procedures To place garment panels automatically: The Garment Maker modifier provides tools for positioning garment panels on a humanoid character model. This automatic placement is approximate; further adjustment is typically necessary. 1 Load or create your character model. 2 Create your panels as splines or NURBS curves parallel to the world XY plane (that is, create them in the Top viewport). Cloth and Garment Maker Modifiers | 1215 Shirt panels, as seen in the Top viewport TIP When applying Garment Maker to multiple splines, for best results, first combine the splines into a single object. You can still manipulate the separate pieces within the Garment Maker modifier at the Panels sub-object level. 3 Apply the Garment Maker modifier. Set parameters as necessary. 1216 | Chapter 9 Modifiers 4 On the Main Parameters rollout, click the Figure button initically labeled “None”), and then click the character model. The object's name appears on the button. 5 Below this button, click the Mark Points On Figure button. A character outline appears in the corner of each viewport. Superimposed on the outline are seven asterisk-shaped points; the one at the center-top of the chest is highlighted in red. Cloth and Garment Maker Modifiers | 1217 The character outline lets you mark points for positioning panels. 6 Click the corresponding point on the front of your model. As you move the mouse cursor over the surface of the model, a red circle shows where the marker will be placed. When you click, an axis tripod appears on the surface at that location, and the next point on the character outline, at the center of the pelvic region, is highlighted in red. The axis tripod appears on the object surface where you click. 1218 | Chapter 9 Modifiers 7 Continue to click at each location on your model that corresponds to the highlighted marker on the character outline until you've designated all seven points. All seven points are marked on the character model. To finish, right-click in the viewport. 8 Go to the Panels sub-object level and select a panel. Cloth and Garment Maker Modifiers | 1219 The front shirt panel is selected. 9 At the bottom of the Panels rollout, choose a Level, and then in the Panel Position group, click the button corresponding to the desired position for the panel. The panel moves to the designated position. 1220 | Chapter 9 Modifiers Panel Position=Front Center; Level=Top at shoulder 10 Adjust as necessary. For example, in the above illustration, Level should probably be set to Top At Neck. To correct this, you would choose Top At Neck, and then click Panel Position ➤ Front Center again. Panel Position=Front Center; Level=Top at neck Cloth and Garment Maker Modifiers | 1221 Of course, you can also move the panel manually; in fact, in most cases it will probably be necessary to do so. Panel Position serves primarily as a starting point for placing panels. 11 Continue selecting panels and placing them, adjusting as necessary. All panels placed with Panel Position. Note that sleeve panels need to be rotated 90 degrees, and cuff panels need to be rotated and moved to the wrists. Main Parameters Rollout (Garment Maker) Select a shape object (spline or NURBS curve). ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Garment Maker ➤ Main Parameters rollout The Main Parameters rollout is the first rollout you see on the Modify panel once you apply the Garment Maker modifier. 1222 | Chapter 9 Modifiers This rollout comprises mostly controls to create and adjust the mesh. The remaining rollouts are available at the sub-object levels. Interface Density Adjusts the relative density of the mesh (in other words, the number of triangles per unit area). Possible values range between 0.01 and 10.0. A value of 10.0 creates a very dense mesh, while 0.01 creates a comparatively low-resolution mesh. For best results, use the lowest possible density to achieve the desired result. This speeds up simulation time and overall performance. Cloth and Garment Maker Modifiers | 1223 Left: Density=0.5 Right: Density=1.5 Auto mesh When on, Garment Maker updates the mesh automatically if you change the density or add/remove seams. This setting is active at all sub-object levels, so it's recommended you leave it on to see changes as you make them. The only time you might want to turn off Auto Mesh is while creating the seams at the Curves sub-object level. Re-meshing can take some time, so you might want to define a number of seams before re-meshing. Preserve When on along with Auto mesh, Garment Maker preserves the 3D shape of the object. When off, if you change the Density value, the panels are flat. Relax When on, relaxes the default mesh to produce a smoother result. Default=off. (The default mesh is a standard Delaunay triangulation.) Mesh It! Applies a change in the Density value. If Auto mesh is off when you change the Density value, you must click the Mesh It! button to apply the change. TIP Sometimes in an error condition Mesh It! will no longer respond. If this happens, go to the spline level in the modifier stack, and then return to the Garment Maker level. Mesh It and Preserve Applies a Density change and also preserves the 3D shape of the object. This lets you change the density of the cloth or the 1224 | Chapter 9 Modifiers underlying spline shape after simulating without having to run the simulation again. _____ The following setting, comprising three radio buttons, determines how the cloth panels are passed up the modifier stack to the Cloth modifier: ■ Arranged PanelsWith this option, the mesh passed up the stack will be have the panels arranged/bent around the figure as they were placed by the user in panels sub-object mode. ■ Preserved SurfaceWhen both Auto mesh and Preserve are on, or when you click Mesh It And Preserve, Garment Maker takes a snapshot of the mesh at the top of the stack (where Cloth is applied). This snapshot is passed up the stack when you choose Preserved Surface. This way, if you change the Density value, the mesh will retain its deformation. Once a snapshot has been taken, at the Panel sub-object level, the panels will have the Use Preserved check box on. This means you can move the panels around while maintaining their deformation. Also note that once a snapshot has been taken, Garment Maker automatically chooses the Preserved Surface option. ■ Flat PanelsDisplays all the panels as flat surfaces. This mode defines the texture coordinates of the garment vertices. With this output mode active, you can adjust texture coordinates at the Panel sub-object level by moving and rotating the panels. _____ Stretch Map Coords When on, the UV coordinates are based on the square bounding rectangle whose edge is the longer edge of the actual bounding box, and so have an aspect ratio of 1:1. When off, the UV coordinates do not maintain a 1:1 apect ratio but use the actual bounding box. Cloth and Garment Maker Modifiers | 1225 Left: Stretch Map Coords on Right: Stretch Map Coords off Figure group Use these controls to specify locations for each panel on the figure to be clothed [button] Click this button, labeled “None” by default, and then click the object, or figure, to which the clothing is to be applied. Typically this is a character model. Thereafter, the name of the object appears on the button. Mark Points on Figure After specifying a figure using the “None” button (see preceding), use this control to specify locations on the figure for automatically positioning panels in the garment. When you click Mark Points On Figure, this character outline appears in the corner of each viewport: 1226 | Chapter 9 Modifiers The character outline lets you mark points for positioning panels. As each point highlights in red, click the corresponding location on your figure. When you do so, an axis tripod appears on the object surface and the next point on the outline highlights. During this process you can manipulate the viewport as usual, zooming, panning, and rotating freely. You can continue clicking points as long as you like; to stop, right-click in the viewport, or turn the button off. NOTE If you return to marking points later, 3ds Max starts again where you left off earlier. The points highlight in this order: 1 Upper Chest 2 Pelvis 3 Neck 4 Right shoulder 5 Left shoulder 6 Right hand 7 Left hand Cloth and Garment Maker Modifiers | 1227 After setting the points, you can use the Panel Position on page 1234 and Level on page 1235 controls at the Panels sub-object level to place the panels automatically. Curves Sub-Object Level (Garment Maker) Select a shape object (spline or NURBS curve). ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Garment Maker ➤ Curves sub-object level ➤ Curves rollout Use the Curves sub-object level to stitch your pattern panels together. You can also connect seams in the Seams sub-object mode with a more three-dimensional representation of the panels. The Curves sub-object level provides a flat layout to work in that can be useful for more complex patterns. You can create and delete seams and adjust the way your pattern fits together. Interface 1228 | Chapter 9 Modifiers Create Seam Creates a seam between two segments. Select two segments of the panels you would like to sew together, and click Create Seam. This will make a seam between these two panels that will be sewn together at simulation time. Seams get a randomly-generated color to distinguish them from the panels. Top: Segments selected Bottom: Seam made between two panels Delete Seam Deletes selected seam. (Selected seam is colored red). Reverse Seam Reverses or flips a twisted seam. When creating seams, the first vertex on each segment is used to line up the resulting seam panel. Sometimes you can end up with a twisted seam and will need to use Reverse Seam to untwist it. Cloth and Garment Maker Modifiers | 1229 A twisted seam that needs to be reversed Make MultiSegment A MultiSegment is a combination of two or more segments that will be treated as one segment for the purpose of creating seams. Select the segments you want to combine then click this button. Note that if the segments are not contiguous, the gaps must be bridged by seams before this MultiSegment can be used in a seam. Break MultiSegment Break apart selected MultiSegments. On Turns the selected seam on or off, making it active or inactive. Crease angle Creates a crease at the selected seam. The angle value determines the target angle of the crease between the two panels or along an internal seam line on page 1214 Left: High crease angle Right: Low crease angle Crease Strength Increase or decrease the strength of the selected seam. This value affects how much the seam will resist bending in relation to the rest of 1230 | Chapter 9 Modifiers the cloth object. A value of 2.0 means that the cloth will have twice the resistance to bending that it would otherwise have (as defined by the object/panel/vertex group properties). Sewing Stiffness The amount of force with which the panels are pulled together at simulation time. A larger value pulls the panels together harder and faster. Cut Applies only to an internal seam line on page 1214. Makes a cut in the fabric at this seam line. Tearable When on, sets the selected seam to be tearable. Default=off. ■ Tear Threshold Sets a threshold value for tearing the seam. This value is equivalent to the Strength value of a Weld constraint at the Group sub-object level on page 1184. Default=10.0. Seam Tolerance The amount of difference in length between two edges that is permitted in the formation of a seam. The two segments that comprise a seam should be about the same length. If they have different lengths, the difference must be within this tolerance range. If you seam together two segments that are significantly different in length, the cloth will tend to bunch up (which could be a desired effect). In order to allow the creation of such a seam, the Seam Tolerance will need to be increased. The default value is 0.06, which means that the two segment lengths must be within 6 percent of each other's lengths. Draw Seams Shows the seams in the viewport; hides them when off. Show Mesh Shows the mesh in the viewport, or hides it to work on your pattern. When this option is off, the mesh is represented with a bounding box. Panels Sub-Object Level (Garment Maker) Select a shape object (spline or NURBS curve). ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Garment Maker ➤ Panels sub-object level ➤ Panels rollout The Panels sub-object level of the Garment Maker modifier lets you position and bend the panels of your pattern to fit your object or figure. You can also use these controls to adjust the texture mapping of your garment. Cloth and Garment Maker Modifiers | 1231 Interface 1232 | Chapter 9 Modifiers Density Controls the mesh density of a selected panel. This value is applied as a multiplier of the Main Parameters rollout ➤ Density setting on page 1223. You can increase the density of a particular panel by raising this value. If Main Parameters rollout ➤ Auto Mesh is off when you change this value, go back to the Main Parameters rollout (Cloth level in modifier stack) and click Mesh It! on page 1224 to update the mesh. For this reason, it is recommended that you leave Auto Mesh on. The only time you might want to turn off Auto Mesh is while creating the seams at the Curves sub-object level. Re-meshing can take some time, so you might want to define a number of seams before re-meshing. Different Density settings applied to separate panels Mat ID Set the material ID for the selected panel. Using this option enables you to assign different materials to select portions of the clothing. Position group Reset Resets the position of the selected panels to their original locations (that is, the locations immediately after Garment Maker was applied). Reset All Resets the position of all panels to their original locations. Deformation group Most controls in this group are available only when one or more panels are selected. Reset Removes the deformation of the selected panels (restoring the flat state). Reset All Removes the deformation from all panels. Cloth and Garment Maker Modifiers | 1233 Use Preserved Turn this on to override the None or Curved deformation options. When on, the panel gets its shape from the preserved mesh instead of the deformation options. None Makes this panel flat. Curved Use the value in the Curvature field to bend the panel. Curvature Sets the amount of curve or bend of a panel. The higher this value is, the more the panel will curve. X-axis Sets the axis for the curvature to the panel's local X axis. Y-axis Sets the axis for the curvature to the panel's local Y axis. Panel Position group These buttons move the selected panel to a specified position. These positions are determined by 3ds Max based on the positions you set with the Mark Points On Figure on page 1226 controls at the Garment Maker object level. The positions are: ■ Front Center ■ Front Right ■ Front Left ■ Back Center ■ Back Right ■ Back Left ■ Right Side ■ Left Side ■ Right Arm ■ Left Arm NOTE The terms Front, Back, Right, and Left refer to the character's orientation. 1234 | Chapter 9 Modifiers Level group Sets where the top of the panel should go. Garment Maker derives these locations from the locations you specify with the Mark Points On Figure on page 1226 controls. The choices are: ■ Top at neck ■ Top at shoulder ■ Top at underarm ■ Top at waist If you change the setting here, it affects the subsequent Panel Position results. Adjusting Texture Coordinates When Garment Maker is in Flat Panels mode (that is, the Main Parameters rollout ➤ Flat Panels option on page 1225is chosen), the texture coordinates are defined by the positions of the panels. Imagine the panels are being cut out of a large piece of fabric. The location and orientation of a panel in that large piece of fabric determine how the texture is aligned on it. By moving and rotating a panel, you can change its texture coordinates. Remember, you must be in Flat Panels mode to do this. Seams Sub-Object Level (Garment Maker) Select a shape object (spline or NURBS curve). ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Garment Maker ➤ Seams sub-object level ➤ Seams rollout At the Seams sub-object level, you can define and edit seams and their properties. Seams behave the same as curves, but at this level the mesh is displayed three-dimensionally instead of in a flat layout. Also, at this level the mesh is always updated when you add or remove a seam. Cloth and Garment Maker Modifiers | 1235 Interface Create Seam Creates a seam between two segments. Select two segments of the panels you would like to sew together and then click Create Seam. This creates a seam between the two panels that will be sewn together at simulation time. Left: Segments selected 1236 | Chapter 9 Modifiers Right: Seam created between the two segments Delete Seam Deletes selected seam. (Selected seam is colored red). Reverse Seam Reverses or flips a seam that has been made with a twist in it. When creating seams, the first vertex on each segment is used to line up the resulting seam panel. Sometimes you can end up with a twisted seam and will need to use Reverse Seam to untwist it. A twisted seam that needs to be reversed Make MultiSegment A MultiSegment is a combination of two or more segments that will be treated as one segment for the purpose of creating seams. Select the segments you want to combine then click this button. Note that if the segments are not contiguous, the gaps must be bridged by seams before this MultiSegment can be used in a seam. Break MultiSegment Break apart selected MultiSegments. On Turns the selected seam on or off, making it active or inactive. Crease angle Creates a crease at the selected seam. The angle value determines the target angle of the crease between the two panels or along an internal seam line on page 1214. Cloth and Garment Maker Modifiers | 1237 Left: High crease angle Right: Low crease angle Crease Strength Specifies the strength of the selected seam. This value affects the extent to which the seam resists bending in relation to the rest of the cloth object. A value of 2.0 means that the cloth will have twice the resistance to bending that it would otherwise have (as defined by the object/panel/vertex group properties). Sewing Stiffness The amount of force with which the panels are pulled together at simulation time. A larger value will pull the panels together harder and faster. Cut This applies only to an internal seam line on page 1214. Makes a cut in the fabric at this seam line. Tearable When on, sets the selected seam to be tearable. Default=off. ■ Tear Threshold Sets a threshold value for tearing the seam. This value is equivalent to the Strength value of a Weld constraint at the Group sub-object level on page 1184. Default=10.0. Seam Tolerance The amount of difference in length between two edges that is permitted in the formation of a seam. The two segments that comprise a seam should be about the same length. If they have different lengths, the difference must be within this tolerance range. If you seam together two segments that are significantly different in length, the cloth will tend to bunch up (which may be a desired effect). In order to allow the creation of such a seam, the Seam Tolerance will need to be increased. The default is 0.06, which means that the two segment lengths must be within 6%. Remove All Deletes all seams. 1238 | Chapter 9 Modifiers Draw Seams Shows the seams in the viewport; hides them when turned off. Show Mesh Show the mesh in the viewport, or hide it to work on your pattern. When this option is off, the mesh is represented with a bounding box. Troubleshooting and Error Codes in Garment Maker When you are working with Garment Maker, you may encounter errors if your splines are set up incorrectly. This topic lists the common error messages you might see, and how to correct the problems they report. Cannot remesh: the number of panels has changed: This error occurs when the user has modified the original pattern, and added new closed splines to it. The only way to correct this is to delete the original Garment Maker modifier and reapply a new one. Number of boundary curves has changed: Users will get this error if they add or remove splines from the pattern after the initial application of Garment Maker. To correct it, delete the original Garment Maker modifier and reapply a new one. Boundary splines do not form a closed loop: In this case, the splines that the user has tried to apply Garment Maker to don't form closed loops. Often, this is caused by an extra vertex and segment attached to one of the splines, and usually this segment is so small you cannot see it. It can be difficult to find the offending part. To remedy this situation, select all the vertices, weld them, then re-break them at the corners. Splines form overlapping loops: When a user gets this error, it means that some panel loops overlap others (in the XY plane of the local view). If you create the shape in the Top view this should not happen (provided you don't create overlapping loops). Most commonly, this occurs when the user create the splines in a viewport other than Top and on a plane other than the XY plane. Unable to create seam: This error happens in when trying to create a seam in two cases: ■ One (or more) of the segments/MultiSegments in the attempted seam forms a closed loop (for example, if you make a MultiSegment from the armhole segments, that MultiSegment forms a closed loop if you create seams at the shoulder and below the armhole). You will have to delete one of the seams so that the MultiSegment is no longer closed. For an armhole, you generally keep the seam below the armhole open when you join it with the sleeve. You can then close the seam. For the same reason, the sleeve cannot be seamed at the underside before joining to the armhole. Cloth and Garment Maker Modifiers | 1239 ■ A MultiSegment in the attempted seam contains segments that are not contiguous and that are not linked by any seam. Seam line topology is wrong: This error usually occurs when you try to make a closed loop into a seam. The loop might be natural, or it might be the result of seams created earlier. For example, when creating a shirt, if you first create the sleeve seam along the length of the sleeve, and then attempt to sew the sleeve to the armhole, this message appears. This is because a loop has been created in the spline that defines the top of the sleeve. The solution in this example is to create the seams in the correct order: 1 Shoulder-front to shoulder-back 2 Sleeve to armhole 3 Side-front to side-back 4 Along the length of the sleeve See Tricky Assemblies on page 1213 for more information. CrossSection Modifier Select a spline object with spline cross sections. ➤ Modifier List ➤ CrossSection Modify panel ➤ Make a selection. ➤ Modifiers menu ➤ Patch/Spline Editing ➤ CrossSection The CrossSection modifier creates a "skin" across multiple splines. It works by connecting the vertices of 3D splines to form a skin. The resulting object is another spline object that can be used with the Surface modifier on page 1711 to create a patch surface. These two modifiers, when used together, are sometimes referred to collectively as “Surface Tools.” 1240 | Chapter 9 Modifiers CrossSection uses splines to create a model of a boat. CrossSection can build a skin across various-shaped splines with different vertex counts and open/closed status. The more different the splines in vertex count and complexity, the more likely the skin will have discontinuity. NOTE Similar functionality is provided by the Editable Spline object on page 554. At the Editable Spline ➤ Segment and Spline sub-object levels, you can create a spline cage using Connect Copy and Cross Section. Using this method, you need to region-select the created vertices to transform them. Also, this method lets you define the ordering of the spline more easily than does the CrossSection modifier. Procedures Example: To explore the CrossSection modifier: 1 On the Create panel, click (Shapes), then click Circle. 2 Drag in the Top viewport to create a circle about 100 units in radius. CrossSection Modifier | 1241 3 On the Modify panel, choose Edit Spline from the Modifier List. 4 In the modifier stack display, turn on Spline sub-object, then select the circle. 5 In the Front viewport, Shift+Move the spline up to copy it. 6 Shift+Move the copy up to create a third circle. NOTE The order that you attach or clone splines is important: this is the order that CrossSection uses to create the skin. 7 On the Modify panel, choose CrossSection from the Modifier List. CrossSection joins the vertices of the three circles. A basic spline cylinder is displayed. 8 On the Modify panel, on the Modifiers List, choose Surface to add the Surface modifier. The spline cylinder is transformed into a patch surface by the Surface modifier. 9 To edit the model's surface, change the splines using controls in the Edit Spline modifier. Or, since the output of the Surface modifier is a patch surface, add an Edit Patch modifier and use patch edit controls to change the surface. 1242 | Chapter 9 Modifiers An Edit Patch modifier above the Surface modifier was used to create the image. Example: Using the CrossSection modifier to skin several splines with different shapes: 1 On the Create panel, click (Shapes). 2 On the Object Type rollout, turn on Start New Shape, then click NGon. 3 In the Top viewport, create two five-sided circular NGons. 4 On the Create panel, with (Shapes) still active, click Line. Create two lines, each with four vertices. Create the vertices left-to-right. CrossSection Modifier | 1243 5 On the main toolbar, click (Select And Move), then move the objects in the viewport to order them along the Z axis, with the NGons at the bottom and the lines above the NGons. 6 Select the bottom NGon. 7 On the Modify panel, choose Edit Spline from the Modifier List. 8 In the Geometry rollout, click Attach. 9 Select the remaining NGon and lines in an ascending order, as numbered in the image. 1244 | Chapter 9 Modifiers NOTE The order of selection is important. The CrossSection modifier uses the selection order to define the skin. Example continued: Lining up the vertices: 1 On the Modify panel, choose the Vertex sub-object level in the stack display. Lining up the first vertex of each spline is important to prevent the surface from twisting. 2 Use Ctrl+click to select the rightmost vertex of each line and the bottommost vertex of each NGon. 3 On the Geometry rollout, click Make First. Aligning the first vertex is important. This is where the seam forks, going from a closed to an open spline. Example continued: Using CrossSection and Surface to "skin" the shapes: 1 On the Modify panel, choose CrossSection from the Modifier List. The CrossSection modifier connects the splines at the vertices. 2 On the Modifiers List, choose Surface. The Surface modifier generates a patch surface based on the splines. 3 In the modifier stack display, choose the CrossSection modifier. CrossSection Modifier | 1245 4 On the CrossSection Parameters rollout, toggle between Linear and Smooth. Notice how the splines change. 5 On the Modify panel, toggle (Show End Result On/Off Toggle) to display the final patch surface. The toggle won’t remain on if the CrossSection modifier is current. Drop down to the Editable Patch in the stack and turn on the Show End Result toggle if you like. TIP When you use CrossSection, draw splines in a consistent direction. A twisted surface results when lines are created from vertices that are not lined up. Interface Linear/Smooth/Bezier/Bezier Corner Determines what type of curve will be used through the spline vertices. Delete Mesh Modifier Modify panel ➤ Make a sub-object selection. ➤ Modifier List ➤ Delete Mesh Modify panel ➤ Make a sub-object selection. ➤ Modifiers menu ➤ Mesh Editing ➤ Delete Mesh Delete Mesh provides parametric deletion based on the current sub-object selection level in the stack. The possible choices are faces, vertices, edges, and 1246 | Chapter 9 Modifiers objects. Apply the Delete Mesh modifier to delete the geometry specified at that sub-object level. Delete Mesh used to remove the faces where the handle joins the cup. For example, you can apply a Mesh Select modifier on page 1445, select a row of faces in a cylinder, and then apply a Delete Mesh modifier to delete those faces. To undo the deletion, you can simply remove the Delete Mesh modifier. TIP Try applying a Delete Mesh modifier following an animated Vol. Select modifier on page 1944. Procedures Example: To delete a row of faces in a cylinder: 1 Create a cylinder on page 336. 2 Apply a Mesh Select modifier and select a row of faces in the cylinder. 3 Apply the Delete Mesh modifier to delete those faces. To undo the deletion, remove the Delete Mesh modifier. Interface This modifier has no parameters. Delete Mesh Modifier | 1247 Delete Patch Modifier Modify panel ➤ Make a patch selection. ➤ Modifier List ➤ Delete Patch Make a selection. ➤ Modifiers menu ➤ Patch/Spline Editing ➤ Delete Delete Patch provides parametric deletion based on the current sub-object level in the stack. The possible choices are vertices, edges, patches, and elements. Apply the Delete Patch modifier to delete the geometry specified at that sub-object level. For example, you can apply a Patch Select modifier, select a row of patches in a patch sphere, and then apply a Delete Patch modifier to delete those patches. To undo the deletion, remove the Delete Patch modifier. Delete Patch used to remove sections of a patch sphere. 1248 | Chapter 9 Modifiers Procedures Example: To delete a patch in a sphere: 1 Create a sphere. 2 Right-click the sphere, and on the quad menu, choose Convert To ➤ Convert To Editable Patch. 3 On the Modify panel, in Editable Patch, choose the Patch sub-object level, and select a patch. 4 In the Modifier List, choose the Delete Patch modifier. This deletes the selected patch. To undo the deletion, remove the Delete Patch modifier. Interface There are no parameters for this modifier. Delete Spline Modifier Modify panel ➤ Select a spline sub-object. ➤ Modifier List ➤ Delete Spline Modify panel ➤ Select a spline sub-object. ➤ Modifiers menu ➤ Patch/Spline Editing ➤ Delete Spline The Delete Spline modifier provides parametric deletion of spline geometry based on the current sub-object selection level in the stack. The possible selection levels include vertices, segments, and splines. Apply the Delete Spline modifier to delete the geometry specified at that sub-object level. Delete Spline Modifier | 1249 Delete Spline used to remove a segment in the middle of a spline. Procedures To use the delete spline modifier: 1 Create a shape that contains multiple splines. 2 Apply a Spline Select modifier on page 1690 and select a section of the spline for deletion. 3 Apply a Delete Spline modifier to delete the section. To undo the deletion, remove the Delete Spline modifier. Interface This modifier has no parameters. 1250 | Chapter 9 Modifiers Disp Approx Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Disp Approx Make a selection. ➤ Modifiers menu ➤ Surface Deformers ➤ Disp Approx Make a selection. ➤ Modifiers menu ➤ NURBS Editing ➤ Disp Approx The Disp Approx modifier (short for Displacement Approximation) lets you make the displacement mapping settings on an object in the modifier stack on page 8776. It converts its input object to an editable mesh on page 2190, so you can use this modifier to add displacement mapping to geometry primitives on page 321 and any other kind of object that can convert to an editable mesh. Disp Approx Modifier | 1251 Using an image to displace the surface of a cylinder Displacement mapping on page 6482 uses a map to change surface geometry. You apply the map using the Material Editor on page 6019. You don't need to apply this modifier to NURBS on page 2433 surfaces, patches on page 2424, editable meshes on page 2190, or editable polymeshes on page 2240, because you can apply displacement mapping directly to these kinds of objects. 1252 | Chapter 9 Modifiers Procedures To apply displacement mapping: 1 Select an object other than a NURBS surface, patch, editable mesh, or editable poly. 2 Apply the Disp Approx modifier. Now you can apply displacement mapping to the object. The Displacement Approx. rollout has parameter that you can adjust, but displacement mapping will work using the default settings. 3 Open the Material Editor. Apply a Standard material to the object. 4 In the material's Maps rollout, click the Displacement button, then use the Material/Map Browser to apply a displacement map. Disp Approx Modifier | 1253 Interface Subdivision Displacement Subdivides mesh faces to accurately displace the map, using the method and settings you specify in the Subdivision Presets and Subdivision Method group boxes. When turned off, the modifier applies the map by moving vertices in the mesh, the way the Displace modifier on page 1255 does. Default=on. Split Mesh Affects the seams of displaced mesh objects; also affects texture mapping. When on, the mesh is split into individual faces before displacing them; this helps preserve texture mapping. When off, texture mapping is assigned using an internal method. Default=on. 1254 | Chapter 9 Modifiers TIP This parameter is required because of an architectural limitation in the way displacement mapping works. Turning Split Mesh on is usually the better technique, but it can cause problems for objects with clearly distinct faces, such as boxes, or even spheres. A box's sides might separate as they displace outward, leaving gaps. And a sphere might split along its longitudinal edge (found in the rear for spheres created in the Top view) unless you turn off Split Mesh. However, texture mapping works unpredictably when Split Mesh is off, so you might need to add a Displace Mesh modifier on page 1005 and make a snapshot on page 888 of the mesh. You would then apply a UVW Map modifier on page 1883 and then reassign mapping coordinates to the displaced snapshot mesh. Subdivision Presets and Subdivision Method group boxes The controls in these two group boxes specify how the modifier applies the displacement map when Custom Settings and Subdivision Displacement are both turned on. They are identical to the Surface Approximation controls on page 2762 used for NURBS surfaces. Displace Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Displace Make a selection. ➤ Modifiers menu ➤ Parametric Deformers ➤ Displace The Displace modifier acts as a force field to push and reshape an object's geometry. You can apply its variable force directly from the modifier gizmo, or from a bitmapped image. Displace Modifier | 1255 Displace used to change the surface in the container There are two basic ways to use the Displace modifier: ■ Apply displacement effects directly by setting Strength and Decay values. ■ Apply the grayscale component of a bitmapped image to generate the displacement. Lighter colors in the 2D image push outward more strongly than darker colors, resulting in a 3D displacement of the geometry. The Displace space warp on page 2964 has similar features. It's useful for applying effects to a large number of objects or a particle system. Force Distribution Displace distributes its force through four different gizmos: Planar, Cylindrical, Spherical, and Shrink Wrap. Gizmos are also used as mapping coordinates for applying bitmaps. Sphere and Shrink Wrap have the same effect when modeling, but differ in the way they map. The Spherical and Shrink Wrap gizmos begin with a uniform field around them. The Cylinder and Planar gizmos are both directional. Cylinder pushes at right angles to its axis, and Planar pushes at right angles to its surface. 1256 | Chapter 9 Modifiers By default, gizmos are centered on the object. However, you can transform any of these shapes and use it directly as a tool to deform the geometry of an object. Modeling Options Displace is a versatile modifier with many possible applications. Here are some options: ■ Produce interior modeling effects by scaling down the gizmo and moving it inside the object. The outward force shapes the geometry from within. ■ Animate the modeling process. One result is a roving, magnetic-like field that pushes and pulls on a surface. ■ Add additional Displace modifiers to an object, using each one to create a different modeling effect. ■ Collapse a finished model into a plain mesh. This reduces the object's complexity and removes all modifiers, but keeps the modeled surface intact. Procedures To displace an object: 1 Select an object and apply the Displace modifier. 2 In the Parameters rollout ➤ Map group, select one of the four gizmo types. 3 In the Displacement group, set values for Strength and Decay. Vary these settings to see the effect of the displacement on the object. Depending on the object and the complexity of the bitmap, you might need to use dense geometry to see the effect clearly. Try a test run and, if necessary, add tessellation in the areas of greatest detail. To apply a bitmap as a displacement map: 1 In the Parameters rollout ➤ Image group, click the Bitmap button (which is labeled "None" until a map has been chosen). Use the file dialog to choose a bitmap. Displace Modifier | 1257 2 Adjust the Strength value. Vary the strength of the field to see the effect of the bitmap displacing the object's geometry. After you get the image you want from bitmapped displacement, you can apply an Optimize modifier on page 1504 to reduce the complexity of the geometry while retaining the detail. To model with the displace modifier: 1 Apply Displace to the object you want to model. Choose a gizmo from the Map group. 2 Increase the Strength setting until you begin to see a change in the object. 3 Scale, rotate, and move the gizmo to concentrate the effect. As you do this, adjust the Strength and Decay settings to fine-tune the effect. Interface Displacement group Strength When set to 0.0, Displace has no effect. Values greater than 0.0 displace object geometry or particles away from the position of the gizmo. Values less than 0.0 displace geometry toward the gizmo. Default=0.0. Decay Varies the displacement strength with distance. By default, Displace has the same strength throughout world space. Increasing Decay causes the displacement strength to diminish as distance increases from the position of the Displace gizmo. This has the effect of concentrating the force field near the gizmo, similar to the field around a magnet repelling its opposite charge. Default=0.0. 1258 | Chapter 9 Modifiers Luminance Center Determines which level of gray Displace uses as the zero displacement value. By default, Displace centers the luminance by using medium (50 percent) gray as the zero displacement value. Gray values greater than 128 displace in the outward direction (away from the Displace gizmo) and gray values less than 128 displace in the inward direction (toward the Displace gizmo). Use the Center spinner to adjust the default. With a Planar projection, the displaced geometry is repositioned above or below the Planar gizmo. Default=0.5. Range=0 to 1.0. Image group Lets you choose a bitmap on page 9108 and map on page 9215 to use for displacement. Both are assigned and removed in the same way. Bitmap button Assigns a bitmap or map from a selection dialog. After you make a valid choice, these buttons display the name of the bitmap or map. This button is labeled "None" until you choose a map. Remove Bitmap/Map Removes the bitmap or map assignment. Blur Increase this value to blur or soften the effect of the bitmapped displacement. Displace Modifier | 1259 Map group Contains mapping parameters for bitmapped displacement. See UVW Map modifier on page 1883. The four mapping modes control how Displace projects its displacement. The type of Displace gizmo and its location in the scene determine the final effect. 1260 | Chapter 9 Modifiers Displace gizmos: Planar, Cylindrical, Spherical, and Shrink Wrap Planar Projects the map from a single plane. Cylindrical Projects the map as if it were wrapped around the cylinder. Turn on Cap to project a copy of the map from the ends of the cylinder. Spherical Projects the map from a sphere, with singularities at the top and bottom of the sphere where the bitmap edges meet at the sphere's poles. Shrink Wrap Projects the map from a sphere, as Spherical does, but truncates the corners of the map and joins them all at a single pole, creating only one singularity at the bottom. Length, Width, Height Specifies the dimensions of the Displace gizmo's bounding box. Height has no effect on Planar mapping. U/V/W Tile Sets the number of times the bitmap repeats along the specified dimension. The default value of 1.0 maps the bitmap exactly once; a value of 2.0 maps the bitmap twice, and so on. Fractional values map a fractional portion of the bitmap in addition to copies of the whole map. For example, a value of 2.5 maps the bitmap two and a half times. Flip Reverses the orientation of the map along the corresponding U, V, or W axis. Use Existing Mapping Has Displace use mapping set earlier in the stack. This has no effect if the object is not mapped. Displace Modifier | 1261 Apply Mapping Applies the Displace UV mapping to the bound object. This lets you apply material maps to the object using the same mapping coordinates as the modifier. Channel group Specifies whether to apply the displacement projection to a mapping channel or a vertex color channel, and which channel to use. For more information on these channels, see UVW Map modifier on page 1883. Map Channel Choose this to specify a UVW channel to use for the mapping, and use the spinner to its right to set the channel number. Vertex Color Channel Choose this to use the vertex color channel for the mapping. Alignment group Contains controls for adjusting the mapping gizmo's size, position, and orientation. X, Y, Z Flips the alignment of the mapping gizmo along its three axes. Fit Scales the gizmo to fit the object's bounding box. Center Centers the gizmo relative to the object's center. Bitmap Fit Displays a Select Bitmap dialog. The gizmo is scaled to fit the aspect ratio of the bitmap you select. Normal Align Turns on Pick mode to let you select a surface. The gizmo is aligned to the normal of that surface. View Align Orients the gizmo in the same direction as the view. 1262 | Chapter 9 Modifiers Region Fit Turns on Pick mode to let you drag two points. The gizmo is scaled to fit the specified area. Reset Returns the gizmo to its defaults. Acquire Turns on Pick mode to let you choose another object and acquire its Displace gizmo settings. Edit Mesh Modifier Create or select an object ➤ Space Modifiers ➤ Edit Mesh Modify panel ➤ Modifier List ➤ Object Create or select an object ➤ Modifiers menu ➤ Mesh Editing ➤ Edit Mesh The Edit Mesh modifier provides explicit editing tools for different sub-object levels of the selected object: vertex, edge, and face/polygon/element. The Edit Mesh modifier matches all the capabilities of the base Editable Mesh object, except that you cannot animate sub-objects in Edit Mesh. See Editable Mesh on page 2190 for a complete parameter reference. When possible, it’s far more efficient and reliable to perform explicit modeling at the Editable Mesh level rather than store those edits within the Edit Mesh modifier. The Edit Mesh modifier must copy the geometry passed to it, and this storage can lead to large file sizes. The Edit Mesh modifier also establishes a topological dependency that can be adversely affected if earlier operations change the topology being sent to it. There are, however, situations where using the Edit Mesh modifier is the preferred method. ■ You want to edit a parametric object as a mesh, but want to retain the ability to modify its creation parameters after the edit. ■ You want to store your edits temporarily within Edit Mesh until you are satisfied with the results, before collapsing them permanently to an editable mesh object. ■ You need to make edits across several objects at once, but do not want to convert them to a single editable mesh object. ■ You have a modifier in the stack that must remain parametric, and the mesh must be edited after the modifier is applied. Edit Mesh Modifier | 1263 NOTE Collapsing an object that has an Edit Mesh modifier applied to it results in an Editable Mesh object. Edit Normals Modifier Select a mesh, patch, spline or NURBS object. ➤ Modifier List ➤ Edit Normals Modify panel ➤ Select a mesh, patch, spline, or NURBS object. ➤ Modifiers menu ➤ Mesh Editing ➤ Edit Normals The Edit Normals modifier gives you explicit and procedural, interactive control over each of an object's vertex normals on page 9237. It is meant to be used primarily with mesh objects destined for output to game engines and other 3D rendering engines that support specified normals. The results are visible in the viewports and in rendered images. The orientation of a vertex normal affects how neighboring surfaces reflect light. By default, normals are set so that reflection of light in 3ds Max follows the rules of real-world physics: The angle of reflection equals the angle of incidence. But by reorienting vertex normals, you can set the angle of reflection to be anything you want. The Edit Normals modifier lets you specify vertex normals' directions, combine and separate them, change the type, and copy and paste values among normals. WARNING Don't apply an Edit Normals modifier to the low-res object used in normal bump projection on page 7320. Normal bump projection relies on the low-res object having standard normals, and altering them causes normal bump maps to have unpredictable results. Types of Normals Three types of normals are available with the Edit Normals modifier: ■ Unspecified: These are the normals that the modifier derives from smoothing groups and initially assigns to the modified mesh vertices. 3ds Max calculates the direction of an unspecified normal based on the average facing of all polygons to which it belongs that are in its smoothing group. By default, each vertex has as many normals as the number of unique smoothing groups used by surrounding polygons. For example, each side of a box uses a different smoothing group by default, so each vertex at which three sides meet (typically a corner) has three different normals: 1264 | Chapter 9 Modifiers one perpendicular to each of the three sides. On the other hand, a sphere uses a single smoothing group, so each of its vertices has one normal, perpendicular to the average facing of the polygons that share it. By default, unspecified normals are displayed as blue. ■ Specified: These are normals that are intended for use by particular corners of particular faces, without regard to smoothing groups. For instance, you might create a box, apply Edit Normals, select a group of normals at a particular vertex, and click Unify. Now those three faces are told specifically to use that one unified normal, and they ignore their smoothing groups at that vertex. But specified normals are not set to explicit values; they ignore smoothing groups, but they're still based on the face normals of the faces that use them. Specified normals are displayed as cyan. ■ Explicit: These are normals that are set to particular values. For instance, if you use the Move or Rotate command to change a normal from its default value, it has to be made explicit, so it won't be recomputed based on the face normals. Explicit normals are green by default. NOTE Explicit normals are also considered to be specified. NOTE A selected normal is always red. When not selected, its color indicates as type, as noted above. You can find the customizable color entries on page 8860 for these normal types in the Elements ➤ Geometry list. The three entry names are: ■ Normals - Explicit ■ Normals - Specified ■ Normals - Unspecified Usage Examples Following are two instances in which a 3D artist creating content for output to a game engine might find practical use for the Edit Normals modifier: ■ An artist is working on a knight with a chrome shield. The chrome shield has a DirectX cube map shader on page 9302 on it so that the artist can see the reflections in the viewport. The artist would like to make the reflections in the shield look "dented" by fights in battle. The artist applies the Edit Normals modifier to the shield object. He then adjusts several of the normals slightly, viewing the results in real time, thanks to the pixel shader. He then exports the character with a custom export tool designed to handle normal information. Edit Normals Modifier | 1265 ■ A game artist is working on an object that will explode in the game. To do this, the game engine requires the object to be split into multiple objects: the broken pieces that will result from the explosion. When the object is broken apart in 3ds Max (using Slice), the normals are pointing in different directions; this makes it easy to see the seams between the broken pieces. To fix this, the artist selects all the pieces of the breaking object and applies the Edit Normal modifier to all of them at once. She then selects the normals across the seam and unifies them so they are pointing in the same direction. The artist then exports to the game engine. Usage Notes Please observe the following notes and precautions when using the Edit Normals modifier: ■ Edit Normals supports both poly objects (polygon-based) and mesh objects (triangle-based). If you apply Edit Normals to a poly object, the result is a poly object. If you apply Edit normals to any other object type, the result is a mesh object. ■ Edit Normals also supports embedding of edited-normal data when collapsing the stack, and when converting from poly object to mesh object, but not when converting from a mesh object to any other object type. If you apply Edit Normals to a primitive object, adjust the normals, and then collapse the stack (or convert to Editable Mesh), 3ds Max embeds any changes to the normals in the mesh object, including selection status. Primitive objects are mesh-based, so if you convert the same object to Editable Poly, the edited normals are lost. On the other hand, if you convert a primitive object to Editable Poly, apply Edit Normals, adjust the normals, and then collapse the stack, resulting in a poly object, the normals are retained. You can subsequently regain access to embedded, edited normals in a collapsed object by applying another Edit Normals modifier. ■ Any modifiers that change topology will remove changes applied to the normals with the Edit Normals modifier. These include MeshSmooth, Tessellate, Slice, Mirror, Symmetry, Face Extrude, and Vertex Weld. Oddly enough, it also means that the Normal modifier (used to flip face orientations) will not support the edited normals. Since Turn To Poly can be used to modify face topology, it also strips off the edited normals. ■ All compound objects strip off the edited normals from their operands. ■ The good news: All deformation and map modifiers preserve the normals. For instance, if you apply a Bend, the normals should be bent along with 1266 | Chapter 9 Modifiers the geometry. Map modifiers, such as Unwrap UVW, won't affect the normals at all. ■ However, a few geometric modifiers do not fully support the new normals. They won't strip them away, but neither will they correctly deform any explicit normals. Modifiers in this category include Push and Relax. ■ The Smooth modifier correctly modifies any non-specified normals, while leaving the specified and explicit normals alone. ■ Like Mesh Select and Poly Select, Edit Normals “inherits” attributes from below it in the stack. For example, if you create a box, apply an Edit Normals modifier, change some normals, and then apply a second Edit Normals modifier, the top Edit Normals "inherit" the user-specified normals from the pipeline, just as Mesh Select adopts the current selection when you apply it. But the top Edit Normals modifier ignores any subsequent changes to the original Edit Normals modifier, just as Mesh Select ignores any changes made to the selection below it in the stack after it is applied. Edit Normals Modifier | 1267 Interface The Edit Normals modifier is useful mainly at the sub-object level, Normal, so this level is active by default as soon as you apply the modifier to an object. At this point, you can see the normals as lines emanating from the mesh vertices, select and transform them, copy and paste them, and change their settings on the Modify panel. You can transform normals only by moving and rotating them, not by scaling them. However, moving a normal effectively rotates it, so in most cases you'll have better control by using the Rotate tool. The following command reference includes keyboard shortcuts, which are available when the Keyboard Shortcut Override Toggle on page 9008 (on the toolbar) is on. In addition, you can use Ctrl+0 (zero) to access the object level of the modifier. 1268 | Chapter 9 Modifiers Select By group Lets you specify how to select normals in the viewport: ■ Normal (Ctrl+1): Click a normal to select it. ■ Vertex (Ctrl+2): Click a mesh vertex to select all of its normals. ■ Edge (Ctrl+3): Click a mesh edge to select the normals associated with the neighboring polygons. ■ Face (Ctrl+4): Click a mesh face (or polygon) to select the associated normals. Of course, with all of these methods, you can also use region selection to select multiple normals at once. Ignore Backfacing When on, selection of sub-objects affects only those facing you. When off (the default), you can select any sub-object(s) under the mouse cursor, regardless of their visibility or facing. If there are more than one sub-object under the cursor, repeated clicking cycles through them. Likewise, with Ignore Backfacing off, region selection includes all sub-objects, regardless of the direction they face. Show Handles Enables the display of handles, which are small squares at the end of each normal. Turn this on to make it easier to select normals. Display Length Specifies the length of each normal. This is for display purposes only; the length has no effect on the normal's functionality. Unify (U) Combines all selected normals at each vertex into a single specified normal on page 1264 . By default, with Unify/Break To Average off, Unify sets the direction for each unified normal to be perpendicular to the averaged surface at that point. With Unify/Break To Average on, Unify sets the direction be the average of the combined normals at each location. Break (B) Separates all selected, unified normals into their original components. With Unify/Break To Average off, Break orients each separated normal perpendicular to its respective face, thus splaying out the normals at each vertex if the connected faces are at different angles (as with a sphere). With Unify/Break To Average on, each separated normal uses the orientation of the original normal. Break converts any selected normals to specified normals. Unify/Break to Average Determines normal orientation as the result of a Unify or Break operation. See the descriptions above for details. Default=off. Edit Normals Modifier | 1269 Average group These controls give you different methods of averaging vertex normals; that is, setting them all to the same absolute angle, which is the average of their combined angles. Selected Sets selected normals to the same absolute angle: the average angle of all of them. If Use Threshold is on, averages only normals whose distance from each other is less than that specified in the Average Threshold spinner (to the button's right). Use Threshold Activates the Average Threshold setting, and causes the Selected to average only normals whose distance from each other is less than the specified value. Target Enters an interactive mode in which you specify pairs of normals to average. Click Target, and then select a normal. When the mouse cursor is over a normal, it changes to a + symbol. After clicking the first normal, a rubber-band dashed line connects the normal to the mouse cursor. Click a second normal to average the angles of the two normals. The Pixels spinner next to the Target button sets the maximum distance in screen pixels between the mouse cursor and the target normal. _____ Copy Value (Ctrl+C) Copies the selected normal's orientation to the copy buffer. Available only when a single normal is selected. Use Copy Value and Paste Value to apply a normal's orientation to one or more others within the same Edit Normals modifier. You cannot copy normals between modifiers. Paste Value (Ctrl+V) Applies the paste buffer contents to the current selection. Available only after Copy Value has been used to place a normal's orientation in the copy, and one or more target normals are selected. Specify (S) Converts selected normals to specified normals on page 1265. Reset (R) Causes all selected normals to revert to unspecified on page 1264 status, and returns them to their initial, calculated positions. Also breaks apart unified normals. Make Explicit (E) Converts selected normals to explicit normals on page 1265. [Selection Display] When one normal is selected, shows its ID number. When 0 or more than one normal is selected, shows the number of normals selected. 1270 | Chapter 9 Modifiers Edit Patch Modifier Create or select an object ➤ Space Modifiers ➤ Edit Patch Modify panel ➤ Modifier List ➤ Object Create or select an object ➤ Modifiers menu ➤ Patch/Spline Editing ➤ Edit Patch The Edit Patch modifier provides editing tools for different sub-object levels of the selected object: vertex, handle, edge, patch, and element. The Edit Patch modifier matches all the capabilities of the base Editable Patch object, except that you cannot animate sub-objects in Edit Patch. See Editable Patch on page 2374 for a parameter reference. Other than the inability to animate sub-objects with Edit Patch, the main difference between Edit Patch and Editable Patch is that the modifier incorporates the ability of the Surface modifier to generate a patch object from a spline cage. For details, see Spline Surface on page 1272. When possible, it’s far more efficient and reliable to perform explicit editing on an Editable Patch object rather than store those edits within the Edit Patch modifier. The Edit Patch modifier must copy the geometry passed to it, and this storage can lead to large file sizes. The Edit Patch modifier also establishes a topological dependency that can be adversely effected if earlier operations change the topology being sent to it. There are, however, situations where using the Edit Patch modifier is the preferred method. ■ You want to edit a parametric object as a patch, but want to retain the ability to modify its creation parameters after the edit. ■ You want to store your edits temporarily within Edit Patch until you are satisfied with the results, before committing them permanently to an editable patch. ■ You want to streamline your workflow with the Spline Surface tools, which are unique to Edit Patch. ■ You need to make edits across several patch objects at once, but do not want to convert them to a single editable patch object. ■ You have a modifier in the stack that must stay parametric, and the resulting patch must be edited after the modifier is applied. Edit Patch Modifier | 1271 Procedures To create a patch object using the Cross Section and Spline Surface tools: This procedure describes how to simplify the workflow of building objects using a spline cage to which a patch surface is applied, a method described in the Surface modifier on page 1711 topic as “Surface Tools.” 1 Create a spline object. Make sure that the spline vertices form valid three-sided or four-sided polygons. Vertices on splines that cross one another should be coincident. To make spline vertices coincident, drag vertices over each other with 3D Snap turned on. 3D Snap must have the Vertex or End Point option turned on. With 3D Snap turned on, you can snap to vertices on existing splines as you create new splines. You can also select vertices and use the Fuse option in an Editable Spline to make vertices coincident. 2 Convert the spline object to an Editable Spline, if necessary, or apply an Edit Spline modifier. 3 Use the Cross Section command on page 567 in Edit/Editable Spline to add splines connecting different splines in the spline object, thus creating a spline cage. 4 Apply the Edit Patch modifier to the spline object. By default, in Edit Patch the Geometry rollout ➤ Spline Surface group ➤ Generate Surface option is on, causing the modifier to create patches over all valid three- and four-sided polygons in the spline cage. 5 Adjust the Spline Surface settings and edit the object as necessary. If you modify the spline object, for best results, edit at the Vertex sub-object level, and be sure to select all vertices at an intersection before moving them. Interface 1272 | Chapter 9 Modifiers Spline Surface group The Geometry rollout ➤ Spline Surface group is found only in the Edit Patch modifier; it's not available in the Editable Patch object. The group becomes available when the object to which the Edit Patch modifier is applied consists of splines. Its controls replicate the functionality of the Surface modifier on page 1711. For best results, apply the Spline Surface controls after creating a spline cage with the CrossSection modifier on page 1240 or the Editable Spline Cross Section command on page 567. The latter approach approximates the Surface Tools workflow (described in the Surface Modifier topic), but with a simpler modifier stack; instead of additional CrossSection and Surface modifiers, the stack need contain only an Editable Spline object and an Edit Patch modifier. Alternatively, you can use the Edit Spline modifier's Cross Section command. Generate Surface Creates a patch surface using existing splines to define the patch edges. Default=on. Threshold Determines the overall distance that is used to weld the vertices of the spline object. All vertices/vectors within the threshold distance of each other are treated as one. Threshold uses units set in the Units Setup dialog on page 8955. Default=1.0. NOTE Spline control handles are also treated as vertices, so setting high Threshold levels can produce unexpected results. Flip Normals Reverses the facing direction of the patch surface. Default=off. Remove Interior Patches Removes interior faces of an object that you would not normally see. These are the faces created within the caps or other interior patches of the same type of a closed polygon. Default=on. Use Only Selected Segs Only segments selected in the Edit Spline modifier or the editable spline object will be used by the Surface modifier to create patches. Default=off. NOTE Segment Sub-Object does not have to be left on in the Edit Spline modifier or editable spline object. Edit Patch Modifier | 1273 Edit Poly Modifier Create or select an object. ➤ Object-Space Modifiers ➤ Edit Poly Modify panel ➤ Modifier List ➤ Create or select an object. ➤ Modifiers menu ➤ Mesh Editing ➤ Edit Poly Create or select an object. ➤ modeling ribbon on page 1978 ➤ Polygon Modeling panel ➤ Apply Edit Poly Mod The Edit Poly modifier provides explicit editing tools for different sub-object levels of the selected object: vertex, edge, border, polygon, and element. The Edit Poly modifier includes most capabilities of the base Editable Poly object, except for Vertex Color information, Subdivision Surface rollout, Weight and Crease settings, and Subdivision Displacement rollout. Edit Poly lets you animate sub-object transforms and parameter changes. In addition, because it's a modifier, you can retain the object creation parameters and change them later. For detailed information about animating with Edit Poly, see these procedures on page 1281. Edit Poly gives you these options: ■ Transform or Shift+Clone the selection, as with any object. ■ Use the options supplied on the Edit rollouts to modify the selection or object. Later topics discuss these options for each of the polymesh components. ■ Pass a sub-object selection to a modifier higher in the stack. You can apply one or more standard modifiers to the selection. TIP You can exit most Edit Poly command modes, such as Extrude, by right-clicking in the active viewport. Overriding Actions with Press/Release Keyboard Shortcuts While working with poly objects, you can use a “press/release keyboard shortcut” to temporarily override the current operation and perform a different one. As soon as you release the keyboard shortcut, you return to the previous operation. For example, you might be working at the Polygon sub-object level, moving polygons, and need to rotate the object to access a different part of it. Instead of having to exit the Polygon sub-object level, rotate the object and then 1274 | Chapter 9 Modifiers re-enter the sub-object level, you could simply press and hold 6, rotate the object, release the key, and immediately return to moving polygons. To see a list of press/release keyboard shortcuts, go to Customize ➤ Customize User Interface ➤ Keyboard panel, open the Group drop-down list, and choose Edit Poly or Editable Poly. The actions in boldface are the ones that you can assign as press/release shortcuts. Not all are assigned; for information about assigning keyboard shortcuts, see Keyboard Panel on page 8837. The actions in boldface can function as press/release shortcuts. Differences Between Edit Poly and Editable Poly Functionality in Edit Poly is mostly the same as that of Editable Poly. Please note the following differences: ■ Edit Poly is a modifier, with all properties that modifier status entails. These include the ability to place Edit Poly above a base object and other modifiers on the stack, to move the modifier to different locations in the stack, and to apply multiple Edit Poly modifiers to the same object, each containing different modeling or animation operations. ■ Edit Poly has two distinct modes of operation: Model and Animate. See Edit Poly Mode rollout on page 1284. ■ Edit Poly eliminates the Full Interactivity switch; this feature is on all the time. Edit Poly Modifier | 1275 ■ Edit Poly provides two new ways of obtaining an existing selection from lower in the stack: Use Stack Selection on page 1291 and Get Stack Selection on page 1298. ■ In addition to the caddies on page 2338 in common with Editable Poly, Edit Poly gives you an Align Geometry dialog on page 1366, available from the Settings button on the Edit Poly Mode rollout on page 1284. ■ Edit Poly lacks Editable Poly's Subdivision Surface and Subdivision Displacement rollouts. There are no Weight or Crease settings for vertices, edges, or borders. If you need to use Weight and Crease settings with Edit Poly, apply a Meshsmooth modifier on page 1450, set Iterations to 0, and then make the settings as desired. Also, there is no provision for setting vertex properties such as color. ■ In Animate mode, you begin a slice operation by clicking Slice, not Slice Plane. You still need to click Slice Plane to move the plane around. You can animate the slice plane. ■ In some cases, several Undo commands on page 217 might be required to revert from changes made with certain Edit Poly operations, such as Extrude. For example, if you extrude a polygon using the Extrude Polygons dialog on page 2358, there will be three Undo actions. The first undoes the Commit, which happens automatically when you click the dialog OK button at the end; the second undoes the change in height (from 0 to the height you set); and the third undoes the entry into the Extrude operation. Following is a table showing the Edit Poly functions that are and are not animatable. Functions that are not animatable are unavailable in Animate mode. Functions marked “Yes” can be animated explicitly in Animate mode. Functions marked “Proc” cannot be animated explicitly, but can be animated procedurally. This means they can be applied to different parts of the Edit Poly object at different points in the animation by means of an animated sub-object selection passed up the stack. For further information, see this procedure on page 1282. Function Animatable? Transform sub-objects Yes Shift+Transform sub-objects Yes Constraints No 1276 | Chapter 9 Modifiers Function Animatable? Preserve UVs No By Vertex No Ignore Backfacing No Ring No Loop No Shrink No Grow No Selection conversion No Named Selection copy/paste No Soft Selection (most settings) Yes (but not painting soft selection) Shaded Face toggle No Delete Proc Create Vertex No Create Face No Create Edge No Collapse Proc Attach / Attach List No Detach No Slice Yes Quickslice No Cut No Edit Poly Modifier | 1277 Function Animatable? MSmooth Proc Tessellate Proc Make Planar Proc View Align Yes Grid Align Yes Relax Yes Hide Selected No Hide Unselected No Unhide All No Remove Proc Break Proc Extrude Yes Chamfer Yes Bridge Yes Weld (selected) Proc (can animate Weld Threshold) Target Weld No Connect Yes Remove Isolated Vertices Proc Remove Unused Map Verts Proc Remove Yes Split Yes 1278 | Chapter 9 Modifiers Function Animatable? Insert Vertex No Weld (selected) Yes (Threshold) Target Weld No Connect (Vertex) Proc Connect (Edge) Yes Create Shape No Edit Triangulation No Cap Proc Insert Vertex No Extrude Yes Bevel Yes Outline Yes Inset Yes Retriangulate Proc Flip Proc Hinge from Edge Yes Extrude Along Spline Yes Set Material ID Yes Select by Material ID No Set Smoothing Group Yes Select by Smoothing Group No Edit Poly Modifier | 1279 Function Animatable? Auto Smooth Proc Edit Poly Workflow Edit Poly differs from other Edit modifiers in 3ds Max in that it provides two different modes, available on the Edit Poly Mode rollout: one for modeling and another for animating. By default, Edit Poly operates in Model mode, whose functionality is mostly the same as that of Editable Poly. Alternatively, you can work in Animate mode, which makes available only functions that you can animate. Each Edit Poly modifier can preserve any number of keyframes animating a single operation type, such as transforming faces, on the same sub-object selection. To animate other parts of the object, or to animate a different operation on the same sub-object selection, just use another Edit Poly modifier. You’ll find functions specific to the active sub-object level on a special rollout, leaving the Edit Geometry rollout with functions that can be used at most sub-object levels, as well as at the object level. Also, many commands are accompanied by a Settings button, which gives you a second way to use the command: ■ In Direct Manipulation mode, activated by clicking the command button, you apply the command by manipulating sub-objects directly in the viewport. An example of this is Extrude: You click the Extrude button, and then click and drag sub-objects in the viewports to extrude them. NOTE Some buttons, such as Tessellate, operate on the mesh immediately, with no viewport manipulation required. ■ Interactive Manipulation mode is well suited to experimentation. You activate this mode by clicking the command's Settings button. This opens a non-modal settings interface (typically a caddy on page 2339) and places you in a preview mode, where you can set parameters and see the results immediately in the viewport on the current sub-object selection. You can then accept the results or cancel the operation. Alternatively, you can apply the settings to the current sub-object selection and then make one or more subsequent selections and apply or change the settings. Make the selection, optionally change the settings, click Apply And Continue, and then repeat with a different selection. 1280 | Chapter 9 Modifiers IMPORTANT When you click Apply And Continue, the settings are “baked into” the selection, and then applied again to the selection as a preview. If you then click OK to exit, you will have applied the settings twice. If your intention is to apply them only once, simply click OK the first time, or click Apply And Continue and then Cancel. NOTE Changes implemented in Interactive Manipulation mode with editable poly objects cannot be animated. However, they can with Edit Poly objects. See also: ■ Poly Select Modifier on page 1529 ■ Turn To Poly Modifier on page 1779 ■ Editable Poly Surfaceeditable poly on page 2240 Procedures To animate an Edit Poly operation on a sub-object selection: 1 Select an object. 2 Apply the Edit Poly modifier. 3 Go to the first frame at which to set a key and turn on Key). 4 On the 5 (Auto Modify panel ➤ Edit Poly Mode rollout, choose Animate. Make a sub-object selection. 6 Perform an operation on the selection, such as a transform or extrusion. 7 Proceed to the next keyframe and continue to change settings for the current operation and sub-object selection. Edit Poly Modifier | 1281 If you change the selection, the existing animation is applied to the new selection, and lost from the previous one. If you change the operation, any changes from the previous animation are frozen (that is, “baked” into the model) at the current frame, and only new keyframes are recorded in the current Edit Poly modifier. To animate different sub-object selections using different operations, use multiple applications of the Edit Poly modifier. To apply an Edit Poly operation to an animated sub-object selection: This procedure demonstrates procedural animation with Edit Poly: the ability to change the location of application on an object during an animation using an existing, animated sub-object selection. 1 Select an object. 2 Create an animated sub-object selection. One way to do this is to apply a Volume Select modifier on page 1944 and animate the gizmo's transform, or animate the modifier effect by using an animated texture map. 3 Apply the Edit Poly modifier. 4 Go to the same sub-object level in Edit Poly, and then, on the Selection rollout, turn on Use Stack Selection. 5 Scrub the time slider. The animated selection appears on the Edit Poly object. 6 On the Modify panel ➤ Edit Poly Mode rollout, choose Animate. 7 Perform an operation on the sub-object selection, such as a chamfer or extrusion. You don’t need to turn on Auto Key or use Set Key. NOTE With Use Stack Selection on, you can't change the selection. Now, when you play the animation, the Edit Poly effect moves along with the animation of the sub-object selection. If you decide to animate a different function procedurally, first click Edit Poly Mode rollout ➤ Cancel. 1282 | Chapter 9 Modifiers Example: To apply an Edit Poly operation procedurally to an animated model: Edit Poly lets you layer an animated sub-object operation on top of an existing animation. Try this brief example: 1 Create an animated model, such as a box with an animated Bend modifier. 2 Apply an Edit Poly modifier, and on the Edit Poly Mode rollout, choose Animate. Also turn on (Auto Key). 3 Go to the Polygon sub-object level. 4 Go to frame 20 and extrude a polygon. 5 Play the animation. The extrusion animation plays “on top” of the existing animation. This isn't possible with the Edit Mesh modifier. Interface Stack Display For more information on the stack display, see Modifier Stack on page 8776. Show End Result Because Edit Poly is a modifier, if you apply further modifiers and then return to the Edit Poly stack entry, Show End Result is on by default, and you can still see the results of any modifiers above Edit Poly on the stack. This is different from the Editable Poly object, where if you apply a modifier such as Symmetry on page 1752 and then return to the Editable Poly stack entry, you cannot see the effect of the modifier on the object's geometry. While at a sub-object level, if you turn on Show Cage on the Edit Poly Mode rollout, you can see the final object as a white mesh, the original sub-object selection as a yellow mesh, and the original Edit Poly object as an orange mesh. Edit Poly Modifier | 1283 Edit Poly Mode rollout This rollout provides access to Edit Poly's two modes of operation: Model, for modeling, and Animate, for animation of modeling effects. For example, you can animate the Taper and Twist settings for polygons extruded along a spline. During and between sessions, 3ds Max remembers the current mode for each object separately. The same mode remains active at all sub-object levels. Edit Poly Mode also gives you access to the current operation's caddy on page 2338, if any, and lets you commit to or cancel out of modeling and animation changes. Model Lets you model using the Edit Poly functions. Operations in Model mode cannot be animated. Animate Lets you animate using the Edit Poly functions. In addition to choosing Animate, you must turn on Auto Key on page 8679 or use Set Key on page 8682 for animating sub-object transforms and parameter changes. Alternatively, in Animate mode you can apply a single command, such as Extrude or Chamfer, to an animated sub-object selection passed up the stack. TIP If you use Set Key to animate with Edit Poly, be sure to turn on Key Filters ➤ Modifiers. 1284 | Chapter 9 Modifiers NOTE The Edit Poly modifier can store any number of keyframes animating a single operation, such as transforming polygons, on the same sub-object selection. Use additional Edit Poly modifiers to: ■ animate other parts of the object ■ animate repeated applications of the same operation on the same sub-object selection ■ animate repeated applications of a different operation on the same sub-object selection For example, say you want to animate a polygon extruding from an object from frame 1 to 10, and then moving back to the original position over the next 10 frames. You can accomplish this with a single Edit Poly modifier using the Extrude function, setting one keyframe at 10 and another at 20. However, say you want to animate a polygon extruding outward, and then animate movement of one of the resultant side polygons. In that case, you'd need two Edit Poly modifiers: one for the extrusion, and another for the poly transform. TIP While modeling in Animate mode, you can use Commit on page 1285 to freeze the animation at the current frame. [label] Shows the current command, if any. Otherwise, it shows . When you're working in Model mode using direct manipulation (that is, working in the viewports), the label shows the current operation during drag operations, and then returns to the unavailable state. When you're working in Model mode using a caddy on page 2338, or in Animate mode using direct manipulation or a caddy, the label continually shows the current operation. Commit In Model mode, using a caddy, accepts any changes and closes the caddy (same as the OK button on the caddy). In Animate mode, freezes the animated selection in its state at the current frame and closes the dialog. Any existing keyframes are lost. TIP Commit lets you use animation as a modeling aid. For example, you could animate a vertex selection between two positions, scrub between the two to find a suitable in-between position, and then use Commit to freeze the model at that point. Settings Toggles the caddy on page 2338 for the current command. Edit Poly Modifier | 1285 Cancel Cancels the most recently used command. Show Cage Toggles the display of a two-color wireframe that shows the editable poly object before modification or subdivision. The cage colors are shown as swatches to the right of the check box. The first color represents unselected sub-objects, and the second color represents selected sub-objects. Change a color by clicking its swatch. The Show Cage toggle is available only at sub-object levels. The cage displays the original structure of the edited object. Typically this feature is used in conjunction with the MeshSmooth modifier on page 1450 because it lets you easily toggle visibility of the unsmoothed base object while simultaneously viewing the smoothed result, but it works with any modifier. TIP Show Cage is also particularly helpful when used with the Symmetry modifier on page 1752. Selection rollout The Selection rollout provides tools for accessing different sub-object levels and display settings and for creating and modifying selections. See Selection Rollout (Edit Poly Modifier) on page 1287. 1286 | Chapter 9 Modifiers Soft Selection rollout Soft Selection controls apply a smooth falloff between selected sub-objects and unselected ones. When Use Soft Selection is on, unselected sub-objects near your selection are given partial selection values. These values are shown in the viewports by means of a color gradient on the vertices, and optionally on the faces. They affect most types of sub-object deformations, such as the Move, Rotate, and Scale functions and any deformation modifiers (such as Bend) applied to the object. This provides a magnet-like effect with a sphere of influence around the selection. For more information, see Soft Selection Rollout on page 1966. Edit (sub-object) rollout The Edit (sub-object) rollouts provide sub-object-specific functions for editing an Edit Poly object and its sub-objects. For specific information, click any of the following links: Edit Poly (Object) on page 1299 Edit Poly (Vertex) on page 1301 Edit Poly (Edge) on page 1310 Edit Poly (Border) on page 1331 Edit Poly (Polygon/Element) on page 1338 Edit Geometry rollout The Edit Geometry Rollout (Polymesh and Edit Poly)edit geometry rollouteditable polyeditable polyedit geometry rollout on page 1352provides global functions for editing an Edit Poly object and its sub-objects. Paint Deformation rollout Paint Deformation lets you stroke elevated and indented areas directly onto object surfaces. For more information, see Paint Deformation Rollout (Polymesh)editable polypaint deformation rolloutedit polypaint deformation rolloutrolloutspaint deformationpaint deformation rollout on page 2334. Selection Rollout (Edit Poly Modifier) Select an Edit Poly object. ➤ Modify panel ➤ Selection rollout Edit Poly Modifier | 1287 The Selection rollout provides tools for accessing different sub-object levels and display settings and for creating and modifying selections. It also displays information about selected entities. When you first access the Modify panel with an Edit Poly object selected, you're at the Object level, with several functions available as described in Edit Poly (Object) on page 1299. You can toggle the various sub-object levels and access relevant functions by clicking the buttons at the top of the Selection rollout. Clicking a button here is the same as choosing a sub-object type in the modifier stack display. Click the button again to turn it off and return to the Object selection level. Converting Sub-object Selections You can convert sub-object selections in three different ways with the use of the Ctrl and Shift keys: ■ To convert the current selection to a different sub-object level, clicking a sub-object button on the Selection rollout with Ctrl held down. This selects all sub-objects at the new level that touch the previous selection. For example, if you select a vertex, and then Ctrl+click the Polygon button, all polygons that use that vertex are selected. ■ To convert the selection to only sub-objects all of whose source components are originally selected, hold down both Ctrl and Shift as you change the level. For example, if you convert a vertex selection to a polygon selection with Ctrl+Shift+click, the resultant selection includes only those polygons all of whose vertices were originally selected. ■ To convert the selection to only sub-objects that border the selection, hold down Shift as you change the level. The selection conversion is inclusive, meaning: ■ When you convert faces, the resulting selection of edges or vertices all belong to selected faces that bordered unselected faces. Only the edges or vertices that bordered unselected faces are selected. 1288 | Chapter 9 Modifiers Face selection (left) converted to vertex border (center) and edge border (right) ■ When you convert vertices to faces, the resulting selection of faces had all of their vertices selected and bordered unselected faces. When you convert vertices to edges, the resulting selection contains only edges all of whose vertices were previously selected and only edges of faces that did not have all vertices selected; that is, of faces around the border of the vertex selection. Vertex selection (left) converted to edge border (center) and face border (right) ■ When you convert edges to faces, the resulting selection of faces had some but not all of their edges selected, and were next to faces with no edges selected. When you convert edges to vertices, the resulting vertices are on previously selected edges, but only at intersections where not all edges were selected. Edit Poly Modifier | 1289 Edge selection (left) converted to face border (center) and vertex border (right) NOTE Conversion commands are also available from the quad menu. Interface Vertex Accesses the Vertex sub-object level, which lets you select a vertex beneath the cursor; region selection selects vertices within the region. 1290 | Chapter 9 Modifiers Edge Accesses the Edge sub-object level, which lets you select a polygon edge beneath the cursor; region selection selects multiple edges within the region. Border Accesses the Border sub-object level, which lets you select a sequence of edges that borders a hole in the mesh. A border comprises only connected edges with faces on only one side of them, and is always a complete loop. For example, a default box primitive doesn't have a border, but the teapot object has a couple of them: one each on the lid, the body, and the spout, and two on the handle. If you create a cylinder and delete one end, the row of edges around that end forms a border. When Border sub-object level is active, you can't select edges that aren't on borders. Clicking a single edge on a border selects that whole border. You can cap a border, either with the Cap function on page 1334 or by applying the Cap Holes modifier on page 1124. You can also connect borders between objects with the Connect compound object on page 628. NOTE The Edge and Border sub-object levels are compatible, so if you go from one to the other, any existing selection is retained. Polygon Accesses the Polygon sub-object level, which lets you select polygons beneath the cursor. Region selection selects multiple polygons within the region. Element Accesses the Element sub-object level, which lets you select all contiguous polygons in an object. Region selection lets you select multiple elements. NOTE The Polygon and Element sub-object levels are compatible, so if you go from one to the other, any existing selection is retained. Use Stack Selection When on, Edit Poly automatically uses any existing sub-object selection passed up the stack, and prevents you from manually changing the selection. Edit Poly Modifier | 1291 By Vertex When on, you can select sub-objects only by selecting a vertex that they use. When you click a vertex, all sub-objects that use the selected vertex are selected. Not available at the Vertex sub-object level. Ignore Backfacing When on, selection of sub-objects affects only those facing you. When off (the default), you can select any sub-object(s) under the mouse cursor, regardless of their visibility or facing. If there are more than one sub-object under the cursor, repeated clicking cycles through them. Likewise, with Ignore Backfacing off, region selection includes all sub-objects, regardless of the direction they face. NOTE The state of the Backface Cull on page 145 setting on the Display panel does not affect sub-object selection. Thus, if Ignore Backfacing is off, you can still select sub-objects even if you can't see them. By Angle When on, selecting a polygon also selects neighboring polygons based on the angle setting to the right of the check box. This value determines the maximum angle between neighboring polygons to select. Available only at the Polygon sub-object level. For example, if you click a side of a box and the angle value is less than 90.0, only that side is selected, because all sides are at 90-degree angles to each other. But if the angle value is 90.0 or greater, all sides of the box are selected. This function speeds up selection of contiguous areas made up of polygons that are at similar angles to one another. You can select coplanar polygons with a single click at any angle value. Shrink Reduces the sub-object selection area by deselecting the outermost sub-objects. If the selection size can no longer be reduced, the remaining sub-objects are deselected. Grow Expands the selection area outward in all available directions. For this function, a border is considered to be an edge selection. 1292 | Chapter 9 Modifiers With Shrink and Grow, you can add or remove neighboring elements from the edges of your current selection. This works at any sub-object level. Ring Expands an edge selection by selecting all edges parallel to the selected edges. Ring applies only to edge and border selections. TIP You can select an edge ring quickly by selecting an edge and then Shift+clicking another edge in the same ring. Edit Poly Modifier | 1293 Ring selection adds to the selection all the edges that are parallel to the ones selected originally. TIP After making a ring selection, you can use Connect on page 1326 to subdivide the associated polygons into new edge loops. [Ring Shift] The spinner next to the Ring button lets you move the selection in either direction to other edges in the same ring; that is, to neighboring, parallel edges. If you have a loop selected, you can use this function to select a neighboring loop. Applies only to Edge and Border sub-object levels. 1294 | Chapter 9 Modifiers Left: Original loop selection Upper right: Ring Shift up moves selection outward (from center of model). Lower right: Ring Shift down moves selection inward (toward center of model). To expand the selection in the chosen direction, Ctrl+click the up or down spinner button. To shrink the selection in the chosen direction, Alt+click the up or down spinner button. NOTE When the Select And Manipulate on page 2868 tool is active at the Edge sub-object level, the caddy appears in the viewport with a control for Ring Shift: . For instructions for using the caddy, see The Caddy Interface on page 2339. Edit Poly Modifier | 1295 Loop Expands an edge selection as far as possible, in alignment with selected edges. Loop selection propagates only through four-way junctions. TIP You can select a loop quickly at any sub-object level except Element by selecting a sub-object and then Shift+clicking another sub-object in the same loop. Loop selection extends your current edge selection by adding all the edges aligned to the ones selected originally. [Loop Shift] The spinner next to the Loop button lets you move the selection in either direction to other edges in the same loop; that is, to neighboring, aligned edges. If you have a ring selected, you can use this function to select a neighboring ring. Applies only to Edge and Border sub-object levels. 1296 | Chapter 9 Modifiers Left: Original ring selection Upper right: Loop Shift up moves selection outward. Lower right: Loop Shift down moves selection inward. To expand the selection in the chosen direction, Ctrl+click the up or down spinner button. To shrink the selection in the chosen direction, Alt+click the up or down spinner button. NOTE When the Select And Manipulate on page 2868 tool is active at the Edge sub-object level, the caddy appears in the viewport with a control for Loop Shift: . For instructions for using the caddy, see The Caddy Interface on page 2339. Edit Poly Modifier | 1297 Get Stack Selection Replaces the current selection with the sub-object selection passed up the stack. You can then modify this selection using standard methods. If no selection exists in the stack, all sub-objects are unselected. Preview Selection This option lets you preview a sub-object selection before committing to it. You can preview at the current sub-object level, or switch sub-object levels automatically based on the mouse position. The choices are: ■ OffNo preview is available. ■ SubObjEnables previewing at the current sub-object level only. As you move the mouse over the object, the sub-object under the cursor highlights in yellow. To select the highlighted object, click the mouse. To select multiple sub-objects at the current level, press and hold Ctrl, move the mouse to highlight more sub-objects, and then click to select all highlighted sub-objects. Polygon sub-object selection preview with Ctrl held down 1298 | Chapter 9 Modifiers To deselect multiple sub-objects at the current level, press and hold Ctrl+Alt, move the mouse to highlight more sub-objects, and then click a selected sub-object. This deselects all highlighted sub-objects. ■ MultiWorks like SubObj, but also switches among the Vertex, Edge, and Polygon sub-object levels on the fly, based on the mouse position. For example, if you position the mouse over an edge, the edge highlights, and then clicking activates the Edge sub-object level and selects the edge. To select multiple sub-objects of the same type, press and hold Ctrl after highlighting a sub-object, move the mouse to highlight more sub-objects, and then click to activate that sub-object level and select all highlighted sub-objects. To deselect multiple sub-objects at the current sub-object level, press and hold Ctrl+Alt, move the mouse to highlight more sub-objects, and then click a selected sub-object. This deselects all highlighted sub-objects. Note that this method does not switch sub-object levels. NOTE When Ignore Backfacing on page 1292 is off, you’ll see backfacing vertices and edges highlight while previewing a sub-object selection. Selection Information At the bottom of the Selection rollout is a text display giving information about the current selection. If 0 or more than one sub-object is selected, the text gives the number and type selected; for example, “4 Polygons Selected.” If one sub-object is selected, the text gives the identification number and type of the selected item; for example, “Polygon 73 Selected.” When using Preview Selection on page 1298, a second line gives additional information about the identity or number of highlighted sub-objects. Edit Poly (Object) Select an Edit Poly object. ➤ Modify panel Edit Poly (Object) functions are available when no sub-object levels are active. These functions are also available at all sub-object levels, and work the same in each mode, except as noted below. Edit Poly Modifier | 1299 Interface Edit Geometry rollout For detailed descriptions of these controls, see Edit Geometry Rollout (Polymesh and Edit Poly)edit geometry rollouteditable polyeditable polyedit geometry rollout on page 1352. Paint Deformation rollout Paint Deformation lets you stroke elevated and indented areas directly onto object surfaces. For more information, see Paint Deformation Rollout (Polymesh)editable polypaint deformation rolloutedit polypaint deformation rolloutrolloutspaint deformationpaint deformation rollout on page 2334. 1300 | Chapter 9 Modifiers Edit Poly (Vertex) Select an Edit Poly object. ➤ Modify panel ➤ Selection rollout ➤ Vertex Select an Edit Poly object. ➤ ➤ Expand Edit Poly. ➤ Vertex Modify panel ➤ Modify Stack display Select an Edit Poly object. ➤ Quad menu ➤ Tools 1 quadrant ➤ Vertex Vertices are points in space: They define the structure of other sub-objects that make up the poly object. When vertices are moved or edited, the geometry they form is affected as well. Vertices can also exist independently; such isolated vertices can be used to construct other geometry but are otherwise invisible when rendering. At the Edit Poly (Vertex) sub-object level, you can select single and multiple vertices and move them using standard methods. This topic covers the Edit Vertices and Edit Geometry rollouts; for other controls, see Edit Poly Modifier on page 1274. Procedures To weld polygon vertices: You can use either of two methods to combine several vertices into one, also known as welding. If the vertices are very close together, use the Weld function. You can also use Weld to combine a number of vertices to the average position of all of them. Alternatively, to combine two vertices that are far apart, resulting in a single vertex that's in the same position as one of them, use Target Weld. 1 To use Weld: 1 On the Selection rollout, turn on Ignore Backfacing, if necessary. This ensures that you're welding only vertices you can see. 2 Select the vertices to weld. Edit Poly Modifier | 1301 3 If the vertices are very close together, simply click Weld. If that doesn't work, proceed to the next step. 4 Click (Settings) to the right of the Weld button. This opens the Weld Vertices caddy on page 2372. 5 Increase the Weld Threshold value gradually using the spinner (click and hold on the up-down arrow buttons to the right of the numeric field and then drag upward). If you need the value to change more quickly, hold down the Ctrl key as you drag. When the threshold equals or exceeds the distance between two or more of the vertices, the weld occurs automatically, and the resulting vertex moves to their average location. 6 If not all the vertices are welded, continue increasing the Weld Threshold value until they are. 7 Click OK to exit. 2 To use Target Weld: 1 On the Selection rollout, turn on Ignore Backfacing, if necessary. This ensures that you're welding only vertices you can see. 2 Find two vertices you want to weld, and determine the ultimate location of the resulting vertex. The two vertices must be contiguous; that is, they must be connected by a single edge. For this example, we'll call the vertices A and B, and the resulting vertex will be at vertex B's location. 3 Click the Target Weld button. The button stays highlighted, to indicate that you're now in Target Weld mode. 4 Click vertex A and then move the mouse. A rubber-band line connects the vertex and the mouse cursor. 5 Position the cursor over vertex B, whereupon the cursor image changes from an arrow to a crosshairs. Reminder: Only vertices connected to the first vertex by a single edge qualify for target welding. 6 Click to weld the two. The resulting vertex remains at vertex B's position. 1302 | Chapter 9 Modifiers 7 Click Target Weld again to turn it off. Interface Edit Poly Mode rollout See Edit Poly Mode rollout on page 1284 for information on the Edit Poly Mode rollout settings. Selection rollout See Selection Rollout (Edit Poly Modifier) on page 1287 for information on the Selection rollout settings. Soft Selection rollout Soft Selection controls apply a smooth falloff between selected sub-objects and unselected ones. When Use Soft Selection is on, unselected sub-objects near your selection are given partial selection values. These values are shown in the viewports by means of a color gradient on the vertices, and optionally on the faces. They affect most types of sub-object deformations, such as the Move, Rotate, and Scale functions, as well as any deformation modifiers (such as Bend) applied to the object. This provides a magnet-like effect with a sphere of influence around the selection. For more information, see Soft Selection Rollout on page 1966. Edit Vertices rollout This rollout includes commands specific to vertex editing. Edit Poly Modifier | 1303 NOTE To delete vertices, select them and press the Delete key. This can create one or more holes in the mesh. To delete vertices without creating holes, use Remove (see following). Remove Deletes selected vertices and combines the polygons that use them. The keyboard shortcut is Backspace. Removing one or more vertices deletes them and retriangulates the mesh to keep the surface intact. If you use Delete instead, the polygons depending on those vertices are deleted as well, creating a hole in the mesh. WARNING Use of Remove can result in mesh shape changes and non-planar polygons. Break Creates a new vertex for each polygon attached to selected vertices, allowing the polygon corners to be moved away from each other where they were once joined at each original vertex. If a vertex is isolated or used by only one polygon, it is unaffected. Extrude Lets you extrude vertices manually via direct manipulation in the viewport. Click this button, and then drag vertically on any vertex to extrude it. Extruding a vertex moves it along a normal and creates new polygons that form the sides of the extrusion, connecting the vertex to the object. The extrusion has the same number of sides as the number of polygons that originally used the extruded vertex. 1304 | Chapter 9 Modifiers Following are important aspects of vertex extrusion: ■ When over a selected vertex, the mouse cursor changes to an Extrude cursor. ■ Drag vertically to specify the extent of the extrusion, and horizontally to set the size of the base. ■ With multiple vertices selected, dragging on any one extrudes all selected vertices equally. ■ You can drag other vertices in turn to extrude them while the Extrude button is active. Click Extrude again or right-click in the active viewport to end the operation. Chamfer box showing extruded vertex Extrude Settings Opens the Extrude Vertices caddy on page 2360, which lets you perform extrusion via interactive manipulation. Edit Poly Modifier | 1305 If you click this button after performing a manual extrusion, the same extrusion is performed on the current selection as a preview and the caddy opens with Extrusion Height set to the amount of the last manual extrusion. Weld Combines contiguous, selected vertices that fall within the tolerance specified in Weld Vertices caddy on page 2372. All edges become connected to the resulting single vertex. Using Weld at the Vertex level Vertices farther apart than the Threshold distance are not welded. Weld is best suited to automatically simplifying geometry that has areas with a number of vertices that are very close together. Before using Weld, set the Weld Threshold via the Weld caddy on page 2372. To weld vertices that are relatively far apart, use Target Weld on page 1308 instead. Weld Settings Opens the Weld Vertices caddy on page 2372, which lets you specify the weld threshold. Chamfer Click this button and then drag vertices in the active object. To chamfer vertices numerically, click the Chamfer Settings button and use the Chamfer Amount value. If you chamfer multiple selected vertices, all of them are chamfered identically. If you drag an unselected vertex, any selected vertices are first deselected. Each chamfered vertex is effectively replaced by a new face that connects new points on all edges leading to the original vertex. These new points are exactly distance from the original vertex along each of these edges. New chamfer faces are created with the material ID of one of the neighboring 1306 | Chapter 9 Modifiers faces (picked at random) and a smoothing group which is an intersection of all neighboring smoothing groups. For example, if you chamfer one corner of a box, the single corner vertex is replaced by a triangular face whose vertices move along the three edges that led to the corner. Outside faces are rearranged and split to use these three new vertices, and a new triangle is created at the corner. Alternatively, you can create open space around the chamfered vertices; for details, see Chamfer on page 2351. Top: The original vertex selection Center: Vertices chamfered Bottom: Vertices chamfered with Open on Chamfer Settings Opens the Chamfer caddy on page 2351, which lets you chamfer vertices via interactive manipulation and toggle the Open option. Edit Poly Modifier | 1307 If you click this button after performing a manual chamfer, the same chamfer is performed on the current selection as a preview and the caddy opens with Chamfer Amount set to the amount of the last manual chamfer. Target Weld Allows you to select a vertex and weld it to a neighboring target vertex. Target Weld works only with pairs of contiguous vertices; that is, vertices connected by a single edge. In Target Weld mode, the mouse cursor, when positioned over a vertex, changes to a + cursor. Click and then move the mouse; a dashed, rubber-band line connects the vertex to the mouse cursor. Position the cursor over another, neighboring vertex and when the + cursor appears again, click the mouse. The first vertex moves to the position of the second and the two are welded. Target Weld remains active until you click the button again or right-click in the viewport. Connect Creates new edges between pairs of selected vertices. Connect does not let the new edges cross. Thus, for example, if you select all four vertices of a four-sided polygon and then click Connect, only two of the vertices will be connected. In this case, to connect all four vertices with new edges, use Cut on page 1361. Remove Isolated Vertices Deletes all vertices that don't belong to any polygons. Remove Unused Map Verts Certain modeling operations can leave unused (isolated) map vertices that show up in the Unwrap UVW editor on page 1807, but cannot be used for mapping. You can use this button to automatically delete these map vertices. 1308 | Chapter 9 Modifiers Edit Geometry rollout For detailed descriptions of these controls, see Edit Geometry Rollout (Polymesh and Edit Poly)edit geometry rollouteditable polyeditable polyedit geometry rollout on page 1352. Paint Deformation rollout Paint Deformation lets you stroke elevated and indented areas directly onto object surfaces. For more information, see Paint Deformation Rollout (Polymesh)editable polypaint deformation rolloutedit polypaint deformation rolloutrolloutspaint deformationpaint deformation rollout on page 2334. Edit Poly Modifier | 1309 Edit Poly (Edge) Select an Edit Poly object. ➤ Modify panel ➤ Selection rollout ➤ Edge Select an Edit Poly object. ➤ ➤ Expand Edit Poly. ➤ Edge Modify panel ➤ Modifier Stack display Select an Edit Poly object. ➤ Quad menu ➤ Tools 1 quadrant ➤ Edge An edge is a line connecting two vertices that forms the side of a polygon. An edge can't be shared by more than two polygons. Also, the normals of the two polygons should be adjacent. If they aren't, you wind up with two edges that share vertices. At the Edit Poly Edge sub-object level, you can select single and multiple edges and transform them using standard methods. This topic covers the Edit Geometry and Edit Edges rollouts; for other controls, see Edit Poly Modifier on page 1274. Procedures Example: To use the Cut and Turn features: 3ds Max provides a convenient function for turning edges, which, along with the Cut feature, streamlines the custom modeling process considerably. Specifically, cutting a new polygon into existing geometry minimizes the number of extra visible edges, typically adding none or one. And after using cut, the Turn function lets you adjust any diagonal with a single click. 1 In the Perspective viewport, create a Plane object. This object is available from the Create panel ➤ Primitives ➤ Object Type rollout. (Geometry) ➤ Standard By default, the Plane object is divided into 4 x 4 polygons. If you don't see the polygons in the Perspective viewport, press F4 to activate Edged Faces view mode. 1310 | Chapter 9 Modifiers 2 Convert the Plane object to Editable Poly format. If you're not sure how, continue in this step; otherwise, skip to the next step after converting. To convert the object, right-click once in the Perspective viewport to exit create mode. This leaves the object selected. Right-click again in the Perspective viewport, and then at the bottom of the Transform quadrant, choose Convert To ➤ Convert To Editable Poly. Alternatively, apply the Edit Poly modifier. Edit Poly Modifier | 1311 The object is now an editable poly and the command panel switches to the Modify panel. 3 Cut is available at the object level as well as at every sub-object level. On the Edit Geometry rollout, find the Cut button, and then click it. 4 In the Perspective viewport, position the mouse cursor in the center of a corner polygon, such as the one closest to you, click once, and then move the mouse around the viewport. 1312 | Chapter 9 Modifiers Two or three lines appear and move as you move the mouse. One line connects the mouse cursor to the original click location, and indicates where the next cut will appear when you click the mouse button. Another connects to a corner of the polygon; this connection changes depending on the mouse position. And, if the cursor isn't over an edge or a vertex (it changes appearance if it is, depending on which), a third line connects the mouse cursor to another vertex. This demonstrates one aspect of the new Cut functionality; in previous versions, the first click in a Cut operation connected to two corners of the polygon. 5 Continue cutting in a rectangular pattern, clicking once at the center of a different polygon, finish by clicking once more at the starting point, and then right-click to exit Cut mode. Edit Poly Modifier | 1313 The result is a rectangle across four polygons, without any connecting visible edges. In previous versions, you would have had eight connecting visible edges: two in each of the original polygons. Note that all the edges you created are selected, and ready for further transformation or editing. 6 Cut a rectangle into the center of a single polygon. In this case you end up with a single, additional visible edge instead of seven, as in previous versions. The edge connects corner of the new polygon with a corner of the original one. This new edge is not selected, but the ones you created explicitly are. 1314 | Chapter 9 Modifiers Connecting the remaining corners are a number of diagonals on page 9136, which serve to fully triangulate the polygons. The new Turn function lets you manipulate each of these with a single click. 7 Go to the Edge sub-object level, and then, on the Edit Edges rollout, click Turn. All diagonals, including those created from the Cut operations, appear as dashed lines. Edit Poly Modifier | 1315 8 Click a diagonal to turn it, and then click it again to return it to its original status. In Turn mode, click a diagonal (dashed line) once to turn it. Each diagonal has only two different available positions, given no changes in any other diagonals' or edges' positions. Compare this with the Edit Triangulation tool, with which you must click two vertices to change a diagonal's position. This simple demonstration shows how, when manually subdividing a polygon mesh for modeling and animation purposes, you can save a good deal of time by using the Cut and Turn tools in 3ds Max. To create a shape from one or more edges: 1 Select the edges you want to make into shapes. 2 On the Edit Edges rollout, click Create Shape From Selection. 3 Make changes, as needed, on the Create Shape dialog that appears. ■ Enter a curve name or keep the default. ■ Choose Smooth or Linear as the shape type. 4 Click OK. The resulting shape consists of one or more splines whose vertices are coincident with the vertices in the selected edges. The Smooth option results in vertices using smooth values, while the Linear option results in linear splines with corner vertices. 1316 | Chapter 9 Modifiers If the selected edges are not continuous, or if they branch, the resulting shape will consist of more than one spline. When the Create Shape function runs into a branching 'Y' in the edges, it makes an arbitrary decision as to which edge produces which spline. If you need to control this, select only those edges that will result in a single spline, and perform a Create Shape operation repeatedly to make the correct number of shapes. Finally, use Attach on page 589 in the Editable Spline to combine the shapes into one. Above: Original object Edit Poly Modifier | 1317 Below: Object with edges selected Above: Selected edges removed from original object Below: Unwanted edges removed 1318 | Chapter 9 Modifiers Interface Edit Poly Mode rollout See Edit Poly Mode rollout on page 1284 for information on the Edit Poly Mode rollout settings. Selection rollout See Selection Rollout (Edit Poly Modifier) on page 1287 for information on the Selection rollout settings. Soft Selection rollout Soft Selection controls apply a smooth falloff between selected sub-objects and unselected ones. When Use Soft Selection is on, unselected sub-objects near your selection are given partial selection values. These values are shown in the viewports by means of a color gradient on the vertices, and optionally on the faces. They affect most types of sub-object deformations, such as the Move, Rotate, and Scale functions, as well as any deformation modifiers (such as Bend) applied to the object. This provides a magnet-like effect with a sphere of influence around the selection. For more information, see Soft Selection Rollout on page 1966. Edit Edges rollout This rollout includes commands specific to edge editing. Edit Poly Modifier | 1319 NOTE To delete edges, select them and press the Delete key. This deletes all selected edges and attached polygons, which can create one or more holes in the mesh. To delete edges without creating holes, use Remove (see following entry). Insert Vertex Lets you subdivide visible edges manually. After turning on Insert Vertex, click an edge to add a vertex at that location. You can continue subdividing polygons as long as the command is active. To stop inserting edges, right-click in the viewport, or click Insert Vertex again to turn it off. Remove Deletes selected edges and combines the polygons that use them. Removing one edge is like making it invisible. The mesh is affected only when all or all but one of the edges depending on one vertex are removed. At that point, the vertex itself is deleted and the surface is retriangulated. To delete the associated vertices when you remove edges, press and hold Ctrl while executing a Remove operation, either by mouse or with the Backspace key. This option, called Clean Remove, ensures that the remaining polygons are planar. 1320 | Chapter 9 Modifiers Left: The original edge selection Center: Standard Remove operation leaves extra vertices. Right: Clean Remove with Ctrl+Remove deletes the extra vertices. Edges with the same polygon on both sides usually can't be removed. WARNING Use of Remove can result in mesh shape changes and non-planar polygons. Split Divides the mesh along the selected edges. This does nothing when applied to a single edge in the middle of a mesh. The vertices at the end of affected edges must be separable in order for this option to work. For example, it would work on a single edge that intersects an existing border, since the border vertex can be split in two. Additionally, two adjacent edges could be split in the middle of a grid or sphere, since the shared vertex can be split. Extrude Lets you extrude edges manually via direct manipulation in the viewport. Click this button, and then drag vertically on any edge to extrude it. Edit Poly Modifier | 1321 When extruding a vertex or edge interactively in the viewport, you set the extrusion height by moving the mouse vertically and the base width by moving the mouse horizontally. Extruding an edge moves it along a normal and creates new polygons that form the sides of the extrusion, connecting the edge to the object. The extrusion has either three or four sides; three if the edge was on a border, or four if it was shared by two polygons. As you increase the length of the extrusion, the base increases in size, to the extent of the vertices adjacent to the extruded edge's endpoints. Following are important aspects of edge extrusion: ■ When over a selected edge, the mouse cursor changes to an Extrude cursor. ■ Drag vertically to specify the extent of the extrusion, and horizontally to set the size of the base. ■ With multiple edges selected, dragging on any one extrudes all selected edges equally. ■ You can drag other edges in turn to extrude them while the Extrude button is active. Click Extrude again or right-click in the active viewport to end the operation. 1322 | Chapter 9 Modifiers Chamfer box showing extruded edge Extrude Settings Opens the Extrude Edges caddy on page 2360, which lets you perform extrusion via interactive manipulation. If you click this button after performing a manual extrusion, the same extrusion is performed on the current selection as a preview and the caddy opens with Extrusion Height set to the amount of the last manual extrusion. Weld Combines selected edges that fall within the threshold specified on the Weld caddy on page 2372. You can weld only edges that have one polygon attached; that is, edges on a border. Also, you cannot perform a weld operation that would result in illegal geometry (e.g., an edge shared by more than two polygons). For example, you cannot weld opposite edges on the border of a box that has a side removed. Weld Settings Opens the Weld Edges caddy on page 2372, which lets you specify the weld threshold. Chamfer Click this button and then drag edges in the active object. To chamfer edges numerically, click the Chamfer Settings button and change the Chamfer Amount value. If you chamfer multiple selected edges, all of them are chamfered identically. If you drag an unselected edge, any selected edges are first deselected. Edit Poly Modifier | 1323 An edge chamfer "chops off" the selected edges, creating a new polygon connecting new points on all visible edges leading to the original vertex. The new edges are exactly distance from the original edge along each of these edges. New chamfer faces are created with the material ID of one of the neighboring faces (picked at random) and a smoothing group which is an intersection of all neighboring smoothing groups. For example, if you chamfer one edge of a box, each corner vertex is replaced by two vertices moving along the visible edges that lead to the corner. Outside faces are rearranged and split to use these new vertices, and a new polygon is created at the corner. Using Chamfer at the Edge level Alternatively, you can create open space around the chamfered edges; for details, see Chamfer on page 2351. Chamfer Settings Opens the Chamfer caddy on page 2351, which lets you chamfer edges via interactive manipulation and toggle the Open option. If you click this button after performing a manual chamfer, the same chamfer is performed on the current selection as a preview and the caddy opens with Chamfer Amount set to the amount of the last manual chamfer. Target Weld Allows you to select an edge and weld it to a target edge. When positioned over an edge, the cursor changes to a + cursor. Click and move the mouse and a dashed line appears from the vertex with an arrow cursor at the other end of the line. Position the cursor over another edge and when the + cursor appears again, click the mouse. The first edge is moved to the position of the second, and the two are welded. 1324 | Chapter 9 Modifiers You can weld only edges that have one polygon attached; that is, edges on a border. Also, you cannot perform a weld operation that would result in illegal geometry (e.g., an edge shared by more than two polygons). For example, you cannot weld opposite edges on the border of a box that has a side removed. Bridge Connects border edges on an object with a polygon “bridge.” Bridge connects only border edges; that is, edges that have a polygon on only one side. This tool is particularly useful when creating edge loops or profiles. There are two ways to use Bridge in Direct Manipulation mode (that is, without opening the Bridge Edges caddy): ■ Select two or more border edges on the object, and then click Bridge. This immediately creates the bridge between the pair of selected borders using the current Bridge settings, and then deactivates the Bridge button. ■ If no qualifying selection exists (that is, two or more selected border edges), clicking Bridge activates the button and places you in Bridge mode. First click a border edge and then move the mouse; a rubber-band line connects the mouse cursor to the clicked edge. Click a second edge on a different border to bridge the two. This creates the bridge immediately using the current Bridge settings; the Bridge button remains active for connecting more edges. To exit Bridge mode, right-click the active viewport or click the Bridge button. The new polygons that result from a Bridge operation are automatically selected; you can see this by accessing the Polygon sub-object level. Using Bridge at the Edge level Edit Poly Modifier | 1325 NOTE Bridge always creates a straight-line connection between edges. To make the bridge connection follow a contour, apply modeling tools as appropriate after creating the bridge. For example, bridge two edges, and then use Bend on page 1104. Bridge Settings Opens the Bridge Edges caddy on page 2348, which lets you add polygons between pairs of edges via interactive manipulation. Connect Creates new edges between pairs of selected edges using the current Connect Edges settings. Connect is particularly useful for creating or refining edge loops. NOTE You can connect only edges on the same polygon. Also, Connect will not let the new edges cross. For example, if you select all four edges of a four-sided polygon and then click Connect, only neighboring edges are connected, resulting in a diamond pattern. Connecting two or more edges using the Settings dialog creates equally spaced edges. The number of edges is set in the dialog. When you click the Connect button, the current dialog settings are applied to the selection. Connect Settings Opens the Connect Edges caddy on page 2353, which lets you preview the Connect results, specify the number of edge segments created by the operation, and set spacing and placement for the new edges. Create Shape After selecting one or more edges, click this button to create a spline shape or shapes from the selected edges, using the current settings from the Create Shape Settings dialog (see following). The new shape's pivot is placed at the same location as that of the Edit Poly object. 1326 | Chapter 9 Modifiers Create Shape Settings Lets you name the Create Shape output and set it to Smooth or Linear. Edit Poly Modifier | 1327 An edge selection (top); a smooth shape (center); a linear shape (bottom) Edit Tri[angulation] Lets you modify how polygons are subdivided into triangles by drawing internal edges, or diagonals on page 9136. In Edit Triangulation mode, you can see the current triangulation in the viewport, and change it by clicking two vertices on the same polygon. 1328 | Chapter 9 Modifiers To edit triangulation manually, turn on this button. The hidden edges appear. Click a polygon vertex. A rubber-band line appears, attached to the cursor. Click a non-adjacent vertex to create a new triangulation for the polygon. TIP For easier editing of triangulation, use the Turn command instead (see following). Turn Lets you modify how polygons are subdivided into triangles by clicking diagonals. When you activate Turn, the diagonals on page 9136 become visible as dashed lines in wireframe and edged-faces views. In Turn mode, click a diagonal to change its position. To exit Turn mode, right-click in the viewport or click the Turn button again. Each diagonal has only two available positions at any given time, so clicking a diagonal twice in succession simply returns it to its original position. But changing the position of a nearby diagonal can make a different alternate position available to a diagonal. For more information on how to use Turn with the enhanced Cut tool, see this procedure on page 1310. Edit Poly Modifier | 1329 Edit Geometry rollout For detailed descriptions of these controls, see Edit Geometry Rollout (Polymesh and Edit Poly)edit geometry rollouteditable polyeditable polyedit geometry rollout on page 1352. Paint Deformation rollout Paint Deformation lets you stroke elevated and indented areas directly onto object surfaces. For more information, see Paint Deformation Rollout (Polymesh)editable polypaint deformation rolloutedit polypaint deformation rolloutrolloutspaint deformationpaint deformation rollout on page 2334. 1330 | Chapter 9 Modifiers Edit Poly (Border) Select an Edit Poly object. ➤ Modify panel ➤ Selection rollout ➤ Border Select an Edit Poly object. ➤ ➤ Expand Edit Poly. ➤ Border Modify panel ➤ Modifier Stack display Select an Edit Poly object. ➤ Quad menu ➤ Tools 1 quadrant ➤ Border A border is a linear section of a mesh that can generally be described as the edge of a hole. This is usually a sequence of edges with polygons on only one side. For example, a box doesn't have a border, but the teapot object has several: on the lid, on the body, on the spout, and two on the handle. If you create a cylinder, and then delete an end polygon, the adjacent row of edges forms a border. At the Edit Poly Border sub-object level, you can select single and multiple borders and transform them using standard methods. This topic covers the Edit Geometry and Edit Borders rollouts; for other controls, see Edit Poly Modifier on page 1274. Procedures To create a polygon that closes the surface at the selected border: 1 At the Border sub-object level, select any open edge. This selects the entire closed loop of continuous open edges that make up the border selection. 2 Click Cap. Edit Poly Modifier | 1331 Interface Edit Poly Mode rollout See Edit Poly Mode rollout on page 1284 for information on the Edit Poly Mode rollout settings. Selection rollout See Selection Rollout (Edit Poly Modifier) on page 1287 for information on the Selection rollout settings. Soft Selection rollout Soft Selection controls apply a smooth falloff between selected sub-objects and unselected ones. When Use Soft Selection is on, unselected sub-objects near your selection are given partial selection values. These values are shown in the viewports by means of a color gradient on the vertices, and optionally on the faces. They affect most types of sub-object deformations, such as the Move, Rotate, and Scale functions, as well as any deformation modifiers (such as Bend) applied to the object. This provides a magnet-like effect with a sphere of influence around the selection. For more information, see Soft Selection Rollout on page 1966. Edit Borders rollout This rollout includes commands specific to editing borders. NOTE To delete a border, select it and press the Delete key. This deletes the border and all attached polygons. Extrude Lets you extrude a border manually via direct manipulation in the viewport. Click this button, and then drag vertically on any border to extrude it. 1332 | Chapter 9 Modifiers Extruding a border moves it along a normal and creates new polygons that form the sides of the extrusion, connecting the border to the object. The extrusion can form a varying number of additional sides, depending on the geometry near the border. As you increase the length of the extrusion, the base increases in size, to the extent of the vertices adjacent to the extruded border's endpoints. Following are important aspects of border extrusion: ■ When the mouse cursor is over a selected border, it changes to an Extrude cursor. ■ To specify the extent of the extrusion, drag vertically, and to set the size of the base, drag horizontally. ■ With multiple borders selected, dragging on any one extrudes all selected borders equally. ■ While the Extrude button is active, you can extrude other borders in turn by dragging them. Click Extrude again or right-click in the active viewport to end the operation. Extrude Settings Opens the Extrude Edges caddy on page 2360, which lets you perform extrusion via interactive manipulation. If you click this button after performing a manual extrusion, the same extrusion is performed on the current selection as a preview and the caddy opens with Extrusion Height set to the amount of the last manual extrusion. Insert Vertex Lets you subdivide border edges manually. After turning on Insert Vertex, click a border edge to add a vertex at that location. You can continue subdividing border edges as long as the command is active. To stop inserting vertices, right-click in the viewport, or click Insert Vertex again to turn it off. Chamfer Click this button and then drag a border in the active object. The border need not be selected first. If you chamfer multiple selected borders, all of them are chamfered identically. If you drag an unselected border, any selected borders are first deselected. A border chamfer essentially “frames” the border edges, creating a new set of edges paralleling the border edges, plus new diagonal edges at any corners. These new edges are exactly distance from the original edges. New chamfer faces are created with the material ID of one of the Edit Poly Modifier | 1333 neighboring faces (picked at random) and a smoothing group which is an intersection of all neighboring smoothing groups. Alternatively, you can create open space around the chamfered borders, essentially cutting away at the open edges; for details, see Chamfer on page 2351. Chamfer Settings Opens the Chamfer Edges caddy on page 2351, which lets you chamfer borders via interactive manipulation and toggle the Open option. If you click this button after performing a manual chamfer, the same chamfer is performed on the current selection as a preview and the dialog opens with Chamfer Amount set to the amount of the last manual chamfer. Cap Caps an entire border loop with a single polygon. Select the border, and then click Cap. Bridge Connects pairs of borders on an object with polygon “bridges.” There are two ways to use Bridge in Direct Manipulation mode (that is, without opening the Bridge Settings dialog): ■ Select an even number of borders on the object, and then click Bridge. This immediately creates the bridge between each pair of selected borders using the current Bridge settings, and then deactivates the Bridge button. ■ If no qualifying selection exists (that is, two or more selected borders), clicking Bridge activates the button and places you in Bridge mode. First click a border edge and then move the mouse; a rubber-band line connects the mouse cursor to the clicked edge. Click a second edge on a different border to bridge the two. This creates the bridge immediately using the current Bridge settings; the Bridge button remains active for connecting more pairs of borders. To exit Bridge mode, right-click the active viewport or click the Bridge button. The new polygons that result from a Bridge operation are automatically selected; you can see this by accessing the Polygon sub-object level. 1334 | Chapter 9 Modifiers Using Bridge at the Border level. NOTE Bridge always creates a straight-line connection between border pairs. To make the bridge connection follow a contour, apply modeling tools as appropriate after creating the bridge. For example, bridge two borders, and then use Bend on page 1104. Bridge Settings Opens the Bridge caddy on page 2344, which lets you connect pairs of borders via interactive manipulation. Connect Creates new edges between pairs of selected border edges. The edges are connected from their midpoints. You can connect only edges on the same polygon. Connect will not let the new edges cross. Thus, for example, if you select all four edges of a four-sided polygon and then click Connect, only neighboring edges are connected, resulting in a diamond pattern. Connect Settings Lets you preview the Connect and specify the number of edge segments created by the operation. To increase the mesh resolution around the new edge, increase the Connect Edge Segments setting. Create Shape After selecting one or more borders, click this button to create a spline shape or shapes from the selected edges, using the current settings from the Create Shape Settings dialog (see following). The new shape's pivot is placed at the same location as that of the Edit Poly object. Edit Poly Modifier | 1335 Create Shape Settings Lets you preview the Create Shape function, name the shape, and set it to Smooth or Linear. Edit Tri[angulation] Lets you modify how polygons are subdivided into triangles by drawing internal edges, or diagonals on page 9136. To edit triangulation manually, turn on this button. The hidden edges appear. Click a polygon vertex. A rubber-band line appears, attached to the cursor. Click a non-adjacent vertex to create a new triangulation for the polygon. TIP For easier editing of triangulation, use the Turn command instead (see following). Turn Lets you modify how polygons are subdivided into triangles by clicking diagonals. When you activate Turn, the diagonals on page 9136 become visible as dashed lines in wireframe and edged-faces views. In Turn mode, click a diagonal to change its position. To exit Turn mode, right-click in the viewport or click the Turn button again. Each diagonal has only two available positions at any given time, so clicking a diagonal twice in succession simply returns it to its original position. But changing the position of a nearby diagonal can make a different alternate position available to a diagonal. For more information on how to use Turn with the enhanced Cut tool, see this procedure on page 1310. 1336 | Chapter 9 Modifiers Edit Geometry rollout For detailed descriptions of these controls, see Edit Geometry Rollout (Polymesh and Edit Poly)edit geometry rollouteditable polyeditable polyedit geometry rollout on page 1352. Paint Deformation rollout Paint Deformation lets you stroke elevated and indented areas directly onto object surfaces. For more information, see Paint Deformation Rollout (Polymesh)editable polypaint deformation rolloutedit polypaint deformation rolloutrolloutspaint deformationpaint deformation rollout on page 2334. Edit Poly Modifier | 1337 Edit Poly (Polygon/Element) Select an Edit Poly object. ➤ Polygon or Modify panel ➤ Selection rollout ➤ Element Select an Edit Poly object. ➤ Modify panel ➤ modifier stack display ➤ Expand Edit Poly. ➤ Polygon or Element Select an Edit Poly object. ➤ Quad menu ➤ Tools 1 quadrant ➤ Polygon or Element A polygon is a closed sequence of three or more edges connected by a surface. Polygons provide the renderable surface of Edit Poly objects. At the Edit Poly (Polygon) sub-object level, you can select single and multiple polygons and transform them using standard methods. This is similar for the Element sub-object level; for the distinctions between polygon and element, see Edit Poly ➤ Selection rollout on page 1286. This topic covers the Edit Polygons/Elements rollout and Edit Geometry rollout functions for these sub-object types. For other controls, see Edit Poly Modifier on page 1274. NOTE Workflow enhancements in the Edit Poly user interface give you a choice of editing methods. See Edit Poly Workflow on page 1280 for more information. Interface Edit Poly Mode rollout See Edit Poly Mode rollout on page 1284 for information on the Edit Poly Mode rollout settings. Selection rollout See Selection Rollout (Edit Poly Modifier) on page 1287 for information on the Selection rollout settings. 1338 | Chapter 9 Modifiers Soft Selection rollout Soft Selection controls apply a smooth falloff between selected sub-objects and unselected ones. When Use Soft Selection is on, unselected sub-objects near your selection are given partial selection values. These values are shown in the viewports by means of a color gradient on the vertices, and optionally on the faces. They affect most types of sub-object deformations, such as the Move, Rotate, and Scale functions, as well as any deformation modifiers (such as Bend) applied to the object. This provides a magnet-like effect with a sphere of influence around the selection. For more information, see Soft Selection Rollout on page 1966. Edit Polygons/Elements rollout At the Element sub-object level, this rollout includes commands that are common to both polygons and elements. At the Polygon level, it contains those as well as a number more that are unique to polygons. The commands available at both levels are Insert Vertex, Flip, Edit Triangulation, Retriangulate, and Turn. NOTE To delete polygons or elements, select them and press the Delete key. If Delete Isolated Vertices on page 1365 is off, this can result in isolated vertices; that is, vertices with no associated face geometry. Insert Vertex Lets you subdivide polygons manually. Applies to polygons, even if at the element sub-object level. After turning on Insert Vertex, click a polygon to add a vertex at that location. You can continue subdividing polygons as long as the command is active. Edit Poly Modifier | 1339 To stop inserting vertices, right-click in the viewport, or click Insert Vertex again to turn it off. Extrude Lets you perform manual extrusion via direct manipulation in the viewport. Click this button, and then drag vertically on any polygon to extrude it. Extruding polygons moves them along a normal and creates new polygons that form the sides of the extrusion, connecting the selection to the object. Following are important aspects of polygon extrusion: ■ When over a selected polygon, the mouse cursor changes to an Extrude cursor. ■ Drag vertically to specify the extent of the extrusion, and horizontally to set the size of the base. ■ With multiple polygons selected, dragging on any one extrudes all selected polygons equally. ■ You can drag other polygons in turn to extrude them while the Extrude button is active. Click Extrude again or right-click in the active viewport to end the operation. Chamfer box showing extruded polygon 1340 | Chapter 9 Modifiers Extrude Settings Opens the Extrude Polygons caddy on page 2358, which lets you perform extrusion via interactive manipulation. If you click this button after performing an extrusion, the same extrusion is performed on the current selection as a preview and the dialog opens with Extrusion Height set to the amount of the last manual extrusion. Outline Lets you increase or decrease the outside edge of each contiguous group of selected polygons. Outline is often used after an extrusion or bevel to adjust the size of the extruded faces. It doesn't scale the polygons; only changes the size of the outer edge. For example, in the following illustration, note that the sizes of the inner polygons remain constant. Edit Poly Modifier | 1341 Extruded polygons (top), outline expanded (middle), outline reduced (bottom) Note that inner polygons do not change size. 1342 | Chapter 9 Modifiers Outline Settings Opens the Outline Polygons caddy, which lets you perform outlining by a numeric setting. For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. Bevel Lets you perform manual beveling via direct manipulation in the viewport. Click this button, and then drag vertically on any polygon to extrude it. Release the mouse button and then move the mouse vertically to outline the extrusion. Click to finish. ■ When over a selected polygon, the mouse cursor changes to a Bevel cursor. ■ With multiple polygons selected, dragging on any one bevels all selected polygons equally. ■ You can drag other polygons in turn to bevel them while the Bevel button is active. Click Bevel again or right-click to end the operation. Polygon beveled outward (left) and inward (right) Bevel Settings Opens the Bevel caddy on page 2342, which lets you perform beveling via interactive manipulation. If you click this button after performing a bevel, the same bevel is performed on the current selection as a preview and the dialog opens with the same settings used for the previous bevel. Edit Poly Modifier | 1343 Inset Performs a bevel with no height; that is, within the plane of the polygon selection. Click this button, and then drag vertically on any polygon to inset it. ■ When over a selected polygon, the mouse cursor changes to an Inset cursor. ■ With multiple polygons selected, dragging on any one insets all selected polygons equally. ■ While the Inset button is active, you can drag other polygons in turn to inset them. To end the operation, click Inset again or right-click. Inset works on a selection of one or more polygons. As with Outline, only the outer edges are affected. Inset Settings Opens the Inset caddy on page 2363, which lets you inset polygons via interactive manipulation. If you click this button after performing a manual inset, the same inset is performed on the current selection as a preview and the dialog opens with Inset Amount set to the amount of the last manual inset. Bridge Connects two polygons or polygon selections on an object with a polygon “bridge.” There are two ways to use Bridge in Direct Manipulation mode (that is, without opening the Bridge Settings dialog): ■ Make two separate polygon selections on the object, and then click Bridge. This creates the bridge immediately using the current Bridge settings, and then deactivates the Bridge button. 1344 | Chapter 9 Modifiers ■ If no qualifying selection exists (that is, two or more discrete polygon selections), clicking Bridge activates the button and places you in Bridge mode. First click a polygon and move the mouse; a rubber-band line connects the mouse cursor to the clicked polygon. Click a second polygon to bridge the two. This creates the bridge immediately using the current Bridge settings; the Bridge button remains active for connecting more pairs of polygons. To exit Bridge mode, right-click the active viewport or click the Bridge button. Using Bridge at the Polygon level NOTE Bridge always creates a straight-line connection between polygon pairs. To make the bridge connection follow a contour, apply modeling tools as appropriate after creating the bridge. For example, bridge two polygons, and then use Bend on page 1104. Bridge Settings Opens the Bridge Polygons caddy on page 2344, which lets you connect pairs of polygon selections via interactive manipulation. Flip Reverses the directions of the normals of selected polygons, hence their facing. Hinge From Edge Lets you perform a manual hinge operation via direct manipulation in the viewport. Make a polygon selection, click this button, and then drag vertically on any edge to hinge the selection. The mouse cursor changes to a cross when over an edge. Edit Poly Modifier | 1345 The hinge edge needn't be part of the selection. It can be any edge of the mesh. Also, the selection needn't be contiguous. Hinging polygons rotates them about an edge and creates new polygons that form the sides of the hinge, connecting the selection to the object. It's essentially an extrusion with rotation, with the exception that, if the hinge edge belongs to a selected polygon, that side is not extruded. The manual version of Hinge From Edge works only with an existing polygon selection. TIP To avoid inadvertently hinging about a backfacing edge, turn on Ignore Backfacing. Hinge Settings Opens the Hinge From Edge caddy on page 2362, which lets you hinge polygons via interactive manipulation. If you click this button after performing a manual hinge, the dialog opens with Angle set to the extent of the last manual hinge. Extrude Along Spline Extrudes the current selection along a spline. 1346 | Chapter 9 Modifiers You can extrude a single polygon (1) or a selection of contiguous (2) or non-contiguous polygons (3). Extrusion 2 uses Taper Curve and Twist (available via Settings). Extrusion 3 uses Taper Amount; each extrusion has a different curve rotation. Make a selection, click Extrude Along/On Spline, and then select a spline in the scene. The selection is extruded along the spline, using the spline's current orientation, but as though the spline's start point were moved to the center of each polygon or group. Extrude Along Spline Settings Opens the Extrude Along Spline caddy on page 2356, which lets you extrude along splines via interactive manipulation. Edit Triangulation Lets you modify how polygons are subdivided into triangles by drawing internal edges. Edit Poly Modifier | 1347 In Edit Triangulation mode, you can see the current triangulation in the viewport, and change it by clicking two vertices on the same polygon. To manually edit triangulation, turn on this button. The hidden edges appear. Click a polygon vertex. A rubber-band line appears, attached to the cursor. Click a non-adjacent vertex to create a new triangulation for the polygon. Retriangulate Lets 3ds Max automatically do its best triangulation on the polygon or polygons currently selected. Retriangulate attempts to optimize how selected polygons are subdivided into triangles. 1348 | Chapter 9 Modifiers Turn Lets you modify how polygons are subdivided into triangles by clicking diagonals. When you activate Turn, the diagonals on page 9136 become visible as dashed lines in wireframe and edged-faces views. In Turn mode, click a diagonal to change its position. To exit Turn mode, right-click in the viewport or click the Turn button again. Each diagonal has only two available positions at any given time, so clicking a diagonal twice in succession simply returns it to its original position. But changing the position of a nearby diagonal can make a different alternate position available to a diagonal. For more information on how to use Turn with the enhanced Cut tool, see this procedure on page 1310. Edit Geometry rollout Edit Poly Modifier | 1349 For detailed descriptions of these controls, see Edit Geometry Rollout (Polymesh and Edit Poly)edit geometry rollouteditable polyeditable polyedit geometry rollout on page 1352. Polygon Properties rollout These controls let you work with material IDs and smoothing groups. Material group Set ID Lets you assign a particular material ID on page 9217 number to selected sub-objects for use with multi/sub-object materials on page 6542 and other applications. Use the spinner or enter the number from the keyboard. The total number of available IDs is 65,535. Select ID Selects sub-objects corresponding to the Material ID specified in the adjacent ID field. Type or use the spinner to specify an ID, then click the Select ID button. [Select By Name] This drop-down list shows the names of sub-materials if an object has a multi/sub-object material assigned to it. Click the drop arrow and choose a sub-material from the list. This selects any sub-objects assigned that material. If an object does not have a multi/sub-object material assigned, the 1350 | Chapter 9 Modifiers name list is unavailable. Likewise, if multiple selected objects have an Edit Patch, Edit Spline, or Edit Mesh modifier applied, the name list is inactive. NOTE Sub-material names are those specified in the Name column on the material's multi/sub-object Basic Parameters rollout. By default, 3ds Max assigns the material name “No Name” followed by a sequence number in parentheses. These names don't appear in the Material Editor, but they do show up in the drop-down list. Clear Selection When on, choosing a new ID or material name unselects any previously selected sub-objects. When off, selections are cumulative, so new ID or sub-material name selections add to the existing selection set of patches or elements. Default=off. Smoothing Groups group Use these controls to assign selected polygons to different smoothing groups on page 9310, and to select polygons by smoothing group. To assign polygons to one or more smoothing groups, select the polygons, and then click the number(s) of the smoothing group(s) to assign them to. Select By SG (Smoothing Group) Displays a dialog that shows the current smoothing groups. Select a group by clicking the corresponding numbered button and clicking OK. If Clear Selection is on, any previously selected polygons are first unselected. If Clear Selection is off, the new selection is added to any previous selection set. Clear All Removes any smoothing group assignments from selected polygons. Auto Smooth Sets smoothing groups based on the angle between polygons. Any two adjacent polygons are put in the same smoothing group if the angle between their normals is less than the threshold angle, set by the spinner to the right of this button. [threshold] This numeric setting (to the right of Auto Smooth) lets you specify the maximum angle between the normals of adjacent polygons that determines whether those polygons will be put in the same smoothing group. Paint Deformation rollout Paint Deformation lets you stroke elevated and indented areas directly onto object surfaces. For more information, see Paint Deformation Rollout (Polymesh)editable polypaint deformation rolloutedit polypaint deformation rolloutrolloutspaint deformationpaint deformation rollout on page 2334. Edit Poly Modifier | 1351 Edit Geometry Rollout (Polymesh and Edit Poly) Create or select an editable poly or Edit Poly object. ➤ ➤ Edit Geometry rollout Modify panel The Edit Geometry rollout provides global controls for changing the geometry of the poly object, at either the top (Object) level or the sub-object levels. The controls are the same at all levels, except as noted in the descriptions below. Interface Repeat Last Repeats the most recently used command. 1352 | Chapter 9 Modifiers For example, if you extrude a polygon, and want to apply the same extrusion to several others, select the others, and then click Repeat Last. You can apply a spline extrusion of a single polygon (left) repeatedly to other single polygons (1) or to multiple polygon selections, contiguous (2) or not (3). NOTE Repeat Last does not repeat all operations. For example, it does not repeat transforms. To determine which command will be repeated when you click the button, check the tooltip for the Repeat Last button on the command panel, which gives the name of the last operation that can be repeated. If no tooltip appears, nothing will happen when you click the button. Constraints Lets you use existing geometry to constrain sub-object transformation. Choose the constraint type: ■ None: No constraints. This is the default option. ■ Edge: Constrains sub-object transformations to edge boundaries. ■ Face: Constrains sub-object transformations to individual face surfaces. ■ Normal: Constrains each sub-object’s transformations to its normal, or the average of its normals. In most cases, this causes sub-objects to move perpendicular to the surface. NOTE This constraint works like the Push modifier on page 1588, including the fact that it operates on unmodified base normals. Edited normals are unsupported. Edit Poly Modifier | 1353 When set to Edge, moving a vertex will slide it along one of the existing edges, depending on the direction of the transformation. If set to Face, the vertex moves only on the polygon’s surface. NOTE You can set constraints at the Object level, but their use pertains primarily to sub-object levels. The Constraints setting persists at all sub-object levels. Preserve UVs When on, you can edit sub-objects without affecting the object's UV mapping. You can choose any of an object's mapping channels to preserve or not; see Preserve UVs Settings, following. Default=off. Without Preserve UVs, there is always a direct correspondence between an object's geometry and its UV mapping. For example, if you map an object and then move vertices, the texture moves along with the sub-objects, whether you want it to or not. If you turn on Preserve UVs, you can perform minor editing tasks without changing the mapping. Original object with texture map (left); Scaled vertices with Preserve UVs off (center); Scaled vertices with Preserve UVs on (right) TIP For best results with Preserve UVs at the vertex level, use it for limited vertex editing. For example, you'll usually have no trouble moving a vertex within edge or face constraints. Also, it's better to perform one big move than several smaller moves, as multiple small moves can begin to distort the mapping. If, however, you need to perform extensive geometry editing while preserving mapping, use the Channel Info utility on page 6936 instead. 1354 | Chapter 9 Modifiers Preserve UVs Settings Opens the Preserve Map Channels dialog on page 2367, which lets you specify which vertex color channels and/or texture channels (map channels) to preserve. By default, all vertex color channels are off (not preserved), and all texture channels are on (preserved). Create Lets you create new geometry. How this button behaves depends on which level is active: ■ Object, Polygon, and Element levelsLets you add polygons in the active viewport. After you turn on Create, click three or more times in succession anywhere, including on existing vertices, to define the shape of the new polygon. To finish, right-click. While creating a polygon at the Polygon or Element level, you can delete the most recently added vertex by pressing Backspace. You can do this repeatedly to remove added vertices in reverse order of placement. You can start creating polygons in any viewport, but all subsequent clicks must take place in the same viewport. TIP For best results, click vertices in counterclockwise (preferred) or clockwise order. If you use clockwise order, the new polygon will face away from you. ■ Vertex levelLets you add vertices to a single selected poly object. After selecting the object and clicking Create, click anywhere in space to add free-floating (isolated) vertices to the object. The new vertices are placed on the active construction plane unless object snapping is on. For example, with face snapping on, you can create vertices on object faces. ■ Edge and Border levelsLets you create an edge between a pair of non-adjacent vertices on the same polygon. Click Create, click a vertex, and then move the mouse. A rubber-band line extends from the vertex to the mouse cursor. Click a second, non-adjacent vertex on the same polygon to connect them with an edge. Repeat, or, to exit, right-click in the viewport or click Create again. Edges you create separate the polygons. For example, by creating an edge inside a quadrilateral polygon, you turn it into two triangles. Collapse (Vertex, Edge, Border, and Polygon levels only) Collapses groups of contiguous selected sub-objects by welding their vertices to a vertex at the selection center. Edit Poly Modifier | 1355 Using collapse on a vertex selection Using collapse on a polygon selection Attach Lets you attach other objects in the scene to the selected poly object. After activating Attach, click an object to attach to the selected object. Attach remains active, so you can continue clicking objects to attach them. To exit, right-click in the active viewport or click the Attach button again. You can attach any type of object, including splines, patch objects, and NURBS surfaces. Attaching a non-mesh object converts it to editable-poly format. When you attach an object, the materials of the two objects are combined in the following way: ■ If the object being attached does not have a material assigned, it inherits the material of the object it is being attached to. 1356 | Chapter 9 Modifiers Handle inherits material from the cup it is being attached to. ■ Likewise, if the object you're attaching to doesn't have a material, it inherits the material of the object being attached. ■ If both objects have materials, the resulting new material is a multi/sub-object material on page 6542 that includes the input materials. A dialog appears offering three methods of combining the objects' materials and material IDs. For more information, see Attach Options Dialog on page 2232. Attach remains active in all sub-object levels, but always applies to objects. Attach List Lets you attach other objects in the scene to the selected mesh. Click to open the Attach List dialog, which works like Select From Scene on page 184 to let you choose multiple objects to attach. Edit Poly Modifier | 1357 Upper left: Shaded view of model Upper right: Wireframe view of model Lower left: Model with objects attached Lower right: Subsequent multi/sub-object material Detach (sub-object levels only) Detaches the selected sub–objects and the polygons attached to them as a separate object or element(s). With an Editable Poly object, when you click Detach, the software prompts you for the options specified on the Detach dialog. With an Edit Poly object, Detach on the Modify panel automatically uses those settings. To change them, click Detach Settings (see following). 1358 | Chapter 9 Modifiers Detach Settings Opens the Detach dialog on page 1367, which lets you set several options. Available only with Edit Poly objects; with Editable Poly, this dialog opens automatically when you click Detach. Cut and Slice group These knife-like tools let you subdivide the poly mesh along a plane (Slice) or in a specific area (Cut). Also see Full Interactivity on page 1366. Slice Plane (sub-object levels only) Creates a gizmo for a slice plane that you can position and rotate to specify where to slice. Also enables the Slice and Reset Plane buttons; click Slice to create new edges where the plane intersects the geometry. If you use Slice Plane from the modeling ribbon, the Slice, Split, and Reset Plane controls are available on the Slice Mode contextual panel on page 2049. If snapping is off, you see a preview of the slice as you transform the slice plane. To perform the slice, click the Slice button. NOTE At the Polygon or Element sub-object level, Slice Plane affects only selected polygons. To slice the entire object, use Slice Plane at any other sub-object level, or at the object level. Split When on, the QuickSlice and Cut operations create double sets of vertices at the points where the edges are divided. This lets you easily delete the new polygons to create holes, or animate the new polygons as separate elements. Slice (sub-object levels only) Performs the slice operation at the location of the slice plane. Available only when Slice Plane is on. This tool slices the poly just like the “Operate On: Polygons” mode of the Slice modifier on page 1676. Edit Poly Modifier | 1359 Left: Using Slice; Right: After slicing and moving the pieces apart Reset Plane (sub-object levels only) Returns the Slice plane to its default position and orientation. Available only when Slice Plane is on. QuickSlice Lets you quickly slice the object without having to manipulate a gizmo. Make a selection, click QuickSlice, and then click once at the slice start point and again at its endpoint. You can continue slicing the selection while the command is active. To stop slicing, right-click in the viewport, or click QuickSlice again to turn it off. 1360 | Chapter 9 Modifiers With Quickslice on, you can draw a line across your mesh in any viewport, including Perspective and Camera views. The mesh is sliced interactively as you move the line endpoint. NOTE At the Object level, QuickSlice affects the entire object. To slice only specific polygons, use QuickSlice on a polygon selection at the Poly sub-object level. NOTE At the Polygon or Element sub-object level, QuickSlice affects only selected polygons. To slice the entire object, use QuickSlice at any other sub-object level, or at the object level. Cut Lets you create edges from one polygon to another or within polygons. Click at the start point, move the mouse and click again, and continue moving and clicking to create new connected edges. Right-click once to exit the current cut, whereupon you can start a new one, or right-click again to exit Cut mode. While cutting, the mouse cursor icon changes to show the type of sub-object it’s over, to which the cut will be made when you click. The following illustration shows the three different cursor icons. Edit Poly Modifier | 1361 Top: Cutting to a vertex Center: Cutting to an edge Bottom: Cutting to a polygon Cut is available at the object level and all sub-object levels. NOTE You can use Cut with Turn for enhanced productivity. For more information, see this procedure on page 1310. 1362 | Chapter 9 Modifiers _____ MSmooth Smoothes the object using the current settings. This command uses subdivision functionality similar to that of the MeshSmooth modifier on page 1450 with NURMS Subdivision, but unlike NURMS subdivision, it applies the smoothing instantly to the selected area of the control mesh. Smoothing a low-poly object with NURMS subdivision MSmooth Settings Opens the MeshSmooth Selection dialog on page 2365, which lets you specify how smoothing is applied. Tessellate Subdivides all polygons in the object based on the Tessellation settings on page 2371. Tessellation is useful for increasing local mesh density while modeling. You can subdivide any selection of polygons. Two tessellation methods are available: Edge and Face. Tessellate Settings Opens the Tessellate caddy on page 2371, which lets you specify how smoothing is applied. Make Planar Forces all selected sub-objects to be coplanar. The plane's normal is the average surface normal of the selection. At the Object level, forces all vertices in the object to become coplanar. TIP One application for Make Planar is making a flat side on an object. Normally, you would use a contiguous selection set. If the selection includes vertices on various parts of the object, the vertices are still made planar, but with distorting effects on the rest of the geometry. Edit Poly Modifier | 1363 X/Y/Z Makes all selected sub-objects planar and aligns the plane with the corresponding plane in the object's local coordinate system. The plane used is the one to which the button axis is perpendicular; so, for example, clicking the X button aligns the object with the local YZ axis. At the Object level, makes all vertices in the object planar. View Align Aligns all vertices in the object to the plane of the active viewport. At sub-object levels, this function affects only selected vertices or those belonging to selected sub-objects. In orthographic viewports, aligning to the view has the same effect as aligning to the construction grid when the home grid is active. Aligning to a perspective viewport (including camera and light views), reorients the vertices to a plane that is parallel to the camera's viewing plane. This plane is perpendicular to the view direction that is closest to the vertices' average position. Above: Selected polygons in Perspective view Below: Same polygons aligned to Front view 1364 | Chapter 9 Modifiers Grid Align Aligns all vertices in the selected object to the plane of the current view. At sub-object levels, aligns only selected sub-objects. This command aligns the selected vertices to the current construction plane. The current plane is specified by the active viewport in the case of the home grid. When using a grid object, the current plane is the active grid object. Relax Applies the Relax function to the current selection, using the current Relax settings (see following). Relax normalizes mesh spacing by moving each vertex toward the average location of its neighbors. It works the same way as the Relax modifier on page 1591. At the object level, Relax applies to the entire object. At sub-object levels, Relax applies only to the current selection. Relax Settings Opens the Relax caddy on page 2369, which lets you specify how the Relax function is applied. Hide Selected (Vertex, Polygon, and Element levels only) Hides selected sub-objects. Unhide All (Vertex, Polygon, and Element levels only) Restores hidden sub-objects to visibility. Hide Unselected (Vertex, Polygon, and Element levels only) Hides unselected sub-objects. Named Selections (sub-object levels only) Lets you copy and paste named selection sets of sub-objects between objects. Start by creating one or more named selection sets, copy one, select a different object, go to the same sub-object level, and then paste the set. NOTE This function uses sub-object IDs, so if the target object's geometry differs from that of the source object, the pasted selection will probably comprise a different set of sub-objects. For more information, see Named Selection Sets on page 163. Copy Opens a dialog that lets you specify a named selection set to place into the copy buffer. Paste Pastes the named selection from the copy buffer. _____ Delete Isolated Vertices (Edge, Border, Polygon, and Element levels only) When on, deletes isolated vertices when you delete a selection of Edit Poly Modifier | 1365 contiguous sub-objects. When off, deleting sub-objects leaves all vertices intact. Default=on. Full Interactivity (editable poly only) Toggles the level of feedback for the QuickSlice and Cut tools, as well as all settings dialogs and caddies. Available with editable poly objects, but not the Edit Poly modifier. When on (the default), 3ds Max updates the viewport in real time as you use the mouse to manipulate the tool or change a numeric setting. With Cut and QuickSlice, when Full Interactivity is off, only the rubber-band line is visible until you click. Similarly, with numeric settings in caddies, the final result is visible only when you release the mouse button after changing the setting. The state of Full Interactivity doesn't affect changing a numeric setting from the keyboard. Whether it's on or off, the setting takes effect only when you exit the field by pressing Tab or Enter, or by clicking a different control in the dialog. Align Geometry Dialog Select an Edit Poly object. ➤ Modify panel ➤ object level or any sub-object level ➤ Animate mode ➤ Edit Geometry rollout ➤ Click View Align or Grid Align ➤ Edit Poly Mode rollout ➤ Settings button This Edit Poly-specific dialog lets you change the alignment method after using the View Align or Grid Align function. Available only in Animate mode after using the View Align or Grid Align command. Interface 1366 | Chapter 9 Modifiers Align to Lets you choose what to align the selection with: ■ ViewAligns the selection with the view plane. ■ Construction PlaneAligns the selection with the active grid. Update Click this button to realign the selection with the designated entity after changing it. Typically you'd use this with the View option after rotating the view. Detach Dialog Select an Edit Poly object. ➤ Modify panel ➤ any sub-object level ➤ Edit Geometry rollout ➤ Detach Settings button This dialog lets you specify how a sub-object selection is detached from an Edit Poly object. By default, both Detach To Element and Detach As Clone are off. Thus, when you detach a sub-object selection, it's removed from the original object and becomes a new object. The dialog options let you keep the detached item as an element of the original object and/or detach it as a copy of the original selection. NOTE When you detach a vertex or an edge, any adjacent polygons are detached as well. Also, a detached item remains in its original location. NOTE Any Detach dialog settings you change are saved as program defaults automatically. Edit Poly Modifier | 1367 Interface Detach as Lets you assign a name to the new object. By default, the name is "Object" followed by a sequence number. This option is unavailable when Detach To Element is on. Detach To Element The detached sub-object selection remains as part of the original object, but becomes a new element. It can then be manipulated independently at the Element sub-object level. Default=off. Detach As Clone Detaches the selection as a copy of the original selection; the latter remains intact. Default=off. Edit Spline Modifier Create or select a spline ➤ ➤ Edit Spline Modify panel ➤ Object Space Modifiers Create or select a spline ➤ Modifiers menu ➤ Patch/Spline Editing ➤ Edit Spline The Edit Spline modifier provides explicit editing tools for different levels of the selected shape: vertex, segment, or spline. The Edit Spline modifier matches all the capabilities of the base Editable Spline object, with the exceptions noted below. For a complete parameter reference, see Editable Spline on page 554. The Rendering and Interpolation rollouts found in Editable Spline, which allow manipulation of the spline's creation parameters, are not available in the Edit Spline modifier. (The creation parameters are available in the modifier stack on page 8776 for a spline to which Edit Spline is applied.) In addition, the 1368 | Chapter 9 Modifiers direct vertex animation capabilities of Editable Spline are not possible in Edit Spline. When possible, it’s far more efficient and reliable to perform explicit editing at the Editable Spline level rather than store those edits within the Edit Spline modifier. The Edit Spline modifier must copy the geometry passed to it, and this storage can lead to large file sizes. The Edit Spline modifier also establishes a topological dependency that can be adversely effected if earlier operations change the topology being sent to it. There are, however, situations where using Edit Spline is the preferred method. ■ You want to edit a parametric shape as a spline, but want to retain the ability to modify its creation parameters after the edit. ■ You want to store your edits temporarily within Edit Spline until you are satisfied with the results, before committing them permanently to an editable spline object. ■ You need to make edits across several shapes at once, but do not want to convert them to a single editable spline object. ■ You have a modifier in the stack that must stay parametric, and the resulting spline must be edited after the modifier is applied. Extrude Modifier Select a shape. ➤ Modifiers ➤ Extrude Modify panel ➤ Modifier List ➤ Object-Space Select a shape. ➤ Modifiers menu ➤ Mesh Editing ➤ Extrude The Extrude modifier adds depth to a shape and makes it a parametric object. Extrude Modifier | 1369 Above: Spline before extrusion Below left: Extruded spline with Cap End off Below right: Extruded spline with Cap End on 1370 | Chapter 9 Modifiers Interface Amount Sets the depth of the extrusion. Segments Specifies the number of segments that will be created in the extruded object. Capping group Cap Start Generates a flat surface over the start of the extruded object. Cap End Generates a flat surface over the end of the extruded object. Morph Arranges cap faces in a predictable, repeatable pattern, which is necessary for creating Morph targets on page 600. Morph capping can generate long, thin faces that don't render or deform as well as grid capping. Use morph capping primarily if you're extruding multiple morph targets. Grid Arranges cap faces in a square grid trimmed at the shape boundaries. This method produces a surface of evenly sized faces that can be deformed easily by other modifiers. When you choose the Grid capping option, the grid lines are hidden edges rather than visible edges. This primarily affects any objects assigned a material with the Wire option turned on, or any objects that use the Lattice modifier on page 1423. Extrude Modifier | 1371 Output group Patch Produces an object that you can collapse to a patch object; see Editing the Stack on page 987. Mesh Produces an object that you can collapse to a mesh object; see Editing the Stack on page 987. NURBS Produces an object that you can collapse to a NURBS surface; see Editing the Stack on page 987. _____ Generate Mapping Coords Applies mapping coordinates to the extruded object. Default=off. When on, Generate Mapping Coordinates applies separate mapping coordinates to the end caps, placing a single 1 x 1 tile on each cap. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=on. Generate Material IDs Assigns different material IDs to the sides and the caps of the extruded object. Specifically, the sides receive ID 3, and the caps receive IDs 1 and 2. This check box is turned on as a default when you create an extruded object, but if you load an extruded object from a MAX file, the check box is turned off, maintaining the same material ID assignment for that object as it had in R1.x. Use Shape IDs Uses the material ID values assigned to segments in the spline on page 511 you extruded, or curve sub-objects in the NURBS on page 2433 curve you extruded. Smooth Applies smoothing to the extruded shape. Face Extrude Modifier Modify panel ➤ Select one or more faces of a mesh object. ➤ Modifier List ➤ Face Extrude 1372 | Chapter 9 Modifiers Modify panel ➤ Select one or more faces of a mesh object. ➤ Modifiers menu ➤ Mesh Editing ➤ Face Extrude The Face Extrude modifier extrudes faces along their normals, creating new faces along the sides of the extrusion that connect the extruded faces to their object. As with most modifiers, this affects the current face selection passed up the stack. There are various differences between the Face Extrude modifier and the Face Extrude function in an editable mesh on page 2190, especially the fact that all parameters in the Face Extrude modifier are animatable. Faces extruded on the top and along the edge of the object Face Extrude Modifier | 1373 Interface Modifier Stack Extrude Center At this sub-object level, you can select and move (or animate) the center point. This affects the geometry only if you turn on Extrude From Center. For more information on the stack display, see Modifier Stack on page 8776. Parameters rollout Amount Determines the extent of the extrusion. You can adjust and readjust the Amount spinner as often as you choose. To extrude a second level, apply another Face Extrude modifier. Scale Scales each cluster of selected faces independently about its center. NOTE By using multiple extrude modifiers with Scale, you can achieve a bevel effect. Extrude From Center Extrudes each vertex radially from the center point. The direction in which the faces are extruded is slightly different than Face Extrude in the editable mesh. Each vertex is displaced in the direction of the 1374 | Chapter 9 Modifiers average surface normal of selected faces that share that vertex. So each vertex may move in a slightly different direction. Put another way, each vertex is extruded in the direction of the surface normal at the point on the surface where that vertex lies. FFD (Free-Form Deformation) Modifiers Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ FFD 2x2x2, FFD 3x3x3, or FFD 4x4x4 Make a selection. ➤ Modifiers menu ➤ Free Form Deformers ➤ FFD 2x2x2, FFD 3x3x3, or FFD 4x4x4 FFD stands for Free-Form Deformation. Its effect is used in computer animation for things like dancing cars and gas tanks. You can use it as well for modeling rounded shapes such as chairs and sculptures. The FFD modifier surrounds the selected geometry with a lattice. By adjusting the control points of the lattice, you deform the enclosed geometry. FFD deformation creates a bulge in the snake. FFD (Free-Form Deformation) Modifiers | 1375 There are three FFD modifiers, each providing a different lattice resolution: 2x2, 3x3, and 4x4. The 3x3 modifier, for example, provides a lattice with three control points across each of its dimensions or nine on each side of the lattice. There are also two FFD-related modifiers that provide supersets of the original modifiers; see FFD (Box/Cyl) modifier on page 1380. With the FFD (Box/Cyl) modifiers, you can set any number of points in the lattice, which makes them more powerful than the basic FFD modifier. Animating FFD Control Points and the Master Point Controller Turn on the Auto Key button and move the lattice points to animate an FFD and any underlying geometry. When you animate FFD control points, a Master Point Controller is created automatically. In Track View the master controller allows you to move multiple animated control points in time by simply moving one master key (master keys display green in Track View). Procedures To use an FFD modifier: 1 Select the geometry. This can be the whole object, or you can use a Mesh Select modifier to select a portion of the object's vertices. 2 Apply the FFD 2X2, FFD 3X3, or FFD 4X4 modifier, depending on the resolution of the lattice you want. An orange lattice gizmo surrounds the geometry. 3 In the modifier stack display, choose the Control Points sub-object level, and then move the control points of the lattice to deform the underlying geometry. To animate the deformation, turn on Auto Key. The lattice volume defaults to the bounding box of the selected geometry. However, you can position, rotate, and/or scale the lattice box so that it modifies only a subset of vertices. Choose the Lattice sub-object level, and then use any of the transform tools to adjust the lattice volume relative to the geometry. 1376 | Chapter 9 Modifiers Interface Modifier Stack Control Points At this sub-object level, you can select and manipulate control points of the lattice, one at a time or as a group (select multiple points using standard techniques). Manipulating control points affects the shape of the underlying object. You can use standard transformation methods with the control points. If the Auto Key button is turned on when modifying the control points, the points become animated. Lattice At this sub-object level, you can position, rotate, or scale the lattice box separately from the geometry. If the Auto Key button is turned on, the lattice becomes animated. When you first apply an FFD, its lattice defaults to a bounding box surrounding the geometry. Moving or scaling the lattice so that only a subset of vertices lies inside the volume makes it possible to apply a localized deformation. Set Volume At this sub-object level, the deformation lattice control points turn green, and you can select and manipulate control points without affecting the modified object. This lets you fit the lattice more precisely to irregular-shaped objects, giving you finer control when deforming. Set Volume essentially lets you set the initial state of the lattice. If you use it after you have animated a control point or when the Auto Key button is turned on, then it works the same as at the Control Points sub-object level, deforming the object as you manipulate points. For more information on the stack display, see Modifier Stack on page 8776. FFD (Free-Form Deformation) Modifiers | 1377 FFD Parameters rollout Display group Affects the display of the FFD in the viewports. Lattice Draws lines connecting the control points to make a grid. Although the viewports can sometimes become cluttered when these lines are drawn, it helps to visualize the lattice. Source Volume Displays the control points and lattice in their unmodified state. When you're in the Lattice selection level, this helps to position the source volume. 1378 | Chapter 9 Modifiers TIP To see which points lie in the source volume (and therefore will be deformed), temporarily deactivate the modifier by clicking to turn off the light bulb icon in the modifier stack display. Deform group Only in Volume Deforms vertices that lie inside the source volume. Default=on. All Vertices Deforms all vertices, regardless of whether they lie inside or outside the source volume. The deformation outside the volume is a continuous extrapolation of the deformation inside the volume. The deformation can be extreme for points far away from the source lattice. Control Points group Reset Returns all control points to their original positions. Animate All Assigns Point3 controllers to all control points so that they're immediately visible in Track View. By default the control points of an FFD lattice don't appear in Track View because they don't have controllers assigned to them. But when a control point is animated, a controller is assigned to it and becomes visible in Track View. With Animate All, you can add and delete keys and perform other key operations. Conform to Shape Moves each FFD control point to the intersection of the modified object with a straight line extending between the object's center to the control point's original location, plus an offset distance specified by the Offset spinner. NOTE Conform to Shape works best with regular shapes, such as primitives. It's less effective if the object has degenerate (long, narrow) faces or sharp corners. All the controls are unavailable with shapes, because there are no faces to intersect with. Inside Points Only control points inside the object are affected by Conform to Shape. Outside Points Only control points outside the object are affected by Conform to Shape. Offset The distance by which control points affected by Conform to Shape are offset from the object surface. FFD (Free-Form Deformation) Modifiers | 1379 About Displays a dialog with copyright and licensing information. FFD (Box/Cylinder) Modifiers Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ FFD(box) or FFD(cyl) Make a selection. ➤ Modifiers menu ➤ Free Form Deformers ➤ FFD Box or FFD Cylinder FFD stands for Free-Form Deformation. Its effect is used in computer animation for things like dancing cars and gas tanks. You can use it as well for modeling rounded shapes such as chairs and sculptures. The FFD modifier surrounds the selected geometry with a lattice box. By adjusting the control points of the lattice, you deform the enclosed geometry. With the Auto Key button turned on, you can animate the lattice points, and thus the deformation of the geometry. FFD deformation creates a bulge in the snake. 1380 | Chapter 9 Modifiers With the FFD(box) and FFD(cyl) modifiers you can create box-shaped and cylinder-shaped lattice free-form deformation objects. Both are available as object modifiers and as space warps. The source lattice of an FFD modifier is fitted to the geometry it's assigned in the stack. This can be a whole object, or a sub-object selection of faces or vertices. Interface Modifier Stack Control Points At this sub-object level, you can select and manipulate control points of the lattice, one at a time or as a group (select multiple points using standard techniques). Manipulating control points affects the shape of the underlying object. You can use standard transformation methods with the control points. If the Auto Key button is turned on when modifying the control points, the points become animated. Lattice At this sub-object level, you can position, rotate, or scale the lattice box separately from the geometry. If the Auto Key button is turned on, the lattice becomes animated. When you first apply an FFD, its lattice defaults to a bounding box surrounding the geometry. Moving or scaling the lattice so that only a subset of vertices lie inside the volume makes it possible to apply a localized deformation. Set Volume At this sub-object level, the deformation lattice control points turn green, and you can select and manipulate control points without affecting the modified object. This lets you fit the lattice more precisely to irregular-shaped objects, giving you finer control when deforming. Set Volume essentially lets you set the initial state of the lattice. If a control point is already animated or the Animate button is turned on, then Set Volume works the same as at the Control Points sub-object level, deforming the object as you manipulate points. For more information on the stack display, see Modifier Stack on page 8776. FFD (Box/Cylinder) Modifiers | 1381 FFD Parameters rollout 1382 | Chapter 9 Modifiers Dimensions group Adjusts the unit dimensions of the source volume and specifies the number of control points in the lattice. Note that the point dimensions also show up beside the modifier name in the stack list. Lattice dimensions The text displays the current number of control points in the lattice (for example 3x4x4). Set Number of Points Displays a dialog containing three spinners labeled Length, Width, and Height, plus OK/Cancel buttons. Specify the number of control points you want in the lattice, and then click OK to make the change. WARNING Make changes to the lattice dimensions before you adjust the positions of the lattice control points. When you change the number of control points with this dialog, you lose any adjustments you've already made to the control points. (You can undo this dialog.) Display group Affects the display of the FFD in the viewports. Lattice Draws lines connecting the control points to make a grid. Although the viewports can sometimes become cluttered when these extra lines appear, they help to visualize the lattice. Source Volume Displays the control points and lattice in their unmodified state. This is an important display when you're adjusting the source volume to affect specific vertices that lie inside or outside it. TIP To see which points lie in the source volume (and therefore will be deformed), temporarily deactivate the modifier by clicking to turn off the light bulb icon in the modifier stack display. Deform group Provides controls that specify which vertices are affected by the FFD. Only In Volume Deforms vertices that lie inside the source volume. Vertices outside the source volume are not affected. All Vertices Deforms all vertices regardless of whether they lie inside or outside the source volume depending on the value in the Falloff spinner. The deformation outside the volume is a continuous extrapolation of the deformation inside the volume. Note that the deformation can be extreme for points far away from the source lattice. FFD (Box/Cylinder) Modifiers | 1383 Falloff Determines the distance from the lattice that the FFD effect will decrease to zero. Available only when you choose All Vertices. When set to 0, it's effectively turned off, and there is no falloff. All vertices are affected regardless of how far they are from the lattice. The units of the Falloff parameter are actually specified relative to the size of the lattice. A falloff of 1 means that the effect will go to 0 for points that are a lattice width/length/height away from the lattice (depending on which side they are). Tension/Continuity Adjusts the tension and continuity of the deformation splines. Although you can't actually see the splines in an FFD, the lattice and control points represent the structure that controls the splines. As you adjust the control points, you alter the splines (which move through each of the points). The splines, in turn, deform the geometry of the object. By altering the tension and continuity of the splines, you alter their effect on the object. Selection group Provides additional methods of selecting the control points. You can toggle the state of any combination of the three buttons to select in one, two, or three dimensions at once. All X, All Y, All Z Selects all control points along the specified local dimension when you select a control point. By turning on two buttons, you can select all control points in two dimensions. Control Points group Reset Returns all control points to their original positions. Animate All By default, the control points of an FFD lattice don't appear in Track View because they don't have controllers assigned to them. But when you animate a control point, a controller is assigned and it becomes visible in Track View. You can also add and delete keys and perform other key operations. Animate All assigns Point3 controllers to all control points so that they're immediately visible in Track View. Conform to Shape Moves each FFD control point to the intersection of the modified object with a straight line extending between the object's center to the control point's original location, plus an offset distance specified by the Offset spinner. NOTE Conform to Shape works best with regular shapes, such as primitives. It's less effective if the object has degenerate (long, narrow) faces or sharp corners. All the controls are unavailable with shapes, because there are no faces for the lattice to intersect with. 1384 | Chapter 9 Modifiers Inside Points Only control points inside the object are affected by Conform to Shape. Outside Points Only control points outside the object are affected by Conform to Shape. Offset The distance by which control points affected by Conform to Shape are offset from the object surface. About Displays a dialog with copyright and licensing information. FFD (Free-Form Deformation) Select Modifier Select an FFD space warp. ➤ Select Modify panel ➤ Modifier List ➤ FFD Select an FFD space warp. ➤ Modifiers menu ➤ Selection Modifiers ➤ FFD Select The FFD Select modifier works on an FFD (Box) Space Warp on page 2997 or FFD (Cyl) Space Warp on page 3004 to change the selection of its control points, and pass the selection up the stack. The space-warp versions of the FFD modifiers provide sub-object geometry that you can manipulate in the stack. For example, you can apply a Bend modifier on page 1104 to an FFD space warp, bend its control points, and thus bend the object to which the space warp is bound. Using the FFD Select modifier, you can select a sub-object pattern of control points, and then use the subsequent modifier(s) to deform the selected points. The FFD Select modifier is especially useful for assigning Linked XForm modifiers on page 1428 to portions of an FFD space warp. Procedures Example: To use the Linked XForm modifier with an FFD space warp: 1 Create an object, an FFD space warp (such as FFD (Box) on page 2997), and a couple of dummies on page 2871. 2 Bind the FFD space warp to the object you want to deform. FFD (Free-Form Deformation) Select Modifier | 1385 3 Select the FFD space warp and apply an FFD Select modifier. 4 At the Control Points sub-object level, select the control points you want to use to affect the object. 5 Apply a Linked XForm modifier, and then pick one of the dummies as a control object. 6 Apply another FFD Select modifier, and make a different selection of control points. 7 Apply another Linked XForm modifier and assign the other dummy as a control object. 8 You can now move either of the dummy objects to both translate the linked control points in the FFD space warp, and to deform the target object. Interface All X/All Y/ All Z Select the control points corresponding to the specified axis plane. First click a selection button, and then select FFD control points in the viewports. Fillet/Chamfer Modifier Select a shape. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Fillet/Chamfer Select a shape. ➤ Modifiers menu ➤ Patch/Spline editing ➤ Fillet/Chamfer The Fillet/Chamfer modifier lets you fillet or chamfer the corners between linear segments of Shape objects on page 9306. Fillet rounds corners where 1386 | Chapter 9 Modifiers segments meet, adding new control vertices. Chamfer bevels corners, adding another vertex and line segment. Note that this modifier works on the splines at the sub-object level of the shape. It does not work between two or more independent shape objects. When you apply Fillet/Chamfer, you're placed in a Vertex sub-object selection level. You can select (and move) any vertex, but only Corner vertices and Bezier Corner vertices are valid for fillet and chamfer functions. In addition, both segments connected by a Bezier Corner vertex must be linear rather than curved. There are two methods for applying either fillets or chamfers: ■ Select one or more valid corner vertices, and then adjust either the Radius spinner to fillet the selected corners, or the Distance spinner to chamfer the corners. ■ You can preset the Radius or Distance values, and then select one or more valid corner vertices, and click one of the Apply buttons to apply the specified value to the selected vertices. NOTE As of version 3 of 3ds Max, Edit/Editable Spline on page 568 includes interactive fillet/chamfer functions. The only reason to use this modifier is to apply it at a specific location on the stack. Star with selected vertices Fillet/Chamfer Modifier | 1387 Fillet applied to above star with radius of 20 (left) and 40 (right) Chamfer applied to above star with distance of 20 Procedures Example: To fillet/chamfer a star: 1 Create a Star shape on page 533. 2 Apply a Fillet/Chamfer modifier. 3 Select one or more of the star's vertices. 4 Adjust the parameters to achieve different effects. 1388 | Chapter 9 Modifiers Interface Fillet group Radius Specifies the radius of the filleted corner. Apply Applies the value specified in the Radius spinner to selected vertices. For example, before selecting any vertices, set the Radius to the desired value, then select your vertices and click Apply to fillet the selection with the specified radius. Chamfer group Distance Specifies the distance of the new vertices from the original corner vertex. Apply Applies the value specified in the Distance spinner to selected vertices. For example, before selecting any vertices, set Distance to the desired value, then select your vertices and click Apply to chamfer the corners. Flex Modifier Select a Mesh , Patch, or NURBS object. ➤ List ➤ Object-Space Modifiers ➤ Flex Modify panel ➤ Modifier Select a Mesh, Patch, or NURBS object. ➤ Modifiers menu ➤ Animation Modifiers ➤ Flex Modifier The Flex modifier simulates soft-body dynamics using virtual springs between an object's vertices. You can set the springs' stiffness, or how actively they Flex Modifier | 1389 keep vertices from coming close to each other, as well as stretch, or how far apart they can move. At its simplest, this system causes vertices to lag behind an object as it moves. At a more advanced level, you can also control the sway, or how much the spring angle can change. Flex causes the tongue to wag as the head rotates. Flex works with NURBS, patches, meshes, shapes, FFD space warps, and any plug-in-based object types that can be deformed. You can combine Flex with space warps on page 2920 such as Gravity, Wind, Motor, Push, and PBomb to add realistic, physically based animation to an object. In addition, you can apply deflectors to soft-body objects to simulate collision. NOTE The Flex modifier is aware of vertex/control-point motion in any animated modifier that deforms points below Flex in the modifier stack, such as the Morpher modifier on page 1464. Use this to simulate soft body motion on a morphed or otherwise deform-animated object. TIP To change the center of the flex effect, after applying the Flex modifier to an object or sub-object selection, choose the Flex modifier's Center sub-object and use Move. 1390 | Chapter 9 Modifiers TIP Using Flex's advanced capabilities can significantly impede real-time playback. To improve performance in such cases, use the Point Cache modifier on page 1521 to record the vertex animation to disk, and then play it back using the cache. The antennae, with the Flex modifier applied, move around like springs reacting to the motion of the character's head. Surfaces Influenced by the Flex Modifier ■ On a mesh surface, the Flex modifier influences every vertex. ■ On a patch surface, the Flex modifier influences both control points and tangent handles. Flex unlocks tangent handles and moves them independently. ■ On a NURBS surface, Flex influences control vertices (CVs) or points. ■ On a Spline (shape), the Flex modifier influences both control points and tangent handles. ■ On an FFD Space Warp, the Flex modifier influences control points. Flex Modifier | 1391 Effects You can apply space warps to the Flex modifier. For example, you can add Wind on page 2960 to animate plants and trees, or a waving flag. In such cases, you don't need to create keyframes to see the effects; the space warp alone can animate the surface. Character Animation Use Flex above the Skin modifier on page 1614 to add secondary motion to a character animated with Bones, or above the Physique modifier to add secondary motion to a character animated with Biped. Procedures Example: To paint on weights: 1 Create a sphere on the left side of the Top viewport. 2 Turn on (Auto Key) and drag the time slider to frame 50. 3 In the Top viewport, viewport. 4 Turn off 5 On the move the sphere to the right side of the (Auto Key). Modify panel, click the Modifier List, and then choose Flex. The Flex modifier is applied to the sphere. 6 Click (Play Animation). The sphere flexes around the Transform gizmo evenly. 7 Open the Flex modifier hierarchy in the stack display, and click Weights & Springs. This enables modification of the Weights & Springs sub-object settings. 8 In the Paint Weights group, turn on Paint. 1392 | Chapter 9 Modifiers 9 In the Left viewport, paint on the lower part of the sphere. The vertex color changes as the vertex weight changes. Yellow vertices are more rigid, blue vertices are less rigid. TIP You can change Flex vertex colors through Customize menu ➤ Customize User Interface ➤ Colors ➤ Elements=Geometry ➤ Subselection Hard/Medium/Soft. 10 Click (Play Animation). The sphere wobbles on one side more than the other. If the Strength setting in the Paint Vertex group is a positive value, you paint rigidity. If the values are negative, you paint flexibility. To reverse the effect, paint with negative Strength values. Example: To use wind as a force: 1 In the Top viewport, create a sphere. 2 On the Create panel, click (Space Warps), and then, if necessary, choose Forces from the drop-down list. 3 Click Wind, and then click and drag in the Front viewport to create a wind gizmo. 4 On the Wind Parameters rollout, set Strength and Turbulence to 4. 5 Select the Sphere. 6 Go to the Modify panel, and apply a Flex modifier. 7 On the Modify panel ➤ Parameters rollout, set Samples to 1. 8 On Forces and Deflectors rollout ➤ Forces group, click the Add button, and then select the Wind gizmo in the viewports. 9 Click (Play Animation). Flex Modifier | 1393 The sphere undulates in the wind. The Advanced Parameters rollout ➤ Reference Frame setting determines the frame where the force(s) in the list take effect. You can also use this example to see how the Chase Springs option works. 10 Turn off Chase Springs and click (Play Animation) again. The sphere keeps moving in the direction the wind is blowing without "bouncing" back. That's because the chase springs, which attempt to return the object to its original shape, are no longer in effect. To add custom springs: 1 Apply Flex to an object and go to the Weights & Springs sub-object level. The Flex vertices appear at object vertices in the viewports. 2 On the Advanced Springs rollout, turn on Show Springs. 3 Click the Options button and in the Spring Option dialog on page 1406, choose how you want to add springs. Exit the Spring Option dialog. 4 Select vertices according to the options. For instance, if you want to add one Hold Shape spring between two vertices, select both vertices. 5 Click Add Spring. The new spring or springs appear. Edge springs are blue and Hold Shape springs are red. Example: To create a swinging rope: 1 Use Create menu ➤ Space Warps to add a Drag and a Gravity space warp in the Top viewport. 2 Use Create menu ➤ Shapes ➤ Line to create a line with ten vertices spaced evenly in the top viewport. 3 On the Modify panel, turn on select all the vertices except the first vertex. 4 Apply the Flex modifier. 1394 | Chapter 9 Modifiers (Vertex) and 5 In the modifier stack view, open Weights and Springs sub-objects. 6 Turn off Use Chase Springs. 7 Turn off Use Weights. 8 Set the solver to Runge-Kutta4. 9 Set Samples to 5. 10 In a viewport, select all the points on the spline. 11 In the Advance Springs rollout, click the Option button. 12 In the dialog, turn on Hold Edge Length Springs and click OK. 13 Click Add Springs. 14 On the Forces and Deflectors rollout, add Gravity and Drag in the Forces group. 15 Click (Play Animation). The spline resembles a swinging rope. Example: To create cloth draping on a sphere: 1 Use Create menu ➤ Space Warps to add a Drag and a Gravity space warp in the Top viewport. 2 Use Create menu ➤ Space Warps ➤ Deflectors ➤ SDeflector to create a spherical deflector. Set Bounce to 0 and Friction to 100. Place the deflector below Z=0. 3 Use Create menu ➤ Geometry ➤ Standard Primitives ➤ Plane to create a 20 x 20 plane in the Top viewport. It should be above the spherical deflector. 4 Apply a Mesh Select modifier to the plane. 5 In the Top viewport, column. select all the vertices except for the leftmost Flex Modifier | 1395 6 Apply the Flex modifier to the plane. 7 Turn off Use Chase Springs and Use Weights. 8 Set Samples to 3. 9 Click Create Simple Soft Body. 10 In the Forces and Deflectors rollout, add the Gravity and Drag forces. 11 In the Forces and Deflectors rollout, add the spherical deflector. 12 Click (Play Animation). The plane drapes over the spherical deflector like cloth. Interface Modifier Stack These modifier sub-object levels are available in the stack display by opening the modifier hierarchy (click the + icon to the left of the modifier name). Center Move the Transform gizmo in the viewports to set the center of the effect. The flex effect increases as the distance between the center and a vertex increases. 1396 | Chapter 9 Modifiers Edge Vertices Select vertices in the viewports to control the falloff and direction of the flex effect. Selected vertices flex less than unselected vertices. Weights & Springs Use the Weights And Painting rollout controls to select and deselect vertices for subsequent operations on the Weights And Painting rollout and the Advanced Springs rollout. You can paint weights at any sub-object level, and add and remove springs at any sub-object level (or even at the Flex modifier object level), but while a Weights & Springs selection is active, only the selected vertices are affected. Parameters rollout Flex Sets the amount of flex and bend. Range=0 to 1000; Default=1. This value represents the amount of the flexed animation that is used; the flexed animation is determined by other factors such as motion and vertex weighting. The default setting of 1 causes the flexed animation to occur unmodified; higher settings cause unnaturally high amounts of stretching, and lower settings cause diminished stretching. Strength Sets the overall spring strength of the chase springs. A value of 100 is rigid. Range=0 to 100; Default=3. Sway Sets the time for the object to come to rest for chase springs. Lower values increase the time for the object to come to rest. Range=0 to 100; Default=7. Flex Modifier | 1397 Use Chase Springs When on, enables chase springs, which force the object to return to its original shape. When off, no chase springs are used, and the amount by which vertices move depends only on their weights. Default=on. Typically, for soft-body simulations when you want objects to be influenced by forces and deflectors, you would turn off Use Chase Springs. Use Weights When on, Flex recognizes the different weights assigned to an object's vertices, applying different amounts of flexing accordingly. When off, the flex effect applies itself to the object as a monolithic whole. Default=on. Typically, for soft-body simulations when you want objects to be influenced by forces and deflectors, you would turn off Use Weights. Solver Type Choose a solver for the simulation from the drop-down list. The three choices are Euler, Midpoint, and Runge-Kutta4. Midpoint and Runge-Kutta4 require successively more computation than Euler, but are more stable and accurate. Default=Euler. TIP In most cases, you can use Euler successfully, but if unexpected object deformations occur during a simulation, try using one of the more accurate solver types. Specifically, you might need to use Midpoint or Runge-Kutta4 with higher Stretch and Stiffness settings. Samples The number of times per frame the Flex simulation is run at equal time intervals. The more samples you take, the more accurate and stable the simulation. When using the Midpoint or Runge-Kutta4 solver, you might not need as many samples as with Euler. Default=5. TIP If your simulation produces unexpected results, such as object vertices moving to seemingly random locations, try increasing the Samples setting. Simple Soft Bodies rollout 1398 | Chapter 9 Modifiers Lets 3ds Max determine spring settings for the entire object automatically. Alternatively, you can use the Advanced Springs on page 1404 rollout settings to specify spring settings between each pair of vertices. Create Simple Soft Body Generates spring settings for the object based on the Stretch and Stiffness settings. NOTE After you use Create Simple Soft Body, you can change the Stretch and Stiffness settings without having to click the button again; the changes take effect immediately. Stretch Determines how much object edges can elongate. When Advanced Springs rollout ➤ Enable Advanced Springs is off, the Stretch setting is linked to the Advanced Springs rollout ➤ Stretch Str. and Stretch Sway settings. Stiffness Determines how rigid the object is. When Advanced Springs rollout ➤ Enable Advanced Springs is off, the Stretch setting is linked to the Advanced Springs rollout ➤ Shape Str. and Shape Sway settings. The differences between Stretch and Stiffness are subtle, and understanding them is further complicated by the fact the two affect each other. In addition, how they work depends on object topology. For example, say you create a box, add a Flex modifier, apply Create Simple Soft Body, and then set a high Stretch value and a low Stiffness value. If you use the box in a Flex-based dynamics simulation, such as dropping it onto a surface (deflector) with gravity, you might expect the box to fall over and flatten out. But instead, because of the box's topology, which causes Create Simple Soft Body to apply a relatively small number of shape springs, you'd actually get better results with a low Stretch value and a high Stiffness value. However, if you use a sphere of eight segments instead, you'll get the collapsing behavior with the default Stretch and Stiffness settings, and as expected, increasing rigidity with higher Stiffness settings. In soft-body simulations, such as the above-cited example of dropping an object onto a surface, particularly with dense meshes, you might get better results by applying the mesh to an FFD space warp that's bound to the object. If the object's shape isn't suitable for use with the space warp, you might have to instead use the Advanced Springs on page 1404 rollout settings to apply springs manually. In such cases, you should create shape springs between opposite vertices rather than adjacent ones. Cloth-like animation usually works best with a high Stretch setting and a low Stiffness setting. For soft bodies, you would usually use high settings for both Stretch and Stiffness, depending on how "squishy" you want the object to be. Flex Modifier | 1399 Weights and Painting rollout When you first apply Flex to an object, the modifier automatically sets a weight for each vertex based on its distance from the modifier's center. The higher a vertex weight, the less prone it is to being affected by Flex effects. The modifier applies the highest weights to vertices closest to its center, and the lowest weights to vertices farthest from the center. So, for example, with a cylinder whose pivot point is at the base, you'll get the greatest amount of flexing at the top. But with a sphere, all of whose vertices are equidistant from the pivot point (center), all vertices have, by default, equal weight values. The Paint Weights controls let you use a spherical brush with adjustable radius and falloff to change vertex weights in the viewports, thus controlling the amount of lag. The Vertex Weights controls let you apply absolute or relative weighting to single vertices or groups of vertices. Paint Weights group Paint At any sub-object level, click Paint, and then drag the cursor over the mesh in the viewports to "paint" vertex weights using the current Strength and Feather settings. Vertex colors changes to reflect the new vertex weight. Painting changes vertex weights relative to their current values; it does not apply an absolute weight. Longer strokes over an area of the mesh will increase or decrease vertex weights more than short strokes, and repeated strokes over the same area will cause incremental changes in weight values unless they're already at their extremes. The vertex coloring shown at any Flex sub-object level provides an approximate indication of weighting. The colors are determined by the settings in Customize 1400 | Chapter 9 Modifiers menu ➤ Customize User Interface ➤ Colors tab ➤ Elements: Geometry. In this list are three color entries: Subselection Hard, used to display vertices with the highest Weight values; Subselection Medium, used to display vertices with medium Weight values; and Subselection Soft, used to display vertices with low Weight values. Strength Sets the amount by which painting changes weight values. Higher values change weighting more quickly. At Strength=0, painting does not change weight values. Range=–1 to 1; Default=0.1. Negative values allow you to remove weight. TIP When painting, you can use the Alt key to invert the strength. Radius Sets the size of the brush in world units. Range=0.001 to 99999; Default=36. NOTE If you position the mouse cursor over the object before painting, you can see a wireframe representation of the spherical "brush" that depicts the Radius setting. Feather Sets the falloff in strength from the center of the brush to its edge. Default=0.7. Range=0.001 to 1. Vertices at the center of the brush are always changed by the full amount of the Strength setting, but the higher the Feather setting, the less vertices closer to the edge change. At the lowest setting, all vertices inside the radius are changed equally. Vertex Weights group Sets vertex weighting manually. At the Weights & Springs sub-object level, select vertices in the viewports, and then change the value of the Vertex Weight parameter. Alternatively, turn on Absolute Weight, set the desired Vertex Weight, and then select vertices to set; changes are immediate. Absolute Weight Turn on to assign absolute weights to the selected vertices. Turn off to add or remove weight based on the Vertex Weight setting. Vertex Weight Assigns weight to selected vertices. Depending on the state of the Absolute Weight parameter, weight assignment is either absolute or relative. Flex Modifier | 1401 NOTE The Vertex Weight range is -100 to 100. With Absolute Weight on, the negative Vertex Weight settings have no effect; the effective range is 0 to 100. With Absolute Weight off, changing the Vertex Weight setting adds the amount to the current weights of selected vertices, and then the setting is reset to 0. Forces and Deflectors rollout Forces group Use these controls to add space warps in the Forces category to the Flex modifier. Supported space warps are: ■ Displace on page 2964 ■ Drag on page 2941 ■ Gravity on page 2958 ■ Motor on page 2931 ■ PBomb on page 2947 1402 | Chapter 9 Modifiers ■ Push on page 2926 ■ Vortex on page 2936 ■ Wind on page 2960 List Window Displays particle space warps applied to the Flex modifier. Add Click this, and then select a particle space warp in the viewports to add the effect to Flex. The added space warp displays in the list window. Remove Select a space warp in the list and click Remove to remove the effect from Flex. Deflectors group Using deflectors with Flex lets object movement be impeded by surfaces. This lets you simulate collisions with soft-body objects. For best results with collisions, in the deflector settings use a low value for Bounce and a high value for Friction. Supported deflectors are: ■ POmniFlect on page 2969 ■ SOmniFlect on page 2980 ■ UOmniFlect on page 2983 ■ UDeflector on page 2991 ■ SDeflector on page 2988 ■ Deflector on page 2994 List Window Displays deflectors applied to the Flex modifier. Add Click this, and then select a deflector in the viewports to add the effect to Flex. The added deflector displays in the list window. Remove Select a deflector in the list and click Remove to remove the effect from Flex. Flex Modifier | 1403 Advanced Parameters rollout Reference Frame Sets the first frame at which Flex begins its simulation. End Frame When on, sets the last frame at which Flex is to take effect. After this frame, the object snaps back to its shape as currently defined by the stack. For instance, if you animate a Bend modifier in the stack under Flex, then when Flex stops, the object's shape is altered only by the Bend modifier settings as of that frame. Affect All Points Forces Flex to ignore any sub-object selection in the stack and apply itself to the entire object. Set Reference Updates the viewports. After moving the effect center, click Set Reference to update the viewports. Reset Resets vertex weighting to the defaults. Advanced Springs rollout Use these settings when you need a more precise springs setup than is provided by the Simple Soft Body feature. Flex uses two types of spring: edge springs, which create springs only along existing edges, and shape springs, which can exist between any two vertices in the object that are not connected by an edge. In general, add edge springs along existing edges and shape springs between vertices that don't share an edge. NOTE Before using these controls, go to the Weights & Springs sub-object level. TIP Additional spring types are available using MAXScript. See the MAXScript Help for details. 1404 | Chapter 9 Modifiers Enable Advanced Springs Makes the numeric controls available for editing, and disconnects the Strength and Sway settings from the Simple Soft Bodies controls. Default=off. The four numeric Stretch and Sway settings in this rollout are available only when Enable Advanced Springs is on. Add Spring Adds one or more springs to the object based on the vertex selection at the Weights & Springs sub-object level and the Spring Option dialog on page 1406 settings. NOTE You cannot undo this action. To delete existing springs, select the endpoints and click Remove Spring. Options Opens the Spring Option dialog on page 1406 for determining how springs are added with the Add Spring function. Remove Spring Deletes any springs that have both vertices selected at the Weights & Springs sub-object level. Stretch Str. Determines the strength of the edge springs; the higher the strength, the less the distance between them can vary. Flex Modifier | 1405 Stretch Sway Determines the sway of the edge springs; the higher the strength, the less the angle between them can vary. Shape Str. Determines the strength of the shape springs; the higher the strength, the less the distance between them can vary. Shape Sway Determines the sway of the shape springs; the higher the strength, the less the angle between them can vary. Spring Count Displays the number of edge springs, followed by the number of shape springs in parentheses. Hold Length Maintains the length of edge springs within the specified percentage. NOTE This setting, which is applied after the Flex simulation, can affect the object shape, and thus cause collision detection to fail. Show Springs Displays edge springs as blue lines and shape springs as red lines. Springs are visible only when a Flex sub-object mode is active. You can change the spring colors using MAXScript. Spring Option Dialog Select a Mesh, Patch, or NURBS object. ➤ Modify panel ➤ Modifier List ➤ Animation Modifiers ➤ Flex ➤ Advanced Springs rollout ➤ Options button Use the Spring Option dialog to determine how springs are added in the Flex modifier when you click the Advanced Springs rollout ➤ Add Spring button. 1406 | Chapter 9 Modifiers Interface Single Edge Spring Creates one edge spring between two selected vertices. If any number of vertices is selected other than two, no springs are created. Hold Edge Length Springs Creates edge springs along the edges of the objects between any vertex selection and neighboring vertices. Hold Edge Length Springs Apply Only To Selected Creates edge springs along the edges of the objects between all selected vertices. Hold Shape Springs Creates shape springs from the selected vertex or vertices to all other vertices within the Hold Shape Radius. Hold Shape Springs Apply Only To Selected Creates shape springs between all selected vertices within the Hold Shape Radius. Hold Shape Radius The radius within which shape springs are created. No shape springs are created between vertices farther apart than this distance. At the bottom of the dialog is an informational display showing the object's average edge length, maximum edge length, and minimum edge length. This information can help in determining an appropriate Hold Shape Radius setting. Flex Modifier | 1407 HSDS Modifier Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ HSDS Modifier Select an object. ➤ Modifiers menu ➤ Subdivision Surfaces ➤ HSDS Modifier The HSDS modifier implements Hierarchical SubDivision Surfaces. It is intended primarily as a finishing tool rather than as a modeling tool. For best results, perform most of your modeling using low-polygon methods, and then use HSDS to add detail and adaptively refine the model. The modifier's primary features are: ■ Local refinement ■ Hierarchical modeling ■ Adaptive tessellation With local refinement, you subdivide part of a polygon mesh and edit the mesh in the subdivided area. This is done indirectly by manipulating sub-objects in a control grid. Use this feature when you need to increase mesh resolution in specific areas of a model rather than uniformly over the entire object, as with the Tessellate modifier on page 1761. An example of usage would be a human hand. Once you've modeled the basic shape, you might use the HSDS modifier to add bumps for the knuckles. The HSDS modifier supports multiple levels of detail, hence its hierarchical nature. The Subdivision Stack lets you visually navigate the levels of detail at any time while using the modifier. Thus, you can edit the same part of a mesh at different mesh resolutions. If you work at a level of detail lower than the highest available, the higher-detail areas are still in effect, but you control them indirectly by means of the more widespread sub-objects at the lower level. Sub-object animation is supported only at the lowest level of detail: Base Level. This is accomplished by animating the mesh below the HSDS modifier. To apply deformation animation after HSDS modeling, first convert the object to an editable mesh by right-clicking the modifier stack and choosing Collapse All. 1408 | Chapter 9 Modifiers The adaptive tessellation automatically subdivides polygons as needed to maintain a smoothly curved surface when transforming mesh sub-objects. You can use a preset or provide custom settings. IMPORTANT HSDS models are not passed up the modifier stack. The HSDS modifier takes a polygon mesh as input, and outputs a triangle-based mesh. Also, The HSDS modifier does not handle changes to the modified object's topology, such as altering a sphere's Segments setting. Topology changes to the input mesh results in the loss of all edits made in the HSDS modifier. Procedures To use the HSDS modifier: 1 Apply the HSDS modifier to an object. By default, the HSDS modifier doesn't convert non-quadrilateral polygons to quads. Because the modifier works best with four-sided polygons, it's recommended you perform the conversion if necessary. 2 If the object contains any non-quadrilateral polygons, in the HSDS Parameters dialog, turn on Force Quads. Click Yes in the Force Quads? dialog that appears. NOTE Upon conversion to quads, the modifier automatically performs one level of subdivision with smoothing (like MeshSmooth on page 1450 with one iteration) on the object to which it's applied. Thus, for best results, use it with relatively low-polygon objects. For example, if you usually work with the Sphere object at the default 32 segments, use a 16-segment sphere with HSDS. If the object is made up of quads only, Force Quads isn't available because no conversion is necessary. 3 Choose a sub-object mode at which to subdivide. The object is covered with a gold control grid (or, in Vertex sub-object mode, a white grid with blue vertices), indicating that the entire mesh is available for subdivision and/or sub-object transformation at base level. 4 Select one or more sub-objects. 5 Click the Subdivide button. HSDS Modifier | 1409 The modifier again subdivides and smoothes the selected sub-objects as well as all surrounding polygons. The resultant sub-objects reside at a higher level of detail, as indicated by the addition of a level in the Subdivision Stack. Now the control grid shows only polygons at the new level. With sub-objects other than Element, this typically covers only part of the object's surface. A control grid on a sphere at level 2. Subdivisions at lower levels are visible as gold lines. In wireframe views, you can still see polygons at lower levels of detail, but you can select only sub-objects resulting from the subdivision, as indicated by the control grid. You can subdivide sub-objects further, transform them, hide and delete them, and change material IDs. NOTE When you transform an HSDS sub-object, the control grid tends to expand by adding segments at its edges, in order to maintain surface smoothness. 1410 | Chapter 9 Modifiers 6 To subdivide a different part of the object, choose a lower level in the Subdivision Stack, and then repeat steps 2–4. Each time you subdivide a sub-object that has been subdivided, a higher level in the Subdivision Stack is hightlighted, indicating a finer mesh resolution. You can then work at that level, or any lower level by selecting the level. NOTE If you transform a sub-object at a level lower than the highest level in which the subject exists, the mesh uses the resolution imparted by the detail in the higher levels. Interface HSDS Parameters rollout The sub-objects available in the HSDS modifier belong to the control grid rather than the mesh object itself. Transforming the grid sub-objects also transforms the underlying mesh, but the mesh doesn't always move to the full extent of the control grid. This is particularly true in cases where you transform a sub-object at a level lower than the highest level in which the sub-object resides. For example, if you subdivide a vertex at the Base Level, it then resides in the Base Level and Level 1. If you then move the vertex in the base level, the mesh doesn't, by default, move as far as the vertex. This is roughly analogous to the way free-form deformation works, but with HSDS, the control grid conforms much more closely to the shape of the mesh object. With vertices, you can control the degree to which the mesh follows the control-grid vertex with the settings on the Vertex Interpolation on page 1414 group. HSDS Modifier | 1411 Vertex Turns on Vertex sub-object mode, which lets you select a vertex beneath the cursor; region selection selects vertices within the region. 1412 | Chapter 9 Modifiers Edge Turns on Edge sub-object mode, which lets you select a face or polygon edge beneath the cursor; region selection selects multiple edges within the region. Polygon Turns on Polygon sub-object mode, which lets you select a single face or polygon. A polygon is the area you see within the visible wire edges. Region selection selects multiple polygons within the region. Element Turns on Element sub-object mode, which lets you select all contiguous polygons beneath the cursor in the current level of detail. Ignore Backfacing When on, you can select only those sub-objects whose normals are visible in the viewport. When off (the default), selection includes all sub-objects, regardless of the direction of their normals. Default=off. Only Current Level Displays only polygons at the current level of detail, with highlights, but without smoothing. Use this option to speed up the display when working with complex objects. Default=off. Subdivision Stack Shows the current level of the subdivision hierarchy. Automatically increments when you subdivide a sub-object selection. To edit at a different level of detail, select the level in the stack. The current level is outlined in red. Visibility is controlled by the box icon to the right of the level label. Turning on the visibility at one level activates the visibility from that level down to the base level. Visibility above that level will be turned off. HSDS Modifier | 1413 Box icon for invisible layer Subdivide Performs subdivision and smoothing on the current selection, and adds a level to the Subdivision Stack. When the subdivision results in a control grid and other subdivisions have been performed at the same level of detail, the control grids may become interconnected. Vertex Interpolation group Determines how selected vertices are treated during subdivision. Available only in Vertex sub-object mode. For best results, use when moving control grid vertices at a level of detail lower than the highest in which the vertex resides. Standard/Conic/Cusp/Corner Determines how closely mesh vertices follow the movement of control grid vertices. Standard provides the least amount of relative movement, while Cusp and Corner provide the most. Corner also keeps edges adjacent to subdivided vertices from being rounded off during subdivision. Default=Standard. NOTE Corner is available only when the selected vertex or vertices aren't surrounded by polygons, such as the vertices on the edge of a plane object. Edge Crease group Determines the extent to which selected edges are treated as creases during subdivision. Available only in Edge sub-object mode. 1414 | Chapter 9 Modifiers For best results, use with control grid edges at a level of detail lower than the highest in which the edge resides. Also, for creasing to be visible, the edge should be offset from the surrounding surface by a significant amount. Left: Crease=1.0 Center: The eyebrow edges selected at LOD 0 Right: Crease=0.0 Crease Specifies how much creasing is performed on the selected edge or edges. At low settings, the edge is relatively smooth. At higher settings, the crease becomes increasingly visible. At 1.0, the highest setting, the edge is not smoothed at all. Default=0.0. Range=0.0 to 1.0. Advanced Options rollout Force Quads When on, the modifier converts all non-quadrilateral faces or polygons to four-sided polygons. When off, converts all polygons to triangles. Available only when the object contains any non-quadrilateral faces or polygons. Default=off. When you change the status of Force Quads, any edits made in the HSDS modifier are lost. A message appears warning you of this, and asking you to confirm the change. Because the modifier works best with four-sided polygons, it's recommended you confirm the conversion if an object contains non-quadrilateral faces or polygons. The sphere primitive is an example of such an object; the uppermost and lowermost faces are three-sided. Smooth Result When turned on, all faces on the object will be in smoothing group 1, but if Smooth Result is turned off, each face will inherit smoothing groups from the input MNMesh. HSDS Modifier | 1415 Material ID Displays the material ID assigned to the current selection. Available only in Polygon and Element sub-object modes. If multiple sub-objects are selected and they don't share an ID, this field is blank. You can change the material ID assigned to selected sub-objects at the current and higher levels of detail by changing this setting. Material IDs are used primarily with Multi/Sub-Object material on page 6542. Hide Hides the current polygon selection. Available only at the Polygon and Element sub-object levels. Use Unhide All to reveal hidden polygons. TIP Use Hide to isolate part of an object you want to work on. The Select Invert command on the Edit menu is useful in this case. Select the faces you want to focus on, choose Edit ➤ Select Invert, then click the Hide button. Unhide All Reveals hidden polygons. Delete Polygon Deletes the current polygon selection, creating a hole or holes in the surface. Available only in Polygon sub-object mode. NOTE When the current level of detail does not encompass the entire object surface, you cannot delete polygons at the border of the control grid; that is, polygons that do not share all edges with other polygons in the grid. Adaptive Subdivision Opens the Adaptive Subdivision dialog on page 1416. This option is best used for smoothing subdivided and edited portions of the mesh when you're finished using the HSDS functionality. Soft Selection rollout These controls let you set a gradual falloff of influence between selected and unselected vertices. See Soft Selection Rollout (Edit/Editable Mesh) on page 1966. Adaptive Subdivision Dialog Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ HSDS Modifier ➤ Advanced Options rollout ➤ Adaptive Subdivision button Select an object. ➤ Modifiers menu ➤ Subdivision Surfaces ➤ HSDS Modifier ➤ Advanced Options rollout ➤ Adaptive Subdivision button 1416 | Chapter 9 Modifiers Use adaptive subdivision for smoothing subdivided and edited portions of the mesh when you're finished using the HSDS modifier on page 1408. Alternatively, you can use adaptive subdivision to remove a level of detail from the object. Procedures To use adaptive subdivision: 1 Edit an object with the HSDS modifier. 2 Choose Add Detail or Remove Detail, depending which operation you want to perform. 3 Set the desired amount of detail with one of the presets or by specifying custom Length and Angle settings. 4 Click OK to perform the specified operation. The detail addition or removal is performed, and you're returned to the HSDS modifier. Depending on whether you removed or added detail, the highest level of detail is decremented or incremented by 1. Interface Detail group Add/Remove Determines whether clicking the OK button increases or decreases detail. HSDS Modifier | 1417 Parameters group These settings determine the extent to which detail is added or removed. The Length and Angle settings are available for editing only when the Custom option is chosen. However, they show the default settings for the Low, Medium, and High options. Low/Medium/High/Custom Choose one of the presets, or choose Custom to set your own Length and Angle values. Max. LOD Specifies the highest number of levels of detail that 3ds Max can add when increasing detail. Not available when removing detail. Length The maximum permissible length of any edge after adding or removing detail. The smaller the length, the higher the amount of tessellation that is allowed. Angle The maximum permissible angle between two opposite edges emanating from a vertex. The smaller the angle, the higher the amount of tessellation that is allowed. OK Performs the subdivision or removal of detail and closes the dialog. Cancel Closes the dialog without changing the mesh. Lathe Modifier Select a shape. ➤ Modify panel ➤ Modifier List ➤ Lathe Select a shape. ➤ Modifiers menu ➤ Patch/Spline Editing ➤ Lathe Lathe creates a 3D object by rotating a shape or NURBS curve about an axis. 1418 | Chapter 9 Modifiers Object resulting from 360-degree lathe Interface Modifier Stack Axis At this sub-object level, you can transform and animate the axis of revolution. For more information on the stack display, see Modifier Stack on page 8776. Lathe Modifier | 1419 Parameters rollout Degrees Determines the number of degrees that the object is spun around the axis of revolution (0 to 360, default=360). You can set keyframes for Degrees to animate the circular growth of a lathed object. The Lathe axis auto-sizes itself to the height of the shape being lathed. 1420 | Chapter 9 Modifiers Object resulting from 270-degree lathe Weld Core Simplifies the mesh by welding together vertices that lie on the axis of revolution. Keep it turned off if you intend to create morph targets. Flip Normals Depending on the direction of the vertices on your shape, and the direction of rotation, the lathed object might be inside out. Toggle the Flip Normals check box to fix this. Segments Determines how many interpolated segments are created in the surface between the start and endpoint. This parameter is also animatable. Default=16 NOTE You can create up to 10,000 segments using the segments spinner. Try not to create geometry that is more complex than you need. Often you can get satisfactory results by using smoothing groups or smoothing modifiers, rather than increasing segmentation. Capping group Controls whether or not caps are created for the interior of the lathed object if Degrees is set to less than 360. Lathe Modifier | 1421 Cap Start Caps the start of the lathed object with Degrees set to less than 360 and a closed shape. Cap End Caps the end of the lathed object with Degrees set to less than 360 and a closed shape. Morph Arranges cap faces in a predictable, repeatable pattern necessary for creating morph targets. Morph capping can generate long, thin faces that don't render or deform as well as grid capping. Use morph capping primarily if you are lathing multiple morph targets. Grid Arranges cap faces in a square grid trimmed at the shape boundaries. This method produces a surface of evenly sized faces that can easily be deformed by other modifiers. Direction group Sets up the direction of the axis of revolution, relative to the pivot point of the object. X/Y/Z Set the direction of the axis of revolution relative to the pivot point of the object. Align group Min/Center/Max Align the axis of revolution to the minimum, center, or maximum extents of the shape. Output group Patch Produces an object that you can collapse to a patch object (see Editing the Stack on page 987). Mesh Produces an object that you can collapse to a mesh object (see Editing the Stack on page 987). NURBS Produces an object that can be collapsed to a NURBS surface (see Editing the Stack on page 987). Generate Mapping Coordinates Applies mapping coordinates to the lathed object. When Degrees is less than 360, and Generate Mapping Coordinates is turned on, additional mapping coordinates are applied to the end caps, placing a 1 x 1 tile on each cap. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=on. 1422 | Chapter 9 Modifiers Generate Material IDs Assigns different material IDs to the sides and the caps of the lathed object. Specifically, the sides receive ID 3, and the caps (when Degrees is less than 360 and the lathed shape is closed) receive IDs 1 and 2. Default=on. Use Shape IDs Uses the material ID values assigned to segments in the spline on page 511 you lathed, or curve sub-objects in the NURBS on page 2433 curve you lathed. Use Shape IDs is available only when Generate Material IDs is turned on. Smooth Applies smoothing to the lathed shape. Lattice Modifier Select an object or a shape. ➤ Object-Space Modifiers ➤ Lattice Modify panel ➤ Modifier List ➤ Select an object or a shape. ➤ Modifiers menu ➤ Parametric Deformers ➤ Lattice The Lattice modifier converts the segments or edges of a shape or object into cylindrical struts with optional joint polyhedra at the vertices. Use this either to create renderable structural geometry based on the mesh topology, or as an alternate method to achieve a rendered wireframe effect. Lattice Modifier | 1423 Top: Joints only Middle: Struts only Bottom: Both (joints and struts) NOTE This modifier can act on the whole object or on sub-object selections in the stack. 1424 | Chapter 9 Modifiers TIP You can combine the Scatter compound object on page 608 with the Lattice modifier to place any object you want as a joint, rather than the provided polyhedra. To do this, create your mesh distribution object and your source object (for example, a box). Use Scatter to scatter the box at the vertices of the distribution object. (Be sure to use the Copy option rather than Instance.) In the Scatter Display parameters, hide the distribution object. Select the original object that was used as a distribution object, apply Lattice to it, and turn off the joints. You'll have two coincident objects: one providing the lattice struts, and the other positioning the boxes. Lattice Modifier | 1425 Interface 1426 | Chapter 9 Modifiers Geometry group Specifies whether to use the whole object or selected sub-objects, and which of the two components (struts and joints) is displayed. Apply To Entire Object Applies Lattice to all edges or segments in the object. When turned off, applies Lattice only to selected sub-objects passed up the stack. Default=on. NOTE When Apply To Entire Object is turned off, unselected sub-objects render normally. For example, if you convert a box to an editable mesh, select one polygon, and then apply Lattice with Apply To Entire Object turned off, the face does not render, while the edges and vertices that form that face are converted to struts and joints, and the remaining faces render normally. However, if you select the four edges surrounding the polygon and turn off Ignore Hidden Edges, the struts and joints are added to the object while all faces render as normal. If you turn on Struts group ➤ Ignore Hidden Edges, one of the polygon's faces renders, while the other doesn't. Joints Only From Vertices Displays only the joints (polyhedra) generated by the vertices of the original mesh. Struts Only From Edges Displays only the struts (cylinders) generated by the segments of the original mesh. Both Displays both struts and joints. Struts group Provides controls that affect the geometry of the struts. Radius Specifies the radius of the struts. Segments Specifies the number of segments along the struts. Increase this value when you need to deform or distort the struts with subsequent modifiers. Sides Specifies the number of sides around the perimeter of the struts. Material ID Specifies the material ID to be used for the struts. The struts and the joints can have different material IDs, making it easy to assign them different materials. The struts default to ID #1. Ignore Hidden Edges Generates struts only for visible edges. When turned off, generates struts for all edges, including the invisible edges. Default=on. End Caps Applies end caps to the struts. Smooth Applies smoothing to the struts. Lattice Modifier | 1427 Joints group Provides controls that affect the geometry of the joints. Geodesic Base Type Specifies the type of polyhedron used for the joints. Tetra Uses a tetrahedron. Octa Uses an octahedron. Icosa Uses an icosahedron. Radius Specifies the radius of the joints. Segments Specifies the number of segments in the joints. The more segments, the more spherical the joints' shape. Material ID Specifies the material ID to be used for the joints. Defaults to ID #2. Smooth Applies smoothing to the joints. Mapping Coordinates group Determines the type of mapping assigned to the object. None Assigns no mapping. Reuse Existing Uses the mapping currently assigned to the object. This might be the mapping assigned by Generate Mapping Coords., in the creation parameters, or by a previously assigned mapping modifier. When using this option, each joint inherits the mapping of the vertex it surrounds. New Uses mapping designed for the Lattice modifier. Applies cylindrical mapping to each strut, and spherical mapping to each joint. Linked XForm Modifier Modify panel ➤ Select objects or sub-objects. ➤ Modifier List ➤ Object-Space Modifiers ➤ Linked XForm Select an object or sub-objects. ➤ Modifiers menu ➤ Animation Modifiers ➤ Linked XForm The Linked XForm modifier links the transforms for any object or sub-object selection to another object, called the control object. The control object's 1428 | Chapter 9 Modifiers motion, rotation, and/or scale transforms are passed onto the object or sub-object selection. Using Linked XForm Linked XForm connects any geometry it receives from the stack to another object, which is called the control object. Its single control simply picks the control object. To use this modifier, you must have at least two objects in your scene. See also: XForm Modifier on page 1961 ■ Procedures To apply a Linked XForm modifier: 1 Choose a location in an object's stack and apply a Linked XForm from the Modifier List. 2 On the Parameter's rollout, click Pick Control Object. When animating, do this at frame 0. 3 Select the object you want to be the control object. This completes the link. The name of the control object appears on the Parameters rollout. To apply a Linked XForm modifier at a Sub-Object level: 1 Select an Editable Mesh or an object to which a Mesh Select modifier has been applied. 2 Turn on the Vertex sub-object level and vertices on the object. select some 3 Apply a Linked XForm modifier. Linked XForm Modifier | 1429 4 On the Parameter's rollout, click Pick Control Object. When animating, do this at frame 0. 5 Select another object that you want to control the sub-object selection. This completes the link. The name of the control object appears on the Parameters rollout. 6 Move the control object and see how the vertices are affected. Interface Control Object Object that the vertices are linked to. When transformed, the vertices follow. Pick Control Object Click this button, and then select the object that you want to be the control object. Back Transform Allows an object with a Linked XForm modifier to be linked to a Control Object. Normally, moving the Control Object causes the linked object to move twice as much as it should, once with the Control Object and once with the link. When the switch is turned on, any transforms to the Control Object are only applied to the linked object once. This switch is similar to the 'Back Transform Vertices' switch of the Skin on page 1614 modifier. 1430 | Chapter 9 Modifiers LS Mesh Modifier Select a Lightscape mesh object. ➤ ➤ LS Mesh Modify panel ➤ Modifier List The LS Mesh modifier refines a Lightscape mesh object. When you import a Lightscape scene into 3ds Max, the mesh produced by Lightscape doesn’t contain the refinements that Lightscape introduced to improve the lighting. This information is kept and used by the Lightscape material while rendering. This modifier will add these refinements to the Lightscape mesh. In conjunction with the LS Colors modifier on page 1084, this modifier can be used to produce meshes suitable for game engines. The refinement stored in a Lightscape mesh is hierarchical. When a polygon is refined, it is broken into four smaller polygons. These polygons can then be refined further. A polygon in the refinement has a depth from the original polygon, which is the number of refinements needed to get from the original polygon to the polygon in question. The modifier allows you to reduce the number of polygons in the result by limiting the depth to which the modifier will descend, or by limiting the size of polygons that will be refined. You can apply the LS Mesh modifier to a Face sub-object selection of a Lightscape mesh object. In this case, only the selected faces will be refined. See also: ■ Lightscape Files (LP, LS, and Other Formats) on page 8286 Interface LS Mesh Modifier | 1431 Limit subdivision depth When the toggle is on, the value sets the maximum depth of refinement. When the toggle is off, then the mesh modifier will descend to the bottom of the refinement. Default=on, 0. Limit subdivision size When the toggle is on, the value limits the size of polygons that are refined. When the toggle is off, then the mesh modifier will refine polygons to any size. The size is a length in the current view units. Polygons smaller than that size squared will not be refined by the modifier. Default=off, 19.685 units or 0.5 meters. MapScaler Modifier (Object Space) Select an object. ➤ Modifiers ➤ MapScaler Modify panel ➤ Modifier List ➤ Object-Space The MapScaler (OSM) modifier works in object space to maintain the scale of a map applied to an object. This lets you resize the object via its creation parameters without altering the scale of the map. Typically, you might use this to maintain the size of a map regardless of how the geometry is scaled, if you change the object size by adjusting its creation parameters. However, if you use a Select And Scale tool to change the object size, the map scales along with the object. To maintain the scale of the map regardless of how the object is resized, use the MapScaler (WSM) modifier on page 1086. For example, if you scale a brick wall with the MapScaler (WSM) modifier applied, the bricks will all remain the same size as you increase the size of the wall. However, if you scale the same wall with the MapScaler (OSM) modifier applied, the size of the bricks will grow in proportion with the scale of the wall. The MapScaler (OSM) modifier has two primary benefits compared to the WSM version: ■ As an object-space modifier, it can reside anywhere in the stack and be collapsed with the stack, rather than being restricted to the top of the stack, as with world-space modifiers. This lets other object-space modifiers take effect after the map-scaling operation. ■ When instanced among multiple objects, the object-space version appears in the modifier stack display when any number of objects is selected. This differs from the world-space version, which, when instanced among 1432 | Chapter 9 Modifiers multiple objects, appears in the stack display only when a single object is selected. TIP MapScaler also works at the sub-object level. If the object you're working on requires different scaling of the texture map on each surface, you can do so by creating a modifier stack with multiple occurrences of the MapScaler modifier. Procedures Example: To use the MapScaler at a sub-object level: 1 Create a Box and apply a brick or other patterned material to the object. 2 Go to the List. Modify panel and choose Mesh Select from the Modifier 3 On the Parameters rollout, click one of the sides of the box. (Polygon), then select 4 Open the Modifier List and apply either MapScaler modifier. 5 Change the Scale value. Notice that the texture map only on the selected set of polygons is changed. To change the scale of the texture on another part of the same object, add another Mesh Select modifier and make a new sub-object selection. Add the next MapScaler modifier to the new selection set and change the scale as you did in step 5. MapScaler Modifier (Object Space) | 1433 Interface Scale Represents the size of one repetition of the texture pattern. Size is measured in current scene units. Repetitions occur across the object in the U and V directions. Default=1.0. NOTE When the Use Real-World Texture Coordinates switch is active in the General Preferences dialog on page 8887, the scale setting defaults to 1.0. If Use Real-World Texture Coordinates is turned off, scale defaults to 100.0. U/V Offset Specify horizontal and vertical offsets respectively. Available only when Wrap Texture is off. Wrap Texture When on, Map Scaler attempts to wrap the texture evenly around the object. This option requires more computing, but usually produces the most satisfactory results. Default=on. Wrap Using Smoothing Groups When turned on, textures are wrapped around corners when they share the same smoothing groups. Curved walls will map smoothly while sharp corners get a new texture origin. This switch is only available when the Wrap Textures switch is turned on. Default=off. Channel Specifies the map channel on page 9210. Default=1. 1434 | Chapter 9 Modifiers Material Modifier Select an object. ➤ Modifiers ➤ Material Modify panel ➤ Modifier List ➤ Object-Space Select an object. ➤ Modifiers menu ➤ Surface ➤ Material The Material modifier allows you to animate, or simply change, the assignment of material IDs on page 9217 on an object. If the material ID is animated, the change to a new material ID is abrupt, from one frame to the next. Object mapped using a multi/sub-object material: Material ID 1 for the housing of the monitor Material ID 2 for the image on the screen TIP If you want a gradual blend from one material to another, try animating the Mix parameter on a Blend on page 6529 material. Use this modifier in conjunction with the multi/sub-object on page 6542 material type, to assign different materials to objects or faces at different frames of an animation, or to quickly change the material ID of an object. Material Modifier | 1435 See also: Editable Mesh Surface on page 2190 ■ Patches This modifier does not convert a patch object below it in the modifier stack to a mesh. A patch object input to the Material modifier retains its patch identity. Procedures Example: To change the material ID of a sub-object selection: 1 In the Top viewport, create a sphere. 2 In the Material Editor, create a multi/sub-object material. Make the colors of material ID 1 and 2 different. 3 Assign the multi/sub-object material to the sphere. 4 On the Modify panel, choose Mesh Select from the Modifier List. 5 On the Mesh Select Parameters rollout, click 6 In the Front viewport, (Polygon). region-select the lower half of the sphere. The selected polygons turn red. 7 While Polygon is still the active sub-object level (in the stack display, a square polygon icon appears to the right of Mesh Select), choose Material from the Modifier List. 8 On the Material modifier Parameters rollout, set the value of the Material ID to 1 and 2 to toggle the color on and off. In the shaded viewport, the lower half of the sphere changes to the color of the selected material ID. 1436 | Chapter 9 Modifiers Interface Material ID Sets the material ID to be assigned; this can be animated. If the input object is in face sub-selection, then the ID is only applied to selected faces; otherwise, it is applied to the entire object. The ID number refers to one of the materials in a multi/sub-object material. MaterialByElement Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ MaterialByElement Make a selection. ➤ Modifiers menu ➤ Surface ➤ Material By Element The MaterialByElement modifier lets you apply different material IDs to objects containing multiple elements, at random or according to a formula. When animated, this effect is useful for such applications as an office building at night with window illumination turning on and off at random. MaterialByElement Modifier | 1437 Various materials randomly applied to the leaves of the plant Procedures Example: To assign colors randomly in a group of spheres: 1 Create six spheres. TIP One method is to add a sphere on page 329 primitive, then use Shift+Move on page 851 with the Copy option, and enter 5 in the Number Of Copies field. 2 Combine the spheres into a single editable mesh object. Right-click a selected sphere and from the Transform (lower-right) quadrant of the quad menu, choose Convert To: ➤ Convert to Editable Mesh. Then click Modify panel ➤ Edit Geometry rollout ➤ Attach List. In the Attach List dialog, click All, and then Attach. 1438 | Chapter 9 Modifiers 3 Create a multi/sub-object material on page 6542 with six materials, and specify a different color for each material. the object with multiple spheres. Assign the material to Because sphere primitives are assigned material ID 2 by default, all the spheres now have the color assigned to material number 2 in the multi/sub-object material. 4 Apply the MaterialByElement modifier to the object. 5 From the Parameters rollout, turn on Random Distribution. Because the default ID Count setting is 2, some of the spheres are assigned sub-material #1, and the rest are assigned #2. 6 Use the spinner to increase the ID Count setting to 3. Also change the Uniqueness group ➤ Seed value. Now the first three materials are assigned to the spheres at random, although with some Seed settings, you may see only two different colors. 7 Keep increasing the ID Count setting until you see all six colors in the multi/sub-object material. As the assignments are random, it may take awhile. MaterialByElement Modifier | 1439 Interface Material ID By Element group The two choices in this group let you either create a truly random distribution of material IDs or divide the assignments among up to eight materials according to percentages you set. Random Distribution Assigns the materials at random to different elements in the object. 1440 | Chapter 9 Modifiers ID Count Determines the minimum number of material IDs to assign. Because material ID assignment is random, setting it to the number of materials in the multi/sub-object material or higher doesn't guarantee that all materials get used. List Frequency Determines an approximate relative weight (percentage) for each of up to eight material IDs, as set by the Mat'l ID #1-8 spinners. The modifier assigns material IDs until the weights total 100. For example, if you set Mat'l ID #1 to 40, #2 to 35, and #3 to 60, approximately 40 percent of the elements will be assigned material ID 1, 30 percent will be assigned material ID 2, and 25 percent (100 − [40 + 35]) will be assigned material ID 3. Any remaining percentages (as set in Mat'l IDs 4-8) are ignored. NOTE These percentages are approximate. The more elements the object contains, the closer the assigned percentage comes to the set percentage. Uniqueness group Seed Sets the seed value for the (pseudo-)randomization of material ID assignments. Not animatable. Melt Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Melt Make a selection. ➤ Modifiers menu ➤ Animation Modifiers ➤ Melt The Melt modifier lets you apply a realistic melting effect to all types of objects, including editable patches and NURBS objects, as well as to sub-object selections passed up the stack. Options include sagging of edges, spreading while melting, and a customizable set of substances ranging from a firm plastic surface to a jelly type that collapses in on itself. Melt Modifier | 1441 Increasing the Melt amount progressively melts the cake Procedures Example: To animate a jelly-like melting sphere: 1 In the Top viewport, create a Sphere primitive with a radius of about 50 units. 2 Apply the Melt modifier. 3 Turn on (Auto Key) and go to frame 100. 4 In the Melt group box, set Amount to 70. 5 In the Solidity group box, choose Jelly. 6 Turn off (Auto Key). 7 Drag the time slider to see the sphere melt. 1442 | Chapter 9 Modifiers Interface Modifier Stack Gizmo At this sub-object level, you can transform and animate the gizmo like any other object, altering the effect of the Melt modifier. Translating the gizmo translates its center an equal distance. Rotating and scaling the gizmo takes place with respect to its center. Center At this sub-object level, you can translate and animate the center, altering the Melt gizmo's shape, and thus the shape of the melted object. For more information on the stack display, see Modifier Stack on page 8776. Melt Modifier | 1443 Parameters rollout Melt group Amount Specifies the extent of the "decay," or melting effect applied to the gizmo, thus affecting the object. Range=0.0 to 1000.0. Spread group % of Melt Specifies how much the object and melt will spread as the Amount value increases. It's basically a "bulge" along a flat plane. Solidity group Determines the relative height of the center of the melted object. Less-solid substances like jelly tend to settle more in the center as they melt. This group provides several presets for different types of substances, as well as a Custom spinner for setting your own solidity. Ice The default Solidity setting. Glass Uses a high Solidity setting to simulate glass. 1444 | Chapter 9 Modifiers Jelly Causes a significant drooping effect in the center. Plastic Relatively solid, but droops slightly in the center as it melts. Custom Sets any solidity between 0.2 and 30.0. Axis to Melt group X/Y/Z Choose the axis (local to the object) on which the melt will occur. Note that this axis is local to the Melt gizmo and not related to the selected entity. By default, the Melt gizmo's axes are lined up with the object's local coordinates, but you can change this by rotating the gizmo. Flip Axis Normally, the melt occurs from the positive direction toward the negative along a given axis. Turn on Flip Axis to reverse this direction. Mesh Select Modifier Create or select and object ➤ Mesh Select Modify panel ➤ Modifier List ➤ Make a selection. ➤ Modifiers menu ➤ Selection Modifiers ➤ Mesh Select The Mesh Select modifier lets you pass a sub-object selection up the stack to subsequent modifiers. It provides a superset of the selection functions available in the Edit Mesh modifier on page 1263. You can select vertices, edges, faces, polygons or elements, and you can change the selection from sub-object level to object level. Note the following: ■ When you apply the Mesh Select modifier and then go to any sub-object level, the select-and-transform buttons in the toolbar are unavailable, and the Select Object button is automatically activated. ■ The Mesh Select modifier automatically turns off the Show End Result button, which becomes "spring loaded" while you're in the modifier. For more information on the stack display, see Modifier Stack on page 8776. Mesh Select Modifier | 1445 Using XForm Modifiers to Animate a Mesh Selection When you apply a Mesh Select modifier, there are no animation controllers assigned to the sub-object selection. This means that the selection has no way to "carry" the transform information needed for animation. To animate a sub-object selection using Mesh Select, apply either an XForm or Linked XForm modifier to the selection. These modifiers provide the necessary controllers for animating the effects of transforms. In a sense, they give "whole-object status" to the sub-object selection. ■ XForm on page 1961 Animates transforms directly on a sub-object selection. Creates a gizmo and center for the sub-object selection. You can animate both, with the center acting as a pivot point for the selection. ■ Linked XForm on page 1428 Lets you choose another object to control the animation. The sub-object selection is linked to the "control object." When you transform the control object, the sub-object selection follows accordingly. Procedures To use the Mesh Select modifier: 1 Create a mesh object. 2 Select the mesh object. 3 Apply a Mesh Select modifier. 4 Select vertices, edges, faces, polygons or elements. 5 Add another modifier to affect only the selection from step 3. Interface Modifier Stack controls Show End Result Normally, if you apply a modifier such as Twist to an editable-mesh object and then return to the Editable Mesh stack entry, you 1446 | Chapter 9 Modifiers cannot see the effect of the modifier on the object's geometry. But if you turn on Show End Result, you can see the final object as a white mesh, and the original editable mesh as an orange mesh. Mesh Select Parameters rollout Provides buttons for turning different sub-object modes on and off, working with named selections and handles, display settings, and information about selected entities. The icons at the top of the Selection rollout let you specify the method of sub-object selection. Clicking a button here is the same as selecting a sub-object level in the modifier stack. Click the button again to turn it off and return to the object selection level. Mesh Select Modifier | 1447 Vertex Selects a vertex beneath the cursor; region selection selects vertices within the region. Edge Selects a face or polygon edge beneath the cursor; region selection selects multiple edges within the region. Face Selects a triangular face beneath the cursor; region selection selects multiple triangular faces within the region. Polygon Selects all coplanar faces (defined by the value in the Planar Threshold spinner) beneath the cursor. Usually, a polygon is the area you see within the visible wire edges. Region selection selects multiple polygons within the region. Element Selects all contiguous faces in an object. Region selection selects the same. By Vertex Selects any sub-objects at the current level that use a vertex you click. Applies to all sub-object levels except Vertex. Also works with Region Select. Ignore Backfaces Selects only those sub-objects whose normals make them visible in the viewport. When turned off (the default), selection includes all sub-objects, regardless of the direction of their normals. NOTE The state of the Backface Cull setting in the Display panel doesn't affect sub-object selection. Thus, if Ignore Backfacing is turned off, you can select sub-objects even if you can't see them. NOTE The state of the Ignore Backfaces check box also affects edge selection at the Edge sub-object selection level. Ignore Visible Edges When turned off (the default), and you click a face, the selection won't go beyond the visible edges no matter what the setting of the Planar Thresh spinner. When turned on, face selection ignores the visible edges, using the Planar Thresh setting as a guide. Enabled when the Polygon face selection method is chosen. 1448 | Chapter 9 Modifiers Generally, if you want to select a "facet" (a coplanar collection of faces), you set the Planar Threshold to 1.0. On the other hand, if you're trying to select a curved surface, increase the value depending on the amount of curvature. Planar Thresh (Planar Threshold) Specifies the threshold value that determines which faces are coplanar for Polygon face selection. Get from Other Levels group Applies selections from one sub-object level to another. Get Vertex Selection Selects faces based on the last vertex selection. Selects all faces shared by any selected vertex. The selection is added to the current selection. Available only when Vertex is not the current sub-object level. Get Face Selection Selects vertices based on the last face/polygon/element selection. This selection is added to the current selection. Available only when Face/Polygon/Element is not the current sub-object level. Get Edge Selection Selects faces based on the last edge selection. Selects those faces that contain the edge. Available only when Edge is not the current sub-object level. Select by Material ID group Selects faces based on their material ID. ID Set the spinner to the ID number you want to select, and then click the Select button. Press Ctrl while clicking to add to the current selection, or press Alt to remove from the current selection. Named Selection Sets group These functions are primarily for copying named selection sets on page 163 of sub-objects between similar objects, and between comparable modifiers and editable objects. For example, you can apply a mesh select modifier to a sphere, create a named selection set of edges, and then copy the selection to a different sphere that's been converted to an editable mesh object. You can even copy the selection set to a different type of object, because the selection is identified by the entities' ID numbers. The standard procedure is to create a selection set, name it, and then use Copy to duplicate it into the copy buffer. Next, select a different object and/or modifier, go to the same sub-object level as you were in when you copied the set, and click Paste. Mesh Select Modifier | 1449 NOTE Because sub-object ID numbers vary from object to object, the results of copying named selection sets between different objects can be unexpected. For example, if the buffered set contains only entities numbered higher than any that exist in the target object, no entities will be selected when the set is pasted. Copy Places a named selection into the copy buffer. Paste Pastes a named selection from the copy buffer. Select Open Edges Selects all edges with only one face. In most objects, this will show you where missing faces exist. Available only at the Edge sub-object level. Selection Information At the bottom of the Mesh Select Parameters rollout is a text display giving you information about the current selection. If 0 or more than one sub-object is selected, the text gives the number and type selected. If one sub-object is selected, the text gives the ID number and type of the selected item. NOTE When the current sub-object type is Polygon or Element, selection information is given in faces. Soft Selection rollout These controls let you set a gradual falloff of influence between selected and unselected vertices. See Soft Selection Rollout (Edit/Editable Mesh) on page 1966. MeshSmooth Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ MeshSmooth Make a selection. ➤ Modifiers menu ➤ Subdivision Surfaces ➤ MeshSmooth The MeshSmooth modifier smoothes geometry in your scene by means of several different methods. It lets you subdivide the geometry while interpolating the angles of new faces at corners and edges, and apply a single smoothing group to all faces in the object. The effect of MeshSmooth is to round over corners and edges as if they had been filed or planed smooth. Use 1450 | Chapter 9 Modifiers MeshSmooth parameters to control the size and number of new faces, and how they affect the surface of the object. Angular model (shown on the right) changed to a smooth model with MeshSmooth You can use MeshSmooth to produce a Non-Uniform Rational MeshSmooth object (NURMS for short). A NURMS object is similar to a NURBS object in that you can set different weights for each control vertex. You can further control the object's shape by changing edge weights. MeshSmooth's effect is most dramatic on sharp corners and least visible on rounded surfaces. Use MeshSmooth on boxes and geometry with crisp angles. Avoid using it on spheres and similar objects. TIP To better understand MeshSmooth, create a sphere and a cube and apply MeshSmooth to both. The cube's sharp corners become rounded, while the sphere's geometry becomes more complex without changing shape significantly. NOTE Having an animated deformer placed before a meshsmoothed object that has had control level editing can result in the meshsmoothed object becoming distorted. It's recommended that deforming modifiers be placed after the MeshSmooth modifier in the stack if you're using the deformers for animation. MeshSmooth Modifier | 1451 See also: ■ Quadify Mesh Modifier on page 1589 ■ TurboSmooth Modifier on page 1767 Procedures To apply MeshSmooth to an object: 1 Select an angular object. 2 Apply the MeshSmooth modifier. 3 Set MeshSmooth parameters. To apply MeshSmooth to sub-objects: 1 Select an object. 2 Apply a Mesh Select modifier. 3 Select a group of vertices or faces. 4 Apply MeshSmooth. 5 In the Subdivision Method rollout, turn off Apply To Whole Mesh. This lets MeshSmooth work only on the sub-object selection. 6 Set MeshSmooth parameters. Interface Modifier Stack 1452 | Chapter 9 Modifiers Vertex At this sub-object level you can transform or edit vertices in the smoothed mesh. Edge At this sub-object level you can transform or edit face edges in the smoothed mesh. See Local Control rollout on page 1457. For more information on the stack display, see Modifier Stack on page 8776. Subdivision Method rollout Subdivision Method list Choose one of the following to determine the output of the MeshSmooth operation: ■ NURMSProduces Non-Uniform Rational MeshSmooth object (NURMS for short). The Strength and Relax smoothing parameters are unavailable with the NURMS type. A NURMS object is similar to a NURBS object in that you can set different weights for each control vertex. You can further control the object's shape by changing edge weights. See Display/Weighting group, following, for further information on changing weights. ■ ClassicProduces three- and four-sided facets. (This is the same as applying MeshSmooth in version 2.x without turning on Quad Output.) ■ Quad OutputProduces only four-sided facets (assuming you don't look at the hidden edges, since the object is still made up of triangular faces). If you apply this with default parameters to a whole object, like a box, it's topologically exactly the same as Tessellate on page 1761, edge-style. However, rather than using tension to project face and edge vertices out of the mesh, use the MeshSmooth Strength to relax the original vertices and the new edge vertices into the mesh. Apply To Whole Mesh When turned on, any sub-object selection passed up the stack is ignored and MeshSmooth is applied to the entire object. Note that the sub-object selection is still passed up the stack to any subsequent modifiers. MeshSmooth Modifier | 1453 Old Style Mapping Uses the 3ds Max version 3 algorithm to apply MeshSmooth to the mapping coordinates. This technique tends to distort the underlying mapping coordinates as it creates new faces and as texture coordinates shift. Effect of MeshSmooth with two iterations on a cube and different iteration method: A. NURMS B. Quad C. Classic D. Original object with no MeshSmooth Subdivision Amount rollout Sets how many times to apply MeshSmooth. 1454 | Chapter 9 Modifiers Iterations Sets the number of times the mesh is subdivided. When you increase this value, each new iteration subdivides the mesh by creating smoothly interpolated vertices for every vertex, edge, and face from the iteration before. The modifier then subdivides the faces to use these new vertices. Default=0. Range=0 to 10. The default value of 0 iterations allows you to modify any setting or parameter, such as the type of MeshSmooth or the update options, before 3ds Max starts subdividing the mesh. NOTE Be cautious when increasing the number of iterations. The number of vertices and faces in an object (and thus the calculation time) can increase as much as four times for each iteration. Applying four iterations to even a moderately complex object can take a long time to calculate. You can press Esc to stop calculation; this also automatically sets Update Options to Manually. Reduce the Iterations value before setting Update Options back to Always. Smoothness Determines how sharp a corner must be before faces are added to smooth it. Smoothness is calculated as the average angle of all edges connected to a vertex. A value of 0.0 prevents the creation of any faces. A value of 1.0 adds faces to all vertices even if they lie on a plane. TIP To subdivide only sharp edges and corners, use a Smoothness value of less than 1.0. To see the subdivisions in Wireframe/Edged Faces viewports, turn off Isoline Display on page 1458. Render Values These let you apply a different number of smoothing iterations and a different Smoothness value to the object at render time. Typically you would use a low number of iterations and a lower Smoothness value for modeling, and higher values for rendering. This lets you work quickly with a low-resolution object in the viewports, while producing a smoother object for rendering. MeshSmooth Modifier | 1455 Iterations Lets you choose a different number of smoothing iterations on page 1455 to be applied to the object at render time. Turn on Iterations, and then use the spinner to its right to set the number of iterations. Smoothness Lets you choose a different Smoothness value to be applied to the object at render time. Turn on Smoothness, then use the spinner to its right to set the smoothness value. From right to left, effect of increasing the number of iterations 1456 | Chapter 9 Modifiers Local Control rollout Sub-object Level Turns Edge or Vertex level on or off. When both levels are off, you're working at the object level. Information about the selected edges or vertices is displayed in the message area under the Ignore Backfacing check box. Ignore Backfacing When on, selection of sub-objects selects only those sub-objects whose normals make them visible in the viewport. When off (the default), selection includes all sub-objects, regardless of the direction of their normals. Control Level Allows you to see the control mesh after one or more iterations and to edit sub-object points and edges at that level. Transform controls and the Weight setting are available for all sub-objects at all levels. The Crease setting is available only at the Edge sub-object level. Crease Creates a discontinuity on a surface so you get a hard edge, such as a wrinkle or lip. You select one or more edge sub-objects and adjust the Crease setting; the crease appears in the surfaces associated with the selected edges. Available only at the Edge sub-object level. Weight Sets the weight of selected vertices or edges. Increasing a vertex weight "pulls" the smoothed result toward that vertex. Edge weights are more complex and behave in an opposite manner in some respects. They aren't really "weights" as such, but "knot intervals," in NURBS terminology. Consequently, increasing an edge weight tends to push the smoothed result away. Kinks will form in the result if weights of 0 are used. MeshSmooth Modifier | 1457 Isoline Display When on, 3ds Max displays only isolines: the object's original edges, before smoothing. The benefit of using this option is a less cluttered display. When off, 3ds Max displays all faces added by MeshSmooth; thus, higher Iterations settings (see Subdivision Amount Rollout on page 1454) result in a greater number of lines. Default=on. Show Cage Toggles the display of a two-color wireframe that shows the modified object before subdivision. The cage colors are shown as swatches to the right of the check box. The first color represents unselected edges at the Vertex sub-object level, and the second color represents unselected edges at the Edge sub-object level. Change a color by clicking its swatch. Soft Selection rollout Soft Selection controls affect the action of sub-object Move, Rotate, and Scale functions. When these are on, 3ds Max applies a spline curve deformation to unselected vertices surrounding the transformed selected sub-object. This provides a magnet-like effect with a sphere of influence around the transformation. For more information, see Soft Selection Rollout on page 1966. Parameters rollout Parameters rollout > Smoothing Parameters group These settings are available only when MeshSmooth Type is set to Classic or Quad Output. Also, Project To Limit Surface is available only in Classic mode. 1458 | Chapter 9 Modifiers Strength Sets the size of the added faces using a range from 0.0 to 1.0. ■ Values near 0.0 create small faces that are very thin and close to the original vertices and edges. ■ Values near 0.5 size faces evenly between edges. ■ Values near 1.0 create large new faces and make the original faces very small. Relax Applies a positive relax effect to smooth all vertices. Project to Limit Surface Places all points on the "limit surface" of the MeshSmooth result, which is the surface that would be produced after an infinite number of iterations. The topology is still controlled by the number of iterations. Parameters rollout > Surface Parameters group Applies smoothing groups to the object and restrict the MeshSmooth effect by surface properties. Smooth Result Applies the same smoothing group to all faces. Separate by Materials Prevents the creation of new faces for edges between faces that do not share Material IDs. Separate by Smoothing Groups Prevents the creation of new faces at edges between faces that don't share at least one smoothing group. Settings rollout MeshSmooth Modifier | 1459 Settings rollout > Input Conversion group Operate On Faces/Polygons Operate On Faces treats every triangle as a face and smoothes across all edges, even invisible edges. Operate On Polygons ignores invisible edges, treating polygons (like the quads making up a box or the cap on a cylinder) as a single face. Keep Faces Convex (Available only with Operate On Polygons mode.) Keeps all input polygons convex. Selecting this option causes non-convex polygons to be handled as a minimum number of separate faces, each of which is convex. (Turn on Display/Weighting group ➤ Display Control Mesh to see what's happening here.) "Convex" means that you can connect any two points in the polygon with a line that doesn't go outside the polygon. Most letters aren't convex. In the capital letter "T," for example, you can't connect the upper-left corner to the bottom with a straight line without going outside the shape. Circles, rectangles, and regular polygons are all convex. Problems that can occur with non-convex faces include the fact that changes in the geometry of the input object can result in a different topology for the MeshSmooth result. For instance, in a box, if you drag one of the top corners across the middle of the top face, the box becomes non-convex. MeshSmooth would then see this as two triangles instead of one quad, and the number of points in the result would change. If you need to make sure your output topology is stable, turn this off. If you have a lot of letters or other non-convex faces in your mesh, however, you'll probably want it on. Settings rollout > Update Options group Sets manual or render-time update options, for situations where the complexity of the smoothed object is too high for automatic updates. Note that you can also set a greater degree of smoothing to be applied only at render time, on the Subdivision Amount rollout. Always Updates the object automatically whenever you change any MeshSmooth settings. When Rendering Updates the viewport display of the object only at render time. Manually Turns on manual updating. When manual updating is selected, any settings you change don't take effect until you click the Update button. Update Updates the object in the viewport to match the current MeshSmooth settings. Works only when you choose When Rendering or Manually. 1460 | Chapter 9 Modifiers Resets rollout This rollout allows you to go back to default or initial settings on any changes you made such as sub-object transforms (geometric edits), and changes to edge creases, vertex weights, and edge weights. You can reset changes for all control levels or to the current control level. Turn on the reset option for the sub-object level you want, and then click the appropriate button. Reset All Levels Returns to the default or initial settings for geometric edits, creases, and weights for all sub-object levels. Reset This Level Returns to the default or initial settings for geometric edits, creases, and weights for the current sub-object level. Reset Geometric Edits Returns to the default or initial settings for any transforms made to vertices or edges. Reset Edge Creases Returns to the default or initial setting for edge creases. Reset Vertex Weights Returns to the default or initial setting for vertex weights. Reset Edge Weights Returns to the default or initial setting for edge weights. Reset Everything Returns to the default or initial setting for everything. MeshSmooth Modifier | 1461 Mirror Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Mirror Make a selection. ➤ Modifiers menu ➤ Parametric Deformers ➤ Mirror The Mirror modifier provides a parametric method of mirroring an object or a sub-object selection. You can apply the Mirror modifier to any type of geometry, and you can animate the mirror effect by animating the modifier's gizmo. Mirroring a bench Procedures To apply the Mirror modifier: 1 Apply the Mirror modifier to a selection. 2 Set the axis or axis pair on which to mirror the object. 1462 | Chapter 9 Modifiers 3 To create a mirrored pair, specify an Offset amount and turn on Copy. Interface Modifier Stack Mirror Center Represents the axis of the mirror effect. You can move, rotate or scale the gizmo to affect the mirroring. You can animate the gizmo transforms, which you can't do with the toolbar Mirror on page 877 tool. For more information on the stack display, see Modifier Stack on page 8776. Parameters rollout Mirror Axis group X, Y, Z, XY, YZ, ZX Specify the axis or axes about which the mirroring takes place. You can usually see the effect in the viewport as you select the option. Options group Offset Specifies the offset, in units, from the mirror axis. This is an animatable parameter. Copy Copies the geometry rather than simply mirroring it. NOTE The Copy option affects only geometry with triangular meshes. Mirror Modifier | 1463 Morpher Modifier Select a mesh, patch, or NURBS object. ➤ List ➤ Morpher Modify panel ➤ Modifier Select a mesh, patch, or NURBS object. ➤ Modifiers menu ➤ Animation Modifiers ➤ Morpher Use the Morpher modifier to change the shape of a mesh, patch, or NURBS model. You can also morph shapes (splines), and World Space FFDs. As well as morphing from one shape to another, the Morpher modifier also supports material morphing. On this patch model, morph targets are created by moving control vertices and tangent handles in an Editable Patch. Morphing is commonly used for lip sync and facial expression on a 3D character, but can be used to change the shape of any 3D model. There are 100 channels available for morph targets and materials. Channel percentages can be mixed, and the result of the mix can be used to create a new target. 1464 | Chapter 9 Modifiers On a mesh object, vertex count on the base object and targets must be the same. On a patch or NURBS object, the Morpher modifier works on control points only. This means that the resolution of patches or NURBS surfaces can be increased on the base object to increase detail at render time. A Flex modifier above the Morpher modifier is aware of vertex/control point motion in the Morpher modifier. If, for example, a jaw is morphed to slam shut, then the Flex modifier placed above the Morpher modifier in the modifier stack can be used to make the lips quiver to simulate soft tissue. See also: ■ Morpher Material on page 6538 Lip Sync and Facial Animation For lip sync and facial animation, create a character's head in an "at rest" pose. The head can be a mesh, patch, or NURBS model. Copy and modify the original head to create the lip-sync and facial-expression targets. Select the original or "at rest" head and apply the Morpher modifier. Assign each lip-sync and facial-expression target to a channel in the Morpher modifier. Load an audio file in the Track View sound track, turn on the Auto Key button, scrub the time slider, and view the audio waveform in Track View to locate frames for lip sync. Then set the channel spinners on the Morpher modifier to create key frames for lip position and facial expression. Teeth can either be a part of the model or animated separately. If the teeth and head are two different objects, model the teeth in an open position, and then apply the Morpher modifier, and create one target with the teeth closed. Eyes and head motion can be animated after the morph keys are created. Morph Targets for Speech Nine mouth shape targets are commonly used for speech. If your character speaks an alien dialect, don't hesitate to create extra morph targets to cover these mouth shapes. Include cheek, nostril, and chin-jaw movement when creating mouth position targets. Examine your own face in a mirror or put a finger on your face while mouthing the phonemes, if necessary, to establish the direction and extent of cheek motion. Set lip-sync keys by viewing the audio waveform as well as listening to the sound as you scrub the time slider. Many mouth-position keys benefit from being set a frame early. Often the mouth must assume a shape before the Morpher Modifier | 1465 appropriate sound is uttered. For the word "kilo", the "K" mouth shape precedes the actual sound, for example. A, I E F,V C, D, G, J, K, N, S, T, Y, Z 1466 | Chapter 9 Modifiers L,T O U W,Q Morpher Modifier | 1467 M,B,P (This target can be the same shape as the "at rest" base object) Morph Targets for Expression Create as many expression targets as necessary for the character. Joy, sadness, surprise, evil can all have their own targets. Depending on the personality of the character, certain targets, like a terror target, may not be necessary. Targets like nostril flare, jaw-muscle bunching, temple twitching can be effective to give a character an edge. Each morph channel can contain a material as well: as you morph the brows up, a bump map can crease the forehead, for example. Save time and create targets as the need arises; if the audio file or scene you are working on requires a look of surprise, create the "surprise" target while the mood of the scene is with you. If the character has teeth, copy the teeth and the base head to create a new target. The teeth act as a guide to shape and position the lips. Blink 1468 | Chapter 9 Modifiers Brows up A blend of the Pain, Blink, and Brows targets Procedures Example: To add the morpher modifier to an object and assign a morph target to a channel: 1 On the Create panel, turn on (Geometry). 2 On the drop-down list, choose Patch Grids. 3 On the Object Type rollout, click Quad Patch. 4 In the Top viewport, click and drag to create a patch grid. 5 On the Modify panel, on the modifier stack display, right-click Quad Patch and choose Convert To: Editable Patch from the right-click menu. The base object is now an Editable Patch. Morpher Modifier | 1469 6 In the Top viewport, use patch object. Shift+Move to create a copy of the Modify panel ➤ Selection rollout, click 7 On the 8 In the Front viewport, surface. (Vertex). move patch vertices to deform the patch 9 In the modifier stack, choose Editable Patch to go to the object (top) level. (The highlight should change from yellow to gray, and the Vertex sub-object icon is no longer displayed at the right of the stack.) 10 Select the first patch object. 11 On the Modify panel, choose Morpher from the Modifier List. The Morpher modifier is added to the modifier stack. 12 On the Morpher modifier, on the Channel List rollout, right-click the first channel (over the word "empty"). A right-click menu displays. 13 Choose Pick from Scene on the right-click menu, and click the deformed patch grid in the viewports. QuadPatch02 is listed in the channel as a morph target. 14 Drag the Channel spinner, to the right of QuadPatch02, up and down. The flat patch grid "morphs" to the shape of the target. To use progressive morphing: 1 Create starting and ending morph targets, and one or more intermediate targets. 1470 | Chapter 9 Modifiers 2 Apply the Morpher modifier to the starting morph target, and click Load Multiple Targets to load the starting and ending morph targets. 3 In the Channel List rollout, select the channel you want to be influenced by an intermediate target. 4 In the Channel Parameters rollout, click Pick Object from Scene, and select the intermediate target. 5 In the Progressive Morph group Target List, set the Target % to determine the degree to which each target affects the channel. 6 Use the down arrow button to move the original channel target to the bottom of the Target List. Interface Whatever is assigned as the default float controller in 3ds Max will be assigned as the float controller on the morph channels as well. Float controllers handle the interpolation between keys; Bezier is the default float controller. You can assign the TCB float controller to the morph channels in Track View, if you prefer. For morphing, the Bezier controller allows you to use function curves with vector handles on the keys for smoothing and easing control of interpolation in Track View. Default parameters of the TCB controller, however, handles morph interpolation with less overshoot. Try using both controllers, to decide which one you prefer. Gray The channel is empty, and has not been edited. Morpher Modifier | 1471 Orange The channel has been changed in some way but contains no morph data. An artist may wish to name a channel and set up its parameters before actually assigning a morph target. Green The channel is live. The channel contains morph data and the target object still exists in scene (the target is available for refresh). Blue The channel contains morph data but the target has been deleted from the scene. Dark Gray The channel is disabled. ■ There is a problem with the morph, the topology of the base object, or targets, have changed and are no longer valid; for example, the vertex count might have changed. The channel cannot be used. ■ The channel is not active. This is controlled by the Channel is Active toggle in the Channel Parameters rollout. ■ Disabled channels are not included in the morph result. Global Parameters rollout 1472 | Chapter 9 Modifiers Global Settings group Use Limits Use the minimum and maximum limits for all channels. You can turn off limits to double purpose a target. The target for a smile can be used to turn the corners of the mouth down using negative values for example. Minimum Sets the minimum limit. Maximum Sets the maximum limit. Use Vertex Selection Turn on to limit morphing to vertices selected in a modifier below the Morpher modifier in the modifier stack. If your are using Character Studio Physique, limit morph animation on the base object to just the head and exclude the neck, for example. Place the Physique modifier above the Morpher modifier and assign the head vertices as rigid (green) in the Physique modifier. Channel Activation group Set All Click to activate all channels. Set None Click to deactivate all channels. Morph Material group Assign New Material Click to assign the Morpher material to the base object (the object to which the Morpher modifier is applied). Open the Material Editor to view and edit the Morpher material. There is a direct correlation between the Channel Material Maps and the Channel list in the Morpher modifier (100 channels and 100 maps). For example, if channel 1 contains a brows up target and the Morpher material has a material assigned to map 1, then, as the brows are morphed so is the material. In the Morpher material, if a material is assigned to a map or channel that has no morph target in the Morpher modifier, then the channel spinner in the Morpher modifier can be used to simply morph the material on a static object. See Morpher Material on page 6538. Morpher Modifier | 1473 Channel List rollout The upper section of the Channel List rollout contains controls for managing markers, which designate different locations in the list of morph targets. For example, channels 15 through 24 might contain all the emotion targets. Rather than scrolling to display these tracks, you can choose a marker from the list to display those channels. [marker drop-down list] Choose a previously saved marker in the list, or enter a new name in the text field and click Save Marker to create a new marker. For example, channel 15 through 24 might contain all the emotion targets. Rather than scrolling to display these tracks, you can choose a marker from the list to display these channels in the list. 1474 | Chapter 9 Modifiers Save Marker Move the scroll bar to frame a particular set of 10 channels, enter a name in the text field, and then click Save Marker to store the channel selection. Delete Marker Choose a marker name to delete from the drop-down list, and then click Delete Marker to delete it. _____ Channel List The Morpher modifier provides up to 100 morph channels. Scroll through the channels using the slider. Once you've assigned a morph target to a channel, the target's name appears in the channel list. Each channel has a percentage value field and a spinner to change the value. You can change channel names and order in the Channel Parameters on page 1476 rollout. Right-click a morph channel to display a right-click menu: ■ Pick from Scene Choose this command and select an object in the viewports to assign a morph target to the channel. ■ Delete Channel Deletes the morph data, name and parameters from the channel. Displays only if the channel has data. ■ Reload Target Retrieves morph data from the target. Use this after editing a target. List Range Displays the range of visible channels in the channel list. Morpher Modifier | 1475 Load Multiple Targets Load multiple morph targets into empty channels by selecting object names in the selection dialog and clicking Load. If there are more targets than empty channels, a warning displays and the channels are not assigned. Reload All Morph Targets Reloads all the morph targets. If the targets have been edited, the channels are updated to reflect the changes. If a morph target has been deleted from the scene, then the morpher updates using the stored data in the channel, functions using the last stored morph data. Zero Active Channel Values Click to create keys with a value of 0 for all active morph channels, if the Auto Key is on. This is handy to prevent key interpolation from distorting the model. First click Zero Active Channel Values, and then set a particular channel to the value you want; only the altered channel affect the model. Automatically reload targets Turn this on to allow animated targets to be updated dynamically by the Morpher modifier. There is a performance penalty when using this option. Channel Parameters rollout The channel number button and channel name field at the top of this rollout reflect the current active channel in the channel list. 1476 | Chapter 9 Modifiers [channel number] Click the number next to the channel name to display a menu. Use commands on the menu to group and organize channels, or to locate a channel. Morpher Modifier | 1477 ■ Move To Displays the Channel Operations dialog. To move the current channel to the selected channel, choose a channel from the list, and click Move To. ■ Swap With Displays the Channel Operations dialog. To swap the current channel with the selected channel, choose a channel from the list, and click Swap With. ■ Used Channels Displays a list of active channels. Choose a channel to place it at the top of the channel list display in the Channel List rollout. Channel Name Displays the name of the current target. Change the name of the target in the text field if necessary. Parameter changes in the Channel Parameters rollout affect the current target. Channel is Active Toggles a channel on and off. Inactive channels do not affect the morph result. Use this control to turn off certain channels to focus on animating other channels. Create Morph Target group Pick Object from Scene Turn on and click an object in the viewports to assign a morph target to the current channel. Picking an object adds it to the Progressive Morph list. Capture Current State Choose an empty channel to activate this function. Click to create a target using the current channel values. The captured channel is always blue because there is morph data but no specific geometry. Use Extract to create a mesh copy of the captured state. Delete Deletes the target assignment for the current channel. Extract Choose a blue channel and click this option to create an object from the morph data. If you have used Capture Current State to take a snapshot of a group of channel values, but then want to edit it, use Extract to make a new object, pick it as the channel's target, and then start editing. 1478 | Chapter 9 Modifiers Channel Settings group Use Limits Turn on to use limits on the current channel if Use Limits is turned off in the Global Parameters rollout. Minimum Sets the lower limit. Maximum Sets the upper limit. Use Vertex Selection Morphs only selected vertices on the current channel. Progressive Morph group Progressive morphing performs a tension-based interpolation, similar to the TCB animation controller, that creates smooth interpolation through each intermediary targets. This provides the artist with an unprecedented amount of control over the morph transformation. Morphed object using multiple, intermediary targets Morpher Modifier | 1479 Morphed object using a single target When morphing from one target to another, the object can sometimes pass through intermediary stages that are not desirable. For example, morphing a straight cylinder directly to a bent cylinder causes the cylinder to squash at intermediate stages. You could get a better result by creating several intermediate morph targets for the object, and using them as channels. However, an easier solution is to create fewer intermediate targets, and use progressive morphing. With progressive morphing, you do not use the intermediate targets as channels; you use them to influence the end targets. Target List Lists all intermediary morph targets associated with the current channel. To add morph targets to the list, click Pick Object from Scene. Move Up Moves the selected intermediary morph target up in the list. Move Down Moves the selected intermediary morph target down in the list. TIP For best results, move the original morph target (the one in the channel) to the bottom of the list. 1480 | Chapter 9 Modifiers Target % Specifies how much the selected intermediate morph target contributes to the overall morph solution. Tension Specifies the overall linearity of the vertex transformation between intermediary morph targets. A value of 1.0 creates a “loose” transition, causing the interpolation to overshoot each target slightly. A value of 0.0 creates a direct, linear transformation between each intermediary target. Delete Target Deletes the selected intermediary morph target from the target list. Reload Morph Target Reloads data from the current target into the channel. Reload a target if it has been adjusted or edited. If the active morph target entry in the channel list is empty, this button is unavailable, and displays the text “No Target to Reload.” Advanced Parameters rollout Spinner Increments Specify fine or coarse spinner increments. 5.0 is coarse and 0.1 is fine. Default=1.0 Compact Channel List Compact the channel list by filling in any empty channels in between assigned channels. The status window displays how many channels were moved. Approximate Memory Usage Displays an approximation of the current memory usage. Morpher Modifier | 1481 MultiRes Modifier Select an object. ➤ Modifiers ➤ MultiRes Modify panel ➤ Modifiers List ➤ Object Space Make a selection. ➤ Modifiers menu ➤ Mesh Editing ➤ MultiRes The MultiRes modifier reduces the memory overhead needed to render models by decreasing the number of vertices and polygons. This is useful not only within 3ds Max, but for content creators who export models for use outside of 3ds Max, such as in Web-based 3D applications. MultiRes offers several advantages over the Optimize modifier, including faster operation and the ability to specify reduction as an exact percentage or vertex count. NOTE The MultiRes modifier supports the preservation of map channels when face count is increased or reduced. Left: Original model Center and right: Model progressively simplified by the MultiRes modifier 1482 | Chapter 9 Modifiers Modeling Tips for MultiRes The MultiRes multi-resolution mesh algorithms are designed to be general-purpose, and yield high-quality meshes on a wide variety of model types. However, careful modeling can improve the results of the algorithm. The following are suggestions to yield high-quality multi-resolution meshes: ■ Avoid using complex model hierarchies with MultiRes. For such models you should generate an individual multi-resolution mesh for each model component, or collapse the entire model into a single mesh. In general, single-skin meshes work best with animation engines like Physique in character studio. MultiRes works especially well with single-skin meshes. ■ Avoid duplicating vertices. The presence of extra vertices is an often-overlooked artifact of some modeling techniques. The Weld function in the Edit Mesh modifier on page 1263 and Editable Poly on page 2240 is useful for cleaning these up. ■ Be conservative with texture and normal discontinuities. For example, an artist might associate multiple texture coordinates with a single vertex. MultiRes will seek to preserve this discontinuity and the border between the two texture mappings, but it might do so at the expense of model shape. ■ Create high-resolution models. High-resolution models provide MultiRes with more faces and vertices that describe the shape of the model. The more initial information MultiRes has about the shape of the model, the better the decisions it makes in generating a final multi-resolution mesh. Procedures To use the MultiRes modifier: 1 Select a model and apply the MultiRes modifier. 2 In the Generation Parameters group in the MultiRes Parameters rollout, click the Generate button to initialize the modifier. 3 In the Resolution group, use the keyboard or spinner controls to decrease the Vert Percent or Vert Count value. As the vertex and polygon counts decrease, the mesh updates in real time in the viewports. MultiRes Modifier | 1483 To maintain part of a mesh at full resolution while reducing the rest: 1 Select a model and apply the MultiRes modifier. 2 In the modifier stack, click (the plus-sign icon) next to the MultiRes modifier to open the sub-object hierarchy. 3 Click the Vertex label to access the Vertex sub-object level. 4 Select the vertices in areas whose resolution you want to maintain. 5 In the Generation Parameters group, turn on Maintain Base Vertices. 6 Click the Generate button to initialize or re-initialize the mesh. Notice that the selected vertices look like asterisks instead of standard ticks. 7 Reduce the resolution as in the first procedure. The selected vertices are the last to be removed during vertex reduction. NOTE You can change the base vertices at any time by selecting a different group of vertices and regenerating the mesh. To merge vertices: If there are gaps between vertices that you want to close as vertex resolution decreases, use the Vertex Merging feature of the MultiRes modifier. With vertex merging, vertices within a given threshold distance eventually collapse during vertex reduction. You can estimate the gap length by activating the Select Object tool on page 150, moving the mouse cursor over the extents of the gap in the active viewport (it might help to access the Vertex sub-object level), and comparing the values displayed in the X/Y/Z readouts in the status bar, or use the Tape helper on 1484 | Chapter 9 Modifiers page 2886 object to get an exact measurement. Enter the estimated gap length value in the Threshold field. 1 Select a model and apply the MultiRes modifier. 2 Turn on Vertex Merging. This makes the Merge Threshold and Within Mesh controls available. 3 Set the appropriate parameters: ■ To define the maximum distance over which vertices are merged, enter a value in Merge Threshold. ■ To merge boundaries of adjacent elements and vertices within elements, turn on Within Mesh. 4 Click the Generate button. The effect of the change is displayed in the object. After the Generate button is clicked, a busy cursor will display. If the merge threshold is too large relative to the dimensions of the model, the busy cursor may display for a long time. To cancel the generation process at any time, press the Esc key. MultiRes Modifier | 1485 Interface Resolution group Use these controls to change the vertex count and overall topology of the modified object. Vert Percent The modified object's vertex count as a percentage of the overall number of vertices in the original mesh. Adjusting this setting alters the Vert Count value as well. NOTE After you enter a specific percentage, such as 30, you might find that 3ds Max changes the value to a slightly lower one, such as 29.971. This is due to the relationship between the overall number of vertices in the model and the percentage calculation. It is not a bug, but simply the closest solution to your request. Vert Count The total number of vertices in the modified object. Use this control to set the maximum number of vertices in the output mesh. Adjusting this setting alters the Vert Percent value as well. 1486 | Chapter 9 Modifiers Max Vertex Displays the vertex count from the original mesh that you applied MultiRes to. You cannot enter values larger than this in the Vert Count field. Face Count Displays the current face count. As you adjust the Vert Percent/Vert Count settings, the value for the face count will update on the fly. Max Face Displays the maximum face count. Generation Parameters group Vertex Merging When on, lets MultiRes merge vertices between discrete elements on page 9143 in a model. For example, if you apply MultiRes to a teapot, which comprises four separate elements, and turn on Vertex Merging, as you adjust the vertex resolution, the separate components will meld together into one contiguous lower-resolution object. To control Vertex Merging, you can set a Merge Threshold. This value determines the unit distance within which vertices will merge at a higher rate. Threshold Sets the maximum distance in 3ds Max units between vertices in order for those vertices to be considered for merging. Within this distance, the vertices between elements are welded together at a higher rate as the mesh is reduced in complexity. Available only when Vertex Merging is on. NOTE To eliminate only coincident vertices, set Threshold to 0.0. This is similar to the Weld Vertex function. Within Mesh When on, MultiRes merges the boundaries of adjacent elements and vertices within elements. Many objects can contain multiple groups of vertices that don't share connectivity. A simple example of this is the Teapot object on page 349. It comprises four different elements: the body, the handle, the spout, and the lid. Normally, MultiRes optimizes each discrete element in a mesh on its own. The default behavior of the Vertex Merging option is to merge vertices between elements. Turning on Within Mesh causes vertices within elements to be merged as well. Boundary Metric When on, MultiRes preserves materials assigned to the selected model. The material boundaries defined by Material IDs are retained as long as possible, and are the last to be eliminated at low vertex counts. Default=off. Maintain Base Vertices When on, overrides the MultiRes optimization algorithms and preserves any vertices selected at the MultiRes Vertex sub-object level as "critical" ones. Use this feature to retain critical features of an object MultiRes Modifier | 1487 or character such as its fingers or claws, or other geometry that might become unrecognizable if reduced too severely. To select vertices for use with this option, use the MultiRes Vertex sub-object level. To access this level, first go to the modifier stack display and click the plus-sign icon next to the MultiRes modifier. This opens its hierarchy, which consists of the single Vertex sub-object level. Next, click the Vertex entry. The MultiRes vertices appear on the mesh as blue dots. You can select these using any standard interactive method, but you cannot transform them. IMPORTANT After selecting MultiRes sub-object vertices with Maintain Base Vertices turned on, regenerate the mesh before changing the vertex resolution. In the following illustration, the clown started out as a high-resolution mesh. All of the MultiRes vertices in the right half were selected, Maintain Base Vertices was turned on, and then the vertices were reduced. 1488 | Chapter 9 Modifiers Clown model with left half reduced, right half at original resolution Multiple Vertex Normals When on, lets MultiRes assign multiple normals for each vertex. By default, MultiRes generates a single normal per vertex. If multiple normals are generated, they are applied as the vertex resolution is decreased and increased. When the Multiple Vertex Normals option is on, the MultiRes modifier generates normal updates when the geometry surrounding a vertex changes. MultiRes Modifier | 1489 You must specify a crease angle in degrees (0.0 - 180.0). The crease angle is the angle between the face normals. It is used to decide when a normal should be shared across an edge between two faces. For example, in a plane defined as a mesh grid of 10 x 10 faces, any two adjacent faces have a crease angle of zero. In a cube, adjacent faces have a crease angle of 90 degrees. In general, crease angles approaching 0 yield smoother shading. Crease angles approaching 180 yield more visible corners. Crease Angle The value of the crease necessary in order to generate multiple normals. Available only when Multiple Normals Per Vertex is on. The optimal crease angle depends on the model; set it interactively and check the viewport and rendered images for shading effects. While use of Multiple Vertex Normals enables more accurate shading, it can require more internal data. Generate Applies the current MultiRes settings to the modified object. When you first apply MultiRes to an object, you must use Generate to initialize the mesh-optimizing algorithm before you can change the vertex count. Reset Sets all Generation Parameters rollout settings to their values as of the last time you used Generate. Available only when one or more of these settings has changed. Use Reset to review the generation parameters as of the last time you generated the mesh. Noise Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Noise Make a selection. ➤ Modifiers menu ➤ Parametric Deformers ➤ Noise The Noise modifier modulates the position of an object's vertices along any combination of three axes. This important animation tool simulates random variations in an object's shape. Using a fractal setting, you can achieve random, rippling patterns, like a flag in the wind. With fractal settings, you can also create mountainous terrain from flat geometry. You can apply the Noise modifier to any kind of object. The Noise gizmo changes shape to help you visualize the effects of changing parameter settings. 1490 | Chapter 9 Modifiers The results of the Noise modifier are most noticeable on objects that have greater numbers of faces. Most of the Noise parameters have an animation controller. The only keys set by default are for Phase. Plane with no noise applied Noise Modifier | 1491 Adding texture to the plane creates a calm sea. 1492 | Chapter 9 Modifiers Plane with fractal noise applied Noise Modifier | 1493 Textured plane with noise creates a stormy sea. Procedures To apply noise to an object: 1 Select an object and apply the Noise modifier. To animate, move to a nonzero frame and turn on (Auto Key). 2 In the Parameters rollout ➤ Strength group, increase Strength values along one or more of the three axes. You begin to see noise effects as the strength goes up. 3 In the Noise group, adjust Scale. Lower values increase the dynamics of the Strength settings, making the effect more obvious. See Noise group, below, for other options. If you've animated this procedure, you can change parameters as the animation runs to see the effects. 1494 | Chapter 9 Modifiers For another source of noise effects, go to the sub-object level of the Noise modifier and transform the gizmo and center of the modifier. To create terrain effects: When set for Fractal, the Noise modifier produces a random fractal noise that creates a variety of topological and terrain effects. You can animate these effects or use them to model static landscapes and other complex forms. The following steps assume you begin with a broad object like a multi-segment box lying on the XY plane. 1 Apply the Noise modifier to the object. 2 In the Parameters rollout ➤ Noise group, turn on Fractal. Roughness and Iterations settings are now available. 3 Increase Strength on the Z axis and adjust other parameters. Once you have a base terrain, you can select sub-objects with Edit Mesh and apply Noise to grow mountains in a smaller region. You can also apply a second Noise modifier to amplify the first one. Interface Modifier Stack Gizmo/Center You can move, rotate, or scale the gizmo and center sub-objects to affect the noise. You can also animate the sub-object transforms. For more information on the stack display, see Modifier Stack on page 8776. Noise Modifier | 1495 Parameters rollout Noise group Controls the appearance of the noise, and thus its effect on the physical deformations of the object. By default, the controls are inactive until you change the settings. Seed Generates a random start point from the number you set. Especially useful in creating terrain, because each setting can produce a different configuration. Scale Sets the size of the noise effect (not strength). Larger values produce smoother noise, lower values more jagged noise. Default=100. Fractal Produces a fractal effect based on current settings. Default=off. If you turn on Fractal, the following options are available: 1496 | Chapter 9 Modifiers Roughness Determines the extent of fractal variation. Lower values are less rough than higher values. Range=0 to 1.0. Default=0. Iterations Controls the number of iterations (or octaves) used by the fractal function. Fewer iterations use less fractal energy and generate a smoother effect. An iteration of 1.0 is the same as turning Fractal off. Range=1.0 to 10.0. Default=6.0. Strength group Controls the magnitude of the noise effect. No noise effect occurs until some strength is applied. X, Y, Z Set the strength of the noise effect along each of three axes. Enter a value for at least one of these axes to produce a noise effect. Default=0.0,0.0,0.0. Animation group Controls the shape of the noise effect by overlaying a sine wave for the noise pattern to follow. This keeps the noise within bounds, dampening random extremes. When Animate Noise is turned on, these parameters influence the overall noise effect. However, you can animate Noise and Strength parameters independently; these do not require Animate Noise to be on during animation or playback. Animate Noise Regulates the combined effect of Noise and Strength parameters. The following parameters adjust the underlying wave. Frequency Sets the periodicity of the sine wave. Regulates the speed of the noise effect. Higher frequencies make the noise quiver faster. Lower frequencies produce a smoother and more gentle noise. Phase Shifts the start and end points of the underlying wave. By default, animation keys are set at either end of the active frame range. You can see the effect of Phase more clearly by editing these positions in Track View. Select Animate Noise to enable animation playback. Normal Modifier Select an object. ➤ Modify panel ➤ Modifier List ➤ Normal Select an object. ➤ Modifiers menu ➤ Mesh Editing ➤ Normal Modifier Normal Modifier | 1497 The Normal modifier allows you to unify or flip the normals of an object without applying an Edit Mesh modifier. For example, if you wanted to fly inside of a procedural object, such as a sphere or a cylinder, and wanted to retain control over the radius and number of segments, you couldn't collapse the object to an Editable Mesh and maintain the procedural nature of the primitive. Flipping the normals of a sphere creates a sky dome over a city. TIP If you are animating the creation of a complex object such as a nested Boolean or a loft, and you think the operation might result in inconsistent faces, apply Normal to the result and turn on Unify. 1498 | Chapter 9 Modifiers TIP The Lathe modifier sometimes creates an object with normals pointing inward. Use the Normal modifier with both Unify and Flip turned on to fix "inside-out" lathe objects. The Normal modifier allows whole-object manipulations of normals to be performed quickly without using an Edit Mesh modifier. Patches Patch objects coming up the modifier stack are not converted to a mesh by this modifier. A patch object input to the Material modifier retains its patch definition. Files that contain patch objects with the Material modifier from previous versions of 3ds Max will be converted to meshes to maintain backward compatibility. Procedures To use the normal modifier: 1 Select an object, then on the Modify panel ➤ Modifier List, choose Object-Space Modifiers ➤ Normal. The object appears to turn inside-out, since Flip Normals is on by default. 2 If the object has some faces pointing inward and others outward, turn on Unify Normals to make all the faces point similarly. TIP To flip or unify normals on portions of objects, convert to Editable Mesh and select Faces or Polygons. On the Surface Properties rollout in the Normals group, use the Flip and Unify buttons. Interface Unify Normals Unifies the normals of an object by flipping the normals so that they all point in the same direction, usually outward. This is useful for restoring an object's faces to their original orientations. Sometimes normals of scenes that have come into 3ds Max as part of a DWG or DXF file are Normal Modifier | 1499 irregular, depending on the methods used to create the scene. Use this option of the modifier to correct them. NOTE Unify Normals does not work on editable poly on page 2240 objects; before applying the Normal modifier, convert the model to editable mesh format or apply a Mesh Select on page 1445or Turn To Mesh on page 1774modifier. Flip Normals Reverses the direction of all the surface normals of the faces of the selected object or objects. Default=on. Normalize Spline Modifier Select a spline object. ➤ Spl. Modify panel ➤ Modifier List ➤ Normalize Select a spline object. ➤ Modifiers menu ➤ Patch/Spline Editing ➤ Normalize Spline The Normalize Spline modifier adds new control points in the spline at regular intervals. Use Normalize Spline to produce splines for motion paths that require constant velocity. 1500 | Chapter 9 Modifiers The spline on the left has been normalized. NOTE This feature is not animatable. Interface Seg Length Sets the length of the spline's segments, in 3ds Max units. The positions of the original vertices are discarded, and vertices are set to regular intervals. Segment length determines how many control points are added: shorter segments result in more control points, longer segments result in fewer. Default=20.0 units. Normalize Spline Modifier | 1501 NSurf Sel Modifier Select a NURBS curve or surface object. ➤ List ➤ NSurf Sel Modify panel ➤ Modifier Select a NURBS curve or surface object. ➤ Modifiers menu ➤ Selection Modifiers ➤ NURBS Surface Select Select a NURBS curve or surface object. ➤ Modifiers menu ➤ NURBS Editing ➤ Surface Select The NSurf Sel (NURBS Surface Selection) modifier lets you place a NURBS on page 2433 sub-object selection on the modifier stack. This lets you modify only the selected sub-objects. Also, selected curve sub-objects are shape objects that you can use as paths and motion trajectories. If a NURBS surface object is nonrelational on page 2502, NSurf Sel can't select the sub-object levels Curve, Curve CV, or Point. NURBS surfaces are nonrelational by default. You can make the surface relational by turning on Relational Stack on the object's General rollout. NSurf Sel can select any kind of NURBS sub-objects except imports. Each sub-object selection is of one particular sub-object level only. NOTE The NSurf Sel modifier doesn't support copying and pasting selections as Mesh Select on page 1445 does. Copying and pasting mesh selections is based on vertex indexes. NURBS selections are based on object IDs, which are unique to each model. Procedures To use the NSurf Sel (NURBS Surface Selection) modifier: 1 Select a NURBS object. Go to the and apply NSurf Sel. This modifier has no controls at the top level. 1502 | Chapter 9 Modifiers Modify command panel, 2 In the stack display, choose a sub-object level from the list. NSurf Sel has the same selection controls you see for NURBS surfaces, except that selecting connected curves or surfaces is not available. For more information on the stack display, see Modifier Stack on page 8776. While applying the modifier, you can also select NURBS sub-objects by name. Turn on the Keyboard Shortcut Override toggle on page 9008 and then press the H key. This displays a version of the Selection Floater on page 187 that lists only sub-objects at the current level. Choose one or more objects in the list, and then click Select. 3 Use the selection controls to create a selection set of the chosen sub-object type. NSurf Sel Modifier | 1503 With NSurf Sel, the selection can be of surface CV or surface sub-objects. If you turn on Relational Stack for the NURBS object, you can also select point, curve, and curve CV sub-objects. 4 At the Surface CV sub-object level, adjust Soft Selection controls as you wish. These controls are the same as those in the Soft Selection rollout on page 2561 for NURBS curves and surfaces, except that the Same Type Only toggle is absent. Once you've used the modifier to create the selection, you can apply other modifiers to it. Optimize Modifier Select an object. ➤ Modify panel ➤ Modifier List ➤ Optimize Select an object. ➤ Modifiers menu ➤ Mesh Editing ➤ Optimize The Optimize modifier lets you reduce the number of faces and vertices in an object. This simplifies the geometry and speeds up rendering while maintaining an acceptable image. A Before/After readout gives you exact feedback on the reduction as you make each change. 1504 | Chapter 9 Modifiers Optimize simplifies a smooth model with a high number of faces without greatly changing the model’s appearance. TIP Because Optimize makes decisions based on angles between faces, it's sometimes best to apply it to selected face sub-objects rather than to an entire object. Avoid applying Optimize to areas where you want to preserve geometric detail. Applying Optimize When you first apply Optimize, you might not see any change in the viewports. Adjust the Face Threshold setting to obtain the best optimization. In the Last Optimize Status group, you can see how the object or faces were optimized. Watch these values while you adjust the Optimize parameters, until you have the best possible result. Setting Level of Detail Optimize lets you maintain two levels of optimization detail. You might set a lower optimization level, with fewer faces, to speed up your viewport work, and a higher level for final output in the renderer. However, you can render at either level. You can also switch to the higher level in a viewport to get an idea of what the rendered image will look like. Optimize Modifier | 1505 Procedures To optimize manually: 1 Set up two viewports: one wireframe, one smooth shaded. 2 Select an object and apply the Optimize modifier. The Parameters rollout for this modifier appears. 3 Turn off Manual Update and then adjust the Face Thresh value. Observe the result in the viewports. You can also choose to view the results of the Optimize operation manually by leaving the Manual Update check box turned on and clicking the Update button every time you wish to view a result. 4 In the Parameters rollout ➤ Last Optimize Status group, notice the Before/After count for vertices and faces. 5 In the Optimize group, vary parameters to continue reducing geometry. Compare the result in the two viewports against the Before/After count. To set the level of detail: 1 In the Parameters rollout ➤ Level of Detail group, choose Viewports L1. 2 Adjust parameters in the Optimize and Preserve groups. This sets the L1 level of optimization for both the viewport and the renderer. 3 Repeat steps 1 and 2 for Viewports L2, adjusting parameters for a different optimization. To use level of detail: ■ Switch between L1 and L2 for either Viewports or Renderer. You see the effect immediately in a smooth shaded viewport. Do a test rendering to see the effect on the renderer. The following parameters are stored for each level: Face Threshold, Edge Threshold, Bias, Max Edge Len, Material Boundaries, and Smooth Boundaries. 1506 | Chapter 9 Modifiers Interface Level of Detail group Renderer L1, L2 Set the level of display for the default scanline renderer. Use Viewports L1 and L2 to change the stored optimization level. Default=L1. Viewports L1, L2 Set the optimization level for both viewport and renderer. Also toggles the level of display for the viewport. Default=L1. Optimize Modifier | 1507 Optimize group Adjusts the degree of optimization. Face Thresh Sets the threshold angle used to determine which faces are collapsed. Low values produce less optimization but better approximations of the original shape. Higher values improve optimization, but are more likely to result in faces that render poorly (see Bias). Default=4.0. Edge Thresh Sets a different threshold angle for open edges (those that bound only one face). A low value preserves open edges. At the same time you can apply a high face threshold to get good optimization. Default=1.0. Bias Helps eliminate the skinny or degenerate triangles that occur during optimization, which can cause rendering artifacts. Higher values keeps triangles from becoming degenerate. The default of 0.1 is enough to eliminate the skinniest triangles. Range=0.0 to 1.0 (a 0 value turns Bias off). Max Edge Len Specifies the maximum length, beyond which an edge cannot be stretched when optimized. When Max Edge Len is 0, it has no effect. Any value greater than 0 specifies the maximum length of the edges. Default=0.0. Along with Bias, this control helps you avoid creating long skinny faces while optimizing. Auto Edge Turns edges on and off following optimization. Turns on any open edges. Turns off any edges between faces whose normals are within the face threshold; such edges beyond the threshold are not turned on. Default=off. Preserve group Maintains clean separation at the face level between material and smoothness boundaries. Material Boundaries Prevents face collapse across material boundaries. Default=off. Smooth Boundaries Optimizes an object and maintain its smoothing. When turned on, allows only faces that share at least one smoothing group to collapse. Default=off. Update group Update Updates the viewports with the current optimization settings. Available only when Manual Update is turned on. Manual Update Enables the Update button. When turned off, Optimize works as it does by default, updating the viewport display dynamically. 1508 | Chapter 9 Modifiers NOTE When using Manual Update, if you make any changes that cause the reevaluation of the stack, the existing optimization display disappears. Click the Update button again to restore it. The Renderer ignores the optimization display in the viewport, using the Optimize settings, regardless of the state of the Manual Update. Last Optimize Status group Displays numerical results of optimization with exact before-and-after counts for vertices and faces. Patch Select Modifier Make a selection. ➤ Modify panel ➤ Modifier List ➤ Patch Select Make a selection. ➤ Modifiers menu ➤ Selection Modifiers ➤ Patch Select The Patch Select modifier lets you pass a sub-object selection up the stack to subsequent modifiers. It provides a superset of the selection functions available in the Edit Patch modifier on page 1271. You can select vertices, edges, patches, and elements. You can also change the selection from sub-object level to object level. NOTE When you apply the Patch Select modifier and then go to any sub-object level, the select-and-transform buttons in the toolbar are unavailable, and the Select Object button is automatically activated. Using XForm Modifiers to Animate a Patch Selection When you apply a Patch Select modifier, there are no animation controllers assigned to the sub-object selection. This means that the selection has no way to "carry" the transform information needed for animation. To animate a sub-object selection using Patch Select, apply either an XForm or Linked XForm modifier to the selection. These modifiers provide the necessary controllers for animating the effects of transforms. In a sense, they give "whole-object status" to the sub-object selection. ■ XForm on page 1961 Patch Select Modifier | 1509 Animates transforms directly on a sub-object selection. Creates a gizmo and center for the sub-object selection. You can animate both, with the center acting as a pivot point for the selection. Linked XForm on page 1428 Lets you choose another object to control the animation. The sub-object selection is linked to the "control object." When you transform the control object, the sub-object selection follows accordingly. ■ Procedures To use the patch select modifier: 1 Create or select a patch object. 2 Go to the list. 3 Modify panel and choose Patch Select from the modifier Select vertices, handles, edges, patches, or elements. 4 Add another modifier to affect only the selection from step 3. Interface Modifier Stack Vertex Selects vertices. Handle Selects handles. Edge Selects edges. Patch Selects patches. 1510 | Chapter 9 Modifiers Element Selects elements. For more information on the stack display, see Modifier Stack on page 8776. Parameters rollout Provides buttons for turning different sub-object modes on and off, working with named selections and handles, display settings, and information about selected entities. The icons at the top of the Selection rollout let you specify the method of face selection. Clicking a button here is the same as selecting a sub-object type in the modifier stack. Click the button again to turn it off and return to the object selection level. Vertex Selects a vertex beneath the cursor; region selection selects vertices within the region. Handle Selects a handle beneath the cursor; region selection selects multiple handles within the region. Patch Select Modifier | 1511 Edge Selects an edge beneath the cursor; region selection selects multiple edges within the region. Patch Selects a patch beneath the cursor; region selection selects multiple patches within the region. Element Selects all contiguous faces in an object; region selection selects the same. Select By Vertex Selects any sub-objects at the current level that use a vertex you click. Applies to all sub-object levels except Vertex. Also works with Region Select. Ignore Backfaces Selects only those edges, patches, or elements whose normals make them visible in the viewport. When turned off (the default), selection includes all sub-objects, regardless of the direction of their normals. NOTE The state of the Backface Cull setting in the Display panel doesn't affect sub-object selection. Thus, if Ignore Backfacing is turned off, you can select sub-objects even if you can't see them. NOTE The state of the Ignore Backfaces check box also affects edge selection at the Edge sub-object selection level. Get from Other Levels group Applies selections from one sub-object level to another. Get Vertex Selection Selects edges, patches, or elements based on the last vertex selection. The selection is added to the current selection. Available only when Vertex is not the current sub-object level. Get Edge Selection Selects vertices, patches, or elements based on the last edge selection. Selects those vertices, patches, or elements that contain the edge. Available only when Edge is not the current sub-object level. Get Patch Selection Selects vertices, edges, or elements based on the last patch selection. This selection is added to the current selection. Available only when Patch is not the current sub-object level. 1512 | Chapter 9 Modifiers Select by Material ID group Selects faces based on their material ID. ID Set the spinner to the ID number you want to select, and then click the Select button. Press Ctrl while clicking to add to the current selection, or press Alt to remove from the current selection. Named Selection Sets group These functions are primarily for copying named selection sets on page 204of sub-objects between similar objects, and between comparable modifiers and editable objects. For example, you can apply a patch select modifier to a sphere, create a named selection set of edges, and then copy the selection to a different sphere that's been converted to an editable patch object. You can even copy the selection set to a different type of object, because the selection is identified by the entities' ID numbers. The standard procedure is to create a selection set, name it, and then use Copy to duplicate it into the copy buffer. Next, select a different object and/or modifier, go to the same sub-object level as you were in when you copied the set, and click Paste. NOTE Because sub-object ID numbers vary from object to object, the results of copying named selection sets between different objects can be unexpected. For example, if the buffered set contains only entities numbered higher than any that exist in the target object, no entities will be selected when the set is pasted. Copy Places a named selection into the copy buffer. Paste Pastes a named selection from the copy buffer. Select Open Edges Selects all edges with only one face. In most objects, this will show you where missing patches exist. Available only at the Edge sub-object level. Selection Info At the bottom of the Patch Select Parameters rollout is a text display giving you information about the current selection. If 0 or more than one sub-object is selected, the text gives the number and type selected. If one sub-object is selected, the text gives the ID number and type of the selected item. NOTE When the current sub-object type is Patch or Element, selection information is given in Patches. Patch Select Modifier | 1513 Soft Selection rollout See Soft Selection Rollout on page 1966 for information on the Soft Selection rollout settings. PatchDeform Modifier (Object Space) Select an object. ➤ Modify panel ➤ Modifiers List ➤ Object-Space Modifiers ➤ PatchDeform Select an object. ➤ Modifiers menu ➤ Animation Modifiers ➤ Patch Deform The PatchDeform modifier deforms an object based on the contours of a patch object. This modifier works similarly to the PathDeform modifier on page 1516, but uses a quad-based patch object instead of a spline shape or NURBS curve path. To use the PatchDeform modifier, apply it to the object you want to deform, click the Pick Patch button, and then select a patch object. Deform the object by manipulating the patch object or adjusting the various controls in the Patch Deform panel. Not all objects can be used with PatchDeform. Objects that are valid PatchDeform targets include: Plane, Cylinder, Cone and Torus. This modifier is also similar to the SurfDeform modifier on page 1723, except that it uses a patch surface instead of a NURBS Point or CV surface. There's also a world-space version of the PatchDeform modifier. See PatchDeform (WSM) on page 1089. Generally, the PatchDeform object-space modifier leaves the object in place while moving the patch to the object, while the PatchDeform world-space modifier leaves the patch in place while moving the object to the patch. Also, the WSM version has a Move to Patch button, while the object-space version does not. Procedures To use the PatchDeform modifier: 1 Select an object. 2 Apply PatchDeform. 1514 | Chapter 9 Modifiers 3 On the Parameters rollout, click Pick Patch. 4 Click a patch object. Deform the object by adjusting the controls in the Patch Deform panel and by manipulating the patch object. Interface Modifier Stack Gizmo At this sub-object level, you can transform and animate the gizmo like any other object, altering the effect of the modifier. The PatchDeform gizmo is a representation of the deforming patch object, so transforming it determines which part of the patch affects the modified object. Parameters rollout Patch Deform group Provides controls that let you pick the patch and adjust the object's position and deformation along the gizmo copy of the patch. Patch Displays the name of the selected patch object. Pick Patch Click this button, and then select the patch object you want to use for the deformation. A gizmo is created for the object that matches the PatchDeform Modifier (Object Space) | 1515 patch. Once you assign the patch gizmo, you can adjust the deformation using the remaining controls in this rollout. NOTE Patch Deform can be used only with a rectangular quad patch form. 3ds Max makes no distinction between quad-style patches and certain primitive meshes. Examples of suitable patches are the primitive quad patch object on page 2426, the primitive cylinder on page 336, and the primitive torus on page 342. (The cylinder actually has tri-patches at each end, but since they are at the end of the list of patches, PatchDeform just ignores these extra faces.) U Percent Moves the object along the U (horizontal) axis of the gizmo patch, based on a percentage of the U distance. This spinner defaults to a setting of 50 percent, which places the object at the center of the gizmo patch. A setting of 0 percent places the object at the left edge of the gizmo patch, as seen from the viewport where the patch was created. U Stretch Scales the object along the U (horizontal) axis of the gizmo patch. V Percent Moves the object along the V (vertical) axis of the gizmo patch, based on a percentage of the V distance. A setting of 0 percent places the object at the bottom of the gizmo patch. V Stretch Scales the object along the V (vertical) axis of the gizmo patch. Rotation Rotates the modified object with respect to the gizmo patch. Move To Patch Clicking this button moves the object from its original position to the patch object you are using for deformation. This button is only available with the PatchDeform (WSM). Patch Deform Plane group XY/YZ/ZX Choose a two-axis plane of the object to make parallel with the XY plane of the gizmo patch. Flip Reverses the gizmo direction. PathDeform Modifier (Object Space) Select an object. ➤ Modifiers ➤ PathDeform Modify panel ➤ Modifier List ➤ Object Space Select an object. ➤ Modifiers menu ➤ Animation Modifiers ➤ Path Deform 1516 | Chapter 9 Modifiers The PathDeform modifier deforms an object using a spline or NURBS curve as a path. You can move and stretch the object along the path, and rotate and twist it about the path. There's also a world-space modifier version. See PathDeform (WSM) on page 1089. PathDeform creates a wiggle for the snake. Using a Path to Deform an Object Generally, you use the PathDeform modifier when you want to keep an object in place while deforming to a path. Use the PathDeform world-space modifier when you want to move an object to a path while keeping the path in the same world space. To use the PathDeform modifier, you apply it, then click the Pick Path button and select a shape or curve consisting of a single open or closed spline. Once the object is assigned to the path, you can adjust the parameters to deform or animate the object along a gizmo copy of the path. PathDeform Modifier (Object Space) | 1517 Procedures To use the PathDeform modifier: 1 Select an object. 2 Apply PathDeform. 3 On the Parameters rollout, click Pick Path. 4 Click a spline or NURBS curve. Deform the object by adjusting the various controls in the Path Deform panel and by editing the path object. Example: To use the PathDeform modifier to curve text: 1 In the Top viewport, create a circle with a radius of 100 units. 2 In the Front viewport, create a text shape with six or seven letters, and a size of 25. (You can use the default "MAX Text".) 3 Apply an Extrude modifier on page 1369 to the text shape and set Amount to –5.0. 4 On the main toolbar, set the Reference Coordinate System to Local. Looking at the axis tripod for the extruded text object, you can see that its Z axis runs from back to front, relative to world space. 5 Apply a PathDeform object-space modifier to the text object, click the Pick Path button, and then select the circle.3ds Max displays a circular gizmo. The circle runs through the local Z axis of the text object. Because of its orientation, its effect is minimal, but you can see a slight wedge-shaped deformation from the top view. 1518 | Chapter 9 Modifiers 6 In the Path Deform Axis group, choose the Y option, and then the X option. The circle gizmo rotates to run through the specified axes, deforming the text object differently with each change. 7 Adjust the Percent spinner to view its effect, and then set it to 0. Try the same with Stretch, Rotation, and Twist, and then restore them to their original values. (Tip: Use the Ctrl key with Twist to amplify the effect.) 8 Turn Flip on and off to switch the direction of the path. 9 In the stack display, choose the Gizmo sub-object level, and move the gizmo path around. The text object is further deformed by its relative position to the gizmo. 10 In the modifier stack, turn off sub-object selection by selecting the original circle shape. 11 Adjust the circle's radius. The deformation of the text object changes because its gizmo is an instance of the shape object. Interface Modifier Stack Gizmo At this sub-object level, you can transform and animate the gizmo like any other object, altering the effect of the modifier. The PathDeform gizmo is a representation of the deforming path object, so transforming it determines which part of the path affects the modified object. PathDeform Modifier (Object Space) | 1519 Parameters rollout Path Deform group Provides controls that let you pick a path and adjust an object's position and deformation along the path. Path Displays the name of the selected path object. Pick Path Click this button and then select a spline or NURBS curve to use as the path. The gizmo that appears is shaped like the path and is aligned with the local Z axis of the object. Once you assign the path, you can adjust the deformation of the object using the remaining controls in this rollout. The path you pick should contain a single, open or closed curve. If you use a path object consisting of multiple curves, only the first one is used. Percent Moves the object along the gizmo path based on a percentage of the path length. Stretch Scales the object along the gizmo path, using the object's pivot point as the base of the scale. Rotation Rotates the object about the gizmo path. Twist Twists the object about the path. The twist angle is based on the rotation of one end of the overall length of the path. Typically, the deformed object takes up only a portion of the path, so the effect can be subtle. 1520 | Chapter 9 Modifiers Path Deform Axis group X/Y/Z Choose one to rotate the gizmo path to align with a specified local axis of the object. Flip Reverses the gizmo path 180 degrees about the specified axis. Point Cache Modifier (Object Space) Select an object. ➤ Modifiers ➤ Point Cache Modify panel ➤ Modifier List ➤ Object Space Select an object. ➤ Modifiers menu ➤ Cache Tools ➤ Point Cache The Point Cache modifier lets you store modifier and sub-object animation to a disk file that records only changes in vertex positions, and then play back the animation using the information in the disk file instead of the modifier keyframes. Point Cache is useful when the computation required for vertex animation becomes so excessive that it causes animation playback to run slowly or drop frames. Another use for this modifier is to apply the same animation to a number of objects, varying the Start Time and Strength settings for each so they don't all move identically. NOTE Point Cache can be useful with Cloth animations on page 1142. If your Cloth animation includes cloth that tears (see Tearing Cloth on page 1145), the Welder modifier on page 1955 can help smooth joins and seams before tearing occurs. The Point Cache modifier is also available in a world-space version on page 1095, for which usage is the same. Special Point Cache Features Special features in the Point Cache modifier include: ■ You can save animation files in XML and MC formats for greater compatibility with other applications, such as Autodesk Maya, as well as the legacy PC2 format. ■ When recording to XML, you can save each animation frame in a separate file. Point Cache Modifier (Object Space) | 1521 Cache files for large meshes and long animations can be very large. Saving as a file per frame lets you manage data more easily and replace single frames if you find errors. Compatibility with Autodesk Maya Following is a suggested workflow for using Point Cache for working on an animation project in both 3ds Max and Autodesk Maya: 1 Create a deforming mesh (such as Skin, Cloth, and so on). 2 Apply the Point Cache modifier. 3 Save the cache in XML format with referenced MC files. 4 Save the mesh in FBX format. 5 Bring the mesh into Maya. 6 In Maya, load the cache data onto the mesh using the XML file to load the referenced MC files. 7 Modify the animation in Maya and save it, overwriting the XML and MC files. In 3ds Max, use the Point Cache ➤ Reload command; this updates the animation to that saved from Maya. Special Features in Point Cache Both versions of the Point Cache modifier provide enhanced animation capabilities, including: ■ Adjustable playback ranges and a playback graph, to animate which cache frame is played back. This lets you load a cache and then animate it, slowing down, stopping, reversing, etc. ■ Nth-frame sampling, so you can sample every few frames to save disk space if sampling every frame is unnecessary, or record multiple samples per frame for improved motion blurring. ■ The "strength" is adjustable in Absolute mode, so you can easily blend the cache with what is below in the stack. ■ Improved cache file management. ■ Pre-loaded caches to speed up playback. 1522 | Chapter 9 Modifiers Procedures To use the Point Cache modifier: 1 Use one or more modifiers to animate an object. For example, you might apply a Bend modifier on page 1104, and then set keyframes for the Angle parameter to make the object bend back and forth. 2 Click (Play Animation). If the animation is a good candidate for caching, the playback will drop many frames with Real Time Playback turned on, and will run slowly with Real Time Playback turned off. 3 From the Modify panel ➤ Modifier List, choose Object-Space Modifiers ➤ Point Cache. 4 On the Parameters rollout ➤ Record group, set values for Start Time and End Time. 5 If you plan to render the cached animation using motion blur, decrease the Sample Rate setting. 6 Click the Record button, and use the Save Cache dialog to specify a cache file. To export the animation to another program, such as Autodesk Maya, use the XML file format; otherwise, use the PC2 file format. 3ds Max records the animation to the cache file. When finished, the cache file name appears in the Cache File group. 7 In the Record group, click Disable Modifiers Below. This turns off all the object's modifiers below Point Cache so that only the cached vertex animation will appear when you play back the animation. 8 Click (Play Animation) again. This time the animation plays back quickly and smoothly. Point Cache Modifier (Object Space) | 1523 Interface 1524 | Chapter 9 Modifiers Cache File group Contains settings for recording vertex animation. [file name] After you specify or load a cache file, its name appears in this field. New Creates a new, empty cache file. After setting a new file, use Record to create the cache data. You can save the file in either of two formats: ■ XML:Saves the basic cache information in an XML file, and the animation data in one or more MC files (The XML file includes references to the MC files). The modifier uses multiple MC files if you set the Record group option to One File Per Frame. When recording multiple MC files, the modifier gives them the name [file name]Frame[frame number}.mc; for example, Cylinder01Frame10.mc. If you set a non-integer value for Sample Rate, the modifier appends the sub-frame cache file names with Tick[tick number]. ■ PC2:Saves all cache information and data in a single PC2 file. When you use this format, the One File Per Frame option is unavailable. Load Loads a vertex animation from a cache file on disk into the Point Cache modifier. If the number of vertices in the cache does not match the number of vertices in the object, the Cache Info group reports an error, and the animation doesn’t take effect. Load supports these file formats: XML, PC2, PTS. Unload Temporarily frees the current cache file, so it can be edited or deleted externally. Reload Reopens the current cache file, if previously unloaded. Cache Info group Displays cache statistics in read-only format, including the number of files, point count, evaluations (number of samples), sample rate, start and end frames, and errors, if any. Record group Contains settings for recording cached animation. One File/One File Per Frame Choose whether to save the cache in a single file, or in a separate file for each frame of recorded animation. The latter option is available only when using the XML file format. Point Cache Modifier (Object Space) | 1525 Start Frame Sets the first frame for recording the vertex animation. Default=first frame of the active time segment. Using decimal fractions lets you start at a sub-frame setting when using a Frame:Ticks time display. End Frame Sets the last frame for recording the vertex animation. Default=last frame of the active time segment. Using decimal fractions lets you start at a sub-frame setting when using a Frame:Ticks time display. Sample Rate Sets the number of frames between each recorded sample. When rendering with motion blur, which uses sub-frame sampling, decrease this value. Default=1.0. At the default value of 1.0, Point Cache records one sample per frame. Increasing the value causes a sample to be recorded every Nth frame. For example, a value of 10.0 records every tenth frame. Decreasing the value causes multiple samples to be recorded for each frame. For example, if you set Sample Rate to 0.1, Point Cache records 10 samples per frame at evenly spaced intervals. Record Stores the vertex animation to a disk file. If no cache file is specified, or the specified file doesn't exist, activates the Save Points dialog, which lets you specify a path and file name for the cache file. Click Save to record the file, and then load it into the Point Cache modifier, ready for playback. TIP To change the path or file name, use Cache File group ➤ New and specify a different cache file. Enable Modifiers Below Turns on all stack modifiers below the Point Cache modifier. Use this when you want to change modifier settings. Disable Modifiers Below Turns off all the object's stack modifiers below Point Cache so that only the cached vertex animation appears when you play back the animation. Load Type group These options apply only to PC2 and PTS files; when the cache file type is XML they are unavailable. Local The method the modifier uses to load the cache file. The options are: ■ StreamKeeps the cache file open for fast access, but loads only a single frame at a time to conserve memory. This is the default mode. 1526 | Chapter 9 Modifiers ■ Per-SampleOpens the cache file, reads a single frame, and then immediately closes the file. This is slower than the Stream method, but is useful if many users are reading/writing the same set of cache files since the cache files won't be locked open as you read from them. ■ Pre-LoadLoads the entire cache file into memory for fast access, and then closes the file. This is particularly useful in networked situations, or when a few cache files are used by many objects in one scene. In the latter case, using this option prevents each object from thrashing the disk on playback. Be conservative in using this, as it can consume a great deal of memory. However, if one cache file is used by several objects, the cache is loaded into memory only once. Slave These options apply if 3ds Max is running as a network-rendering client; see the preceding for details. In this situation, only Per-Sample and Pre-Load are available, and the default option is Per-Sample, so the clients don't lock files. [label] This read-only field displays the size of the pre-loaded data when Local is set to Pre-Load. Playback Options group Strength Affects the motion relative to the original animation. Default=1.0. Range=-10.0 to 10.0. When modifiers below the Point Cache modifier are enabled, the Strength value is used only when Relative Offset is on. When modifiers below the Point Cache modifier are disabled, the Strength value is always used. At 1.0, the animation plays back the same as recorded. With strengths between 0.0 and 1.0, the animation is relatively restrained. At strengths greater than 1, the animation is exaggerated. With negative Strength settings, the motion is reversed. Relative Offset Enables offsetting the animated vertex positions relative to their positions as recorded, based on the Strength setting. Default=off. NOTE When you turn on Relative Offset and play back a cached animation with the modifiers turned on, the cached vertex positions are calculated relative to their positions as calculated by the modifiers. For example, if you record a Bend animation to a cache file, and then play it back with both Relative Offset and the Bend modifier on and Strength=1.0, all vertex positions are doubled, resulting in exaggerated motion. Point Cache Modifier (Object Space) | 1527 Apply To Whole Object When off, only the active vertex selection is animated. In this case, for the cache animation to be visible, the selection must include at least some of the originally animated vertices. Playback Type group Playback Type Specifies how playback occurs: ■ Original RangePlays back the cache over the range it was originally recorded, so the animation will always be the same as the original. ■ Custom StartPlays back the cache from a custom start time, set by Start Frame, but the animation length and playback speed will be the same as the original animation. ■ Custom RangeLets you set start and end frames within which the current cache plays back. Using a range that is smaller than the original record range plays the cache back faster, while specifying a larger range plays the cache back slower. ■ Playback GraphLets you animate which cache frame is played at any given time. For example, if you record a cache from frames 0 to 100 and then want it to play back twice as fast forward and then in reverse, choose this option, turn on Auto Key, set the Frame parameter to 0.0 at frame 0, 100.0 at frame 50, and then back to 0.0 at frame 100. The function curve of this parameter in Track View shows how the cache is played back. Animating the Frame value lets you achieve unusual effects such as slowing a cache down over time, creating a ping-pong effect during playback, etc. Start Frame The frame number at which the cached animation starts playing back. Using decimal fractions lets you start at a sub-frame setting when using a Frame:Ticks time display. Available only when Playback Type is set to Custom Start or Custom Range. Default=0.0. End Frame The frame number at which the cached animation starts playing back. Using decimal fractions lets you start at a sub-frame setting when using a Frame:Ticks time display. Available only when Playback Type is set to Custom Range. Default=0.0. Frame Lets you animate playback of the cache; for details, see Playback Graph, above. Clamp Graph Controls what gets loaded when the Playback Graph frame is out of the original recorded range. Take an example in which the playback frame is set to 105, but the original cache was recorded over frames 0-100. With Clamp Graph on, the loaded 1528 | Chapter 9 Modifiers frame will be 100. If it's off (the default), the cache will "wrap around" and load frame 5. This lets you loop caches more easily. In the above example, you could simply have a two-key playback graph. The first key would be at frame 0 with a value of 0.0, and the second would be at frame 100 with a value of 100.0. You would then set the out-of-range type on page 3996 for the Frame parameter (Playback Frame in Track View) to Linear, and the cache would loop back smoothly to the beginning at frame 101. Poly Select Modifier Make a selection. ➤ Modify panel ➤ Modifier List ➤ Poly Select Make a selection. ➤ Modifiers menu ➤ Selection Modifiers ➤ Poly Select The Poly Select modifier lets you pass a sub-object selection up the stack to subsequent modifiers. It provides a superset of the selection functions available in Editable Poly on page 2240. You can select vertices, edges, borders, polygons, and elements. You can change the selection from sub-object level to object level. When you apply the Poly Select modifier and then go to any sub-object level, the select-and-transform buttons in the toolbar are unavailable, and the Select Object button is automatically activated. Using XForm Modifiers to Animate a Poly Selection When you apply a Poly Select modifier, there are no animation controllers assigned to the sub-object selection. This means that the selection has no way to "carry" the transform information needed for animation. To animate a sub-object selection using Poly Select, apply either an XForm or Linked XForm modifier to the selection. These modifiers provide the necessary controllers for animating the effects of transforms. In a sense, they give "whole-object status" to the sub-object selection. ■ XForm on page 1961 Animates transforms directly on a sub-object selection. Creates a gizmo and center for the sub-object selection. You can animate both, with the center acting as a pivot point for the selection. ■ Linked XForm on page 1428 Poly Select Modifier | 1529 Lets you choose another object to control the animation. The sub-object selection is linked to the "control object." When you transform the control object, the sub-object selection follows accordingly. Procedures To use the Poly Select modifier: 1 Create or select an object. NOTE Applying a Poly Select modifier to an object other than a polymesh type will convert the object to a polymesh object. If you want more control over the conversion, add a Turn To Poly modifier on page 1779 before applying the Poly Select modifier. The Turn To Poly modifier provides conversion options that aren't available with the Poly Select modifier. 2 Apply the Poly Select modifier. 3 Select vertices, faces, or polygons. 4 Add another modifier to affect only the selection from step 3. Interface Modifier Stack 1530 | Chapter 9 Modifiers Vertex Selects vertices. Edge Selects edges. Border Selects borders. Polygon Selects polygons. Element Selects elements. For more information on the stack display, see Modifier Stack on page 8776. Parameters rollout Provides buttons for accessing different sub-object levels, working with named selections and handles, display settings, and information about selected entities. The icons at the top of the Selection rollout let you specify the method of face selection. Poly Select Modifier | 1531 Clicking a button here is the same as choosing a sub-object type in the modifier stack. Click the button again to turn it off and return to the Object selection level. NOTE You can convert sub-object selections in two different ways with the use of the Ctrl and Shift keys: ■ Clicking a sub-object button in the Selection rollout with Ctrl held down converts the current selection to the new level, selecting all sub-objects in the new level that touch the previous selection. For example, if you select a vertex, and then Ctrl+click the Polygon button, all polygons that use that vertex are selected. ■ To convert the selection to only sub-objects all of whose source components are originally selected, hold down both Ctrl and Shift as you change the level. For example, if you convert a vertex selection to a polygon selection with Ctrl+Shift+click, the resultant selection includes only those polygons all of whose vertices were originally selected. Vertex Selects a vertex beneath the cursor; region selection selects vertices within the region. Edge Selects a polygon edge beneath the cursor; region selection selects multiple edges within the region. Border Turns on Border sub-object mode, which lets you select an area on a mesh that can generally be described as a hole. Areas like this are usually sequences of edges with faces on only one side. For example, a box doesn't have a border, but the Teapot object has several of them: on the lid, on the body, on the spout, and two on the handle. If you create a cylinder, then delete the top face, the top row of edges forms a border. When the Border sub-object level is active, you can't select edges that aren't on borders. Clicking a single edge on a border selects that whole border. Borders can be capped (either in editable poly or by applying the cap holes modifier). They can also be connected to another object (compound object connect). 1532 | Chapter 9 Modifiers Polygon Selects all coplanar polygons beneath the cursor. Usually, a polygon is the area you see within the visible wire edges. Region selection selects multiple polygons within the region. Element Selects all contiguous polygons in an object; region selection selects the same. By Vertex Selects any sub-objects at the current level that use a vertex you click. Applies to all sub-object levels except Vertex. Also works with Region Select. Ignore Backfaces Selecting sub-objects selects only those whose normals make them visible in the viewport. When turned off (the default), selection includes all sub-objects, regardless of the direction of their normals. NOTE The state of the Display properties on page 143 ➤ Backface Cull setting doesn't affect sub-object selection. Thus, if Ignore Backfacing is turned off, you can select sub-objects even if you can't see them. NOTE The state of the Ignore Backfaces check box also affects edge selection at the Edge sub-object selection level. Shrink Reduces the sub-object selection area by deselecting the outermost sub-objects. If the selection size can no longer be reduced, the remaining sub-objects are deselected. Grow Expands the selection area outward in all available directions. For this function, a border is considered to be an edge selection. Poly Select Modifier | 1533 With Shrink and Grow, you can add or remove neighboring elements from the edges of your current selection. This works at any sub-object level. Ring Expands an edge selection by selecting all edges parallel to the selected edges. Ring applies only to edge and border selections. Ring selection adds to the selection all the edges that are parallel to the ones selected originally. 1534 | Chapter 9 Modifiers Loop Expands the selection as far as possible, in alignment with selected edges. Loop applies only to edge and border selections, and propagates only through four-way junctions. Loop selection extends your current edge selection by adding all the edges aligned to the ones selected originally. Get from Other Levels group Applies selections from one sub-object level to another. Get Vertex Selection Selects faces based on the last vertex selection. Selects all faces shared by any selected vertex. The selection is added to the current selection. Available only when the current sub-object level is not Vertex. Get Poly Selection Selects vertices based on the last polygon/element selection. This selection is added to the current selection. Available only when the current sub-object level is not Polygon or Element. Get Edge Selection Selects faces based on the last edge selection. Selects those faces that contain the edge. Available only when the current sub-object level is not Edge or Border. Poly Select Modifier | 1535 Select by Material ID group Selects faces based on their material ID. ID Set the spinner to the ID number you want to select, and then click the Select button. Press Ctrl while clicking to add to the current selection, or press Alt to remove from the current selection. Named Selection Sets group These functions are primarily for copying named selection sets on page 204of sub-objects between similar objects, and between comparable modifiers and editable objects. For example, you can apply a Poly Select modifier to a sphere, create a named selection set of edges, and then copy the selection to a different sphere that's been converted to an editable mesh object. You can even copy the selection set to a different type of object, because the selection is identified by the entities' ID numbers. The standard procedure is to create a selection set, name it, and then use Copy to duplicate it into the copy buffer. Next, select a different object and/or modifier, go to the same sub-object level as you were in when you copied the set, and click Paste. NOTE Because sub-object ID numbers vary from object to object, the results of copying named selection sets between different objects can be unexpected. For example, if the buffered set contains only entities numbered higher than any that exist in the target object, no entities will be selected when the set is pasted. Copy Places a named selection into the copy buffer. Paste Pastes a named selection from the copy buffer. Select Open Edges Selects all edges with only one face. In most objects, this will show you where missing faces exist. Available only at the Edge or Border sub-object level. Selection Info At the bottom of the Parameters rollout for Mesh Select is a text display giving you information about the current selection. If 0 or more than one sub-object is selected, the text gives the number and type selected. If one sub-object is selected, the text gives the ID number and type of the selected item. NOTE When the current sub-object type is Element, selection information is given in polygons When the current sub-object type is Border, selection information is given in edges. 1536 | Chapter 9 Modifiers Soft Selection rollout Soft Selection controls affect the action of sub-object Move, Rotate, and Scale functions. When these are on, 3ds Max applies a spline curve deformation to unselected vertices surrounding the transformed selected sub-object. This provides a magnet-like effect with a sphere of influence around the transformation. For more information, see Soft Selection Rollout on page 1966. Preserve Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Preserve Make a selection. ➤ Modifiers menu ➤ Parametric Deformers ➤ Preserve The Preserve modifier lets you retain, as much as possible, the edge lengths, face angles, and volume of an edited and deformed mesh object using an unmodified copy of the object before it was deformed. When you push and pull vertices at the sub-object level, the process typically stretches the edges and often alters the face angles, resulting in irregular topology. You can use the Preserve modifier to generate more regular edge lengths, and a "cleaner" mesh. Procedures Using the Preserve modifier: 1 Create an object. Before you edit it, create a copy. 2 Edit the copy at the sub-object level, pushing and pulling vertices, faces, and so on. 3 Apply the Preserve modifier to the copy, click the Pick Original button, and then select the original, unmodified object. 4 Adjust controls in the Preserve modifier to fine-tune the mesh. Preserve Modifier | 1537 Example: Use the Preserve modifier on a geosphere: 1 Create a GeoSphere on page 334 and use copy of it. Shift+Move to make a TIP If you want to see the effect of Preserve on mapping, apply a checker-mapped material to the sphere and display it in the viewports before making the copy. 2 Convert the copy to an editable mesh on page 2190. 3 At the Vertex sub-object level, select a third of the vertices at the top of the sphere, and move them upward (as seen from the front) about one radius in distance. Notice the stretched edges between the moved vertices and the remaining vertices. 4 While still at the Vertex sub-object level, apply the Preserve modifier. 5 Click the Pick Original button, and then select the original (unedited) sphere. The selected vertices move back toward the sphere in an attempt to maintain the original volume and edge lengths. 6 Turn on Invert Selection. The selected vertices return to their moved position, and the unselected vertices (the inverted selection) move up toward the selected vertices. 7 Turn off Invert Selection and slowly reduce the Iterations to 0. The object now looks as it did before you applied Preserve. 8 Increase Iterations to the default 25, and then increase it to approximately 75. The object is now almost completely spherical again. 9 Set Iterations back to 25, and then try different Edge Lengths, Face Angles, and Volume settings. (You can restore the defaults by settings Edge Lengths to 1.0, and Face Angles and Volume to 0.3. 1538 | Chapter 9 Modifiers Steps in applying the Preserve modifier to a geosphere Example: Animating a preserved object: You can animate the Preserve parameters, but the following procedure shows you how to use Morph and Preserve together. 1 Remove the Preserve modifier from the copied sphere, and go to object level (instead of sub-object level). 2 With the copied (and deformed) sphere still selected, choose Create panel ➤ Compound Objects ➤ Morph to make it into a Morph object. Preserve Modifier | 1539 3 Make sure Instance is chosen in the Pick Targets rollout. 4 At frame 0, click Pick Target, and then select the original sphere. 5 On the Modify panel, go to frame 100, select sphere02 in the Morph Targets list, and click Create Morph Key. The object now morphs from a sphere to a deformed sphere. 6 Apply Preserve to the morph object. 7 Click Pick Original, and select the original sphere. The object now morphs from the sphere to a preserved and deformed sphere. Note that because the object selection is passed up the stack, the Preserve effect is applied to the entire sphere. 8 Choose Selected Verts Only in the Selection group. Now only the selected vertices are affected by Preserve. However, the morph still works. Example: Using the Selection check boxes: 1 Reset 3ds Max, create a box, and convert it to an editable mesh. 2 Use Shift+Move to make a copy. 3 Use the Modify panel to select the top four vertices in the second box. Move them upward in Z, making the copied box taller than the original. 4 Apply Preserve, and pick the first box as the original. The selected vertices move down to match the original edge lengths. 5 Set Iterations to 0 to move the vertices back up, then turn on Invert Selection, and set iterations back up to 25. The selected vertices stay in their original locations, but the unselected vertices move upward to restore the original edge lengths. 6 Turn Iterations back down to 0. Turn on Apply To Whole Mesh (Invert Selection becomes unavailable), and then turn Iterations back up to 25. 1540 | Chapter 9 Modifiers Preserve is now applied to the whole mesh. Since all vertices are affected, the top and bottom of the box approach each other. 7 Turn off Apply To Whole Mesh. All vertices are translated, but maintain the same positions relative to each other. 8 Turn off Invert Selection and turn on Selected Verts Only. You're back to the original effect. You can move the Iterations spinner up and down to see that you're affecting only the selected vertices. Example: Simulating cloth: 1 Reset 3ds Max, create a Quad Patch Grid, and convert it to an editable mesh. 2 Make a copy, and then make a reference of the copy. You should have a total of three objects in the scene. 3 Apply Preserve to the third patch, using the first as the original. 4 Turn on Selected Verts Only and Invert Selection. 5 Set Iterations to 100. Select the second patch and go to the Sub-Object ➤ Vertex 6 level. 7 Select a single vertex in the middle of the patch and move it upward in Z. The third patch becomes a floating handkerchief. 8 9 Undo the vertex move. Select the far two corner vertices of the second patch, and drag them upward in Z. Now, you've got the beginnings of a sheet hanging on the line. Preserve Modifier | 1541 Interface Original Displays the name of the selected original object. (Note that the so-called "original" object doesn't actually have to be the original. It's simply a copy of the object that represents its unmodified topology.) Pick Original Click this, and then select an unmodified copy of the current object. You should pick an object with the same topology as the current object, which has the same number of vertices. While you can select a completely different object with equal vertices, the results are unpredictable. Iterations Specifies the number of calculations toward the solution. The higher this number, the closer the object comes to matching the original object and the slower the process. When this is set to zero, the original object has no effect, as if the Preserve modifier were never applied. Preservation Weights group Edge Lengths, Face Angles, Volumes Adjusts the relative importance of the three components you're attempting to preserve: edge lengths, face angles, and volume. In most cases, you'd leave these at their default settings, but you can achieve some interesting effects by altering them. Higher face angles, for example, produce stiffer meshes. 1542 | Chapter 9 Modifiers Selection group Provides options that let you specify which selection level to take from previous selection modifiers in the stack. The Preserve modifier acts on the specified selection. Apply to Whole Mesh Applies Preserve to the entire object, regardless of the selection passed from previous levels of the stack. Disables the other two check boxes. Selected Verts Only Uses previous sub-object vertex selections. Note that it doesn't matter if the Vertex sub-object level is active in a previous stack item. As long as vertices have been selected, Preserve will use that selection. Invert Selection Inverts the selection passed up the stack. NOTE If all of the check boxes are turned off, Preserve uses whatever active selection is passed up the stack. Thus, if a Mesh Select modifier is set to the Vertex level, then that vertex selection is used. If the same Mesh Select modifier is set to the top (object) level, then the entire object is affected. Projection Modifier Select an object. ➤ Modifiers ➤ Projection Modify panel ➤ Modifier List ➤ Object-Space The Projection modifier is used primarily to manage objects for producing normal bump maps on page 7320. You apply it to the low-resolution object, and then pick a high-resolution object as the source for the projected normals. When you use the Render To Texture dialog on page 7333 to set up projection, Render To Texture applies the Projection modifier to the low-resolution object automatically. You can also explicitly apply the Projection modifier to set up the projection before you use Render To Texture. NOTE The low-resolution object requires UV coordinates, but the high-resolution source object does not need to have them. When the normals map is rendered, you can choose to have Render To Texture apply an “Automatic Flatten UVs” (Unwrap UVW) modifier on page 1787 to the top of the low-res object's stack; or you can use existing mapping, if such exists. You can apply more than one instance of the Projection modifier to the same object, and you can instance it across multiple objects. Projection Modifier | 1543 The Projection modifier is a topology-dependent modifier on page 9330, so when you select an item in the stack that is lower than the Projection modifier, you see a warning dialog that asks if you want to proceed. (The same is true of the Automatic Flatten UVs modifier.) Projection and Sub-Object Selections You can match geometry to sub-object selections. There are two ways to do so: matching material IDs, or matching named selections of sub-object geometry. Matching Material IDs Here is a sample workflow for using material IDs to match portions of the low-res object to different high-res objects: 1 At the level of the low-res object itself, assign differing material IDs to different face selections. To do so, the low-res object must be a surface model; that is, an editable mesh, editable poly, editable patch, or NURBS surface. Use the Surface Properties rollout to change the material ID of sub-object selections. 2 For the high-res target objects, assign corresponding material IDs. An easy way to do this is to apply the Material modifier on page 1435. 3 In the Resolve Hit group of the Projection Options dialog on page 7351, turn on Hit Only Matching Material ID. 4 Render to texture. The texture for faces of the low-res object receive texture element information only from the source object that had the corresponding material ID. Matching Selected Geometry Here is a sample workflow for using sub-object selections to match portions of the low-res object to different high-res objects. 1 In the Projection modifier, go to the Face or Element sub-object level. See Selection Rollout (Projection Modifier) on page 1545. 2 Make a sub-object selection, then on the Reference Geometry rollout on page 1548, enter a descriptive name in the Name field. 1544 | Chapter 9 Modifiers 3 Click (Add) or press Enter. The name of the sub-object selection set is added to the list. 4 Click in the list to highlight the selection-set name, click Pick or Pick List, and then select the high-res source object to associate with the sub-object selection. 5 Repeat steps 2 through 4 to associate different sub-object selections with different source objects. 6 Choose Rendering ➤ Render To Texture. The Render To Texture dialog appears. 7 In the Projection group of the Objects To Bake rollout on page 7336, turn off Object Level and turn on Sub-Object Levels. 8 Click Render. Render To Texture renders a separate texture for each of the named sub-object selections contained in the Projection modifier. See also: ■ Soft Selection Rollout on page 1966 Selection Rollout (Projection Modifier) Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Projection ➤ Selection rollout The Projection modifier's Selection rollout is for managing sub-object selections. Projection Modifier | 1545 Interface Cage Click to turn on the Cage sub-object level. The Cage is the surface from which normals are projected. At the Cage sub-object level, you can adjust the cage manually by transforming sub-object selections of cage vertices. Face Click to turn on the Face sub-object level. The Face sub-object level lets you assign different source geometry to different portions of a surface. Element Click to turn on the Element sub-object level. The element sub-object level lets you assign different source geometry to individual elements. (An element is a group of contiguous faces.) Shrink Reduces the sub-object selection area by deselecting the outermost sub-objects. If the selection size can no longer be reduced, the remaining sub-objects are deselected. Grow Expands the selection area outward in all available directions. 1546 | Chapter 9 Modifiers With Shrink and Grow, you can add or remove neighboring elements from the edges of your current selection. Shrink and Grow work at any sub-object level. Ignore Backfacing When on, selection of sub-objects affects only those facing you. When off, you can select any sub-objects under the mouse cursor, regardless of visibility or facing. If multiple sub-objects lie under the cursor, repeated clicking cycles through them. Likewise, with Ignore Backfacing off, region selection includes all sub-objects, regardless of the direction they face. Default=off. Get Stack Selections Click to collect sub-object selections from modifiers that are below the Projection modifier on the stack. Select SG To select by smoothing group value, use the spinner to set the number of the smoothing group, and then click Select SG. Select MatID To select by material ID, use the spinner to set the ID number, and then click Select MatID. ■ Sub-material drop-down listWhen a multi/sub-object material is applied to the low-res object, this list shows the names and numbers of sub-materials that are assigned to faces or elements of the object. When you have selected by material ID, the corresponding sub-material appears in the field above the list. Clear Selection When on, each stack, smoothing group, or material ID selection you make replaces the previous selection. When off, each new selection is added to the previous selection set. Default=on. Projection Modifier | 1547 Reference Geometry Rollout (Projection Modifier) Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Projection ➤ Reference Geometry rollout On the Reference geometry rollout, you can create named sub-object selection sets, and associate them with high-resolution geometry. Interface Name Lets you enter a name for the current set of selected sub-objects. Delete Click to delete the sub-object selection set whose name is highlighted in the list. 1548 | Chapter 9 Modifiers Add Click to add the named sub-object selection set to the list. Keyboard shortcut: Enter. Select Click to select the sub-objects in the selection set whose name is highlighted in the list. Delete All Click to delete all named sub-object selection sets in the list. Reference geometry window This window shows a list of named sub-object selection sets, and the high-resolution source geometry with which they're associated. If you have picked a high-res object at the object level, it also shows “Object Level” followed by the name of the source object. Proportion Multiplier When Proportional is chosen for sub-object normal bump mapping in the Projection Mapping group of the Objects To Bake rollout on page 7336 for Render To Texture, this value multiplies the default size of the normal bump map. Range=0.0 to 2.0. Default=1.0. For example, if Proportional rendering of a sub-object were to render a sub-object selection at 16 x 16 pixels, changing Proportion Multiplier to 2.0 would change the size of the normal bump map to 32 x 32 pixels. This control is unavailable unless a sub-object selection is active. Pick To associate high-res geometry with the current selection, click Pick to turn it on, then click a source object in a viewport. Pick List To associate high-res geometry with the current selection, click Pick List, then use the Add Objects dialog, which works like the Select From Scene dialog on page 184, to choose a source object. Display Toggle group The Display Toggle group is useful when you want to compare the hi—res to your low-res geometry. You can quickly toggle between your low-res geometry and your hi-res geometry to compare versions. You can show selected or all hi-res geometry. Enable When on, makes it possible to show or hide reference geometries. Default=off. Hide Reference Geometry/Hide Working Geometry When Enabled is on, click Hide Reference Geometry to hide your hi-res geometry. Conversely, click Projection Modifier | 1549 Hide Working Geometry to hide your low-res geometry. You can also selectively show and hide high-res geometries in your Pick List. Click Off to hide a geometry. Click Hide to show a geometry. Cage Rollout (Projection Modifier) Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Projection ➤ Cage rollout These settings adjust the cage and its display. The cage is the nonrenderable geometry that the Projection modifier uses as the surface from which it ray-traces normals. NOTE Special export/import functionality available on this rollout lets you convert the cage into standard geometry of the same type and topology as the cage and modified object, which you can edit using standard methods and then use to define a new shape for the cage. This provides access to the full range of mesh-editing tools available in 3ds Max for shaping the cage to your precise requirements. For example, with editable poly, you can take advantage of tools such as Loop, Ring, Grow, and Shrink, and quickly switch among sub-object levels such as Face and Vertex. Procedures To use Export and Import with a cage: 1 Create a cage: 1 Create low-resolution and high-resolution objects. In most cases, for best results they should be arranged concentrically. 2 Apply the Projection modifier to the low-resolution object. This creates the cage with the same shape and position as the low-resolution object. 3 Use the Reference Geometry rollout controls to specify one or more high-resolution objects. 4 On the Cage rollout, click Update. This reshapes the cage, roughly enveloping the high-resolution object(s). 1550 | Chapter 9 Modifiers 2 On the Cage rollout, click Export. This creates a separate geometrical object in the same shape as the cage, with the same type and topology as the low-resolution object. We'll call this the cage object. For example, if the low-resolution object is an editable poly, or has an Edit Poly modifier at the top of the modifier stack, the resultant cage object is of editable poly type. 3 Use standard object-editing tools to modify the cage object's shape. Do not alter its topology by adding or removing vertices, edges, etc., because that would invalidate its usage for reshaping the cage. Also, for best results, do not move the cage object. If you wish, you can temporarily hide any overlapping objects. 4 Select the low-resolution object. 5 On the Cage rollout, click Import and then select the cage object. If the cage object type and topology are the same as the low-resolution object, 3ds Max reshapes the cage to match the cage object's shape. Alternatively, if the cage object can be converted to the same type as the low-resolution object without a change in topology, it is also accepted. If not, a warning appears and no reshaping takes place. IMPORTANT The resultant cage matches the imported cage object's shape, position, orientation, and size exactly. If the import is successful, the cage object can be deleted, or retained for possible future cage modification. Projection Modifier | 1551 Interface Display group Cage When on, the cage is displayed. When off, the cage is hidden except at the Cage sub-object level. Default=on. The cage is always displayed at the Cage sub-object level, regardless of this toggle's setting. See Selection Rollout (Projection Modifier) on page 1545. ■ ShadedWhen on, the cage is shaded with a transparent gray. When off, the cage is displayed as a blue lattice. Default=off. The Shaded option can be useful when you need to tell whether or not high-resolution source geometry is within the cage, and when you need to expand the cage to include more geometry. ■ Point to PointWhen on, additional lines connect vertices in the cage to points on the target object, showing how the projection will be done. Default=off. 1552 | Chapter 9 Modifiers Push group These controls let you adjust the size of the cage as a whole, or on a sub-object selection if one is currently chosen (see Reference Geometry Rollout (Projection Modifier) on page 1548). Amount Change to adjust the size of the cage in 3ds Max units. Positive values increase the size of the cage; negative values decrease the size. Default=0.0. Percent Change to adjust the size of the cage as a percentage. Positive values increase the size of the cage; negative values decrease the size. Default=0.0. Auto-Wrap group By default, the Projection modifier does not automatically create a cage that wraps around the geometry. To change the cage, use the settings in this group or the Push group, or adjust cage vertices manually at the Cage sub-object level. Tolerance The distance in 3ds Max units, between the cage and the target geometry. Positive values are outside the high-res source geometry; negative values are inside the source geometry. Default=varies, depending on the geometry. Always Update When on, the cage automatically expands around high-res geometry as it is added to the list (see Reference Geometry Rollout (Projection Modifier) on page 1548). When off, the initial cage is not updated automatically. Default=off. Update Click to update the cage. Use this when Always Update is off. _____ Import Lets you specify a mesh object to define the cage shape. This is typically an object that was created with Export (see following) and then modified using standard mesh-editing methods. After clicking Import, select the object to import. After importing the object, the cage conforms to its shape. You can then delete the imported object if you wish. IMPORTANT The imported object should be of the same type (for example, editable mesh) as the projection object (that is, the object with the Projection modifier), or be convertible to that type without topology change, and must have the identical topology. If it doesn't meet either or both of those criteria, an alert appears requesting that you select an object of the same type and identical topology. Projection Modifier | 1553 Export Creates a geometry object from the cage, with the same type and topology as the modified object. Clicking Export causes the Export Cage dialog to open. Accept the default “Export as” object name or enter a new one, and then click OK. For a detailed description of the export/import process, see To use Export and Import with a cage: on page 1550. Reset Click to reset the cage to a wrapping that is the same size as the low-resolution target geometry. Selection Check Rollout (Projection Modifier) Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Projection ➤ Selection Check rollout This rollout lets you check selections to see if any are overlapping; that is, if a material ID or a face or element is assigned to more than one selection. Interface Check group ■ Material IDsChecks for material IDs being assigned to more than one selection. 1554 | Chapter 9 Modifiers ■ GeometryChecks for faces or elements being assigned to more than one selection. ■ Both(The default.) Checks for both material ID and sub-object overlap. _____ Check Click to run the check. Select Faces When on, if running the selection check detects “bad” selections, the “bad” faces are selected by the Projection modifier automatically. When off, “bad” selections are not selected automatically. Default=on. Results group After you click Check, the fields in this group display the results. The first field is for material IDs, and the second is for sub-object selections. If there is no conflict, the first field says “No conflicting Mat IDs detected,” and the second says “No conflicting face selections detected.” If there is a conflict, the results say something such as, “6 Mat IDs are assigned to more than one selection.” Projection Rollout (Projection Modifier) Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Projection ➤ Projection rollout The Projection rollout has controls for projecting data from the object with the Projection modifier to a different object. This data flow is the reverse of what it is when you project normals from a high-resolution object to a low-resolution object. Projection Modifier | 1555 Interface Projector list Shows the active projector plug-ins. Projector plug-in drop-down list Lets you choose a projector plug-in. Only one projector, Project Mapping, is provided with 3ds Max. See Project Mapping Rollout (Projection Modifier) on page 1557. Additional projectors might be available from third-party sources. NOTE Multiple instances of the Project Mapping plug-in can be active. Add Adds a projector of the type chosen in the drop-down list. Remove Removes the projector that is currently highlighted in the projector list. Project to Shows the name of the geometry to which you're projecting. To choose this geometry, use the Reference Geometry rollout on page 1548. Show Alignment Click to display the faces of the geometry selection that will project to the selected faces of the object that has the Projection modifier. This shows which hi-res faces will be projected to the selected low-res faces. This works only for selected faces, not selected vertices: you can lock a face selection and then make adjustments to the cage, then click Show Alignment to see the effects of the cage modification. This button is unavailable if no selection has been made in the Reference Geometry rollout. Clear Click to turn off the Show Alignment display. 1556 | Chapter 9 Modifiers Project Click to perform the projection. Project All Click to perform all projections that are in the projector list. Project Mapping Rollout (Projection Modifier) Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Projection ➤ Projection rollout ➤ Choose Project Mapping in the plug-in drop-down list (this is the only available choice unless third-party plug-ins have been installed). ➤ Click Add ➤ Project Mapping rollout. Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Projection ➤ Projection rollout ➤ Highlight a Project Mapping projector in the Projector list. ➤ Project Mapping rollout. The Project Mapping rollout contains controls for the Project Mapping projector plug-in. This rollout is visible when a Project Mapping instance is highlighted in the Projector list on the Projection rollout on page 1555. Use Project Mapping to project a map channel value, material IDs, or vertex attributes from the object that has the Projection modifier applied, onto other geometry. Projection Modifier | 1557 Interface 1558 | Chapter 9 Modifiers Projector name field Shows the name of the Project Mapping projector. If you edit this field, the change is reflected on the Projection rollout on page 1555. Projection Holder group Projection Holder name field Shows the name of the Projection Holder modifier. If you edit this field, the change is reflected in the target object's stack, but not until you click Project on the Projection rollout. Create New Holder When you click the Project button in the Project rollout, a Projection Holder modifier is added to the geometry selection. When Create New Holder is on, 3ds Max creates and adds a new modifier each time you click Project. When Create New Holder is off, clicking Project simply updates the data in the existing Projection Holder; it creates a new Projection Holder modifier only if none was present, before. Default=off. Same Topology When on, the source object's topology is transferred to the target object. Default=off. IMPORTANT You need to turn on Same Topology when you project to the target object's Vertex Position. Always Update When on, changing the object with the Projection modifier automatically re-projects and updates the Projection Holder modifiers on the geometry selections. When off, projection is recalculated only when you click Project. Default=off. This toggle is available only when Create New Holder is off and Same Topology is on. When Always Update is on, changes to the geometry with the Projection modifier can manipulate UVW channels or animate vertex colors of the objects with the Projection Holder modifiers. Source Channel group ■ Map Channel(The default.) Projects a map channel on page 9210 value. Use the spinner to set the channel value. ■ Vertex ColorProjects vertex color values. ■ Vertex IllumProjects vertex illumination (grayscale) values. ■ Vertex AlphaProjects vertex alpha values. ■ Vertex PositionProjects vertex positions. Projection Modifier | 1559 Target Channel group Same as Source When on, the radio buttons in this group are disabled, and the Project Mapping projector projects to the same channel that is chosen in the Source Channel group. When off, the radio buttons in this group are enabled. Default=on. The radio buttons are the same as the ones in the Source Channel group. When Same As Source is off, the chosen map channel or vertex data of the target geometry derives its value from the channel or vertex data chosen in the Source Channel group. The projection does not take place until you click Project or Project All on the Projection rollout. _____ Project Material IDs When on, projects values. Default=off. The projection does not take place until you click Project or Project All on the Projection rollout. Projection Mapping Quality group Use these settings to improve the quality of the mapping when projecting texture mapping from one object to another. Ignore Backfaces When on, does not take backfaces into account when calculating the projection. In the case of overlapping faces, this can prevent projection, resulting in undesirable erroneous faces. In almost all cases this should remain off. Test Seams Tests for seams by walking around the neighboring faces and then will try to fix the faces Check Edge Ratios Attempts to correct UVW faces that look abnormal; that is, that are not similar to their geometry faces. This compares edge ratio lengths and angle ratio. It typically finds the sliver faces generated by projections across seams. The larger the Threshold value, the more likely a face is to be tagged as abnormal and fixed. Weld UVs Welds all the UVs at the end of the projection and combines them into groups, based on the Threshold value. The Threshold value is based on edges, so it welds UVs based on the closest N edges. In most cases this should be on. 1560 | Chapter 9 Modifiers Projection Holder Modifier Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Projection modifier ➤ Geometry rollout ➤ Choose target geometry ➤ Projection rollout ➤ Click Add. ➤ Click Project. ➤ Projection Holder is applied to the target geometry. The Projection Holder modifier appears for objects being used by the Projection modifier's Project Mapping feature on page 1555. It contains the data generated by the Project Mapping operation, much as UVW Mapping Add or UVW Mapping Clear do for Channel Info manipulations. Interface The Projection Holder modifier has no parameters. ProOptimizer Modifier Create or import an object. ➤ ProOptimizer modifier Modify panel ➤ Modifier List ➤ Select an object or objects. ➤ ProOptimizer modifier Modify panel ➤ Modifier List ➤ The ProOptimizer modifier lets you select objects and interactively optimize them. The ProOptimizer feature is an optimization tool that helps you reduce the number of vertices (and so the number of faces) in an object while preserving the object’s appearance. Options let you maintain material, mapping, and vertex color information in the optimized model. Optimizing objects can reduce a scene’s memory requirements, simplify modeling because objects have fewer faces, and improve the speed of viewport display and rendering time. There are two ways to use ProOptimizer: ■ The ProOptimizer modifier, described here, lets you select objects and interactively optimize them. Projection Holder Modifier | 1561 ■ The Batch ProOptimizer utility on page 2793 lets you optimize multiple scene files (MAX or OBJ files) at the same time. TIP With the Batch ProOptimizer, you can optimize meshes before you import them. This can save time. The Batch ProOptimizer is also a good choice if the original meshes are extremely dense. Original model Vertices: 47226 Faces: 93792 Optimized model, Vertex % = 10.0 1562 | Chapter 9 Modifiers Vertices: 4722 Faces: 9323 Optimized model, Vertex % = 5.0 Vertices: 2361 Faces: 4660 ProOptimizer Modifier | 1563 NOTE When you modify one or more objects with ProOptimizer , an orange, box-shaped gizmo appears around each object. If you then select an object to which ProOptimizer is applied, this gizmo displays for all instances of the modifier, when the Modify panel is active. This feature can be useful for finding other objects to which the modifier is instanced. Optimization Level Rollout Create or import an object. ➤ Modify panel ➤ Modifier List ➤ ProOptimizer modifier ➤ Optimization Level rollout The main ProOptimizer modifier controls are on the Optimization Level rollout. To initialize ProOptimizer, click Calculate. You can then adjust the optimization level interactively. You choose the level of optimization either by setting the percent of vertices to preserve (Vertex %), or by setting an explicit count of vertices to preserve (Vertex Count). 1564 | Chapter 9 Modifiers Additional rollouts contain options that let you control how the model is optimized, and what kind of information to retain or discard. These options are not interactive. If you adjust their settings after an initial optimization, you must click Calculate once again to see the effects. ProOptimizer Workflow To use the ProOptimizer modifier, follow these steps for most situations: 1 Select the object or objects you want to optimize. 2 Go to the Modify panel and apply the ProOptimizer modifier. NOTE The ProOptimizer modifier is available for 3ds Max geometric objects, but not for nongeometric objects such as lights, cameras, or helpers. 3 On the Optimization Level rollout, click Calculate. This initializes ProOptimizer and lets you interactively adjust the optimization level. 4 Adjust the Vertex % or Vertex Count value until you have the level of optimization you want to achieve. 5 If you want to change the optional settings, do so now, and then click Calculate once again. TIP Once you are familiar with ProOptimizer, you can also change these settings before the first time you click Calculate. ProOptimizer Modifier | 1565 6 When you have obtained the level of optimization and detail that you want, right-click the stack and choose Collapse All from the pop-up menu. This creates an Editable Mesh object with an optimized number of faces. Interface Optimization Level rollout Vertex % Sets the number of vertices in the optimized object as a percentage of the vertices in the original object. Default=100.0 percent. This control is unavailable before you click Calculate. After you click Calculate, you can adjust the Vertex % value interactively. Vertex Count Directly sets the number of vertices in the optimized object. This control is unavailable before you click Calculate. After you click Calculate, this value is set to the number of vertices in the original object (because Vertex % defaults to 100). Once this control is available, you can adjust the Vertex Count value interactively. Calculate Click to apply the optimization. If optimization takes some time, you can cancel the operation by pressing Esc. Status window This text window shows the ProOptimizer status. Before you click Calculate, it displays “Modifier Ready.” After you click Calculate and adjust the optimization level, it displays statistics that describe the effect of the operation: “before” and “after” vertex and face counts. 1566 | Chapter 9 Modifiers If, after a calculation, you change a setting in the one of the Options rollouts, the text changes to “Optimization Invalid.” You must click Calculate again to see the results of changing the options. The optimization can also become invalid if you move the ProOptimizer modifier location on the stack, or change topology on the stack below the ProOptimizer modifier. If you press Esc to cancel an optimization, this window displays “Optimization Cancelled.” Options rollouts The options rollouts contain various settings that control ProOptimizer. They are described in the topics that follow. Optimization Options Rollout Create or import an object. ➤ Modify panel ➤ Modifier List ➤ ProOptimizer modifier ➤ Optimization Options rollout The Optimization Options rollout lets you control how ProOptimizer treats such features as object borders, materials and mapping, vertex colors, and sub-object selections. IMPORTANT The controls on this rollout are not interactive. If you change a setting, the Status window on the Optimization Level rollout displays “Optimization Invalid,” and you must click Calculate once again to see the result of changing the option value. ProOptimizer Modifier | 1567 1568 | Chapter 9 Modifiers Optimization Mode Group Create or import an object. ➤ Modify panel ➤ Modifier List ➤ ProOptimizer modifier ➤ Optimization Options rollout ➤ Optimization Mode group Controls how ProOptimizer treats object borders. An edge is considered to be on the “border” of an object, when it is shared by no other face. Preserving borders can be important to preserving the appearance of a model. Original model Vertices: 557 ProOptimizer Modifier | 1569 Interface Crunch Borders ProOptimizer optimizes the object without considering whether edges and faces lie on borders or not. Crunch Borders active Vertex % = 50.0 Vertices = 278 Faces are reduced but object borders are not preserved 1570 | Chapter 9 Modifiers Protect Borders (The default.) ProOptimizer protects faces with edges that are on the border of the object. However, a high optimization level can still cause border faces to be removed. If you are optimizing multiple connected objects, gaps might appear between them. Protect Borders active Vertex % = 50.0 Vertices: 557 Borders are preserved ProOptimizer Modifier | 1571 Protect Borders active Vertex % = 1.0 Vertices: 5 Decreasing Vertex % or Vertex Count can cause borders to become distorted. Exclude Borders ProOptimizer never removes faces with border edges. This reduces the number of faces you are able to remove from the model, but it ensures that gaps don’t appear when you optimize multiple connected objects. 1572 | Chapter 9 Modifiers Exclude Borders active Vertex % = 10.0 Vertices: 65 At low Vertex % values, Exclude Borders can interfere with optimization. Materials and UVs Group Create or import an object. ➤ Modify panel ➤ Modifier List ➤ ProOptimizer modifier ➤ Optimization Options rollout ➤ Materials and UVs group Controls how ProOptimizer treats objects with materials or texture mapping. ProOptimizer Modifier | 1573 Interface Keep Material Boundaries When on, ProOptimizer preserves boundaries between materials. Points that belong to faces that have different materials are frozen, and not removed during optimization. Default=on. When off, ProOptimizer can remove faces along the boundary between materials. Original object 1574 | Chapter 9 Modifiers Original object with red points showing the boundaries between materials Optimized object with Keep Material Boundaries active (red points show the boundaries) ProOptimizer Modifier | 1575 Optimized object with Keep Material Boundaries turned off Keep Textures When on, ProOptimizer preserves texture mapping coordinates. When off, ProOptimizer removes texture coordinates. Default=off. This option is disabled if the object doesn’t have texture coordinates. NOTE If Keep Textures is off when you optimize a mapped object, 3ds Max will display a Missing Map Coordinates dialog when you attempt to render that object. Keep UV Boundaries This control is available only when Keep Textures is turned on. When on, ProOptimizer preserves boundaries between UV mapping channels. When off, ProOptimizer disregards UV mapping boundaries. Default=off. ■ ToleranceThis is available only when Keep UV Boundaries is turned on. The Tolerance value controls how UV boundaries are treated. A value of 0.0 (the default), preserves all faces that have UV mapping channels that differ from neighboring faces. A value of 1.0 allows any face to be removed, even if its neighbor has a different UV channel. TIP Setting Tolerance to 0.1 preserves most mapping boundaries, but also allows a reasonable amount of optimization. 1576 | Chapter 9 Modifiers Vertex Colors Group Create or import an object. ➤ Modify panel ➤ Modifier List ➤ ProOptimizer modifier ➤ Optimization Options rollout ➤ Vertex Colors group Controls how ProOptimizer treats objects that have vertex colors assigned to them. Interface Keep Vertex Colors When on, ProOptimizer preserves vertex color data. When off, ProOptimizer discards vertex colors. Default=Off This control is unavailable if the object has no vertex color data. Keep VC Boundaries This control is available only when Keep Vertex Colors is turned on. When on, ProOptimizer preserves boundaries between vertex colors. When off, ProOptimizer disregards vertex color boundaries. Default=off. ■ ToleranceThis is available only when Keep VC Boundaries is turned on. The Tolerance value controls how vertex color boundaries are treated. A value of 0 (the default), preserves all vertices that have a color that differs from a neighboring vertex. A value of 255 allows any vertex to be removed, even if its neighbor has a different vertex color. TIP A tolerance of 20 preserves most color boundaries, but also allows a reasonable amount of optimization. ProOptimizer Modifier | 1577 Original object Vertex colors make the object appear illuminated Keep Vertex Colors turned off ProOptimizer shows the object’s two materials, but vertex color is lost. 1578 | Chapter 9 Modifiers Keep Vertex Color turned on Tolerance = 0 Frozen points are shown in red. Almost all faces are frozen and not optimized, because each point has a color that differs from its neighbor. Keep Vertex Color turned on Tolerance = 35 ProOptimizer Modifier | 1579 Frozen points are shown in red. Only the center, which has important color variations, is frozen. Keep Vertex Color turned on Tolerance = 90 Frozen points are shown in red. Only the frontier between the two materials is frozen. Normals Group Create or import an object. ➤ Modify panel ➤ Modifier List ➤ Edit Normals modifier ➤ Modifier List ➤ ProOptimizer modifier ➤ Optimization Options rollout ➤ Normals group The Normals group lets you manage the face normals on page 9237 of the geometry you are optimizing. In general, turning on Keep Normals can improve the appearance of the optimized model, but also can reduce the number of faces that are removed during optimization. 1580 | Chapter 9 Modifiers Interface Keep Normals When on, applies the normal controls to geometry. When off, normals are not taken into account during optimization, and all explicit normals are removed after optimization. Default=off. This toggle is unavailable unless you have applied an Edit Normals modifier on page 1264 to the geometry. The ProOptimizer Keep Normals toggle is also available if you collapse the stack after applying Edit Normals. ■ Crunch Normals When chosen, normals are ignored while optimizing, but explicit normals are kept after optimization. ■ Protect Normals (The default) When chosen, ProOptimizer protects normals using the value of Threshold Angle: when the angle between the normals of two faces is greater than the Threshold Angle, the faces are preserved as long as possible. Explicit normals are kept after optimization. ■ Exclude Normals Normals are excluded from the optimization using the value of Threshold Angle: when the angle between the normals of two faces is greater than the threshold angle, the faces are always preserved. Explicit normals are kept after optimization. Threshold Angle Sets an angle value used in optimizing normals. Default=10.0. When Crunch Normals is chosen, this value is ignored. When Protect Normals is chosen, two faces are protected from optimization if the angle between their normals exceeds this value. When Exclude Normals is chosen, two faces are excluded from the optimization if the angle between their normals exceeds this value. ProOptimizer Modifier | 1581 Merge Tools Group Create or import an object. ➤ Modify panel ➤ Modifier List ➤ ProOptimizer modifier ➤ Optimization Options rollout ➤ Merge Tools group Each of the Merge tools adds a preprocessing step to the optimization process. These can help correct specific problems in a model. ■ “Dirty” objectsIf a model has faces that are disconnected, but should not be, the Merge Vertices tool can correct the discontinuities and improve the optimization. ■ Coplanar facesIf the model has surfaces that are subdivided into many coplanar (or nearly coplanar) faces, the Merge Faces tool can simplify these planes, leading to better optimization. Interface Merge Vertices When on, merges vertices before performing the optimization. Default=off. ThresholdSets the distance within which vertices are merged. This distance is based on a percentage of the size of the object’s bounding box. At the Threshold value of 0.0, the distance is about 0.0001 percent of the bounding-box size. At the Threshold value of 100.0, the distance is about 5 percent of the bounding-box size. Range=0.0 to 100.0. Default=0.0. Merge Faces When on, merges coplanar (or nearly coplanar) faces before performing the optimization. Default=off. WARNING If the planar surface has holes in it, Merge Faces might not give correct results. Also, if the planar surface has repeated (tiled) UV mapping, the tiling information will be lost. 1582 | Chapter 9 Modifiers Threshold AngleSets the angle between face normals within which faces are merged. Range=0.0 to 10.0. Default=0.0. Original model Vertices: 557 ProOptimizer Modifier | 1583 Merge Faces turned off Vertex % = 25.0 Vertices: 139 Faces: 214 1584 | Chapter 9 Modifiers Merge Faces turned on Vertex % = 25.0 Vertices: 23 Faces: 21 When a model has coplanar faces, Merge Faces can greatly improve optimization. Sub-Object Selection Group Create or import an object. ➤ Modify panel ➤ Modifier List ➤ ProOptimizer modifier ➤ Optimization Options rollout ➤ Sub-Object Selection group ProOptimizer Modifier | 1585 These options control how ProOptimizer treats vertex sub-object selections. You can’t create a sub-object selection in ProOptimizer, but it can acquire a vertex selection from an object or modifier below it on the stack. Interface Preserve Vertices When on, ProOptimizer does not optimize vertex selections passed up from the stack. When off, ProOptimizer disregards vertex sub-object selections. Default=off. Invert When on, ProOptimizer optimizes the vertex selection and disregards the rest of the object. Default=off. This control is unavailable unless Preserve Vertices is turned on. Symmetry Options Rollout Create or import an object. ➤ Modify panel ➤ Modifier List ➤ ProOptimizer modifier ➤ Symmetry Options rollout The Symmetry options preserve an object’s symmetry around a plane that you specify. When one of the Symmetry options is active, ProOptimizer looks for symmetrical pairs of edges. When it finds a symmetrical pair, it applies the same optimization on either side of the plane. These options work best if the object is truly symmetrical; for example, if it was originally created by mirroring. If ProOptimizer cannot detect symmetry about the plane you specify, it optimizes the object as it normally does. Points that lie on the plane itself are frozen (not optimized), because they are symmetrical by definition. Some 3ds Max objects appear to be symmetrical but are not; for example, a surface of revolution created by the Lathe modifier. In this case, although the overall geometry is symmetrical, edges all have the same orientation in the direction of revolution, so when bisected by a plane, opposite edges face in 1586 | Chapter 9 Modifiers opposite directions. In this case, ProOptimizer cannot detect symmetry, and optimizes according to the usual method. IMPORTANT The controls on this rollout are not interactive. If you change a setting, the Status window on the Optimization Level rollout displays “Optimization Invalid,” and you must click Calculate once again to see the result of changing the option value. Interface No Symmetry (The default.) ProOptimizer does not attempt to make symmetrical optimizations. XY Symmetry ProOptimizer attempts to make optimizations symmetrical about the XY plane. YZ Symmetry ProOptimizer attempts to make optimizations symmetrical about the YZ plane. XZ Symmetry ProOptimizer attempts to make optimizations symmetrical about the XZ plane. Tolerance Specifies a tolerance value for detecting symmetrical edges. In some models, the position of symmetrical edges might not be precise; for example, roundoff error might have caused small discrepancies in position values. Increasing the Tolerance value can correct this problem. Default=0.0. Advanced Options Rollout Create or import an object. ➤ Modify panel ➤ Modifier List ➤ ProOptimizer modifier ➤ Advanced Options rollout ProOptimizer Modifier | 1587 This rollout provides two options: Favor Compact Faces, and Prevent Flipped Normals. The options in this rollout are on by default, because in most cases they give the best optimization results. IMPORTANT The controls on this rollout are not interactive. If you change a setting, the Status window on the Optimization Level rollout displays “Optimization Invalid,” and you must click Calculate once again to see the result of changing the option value. Interface Favor Compact Faces A face is “compact” when the triangle it forms is equilateral, or nearly so When Favor Compact Faces is on, ProOptimizer verifies that removing a face does not create sharpened faces. The optimized model is more uniform than it would be without this test. Default=on. Prevent Flipped Normals When on, ProOptimizer verifies that moving a vertex does not cause a face normal to flip. When off, ProOptimizer does not perform this test; the resulting mesh might appear to have holes when viewed with 1-sided viewport shading or rendered with a 1-sided material. Default=on. Push Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Push Make a selection. ➤ Modifiers menu ➤ Parametric Deformers ➤ Push The Push modifier lets you "push" object vertices outward or inward along the average vertex normals. This produces an "inflation" effect that you can't otherwise obtain. 1588 | Chapter 9 Modifiers Positive and negative amounts of push applied to an object. Interface Push Value Sets the distance in world units by which vertices are moved with respect to the object center. Use a positive value to move vertices outward, or a negative value to move vertices inward. Quadify Mesh Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Quadify Mesh Make a selection. ➤ Modifiers menu ➤ Mesh Editing ➤ Quadify Mesh Quadify Mesh Modifier | 1589 The Quadify Mesh modifier converts the object structure to quadrilateral polygons whose relative size you specify. This capability helps to produce rounded edges when combined with MeshSmooth on page 1450. Left: Original object; Right: After applying Quadify Mesh and MeshSmooth modifiers See also: ■ Quad Meshing and Smoothing on page 766 Interface Quad Size % The approximate size of each quadrilateral relative to the size of the object. The smaller this value, the more quads will result. 1590 | Chapter 9 Modifiers Left: Original object; Center: Quad Size %=8.0; Right: Quad Size %=4.0 Relax Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Relax Make a selection. ➤ Modifiers menu ➤ Parametric Deformers ➤ Relax The Relax modifier changes the apparent surface tension in a mesh by moving vertices closer to, or away from, their neighbors. The typical result is that the object gets smoother and a little smaller as the vertices move toward an averaged center point. You can see the most pronounced effects on objects with sharp corners and edges. Relax Modifier | 1591 Relax moves the bowl away from its original contours. When you apply Relax, each vertex is moved toward the average position of its neighboring vertices. A neighboring vertex is one that shares a visible edge with the current vertex. Original objects compared to relaxed objects 1592 | Chapter 9 Modifiers Patches As of version 4, a patch object coming up the modifier stack is not converted to a mesh by this modifier. A patch object input to the Relax modifier retains its patch definition. If a file created by a previous version of 3ds Max contains a patch object applied with the Relax modifier, it will be converted to a mesh to maintain backward compatibility. Interface Relax Value Controls how far a vertex moves for each iteration. The value specifies a percentage of the distance from the original location of a vertex to the average location of its neighbors. Range=-1.0 to 1.0. Default=0.5. ■ Positive Relax values move each vertex in closer to its neighbors. The object becomes smoother and smaller. ■ When the Relax value=0.0, vertices do not move and Relax has no affect on the object. ■ Negative Relax values move each vertex away from its neighbors. The object becomes more irregular and larger. Relax Values=1.0, 0.0, -1.0 Iterations=1 (default) Relax Modifier | 1593 Iterations Sets how many times to repeat the Relax process. For each iteration, average locations are recalculated and the Relax Value is reapplied to every vertex. Default=1. ■ For 0 iterations, no relaxation is applied. ■ Increasing iterations for positive Relax Value settings smooths and shrinks an object. With very large iteration values, the object shrinks to a point. ■ Increasing iterations for negative Relax Value settings exaggerates and expands an object. With relatively few iterations, the object becomes jumbled and almost unusable. Iterations=0, 10, 50 Relax Value=0.5 (default) Iterations=0,1, 5 Relax Value=-0.5 Keep Boundary Pts Fixed Controls whether vertices at the edges of open meshes are moved. Default=on. When Keep Boundary Pts Fixed is on, boundary vertices do not move while the rest of the object is relaxed. This option is particularly useful when working with multiple objects, or multiple elements within a single object, that share open edges. When this check box is off, all vertices of the object are relaxed. 1594 | Chapter 9 Modifiers Keep Boundary Pts Fixed=on Iterations=0, 10, 50 Keep Boundary Pts Fixed=off Iterations=0, 10, 50 Save Outer Corners Preserves the original positions of vertices farthest away from the object center. Renderable Spline Modifier Select a shape. ➤ Spline Modify panel ➤ Modifier List ➤ Renderable The Renderable Spline modifier lets you set the renderable properties of a spline object, without collapsing the spline to an editable spline. This is particularly useful with splines you have linked to from AutoCAD. It also lets you apply the same rendering properties to multiple splines at once. NOTE This modifier cannot be applied to NURBS curves. Renderable Spline Modifier | 1595 Interface Enable In Renderer When on, the shape is rendered as a 3D mesh using the Radial or Rectangular parameters set for Renderer. Enable In Viewport When on, the shape is displayed in the viewport as a 3D mesh using the Radial or Rectangular parameters set for Renderer. Use Viewport Settings Lets you set different parameters for viewport display and rendering, and displays the mesh generated by the Viewport settings in the viewports. Available only when Enable in Viewport is turned on. Generate Mapping Coords Turn this on to apply mapping coordinates. Default=off. 3ds Max generates the mapping coordinates in the U and V dimensions. The U coordinate wraps once around the spline; the V coordinate is mapped once along its length. Tiling is achieved using the Tiling parameters in the applied material. For more information, see Mapping Coordinates on page 6005. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by 1596 | Chapter 9 Modifiers the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=on. Viewport Choose this to specify Radial or Rectangular parameters for the shape as it will display in the viewport when Enable In Viewport is on. Available only when Use Viewport Settings is on Renderer Choose this to specify Radial or Rectangular parameters for the shape as it will display when rendered or displayed in the viewport when Enable in Viewport is turned on. Radial Displays the spline as a 3D object with a circular cross-section. ■ ThicknessSpecifies the cross-section diameter. Default=1.0. Range=0.0 to 100,000,000.0. ■ SidesSets the number of sides for the spline mesh in the viewports or renderer. For example, a value of 4 produces a square cross-section. ■ AngleAdjust the rotational position of the cross section in the viewports or renderer. For example, if you have a square cross section you can use Angle to position a “flat” side down. Rectangular Displays the spline as a 3D object with a rectangular cross-section. ■ LengthSpecifies the size of the cross–section along the local Y axis. ■ WidthSpecifies the size of the cross–section along the local X axis. ■ AngleAdjusts the rotational position of the cross-section in the viewport or renderer. For example, if you have a square cross-section you can use Angle to position a "flat" side down. ■ AspectSets the aspect ratio for rectangular cross-sections. The Lock check box lets you lock the aspect ratio. When Lock is turned on, Width is locked to Depth that results in a constant ratio of Width to Depth. Auto Smooth When on, the spline is auto-smoothed using the smoothing angle specified by the Threshold setting. Auto Smooth sets the smoothing based on the angle between spline segments. Any two adjacent segments are put in the same smoothing group if the angle between them is less than the threshold angle. NOTE Turning Auto Smooth on for every situation does not always give you the best smoothing quality. Altering the Threshold angle may be necessary or turning Auto Smooth off may produce the best results. Renderable Spline Modifier | 1597 Threshold Specifies the threshold angle in degrees. Any two adjacent spline segments are placed in the same smoothing group if the angle between them is less than the threshold angle. Ripple Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Ripple Make a selection. ➤ Modifiers menu ➤ Parametric Deformers ➤ Ripple The Ripple modifier lets you produce a concentric rippling effect in an object's geometry. You can set either of two ripples or a combination of both. Ripple uses a standard gizmo and center, which you can transform to increase the possible ripple effects. The Ripple on page 3018 space warp has similar features. It is useful for applying effects to a large number of objects. An object with the Ripple modifier applied. Top (from left to right): Amplitude 1 only, Amplitude 2 only and both amplitudes. 1598 | Chapter 9 Modifiers Bottom: Both amplitudes with the Decay effect. See also: ■ Wave Modifier on page 1951 Procedures Example: To use the Ripple modifier: 1 Start with an empty scene, and add a Plane object on page 352 in the Perspective viewport. Set Length and Width both to 100.0, and set Length Segs and Width Segs both to 10. The Plane object is useful as the basis for the surface of a body of water in which ripples form. 2 Go to the Modify panel, click the Modifier List, and choose Object-Space Modifiers ➤ Ripple. This applies the modifier to the Plane object. 3 On the Parameters rollout, set Amplitude 1 to 10.0. A large ripple forms in the Plane object. You can change the horizontal scale by adjusting the wave length. 4 Set Wave Length to 20.0. The waves become smaller, but now it's apparent that the Plane object needs greater geometric resolution to properly display the number of waves. 5 In the modifier stack, click the Plane item, and then set Length Segs and Width Segs both to 30. The smaller waves become more apparent. The Ripple modifier needs a relatively high number of subdivisions in the geometry it's applied to in order to work properly. You can use the Amplitude 2 parameter to add complexity to the wave forms created by Ripple. 6 Return to the Ripple level of the modifier stack, and then click and hold on the Amplitude 2 and drag downward. As you drag, a new set of wave forms are combined with the existing ones. The farther you drag, the more dominant the second set becomes. Using a negative value for Amplitude 2 (or a positive one if Amplitude 1 Ripple Modifier | 1599 is negative) produces more of an interference effect between the two sets of waves. You can animate the waves with the Phase control. 7 Drag slowly upward or downward on the Phase spinner. Increasing the Phase value moves the waves inward, and decreasing it moves the outward. To animate the waves, create keyframes on page 8679 for the Phase value. To simulate an object dropping in liquid, use the Decay setting. 8 Drag slowly upward on the Decay spinner. The farther you drag, the more the wave sizes decrease with the distance from the center of the effect. This is the effect you get when an object perturbs the water surface, and the waves lose energy as they move away from the point of impact. Interface Modifier Stack Gizmo At this sub-object level, you can transform and animate the gizmo like any other object, altering the effect of the Ripple modifier. Translating the gizmo translates its center an equal distance. Rotating and scaling the gizmo takes place with respect to its center. Center At this sub-object level, you can translate and animate the center of the ripple effect, and thus the shape and positions of the ripples. For more information on the stack display, see Modifier Stack on page 8776. 1600 | Chapter 9 Modifiers Parameters rollout Amplitude 1/ Amplitude 2 Amplitude 1 produces a ripple across the object in one direction, while Amplitude 2 creates a similar ripple at right angles to the first (that is, rotated 90 degrees about the vertical axis). Wave Length Specifies the distance between the peaks of the wave. The greater the length, the smoother and more shallow the ripple for a given amplitude. Default=50.0. Phase Shifts the ripple pattern over the object. Positive numbers move the pattern inward, while negative numbers move it outward. This effect becomes especially clear when animated. Decay Limits the effect of the wave generated from its center. The default value of 0.0 means that the wave will generate infinitely from its center. Increasing the Decay value causes the wave amplitudes to decrease with distance from the center, thus limiting the distance over which the waves are generated. Select By Channel Modifier Select an object. ➤ Channel Modify panel ➤ Modifier List ➤ Select By The Select By Channel modifier works in conjunction with the Channel Info utility on page 6936. After you store a vertex selection into a subcomponent with Channel Info, use Select By Channel to quickly access the selection. Select By Channel Modifier | 1601 Procedures To use Select By Channel: 1 Use Channel Info to store one or more vertex selections in a map channel subcomponent. 2 Apply the Select By Channel modifier to the object with the stored vertex selection(s). 3 Choose the selection type. 4 Choose the selection channel. 5 To “bake” the new selection into the object, collapse the stack. Interface Selection Type Lets you choose how to combine the stored vertex selection with an existing vertex selection. ■ ReplaceReplaces the existing selection with the stored selection. ■ AddAdds the stored selection to the existing selection. ■ SubtractSubtracts the stored selection from the existing selection. Has no effect if there's no overlap between the stored selection and the existing selection. Selection Channel Lets you choose which stored, named vertex-selection channel to apply to the modified object. Click the arrow to the right of the name field to open the drop-down list, and then click a channel in the list. 1602 | Chapter 9 Modifiers Shell Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Shell Make a selection. ➤ Modifiers menu ➤ Parametric Deformers ➤ Shell The Shell modifier “solidifies” or gives thickness to an object by adding an extra set of faces facing the opposite direction of existing faces, plus edges connecting the inner and outer surfaces wherever faces are missing in the original object. You can specify offset distances for the inner and outer surfaces, characteristics for edges, material IDs, and mapping types for the edges. Also, because the Shell modifier doesn't have sub-objects, you can use the Select options on page 1609 to specify a face selection for passing up the stack to other modifiers. Please note that the Shell modifier doesn't recognize existing sub-object selections, nor does it pass such selections up the stack. Left: Sphere with part of surface removed; Right: Sphere with Shell applied You'd typically use Shell on an object with part of its surface removed, such as a sphere with several deleted vertices or faces, as illustrated above. For best results, the original polygons should face outward. If an object has no faces with at least one free edge, Shell will not create any edges. Shell Modifier | 1603 Watch a movie about Shell Modifier. Examples of Shell Usage Following are some examples of modeling tasks for which the Shell modifier would be appropriate: ■ An artist is modeling a vehicle such as a car, a tank, or, in this case, a helicopter. The artist builds a solid external shell as the body of the copter. When done, the modeler breaks up his model: he selects window areas and detaches them as new objects, followed by the area for the doors (also detached as new objects). The modeler now has open objects representing the body, windows, and doors. The modeler applies Shell to the body, and sets it to extrude both outward and inward, with the inward extrusion amount greater than the outward. Next, Shell is applied to the windows, with inward extrusion only. The modeler then copies the Shell modifier from the body to the doors, and reduces the doors' outward extrusion amount. The result is a solid body with an interior that can accept additional modeling, inset windows, and doors that are slightly less thick than the shell of the helicopter. ■ A designer is modeling a manufactured object that will need to be shown in an exploded view. It might be a cell phone, an engine, a mouse, shaped glass, or something similar; this example will use part of a cell phone. When working on the phone keypad area, if the modeler builds with detail in mind, she might accurately model the shell with a moderately dense mesh, using ShapeMerge on page 642 to create the shapes for the holes where the keys will poke through, and then deleting those faces. When satisfied, the modeler applies the Shell modifier, sets Segments to 2, and then turns on the Bevel Edges option to use a curve for the profile of the holes' edges. She then applies a MeshSmooth modifier on top. The extra segment helps control the curve of the edges where the outer surface curves down to the keypad holes. The modeler then goes back to the cage portion of the stack and refines the base mesh details to her liking. ■ A modeler is creating a suit of futuristic armor for a character. The modeler copies a selection of polygons from the character mesh to a new object; for example, the polygons that make up the arm. The modeler deletes some faces from the copied arm, and perhaps cuts some holes from it. He then applies the Shell modifier, followed by a MeshSmooth modifier, resulting in form-fitting armor. 1604 | Chapter 9 Modifiers Procedures To solidify an object: 1 Create an object to solidify. The object should have some holes in its surface. For example, start with a primitive sphere, convert it to Editable Poly, and delete some vertices or polygons. 2 Optionally create an open spline to serve as the profile for the edges connecting the inner and outer surfaces. For example, go to Create panel ➤ Shapes and click Line. Then, in the Top viewport, draw the spline from top to bottom. Where the spline protrudes to the right, the edge surface will be convex, and where it protrudes to the left, the surface will be concave. 3 Apply the Shell modifier to the object from step 1. 4 To use custom edges, turn on Bevel Edges, click the Bevel Spline button, and then select the spline from step 2. 5 By default, Shell keeps the material IDs of the new surfaces consistent with those of the original object. To change these, turn on the different Override options, specify appropriate material IDs, and apply a Multi/Sub-Object material on page 6542. 6 Likewise, Shell keeps the texture coordinates of the new surfaces consistent with those of the original object. To change these on the new edges, change the Edge Mapping choice, and with the Strip and Interpolate choices, optionally change the TV Offset setting. Shell Modifier | 1605 Interface Inner/Outer Amount Distance in 3ds Max generic units by which the inner surface is moved inward and the outer surface is moved outward from their original positions. Defaults=0.0 / 1.0. 1606 | Chapter 9 Modifiers The sum of the two Amount settings determines the thickness of the object's shell, as well as the default width of the edges. If you set both to 0, the resultant shell has no thickness, and resembles an object set to display as 2-sided. Segments The number of subdivisions across each edge. Default=1. Change this setting if you need greater resolution on the edge for use by subsequent modeling or modifiers. NOTE When you use a Bevel Spline, the spline's properties override this setting. Bevel Edges When on, and you specify a Bevel Spline, 3ds Max uses the spline to define the edges' profile and resolution. Default=off. After you define a Bevel Spline, use Bevel Edges to switch between a flat edge whose resolution is defined by the Segments setting and a custom profile defined by the Bevel Spline. Bevel Spline Click this button and then select an open spline to define the edge shape and resolution. Closed shapes such as Circle or Star will not work. The original spline is instanced to the Bevel Spline, so changing the spline's shape and properties are reflected in the Bevel Spline. With non-corner vertices, you can change the edge resolution with the spline's Interpolation rollout settings. A bevel spline as viewed from the top (inset) and the resulting bevel Shell Modifier | 1607 TIP For best results, create the spline in the Top viewport, and draw it from top to bottom. The top point on the spline is applied to the outside edge, and the bottom point to the inside edge. Displacements to the right will create outward protrusions on the edge profile, and displacements to the left create inward protrusions. Override Inner Mat ID Turn on to specify a material ID for all of the inner surface polygons using the Inner Mat ID parameter. Default=off. If you don't specify a material ID, the surface uses the same material ID or IDs as the original faces. Inner Mat ID Specifies the material ID for inner faces. Available only when Override Inner MatID is on. Override Outer Mat ID Turn on to specify a material ID for all of the outer surface polygons using the Outer Mat ID parameter. Default=off. If you don't specify a material ID, the surface uses the same material ID or IDs as the original faces. Outer Mat ID Specifies the material ID for outer faces. Available only when Override Outer MatID is on. Override Edge Mat ID Turn on to specify a material ID for all of the new edge polygons using the Edge Mat ID parameter. Default=off. If you don't specify a material ID, the surface uses the same material ID or IDs as the original faces from which the edges are derived. Edge Mat ID Specifies the material ID for edge faces. Available only when Override Edge MatID is on. Auto Smooth Edge Applies automatic, angle-based smoothing across the edge faces using the Angle parameter. When off, no smoothing is applied. Default=on. This doesn't apply smoothing across the junction between the edge faces and the outer/inner surface faces. Angle Specifies the maximum angle between edge faces that will be smoothed by Auto Smooth Edge. Available only when Auto Smooth Edge is on. Default=45.0. Faces that meet at an angle greater than this value will not be smoothed. Override Smooth Group Lets you specify a smoothing group on page 9310 for the new edge polygons using the Smooth Grp setting. Available only when Auto Smooth Edge is off. Default=off. 1608 | Chapter 9 Modifiers Smooth Grp Sets the smoothing group for the edge polygons. Available only when Override Smooth Group is on. Default=0. When Smooth Grp is set to the default value of 0, no smoothing group is assigned to the edge polygons. To specify a smoothing group, change the value to a number between 1 and 32. NOTE When Auto Smooth Edge and Override Smooth Group are both off, 3ds Max assigns smoothing group 31 to the edge polygons. Edge Mapping Specifies the type of texture mapping that is applied to the new edges. Choose a mapping type from the drop-down list: ■ CopyEach edge face uses the same UVW coordinates as the original face from which it's derived. ■ NoneEach edge face is assigned a U value of 0 and a V value of 1. Thus, if a map is assigned, the edges will take the color of the upper-left pixel. ■ StripThe edges are mapped in a continuous strip. ■ InterpolateThe edge mapping is interpolated from the mapping of the adjacent inner and outer surface polygons. TV Offset Determines the spacing of the texture vertices across the edges. Available only with the Edge Mapping choices Strip and Interpolate. Default=0.05. Increasing this value increases the repetition of the texture map across the edge polygons. Select Edges Selects the edge faces. This selection is passed up the stack to other modifiers. Default=off. Select Inner Faces Selects the inner faces. This selection is passed up the stack to other modifiers. Default=off. Select Outer Faces Selects the outer faces. This selection is passed up the stack to other modifiers. Default=off. Straighten Corners Adjusts corner vertices to maintain straight-line edges. If you apply Shell to a subdivided object with straight edges, such as a box set to 3x3x3 segments, you might find that the corner vertices don't stay in a straight line with the other edge vertices. This gives the edges a bulging look. To resolve this, turn on Straighten Corners. Shell Modifier | 1609 Box with Straighten Corners off (left) and on (right) Skew Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Skew Make a selection. ➤ Modifiers menu ➤ Parametric Deformers ➤ Skew The Skew modifier lets you produce a uniform offset in an object's geometry. You can control the amount and direction of the skew on any of three axes. You can also limit the skew to a section of the geometry. 1610 | Chapter 9 Modifiers Skew modifier applied Effect of moving modifier center with limits set Procedures To skew an object: 1 Select an object, go to the from modifier list. Modify panel, and choose Skew Skew Modifier | 1611 2 On the Parameters rollout, set the axis of the skew to X, Y, or Z. This is the axis of the Skew gizmo, not the axis of the selected object. You can change the axis at any time, but only one axis setting is carried with the modifier. 3 Set the amount of the skew. The amount is an offset in current units parallel with the axis. The object skews to this amount beginning at the lower limit, by default the location of the modifier's center. 4 Set the direction of the skew. The object swivels around the axis. You can reverse the amount and direction by changing a positive value to a negative value. To limit the skew: 1 Turn on Limits group ➤ Limit Effect. 2 Set values for the upper and lower limits. These are distances in current units above and below the modifier's center, which is at zero on the gizmo's Z axis. The upper limit can be zero or positive, the lower limit zero or negative. If the limits are equal, the result is the same as turning off Limit Effect. The skew offset is applied between these limits. The surrounding geometry, while unaffected by the skew itself, is moved to keep the object intact. 3 At the sub-object level, you can select and move the modifier's center. The limit settings remain on either side of the center as you move it. This lets you relocate the skew area to another part of the object. Interface Modifier Stack 1612 | Chapter 9 Modifiers Gizmo At this sub-object level, you can transform and animate the gizmo like any other object, altering the effect of the Skew modifier. Translating the gizmo translates its center an equal distance. Rotating and scaling the gizmo take place with respect to its center. Center At this sub-object level, you can translate and animate the center of the Skew effect. For more information on the stack display, see Modifier Stack on page 8776. Parameters rollout Skew group Amount Sets the angle to skew from the vertical plane. Direction Sets the direction of the skew relative to the horizontal plane. Skew Axis group X/Y/Z Specify the axis that will be skewed. Note that this axis is local to the Skew gizmo and not related to the selected entity. Default=Z. Limits group Limit Effect Applies limit constraints to the Skew modifier. Upper Limit Sets the upper limit boundaries in world units from the skew center point, beyond which the skew no longer affects the geometry. Default=0. Skew Modifier | 1613 Lower Limit Sets the lower limit boundaries in world units from the skew center point, beyond which the skew no longer affects the geometry. Default=0. Skin Modifier Select a mesh, patch, or NURBS object. ➤ List ➤ Object-Space Modifiers ➤ Skin Modify panel ➤ Modifier Select a mesh, patch, or NURBS object. ➤ Modifiers menu ➤ Animation Modifiers ➤ Skin The Skin modifier is a skeletal deformation tool that lets you deform one object with another object. Mesh, patch, or NURBS objects can be deformed by bones, splines, and other objects. Applying the Skin modifier and then assigning bones gives each bone a capsule-shaped "envelope." Vertices of the modified object within these envelopes move with the bones. Where envelopes overlap, vertex motion is a blend between the envelopes. By default, each vertex that's affected by a single bone is given a weight value of 1.0, which means it's affected by that bone only. Vertices within the intersection of two bones' envelopes have two weight values: one for each bone. And you can use Skin modifier toolsets such as the Weight Tool dialog on page 1645 to arbitrarily assign vertices to any number of bones. The ratio of a vertex's weight values, which always total 1.0, determine the relative extent to which each bone's motion affects the vertex. For example, if a vertex's weight with respect to bone 1 is 0.8 and its weight with respect to bone 2 is 0.2, then the motion of bone 1 will have four times greater influence on the vertex than will the motion of bone 2. The initial envelope shape and position depends on the type of bone object. Bones create a linear envelope that extends along the longest axis of the bone geometry. Spline objects create envelopes that follow the curve of the spline. Primitive objects create an envelope that follows the longest axis of the object. You can also deform the mesh based on the angle of the bones. Three deformers let you shape the mesh based on bone angles: ■ The Joint and Bulge Angle deformers use a lattice similar to an FFD lattice on page 1375 to shape the mesh at a specific angle. ■ The Morph Angle Deformer morphs the mesh at specified angles. Morph targets are created by using modifiers above the Skin modifier in the stack, 1614 | Chapter 9 Modifiers or by using the Snapshot tool on page 888 to create a copy of the mesh and deforming the mesh using standard tools. You can apply the Skin modifier to several objects at the same time. Jacket object deformed using the Skin modifier In 3ds Max you can mirror envelope and vertex assignments from one side of the mesh to the other with commands on the Mirror Parameters rollout. Procedures To use the Skin modifier: 1 Prepare the skin (mesh or patch object) and skeleton (bones or other objects). Carefully place the skeleton inside the mesh or patch object so that its elements are able to influence polygons or patches in their immediate vicinity. Skin Modifier | 1615 2 Select the mesh or patch object and apply the Skin modifier. 3 In the Parameters rollout, click Add and choose the skeleton objects. 4 Click Edit Envelopes and select an envelope to modify the volume in which each bone can influence the surrounding geometry. To weight vertices manually: 1 On the Parameters rollout, turn on Vertices. 2 On the mesh, select the vertices you would like to weight manually. Each selected vertex is surrounded by a small white rectangle. 3 Highlight the name of the bone for which you want to change the vertex weights. 4 In the Weight Properties group, change the Abs. Effect parameter to the new vertex weight. To mirror envelope or vertex weight settings: 1 Adjust envelopes and vertex weights on one side of the mesh. 2 On the Mirror Parameters rollout, click Mirror Mode. The mirror plane appears at the position and orientation of the mesh's pivot point. 3 If the mirror plane is not at the center of the mesh, change the Mirror Offset parameter to move the plane to the center. 4 If some vertices in the left or right side of the mesh are red rather than blue or green, increase the Mirror Thresh value until all vertices are blue or green. 5 On the Mirror Parameters rollout, click the appropriate Paste button to paste green or blue envelopes or vertex weights to the other side of the mesh. To adjust the skin and/or bones without affecting the envelopes: 1 Save the scene. 1616 | Chapter 9 Modifiers This is a potentially destructive operation, so it's best not to take any chances with your data. 2 Select the object to which the Skin modifier is applied. 3 In the Advanced Parameters rollout, turn off Always Deform. 4 Apply any necessary transforms to the mesh/patch object or bones objects. 5 Turn Always Deform back on. To adjust the bones only, you can also use skin pose on page 7946. Example: To apply the Skin modifier to a cylinder with a bones skeleton: 1 On the Create panel, with Primitives, click Cylinder. (Geometry) active, under Standard 2 In the middle of the Top viewport, click and drag 20 units to create the base of the cylinder. 3 Release the mouse button and drag up 130 units to establish the height of the cylinder. 4 On the parameters rollout, set Height Segments to 20. This provides mesh detail for a smooth surface deformation. 5 On the Create panel, click rollout, click Bones. (Systems). On the Object Type Make sure an IK Solver is chosen in the IK Solver list. Turn on Assign To Children. (This should turn on Assign To Root as well.) 6 In the Front viewport, click successively three times: below the cylinder, in the middle of the cylinder, and above the top of the cylinder. 7 Right-click to end Bones creation. Three bones display. Two of them are within the middle of the cylinder. 8 Select the cylinder. Skin Modifier | 1617 9 On the Modify panel ➤ Modifier List, choose Skin. 10 On the Skin modifier Parameters rollout, click Add, and use the Select Bones dialog to select the three bones. The names of the bones are now displayed in the list. 11 In the Front viewport, and move it around. select the bone end effector (IK Chain01) The cylinder deforms to follow the bones. To adjust envelopes to refine the surface deformation, choose the Skin modifier's Envelope sub-object level, and use the Edit Envelopes controls to resize envelopes and change vertex weights. Example: To use a morph angle deformer: Create the cylinder and bones from the preceding procedure before you continue with this procedure. 1 At frame 50, animate bone 2 so that bones 1 and 2 represent a 90-degree angle. 2 At frame 0, the bones should be straight at about a 180-degree angle. 3 Go to frame 0. 4 In the Parameters rollout, turn on Edit Envelopes. 5 Select the child bone (bone 2) in the modifier's list of bones. 6 In the Select group, turn on Vertices. This allows you to select vertices. 7 In the viewports, region-select a good portion of the vertices that are controlled by both bones. 8 In the Gizmos rollout, select the Morph Angle Deformer in the drop-down list, and then click Add Gizmo. The Deformer Parameters rollout displays. A base morph target is the first and only target in the list. 1618 | Chapter 9 Modifiers TIP if the Deformer doesn't assign, make sure that bone 2 and not bone 1 is selected in the list. 9 Scrub the Time Slider to frame 50. 10 Add an Edit Mesh modifier above the Skin modifier on the modifier stack. 11 In the Edit Mesh modifier, turn on Vertex and Soft Selection. 12 Edit the mesh to the shape you want. 13 In the stack, go back down to the Skin modifier. If 3ds Max displays the topology warning dialog, click Yes. 14 In the Deformer Parameters rollout, click Add From Stack. A new morph target is added at about 90 degrees. 15 Delete the Edit Mesh modifier from the stack. There is a doubling effect of the morph if you don’t delete or deactivate the Edit Mesh modifier. 16 Scrub the time slider. The mesh morphs as the bone angle changes. Interface The Skin Modifier interface includes the following rollouts: ■ Parameters rollout on page 1621 ■ Mirror Parameters rollout on page 1628 ■ Display rollout on page 1630 ■ Advanced Parameters rollout on page 1632 ■ Gizmos rollout on page 1635 ■ Deformer Parameters rollout on page 1638 ■ Joint Angle and Bulge Angle parameters on page 1640 Some of the Skin modifier commands are also available from the quad menu on page 8640. Modifier Stack Envelope Turn on this sub-object level to work on envelopes and vertex weights. Skin Modifier | 1619 TIP You can use the quad menu to choose this sub-object level. 1620 | Chapter 9 Modifiers Parameters rollout Skin Modifier | 1621 Edit Envelopes Use this sub-object level to work on envelopes and vertex weights. Select group The following filtering options are grouped together to help you work on a particular task, by preventing you from accidentally selecting the wrong item in the viewports. Vertices Turn on for vertex selection. You can rotate around selected vertices using Orbit SubObject on page 8742 on the Orbit flyout on page 8740. You can also rotate around a selected envelope as long as no vertices are selected, as they have precedence. NOTE You must choose Use Selection Center on page 870 from the User Center flyout on page 867 to center on your selection. If you choose Use Pivot Point Center on page 868, Orbit centers on the selected bone/cross section. You can zoom on selected vertices using Zoom Extents Selected on page 8733 from the Zoom Extents flyout. You can also zoom on an envelope if no vertices are selected. ■ ShrinkModifies the current vertex selection by progressively subtracting the outermost vertices from the selected object. Has no effect if all the vertices from an object are selected. ■ GrowModifies the current vertex selection by progressively adding neighborhood vertices of the selected object. You must start with at least one vertex to be able to grow your selection. ■ RingExpands the current vertex selection to include all vertices part of parallel edges. NOTE You must select at least two vertices to use the Ring selection. ■ LoopExpands the current vertex selection to include all vertices part of continuing edges. NOTE You must select at least two vertices to use the Ring selection. ■ Select ElementWhen on, selects all vertices of the element you select, as long as you select at least one vertex from that element. 1622 | Chapter 9 Modifiers TIP You can edit your selection by holding Ctrl or Alt, and then select vertices. This adds or removes, respectively, vertices to or from your selection. ■ Backface Cull VerticesWhen on, you cannot select vertices pointing away from the current view (on the other side of the geometry). Envelopes Turn on for envelope selection. Cross Sections Turn on for cross-section selection. _____ The first step, after applying the Skin modifier to an object, is to determine which bones participate in the object's weighting. Every bone you choose influences the weighted object with its envelope, which you can configure in the Envelope Properties group on page 1624. Add Click to add one or more bones from the Select Bones dialog. Remove Choose a bone in the list, and then click Remove to remove it. [list window] Lists all bones in the system. Highlighting a bone in the list displays that bone's envelope and the vertices influenced by the envelope. An horizontal scroll bar appears if a bone's name is longer than the window's width. NOTE If an older scene containing long bone names is loaded in 3ds Max, its name is truncated to fit in the window. You can overwrite this by setting the MAXScript shortenBoneNames property of your Skin modifier to false. Example: $'Sphere01'.modifiers[#Skin].shortenBoneNames = false For detailed information about the MAXScript utility, open the MAXScript Help, available from Help menu ➤ MAXScript Help. [bone name type-in field] Enter a bone name to highlight it in the bone list above. The highlighting goes to the first matching bone. Use these methods for finding bone names faster: ■ Narrow the list by typing the first few characters in the name of the bone you want to highlight. ■ Use the wildcard (*) key. For example, you can find Robot R Index Finger by typing * R In Skin Modifier | 1623 Cross Sections group By default, each envelope has two round, lateral cross sections, one at each end of the envelope. These options add and remove cross sections from envelopes. Add Choose a bone in the list, click Add, and click a position on the bone in a viewport to add a cross section. Remove Select an envelope cross section and click Remove to delete it. Before you can select a cross section, the Cross Sections option in the Select group must be on. You can delete only extra cross sections that you have added; not the default cross sections. Envelope Properties group Radius Select an envelope cross section, and use Radius to resize it. In order to select a cross section, the Cross Sections option in the Select group must be checked. You can also click and drag a cross section control point in a viewport to resize it. Squash A squash multiplier for bones that stretch. This is a single value that reduces or increases the amount of squash applied to a bone when it is stretched with Freeze Length off, and Squash on. NOTE You can set Freeze Length and Squash in the Bone Tools dialog on page 812. Absolute/Relative This toggle determines how vertex weights are calculated for vertices between inner and outer envelopes. ■ AbsoluteA vertex must merely fall inside the brown outer envelope to have 100% assignment weight to that particular bone. A vertex falling inside more than one outer envelope will be assigned multiple weights summing to 100% based on where it falls in the gradients of each envelope. 1624 | Chapter 9 Modifiers ■ RelativeA vertex falling only within an outer envelope will not receive 100% weighting. A vertex must either fall inside two or more outer envelopes whose gradients sum to 100% or greater or the vertex must fall within a red inner envelope to have 100% weight. Any points within a red inner envelope will be 100% locked to that bone. Vertices falling within multiple inner envelopes will receive weighting distributed over those bones. Envelope Visibility Determines the visibility of unselected envelopes. Choose a bone in the list and click Envelope Visibility, then choose another bone in the list. The first bone selected remains visible. Use this to work on two or three envelopes. Falloff Flyouts Choose a falloff curve for the displayed envelopes. Weight falls off in the area between the inner and outer envelope boundaries if envelopes overlap and Absolute is turned on. This setting lets you specify how the falloff is handled: ■ Falloff Fast OutWeight falls off quickly. ■ Falloff Slow OutWeight falls off slowly. ■ Falloff LinearWeight falls off in a linear way. ■ Falloff SinualWeight falls off in a sinusoidal way. Copy Copies the currently selected envelope size and shape to memory. Turn on sub-object Envelopes, choose one bone in the list, click Copy, then choose another bone in the list and click Paste to copy an envelope from one bone to another. Skin Modifier | 1625 Paste commands are on a flyout with the following options: ■ PastePastes the copy buffer to the current selected bone. ■ Paste to All BonesPastes the copy buffer to all bones in the modifier. ■ Paste to Multiple BonesPastes the copy buffer to selected bones. A dialog allows you to choose the bones to paste to. Weight Properties group Abs. Effect Enter an absolute weight for the selected bone to selected vertices. Choose the Envelope sub-object level, turn on Vertices in the Parameters rollout ➤ Select group, select a vertex or vertices, and then use the Abs. Effect spinner to assign weight. Selected vertices move in the viewports as their weight changes. Rigid Causes selected vertices to be influenced only by one bone, the one with the most influence. Rigid Handles Causes the handles of selected patch vertices to be influenced by only one bone, the one with the most influence. Normalize Forces the total weights of each selected vertex to add up to 1.0. 1626 | Chapter 9 Modifiers Exclude Selected Verts Adds the currently selected vertices to the exclusion list for the current bone. Any vertices in this exclusion list will not be affected by this bone. Include Selected Verts Takes the selected vertices out of the exclusion list for the selected bone. The bone can then affect these vertices. Select Excluded Verts Selects all vertices excluded from the current bone (see Exclude Selected Verts, preceding). Bake Selected Verts Click to bake the current vertex weights. Baked weights are not affected by envelope changes, only by changes to Abs. Effect on page 1626 or weights in the Weight Table on page 1652. Weight Tool Displays the Weight Tool dialog on page 1645, which offers control tools to help you assign and blend weights on selected vertices. Weight Table Displays a table for viewing and changing weights for all bones in the skeletal structure. See Weight Table on page 1652. Paint Weights Click and drag the cursor over vertices in the viewports to brush on weights for the selected bone. TIP Streamline the painting process by using the Brush Presets tools on page 8633. Painter Options [ellipsis] Opens the Painter Options dialog on page 1940, where you can set parameters for weight painting. Paint Blend Weights When on, blends painted values by averaging the weights of neighboring vertices and then applying the average weight based on the brush strength. Default=on. Skin Modifier | 1627 Mirror Parameters rollout Mirror Mode Activates Mirror mode, which lets you mirror the envelopes and vertex assignments from one side of the mesh to the other. This mode is available only at the Envelope sub-object level. Mirror mode uses the Mirror Plane setting to determine the “left side” and “right side” of the mesh. When you turn on Mirror Mode, the vertices on the left side of the mirror plane turn blue, while the vertices on the right turn green. Vertices that are neither left nor right turn red, including vertices at the mirror plane. If vertices don't change color appropriately, you might have to increase the Mirror Thresh value to expand the range used to determine the left and right sides. If you select vertices or bones, the selected vertices or bones turn yellow, and the corresponding match on the other side of the mesh turns a brighter blue or green. This can help you check for matches. Mirror Paste Pastes selected envelope and vertex assignments to the opposite side of the body. Paste Green to Blue Bones Pastes the envelope settings from green bones to blue. 1628 | Chapter 9 Modifiers Paste Blue to Green Bones Pastes the envelope settings from blue bones to green. Paste Green to Blue Verts Pastes the individual vertex assignments from all green vertices to the corresponding blue vertices. Paste Blue to Green Verts Pastes the individual vertex assignments from all blue vertices to the corresponding green vertices. Mirror Plane Determines the plane that will be used to determine the left and right sides. The plane appears in the viewport at the mesh's pivot point when you turn on Mirror mode. The selected mesh's local axes are used as the basis for the plane. If several objects are selected, one object's local axes are used. Default=X. TIP For the easiest workflow with mirroring tools for the Skin modifier, set the pivot points for character meshes to align with the World before applying Skin. Mirror Offset Shifts the mirror plane along the Mirror Plane axis. Mirror Thresh Sets the relative distance the mirroring tools will look when setting vertices as left or right. If some vertices in the mesh (other than those at the mirror plane) are not colored blue or green when you turn on Mirror mode, increase the Mirror Thresh value to include a larger area of the character. You can also increase this value to compensate for lack of symmetry in asymmetrical models. Display Projection When Display Projection is set to Default Display, selecting vertices on one side of the mirror plane automatically projects the selection to the opposite side. The Positive and Negative options allow selection of vertices on one side of the character only. The None option does not project selected vertices to either side. Default=Default Display. TIP You can use the Positive and Negative options to temporarily project the display of one side's vertices to the other side so you can see how the vertices align. This can be helpful when determining the correct Mirror Plane settings for an asymmetrical mesh. Manual Update When on, you can update the display manually rather than automatically after each mouse-up. Update When Manual Update is on, use this button to update the display with your new settings. Skin Modifier | 1629 Display rollout Show Colored Vertices Colors vertices in viewports according to their weights. Show Colored Faces Colors faces in viewports according to their weights. Color All Weights Assigns a color to every bone in the envelope. The vertex weighting blends the colors together. TIP You can toggle this feature to get a global view of all weight regions across your model at once. TIP You can also assign a color to unweighted vertices: Open the Customize User Interface dialog and, on the Colors panel, choose Skin Colors from the Elements drop-down list. Show All Envelopes Displays all envelopes at the same time. Show All Vertices Draws a small tick at every vertex. On a patch surface, it will also draw all the handles. Show All Gizmos Displays all the gizmos in addition to the currently selected gizmo. Show No Envelopes Causes no envelopes to be displayed even when an envelope is selected. 1630 | Chapter 9 Modifiers Show Hidden Vertices When on, hidden vertices are visible. Otherwise, they remain hidden until you enable the option or go into the object's modifier (Editable Mesh on page 2190 or Editable Poly on page 2258), and then click Unhide All on the Selection rollout or Edit Geometry rollout, respectively. Default=off. Draw On Top group These options determine which elements will be drawn on top of all other objects in viewports. Cross Sections Forces cross sections to be drawn on top. Envelopes Forces envelopes to be drawn on top. Skin Modifier | 1631 Advanced Parameters rollout Always Deform A toggle useful for editing the transformation relationship between bones and the controlled points. This relationship is initially set when Skin is applied. To change the relationship, turn off Always Deform, move the object or the bones, and reactivate. The new transformation relationship is now used. Ref. Frame Sets the frame where the bones and the mesh are in a reference position. Normally this is frame 0. If frame 0 is the reference frame, start your animation at frame 1 or later . If you need to adjust bones relative to the mesh, move 1632 | Chapter 9 Modifiers the time slider to frame 0, turn off Always Deform, move the bones into the correct position, and then turn on Always Deform. Back Transform Vertices Allows you to link on page 3665 the mesh to the bone structure. Ordinarily, when you do this, any movement of the bones causes the mesh to move twice as far as it should, because it moves once with the bones and once with the link. Enabling this option prevents the mesh from moving twice under these circumstances. Rigid Vertices (All) When on, effectively assigns each vertex to the bone whose envelope has the most influence, as though weighted 100% to that bone. Vertices will not have weight distributed over more than one bone and the deformation of the skinned object is rigid. This is mainly used with game engines that do not support weighted point transformation. NOTE This does not change weight values for vertices assigned to multiple bones, so you can return to distributed weight assignments simply by turning off Rigid Vertices (All). Rigid Patch Handles (All) On a patch model, forces patch handle weights to equal the knots weights. Bone Affect Limit Limits the number of bones that can affect one vertex. Reset group Reset Selected Verts Resets the weight of selected vertices to the envelope defaults. After manually changing vertex weight, use this to reset weights if necessary. Reset Selected Bone Resets associated vertex weights back to the original weights calculated for the selected bone's envelope. Reset All Bones Resets all vertex weights back to the original weights calculated for all bone's envelopes. Skin Modifier | 1633 _____ Save/Load Allows you to save and load the envelope position and shape, as well as the vertex weights. If you load a saved file onto a different system of bones, you can use the Load Envelopes dialog on page 1641 to match the incoming bones to the current bones. Update on mouse up When on and the mouse button is pressed down, no updates take place. When the mouse button is released, updates occur. This option helps keep workflow moving quickly by avoiding unnecessary updates. Fast Updates Turns off viewport display of weighted deformation and gizmos and uses rigid deformation when not rendering. Ignore Bone Scale Turn this option on to leave a skinned mesh unaffected by a scaled bone. Default=off. NOTE To scale a bone's length, you first need to turn off its Freeze Length option on the Object Properties rollout on page 812 of the Bone Tools floater dialog on page 806. Animatable Envelopes Toggles the possibility of creating keys on all animatable envelope parameters while Auto Key is active. Default=off. NOTE This does not affect keyable track settings. Weight All Vertices When on, forces all vertices that are not under the control of an envelope to be weighted to the bone closest to them. Has no effect on vertices that are manually weighted. Default=on. TIP If you want to revert vertices to their original weight value, click Reset Selected Verts (in the Reset group) or open the Weight Table on page 1652, and change the Modified weight status (M) of your selected vertices. Remove Zero Weights Strips a vertex from its weight if it is less than the Remove Zero Limit value. This helps making your skinned model lighter (in games for instance) because less unnecessary data is stored in the geometry. Also accessible from the Weight Table. Remove Zero Limit Sets the weight threshold that determines if a vertex is stripped of its weight when you click Remove Zero Weights. Default=0.0. 1634 | Chapter 9 Modifiers Gizmos rollout Controls in the Gizmos rollout allow you to deform the mesh according to the angle of the joint, and to add gizmos to selected points on the object. The rollout consists of a list box containing all the gizmos for this modifier, a drop-down list of the current types of gizmos, and four buttons (Add, Remove, Copy, and Paste). The workflow for adding a gizmo is to select the vertices that you want to affect, select the bones that will drive the deformation, and then click the Add button. There are three deformers available: ■ The Joint Angle deformer has a lattice that can deform vertices on the parent and child bones. ■ The Bulge Angle deformer has a lattice that only works on vertices on the parent bone. ■ The Morph Angle deformer works on vertices of the parent and child bones. Keep these distinctions in mind when you select vertices to deform. For example, if you want to use the Joint Angle deformer, then select vertices close to the joint that will drive the deformation. If you want the parent bone vertices to deform like a biceps muscle, then select vertices that are only assigned to the parent bone before adding the Bulge Angle deformer. If all the vertices of the parent and child bone must deform, then select all of the vertices and add the Morph Angle deformer. Skin Modifier | 1635 Bending the arm without the Morph Angle deformer causes the sleeve to crumple. 1636 | Chapter 9 Modifiers Using the Morph Angle deformer creates a smooth bend in the sleeve. Gizmo List Window Lists the current Angle Deformers. The Deformer Parameters rollout changes depending on the type of gizmo selected. Deformer drop-down list Lists the available deformers. Add Gizmo Adds the current Gizmo to the selected vertices. To add a gizmo, you must first select the child bone for the joint you want to deform. Then you must select the vertices that you want to deform. You can then add a gizmo. After a gizmo is added, a Deformer Parameters rollout displays that contains gizmo parameters that you can adjust. Remove Gizmo Remove the selected gizmo from the list. Skin Modifier | 1637 Copy Gizmo Copy the selected gizmo. Paste Gizmo Paste the gizmo. The Paste button pastes the current copy buffer into the currently selected gizmo. You can only paste to like gizmos. For instance, you can't paste from a bulge gizmo to a joint gizmo. Deformer Parameters rollout The following parameters are for the Morph Angle deformer. One way to create morph targets, after the morph gizmo is added, is to add an Edit Mesh modifier to the stack above the Skin modifier. Use the vertex controls in the Edit Mesh modifier to shape the geometry. Then go back in the stack to the Skin modifier and click Add From Stack. You can then delete the Edit Mesh modifier. Add 1638 | Chapter 9 Modifiers From Stack looks at the last modifier in the stack to get the morph target. Note that when you go back down to the Skin modifier, the morph effect is doubled; you can rectify this by deleting or deactivating the Edit Mesh modifier. Joint Field Displays the type of Deformer and the associated bone. List Window Contains the current morph targets and associated bone angles. Naming Field Select a morph target and rename it in this field. Add from stack Uses the current state of the stack to get the morph target. Ideally, you have put an Edit Mesh modifier on top of the stack and done your edits before you click Add From Stack. Add from node Uses another object as your morph target for this angle. This is like a regular morph target, but instead of being driven by a field, it is driven by the joint angle. TIP You can use Snap Shot on the main toolbar to create a new target for morphing. Delete Deletes the currently selected morph target from the list. Enable gizmo Toggles the effect of the gizmo. Skin Modifier | 1639 Joint Angle and Bulge Angle parameters The following parameters are for the Joint Angle and Bulge Angle deformers. These two deformers are almost identical in the way they operate. The difference is that the Bulge Angle deformer only works on vertices of the parent bone, while the Joint Angle deformer works on vertices on both the child and parent bone. To apply either of these deformers, first select the child link, then select vertices on the mesh, and then apply the deformer. Remember to turn on Vertices in the Parameters rollout ➤ Select group before region-selecting vertices in the viewports. Once the deformer is applied, turn on Edit Lattice and move the lattice control points in the viewports to deform the mesh at different bone angles. Name Field Allows you to change the name of the deformer. Twist Allows you to spin the gizmo around the mesh to place control points appropriately. Use Bounding Volume Turn this on if you plan to change the geometry, like increasing segments on a cylinder. If the geometry changes, the mesh will still deform inside the lattice if this is turned on. Enable Gizmo Toggles the effect of the gizmo on and off. 1640 | Chapter 9 Modifiers Edit Lattice Allows you to move the lattice control points in the viewports. Edit Angle Keys Curves Brings up a curve editor that lets you manipulate the shape of the lattice at a particular angle. This curve is position vs. angle. It will show you the curves of the current selected points. The red curves are X, green curves are Y, and blue curves are Z. Load Envelopes Dialog (Skin Modifier) Select a mesh, patch, or NURBS object. ➤ Modify panel ➤ Apply a Skin modifier. ➤ Advanced Parameters rollout ➤ Load button The Load Envelopes dialog associated with the Skin modifier on page 1614 allows you to load saved envelopes on page 1634 to specific bones. This resizable dialog shows the current envelopes in your scene and the incoming envelopes. Use the controls to manipulate the incoming envelopes so they align with the current envelopes. Skin Modifier | 1641 Interface 1642 | Chapter 9 Modifiers Skin Modifier | 1643 OK Accepts any changes and closes the dialog. Cancel Discards any changes and closes the dialog. Move Up/Down Move the current selection in the incoming list up or down. Create Blank Creates space in the Incoming list. Use this when loading data onto a skeleton that is not identical as the one from which the data was saved. For example, if your original skeleton had three fingers and the new one has only two fingers, you might need to add spaces in the list to line up the fingers correctly. Delete Removes the current selected incoming envelopes. Match by Name Resorts the Incoming list and matches any bones that have the same name in the list of current envelopes. Remove Incoming Prefix Removes any prefixes on the names of the incoming envelopes. Remove Current Prefix Removes any prefixes on the names of the current envelopes. Load End Points Loads the envelope end point positions. Load Cross Sections Loads the envelope cross sections. Load Vertex Data When on, loads weights at the vertex level. Normally only the envelope data is loaded so any manual adjustments to the vertex data are lost. This option lets you load those manual edits. Load Exclusion Lists Lets you also load user-generated exclusion-list data, which specifies that certain vertices should not be affected by certain bones. See Exclude Selected Verts on page 1627 and Show Exclusions on page 1653. Load Vertices By Index Lets you load vertices by index rather than vertex position. You would typically use this option with identical meshes that have not undergone any type of topology change. This should be off if you've changed the topology, by, for instance, deleting or adding vertices or changing their order. Current Incoming Vertex Set When Load Vertex Data is on, use these controls to match vertex sets in cases where the Skin modifier is instanced. In such cases you might need to set up several vertex sets. The Move Up/Create Blank/Move Down buttons have the same functions as in the Envelopes lists. 1644 | Chapter 9 Modifiers Weight Tool Dialog (Skin Modifier) Select an object that has the Skin modifier applied to it. ➤ Modify panel ➤ Skin modifier ➤ Parameters rollout ➤ Weight Properties group ➤ Weight Tool button This dialog is launched from the Skin modifier on page 1614 and provides tools to select vertices and assign them weights. You can also copy, paste, and blend weights between vertices. Each vertex you select displays the objects contributing to its weighting in the dialog list. To use these tools, Parameters rollout ➤ Edit Envelopes must be on, Parameters rollout ➤ Select group ➤ Vertices must be on, and at least one vertex must be selected. IMPORTANT The controls on this dialog adjust vertex weighting with respect to the active bone; that is, the object highlighted in the Bones list on the Parameters rollout. When you select a vertex and then change its weighting, if the active bone does not already influence the vertex, the bone is added to the list of bones influencing the vertex. You can ensure that bone assignments don't change by highlighting the bone in the Weight Tool dialog list after selecting the vertex and before changing weighting. Also, the total weighting for all bones influencing a vertex is always 1.0, so if multiple bones influence a vertex and you change the weight value for one bone, the weight values for the others change as well. Procedures Example: To Set and Blend Weights on Selected Vertices: 1 Prepare a cylinder skinned to a bone chain. Skin Modifier | 1645 2 On the Envelopes. Modify panel ➤ Parameters rollout, turn on Edit 3 In the Select group, turn on Vertices. 4 In the Weight Properties group, click (Weight Tool). 3ds Max opens the Weight Tool dialog. 5 Select a few vertices and then click (the .25 weight button). The selected vertices are weighted at 0.250 for the active bone (highlighted in the Parameters rollout list), coloring them yellow. NOTE The active bone is added to the list of bones influencing each of the selected vertices, if necessary. 1646 | Chapter 9 Modifiers NOTE In theEnvelope Properties group on page 1614, you might need to toggle the vertex weighting to (Relative). 6 Click (directly under the .9 weight button) repeatedly until the vertices are red (that is, their weight is 1.0). As you increase the vertices' weight, they gradually change color. 7 Select a few other vertices, and assign them a weight of (0.250). Skin Modifier | 1647 The left vertices are weighted 1.0 and the right vertices are weighted 0.25. 8 Select all weighted vertices, then repeatedly click Blend. Every time you click Blend, each vertex's weight is adjusted to blend with other selected neighborhood weights. This creates a smooth weighting transition among all selected vertices. 1648 | Chapter 9 Modifiers The two separate colors blend into a smooth gradient. Skin Modifier | 1649 Interface Shrink Modifies the current vertex selection by progressively subtracting the outermost vertices from the selection. Has no effect if all vertices in an object are selected. Grow Modifies the current vertex selection by progressively adding neighborhood vertices of the selected object. You must start with at least one vertex to be able to grow your selection. Ring Expands the current vertex selection to include all vertices in parallel edges. NOTE You must select at least two vertices to use the Ring selection. Loop Expands the current vertex selection to include all vertices in continuing edges. 1650 | Chapter 9 Modifiers NOTE You must select at least two vertices to use the Loop selection. [specific weight values] Assigns an absolute weight value between 0 and 1 for the active bone to the selected vertices. NOTE When you click one of these buttons, the active bone is added to the list of bones influencing each of the selected vertices, if necessary. Set Weight Sets an absolute weight based on the field value. Default=0.5. NOTE The spinner increments the field value by steps of 0.05. +/- Increases/decreases each selected vertex's weight by 0.05. Scale Weight Multiplies each selected vertex's weight value by the field value, resulting in a relative weight change. Default=0.95. NOTE The spinner increments the field value in steps of 0.05. +/- Increases/decreases each selected vertex's weight by five percent. Copy Stores the current weight value(s) in the copy buffer. Paste Retrieves the weight values from the copy buffer and assigns them to the selected vertices. Paste-Pos Assigns the weight values currently in the copy buffer to the selected vertices based on the distance between them and the copied vertices, which is determined by the Paste-Pos Tolerance value. This is useful when you need to match weights between two juxtaposed skinned meshes sharing the a common bone. Blend Modifies the selected weight values to smooth out the transition between them and their surrounding vertices. Paste-Pos Tolerance Determines the radius influence of the Paste-Pos. Default=0.1. Vertex information Below the Paste-Pos Tolerance field is a text display displaying information on the amount of copied and selected vertices. [First Vertex Weight list] Displays the selected vertex weight along with the bone envelopes contributing to its weighting. You can select individual Skin Modifier | 1651 envelopes in the current viewport by highlighting the respective bone in the list. NOTE If you select multiple vertices, the list only displays the weighting of the first selected vertex. Weight Table (Skin Modifier) Select an object that has the Skin modifier applied to it. ➤ Modify panel ➤ Skin modifier ➤ Weight Properties group ➤ Weight Table The weight table for the Skin modifier is used to change vertex weights for several vertices and bones at a time. This table appears when you click the Weight Table button. Interface Vertex numbers appear down the left column, while bone names appear across the top. Vertex weights for each bone are displayed in the chart. You can change vertex weights in a number of ways: ■ Click and drag a vertex weight to the left or right. ■ Highlight a weight and type in a new weight. 1652 | Chapter 9 Modifiers ■ Select vertices by dragging over vertex IDs, then click and drag one weight to change all selected weights for the bone. ■ Right-click to enter a value of 0. ■ Ctrl+right-click to enter a value of 1.0. Menu options: Edit menu Copy/paste vertex weights, and choose vertices to edit. ■ Copy: Copies weights for highlighted vertices. ■ Paste: Pastes the copied weights. ■ Remove Zero Weights: All vertices with a weight less than the Remove Zero Limit on page 1634 field value are stripped from their weight. Also available on the Advanced Parameters rollout on page 1632. ■ Select All/None/Invert: Changes the selection of vertices. Vertex Sets menu Select vertices in the left column by holding down Ctrl while clicking vertices. Create a named selection set, which can then be picked from the drop-down menu at the lower left of the dialog. Options menu Customizes the weight table display. ■ Flip UI: Flips the UI to show vertex IDs across the top and bone names down the left side. ■ Update On Mouse Up: When the mouse button is pressed down, no updates will take place. When the mouse button is released, updates will occur. This option helps keep workflow moving quickly by avoiding unnecessary updates. ■ Show Affected Bones: Displays only bones that affect the displayed vertices. ■ Show Attributes: Toggles display of the S/M/N/R/H attributes. ■ Show Exclusions: Toggles display of small check box areas in each vertex weight field. Clicking the check box toggles exclusion of the vertex from the bone (a red X appears in the check box when the exclusion is in effect). Skin Modifier | 1653 ■ Show Global: Shows values for all displayed vertices. ■ Show Set Sets UI: Displays info about vertex sets. Dialog options Vertex ID Vertices are displayed by number down the left column of the weight table. Double-click a vertex number to cause the vertex to display in pink in viewports. To display only selected vertices, choose Selected Vertices from the drop-down menu at the bottom left of the dialog. S Indicates vertex is selected. M Indicates vertex weight has been modified. N Indicates vertex weights are normalized (total of all vertex weights is always 1.0). R Indicates vertex is rigid (affected only by one bone, the one with the most influence). H Indicates patch handles are rigid (affected only by one bone, the one with the most influence). Vertex selection drop-down Choose to display all vertices, selected vertices or only vertices affected by the selected bone. Copy Copies weights for highlighted vertices. Paste Pastes copied weights. Skin Morph Modifier The Skin Morph modifier lets you use a bone's rotation to drive a morph; that is, a deformation of the object mesh. Skin Morph is intended for use with Skin or a comparable modifier such as Physique: add the Skin Morph modifier after the skin-type modifier. You create the morph at the frame in which the effect should be greatest, and then Skin Morph automatically animates the affected vertices into and out of the morph, based on the rotation of the bone that drives the morph. Skin Morph lets you fine-tune mesh deformation at any frame, using a bone to drive the morph that is fixing a problem area. Often, when you animate a character with bones, you have to create extra bones to handle problem areas such as armpits and the groin. With Skin Morph, instead of adding extra bones, you can simply create a morph and then transform vertices into the 1654 | Chapter 9 Modifiers exact shape you want. Skin Morph provides an easy way to create muscle bulges and many other effects. NOTE When working with Skin Morph, it's important to be familiar with the concept of delta. The frame at which you apply the modifier determines the base position for each vertex that's used in a morphing animation controlled by Skin Morph. After applying the modifier, go to a frame at which the bone driving the morph is rotated an amount that will cause the greatest deformation, and then transform vertices to produce the morph. The amount by which you transform the vertices is called the delta: the difference between the base pose and the morphed position. Procedures To use Skin Morph (basic usage): 1 Create an animated character with bones and a skinned body mesh, using a modifier such as Skin on page 1614 or Physique on page 4807. 2 Go to the “pose frame” and apply the Skin Morph modifier. The pose frame contains the initial pose; typically a standing character with arms outstretched and legs apart. This is often frame 0, but it can be any frame, even a negative-numbered one. This is the frame from which the modifier measures delta: the change in the vertex position between this pose and the morph. 3 Determine which bones are driving deformations that you want to modify with Skin Morph. For example, bending an arm might cause the inside of the elbow to indent too far, or you might want to add a bulging bicep. In this case, the forearm bone is driving the deformation. 4 Use Add to bind the deformation-driving bones to the modifier. The modifier overlays an orange line along the length of each bone you add. 5 Go to the frame where you wish to create the morph. Using the arm-bending example, this might be the frame where the forearm is at a 90-degree angle to the upper arm. 6 In the list box, click one of the bones. In the viewport, the orange line representing the bone becomes a thicker yellow line to indicate that this bone will drive the morph. Skin Morph Modifier | 1655 7 On the Local Properties rollout, click Create Morph. The modifier adds a morph to the highlighted bone and sets the morph to 100% at this frame, as reflected by the number next to the morph's name in the list. 8 On the Local Properties rollout, click Edit. This temporarily freezes the skin deformation at the current frame. 9 Move vertices to where they should be at the current frame. 10 Click Edit again to exit this mode, and then test the animation. Interface Skin Morph modifier stack Points sub-object level At the Points sub-object level, you can view and select vertices on the skin mesh. However, you can transform these vertices only when Edit mode on page 1661 is on. The ability to select points when not in Edit mode lets you make the selection when the points are more easily accessible, and then go to the pose to transform them in Edit mode. 1656 | Chapter 9 Modifiers Parameters rollout [list window] Lists all attached bones and their morphs in a hierarchical view. You can expand or contract a bone's morph listing by clicking the + or - box next to its name in the list. The number in parentheses next to the morph name shows its relative influence as a percentage at the current frame. Highlighting a bone in the list highlights the bone in the viewports as a yellow line, and lets you create a morph for it. Alternatively, you can select the bone in the viewport while the modifier's Points sub-object level is active by clicking the orange line through its center. Highlighting a morph in the list lets you edit the morph. To change the morph's name, edit the Local Properties rollout ➤ Morph Name field. Add Bone Click to add one or more bones from the Select Bones dialog. Skin Morph Modifier | 1657 TIP To keep things simple, add only bones that will drive morphs. There's no point in adding any other bones. Pick Bone Lets you add bones by selecting them in a viewport. Click Pick Bone, and then select bones in any viewport. While Pick Bone is active, the cursor resembles a cross with the words ADD BONE attached. To exit Pick Bone mode, right-click the active viewport or click Pick Bone again. Remove Bone Removes a bone and its morphs from the list. Click a bone name in the list, and then click Remove. If a morph name is highlighted when you click Remove, its bone is removed. To remove the morph only, highlight it and then click Local Properties rollout ➤ Delete Morph. Selection rollout Use Soft Selection Enables soft selection for editing vertices. Soft Selection in Skin Morph works much like Soft Selection on page 1966 in other parts of 3ds Max, except that instead of Pinch and Bubble settings you 1658 | Chapter 9 Modifiers can adjust the graph shape directly, and it uses a Radius setting instead of Falloff to determine the extent of the soft-selection area. Radius Determines the extent of the soft-selection area in system units. Edge Limit When on, Skin Morph uses the Edge Limit numeric setting to determine the extent of the soft-selection area in terms of the number of edges from the selected vertex or vertices. Reset Graph Sets the soft-selection graph to default values. Use this if a vertex or handle is no longer visible and thus cannot be manipulated. [graph] Skin Morph provides a small, full-functioned curve graph for editing soft-selection characteristics globally; it works much like other such graphs in 3ds Max, such as Curve Editor Introduction on page 3841. The toolbar above the graph offers functions for moving and scaling points on the graph, as well as inserting new ones. The same functions are available by right-clicking the graph: If you right-click a graph point, you can set it to Corner or one of two different Bezier types. If you select a Bezier point, you can reshape the curve by moving its handles. Ring Expands a vertex selection by first converting the selection to an edge selection, selecting all edges parallel to the selected edges, and then converting the new edge selection back to a vertex selection. Use of Ring requires that a qualifying vertex selection exist; that is, at least two vertices on the same edge. Loop Expands a vertex selection by first converting the selection to an edge selection, selecting all aligned edges, and then converting the new edge selection back to a vertex selection. Use of Loop requires that a qualifying vertex selection exist; that is, at least two vertices on the same edge. Shrink Reduces the vertex selection area by deselecting the outermost vertices. If the selection size can no longer be reduced, the remaining vertices are deselected. Grow Expands the vertex selection area outward in all available directions. Skin Morph Modifier | 1659 Local Properties rollout This rollout contains functions for creating and editing individual morphs. The settings, such as Morph Name and Influence Angle, are specific to each morph. Create Morph Sets a morph at the current frame for the highlighted bone. Also sets the “pose” for this morph, using the bone's current orientation, and sets the bone to 100%, as shown in the list window hierarchical view. When you edit the morph, the skinned object returns to and stays at this orientation. When you create a morph, the modifier displays, in orange, all vertices that are part of the current pose (that is, they're offset from the initial pose). Also, the modifier creates a default name for the morph and adds it as a child to the highlighted bone in the list window. 1660 | Chapter 9 Modifiers TIP By default, the Show Edges switch is on, which might make it difficult to see the vertices themselves. To see only the vertices, turn off Options rollout ➤ Show Edges. TIP To help keep track of morphs, use the Local Properties rollout to rename each morph as you create it. Delete Morph Deletes the highlighted morph, removing it from its parent bone in the list window. Available only when a morph is highlighted. Edit Lets you shape the current morph by transforming vertices. To exit Edit mode, click the Edit button again. Transforming a vertex in Edit mode creates a morph target. Each transformed vertex moves into the morph target position (or orientation or scale) as the morph value increases to 100.0, and then out of it as the morph value decreases, based on the angle of the bone driving the morph. Transforming a vertex in Edit mode also changes its color from orange to yellow. This lets you easily see which vertices are part of the current morph. Choosing Edit places the skinned object at the 100% “pose” orientation for this morph (see Create Morph, above). It also activates the Points sub-object level so you can transform vertices using the standard 3ds Max transform tools. Clear Verts Keeps selected vertices in the morph, but resets their deltas (changes from the initial pose) to 0. Reset Orient(ation) Sets the morph orientation to current orientation of the bone that controls the morph. This lets you change the angle at which the morph has its greatest effect. For example, if you create a bulging bicep at frame 120, and later decide that the muscle should be largest at frame 150 instead, go to frame 150, choose the morph in the list box, and then click Reset Orientation. Remove Verts Removes selected vertices from the current morph, which deletes any animation applied as part of the morph. Use this command to save memory by removing vertices not part of the morph animation. Enabled When on, the morph is active; when off, the morph doesn't appear in the animation, and is indicated in the list box with the text “Disabled.” Default=on. The ability to enable and disable each morph individually lets you isolate the effect of each or test them in combination. Skin Morph Modifier | 1661 Morph Name Displays and lets you change the name of the current morph. Influence Angle The angle around the bone's current orientation within which the morph takes place. Default=90.0. This is an important parameter. Think of the influence angle as a cone around the bone at its orientation when you create the morph. Consider an example in which Influence Angle is set to the default value of 90.0 degrees. If the bone starts its rotation beyond 45 degrees away from the orientation at which the morph was created, the morph has no effect at that time. As the bone moves from 45 degrees away to the morph orientation, the morph increases to its full value. As the bone then rotates away, the morph gradually decreases until, at 45 degrees or more away from the morph orientation, the morph no longer appears. TIP Influence Angle is useful for isolating morphs; that is, to prevent overlapping of different morphs on the same bone. Reduce the value until one morph's contribution percent value (shown in the list box) falls off to 0.0 before the next one begins. Falloff Determines the rate of change of the morph as the bone moves within the influence angle. Use the drop-down list to choose one of four different falloff types: Linear, Sinual, Fast, or Slow. If you choose Custom Falloff, you can then click the G (for Graph) button and edit the falloff using standard curve-graph controls. NOTE The default graph, displayed when you first access the falloff graph, shows the Sinual falloff type. Joint Type Determines how the modifier tracks the angular motion of the bone. This is a per-bone setting, not per-morph. Default=Ball Joint. ■ Ball JointTracks all rotation of the bone. Use this setting in most cases. ■ Planar JointTracks rotation of the bone only in the plane of its parent bone. External Mesh Lets you use a different mesh as a morph target. Click the button (default label=-none-) and then select the target object. The target object should have the same mesh structure as the Skin Morph object. After specifying an external mesh, its name appears on the button. Using an external mesh makes it easier to set up morph targets in a target mesh that uses a reference pose, rather than the skinned, animated mesh of which sections might be interpenetrating, making it difficult to select the 1662 | Chapter 9 Modifiers specific vertices to be morphed. In this situation, it's probably best to turn Reload Only Selected Verts. NOTE The external-mesh connection is not live; if you edit vertices in the external mesh, Skin Morph doesn't automatically recognize the changes. To update the vertex positions after editing the external mesh, use Reload Target (see following). Reload Target Updates the Skin Morph object with edited vertex positions from the external mesh. Reload only selected verts When on, Reload Target copies only the positions of vertices selected in the Skin Morph mesh from the target mesh. When off, Reload Target copies the positions of all vertices. Default=off. Copy and Paste rollout These functions let you copy all morph targets for a specific bone from one side of the object to the other. Indicate the morphs to copy by highlighting the bone or any of its morphs in the Parameters rollout ➤ list box. Paste Mirror Copies the morphs from the highlighted bone to the target on the other side of the mirror gizmo. A qualified target bone must exist and be present in the list box. NOTE This copies the morph data only; the rotation of the target bone must be comparable to that of the source bone for the morphing to appear in the animation. Skin Morph Modifier | 1663 Show Mirror Plane Displays the mirror plane as a red, rectangular gizmo in the viewports. The target bone must be on the opposite side of the mirror plane from the highlighted bone, and must be present in the Parameters rollout ➤ list box. Preview Bone Highlights the target bone in red in the viewports. Preview Vertices Displays the morphing-qualified vertices in red in the viewports, as well as any animation present in the source vertices. Mirror Plane The axis for the mirror plane. The plane is perpendicular to the indicated axis. Default=X. Mirror Offset The position for the mirror plane on the Mirror Plane axis. Default=0.0. Mirror Threshold The radius, in system units, within which Skin Morph looks for a qualifying target bone on the other side of the mirror plane. Default=1.0. Options rollout Beginner Mode When on, you must use the Create Morph button to create a morph and the Edit button to edit a morph. When off, you can create and edit morphs on the fly. In this mode, when you select and move vertices at the Points sub-object level, 3ds Max first determines whether a morph exists for the selected bone at 100%; if so, all edits will go 1664 | Chapter 9 Modifiers to that morph. Otherwise, 3ds Max creates a new morph automatically and applies the edits to that morph. Show Driver Bone Matrix Shows the matrix tripod of the current bone. Show Morph Bone Matrix Shows the tripod of the orientation of the active morph. Show Current Angle Shows pie wedges depicting the angles between the driver bone matrix and the morph bone matrix. These are color coded: red for the angle about the X axis; blue for the angle about the Y axis; and green for the angle about the Z axis. Show Edges Highlights the edges connected to morphable vertices in orange. This is useful when a tessellating modifier such as MeshSmooth is applied to the skinned mesh above the Skin Morph modifier, to see the actual mesh being affected by Skin Morph. Matrix Size The size of each tripod. Bone Size The size of the bone display. Skin Wrap Modifier Make a selection. ➤ Modifiers ➤ Skin Wrap Modify panel ➤ Modifier List ➤ Object-Space The Skin Wrap modifier allows one or more objects to deform another. While Skin Wrap is flexible enough to serve a variety of needs, it's primarily intended for animating a high-resolution object, such as a character mesh, with a low-resolution one. The low-resolution object doing the deforming is called a control object, and the high-resolution object it's affecting (that is, the one with the Skin Wrap modifier) is the base object. A base object can be any type of deformable object. Also, in this topic, control vertex refers to a vertex on the control object, and point refers to a vertex on the base object. With Skin Wrap, you can modify the structure and topology of the high-resolution object after setting up the animation. The animation remains intact because it is actually contained in the control object. In most cases, when using Skin Wrap, the control object is positioned near the modified base object, and then bound to the latter using the modifier's Skin Wrap Modifier | 1665 Add function. By default, moving a vertex in the control object affects nearby vertices in the base object. Additional options allow faces in the control object to affect the nearest points in the base object instead (Blend To Base Object). Conversely, points in the control object can affect faces in the base object (Face Deformation). Skin Wrap offers a great deal of control in that you can set a different strength value for each control vertex, as well as the shape of its volume of influence. You can also convert the Skin Wrap effect to a Skin modifier applied to the high-res model, suitable for use with game engines. And the ability to animate with multiple control objects lets a technical director assign animation of different parts of a complex character mesh to various artists. TIP If you use a control object to which non-uniform scaling has been applied, its vertices will have non-spherical volumes of influence, which can lead to unexpected results. In such a case, before adding the control object to the modifier, apply Reset XForm on page 849 and then collapse the stack. See also: ■ Skin Wrap Patch Modifier on page 1675 Procedures To use Skin Wrap (basic method): 1 Create a high-resolution base object and one or more low-resolution control objects, which will deform the base object. In general, each control object should have an overall shape similar to the part of the base object that it will deform, and be positioned near that part of the base object. 2 Apply Skin Wrap to the high-resolution base object. The modifier transfers animation or modeling from the control object to the base object. 3 On the Skin Wrap ➤ Parameters rollout, use Add to assign the control object(s). 4 Choose a deformation engine: Vertex or Face. 5 Set global parameters as desired. These parameters affect all control vertices, and include Deformation Engine, Falloff, Distance Influence, and Face Limit. 6 To set local parameters, including strength and influence distances, access the Control Vertices sub-object level of the Skin Wrap. Select one or more control vertices, and then change the settings as necessary. 1666 | Chapter 9 Modifiers 7 Edit or animate the control object with modifiers and/or sub-object transforms; the high-resolution (base) object deforms accordingly. 8 Repeat steps 5, 6, and 7 as necessary. Occasionally you might need to reset the modifier as well, by clicking the Reset button. Before doing so, always return to a non-deformed point (or “skin pose”) in the animation; typically, frame 0. Interface Skin Wrap modifier stack Control Vertices sub-object level At the Control Vertices sub-object level, you can view and select vertices on the control object(s), and set local parameters on page 1670 for any selected vertices. By default, each selected vertex is surrounded by loops on page 1673 that depict its volume of influence. This sub-object level also uses color coding on affected points in the base object to show each selected vertex's relative effect on points within the volume of influence. Colors range from orange for the strongest influence to blue for the weakest influence. Red is for vertices that are within its range of influence but that it's not influencing. By default, at this level, control vertices appear as small orange squares. To prevent this, turn off Display Parameters rollout ➤ Display Control Vertices. Skin Wrap Modifier | 1667 Parameters rollout [control object list] Lists object(s) that deform the modified object. Use the Add and Remove functions to edit the list contents. 1668 | Chapter 9 Modifiers Add Adds control objects to the list. Click Add, and then click each control object in turn. To stop adding, right-click in the viewport or click Add again. You can use as a control object anything that can be converted to a triangle mesh, such as a mesh, patch, or a NURBS object. However, avoid using objects that change topology, such as a deforming NURBS object with adaptive tessellation. Remove Removes control objects from the list. Click an object in the list, and then click Remove. Deformation Engine Determines which engine drives the deformation. Default=Vertex Deformation. ■ The Vertex Deformation engine is a weighted engine; it uses vertex proximity to drive the deformation. That is, each vertex in the control object affects nearby points in the high-resolution (base) mesh. ■ With the Face Deformation engine, each control vertex is tied to the closest face in the base object. Face deformation can use falloff, or be a rigid deformation by setting Falloff to 0.001, the lowest possible value. Falloff Determines the extent to which the control vertices affect nearby points in the base object. This is a global setting. Default=1.0. Range=0.001 to 10.0. Higher values pull nearby points closer to the control vertex. In Face Deformation mode, setting Falloff to the lowest value, 0.001, causes rigid deformation so that there's no falloff; the control vertex either affects the base-object face or it doesn't. For best results, use Falloff values between 1.0 and 2.0, or with Face Deformation, 0.001 for rigid mode. Distance Infl(uence) Determines the distance of influence, in system units, of control vertices in the control object. This is a global setting, and is available only in Vertex Deformation mode. Default=1.2. Range=0.001 to 10.0. Distance Influence is a multiplier. It looks at the length of each edge that touches each control vertex. For each vertex, it averages all the lengths and then multiplies the average by the Distance Influence value. This lets vertices that are touching only small faces to affect a small area, and vice-versa. The higher the influence value, the smoother the deformation, but the less individual control each vertex has. For best results, keep this value between 1.0 and 2.0. Face Limit Determines the extent of influence, in control-object faces, of control vertices in the control object. This is a global setting, and is available only in Vertex Deformation mode. Default=3. Range=0 to 30.0. Skin Wrap Modifier | 1669 Beyond this limit, no base-object points can be influenced by the control vertex, even if they're within the Distance Influence radius. Face Limit is useful for preventing the control-object influence from bridging gaps in the mesh; for example, between fingers in a character mesh. Blend To Base Mesh Causes the modifier to base deformation on the distance from each affected point to the closest face in the control object. Turning on this option makes the Blend Distance setting available. Blend Distance Determines the relative distance between control-object faces and vertices in the base object for deformation to take effect. Available only when Blend To Base Mesh is on. Default=5.0. Increasing this setting effectively causes a stronger deformation effect and broadens the area on the control that affects the base object. [local parameters] The Local parameters are available only at the Control Vertices sub-object level (see Skin Wrap modifier stack on page 1667), and affect only selected points. If you select a single point, the numeric fields reflect its current parameter values. If you select multiple points, 3ds Max displays only those values common to all selected points; parameters with differing values are blank. With multiple points selected, changing a value sets all selected points to that value. Local Str(ength) Determines the power and direction by which the control-object vertex affect points under its influence in the base object. A positive value pulls the points toward the vertex; a negative value pushes them away. Default=1.0. Local Scale Mult(iplier) Scales each selected control-object vertex's volume of influence uniformly. Default=1.0. Use the scale settings to increase or decrease the area of the base object that the selected control vertex affects. Local X/Y/Z Scales each selected control-object vertex's volume of influence along the indicated axis. Default=1.0. Change these parameters to produce a non-spherical volume of influence. _____ Reset Resets all control-object vertices' local values to 1.0 and resamples the mesh. It recalculates the control vertices' influence on the base object using the current modifier settings. 1670 | Chapter 9 Modifiers Use Reset if you alter a parameter but don't see any change in the deformation. For example, always use Reset after changing the Threshold value. Or, if you want the control object to affect a different part of the base object, move the former, and then use Reset so the modifier accounts for the change in positional relationship between the two. You might also need to reset after changing the topology of the base object or a control object. IMPORTANT Use Reset at a point in the animation where no deformation is in effect; typically, frame 0. Threshold Determines the distance in system units that 3ds Max uses to find the closest face to a control vertex. The greater the distances by which the control object's and base object's surfaces deviate, the higher the Threshold value needs to be. Default=5.0. NOTE Threshold is recomputed only when you add a base mesh or click Reset. WARNING Be careful about increasing this setting. High values can result in excessive computation times, especially with complex base objects. Weight All Points Forces all base-object points to have weights. Each weight is calculated from a combination of three factors: control vertex scale, control vertex strength, and base-object point position. By default, not all base-object points are necessarily influenced by the control object. Turning on Weight All Vertices causes all points to be influenced by one or more control vertices. If a large number of base-object points are unassigned, this can take a long time to calculate. Convert To Skin Applies a new Skin modifier on page 1614 to the base object that replicates the animation in the Skin Wrap modifier. Using this function requires that a Skin modifier already be applied to each control object. Basically, Convert To Skin intelligently “bakes” the animation from skinned low-res control objects to the high-res base object. The Skin modifier that it creates contains all the bone assignments from the original Skin modifier, but with completely rebuilt weight settings based on the base-object weights created by the Skin Wrap modifier. This function is useful in game-development settings where the game engine recognizes the Skin modifier settings but not the Skin Wrap modifier. Skin Wrap Modifier | 1671 Advanced Parameters rollout The Mirror tools in Skin Wrap let you apply local settings (Strength and Scale) from control vertices on one side of a control object to the other, mirroring them across a plane aligned with the X, Y, or Z axis. This is useful for setting up character meshes. NOTE Mirror copies only Skin Wrap settings from control vertices; it doesn't copy animation data. Thus, when using Skin Wrap with a character model, first make local settings for control vertices on one side of the control object, select the vertices to copy, mirror them, and then animate the control object. The Bake/Retrieve Control Vertices functions let you store control-vertex settings into the base object and then retrieve them. This is useful for sharing data among artists working on the same project. Show Mirror Data Turns on display of the mirror plane gizmo as well as a small circle showing the projected location for each selected control vertex. Move the gizmo and the projected locations with the Mirror Offset control (see following). NOTE For mirror data to be visible, the Skin Wrap ➤ Control Vertices sub-object level must be active. Mirror Plane Choose the X, Y, or Z axis for mirroring. 1672 | Chapter 9 Modifiers Mirror Offset Moves the mirror plane as well as all mirrored vertices. Mirror Threshold Sets the distance, in system units, that Skin Wrap uses to find a control vertex near a projected vertex. Increase this if vertex locations are not the same on either side of the mirror plane. Mirror Selected Copies the local settings from each selected control vertex to any control vertices within the threshold distance of its projected location on the other side of the mirror plane. Bake Control Verts Stores the Local Strength/Scale and the global Falloff, Distance Infl., and Face Limit settings on the control objects for later retrieval with Retrieve Control Vertices. NOTE This data is static; any changes to the base-object topology invalidates it. Retrieve Control Verts Takes any control-vertex data stored on the control objects with Bake Control Vertices and copies them into the modifier. Display Parameters rollout These settings determine whether or not 3ds Max displays different elements in the Skin Wrap modifier. Display Loops Displays volumes of influence for selected control vertices as red loops. Default=on. Display Axis Displays the axis tripods for selected control vertices. Default=on. Display Face Limit Shows all base-object points that the selected control vertex or vertices can affect. This is a visualization of the Face Limit setting on page 1669. Default=on. Skin Wrap Modifier | 1673 Display Unassigned Points Draws a red circle around each base-object point that the system did not find a closest face for and draws a red box around each point that has a closest face but is not weighted by any control vertex. Default=off. Unassigned points: The circled points (bottom) have no closest face, while the points with red boxes (center) have a closest face but aren't weighted by control vertices. This is an important debugging tool because any vertex that is not assigned a closest face will never be weighted. To do so, you need to increase the Threshold value and click Reset, or turn on Weight All Points. Any points that are not weighted to a control vertex can be fixed by increasing the Local Scale of a control vertex near that point. Display Control Verts Toggles display of all control vertices. Default=on. 1674 | Chapter 9 Modifiers Skin Wrap Patch Modifier Make a selection. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Skin Wrap Patch Skin Wrap Patch is a simple modifier that allows a patch object to deform a mesh object. It's very easy to use: just assign the modifier to a mesh object, and then use the modifier to specify a deforming patch object. Each point on the patch object influences a surrounding volume of points on the mesh object. See also: ■ Skin Wrap Modifier on page 1665 Interface Pick Patch Click this button, labeled “None” by default, and then select a patch object to deform the mesh object. After picking the patch object, its name appears on the button. Sample Rate Determines the accuracy with which the modifier samples the patch object. The higher the rate, the more accurate the resulting animation will be, but the longer it will take to calculate. Resample Forces the system to resample the date. This should be done at a point in the animation at which no deformation takes place; typically, frame 0. Skin Wrap Patch Modifier | 1675 Slice Modifier Select an object. ➤ Modifiers ➤ Slice Modify panel ➤ Modifier List ➤ Object-Space Select an object. ➤ Modifiers menu ➤ Parametric Deformers ➤ Slice The Slice modifier lets you create a cutting plane that slices through a mesh, creating new vertices, edges and faces based on the location of the slice plane gizmo. The vertices can either refine or split the mesh according to the selected options. The Slice modifier slices through groups, selected objects or sub-object selections of faces. It works similarly to the Editable mesh ➤ Edge ➤ Slice function but does not require the objects to be editable meshes. Slice cuts through the cake. You can animate the cutting plane, changing its position and rotation over time. You can also use the Remove Top and Remove Bottom options to create the appearance and disappearance of objects by animating the Slice Plane gizmo. 1676 | Chapter 9 Modifiers Top: Original object Middle: Object without top Bottom: Object without bottom, respectively Multiple Slices To create multiple slices in an object you need to apply multiple Slice modifiers. If the geometry doesn't need to remain parametric, you can collapse it into an editable mesh and use the Slice tool available under Editable Mesh (Edge) Slice Modifier | 1677 on page 2207. This tool is easier to use when you need to make multiple slices in an object, but it does not stay parametric. Warning: Slice and Sub-Object Selections You can use Slice on sub-object selection sets by slicing or removing only the selected faces. However, because selected faces are sliced and unselected adjacent faces are not, there may be "holes" in the mesh on the edge where the slice occurs. These holes can be problematic, creating discontinuities in smoothing and rendering. Holes are created only when Operate On Faces is on. Procedures Example: To animate the appearance of a teapot using the Slice modifier: 1 Create a teapot on page 349 primitive. Set the viewport to wireframe. 2 Apply a Slice modifier. The Slice Plane gizmo appears at the base of the teapot. 3 On the modifier stack, highlight the Slice Plane gizmo. 4 Turn on 5 (Auto Key), and drag the time slider to frame 100. Move the Slice Plane gizmo above the top of the teapot. Play the animation to verify that the slice plane is animated. 6 Change the Slice type from Refine Mesh (the default) to Remove Top. Play the animation again. 7 Make a copy of the teapot in the same position (choose Edit menu ➤ Clone and click OK to accept the default settings). 8 Put a Wireframe material on the clone and change the Slice type on the clone to Remove Bottom. 9 Play the animation. The wireframe teapot magically becomes a fully shaded one. 1678 | Chapter 9 Modifiers Example: To slice vertically through an object: 1 Create a teapot on page 349 primitive. 2 Apply a Slice modifier. The Slice Plane gizmo appears at the base of the teapot. 3 On the modifier stack, expand the Slice modifier hierarchy and highlight the Slice Plane gizmo. 4 Move the Slice Plane gizmo so it intersects the middle of the teapot. 5 Rotate the Slice Plane gizmo so it is vertical. 6 Turn on Remove Top. The back of the teapot is sliced away. 7 Turn on Remove Bottom. The front half of the teapot is sliced away. Slice Modifier | 1679 Interface Modifier Stack Slice Plane At this sub-object level, you can transform and animate the gizmo like any other object to determine where the slice occurs. Scaling the gizmo has no effect, because its extents are effectively infinite. If you need to limit the extent of the slice, use it on a sub-object selection set of faces, rather than on the entire object. For more information on the stack display, see Modifier Stack on page 8776. Slice Parameters rollout Slice Type Defines how the slice plane will affect the geometry to which it has been applied. ■ Refine MeshAdds new vertices and edges along the intersection of the geometry with the slicing plane. Faces cut by the plane are subdivided into new faces. ■ Split MeshAdds a double set of vertices and edges along the plane boundary producing two separate meshes (one on either side of the slice plane), which you can modify differently if desired. Use this to break a mesh in two. ■ Remove TopDeletes all the faces and vertices above the Slice Plane. 1680 | Chapter 9 Modifiers ■ Remove BottomDeletes all the faces and vertices below the Slice Plane. Operate On Choose one of these buttons to specify how the slice handles quads and other polygons. ■ FacesTreats the selection set as a set of triangular faces, slicing each one in turn. Outputs a mesh-type object on page 2190. ■ PolygonsConverts the object to a polygon mesh based on visible edges, eliminating hidden edges. Outputs a polymesh-type object on page 2240. Operate On Face vs. Operate On Polygon Slice Modifier | 1681 Smooth Modifier Select an object. ➤ Modifiers ➤ Smooth Modify panel ➤ Modifier List ➤ Object-Space Select an object. ➤ Modifiers menu ➤ Mesh Editing ➤ Smooth The Smooth modifier provides auto-smoothing based on the angle of adjacent faces. You can apply new smoothing groups to objects. Smoothing eliminates the facets on geometry by grouping faces into smoothing groups. At render time, faces in the same smoothing group appear as a smooth surface. 1. No smoothing applied 1682 | Chapter 9 Modifiers 2. Smoothing threshold=15 3. Smoothing threshold=30 Patches As of 3ds Max 4, patch objects coming up the modifier stack are not converted to a mesh by this modifier. A patch object input to the Material modifier retains its patch definition. Files that contain patch objects with the Material modifier from previous versions of 3ds Max will be converted to meshes to maintain backward compatibility. Procedures To smooth an object: 1 Select the object to smooth. 2 On the Modifiers menu, choose Mesh Editing ➤ Smooth. 3 On the Modify panel ➤ Modifier List, choose Object-Space Modifiers ➤ Smooth. 4 Turn on Auto Smooth and adjust the Threshold for the desired smoothing effect. To apply smoothing groups manually: 1 Select an object. 2 Use a Mesh Select modifier on page 1445 to select the faces to be smoothed. 3 Click a numbered button to apply the corresponding smoothing group to the selected faces. Smooth Modifier | 1683 Interface Parameters rollout Auto Smooth If Auto Smooth is selected, the object is auto-smoothed using the (animatable) threshold specified by the Threshold setting below it. Auto Smooth sets the smoothing groups based on the angle between faces. Any two adjacent faces are put in the same smoothing group if the angle between their normals is less than the threshold angle. Prevent Indirect Smoothing Turn on to prevent smoothing 'leaks" when using Auto Smooth. If you apply Auto Smooth to an object, and portions of that object that should not be smoothed become smoothed, then turn on Prevent Indirect Smoothing to see if it corrects the problem. Threshold Specifies the threshold angle in degrees. Any two adjacent faces are put in the same smoothing group if the angle between their normals is less than the threshold angle. Smoothing Groups group The grid of 32 buttons shows which smoothing groups are used by the selected faces, and are used to assign smoothing groups manually to selected faces. 1684 | Chapter 9 Modifiers Spherify Modifier Select an object. ➤ Modifiers ➤ Spherify Modify panel ➤ Modifier List ➤ Object Space Select an object. ➤ Modifiers menu ➤ Parametric Deformers ➤ Spherify The Spherify modifier distorts an object into a spherical shape. This modifier has only one parameter: a Percent spinner that deforms the object, as much as possible, into a spherical shape. Spherify shapes the dog inside the snake. The success of the operation depends on the topology of the geometry to which it's applied. For example, a cylinder with no height segments will result in little change. Adding height segments will result in a barrel at 100 percent. Adding cap segments will produce a sphere. Try this on a teapot on page 349. Spherify Modifier | 1685 Procedures Example: To use the spherify modifier to distort a teapot: Click Create ➤ Geometry ➤ Standard Primitives ➤ Teapot. 1 2 Create a teapot in the viewports. 3 On the Modify panel, choose Spherify from the Modifier List. The teapot should now look like a sphere. 4 Adjust the Percent setting to less than 100%. Example: To animate spherifying a teapot: 1 Click Create ➤ Geometry ➤ Standard Primitives ➤ Teapot. 2 Create a teapot in the viewports. 3 On the 4 Turn on Modify panel ➤ Modifier List, choose Spherify. (Auto Key). 5 Set the Spherify Percent to 0. 6 Drag the time slider ahead to frame 30. 7 Set the Spherify Percent to 100. 8 Turn off (Auto Key). 9 Drag the time slider to play the animation, or click Animation). Interface 1686 | Chapter 9 Modifiers (Play Percent Sets the percentage of spherical distortion to apply to an object. Spline IK Control Modifier Select a spline or NURBS curve ➤ Spline IK Control Modify panel ➤ Modifier List ➤ When the Spline IK Control modifier is applied to a spline, you can select and transform its vertices without having to access the vertex sub-object level. It can also place helpers at each vertex location to aid in moving vertices. The Spline IK Control modifier works by placing knots (control points) at each vertex. The knots can then be used to control vertices, which in turn reshape the spline. This modifier also works on NURBS curves, placing a knot at each control point or control vertex (CV). Use the Spline IK Control modifier to prepare a spline or NURBS curve for use with the Spline IK Solver. See also: ■ Spline IK on page 3767 Spline IK Control Modifier | 1687 Interface Control Objects When helpers are created, knot numbers and their corresponding names appear here. Knot #1 is placed at the first vertex on page 9162 on the spline, and additional knots are numbered in sequence. Create Helpers Places a helper at each knot, and displays knot numbers and helper names in the Control Objects area. Helper display is based on selections in the Helper Display group. Helpers are linked upon creation if a linking option is selected in the Link Types group. Link Types group These options cause helpers to be linked upon creation. Link All in Hierarchy Links each helper to its immediately previous helper. For example, the helper at knot #3 is linked to the helper at knot #2, while the helper at knot #2 is linked to the helper at knot #1. 1688 | Chapter 9 Modifiers Link All to Root Links each helper to the helper at knot #1. No Linking Helpers are not linked. Helper Display When you click Create Helpers, 3ds Max can place one or more Point helper objects at each knot, making it easier to move and animate the knots. You can enable more than one type of helper. Center Marker Places a small X-shaped Point helper at each knot. Axis Tripod Places a small tripod-axis-shaped Point helper at each knot. Cross Places a small cross-shaped Point helper at each knot. Box Places a small box-shaped Point helper at each knot. Size Sets the size for helpers. Constant Screen Size Keeps the sizes of helpers constant regardless of the zoom extent of the viewports. Draw On Top Displays the helpers on top of all other objects in the scene for improved visibility in busy scenes. TIP To change the display of helpers after creation, select each helper and change selections on the Modify panel. Spline IK Control Modifier | 1689 Spline Select Modifier Select a shape. ➤ Modify panel ➤ Modifier List ➤ Object Space Modifiers ➤ Spline Select Select a shape. ➤ Modifiers menu ➤ Selection Modifiers ➤ Spline Select The Spline Select modifier passes a sub-object selection of shapes up the stack to subsequent modifiers. It provides much of the same set of selection functions available in the Edit Spline modifier on page 1368. You can select vertices, segments, or splines, and you can change the selection from sub-object level to object level. This modifier is similar to the Mesh Select on page 1445 and Poly Select modifiers on page 1529, except for the type of sub-object components. Procedures To use the Spline Select modifier: 1 Create a multi-spline shape. 2 Apply a Spline Select modifier. By default, the Vertex sub-object level is active. 3 If you wish to work at a different sub-object level, use the modifier stack display to choose it. 4 In the viewports, select vertices, segments, or splines. TIP You can transform the selection using an XForm modifier on page 1961 or Linked XForm modifier on page 1428. 1690 | Chapter 9 Modifiers Interface Modifier Stack The sub-object level you choose for the spline select modifier determines which rollout appears. (There are no parameters at the top, object level.) Vertex Creates a sub-object selection of vertices. Segment Creates a sub-object selection of segments. Spline Creates a sub-object selection of splines. For more information on the stack display, see Modifier Stack on page 8776. Select Vertex rollout Get Segment Selection, Get Spline Selection Select vertices based on the last Segment or Spline selection. This selection is added to the current selection. Available only when Vertex is not the current sub-object level. Spline Select Modifier | 1691 Select Segment rollout Get Vertex Selection, Get Spline Selection Select segments based on the last vertex or spline selection. The selection is added to the current selection. Available only when Segment is not the current sub-object level. Select Spline rollout Get Vertex Selection, Get Segment Selection Select splines based on the last vertex or segment selection. The selection is added to the current selection. Available only when Spline is not the current sub-object level. Copy/Paste Selection controls (all rollouts) Copy Places a named selection into the copy buffer. Paste Pastes a named selection from the copy buffer. You can copy a named selection from one object to another or one modifier to another. You must copy and paste in the same sub-object level. 1692 | Chapter 9 Modifiers Squeeze Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Squeeze Make a selection. ➤ Modifiers menu ➤ Parametric Deformers ➤ Squeeze The Squeeze modifier lets you apply a squeezing effect to objects, in which the vertices closest to the object's pivot point on page 9269 move inward. The squeeze is applied around the Squeeze gizmo's local Z axis. You can also use Squeeze to create a bulge on the vertical axis, to accentuate the squeeze effect. Left: Original object Middle and Right: Varying squeeze amounts Interface Modifier Stack Gizmo At this sub-object level, you can transform and animate the gizmo like any other object, altering the effect of the Squeeze modifier. Translating the gizmo translates its center an equal distance. Rotating and scaling the gizmo takes place with respect to its center. Center At this sub-object level, you can translate and animate the center, altering the Squeeze gizmo's shape, and thus the shape of the squeezed object. For more information on the stack display, see Modifier Stack on page 8776. Squeeze Modifier | 1693 Parameters rollout Axial Bulge group These controls let you apply a bulge effect along the Squeeze gizmo's local Z axis, which is aligned by default with the object's local Z axis. Amount Controls the magnitude of the bulging effect. Higher values effectively elongate the object and cause the ends to curve outward. Curve Sets the degree of curvature on the bulging ends. You can use this to control whether the bulge is smooth or pointy. Radial Squeeze group These controls let you apply a squeeze effect around the Squeeze gizmo's local Z axis, which is aligned by default with the object's local Z axis. Amount Controls the magnitude of the squeezing action. Values larger than zero tend to constrict the "waist" of the object, and values less than zero tend to bulge the waistline out, as if the object had been stepped on. 1694 | Chapter 9 Modifiers Curve Sets the degree of curvature into the squeeze. Low values cause a sharp squeezing effect, while high values create a gradual, less pronounced squeeze. Limits group These controls let you limit the squeeze effect's extents along the local Z axis. Limit Effect Limits the extent of the squeeze effect as defined by the Lower and Upper Limit settings. Lower Limit Sets the limit in the positive direction along the Z axis. Upper Limit Sets the limit in the negative direction along the Z axis. Effect Balance group Bias Changes the relative amounts of bulge and squeeze while retaining a constant object volume. Volume Increases or decreases the effects of both Squeeze and Bulge in parallel. STL Check Modifier Select an object. ➤ Modify panel ➤ Modifier List ➤ STL Check Select an object. ➤ Modifiers menu ➤ Mesh Editing ➤ STL check The STL Check modifier checks an object to see if it's correct for exporting to an STL (stereolithography) file format on page 8364. Stereolithography files are used by specialized machines to produce prototype physical models based on the data in the STL file. To create a physical model, an STL file must have a complete and closed surface. Using STL Check to test your geometry before you export it can save time and money when the file is used to create the physical model. STL Check Modifier | 1695 STL Check errors. 1. Open edges 2. Double face 3. Spikes 4. Multiple edges Procedures To check an object for STL compatibility: 1 Select the object, then on the List, choose Mesh Editing ➤ STL Check. Modify panel ➤ Modifier 2 Turn on Check. The message in the Status group shows if errors are found. STL Check indicates errors by selecting the problem geometry, assigning it a special material ID, or both. 1696 | Chapter 9 Modifiers Interface Errors group Choosing one of these options selects incorrect geometry specific to the choice, and selects it depending on the option chosen in the Selections group. STL Check Modifier | 1697 Open Edge Checks for open edges (holes). Double Faces Checks for faces that share the same 3D space. Spike Checks for spikes, which are isolated faces that share only one edge with the object. Multiple Edges Checks for faces that share more than one edge. Everything Checks for all of the above. TIP While checking Everything takes the longest amount of time, it is recommended if you plan to use the STL file for generating a physical model. Selections group These options specify the level of incorrect geometry that's selected, based on the settings in the Errors group. Don't Select When on, STL Check doesn't select any part of objects in error. Select Edges When on, STL Check marks the edges of faces in error by selecting them. The selection of erroneous edges is visible in viewports. Select Faces When on, STL Check marks the faces of any object in error by selecting them. The selection of erroneous faces is visible in viewports. Change Mat-ID When on (the default), STL Check also marks faces in error by assigning them a unique material ID. Use the spinner to choose the value of the material ID that STL Check uses. Check Turn on to perform the STL check. For complex models, expect a pause between the time you turn this on, and the time you see the reported errors in the Status group. Default=off. Status Displays the number of errors when Check is on. TIP If Select Edges is turned off, you can see faces in error by applying an Edit Mesh modifier on page 1263 and selecting by material ID at the Face sub-object level. You can also assign a Multi/Sub-Object material on page 6542 to the object to help you see where the errors are. 1698 | Chapter 9 Modifiers Stretch Modifier Select an object. ➤ Modifiers ➤ Stretch Modify panel ➤ Modifiers List ➤ Object Space Select an object. ➤ Modifiers menu ➤ Parametric Deformers ➤ Stretch The Stretch modifier simulates the traditional animation effect of "squash-and-stretch." Stretch applies a scale effect along a specified stretch axis and an opposite scale along the two remaining minor axes. The amount of opposite scaling on the minor axes varies, based on distance from the center of the scale effect. The maximum amount of scaling occurs at the center and falls off toward the ends. Applying a Stretch modifier to the object on the left creates the object on the right. Stretch Modifier | 1699 Procedures To stretch an object: 1 Select an object. 2 Apply Stretch. 3 On the Parameters rollout ➤ Stretch Axis group, choose X, Y, or Z. 4 On the Parameters rollout ➤ Stretch group, enter a value in the Stretch field. 5 Adjust the Parameters rollout ➤ Stretch group ➤ Amplify setting to change the amount of scaling along the minor axes. To limit a stretch: 1 Apply a Stretch modifier to an object and specify the stretch amounts and stretch axis. 2 On the Parameters rollout ➤ Limits group, turn on Limit Effect. 3 Set values for the Upper and Lower Limits to define the Stretch boundaries on either side of the Stretch center. 4 In the modifier stack, choose the Center sub-object level, and move the center to locate the limited stretch effect. Interface Modifier stack Gizmo At this sub-object level, you can transform and animate the gizmo like any other object, altering the effect of the Stretch modifier. Translating the gizmo translates its center an equal distance. Rotating and scaling the gizmo takes place with respect to its center. Center At this sub-object level, you can translate and animate the center, altering the Stretch gizmo's shape, and thus the shape of the stretched object. 1700 | Chapter 9 Modifiers Parameters rollout Use options in the Parameters rollout to set the following: ■ Amount of stretch ■ Major stretch axis ■ Area affected by the stretch Stretch group The Stretch group of the Parameters rollout has two fields that control the amount of stretch scaling applied. Stretch Sets the base scale factor for all three axes. The scale factor derived from the Stretch value varies according to the sign of the value. ■ Positive stretch values define a scale factor equal to Stretch+1. For example, a stretch value of 1.5 yields a scale factor of 1.5+1=2.5, or 250 percent. ■ Negative stretch values define a scale factor equal to -1/(Stretch-1). For example, a stretch value of -1.5 yields a scale factor of -1/(-1.5-1)=0.4, or 40 percent. Stretch Modifier | 1701 The calculated scale factor is applied to the selected stretch axis and the inverse scale is applied to the minor axes. Stretch values of 0.0, 0.5, and -0.5 Amplify Changes the scale factor applied to the minor axes. Amplify generates a multiplier using the same technique as stretch. The multiplier is then applied to the Stretch value before the scale factor for the minor axes is calculated. Amplify values affect scaling along the minor axes in the following way: ■ A value of 0 has no effect. It uses the default scale factor calculated from the Stretch amount. ■ Positive values exaggerate the effect. ■ Negative values reduce the effect. Stretched objects with Amplify values of 0.0, 1.0, and -1.0. 1702 | Chapter 9 Modifiers Stretch Axis group You select which of the object's local axes is the Stretch Axis using options in the Stretch Axis group of the Parameters rollout. ■ The scale factor calculated from the Stretch Amount is applied to the Stretch Axis. ■ The inverse scale factor is applied to the remaining minor axes. Effects of changing the Stretch axis Limits group You can apply the stretch effect to the entire object, or limit it to a portion of the object, using controls in the Limits group of the Parameters rollout. The limits restrict the stretch effect along the positive and negative Stretch Axis as measured from the modifier's center. Limit Effect Limits the stretch effect. When Limit Effect is turned off, values in the Upper and Lower Limit fields are ignored. Upper Limit Sets the boundary of the stretch effect along the positive Stretch Axis. The Upper Limit can be 0 or any positive number. Lower Limit Sets the boundary of the stretch effect along the negative Stretch Axis. The Lower Limit can be 0 or any negative number. Stretch Modifier | 1703 Limiting the effect of Stretch Click Sub-Object and move the modifier's center to change the location of the limited stretch areas. The Upper and Lower Limit boundaries move with the modifier center to maintain their specified distances. Effects of moving the Stretch center NOTE You can also limit the stretch effect by using an Edit or Select modifier, defining a sub-object selection, and then applying Stretch. If the modifier's Sub-Object button is active, only the selected sub-objects will be stretched. 1704 | Chapter 9 Modifiers Subdivide Modifier (Object Space) Select an object ➤ Modifiers ➤ Subdivide Modify panel ➤ Modifier List ➤ Object-Space Make a selection. ➤ Modifiers menu ➤ Radiosity Modifiers ➤ Subdivide The Subdivide modifier provides an algorithm for creating meshes used for radiosity on page 7068 processing. Processing radiosity requires meshes that have elements shaped as close as possible to equilateral triangles. The density of the mesh also needs to be considered in determining the resolution of the lighting details that need to be captured. The denser the mesh is, the finer the lighting detail and accuracy will be. The trade-off is a larger memory requirement and slower rendering times. The Subdivide modifier works on a whole object and does not work on selected faces in a mesh. Subdivide modifier breaks flat surfaces into meshes. Although it is primarily developed for increasing the quality of radiosity solutions, the Subdivide modifier can also be used by any application that Subdivide Modifier (Object Space) | 1705 requires well-formed meshes. For example, irregular mesh elements generated for Terrain on page 663 compound objects can be improved. The modifier has world space and object space variants. In the world space modifier the size limit is on the mesh after it is transformed into world space coordinates. The object space modifier limits the size in object space coordinates. NOTE Typically, the Subdivide modifier is applied automatically to objects in the scene when a radiosity solution is processed. Meshing parameters can be set on a global basis in the radiosity control panel on page 7087 or for individual objects in the Object Properties dialog on page 221. TIP When you are satisfied with the subdivision settings on one object, you can drag the modifier to other objects to propagate it. Interface Size Controls the size of triangles in the subdivided mesh. The length of the longest edge of any triangle will not exceed the square root of 2 times the size in the Subdivide modifier. The square root of 2 factor is used, so that a square whose edges are the size will not be subdivided. Update group The radio buttons in the Update group control when the meshing is done. 1706 | Chapter 9 Modifiers Automatic Updates immediately when changes are made to the controls or the mesh. Render Updates only for rendering. Manual Updates only when Update Now is pressed. Subdivision can be interrupted using the Esc key. If the subdivision is interrupted the Update mode is changed to Manual. Update Now Updates the mesh when Manual is turned on. Display Subdivision Controls whether all of the triangles are visible, or only the edges where face properties are changing. Allows you to reduce the visible triangles in the scene if it appears cluttered. Substitute Modifier Make a selection. ➤ Modifiers ➤ Substitute Modify panel ➤ Modifier List ➤ Object-Space Typically, designers use two-dimensional shapes to represent objects, such as furniture, in their AutoCAD designs. However, when they link their DWG files on page 9140 into 3ds Max for visualization, they want to see how the objects will look in their design. Top view of 2D symbols used to represent 3D objects Substitute Modifier | 1707 The Substitute modifier lets you quickly replace one or more objects with another in the viewports or at render time. The substitute object can be instanced from the current scene or can be referenced from an external file. The Substitute modifier replaces the 2D objects with their 3D counterparts. To get rid of the substitute object, simply remove the modifier from the stack. This frees up the memory required to store it. TIP When you file link to a DWG file, the file is imported to 3ds Max as groups of VIZBlocks on page 9344. If the pivot points of the VIZBlock and the substituted geometry do not match, you may not obtain the desired results. Adjust the pivot point of the VIZBlock object using the Adjust Geometry button to align the substituted geometry correctly. See also: ■ XRef Objects on page 7971 ■ XRef Scene on page 7999 1708 | Chapter 9 Modifiers Procedures To use an object from the current scene as a substitute: 1 Select an object, and then apply the Substitute modifier. 2 Click Pick Scene Object, and then in the viewport, click an object to substitute for the selection. Alternatively, click the ... button to the right of Pick Scene Object and use the dialog to select an object. The original object is replaced by an instance of the substitute object. 3 To see the original object in the viewport, turn off In Viewport. To see the original object in the final rendering, turn off In Render. To permanently disable the substitution, delete the modifier. To use an externally referenced object as a substitute: 1 Select an object, and then apply the Substitute modifier. 2 Click Select XRef Object. 3 Use the Open File dialog to designate the file that contains the substitute object you want to use. 4 Use the XRef Merge dialog on page 7993 to designate the object to use as a substitute. The original object is replaced by an instance of the substitute object. To see the original object in the viewport, turn off Display group ➤ In Viewport. To see the original object in the final rendering, turn off Display group ➤ In Render. To permanently disable the substitution, delete the modifier. Interface Modifier Stack Substitute Object At this sub-object level, you can transform the substitute object without affecting the original, changing the offset distance between them. Otherwise, transforming the substitute object affects both equally. Substitute Modifier | 1709 Parameters rollout Display group In Viewport Replaces the original object with the substitute in the viewports. In Render Replaces the original object with the substitute when you render the scene. _____ Object This editable text field displays the name of the substitute object and lets you rename it. NOTE The name, if changed, appears only on the Modify panel at the current stack level. That is, the name is local to the current application of the Substitute modifier. Type (label) Displays the type of object used as a substitute. If you use a scene object, the type is shown as Instance. If you use an XRef object, the type is shown as XRef Object. Appears only after you designate a substitute object. 1710 | Chapter 9 Modifiers Substitute Assignment group Pick Scene Object Lets you choose an object from the current scene to be instanced as a substitute for the selected object. Click Pick Scene Object, and then select the object from a viewport to use as a substitute. If In Viewport is on and Retain Current Position is off (the default settings), an instance on page 9195 of the substitute object appears in the place of the original object. The mouse cursor changes to a plus sign (+) when over an object that can be used as a substitute. You cannot use an object to which the Substitute modifier is applied as a substitute object. Use the button labeled "..." to the right of Pick Scene Object to choose a substitute object using the Select Substitute Object dialog, which works like the Select From Scene dialog on page 184. In the dialog's list window, highlight the object to use as a substitute, and then click Select. Select XRef Object Lets you specify an object to be instanced from an external scene file as the substitute. Click Select XRef Object, and then, in the Open File dialog, open the file containing the substitute object. On the XRef Merge dialog on page 7993, select the substitute object and then click OK. Objects to which the Substitute modifier is applied don't appear in the list. NOTE Because the object used as a substitute is referenced from an external file, any changes to the object in that file apply to the substitute after reloading. For example, if you apply a Bend modifier to the substitute object in the external file, then the next time you load the file containing the object with the Substitute modifier, it appears bent. Retain Local Rotation/Scale When on, rotates or scales the new object instance in the same place as the substitute object you select. In this case, the two objects coincide in space, and you must move one to see both. When off, 3ds Max positions the instanced substitute object in the same place as the object containing the Substitute modifier. You must specify the Retain Local Rotation/Scale setting before designating the substitute object. Changing this setting afterward has no effect. Surface Modifier Select a spline object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Surface Select a spline object. ➤ Modifiers menu ➤ Patch/Spline Editing ➤ Surface Surface Modifier | 1711 Procedures on page 1718 Interface on page 1722 The Surface modifier generates a patch surface based on the contours of a spline network. A patch is created wherever the segments of the interwoven splines form a three- or four-sided polygon. The Surface modifier and the CrossSection modifier, taken together, are referred to as Surface Tools. They allow you to create complex or organic surfaces, like the fuselage of a plane, or a three-dimensional character. Applying the Surface modifier to create a patch surface. The CrossSection modifier on page 1240 can be applied before the Surface modifier to connect splines representing cross-sections. Once the basic spline network is created and the Surface modifier is applied, the model can be adjusted by editing the splines using an Edit Spline modifier below the Surface modifier in the modifier stack. Since the Surface modifier creates a Patch surface, further refinements can be made to the patch model by adding an Edit Patch modifier above the Surface modifier. The bulk of the work in using Surface tools to model lies in creating and editing splines in an Editable Spline or Edit Spline modifier. One of the benefits to modeling using splines and Surface Tools is the ease of editing the model. At almost any stage of modeling, you can add a nostril, ear, limb or body by 1712 | Chapter 9 Modifiers simply adding splines. This lends itself to a free-form approach to organic modeling: you have a mental image of what you want, then you create and edit the spline network until you are satisfied. NOTE 3ds Max offers a simplified workflow for this modeling technique, using Edit/Editable Spline and the Edit Patch modifier. For details, see To create a patch object using the Cross Section and Spline Surface tools: on page 1272. Surface Modifier Basics 1 Create a spline object. 2 Make sure that the Spline vertices form valid three-sided or four-sided, closed regions. Vertices on splines that cross one another should be coincident. To make spline vertices coincident, drag vertices over each other with 3D Snap turned on. 3D Snap must have the Vertex or End Point option turned on. With 3D Snap turned on, you can snap to vertices on existing splines as you create new splines. You can also select vertices and use the Fuse option in an Editable Spline to make vertices co-incident. 3 Use the CrossSection modifier to connect spline cross-sections, unless you plan on manually creating the splines that connect the model's cross-sections. 4 Apply the Surface modifier, then adjust the weld threshold to generate a patch object. Ideally all spline vertices that will form a patch surface are coincident; the Threshold parameter allows patch creation even if vertices are not quite coincident. 5 Optionally, add an Edit Patch modifier to edit the patch surface. TIP Make a reference copy of the spline object, then add the Surface modifier to the copy and edit the original. As you edit the original spline object, patches appear on the reference copy as splines form three-or four-sided shapes. This allows you to view a shaded surface as you model. You can take this a step further and add a Mirror modifier to the reference copy. As you create splines for one side of a head or body, the reference copy displays an entire model. Surface Modifier | 1713 Modeling with Surface Tools There are two primary methods of using the Surface modifier to create patch models. ■ Create splines that represent a model's cross sections, add the CrossSection modifier to connect the cross sections, and apply the Surface modifier to create the patch surface. This approach works for models like the body of an airplane. Alternatively, use the editable spline Cross Section function on page 567 to connect the cross sections, and then use the editable patch Spline Surface tools on page 1273 to create the surface. ■ Create a network of splines manually, and then apply the Surface modifier or editable patch Spline Surface tools to create the patch surface. This approach works for modeling a face or body of a character. Modeling Examples 1714 | Chapter 9 Modifiers Scooter: Splines form cross sections of the body One method of using Surface Tools is to create splines that represent a model's cross sections, then the CrossSection and Surface modifiers are applied to create the patch surface. Surface Modifier | 1715 Face: Spline network based on front and profile reference images Two intersecting texture-mapped polygons are used as a reference to create a network of splines manually. Drawing lines on the physical sculpture is used as an added visual aid to position the splines in this case. The CrossSection modifier is not necessary if you create the spline network manually. As the spline network is edited, the patch surface of the reference copy is updated dynamically. This allows you to view a shaded patch model as you manipulate the spline network, any surface anomalies can be spotted and corrected. 1716 | Chapter 9 Modifiers Sequence of images showing the spline network, the patches created by the Surface modifier, and a shaded view of an alien character. Additional Details ■ Splines are initially created using the tools in Create panel ➤ Shapes ➤ Splines ➤ Object Type rollout, such as Line on page 518, Circle on page 524, Arc on page 526, and Section on page 541. Splines can also be created using the Create Line command in an Editable Spline or and Edit Spline modifier. Surface Modifier | 1717 ■ Splines are edited by applying an Edit Spline modifier to the selected spline object or editing parameters in an Editable Spline. Editing splines changes the patch surface created by the Surface modifier. ■ To add splines to a spline object, use the Attach command in the Edit Spline modifier. ■ Within a spline object, splines need not be continuous. A spline object may consist of ten splines, for example. As long as the spline vertices are coincident, or close enough for the Threshold parameter in the Surface modifier to weld them together, a surface will be generated. Procedures Example: Understanding valid splines: 1 In the Top viewport, use Create panel ➤ (Shapes) ➤ NGon to create three NGons: a three-sided, four-sided, and five-sided NGon, each about 100 units wide. 2 Make sure that all the splines form one object. Do this by applying an Edit Spline modifier to one of the NGons and using Attach to add the remaining NGon objects. 1718 | Chapter 9 Modifiers 3 Choose Modifiers menu ➤ Patch/Spline Editing ➤ Surface from the Modifier List. Notice that the three- and four-sided splines formed patches but the five-sided NGon did not. The five-sided spline does not form a three- or four-sided closed region. To make it a valid spline, a line must bisect the NGon to form a three- and four-sided region. 4 In the modifier stack, highlight the Edit Spline modifier again. On the Geometry rollout, turn on Create Line, then create a line that bisects the five-sided NGon. The start and end points of the line should overlap the vertices on the NGon. Being exact is not critical; the Threshold parameter fuses spline vertices based on their proximity. Surface Modifier | 1719 5 In the modifier stack, highlight the Surface modifier again. Now the five-sided NGon is a patch object, consisting of a quad patch and a tri patch. NOTE If the spline object did not turn into a patch, increase the Surface modifier's Threshold parameter until the patches appear. Example continued: Adjusting the shape of the spline: 1 In the modifier stack, expand the Edit Spline modifier's hierarchy, and higlight the Vertex sub-object level. 2 In the Top viewport, NGon.3ds Max displays select the top vertex of the five-sided two vector handles. You can move these handles on any axis. 3 On the main toolbar, turn on (Select and Move), then drag the handles around in the Top viewport. The shape of the spline changes. 1720 | Chapter 9 Modifiers 4 Below the modifier stack display, turn on Toggle). (Show End Result On/Off The patch changes shape to fit the spline. Surface Modifier | 1721 Interface Spline Options group Threshold Determines the overall distance that is used to weld the vertices of the spline object. All vertices/vectors within the threshold of each other are treated as one. Threshold uses units set in the Units Setup dialog on page 8955. NOTE Spline control handles are also treated as vertices, so setting high Threshold levels can produce unexpected results. Flip Normals Flips the normal direction of the patch surface. Remove Interior Patches Removes interior faces of an object that you would not normally see. These are the faces created within the caps or other interior patches of the same type of a closed polygon. Use only selected segs Only segments selected in the Edit Spline modifier will be used by the Surface modifier to create patches. NOTE Segment Sub-Object does not have to be left on in the Edit Spline modifier. 1722 | Chapter 9 Modifiers Patch Topology group Steps The steps field spinner determines how many steps are used between each vertex. The higher the step count, the smoother the curve you will get between vertices. SurfDeform Modifier (Object Space) Select an object. ➤ Modifiers ➤ SurfDeform Modify panel ➤ Modifiers List ➤ Object Space Select an object. ➤ Modifiers ➤ SurfDeform Modify panel ➤ Modifiers List ➤ World Space Select an object. ➤ Modifiers menu ➤ Animation Modifiers ➤ SurfDeform Select an object. ➤ Modifiers menu ➤ Animation Modifiers ➤ SurfDeform (WSM) The SurfDeform modifier works the same way as the PatchDeform modifier on page 1514, except that it uses a NURBS Point or CV surface instead of a patch surface to apply surface deformation. SurfDeform Modifier (Object Space) | 1723 SurfDeform shapes how the snake rests. Procedures To use the SurfDeform modifier: 1 Select an object. 2 From the Modify panel ➤ Modifier List, choose Object Space Modifiers ➤ SurfDeform. 3 On the Parameters rollout, click Pick Surface. 4 Select a NURBS Point or CV surface. 5 Deform the object by adjusting the controls in the Surface Deform group. 1724 | Chapter 9 Modifiers Interface See PatchDeform modifier on page 1514 for a description of the user interface. Sweep Modifier Modify panel ➤ Select a 2D shape. ➤ Modifier List ➤ Sweep Select a 2D shape. ➤ Modifiers menu ➤ Patch/Spline Editing ➤ Sweep The Sweep modifier is used to extrude a cross-section along an underlying spline or NURBS curve path. It is similar to the Loft compound object but is a more efficient method. The Sweep modifier allows you to work with a series of pre-made cross-sections such as angles, channels and wide flanges. You can also use your own splines or NURBS curves as custom sections that you create in 3ds Max or import from other MAX files. NOTE This modifier is similar to the Extrude modifier in that once the Sweep is applied to a spline, the end result is a 3D mesh object. Both sections and paths can contain multiple splines or multiple NURBS curves. This modifier is very useful for creating structural steel details, molding details, or in any situation where you need to extrude a section along a spline. Sweep Modifier | 1725 Examples of extrusions created with the Sweep modifier Procedures To apply the Sweep modifier to a line: 1 In the Perspective viewport, create a line. 2 Apply the Sweep modifier to the line. The line takes on the shape of an angled extrusion. 3 Open the Built-In Section list and choose a different section. The line now has the new section swept along its length. To use a custom section with the Sweep modifier: 1 Create a line and a six sided NGon in the perspective viewport. 2 Apply the Sweep modifier to the line. 1726 | Chapter 9 Modifiers The line takes on the shape of an angled extrusion. 3 Click the Use Custom Section radio button. The line displays as a line again. 4 Click the Pick button in the Custom Section Types group and choose the NGon in the viewport. The hexagonal shape is swept along the line's length. NOTE If you find that you need to rescale the Custom Section shape, the effects of using a transform like Select and Squash or Non-Uniform Scale will not be reflected when swept. You need to apply an XForm modifier on page 1961 to the section and then rescale the XForm modifier's gizmo. Interface Section Type rollout Sweep Modifier | 1727 Use Built-In Section Choose this to use one of the included stock sections. Built-In Section group Built-In Section list Clicking the arrow button for this list displays common structural sections. ■ Angle sectionSweeps a structural angle section along the spline. Default section=Angle. Bar sectionSweeps a 2D rectangular section along the ■ spline. Channel sectionSweeps a structural channel section ■ along the spline. Cylinder sectionSweeps a solid 2D circle section along ■ the spline. ■ Half Round sectionThis section produces a half round extrusion along the spline. Pipe sectionSweeps a circular hollow tube section ■ along the spline. ■ Quarter Round sectionUseful for molding details; this section produces a quarter round extrusion along the spline. Tee sectionSweeps a structural tee section along the ■ spline. 1728 | Chapter 9 Modifiers ■ Tube sectionBased on a square, this sweeps a hollow tube section along the spline. Similar to the Pipe section. ■ Wide Flange sectionSweeps a structural wide flange section along the spline. Use Custom Section Choose this if you've created your own section or there is another shape in the current scene or in another MAX file that you'd like to use as your section. NOTE Using a 2D shape as the Sweep modifier’s custom section will yield the most predictable results. If using a 3D shape as the custom section, for the most predictable results the base object should be a straight line or smooth path like a circle or an arc. The same applies to custom sections made up of multiple splines. You'll get the best results attained by insuring that all vertices in all the shapes are coplanar. Custom Section Types group Section Displays the name of the custom shape you've selected. This area is blank until you select a custom shape. NOTE You can switch from a custom section to a built-in section and back without having to pick the custom-section shape again from the viewports. Pick If the custom shape you want to use is visible in the viewport, click the Pick button and then pick the shape directly from the scene. Pick Shape Click the Pick Shape button to open the Pick Shape dialog on page 1745. This dialog shows only valid shapes that are currently in the scene. Extract Lets you create a new shape in the scene that is either a copy, instance, or reference of the current custom section. Opens the Extract Shape dialog on page 1747. Merge From File Lets you choose a section that is stored in another MAX file. Opens the Merge File dialog on page 1749. NOTE When you use the Merge from File option, you will not be able to Undo your work. Move Sweeps the custom section along the specified spline. Unlike the Instance, Copy and Reference switches, the selected section is moved to the Sweep Modifier | 1729 spline. Editing the original shape in the viewports has no effect on the Sweep mesh. Copy Sweeps a copy of the selected section along the specified spline. Instance Sweeps an instance on page 9195 of the selected section to the specified spline. Reference Sweeps a reference on page 9282 of the selected section along the specified spline. NOTE When using Instance or Reference, adding modifiers to or editing the original section in the viewports will change the Sweep mesh. Interpolation rollout (Sweep modifier) The controls in the Interpolation rollout of the Sweep modifier work exactly as they do for any other spline. However, the controls affect only the built-in section you've chosen, not the spline that the section is swept along. NOTE If you want to change the interpolation settings of the underlying spline path, you need to select the path object in the modifier stack. In general, all spline curves are divided into small straight lines that approximate a true curve. The number of divisions between each vertex on the spline are called steps. The more steps used, the smoother the curve appears. NOTE The Interpolation rollout is only active when built-in sections are used. 1730 | Chapter 9 Modifiers Left: The quarter-round section is set to zero steps. Right: The same section on the right is set to four steps. Steps Sets the number of divisions, or steps, 3ds Max uses between each built-in section's vertices. Splines with tight curves require many steps to look smooth while gentle curves require fewer steps. Range=0 to 100. Spline steps can be either adaptive or manually specified. The method used is set by the state of the Adaptive switch. The main use for manual interpolation is to create splines for morphing or other operations where you must have exact control over the number of vertices created. Optimize When on, removes unneeded steps from straight segments in the spline. Default=on. NOTE Optimize is not available when Adaptive is on. Left: Optimize is on for the left-hand sweep. Right: Optimize is off for the right-hand sweep. Sweep Modifier | 1731 Adaptive When on, automatically sets the number of steps for each spline to produce a smooth curve. Straight segments always receive 0 steps. When off, enables manual interpolation control using Optimize and Steps. Default=off. Parameters rollout The Parameters rollout is context-sensitive and displays different settings depending upon the built-in section you've chosen to sweep along a spline. For example, more complex sections such as the Angle have seven settings that you can change whereas the Quarter-Round has only one setting. Parameters rollout: Angle Length Controls the height of the vertical leg of the angle section. Default=6.0. Width Controls the width of the horizontal leg of the angle section. Default=4.0. Thickness Controls the thickness of both legs of the angle. Default=0.5. Sync Corner Fillets When turned on, Corner Radius 1 controls the radius of both the interior and exterior corners between the vertical and horizontal legs. It also maintains the thickness of the section. Default=off. Corner Radius 1 Controls the exterior radius between the vertical and horizontal legs of the angle section. Default=0.0. Corner Radius 2 Controls the interior radius between the vertical and horizontal legs of the angle section. Default=0.5. Edge Radii Controls the interior radius at the outermost edges of the vertical and horizontal legs. Default=0.0. 1732 | Chapter 9 Modifiers NOTE Be cautious when adjusting these settings. There are no constraining relationships between them. Therefore, it's possible to set an inside radius (Corner Radius 2) that is greater than the length or width of the legs of the angle. Parameters rollout: Bar Length Controls the height of the bar section. Default=6.0. Width Controls the width of the bar section. Default=6.0. Corner Radius Controls the radius of all four corners of the section. Default=0.0. Parameters rollout: Channel Length Controls the height of the vertical web of the channel section. Default=12.0. Width Controls the width of the top and bottom horizontal legs of the channel section. Default=4.0. Sweep Modifier | 1733 Thickness Controls the thickness of both legs of the channel. Default=0.5. Sync Corner Fillets When on, Corner Radius 1 controls the radius of both the interior and exterior corners between the vertical web and horizontal legs. It also maintains the thickness of the section. Default=off. Corner Radius 1 Controls the exterior radius between the vertical web and horizontal legs of the channel. Default=0.0. Corner Radius 2 Controls the interior radius between the vertical web and horizontal legs of the channel. Default=0.5. NOTE Be cautious when adjusting these settings. There are no constraining relationships between them. Therefore, it's possible to set an inside radius (Corner Radius 2) that is greater than the length of the web or width of the legs. Parameters rollout: Cylinder Radius Controls the radius of the cylinder section. Default=3.0. Parameters rollout: Half-Round Radius Controls the radius of the half round section. Default=3.0. Parameters rollout: Pipe Radius Controls the exterior radius of the pipe section. Default=3.0. 1734 | Chapter 9 Modifiers Thickness Controls the thickness of the wall of the pipe. Default=0.5. Parameters rollout: Quarter-Round Radius Controls the radius of the quarter round section. Default=3.0. Parameters rollout: Tee Length Controls the height of the vertical web of the tee section. Default=12.0. Width Controls the width of the flange crossing the tee section. Default=6.0. Thickness Controls the thickness of the web and flange. Default=0.5. Corner Radius Controls the radius of the two interior corners between the vertical web and horizontal flange of the section. Default=0.5. NOTE Be cautious when adjusting these settings. There are no constraining relationships between them. Therefore, it's possible to set a radius (Corner Radius) that is greater than the length of the web or width of the flange. Sweep Modifier | 1735 Parameters rollout: Tube Length Controls the height of the tube section. Default=6.0. Width Controls the width of the tube section. Default=6.0. Thickness Controls the thickness of the walls of the tube. Default=0.5. Sync Corner Fillets When turned on, Corner Radius 1 controls the radius of both the interior and exterior corners of the tube. It also maintains the thickness of the section. Default=on. Corner Radius 1 Controls the radius of all four interior and exterior corners of the section. Default=0.8. If Sync Corner Fillets is turned off, Corner Radius 1 controls the radius of the four exterior corners of the tube. Corner Radius 2 Controls the radius of the four interior corners of the tube. Default=0.0. Corner Radius 2 is only available when Sync Corner Fillets is turned off. NOTE Take care when adjusting these settings. There are no constraining relationships between them. Therefore, it's possible to set an inside radius (Corner Radius 2) that is greater than the length and width of the sides. 1736 | Chapter 9 Modifiers Parameters rollout: Wide Flange Length Controls the height of the vertical web of the wide flange section. Default=14.0. Width Controls the width of the horizontal flanges crossing the section. Default=8.0. Thickness Controls the thickness of the web and flanges. Default=0.5. Corner Radius Controls the radius of the four interior corners between the vertical web and horizontal flanges. Default=0.5. NOTE Be cautious when adjusting these settings. There are no constraining relationships between them. Therefore, it's possible to set a radius (Corner Radius) that is greater than the length of the web or width of the flanges. Sweep Modifier | 1737 Sweep Parameters rollout Mirror On XZ Plane When turned on, the section is flipped vertically in relation to the spline to which the Sweep modifier is applied. Default=off. 1738 | Chapter 9 Modifiers Left: The object shows the default state. Right: The object has Mirror On XZ Plane turned on. Mirror On XY Plane When turned on, the section is flipped horizontally in relation to the spline to which the Sweep modifier is applied. Default=off. Left: The object shows the default state. Right: The object has Mirror On XY Plane turned on. X Offset Lets you shift the horizontal position of the section relative to the underlying spline. Sweep Modifier | 1739 Left: The section is in the default position. Right: The section is offset –10 relative to the underlying spline path (red). Y Offset Lets you shift the vertical position of the section relative to the underlying spline. Left: The section is in the default position. Right: The section is offset –10 relative to the underlying spline path (red). NOTE The X and Y Offsets let you fine tune the section position while the Pivot Alignment settings allow for a quick initial adjustment. Angle Allows you to rotate the section relative to the plane on which the underlying spline is located. 1740 | Chapter 9 Modifiers Left: The section is in the default position. Right: The section is rotated 30 degrees. Smooth Section Provides a smooth surface around the perimeter of the section that is swept along the underlying spline. Default=on. Smooth Path Provides a smooth surface along the length of the underlying spline. This type of smoothing is useful when for curved paths. Default=off. Sweep Modifier | 1741 Left: Smoothing the path Right: Smoothing the section Rear: Smoothing both path and section Pivot Alignment This is 2D grid that helps you align the section to the underlying spline path. Selecting one of the nine buttons shifts the section's pivot around the spline path. NOTE When none of the Pivot Alignment buttons is depressed the pivot point of the section is used as the alignment point. Align Pivot When turned on, a 3D representation of the Pivot Alignment grid appears in the viewport. You only see the 3x3 alignment grid, the section and the underlying spline path. Once you're satisfied with the alignment, turn off the Align Pivot button or right-click to see the sweep. 1742 | Chapter 9 Modifiers Align Pivot grid showing control points (in orange) superimposed over a duplicate sweep. Banking When on, sections rotate about the spline path whenever the path bends and changes height in the path's local Z axis. Banking is ignored if the spline path is 2D. When off, shapes do not rotate about their Z axis as they traverse a 3D path. Default=on. Union Intersections If working with multiple intersecting splines, like a grid, turn this switch on to produce cleaner intersections with fewer artifacts. NOTE Union Intersections takes additional time to compute the intersections, so leave this switch off if you don't have intersecting splines. Furthermore, this setting will only calculate intersections of separate splines contained in one shape object. So a figure X (separate, intersecting splines) will be properly intersected, but a figure 8 (a single, self-intersecting spline) will not. Gen. Mapping Coords Applies mapping coordinates to the extruded object. Default=off. Sweep Modifier | 1743 Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=on. Generate Mapping IDs Assigns different material IDs to the sides and the caps of the sweep. Specifically, if both Use Section IDs and Use Path IDs are both turned off the sides receive ID 3, the front cap receives ID 1, and the rear cap receives ID 2. Default=on. Use Section IDs Uses the material ID values assigned to segments of the section that is swept along the underlying spline on page 511 or NURBS on page 2433 curve. Default=on. By applying an Edit Spline modifier on page 1368 to a Custom Section, different material IDs can be assigned to each segment that makes up the section. NOTE Built-in sections do not benefit from the Use Section IDs switch. Use Path IDs Uses the material ID values assigned to segments of the underlying spline or curve sub-objects in the underlying curve. By applying an Edit Spline modifier to the underlying spline, each segment can be assigned its own material ID. NOTE Use Section IDs and Use Path IDs does not control the material IDs of the front and rear caps of the sweep. Left: Materials set by path IDs 1744 | Chapter 9 Modifiers Right: Materials set by section IDs Rear: Section and Path IDs turned off Pick Shape Dialog (Sweep Modifier) Select a shape that already has a Sweep modifier applied. ➤ Modify Panel ➤ Section Type rollout ➤ Turn on Use Custom Section ➤ Click Pick Shape. The Pick Shape dialog is displayed when you select a custom shape in the scene. This shape can be any of the splines, extended splines or NURBS curves. Procedures To pick a custom section using the Pick Shape dialog: 1 In a viewport, path of the sweep. select a shape you want to use as the underlying 2 From the Modifiers menu, open the Patch/Spline Editing menu and choose Sweep. 3 On the Types rollout. 4 Click Modify panel, turn on Use Custom Section in the Section (Pick Shape).3ds Max opens the Pick Shape dialog. 5 Select a shape in the list, then click the Pick button. Sweep Modifier | 1745 Interface If the scene contains multiple shapes, you can choose only one shape to be swept along the underlying spline in your scene. All/None/Invert These buttons are unavailable in the Pick Shape dialog. Display Subtree Displays the shapes in the list in an indented format. Turn this switch off to activate the Sort group options. Select Subtree Unavailable in the Pick Shape dialog. Case Sensitive When on, distinguishes between upper case and lower case for item names. 1746 | Chapter 9 Modifiers Sort group Options allow you to sort the list on the left. When Display Subtree is on, these options are not available. Alphabetical Sorts from A at the top to Z at the bottom. By Type While this switch is available, it has no effect because only shapes are listed in the Pick Shape dialog. By Color Sorts by object wireframe color. The sorting order is arbitrary; shapes of the same color are grouped together. By Size This switch is available but has no effect on sorting. List Types group Because this dialog is specifically designed to work with the Sweep modifier, the List Type group is locked to only display Shapes. Shapes is the only switch in this group that affects what is displayed. All/None/Invert These buttons alter the pattern of activation of the List Types options. Selection Sets group The Selection Sets group is unavailable in the Pick Shape dialog. Extract Shape Dialog (Sweep Modifier) Select a shape that already has a Sweep modifier using a Custom Section applied. ➤ Modify Panel ➤ Section Type rollout ➤ Click Extract. The Extract functionality allows you to recover custom cross-sections that may have been deleted from the scene. As long as you have a sweep in the scene that uses the deleted shape as a custom cross-section, Extract can be used to restore it to the scene. In a large scene that has many objects and shapes, you can also use Extract if you want to quickly duplicate a section used by the sweep instead of searching for the original shape you used as the section. Sweep Modifier | 1747 Procedures To extract a section from a sweep: 1 In a viewport, select a swept shape. 2 Go to the Modify panel and in the Section Types rollout ➤ Custom Section Types group, click the Extract button. 3ds Max opens the Extract Shapes dialog. 3 Enter a new name for the extracted section. 4 Specify the type of cloned shape you want extracted; a copy, an instance or a reference. 5 Click OK. Interface Name This field shows the default name that will be given to the extracted section. By default, it always has the naming convention of Sweep_ShapeName01, Sweep_ShapeName02, etc. For example, if your missing section was named Roman-Ogee, the extracted shape will be named Sweep_Roman-Ogee01. Copy Places a copy of the extracted section at the global origin (0,0,0). Instance Places an instance of the extracted section at the global origin. Reference Places a reference of the extracted section at the global origin. 1748 | Chapter 9 Modifiers Merge File (Sweep Modifier) Select a shape that already has a Sweep modifier using a Custom Section applied. ➤ From File. Modify Panel ➤ Section Type rollout ➤ Click Merge The Merge File dialog for the Sweep modifier appears when you click the Merge From File button. Merge From File allows you to bring shapes or section profiles from other scene files into the current scene. Automatic Unit Conversion When Respect System Units in Files is turned on in the Units Setup dialog on page 8955 in the System Unit Scale group, merged objects from a file with a different scene-unit scale are scaled to maintain their correct size in the new scene. NOTE If Respect System Units is off (which is not recommended), a 10–foot square tube that was created in a 1 unit = 1 foot scene becomes a 10-inch square tube in a 1 unit = 1 inch scene. Resolving Conflicts When Merged Shapes Have the Same Name When an incoming shape has the same name as a shape in the scene, an alert gives you the following options: Merge Merges the incoming shape using the name in the field at the right. To avoid having two shapes with the same name, type a new name before proceeding. Skip This button is unavailable when Merge From File is used in the Sweep modifier. Delete Old This button is unavailable when Merge From File is used in the Sweep modifier. Auto Rename The merged shape's name is left intact except it is given a numeric suffix that is one number higher than any duplicates found in the scene. Cancel Cancels the merge operation. Sweep Modifier | 1749 Interface In the standard file selector dialog, select the scene file to merge. You can only merge MAX files. This dialog has the same functionality as the Merge File dialog on page 8101 that appears when you choose Application menu on page 8579 ➤ Import ➤ Merge with one minor exception. If you choose a MAX file that does not include a valid 2D shape that can be used as a custom section, you will receive a warning. Once the scene file is selected, you can choose the shape or section profile that you want the Sweep modifier to use. 1750 | Chapter 9 Modifiers If the scene file you selected contains multiple shapes, keep in mind that you can only choose one shape to be swept along the spline in your current scene. All/None/Invert These buttons are unavailable when Merge From File is used in the Sweep modifier. Display Subtree Displays the shapes in the list in an indented format. Turn off this option to activate the Sort group options. Select Subtree This switch is unavailable when Merge From File is used in the Sweep modifier. Case Sensitive Distinguishes between uppercase and lowercase for item names. Sweep Modifier | 1751 Sort group Options allow you to sort the list on the left. If the Display Subtree switch is on, these options are not available. Alphabetical Sorts from A at the top to Z at the bottom. By Type This switch is unavailable when Merge From File is used in the Sweep modifier. By Color Sorts by object wireframe color. List Types group Because this dialog is specifically designed to work with the Sweep modifier, the List Type group is locked to display only Shapes. None of the switches or buttons in this group can be activated. Symmetry Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Symmetry Make a selection. ➤ Modifiers menu ➤ Mesh Editing ➤ Symmetry The Symmetry modifier is especially useful when modeling characters or building ships or aircraft This modifier is unique in that it allows you to perform three common modeling tasks: ■ Mirror a mesh about the X, Y, or Z plane. ■ Slice a mesh, removing parts if necessary. ■ Automatically weld vertices along a common seam. 1752 | Chapter 9 Modifiers Examples of using Symmetry with different mirror axes or by moving the mirror gizmo You can apply the Symmetry modifier to any geometry, and you can animate the mirror or slicing effect by animating the modifier's gizmo. When the Symmetry modifier is applied to a mesh, any edits you make to the original half of the mesh below the Symmetry modifier in the stack also occur interactively to the other half. For an example, see the second procedure, below. NOTE The Symmetry modifier converts patch and NURBS objects to mesh format in the modifier stack; editable poly and editable mesh objects remain in their original format. Procedures Example: To apply the Symmetry modifier to an object: 1 In the Perspective viewport, create a teapot. 2 Apply the Symmetry modifier. Symmetry Modifier | 1753 The teapot appears to have two spouts. 3 In the modifier stack, click (the plus-sign icon) to expand the Symmetry modifier hierarchy, then highlight Mirror. The mirror gizmo acts as a slice plane when it is within the boundaries of the object 4 With Mirror Axis set to X, click and drag the mirror gizmo along the X axis. Dragging right slices more of the teapot until there is nothing visible. Dragging left causes a second teapot to appear. When the mirror gizmo is moved beyond the boundaries of the original mesh, it acts as a mirror plane showing you two complete teapots. Example: To perform box modeling with the Symmetry modifier: 1 In the Perspective viewort, create a box primitive, and then convert it to Editable Poly or apply the Edit Poly modifier. 2 If necessary, press F4 to activate Edged Faces display mode. 3 Apply the Symmetry modifier. Other than the new edge loop created by the modifier, the box's appearance doesn't change, because it's already symmetrical. 4 On the modifier stack, click (the plus-sign icon) to expand the Symmety modifier hierarchy, and then highlight Mirror. 5 In the Front viewport, with Mirror Axis set to X, gizmo in either direction on the X axis. move the Mirror Only the left-hand box moves: This is the copy created by the Symmetry modifier. 6 Position the Mirror near the left side of the original box, so the two copies are merged. 7 On the modifier stack, go to the Edit/Editable Poly level and highlight the Vertex sub-object level. 1754 | Chapter 9 Modifiers If you no longer see the Symmetry copy of the box, turn on End Result On/Off Toggle). (Show With Show End Result on, you might see an orange wireframe “cage” that shows the edges of original object. This is on by default for editable poly objects, but off by default for the Edit Poly modifier. The Show Cage toggle for editable poly objects is on the Subdivision Surface rollout, and for Edit Poly it's on the Edit Poly Mode rollout. You can also see that only the vertices of the original object are visible; the vertices of the symmetry object can't be transformed directly. 8 Move one of the visible vertices on the right side of the box. As you do so, its counterpart on the symmetry object moves symmetrically in real time. As you can see, the Symmetry modifier not only creates a mirror image of an object for you, but also lets you manipulate both sides in tandem in an intuitive way. 9 Now move one of the vertices on the left side of the box, where it overlaps the symmetry box. Because you're also moving its counterpart vertex, which is invisible, the apparent result is motion of the corresponding point on the plane of symmetry. This isn't as intuitive as moving a non-overlapping point, so for best results, position the Mirror gizmo so as to cause as little overlap as possible; that way you can edit the center vertices directly on the plane of symmetry. Interface Modifier Stack Symmetry Modifier | 1755 Mirror The placement of the mirror gizmo delegates how the object will be affected by symmetry. You can move or rotate, as well as animate the gizmo. For more information on the stack display, see Modifier Stack on page 8776. Parameters rollout Mirror Axis group X, Y, Z Specify the axis about which the symmetry takes place. You can see the effect in the viewport as you select the axis. Flip Turn on Flip if you want to flip the direction of the symmetry effect. Default=off. Slice Along Mirror Turning on Slice Along Mirror causes the mirror gizmo to act as a slice plane when it in located inside the boundaries of a mesh. When the gizmo is outside the boundaries of a mesh, the symmetrical reflection is still treated as part of the originating mesh. If Slice Along Mirror is turned off, the symmetrical reflection is treated as a separate element of the originating mesh. Default=on. Weld Seam Turning on Weld Seam assures that the vertices along the mirror axis will be automatically welded if they are within the Threshold. Default=on. Threshold The value of the Threshold setting delegates how close vertices can be before being automatically welded together. Default=0.1. NOTE Setting the Threshold value too high may result in some distortion of the mesh, especially when the mirror gizmo is outside the boundaries of the originating mesh. 1756 | Chapter 9 Modifiers Taper Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Taper Make a selection. ➤ Modifiers menu ➤ Parametric Deformers ➤ Taper The Taper modifier produces a tapered contour by scaling both ends of an object's geometry; one end is scaled up, and the other is scaled down. You can control the amount and curve of the taper on two sets of axes. You can also limit the taper to a section of the geometry. Examples of default tapers Taper Modifier | 1757 Interface Modifier Stack Gizmo At this sub-object level, you can transform and animate the gizmo like any other object, altering the effect of the Taper modifier. Translating the gizmo translates its center an equal distance. Rotating and scaling the gizmo takes place with respect to its center. Center At this sub-object level, you can translate and animate the center, altering the Taper gizmo's shape, and thus the shape of the tapered object. For more information on the stack display, see Modifier Stack on page 8776. Moving the modifier's center changes the gizmo shape. 1758 | Chapter 9 Modifiers Parameters rollout The Taper modifier provides two sets of axes and a symmetry setting in the Taper Axis group box of the Parameters rollout. As with other modifiers, these axes refer to the Taper gizmo, not the object itself. Taper group Amount The extent to which the ends are scaled. Amount is a relative value with a maximum of 10. Curve Applies a curvature to the sides of the Taper gizmo, thus affecting the shape of the tapered object. Positive values produce an outward curve along the tapered sides, negative values an inward curve. At 0, the sides are unchanged. Default=0. Taper Axis group Primary The central axis or spine of the taper: X, Y, or Z. Default=Z. Effect The axis, or pair of axes, indicating the direction of the taper from the primary axis. The available choices are determined by the choice of primary axis. The effect axis can be either of the two remaining axes, or their combination. If the primary axis is X, the effect axis can be Y, Z, or YZ. Default=XY. Taper Modifier | 1759 Symmetry Produces a symmetrical taper around the primary axis. A taper is always symmetrical around the effect axis. Default=off. Changing the effect axis changes the effects of the modifier. Limits group The taper offset is applied between the upper and lower limits. The surrounding geometry, while unaffected by the taper itself, is moved to keep the object intact. Limit Effect Enables upper and lower limits for the taper effect. Upper Limit Sets the upper limit boundaries in world units from the taper center point, beyond which the taper no longer affects the geometry. Lower Limit Sets the lower limit boundaries in world units from the taper center point, beyond which the taper no longer affects the geometry. 1760 | Chapter 9 Modifiers Left: Limiting the effect of the taper. Right: Using symmetry. Tessellate Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Tessellate Make a selection. ➤ Modifiers menu ➤ Mesh Editing ➤ Tessellate The Tessellate modifier subdivides faces in the current selection. It's particularly useful for smoothing curved surfaces for rendering, and creating additional mesh resolution for other modifiers to act on. If no sub-object selection has been passed up the stack, then the entire object is tessellated. This modifier lets you tessellate polygonal faces; the tessellation available in an editable mesh on page 2214 does not (it works on faces, even at the Polygon selection level). Tessellate Modifier | 1761 Top: Original mesh object Lower left: Tessellation applied to polygonal facets Lower right: Tessellation applied to triangular faces WARNING Tessellating an object retains any UVW mapping that exists in the stack before the Tessellate modifier. However, in some cases, the mapping might be altered, depending on the type of mapping and the tessellation settings. Typically, this happens when the applied mapping uses extreme compound angles. 1762 | Chapter 9 Modifiers Interface Parameters rollout Operate On Specifies whether to perform the tessellation on the triangular faces or on the polygonal facets (the areas bound by visible edges). Faces Treats the selection as a set of triangular faces. Polygons Divides the polygonal facets. For example, using the polygonal method on the side of a box results in cross-shaped edges using the Edge method, and X-shaped edges using the Face-Center method. Edge Divides the face or polygon from its center to the middle of each edge. When applied to a triangular face, it also divides unselected faces that share edges with the selected faces. Face-Center Select this to divide the face from the center to the vertex corners. Tension Determines if the new faces are flat, concave, or convex after Edge tessellation. A positive value rounds faces by pushing vertices outward. A negative value creates concave faces by pulling vertices inward. A setting of 0 keeps the faces flat. Also works with the Edge/Polygon method. Default=25. Tessellate Modifier | 1763 Iterations group Iterations Specifies how many times the tessellation is applied. For example, setting Iterations to 2 is similar to clicking the Tessellation button twice in an editable mesh, except that you can easily back out at any time while using the Tessellate modifier. If you want more than four iterations, apply another Tessellate modifier. Update Options group Always Tessellation is updated whenever the base geometry changes. When Rendering Tessellation is updated only when the object is rendered. Manually Tessellation is updated only when the user clicks Update. Update Click to update tessellation. Has no effect unless Manually is the active update option. Trim/Extend Modifier Select a shape. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Trim/Extend Select a shape. ➤ Modifiers menu ➤ Patch/Spline Editing ➤ Trim/Extend The Trim/Extend modifier is used primarily to clean up overlapping or open splines in a multi-spline shape so that lines meet at a single point. As with the Fillet/Chamfer modifier, this modifier operates on the splines at the sub-object level in the shape. When applied to a selection of multiple splines, Trim/Extend works as it does on a single spline. To trim, you need intersecting splines. Click the portion of the spline you want to remove. The spline is searched along its length until it hits an intersecting spline, and deleted up to the intersection. If the section intersects at both ends, the entire section is deleted up to the two intersections. If the section is open on one end and intersects at the other, the entire section is deleted up to the intersection and the open end. If the section is not intersected, nothing happens. To extend, you need an open spline. The end of the spline nearest the picked point is extended until it reaches an intersecting spline. If there is no intersecting spline, nothing happens. Curved splines extend in a direction tangent to the end of the spline. If the end of a spline lies directly on a 1764 | Chapter 9 Modifiers boundary (an intersecting spline), then it looks for an intersection further along. NOTE As of version 3 of 3ds Max, Edit/Editable Spline on page 554 includes interactive trim/extend functions. The only reason to use this modifier is to apply it at a specific location on the stack. Before and after initial use of Trim Before and after second use of Trim on above spline Before and after using Extend Trim/Extend Modifier | 1765 Procedures To trim a shape using the Trim/Extend modifier: 1 Create an open Line shape on page 518 in the form of roughly concentric overlapping circles. 2 Apply the Trim/Extend modifier. 3 Click Pick Locations. 4 Click the inner spline sections of the concentric shape to trim them away, or click the open spline segment to extend the spline. Interface Pick Locations Click to turn on Pick mode. While in this mode, the mouse cursor changes in appearance when over part of the spline that can be affected by the Trim/Extend modifier. Click to either trim or extend the spline, based on the settings below. Default=Auto. Operation group Specifies the type of operation that's performed on the selected spline. Auto When this is chosen, a Trim is first looked for and, if not found, an Extend is attempted. In most cases, a Trim will occur when Auto is chosen. 1766 | Chapter 9 Modifiers An Extend can occur, however, in cases where an open spline exists without intersecting other splines. Trim Only Performs only trims. Turn on Pick Locations, and then click the spline section you want to trim. Extend Only Performs only extends. Click Pick Locations, and then select the open spline section you want to extend. Infinite Boundaries For the purposes of calculating intersections, turn this on to treat open splines as infinite in length. For example, this lets you trim one linear spline against the extended length of another line that it doesn't actually intersect. NOTE As the number of open splines in the shape increases, the chance of finding an intersection, when using Infinite Boundaries, increases as well. This can produce results you might not have expected because of projected spline intersections you hadn't considered, particularly if you're in Auto mode. For predictable results, avoid using Auto mode when using Infinite Boundaries. Intersection Projection group These options specify how the Trim and Extend functions determine a valid intersection. View Projects the lines onto the active viewport, and judges the intersections accordingly. These are the intersections as you see them in the active viewport. Construction Plane Projects the lines onto the current construction plane. None (3D) Considers only true intersections as the splines exist in 3D space. They must physically intersect to be considered. TurboSmooth Modifier Make a selection. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ TurboSmooth The TurboSmooth modifier, like MeshSmooth on page 1450, smoothes geometry in your scene. TurboSmooth Modifier | 1767 The differences between the two are as follows: ■ TurboSmooth is considerably faster and more memory-efficient than MeshSmooth. TurboSmooth also has an option for Explicit Normals, unavailable in MeshSmooth. See Explicit Normals on page 1773. ■ TurboSmooth provides a limited subset of MeshSmooth functionality. In particular, TurboSmooth uses a single smoothing method (NURMS), can be applied only to an entire object, has no sub-object levels, and outputs a triangle-mesh object. TurboSmooth lets you subdivide the geometry while interpolating the angles of new faces at corners and edges, and apply a single smoothing group to all faces in the object. The effect of TurboSmooth is to round over corners and edges as if they had been filed or planed smooth. Use TurboSmooth parameters to control the size and number of new faces, and how they affect the surface of the object. Angular model (shown on the right) changed to a smooth model with TurboSmooth 1768 | Chapter 9 Modifiers Smoothing an object modeled with extrusions You use TurboSmooth to produce a Non-Uniform Rational MeshSmooth object (NURMS for short). A NURMS object is similar to a NURBS object in that you can set different weights for each control vertex. TurboSmooth's effect is most dramatic on sharp corners and least visible on rounded surfaces. Use TurboSmooth on boxes and geometry with crisp angles. Avoid using it on spheres and similar objects. TIP To better understand TurboSmooth, create a sphere and a cube and apply TurboSmooth to both. The cube's sharp corners become rounded, while the sphere's geometry becomes more complex without changing shape significantly. Procedures To apply TurboSmooth to an object: 1 Select an angular object. TurboSmooth Modifier | 1769 2 Apply the TurboSmooth modifier. 3 Set TurboSmooth parameters. Example: To compare the speeds of TurboSmooth and MeshSmooth: 1 Create a Box primitive with Length/Width/Height Segs=3. Convert the box to editable poly format. 2 Apply MeshSmooth. 3 Set Iterations=5. This creates a heavily subdivided mesh. 4 Go to the Editable Poly ➤ Vertex sub-object level, and turn on (Show End Result On/Off Toggle). 5 Move one of the corner vertices outward. There is a significant delay before you see the result of the Move operation. 6 Perform a few more Move operations on vertices, observe the delays, and then undo (Ctrl+Z) repeatedly until the MeshSmooth modifier goes away. 7 Apply TurboSmooth. 8 Set Iterations=5. This creates a heavily subdivided mesh. 9 Go to the Editable Poly ➤ Vertex sub-object level, and turn on (Show End Result On/Off Toggle). 1770 | Chapter 9 Modifiers 10 Move one of the corner vertices outward. The response is much faster. Interface Main group Lets you set the basic parameters for TurboSmooth. Iterations Sets the number of times the mesh is subdivided. When you increase this value, each new iteration subdivides the mesh by creating smoothly interpolated vertices for every vertex, edge, and face from the iteration before. The modifier then subdivides the faces to use these new vertices. Default=1. Range=0 to 10. TurboSmooth Modifier | 1771 From right to left, effect of increasing the number of iterations NOTE Be cautious when increasing the number of iterations. The number of vertices and faces in an object (and thus the calculation time) can increase as much as four times for each iteration. Applying four iterations to even a moderately complex object can take a long time to calculate. Render Iter(ation)s Lets you choose a different number of smoothing iterations on page 1771 to be applied to the object at render time. Turn on Render Iters, and then use the field to its right to set the number of render iterations. Isoline Display When on, 3ds Max displays only isolines: the object's original edges, before smoothing. The benefit of using this option is a less cluttered display. When off, 3ds Max displays all faces added by TurboSmooth; thus, higher Iterations values result in a greater number of lines. Default=off. WARNING If you're going to collapse the model or apply further modifiers after the TurboSmooth, you should first turn off Isoline Display. Unlike in MeshSmooth, isoline display is achieved by making all the edges "invisible," joining large groups of faces together in single "polygons." This can be especially problematic if you apply a PolyObject-based modifier afterwards, because all vertices in the interior of these "polygons" will be lost. 1772 | Chapter 9 Modifiers Explicit Normals Lets the TurboSmooth modifier compute normals for its output, which is faster than the standard method 3ds Max uses to compute normals from the mesh object's smoothing groups. Default=off. Consequently, if the TurboSmooth result is used directly for display or rendering, it will generally be faster with this option turned on. Also, the quality of the normals will be slightly higher. However, if you apply any topology-affecting modifiers, such as Edit Mesh, above the TurboSmooth modifier, these normals will be lost and new ones computed, potentially affecting performance adversely. So it's important to remember to turn on Explicit Normals only if no modifiers change the object topology after TurboSmooth takes effect. Surface Parameters group Lets you apply smoothing groups to the object and restrict the smoothing effect by surface properties. Smooth Result Applies the same smoothing group to all faces. Separate by Materials Prevents the creation of new faces for edges between faces that do not share Material IDs. Separate by Smoothing Groups Prevents the creation of new faces at edges between faces that don't share at least one smoothing group. Update Options group Sets manual or render-time update options, for situations where the complexity of the smoothed object is too high for automatic updates. Note that you can also set a greater degree of smoothing to be applied only at render time, in the Main group. Always Updates the object automatically whenever you change any TurboSmooth settings. When Rendering Updates the viewport display of the object only at render time. Manually Turns on manual updating. When manual updating is selected, any settings you change don't take effect until you click the Update button. Update Updates the object in the viewport to match the current TurboSmooth settings. Works only when you choose When Rendering or Manually. TurboSmooth Modifier | 1773 Turn To Mesh Modifier Make a selection. ➤ Modifiers ➤ Turn to Mesh Modify panel ➤ Modifier list ➤ Object-Space Make a selection. ➤ Modifiers menu ➤ Conversion ➤ Turn to Mesh The Turn To Mesh modifier lets you apply object conversions in the modifier stack. As another example, you could use this modifier on a sophisticated patch model to which you might want to apply a tool that applies only to meshes, or convert the object to a mesh. Also, when you apply general-purpose modifiers such as Normal, Material, or UVW Map, it can be helpful to explicitly control the type of object beforehand. NOTE Converting from one object type to another causes a complete caching in the modifier stack. When you have large objects in your scene, this can take up a lot of space. For example, an object that starts as a mesh, converts to a patch, and then back to a mesh takes three times as much space as a mesh that just has ordinary modifiers like Bend or UVW Map applied. TIP Turn To Mesh can be useful on meshes, allowing you to invert a selection or change the selection level in a modifier that doesn't depend on topology. Procedures Example: To translate a patch sub-object selection to a polygon sub-object selection: 1 Select a patch model and turn on wireframe mode. 2 In the modifier stack, choose the Patch sub-object level. 3 Select a patch on the model. 4 From the Modifier List, apply the Turn To Mesh modifier. 5 On the modifier stack, right-click the Turn To Mesh modifier and choose Collapse All. 1774 | Chapter 9 Modifiers 6 In the dialog that warns you about the possibility of undesirable topological effects, click Yes. 7 On the modifier stack (or on the selection rollout), choose the Polygon sub-object mode. The original patch selection has been preserved. Interface Parameters rollout Use Invisible Edges When on, uses invisible edges to represent polygons. When off, produces a completely triangulated mesh with all visible edges. Default=on. Sub-object Selections group These options control the selection of sub-objects. Preserve Passes the sub-object selection up the stack. For example, if you have an object that you have converted to an editable mesh, and you've selected a polygon, then when you apply a Turn To Mesh modifier, the polygon remains selected. Default=on. Clear Clears the sub-object selection so that nothing is selected. Default=off. Invert Inverts the sub-object selection. All sub-objects not currently selected are selected, and all sub-objects currently selected are deselected. Default=off. Include Soft Selection Affects the action of sub-object Move, Rotate, and Scale functions. When these are on, 3ds Max applies a spline curve deformation Turn To Mesh Modifier | 1775 to unselected vertices surrounding the transformed selected sub-object. This provides a magnet-like effect, with a sphere of influence around the transformation. Use this when you want to preserve the soft selection from beneath. For example, if Use Soft Selection is on when you select vertices on an editable poly, and you apply Turn To Mesh with Include Soft Selection on, then the same soft selection will apply to the mesh vertices. Default=on. For more information, see Soft Selection Rollout on page 1966. Selection Level group These options set the sub-object selection level for passing up the rest of the stack. From Pipeline Uses the equivalent of whatever the input object uses (patch level becomes face level, and so on). For example, if you create a box, convert it to an editable patch in patch mode, and apply a Turn To Mesh modifier to it, 3ds Max passes a sub-object selection in patch mode up the stack. The Turn To Mesh modifier takes the sub-object patch selection into account and selects the mesh faces that derive from the patch selection. Object Uses Object as the selection level for passing up the rest of the stack. Edge Uses Edge as the sub-object selection level for passing up the rest of the stack. Vertex Uses Vertex as the sub-object selection level for passing up the rest of the stack. Face Uses Face as the sub-object selection level for passing up the rest of the stack. Turn To Patch Modifier Make a selection. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Turn to Patch Make a selection. ➤ Modifiers menu ➤ Conversion ➤ Turn to Patch The Turn To Patch modifier lets you apply object conversions in the modifier stack. Using the Turn To Patch modifier, you can fine-tune the conversion process such as turning quads into quad patches. 1776 | Chapter 9 Modifiers NOTE Converting from one object type to another causes a complete caching in the modifier stack. When you have large objects in your scene, this can take up a lot of space. For example, an object that starts as a mesh, converts to a patch, and then back to a mesh takes 3 times as much space as a mesh which just has ordinary modifiers like Bend or UVW Map applied. TIP Turn To Patch can be useful on patches, allowing you to invert a selection or change the selection level in a modifier that doesn't depend on topology. Procedures Example: To collapse to quad patches: 1 Create a chamfer box in wireframe: Create panel ➤ (Geometry) ➤ Extended Primitives ➤ Object Type rollout ➤ ChamferBox button. 2 Apply a Turn To Patch modifier: ➤ Turn To Patch. Modify panel ➤ Modifier List 3 Right-click the stack display and choose Collapse All. Interface Turn To Patch Modifier | 1777 Quads to Quad Patches Turns quad faces in meshes or polymeshes into quad patches. NOTE When you turn this option off, 3ds Max triangulates quads when the Turn To Patch modifier is applied to a mesh or poly object. Sub-object Selections group These options control the selection of sub-objects. Preserve Passes the sub-object selection up the stack. For example, if you have an object that you have converted from an editable mesh, and you've selected a polygon, then when you apply a Turn To Patch modifier, the patch, which is derived from the selected polygon, remains selected. Default=on. Clear Clears the sub-object selection so that nothing is selected. Default=off. Invert Inverts the sub-object selection. All sub-objects not currently selected are selected, and all sub-objects currently selected are deselected. Default=off. Include Soft Selection When these are on, 3ds Max applies a spline curve deformation to unselected vertices surrounding the transformed selected sub-object. This provides a magnet-like effect, with a sphere of influence around the transformation. Use this when you want to preserve the soft selection from beneath. For example, if Use Soft Selection is on when you select vertices on an editable mesh, and you apply Turn To Patch with Include Soft Selection on, then the same soft selection will apply to the patch vertices. Default=on. For more information, see Soft Selection Rollout on page 1966. Selection Level group These options set the sub-object selection level for passing up the rest of the stack. From Pipeline Uses the equivalent of whatever the input object uses (patch level becomes face level, and so on.). For example, if you create a box, convert it to an editable mesh in face mode, and apply a Turn To Patch modifier to it, 3ds Max passes a sub-object selection in patch mode up the stack. The Turn To Patch modifier takes the sub-object face selection into account and selects the patches that derive from the face selection. Object Uses object as the selection level for passing up the rest of the stack. Edge Uses edge as the sub-object selection level for passing up the rest of the stack. 1778 | Chapter 9 Modifiers Vertex Uses vertex as the sub-object selection level for passing up the rest of the stack. Patch Uses patch as the sub-object selection level for passing up the rest of the stack. Turn To Poly Modifier Make a selection. ➤ Modifiers ➤ Turn to Poly Modify panel ➤ Modifier List ➤ Object-Space Make a selection. ➤ Modifiers menu ➤ Conversion ➤ Turn to Poly The Turn To Poly modifier lets you apply object conversions in the modifier stack. Also, when you apply the general-purpose modifiers, such as Normal, Material, or UVW Map, it can be helpful to explicitly control the type of object beforehand. When you use Turn To Poly, you're joining triangles into polygons, so you might need to have restrictions on polygon convexity, size, and planarity. All conversions from patches produce quads and triangles. Conversions from meshes can produce arbitrarily large polygons. Mesh polygons are controlled as usual by joining together faces that are separated by invisible edges. NOTE Converting from one object type to another causes a complete caching in the modifier stack. When you have large objects in your scene, this can take up a lot of space. For example, an object that starts as a mesh, converts to a patch, and then back to a mesh takes three times as much space as a mesh that has only ordinary modifiers like Bend or UVW Map applied. TIP Turn To Poly can be useful on polymeshes, allowing you to invert a selection or change the selection level in a modifier that doesn't depend on topology. Procedures Example: To prevent interior vertices from being passed up the stack: 1 Create an NGon in wireframe mode: Create panel ➤ (Shapes) ➤ Splines ➤ Object Type rollout ➤ NGon. Turn To Poly Modifier | 1779 2 Go to the Modify panel and convert the NGon to an editable mesh by right-clicking the modifier stack and choosing Convert to ➤ Editable Mesh. 3 In the stack display (or in the Selection rollout), choose the Polygon sub-object mode. 4 Choose Edit ➤ Object Properties to display the Object Properties dialog. 5 In the Display Properties group, turn off By Layer. 6 Turn on Vertex Ticks. Choose OK to close the dialog. 7 Click Cut under the Edit Geometry rollout, and make a cut from one side of the NGon to the other. Notice that an interior vertex now exists. NOTE Doing this on an NGon doesn't always generate an interior vertex. 8 Apply the Turn To Poly modifier: Modify panel ➤ Modifier List ➤ Turn To Poly. Notice the interior vertex clears. 1780 | Chapter 9 Modifiers Interface Parameters rollout Keep Polygons Convex Does not join across edges if the resulting polygon would not be convex. "Convex" means that you can connect any two points in the polygon with a line that doesn't go outside the polygon. A polygon is not convex if you can draw a line between vertices and that line lays outside of the polygon. Problems that can occur with non-convex polygons include the fact that changes in the geometry of the input object can result in a different topology for the Turn To Poly result. For instance, in a box, if you drag one of the top corners across the middle of the top face, the box becomes non-convex. Turn To Poly would then see this as two triangles instead of one quad, and the number of points in the result would change. Limit Polygon Size Limits the number of sides to a polygon so that the surface is better defined. For example, you might want to produce a polymesh of triangles and quads, or one composed of all triangles, rather than joining together more than two triangles into pentagons, hexagons, and so on. Turn To Poly Modifier | 1781 Max Size The maximum number of sides to a polygon. Require Planar Polygons Creates polygons composed of flat planes. Does not join faces together across an edge if the edge has a sharper angle than the threshold listed. Threshold Controls the threshold of the angle between polygonal planes. Remove Mid-Edge Vertices Eliminates divisions that result from intersections with invisible edges. Sub-object Selections group These options control the selection of sub-objects. Preserve Passes the sub-object selection up the stack. For example, if you have an object that you have converted to an editable mesh, and you've selected a polygon, then when you apply a Turn To Poly modifier, the polygon remains selected. Default=on. Clear Clears the sub-object selection so that nothing is selected. Default=off. Invert Inverts the sub-object selection. All sub-objects not currently selected are selected, and all sub-objects currently selected are deselected. Default=off. Include Soft Selection Affects the action of sub-object Move, Rotate, and Scale functions. When these are on, 3ds Max applies a spline curve deformation to unselected vertices surrounding the transformed selected sub-object. This provides a magnet-like effect, with a sphere of influence around the transformation. Use this when you want to preserve the soft selection from beneath. For example, if Use Soft Selection is on when you select vertices on an editable mesh, and you apply Turn To Poly with Include Soft Selection on, then the same soft selection will apply to the polymesh vertices. Default=on. For more information, see Soft Selection Rollout on page 1966. Selection Level group These options set the sub-object selection level for passing up the rest of the stack. From Pipeline Uses the equivalent of whatever the input object uses (patch level becomes face level, and so on). For example, if you create a box, convert it to an editable mesh in face mode, and apply a Turn To Poly modifier to it, 3ds Max passes a sub-object selection in face mode up the stack. The Turn To Poly modifier takes the sub-object face selection into account and selects the polygons that derive from the face selection. Object Uses object as the selection level for passing up the rest of the stack. 1782 | Chapter 9 Modifiers Edge Uses edge as the sub-object selection level for passing up the rest of the stack. Vertex Uses vertex as the sub-object selection level for passing up the rest of the stack. Face Uses face as the sub-object selection level for passing up the rest of the stack. Twist Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Twist Make a selection. ➤ Modifiers menu ➤ Parametric Deformers ➤ Twist The Twist modifier produces a twirling effect (like wringing out a wet rag) in an object's geometry. You can control the angle of the twist on any of three axes, and set a bias that compresses the twist effect relative to the pivot point. You can also limit the twist to a section of the geometry. NOTE When you apply the Twist modifier, the Twist gizmo's center is placed at the object's pivot point, and the gizmo lines up with the object's local axis. Twist Modifier | 1783 Left: Original model Middle: A moderate twist Right: An extreme twist Procedures To twist an object: 1 Select an object and apply Twist. 2 On the Parameters rollout, set Twist Axis to X, Y, or Z. This refers to the axis of the Twist gizmo, not the axis of the selected object. You can switch between axes at any time, but only one axis setting is carried with the modifier. 3 Set the angle of the twist. Positive values produce a clockwise twist, negative values a counterclockwise twist. An angle of 360 produces a complete revolution. 1784 | Chapter 9 Modifiers The object twists to this amount beginning at the lower limit (by default, the location of the modifier's center). 4 Set the bias of the twist. A positive value compresses the twist at the end away from the pivot point, a negative value toward the pivot point. To limit the twist: 1 Turn on Limits group ➤ Limit Effect. 2 Set values for the upper and lower limits. These are distances in current units above and below the modifier's center, which is at zero on the gizmo's Z axis. The upper limit can be zero or positive, the lower limit zero or negative. If the limits are equal, the result is the same as turning off Limit Effect. The twist offset is applied between these limits. The surrounding geometry, while unaffected by the twist itself, is moved to keep the object intact. 3 At the sub-object level, you can select and move the modifier's center. The limit settings remain on either side of the center as you move it. This lets you relocate the twist area to another part of the object. Interface Modifier Stack Gizmo You can transform and animate the gizmo like any other object at this sub-object level, altering the effect of the Twist modifier. Translating the gizmo translates its center an equal distance. Rotating and scaling the gizmo takes place with respect to its center. Center You can translate and animate the center at this sub-object level, altering the Twist gizmo's shape, and thus the shape of the twisted object. For more information on the stack display, see Modifier Stack on page 8776. Twist Modifier | 1785 Twist Parameters rollout Twist group Angle Determines the amount of twist around the vertical axis. Default=0.0. Bias Causes the twist rotation to bunch up at either end of the object. When the parameter is negative, the object twists closer to the gizmo center. When the value is positive, the object twists more away from the gizmo center. When the parameter is 0, the twisting is uniform. Range=100 to -100. Default=0.0. Twist Axis group X/Y/Z Specify the axis along which the twist will occur. This is the local axis of the Twist gizmo. Default=Z. Limits group Applies the twist effect only to vertices that lie between the lower and upper limits. The two spinners represent distance along the gizmo's Z axis (Z=0 is at the gizmo's center). When they are equal, it is the same as disabling the twist effect. Limit Effect Applies limit constraints to the Twist modifier. Upper Limit Sets the upper limit for the twist effect. Default=0. Lower Limit Sets the lower limit for the twist effect. Default=0. 1786 | Chapter 9 Modifiers UVW Mapping This group of modifiers provides various ways to manage UVW coordinates and mapping materials onto geometry. Unwrap UVW Modifier Select one or more objects. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Unwrap UVW Select one or more objects. ➤ Modifiers menu ➤ UV Coordinates ➤ Unwrap UVW The Unwrap UVW modifier lets you assign mapping coordinates to sub-object selections, and to edit the UVW coordinates of those selections. You can also use it to unwrap and edit existing UVW coordinates on an object. Maps can be adjusted to the proper fit on a Mesh, Patch, Polygon, HSDS, or NURBS model. The Unwrap UVW modifier can be used as a self-contained UVW mapper and UVW coordinate editor, or in conjunction with the UVW Map modifier on page 1883. If you use Unwrap UVW in conjunction with the UVW Map modifier, it is usually so you can use a mapping method unavailable in Unwrap UVW, such as Shrink Wrap. You can animate UVW coordinates by turning on the Auto Key button and transforming the coordinates at different frames. NOTE After applying the Unwrap UVW modifier, open mapping edges, or seams, appear on the modified object in the viewports. This helps you visualize the locations of mapping clusters on the object surface. You can toggle this feature and set the line thickness with the Display setting on page 1802. UVW Mapping | 1787 Open UVW mapping edges (seams) shown on head model in viewport Self-Contained Mapper and UVW Coordinate Editor Rather than creating a large modifier stack by first making a sub-object selection of faces and then adding a UVW Map modifier to specify the type of mapping, you can use the Unwrap UVW modifier to do both. You can select sub-object vertices, edges, or faces/patches, store sub-object selections as named selections, map them using planar and other methods, and then edit the UVW coordinates for each sub-object selection, all from within the Unwrap UVW modifier. For example, to map a character's face using three planar maps, you could create three sub-object selections of the front and sides of the face, planar-map the selections individually, and then edit the UVW coordinates for each selection, all without leaving the Unwrap UVW modifier. 1788 | Chapter 9 Modifiers Support for Multiple Unwrap Objects Instancing capabilities in Unwrap UVW make it easy to map a texture across several objects. You simply make your selection and then apply Unwrap UVW. When you open the editor, you’ll see the mapping coordinates for all selected objects containing the instanced modifier. The editor shows each object’s wireframe color on page 8771 so you can distinguish the different objects. Left: Two objects’ UVW coordinates in the editor, showing wireframe colors. Right (inset): The objects with a shared Unwrap UVW modifier in the viewport. UVW Mapping | 1789 TIP The UVWs of different objects typically start out in the same location in the editor, so it’s a good idea to separate them before editing. To save time, use the Pack UVs function on the Tools menu. What Happens to Existing UVW Coordinates When you apply the Unwrap UVW modifier, it stores the object's current mapping coordinates in the modifier. If the object has no mapping coordinates, the modifier creates new ones by applying planar mapping. If the incoming data on the stack is a face-level or polygon-level sub-object selection, then only the UVWs for the selected faces are brought into the modifier, and the modifier's sub-object levels are unavailable. When the modifier is evaluated, its UVWs are reassigned to the object flowing down the pipeline. So if the UVWs upstream are changed, the changes won't make it past the Unwrap UVW modifier. If the Unwrap modifier is operating on a selection of faces, then upstream changes to unselected faces will still be able to flow past the Unwrap modifier. Native Support for HSDS, Polygon Object, and Patch mapping Unwrap UVW supports polygon faces and Bezier quad and tri patch faces in addition to triangles and quads. Below is a sample of what the various face types look like based on the incoming type. For HSDS and Poly surfaces, the basic interface remains the same, except that the maximum number of sides per polygon increases from 4 to over two billion. HSDS supports only one level of detail: the level at which the mapping was. Patches have handles on nonlinear vertices. These handles work just like regular patch handles. 1790 | Chapter 9 Modifiers Faces from HSDS and Poly surfaces; handles appear for nonlinear vertices Pinning Textures Although not its primary purpose, you can use the Unwrap UVW modifier to freeze UVWs. You can apply mapping after an animated deformation and have the mapping stick to the object. For example, you can apply Unwrap UVW above a Morpher modifier in the modifier stack, apply planar maps and edit the UVW coordinates. The mapping will follow the morphing geometry. Procedures To use Unwrap UVW with the standard mapping methods: This procedure offers a general overview of using the basic Unwrap UVW tools available on the Modify panel and the Edit UVWs dialog on page 1807. Unwrap UVW provides many additional tools not described in this procedure, particularly in the editor. For procedures detailing other mapping methods available with Unwrap UVW, see To use Pelt mapping on page 1850 and To use Spline mapping on page 1870. 1 Apply the modifier and a texture-mapped material to an object. Set the material to display in the viewports, set at least one viewport to be shaded (for example, press F3 to toggle between Wireframe and Smooth+Highlights), and, if necessary, turn off Shade Selected Faces (press F2) for that viewport so the texture mapping is visible. UVW Mapping | 1791 2 Go to the Face sub-object level of the Unwrap modifier and make a selection of contiguous faces. You'll use a single mapping type on this selection. Within the single modifier, you can apply as many different mappings as you like to different face selections. 3 Name the face selection using the Named Selection Sets on page 204 function on the main toolbar. This makes it easy to return to the selection set in the viewports for subsequent mapping adjustments. For example, if you're working on a house, you could use names such as roof. IMPORTANT Be sure to press Enter after typing the selection set name. NOTE Naming each face selection set isn’t strictly necessary, but it is highly recommended. 4 On the Map Parameters rollout, click the appropriate mapping type button (Planar, Box, etc.) and then adjust the gizmo using any combination of the transform tools (Move, Rotate, Scale) in the viewports and the Align buttons (Align X, etc.) on the Map Parameters rollout. TIP You can often save time by starting with the Best Align command and then adjusting manually from there. After each adjustment of the mapping gizmo, the texture display in the viewports updates to reflect the mapping changes, as do the green seam lines on the object that show where the open edges lie (depending on the object shape and mapping type; the seam lines don't change with Planar mapping). To cause the viewports to update in real time, turn on Edit UVWs dialog ➤ Constant Update on page 1821. You can also open the editor (Parameters rollout ➤ Edit) to view the changes in the generated texture coordinates as you adjust the gizmo. 5 Click the mapping type button again to turn it off and exit mapping for this face selection. 6 Continue making and naming selections and applying mapping until the entire mesh is mapped. Use the green seam display lines as a guide. If you don't see them, make sure Parameters rollout ➤ Display Group ➤ Show Map Seam is on. 7 Open the Edit UVWs dialog on page 1807 (Parameters rollout ➤ Edit). 1792 | Chapter 9 Modifiers By default, the editor displays a checkered background. To view the map in the material on the object, you need to change a setting. 8 At the right end of the editor upper toolbar, click the drop-down list that currently reads CheckerPattern (Checker) and choose the map that's applied to the material. The map appears as the background. By default, all the UVW clusters display. To work on one cluster at a time, you need to filter the UVWs. 9 On the Edit UVWs dialog ➤ lower toolbar, click Faces). (Filter Selected At this point, the editor shows only faces you select in the viewport, and hides the rest. You can select faces to show directly in the viewport, or choose a named selection set. In the next step, you'll use the latter method. 10 On the main toolbar, open the Named Selection Sets drop-down list, and choose one of your named selection sets. The viewports show the selection as active, and the UVW coordinates for the selection appear in Edit UVWs window. 11 In the Edit UVWs window, select and move a UVW face. In the viewports, the texture slides around the selected portion of the object mesh. 12 Choose a different selection set and edit its UVW coordinates. Again, the viewport display reflects the editing changes. 13 In a viewport, drag to select a group of faces by region. The faces' UVW coordinates display in the Edit UVWs window. This is another way of choosing what you want to work on. As you can see, from within the Unwrap UVW modifier you can assign multiple mapping types to different, optionally named face selections, and then edit the UVW coordinates to fine-tune map placement on the geometry. UVW Mapping | 1793 To perform quick planar mapping: You'll find the Quick Planar Map controls on the Map Parameters rollout of the Unwrap UVW modifier. 1 Apply Unwrap UVW to an object. 2 Go to the Face sub-object level. 3 Select the faces to map. The Quick Map gizmo appears juxtaposed over the face selection, showing the default Averaged Normals mapping. 4 If you prefer a different orientation for the mapping, choose X, Y, or Z. 5 Click Quick Planar Map to apply the mapping. To map additional faces, proceed from step 3. Example: To restore the original mapping coordinates after swtiching to a non-default channel: An object contains 99 different sets of texture coordinates; each mapping modifier controls one of these. When you change the Unwrap UVW modifier Map Channel setting, 3ds Max copies the texture coordinates from the previous channel. If you want to use the original coordinates stored in the channel it’s necessary to reset the coordinates to restore them from lower on the modifier stack or from the object’s internal mapping attributes. 1 Add a box primitive to the scene. 2 Apply a UVW Map on page 1883 modifier and set Mapping to Cylindrical. Note Map Channel is set to 1 by default. 3 Apply a second UVW Map modifier, set Map Channel to 2, and set Mapping to Spherical. 4 Add an Unwrap UVW modifier (note Map Channel is set to 1 by default) and click Edit on the Parameters panel. Note the cylindrical mapping coords, inherited from the UVW Map modifier in step 2. 5 On the Parameters panel, set Map Channel to 2. The mapping in the editor doesn't change because the modifier copied the cylindrical mapping coordinates from channel 1, thus replacing the spherical coordinates from the second UVW Map modifier (from step 3). 6 On the Parameters panel, click Reset UVWs. 1794 | Chapter 9 Modifiers The spherical mapping coordinates are recovered from the second underlying UVW Mapping modifier into map channel 2 in the Unwrap UVW modifier. TIP When you use Reset UVWs, any edits to the current channel’s mapping coordinates are lost. Thus, if there’s any chance you might want to use the edited coordinates later, first store the coordinates in a disk file with the Save function on the Parameters rollout. Alternatively, collapse the object’s stack and then apply another mapping modifier. To export texture coordinates to a paint program: 1 Apply the Unwrap UVW modifier to your object and use the modifier tools to set up the mapping. Texture-coordinate clusters that will use the same texture area should overlap. 2 From the Edit UVWs dialog menu bar, choose Tools ➤ Render UVW Template. This opens the Render UVs dialog: UVW Mapping | 1795 3 Set the Width and Height values to the output resolution you want in the rendered template. You'll usually get good results by setting the desired width and then clicking Guess Aspect Ratio. TIP When creating texture maps for gaming and other real-time 3D engines, be sure to set both dimensions to powers of 2: 256, 512, 1024, etc. 4 Change the remaining values as needed. By default, the template is rendered with the edges as white and opaque (alpha=1.0), and background is empty and transparent (background alpha=0.0), but you have a variety of choices here, as detailed in Render UVs Dialog on page 1860. 5 At the bottom of the dialog, click Render UV Template. This opens a new rendered frame window on page 6963 containing the rendered template as a bitmap. Inspect the output, and if changes are necessary, make them on the Render UVs dialog and re-render. 1796 | Chapter 9 Modifiers 6 When you're satisfied with the results, then on the rendered frame window toolbar, click (Save Bitmap), and then use the file dialog to specify the file type and name. Click Save to export the file. If you want to use the rendered transparency information in the paint program, be sure to save in a format that supports the alpha channel, such as TIF or Targa. 7 Open the exported image in a paint program and use the rendered edges as a guide for painting the texture map. Save the image when done. Be sure to paint over or erase all the edges so they don't appear in the final texture. 8 Back in 3ds Max, create a material, set the Diffuse map to Bitmap, and open the file from the previous step. 9 Apply the material to your mesh object. The painted texture map follows the outlines set up by the exported UVs. Interface After applying the modifier, its panel appears, consisting of the modifier stack plus two rollouts: Modifier Stack display Normally, when you apply Unwrap UVW to an object, the modifier stack provides access to Vertex, Edge, and Face sub-object levels. These are synchronized with the corresponding selection modes on the Edit UVWs dialog on page 1807. The Vertex and Edge sub-object levels are useful for making UVW Mapping | 1797 UVW vertex and edge selections in the viewports, where texture mapping on the object surface is more readily visible, and the Edge level is also useful for setting up edge selections that you can later convert to pelt seams. If you apply Unwrap UVW to an active face selection of an Editable/Edit Mesh/Poly object, or to an active patch selection of an Editable/Edit Patch object, no sub-object levels are available in the Unwrap UVW modifier. You can use Unwrap UVW to edit only the selection that was active when you applied the modifier. Changing the sub-object selection in the object doesn't affect the Unwrap modifier contents, because the modifier obtains the face selection when you first apply it. All three sub-object levels are synchronized between the modifier stack and the Selection Modes group on page 1815 on the Edit UVWs dialog. When you activate a sub-object level in one, it's also activated in the other. Similarly, selecting sub-objects in a viewport selects them in the editor and vice-versa. Selection Parameters rollout Use these settings to make or modify a sub-object selection for use by the modifier. If you've passed a face selection up the stack, for example from the Poly Select modifier, Unwrap UVW uses that instead, and makes these controls unavailable. + button Expands the selection by selecting all faces adjacent to selected faces. - button Reduces the selection by deselecting all faces adjacent to non-selected faces. Ring Expands an edge selection by selecting all edges parallel to the selected edges. Ring applies only to edge selections. 1798 | Chapter 9 Modifiers Loop Expands the selection as far as possible, in alignment with selected edges. Loop applies only to edge selections, and propagates only through junctions of even numbers of edges. Ignore Backfacing When region selecting, prevents the selection of faces not visible in the viewport. Select By Element Lets you select elements on page 9143. Planar Angle Lets you select contiguous coplanar faces with one click. Turn this on, and then set the threshold angle value that determines which faces are coplanar. Then click a face to select it and all contiguous faces whose angles are less than the threshold value. Planar Angle is available only at the Face sub-object level. Select MatID Enables face selection by material ID on page 9217. Specify the material ID to select, and then click Select MatID. Select MatID is available only at the Face sub-object level. Select SG Enables face selection by smoothing group on page 9310. Specify the smoothing group to select, and then click Select SG. Select SG is available only at the Face sub-object level. UVW Mapping | 1799 Parameters rollout Edit Displays the Edit UVWs dialog on page 1807. Reset UVWs Restores the UVW coordinates to the original status. Clicking this is almost the same as removing and reapplying the modifier, except that a map assigned in the Edit UVWs dialog is not deleted. For example, if you forgot to turn on the Generate Mapping Coordinates check box for an object, and then applied the Unwrap UVW modifier, the modifier would have no UVW coordinates to use and its settings would be wrong. If you then go back in the Stack and turn on Generate Mapping Coordinates, you'd need to click the Reset UVWs button. When you click this button, an alert warns you that you're losing any edits you've made. Save Saves the UVW coordinates to a UVW (.uvw) file. Load Loads a previously saved UVW file. Channel group Each object can have up to 99 different UVW mapping coordinate channels. The default mapping channel (from the Generate Mapping Coordinates toggle 1800 | Chapter 9 Modifiers in the object’s creation parameters on page 9127) is always channel 1. You can specify texture coordinates for any channel by using a different Unwrap UVW or UVW Map modifier for each channel. IMPORTANT When you change the Map Channel setting, 3ds Max copies the current edits to the new channel. To access the texture coordinates stored in the channel prior to the copy, use the Reset UVWs command (see preceding). To edit the texture coordinates of multiple channels (thus for different maps), use a different modifier (Unwrap UVW or UVW Map on page 1883) for each one. If you already have edits in that channel from another modifier, those edits could be overwritten. To ensure preservation of your edits, save them before changing the channel and then reload the saved edits as necessary. Map Channel Sets the identification number of the texture coordinates controlled by the modifier. This channel value corresponds to the Map Channel value set in a map’s parameters, so that the modifier controls how maps set to the same channel are applied to the object surface. Default=1. Range=1 to 99 You can use multiple Unwrap UVW modifiers in the modifier stack, each set to a different map channel and thus controlling the mapping coordinates of different maps in a material. If you specify a different channel, make sure any maps in the object’s material that should use that mapping are also set to that channel. The map channel setting is available in various places in 3ds Max, as follows: ■ Generate Mapping CoordsThis check box, present in the creation parameters of most objects, assigns map channel 1 when on. ■ UVW Map, UVW Xform, and Unwrap UVWs modifiersThese modifiers let you set the map channel to 1 through 99, thus specifying which UVW coordinates the modifier uses. The modifier stack can pass these channels simultaneously for any face. ■ Material Editor Channel AssignmentYou assign the channel to be used by a map on the Coordinates rollout at the map level in the Material Editor. The Explicit Map Channel option must be active. ■ NURBS Surface Objects and Sub-ObjectsLet you specify which map channel the surface uses. Vertex Color Channel Define the channel as a vertex color channel by choosing this option. Be sure to match any material mapping in the UVW Mapping | 1801 coordinates rollout to be Vertex Color as well, or by using the Assign Vertex Colors utility on page 6927. Display group This setting determines whether and how pelt seams and mapping cluster boundaries, also known as map seams, appear in the viewports: Show Seam When on, pelt boundaries appear in the viewports as blue lines. Show Map Seam When on, mapping cluster boundaries appear in the viewports as green lines. You can change this color by adjusting the Display seams color on page 1880. Thin/Thick Seam Display The display thickness setting applies to both pelt seams and map seams: ■ Thin Seam DisplayDisplays map seams and pelt seams on object surfaces in the viewports with relatively thin lines. The line thickness remains constant as you zoom the view in and out. ■ Thick Seam DisplayDisplays map seams and pelt seams on object surfaces in the viewports with relatively thick lines. The line thickness increases when you zoom the view in and decreases when you zoom out. This is the default choice. _____ Prevent Reflattening This option is used mainly for texture baking. When turned on, the version of the Unwrap UVW modifier automatically applied by Render To Texture on page 7307, named, by default, Automatic Flatten UVs, will not reflatten the faces. Also, make sure that both Render To Texture and the modifier are using the same map channel. Map Parameters rollout You can apply any map type to selected faces, patches, or surfaces, and align the mapping gizmo in any of a variety of ways. The mapping controls on the upper part of the rollout are available only at the Face sub-object level. Also, the Quick Map controls are available only when no mapping mode button (Planar, Pelt, etc.) is active. However, the seam controls on page 1805 are available at all sub-object levels. NOTE When a mapping type button is active, you cannot change the selection without first exiting the mapping operation. 1802 | Chapter 9 Modifiers Preview Quick Map Gizmo When on, a rectangular planar mapping gizmo, applicable to the Quick Planar Map tool only, appears juxtaposed over the face selection in the viewports. This gizmo is not manually adjustable, but you can use the following control to reorient it. X/Y/Z/Averaged Normals Choose the alignment for the quick map gizmo: perpendicular to the object's local X, Y, or Z axis, or based on the faces' average normals. Quick Planar Map Applies planar mapping to the current face selection based on the orientation of the Quick Map gizmo. UVW Mapping | 1803 Planar Applies planar mapping to selected faces. Make the selection, click Planar, adjust the mapping using the transform tools and Align buttons on the Map Parameters panel, and then click Planar again to exit. Pelt Applies pelt mapping to selected faces. Clicking this button activates Pelt mode, in which you can adjust the mapping and edit the pelt map on page 1848. NOTE Pelt mapping always uses a single planar mapping for the entire pelt. If you've applied a different type of mapping, such as Box, and then switch to Pelt, the previous mapping is lost. TIP For the basic method of using Pelt mapping, see this procedure on page 1850. Cylindrical Applies cylindrical mapping to the currently selected faces. Make a face selection, click Cylindrical, adjust the cylinder gizmo using the transform tools and Align buttons on the Map Parameters panel, and then click Cylindrical again to exit. NOTE When you apply Cylindrical mapping to a selection, 3ds Max maps each face to the side of the cylinder gizmo that most closely matches its orientation. For best results, use Cylindrical mapping with cylinder-shaped objects or object parts. Spherical Applies spherical mapping to currently selected faces. Make the face selection, click Spherical, adjust the sphere gizmo using the transform tools and Align buttons on the Map Parameters panel, and then click Spherical again to exit. Box Applies box mapping to the currently selected faces. Make the selection, click Box, adjust the box gizmo using the transform tools and Align buttons on the Map Parameters panel, and then click Box again to exit. NOTE When you apply Box mapping to a selection, 3ds Max maps each face to the side of the box gizmo that most closely matches its orientation. For best results, use Box mapping with box-shaped objects or object parts. Spline Applies spline mapping to the currently selected faces. Clicking this button activates Spline mode, in which you can adjust the mapping and edit the spline map on page 1866. 1804 | Chapter 9 Modifiers Align X/Y/Z Aligns the gizmo to the X, Y, or Z axis of the object's local coordinate system. Best Align Adjusts the mapping gizmo's position, orientation, and scale to fit that of the face selection, based on the selection's extents and average normals. Fit Scales the gizmo to the extents of the selection and centers it on the selection. Does not change the orientation. Align To View Reorients the mapping gizmo to face the active viewport and adjusts its size and position as necessary to fit the extents of the selection. Center Moves the mapping gizmo so that its pivot coincides with the center of the selection. Reset Scales the gizmo to fit the selection and aligns it with the object's local space. Normalize Map When on, scales the mapping coordinates to fit into the standard coordinate mapping space: 0 to 1. When off, the mapping coordinates are the same size as the object. The map is always tiled once in the 0-1 coordinate space; the part of the map based on its Offset and Tiling values on For example, if you take a sphere of 25 units that's planar mapped from the top, and then apply Unwrap UVW and turn off Normalize Map, then when you open the editor, the radius of the sphere's mapping coordinates is 25 units. As a result, the texture map is tiled onto the sphere surface many times. With Normalize Map on, both the sphere and the map fit into the 0-1 coordinate space, so they're the same size. In general, for best results, leave Normalize Map on. One reason to turn it off would be to turn it off is if you want to map several elements of different proportions with a texture of a specific aspect ratio, such as brick, keeping the texture the same size on each object. [Seam controls] These tools, which give you different ways of specifying pelt seams, are available at all sub-object levels of the modifier. Pelt seams apply to pelt UVW Mapping | 1805 mapping on page 1804, as well as to spline mapping on page 1804 when you use manual seams on page 1873. Edit Seams Lets you specify a pelt seam by selecting edges with the mouse in the viewports. This process is similar but not identical to standard edge selection: ■ Click an edge to add it to the current selection. ■ Alt+click an edge to remove it from the current selection. ■ Drag to select a region. Point To Point Seam Lets you specify pelt seams by selecting vertices with the mouse in the viewports. Pelt seams specified with this tool are always added to the current seam selection. In this mode, after you click a vertex, a rubber-band line extends from the vertex you clicked to the mouse cursor. Click a different vertex to create a pelt seam, and then continue clicking vertices to create a seam from each vertex to the previous one. To start at a different point in this mode, right-click, and then click a different vertex. To stop drawing seams, click the button again to turn it off. NOTE While Point To Point Seam is active, you can pan, rotate, and zoom the viewport at any time using contextual controls (middle-button drag, Alt+middle-button drag, turn mouse wheel, respectively) to access a different part of the mesh surface. You can also navigate using the ViewCube on page 68 and SteeringWheels on page 75. After doing so, 3ds Max still remembers the last vertex you clicked and draws an accurate seam at the next click. Similarly, you can adjust the viewport using the viewport control buttons on page 8703 and then return to selecting the seam. If the control requires more than a single click, such as Pan, exiting the control by right-clicking in the viewport restores the rubber-band line, extending from the last vertex you clicked. TIP The algorithm Point To Point Seam uses to calculate a path might create a different seam than what you have in mind. If this happens, undo (Ctrl+Z) and specify the desired path by plotting points closer together. Edge Sel To Seams Converts the current edge selection in the modifier to pelt seams. These seams are added to any existing seams. Exp(and) Face Sel to Seams Expands the current face selection to meet the pelt seam border(s). If multiple seam outlines contain selected faces, the expansion takes place only for the last-selected face; all others are deselected. 1806 | Chapter 9 Modifiers Edit UVWs Dialog Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Unwrap UVW ➤ Edit button (on Parameters rollout) The heart of the Edit UVWs dialog is a window that displays a lattice made up of UVW faces and UVW vertices. Each UVW face, which has three or more vertices, corresponds to a face in the mesh. The view window displays the UVWs in the 2D-image space of the map, superimposed over a grid. Thicker grid lines show the boundaries of a texture map as it would appear in image space; the lower-left corner of the rectangle has the coordinates (0,0) and the upper-right has the coordinates (1,1). Within this window, you manipulate the UVW coordinates relative to the map (or mesh) by selecting the lattice vertices, edges, or faces (collectively known as sub-objects), and transforming them. The state of the Edit UVWs dialog, including buttons and selected options, is stored and recalled the next time you open the Edit dialog. NOTE You can edit patch object texture coordinates as well as mesh coordinates in the Edit UVWs dialog. When editing a patch object, you can also edit the vertex handles. In addition, you can edit the manual interior handles. However, you must enable the manual interior handles before applying the Unwrap UVW modifier. To do so, at the Patch sub-object level, select one or more patches, right-click a selected patch, and then, from the quad menu ➤ tools 1 quadrant, choose Manual Interior. The manual interior handles appear in the editor window as isolated vertices. NOTE Certain modeling operations can leave unused (isolated) map vertices that show up in the editor window, but cannot be used for mapping. If the model is an Editable Poly or Edit Poly object, you can use the Remove Unused Map Verts button on page 1308 at the Vertex sub-object level to automatically delete these vertices. TIP The editor can display the number of selected sub-objects. This option is available as an Unwrap UVW shortcut on page 1829 as Show Subobject Counter. UVW Mapping | 1807 Interface Besides the window, the editor interface consists of a menu bar, a toolbar, a lower toolbar, and, docked below the main dialog, the Options panel on page 1814. Menu bar The menu bar provides access to a wide range of Edit UVWs functions. See Edit UVWs Dialog Menu Bar on page 1822. 1808 | Chapter 9 Modifiers Toolbar Contains all the controls for manipulating the texture sub-objects in the view window, navigating within the window, and setting other options. When transforming with Rotate and Scale, pressing Ctrl+Alt will allow you to transform the selection from the point of the mouse click, instead of the selection center. The initial click specifies the center of the transform. Move Lets you select and move sub-objects. Flyout options are Move, Move Horizontal, and Move Vertical. Press Shift to constrain the movement to a single axis. Rotate Lets you select and rotate sub-objects. Scale Lets you select and scale sub-objects. Flyout options are Scale, Scale Horizontal, and Scale Vertical. Pressing Shift as you scale constrains the transform to a single axis. Freeform Mode Lets you select and move, rotate, or scale vertices, depending on where you drag. After you make a selection, the Freeform gizmo appears as a rectangular bounding box around the selected vertices. As you move the cursor over the gizmo's various elements and inside the gizmo, the cursor's appearance, and the result of starting to drag in this location, change: ■ MovePosition the cursor anywhere inside the gizmo and then drag to move the selection. To constrain movement to the vertical or horizontal axis, depending on how you begin dragging, press and hold Shift before dragging. ■ RotatePosition the cursor over a gizmo edge center point, and then drag to rotate the selection about the pivot. As you drag, the amount of rotation is shown in the center of the gizmo. Ctrl+drag to rotate in five-degree increments; Alt+drag to rotate in one-degree increments. Freeform rotation respects the angle snap on page 2840 status. UVW Mapping | 1809 ■ ScalePosition the cursor over a gizmo corner and then drag to scale the selection. By default, scaling is non-uniform; if you press and hold Ctrl before dragging, scaling is uniform on the horizontal and vertical axes. Press and hold Shift before dragging to constrain scaling to the vertical or horizontal axis, depending on how you begin dragging. By default, scaling takes place about the gizmo center. If you've moved the pivot (see following item), you can scale about the transform center instead by pressing and holding Alt before dragging. ■ Move pivotPosition the cursor over the pivot, a wireframe cross that appears by default at the center of the gizmo. When this cursor appears, drag to move the pivot. Rotation always occurs about the pivot; scaling takes place about the pivot if you press and hold Alt before dragging. TIP By default, the pivot always resets to the center of the gizmo when you make a new selection. If you prefer to retain the offset from selection to selection, you can toggle this feature with the Reset Pivot On Selection command. This command is not available in the editor interface by default; you must use the Customize User Interface dialog on page 8837 to add it. If you Ctrl+select one or more vertices outside the gizmo, the gizmo expands to encompass the entire selection. Mirror Mirrors selected vertices and flips UVs. Flyout options are Mirror Vertical, Mirror Horizontal, Flip Horizontal, and Flip Vertical. Flip first detaches the selection along its boundary edges and then applies a Mirror Horizontal or Vertical depending on the mode. Show Map Toggles the display of the map in the editor window. UV/VW/UW By default, the UV portion of the UVW coordinates is displayed in the view window. However, you can switch the display to edit the UWs or the VWs. [texture list drop-down] Contains all the maps of the material assigned to the object. 1810 | Chapter 9 Modifiers The names of the maps assigned in the Material Editor and in the Edit UVWs dialog (via Pick Texture) appear in the list. Below the map names are several commands: ■ Pick TextureLets you use the Material/Map Browser to add and display textures that are not in the object's material. ■ Remove TextureEliminates the currently displayed texture from the editor. ■ Reset Texture ListReturns the texture list to the current state of the applied material, removing any added textures and restoring any removed textures that were part of the original material, if they still exist in the material. This command also adds any new maps in the material, so it essentially updates the UVW editor to the current state of the material. Choose a map you want to use in the view window. For example, you might use a bump or texture map as a reference to move UVW vertices. A checker texture named CheckerPattern (Checker), useful for checking for distorted areas of the texture mapping, is built in to the Edit UVWs dialog. By default, this texture appears as the background texture when you first open the editor after applying Unwrap UVW to an object. To cause the pattern to appear on the object in viewports set to display textures, choose it from the drop-down list, even if it's already active in the editor. Edit UVWs window The Edit UVWs window allows you to edit UVW sub-objects to adjust the mapping on a model. For example, a texture map might contain the side, top, and front views of a car. By first planar mapping the top, side, and front faces of the model at the Face sub-object level, you can adjust the texture coordinates for each selection to fit the different parts of texture map to the corresponding areas on the car. UVW Mapping | 1811 To edit the UVW vertices, first choose a transform tool and sub-object mode, make a selection, and then click and drag in the window to transform the selection. Quad menu Right-click in the window to display the quad menu, which provides access to all the transform tools, as well as a number of editor commands. Commands to freeze and hide selected sub-objects and unfreeze/unhide all sub-objects are found only in the quad menu. Lower Toolbar Absolute/Offset Mode When this is off, 3ds Max treats values you enter into the U, V, and W fields (see following) as absolutes. When this is on, 3ds Max applies transform values you enter as relative to current values; that is, as offsets. Default=off. U, V, and W These fields display the UVW coordinates for the current selection. Use the keyboard or the spinners to edit them. These fields are active at all sub-object levels, but they always apply to vertices. With a single vertex selected, they display the current coordinates. With multiple vertices (or one or more edges or faces) selected, they display any coordinates the vertices belonging to the selection have in common; otherwise, they're blank. 1812 | Chapter 9 Modifiers Lock Selection Locks selection. You can move selected sub-objects without touching them. Filter Selected Faces Displays UVW vertices of the object's selected faces in the viewport, and hides the rest. When Filter Selected Faces is on, changing the viewport face selection automatically updates the display of visible faces in the editor. All ID's (drop-down) Filters the object's material IDs. Displays texture faces that match the ID drop-down. Pan Click Pan, and then drag in the window to change the visible portion. TIP With a three-button mouse, you can also pan the window by dragging with the middle mouse button held down. Zoom Click Zoom, and then click+drag to zoom the window. TIP With a wheel mouse, you can also zoom by turning the wheel. Zoom Region Click Zoom Region, and then region-select part of the window to zoom in. Zoom Extents Zooms in or out to fit the texture coordinates in the window. The flyout buttons, from top to bottom, let you zoom to all texture coordinates, to the current selection, and to all clusters/elements containing any selected sub-objects. Grid Snap When on, moving sub-objects tends to snap the vertex closest to the mouse cursor, which is highlighted by a square outline, to the nearest grid line or intersection. This is the default tool on this flyout; Pixel Snap is also available. You can set the snap strength in the Unwrap Options dialog on page 1882. UVW Mapping | 1813 Pixel Snap Snaps to the nearest pixel corner when you have a bitmap in the background. Available from the Grid Snap flyout. Combine this with Center Pixel Snap on page 1822 to snap to the center of pixels rather than the corner. NOTE With multiple vertices selected, all vertices snap to the nearest pixel, relatively; this can slightly alter the spatial relationships among them. Options panel By default, the Options panel, docked to the bottom of the Edit UVWs dialog, provides controls for using soft selection, specifying selection modes, and rotating the selection. The Options button lets you toggle the display of additional settings for bitmaps, viewports, and the editor. Soft Selection group The Soft Selection controls make a sub-object selection behave as if surrounded by a "magnetic field." Unselected sub-objects within the field are drawn along smoothly while you transform the sub-object selection, the effect diminishing with distance. You can adjust this distance, or “falloff,” whether it applies to object space, texture space, or edge space, and the formula by which it diminishes. First, set a value that encompasses sub-objects to be moved or scaled, and then transform sub-objects with a falloff effect. On Activates or deactivates soft selection. XY/UV Specifies object or texture space for the falloff distance. XY selects object space, UV selects texture space. Falloff Sets the falloff distance. As values increase, unselected vertex colors change gradually from the selected vertex to reflect the area of influence. Edge Distance Turn on to limit the falloff region by the specified number of edges between the selection and the affected vertices. The affected region is measured in terms of "edge-distance" space rather than absolute distance. 1814 | Chapter 9 Modifiers Falloff Type Transforming with soft selection affects non-selected vertices within the falloff area based on the falloff type. The icons depict how their buttons affect falloff. The options are: ■ Smooth ■ Linear ■ Slow Out ■ Fast Out Selection Modes group [sub-object mode] Specifies the type of sub-object that you can select by clicking or dragging in the window. Default=Vertex. One of the three sub-object modes can be active at a time: ■ Vertex ■ Edge ■ Face NOTE Selected sub-objects are colored red by default. Also, in Edge and Face sub-object modes, any shared edges are blue by default. A shared edge is one both of whose endpoints are shared by a selected edge or face; thus, it is, in effect, also selected. You can change these colors using Customize User Interface ➤ Colors panel on page 8860. The three sub-object levels are synchronized between the modifier stack on page 1797 of the Unwrap UVW modifier and the Selection Modes group. When you choose a sub-object level in one, it's also activated in the other. Similarly, selecting sub-objects in a viewport selects them in the editor and vice-versa. Select Element When on, selecting a sub-object in a cluster causes the entire cluster to become selected. Works in all sub-object modes. UVW Mapping | 1815 Expand Selection Adds sub-objects to the selection. Vertex and face expansion proceeds outwards in all available directions. Edge expansion proceeds along available UV paths. For example, to select a cluster outline, select one outer edge, and then click Expand Selection repeatedly. Contract Selection Shrinks the selection by deselecting the outermost sub-objects. Paint Select Mode Lets you “paint” a sub-object selection by dragging in the editor window. After activating this mode, move the cursor into the editor window, and then drag to select sub-objects. To exit Paint Select mode, right-click or choose a transform tool. Paint mode selects only sub-objects that are fully inside the selection brush. The dotted circle attached to the mouse shows the size of the brush. Use the +/- buttons next to the paintbrush button to change its size. +/- Increases and decreases the size of the Paint Select mode “brush”: the circle attached to the mouse cursor. Loop [+/-] Selects a loop of texture vertices, edges, or polygons. Usage is as follows: ■ Vertices/PolygonsSelect two or more adjacent vertices or polygons in one or more rows or columns, and then click Loop. This selects all sub-objects in line with the selection(s). ■ EdgesSelect one or more edges, and then click Loop. This selects all edges in line with the selected edge(s). To extend a loop or loops at both ends, when possible, click +. To deselect the sub-objects at both ends of a loop or loops, click -. Ring [+/-] Selects a ring of texture vertices, edges, or polygons. Usage is as follows: ■ Vertices/PolygonsSelect two or more adjacent vertices or polygons in one or more rows or columns, and then click Ring. This selects all sub-objects perpendicular to the line formed by the selection(s). ■ EdgesSelect one or more edges, and then click Ring. This selects all edges in the row(s) or column(s) perpendicular to the selected edge(s). 1816 | Chapter 9 Modifiers To extend a ring or rings at both ends, when possible, click +. To deselect the sub-objects at both ends of a ring or rings, click -. _____ Rot(ate) +90 Rotates the selection 90 degrees about its center. Rot(ate) -90 Rotates the selection -90 degrees about its center. Rejoins a disconnected cluster of texture coordinates to its original neighbor by connecting selected vertices to their corresponding UV seam vertices. If a UV vertex has more than one corresponding UV vertex, it will be stitched to the closest one. Stitch has three different modes, depending on which part of the button you click: ■ Stitch to Source [left arrow]Moves the corresponding vertices to the selected vertices. ■ Stitch to Average [Stitch button]Moves both sets of vertices to the average positions. ■ Stitch to Target [right arrow]Moves the selected vertices to the corresponding vertices. 1. Texture vertices before stitching 2. Stitch to Source 3. Stitch UVW Mapping | 1817 4. Stitch to Target Align Horizontal Applies by default only to selected texture vertices and edges. At the Vertex level, this tool lines up the selected UV vertices horizontally in a straight line. At the Edge level, Align lines up the selected edges. Initial vertex selection (left); after Align Horizontal (right) At the Edge level, if you press Shift when clicking the button, Align loops through all selected edges and lines up all the edge loops of those edges horizontally. In that case it is enough to select one edge on each edge loop to line up. It will also line up UV seam edge loops. Align Vertical Applies by default only to selected texture vertices and edges. At the Vertex level, this tool lines up the selected UV vertices vertically in a straight line. At the Edge level, Align lines up the selected edges. At the Edge level, if you press Shift when clicking the button, Align loops through all selected edges and lines up all the edge loops of those edges vertically. In that case it is enough to select one edge on each edge loop to line up. It will also line up UV seam edge loops. 1818 | Chapter 9 Modifiers Aligning edges: 1. Initial edge ring selection 2. After using Align Vertical with Shift pressed 3. Initial edge ring selection 4. After using Align Horizontal with Shift pressed Space Horizontal Applies by default only to selected texture vertices and edges. At the Vertex level, this tool adjusts the positions of selected UV vertices to make the horizontal distances between each pair the same. At the Edge level, Align evenly spaces selected edges horizontally. At the Edge level, if you press Shift when clicking the button, Align loops through all selected edges and evenly spaces those edges horizontally. In that case it is enough to select one edge on each edge loop to space. It will also space UV seam edge loops. Initial edge ring selection (left); after using Space Horizontal with Shift pressed to space each edge’s loop (right) UVW Mapping | 1819 Space Vertical Applies by default only to selected texture vertices and edges. At the Vertex level, this tool adjusts the positions of selected UV vertices to make the vertical distances between each pair the same. At the Edge level, Align evenly spaces selected edges vertically. At the Edge level, if you press Shift when clicking the button, Align loops through all selected edges and evenly spaces those edges vertically. In that case it is enough to select one edge on each edge loop to space. It will also space UV seam edge loops. UV_SelectionFromBase/SelectionToBase These commands transfer sub-object selections from the base object (must be editable poly) to the texture coordinates and vice-versa. They are available only from the Customize User Interface dialog on page 8837: ■ UV_SelectionFromBaseConverts a sub-object selection from the base editable poly object to the texture coordinates in the Unwrap UVW modifier. It is available only when the Editable Poly level in the modifier stack is active. The CUI action is available from the PolyTools category. ■ SelectionToBaseConverts a sub-object selection from the texture coordinates in the Unwrap UVW modifier to base editable poly object. It is available only when the Unwrap UVW level in the modifier stack is active. The CUI action is available from the UVW Unwrap category. Bitmap Options group Click the Options button to toggle this group. Use Custom Bitmap Size When on, scales the bitmap texture to the values specified by Width and Height values (see following). You can scale and reproportion the bitmap texture in relation to the texture coordinates with these settings. This scaling affects the bitmap only as viewed in the editor; not in the material. TIP For faster feedback when working with large textures, reduce the bitmap size. And when working with disproportionate textures, setting the dimensions closer to each other in the editor can make it easier to work. 1820 | Chapter 9 Modifiers Width Scales the bitmap along the horizontal axis. Height Scales the bitmap along the vertical axis. Tile Bitmap When turned on, you can repeat the bitmap in the editor, displaying tiling set in the material. You can use any part of the tiled image for setting texture coordinates. This is helpful when the sections of the texture image are packed tightly together and the mesh contains many different areas to map. Default=on. Tiles The number of times the texture image is repeated, counting outward in eight directions (the four corners and the four sides). Default=1. With Tiles=1, the result is a 3 x 3 grid. With Tiles=2, the result is a 5 x 5 grid, and so on. Brightness Sets the brightness of the tiled bitmap. At 1.0, the brightness equals that of the original image; at 0.5 it's half the brightness; and at 0, it's black. TIP Turning off Affect Center Tile, available in the Unwrap Options dialog on page 1878 ➤ Display Preferences group, prevents the Brightness setting from affecting the center tile, so it's easier to find if you've turned down the brightness. Viewport Options group Click the Options button to toggle this group. Constant Update When on, the viewports update in real-time, reflecting any changes to the texture coordinates as you make them. When off, the viewports update only after you finish transforming texture coordinates (that is, when you release the mouse button). Unwrap Editor Options group Click the Options button to toggle this group. Show Hidden Edges Toggles the display of face edges. When turned off, only faces appear. When turned on, all mesh geometry appears. UVW Mapping | 1821 Center Pixel Snap When Pixel Snap on page 1814 is turned on, snaps to the center of pixels of the background images instead of pixel edges. Weld Threshold Sets the radius within which welding using Weld Selected takes effect. The setting is in UV-space distance. Default=0.01. Range=0 to 100.0. Edit UVWs Dialog Menu Bar Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Unwrap UVW ➤ Edit button (on Parameters rollout) ➤ Menu bar The Edit UVWs dialog on page 1807 menu bar provides access to a number of important editing commands. Some of these commands are replicated on the dialog toolbar and the Unwrap UVW command panel; others, such as the Mapping, Stitch, and Sketch tools, are available only from the menus. TIP Several commands are not available in the editor interface by default; you can use the Customize User Interface dialog on page 8837 to add them. Interface File menu Load UVs Loads a previously saved UVW (texture coordinates) file. Save UVs Saves the UVW coordinates to a UVW file. Reset All Restores the UVW coordinates to their original status. Reset All has almost the same effect as removing and reapplying the modifier, except that a map assigned in the Edit UVWs dialog is not deleted. For example, if you forgot to turn on the Generate Mapping Coordinates check box for an object, and then applied the Unwrap UVW modifier, the modifier would have no UVW coordinates to use and its settings would be wrong. If you then go back in the modifier stack and turn on Generate Mapping Coordinates, you'd need to choose the Reset All command. When you do so, an alert warns you that you're losing any edits you've made. Edit menu These commands provide access to the different transform functions, and copy and paste selections. 1822 | Chapter 9 Modifiers Copy Copies the current selection (i.e., texture coordinates) into the paste buffer. Paste Applies the texture mapping coordinates in the paste buffer to the current selection. Using Paste repeatedly with the same target coordinates causes the coordinates to rotate by 90 degrees each time. Use Copy and Paste to apply the same mapping coordinates (i.e., image) to a number of different geometry faces. A typical example of usage would be in designing a game level, where you're working with a multi-image texture map, part of which is a door image. You might want to apply the same door image to several different door polygons. First, you would select one of the door polys and position it over the door image. Next, use Copy to place its texture coordinates in the paste buffer. Then select another door poly and choose Paste or Paste Weld. The door's texture coordinates move to the same location as the original poly. Continue selecting other door polys and pasting until all the doors are mapped. TIP For best results, use comparable sets of texture coordinates for the source and destination. For example, copy a single four-sided face, and then paste another four-sided face. Paste Weld Applies the contents of the paste buffer to the current selection and then welds coincident vertices, effectively fusing the source and destination selections together. Use this function to end up with a single set of texture coordinates that's applied to multiple geometry elements. Adjusting these texture coordinates changes the mapping for all geometry to which they're applied. Move Mode Lets you select and move sub-objects. Rotate Mode Lets you select and rotate sub-objects. Scale Mode Lets you select and scale sub-objects. Freeform Gizmo Lets you select and transform vertices. See Freeform Mode on page 1809. Select menu These commands let you copy a viewport selection to the editor, and transfer selections among the three different sub-object modes. Convert Vertex to Edge Converts the current vertex selection to an edge selection and places you in Edge sub-object mode. For an edge to be selected, both of its vertices must be selected. UVW Mapping | 1823 Convert Vertex to Face Converts the current vertex selection to a face selection and places you in Face sub-object mode. For a face to be selected, all of its vertices must be selected. Convert Edge to Vertex Converts the current edge selection to a vertex selection and places you in Vertex sub-object mode. Convert Edge to Face Converts the current edge selection to a face selection and places you in Face sub-object mode. For a face to be selected, the current edge selection must include all of its vertices. For example, if two opposite edges of a four-sided face are selected, the edge selection includes all four of the face's vertices, so this command will select the face. Convert Face to Vertex Converts the current face selection to a vertex selection and places you in Vertex sub-object mode. Convert Face to Edge Converts the current face selection to an edge selection and places you in Edge sub-object mode. Select Inverted Faces Selects any faces facing away from the current mapping. Available only in Face selection mode on page 1815. This is useful in complex models for finding faces on a surface that folds in under itself, thus causing potential problems with bump mapping. For example, add a sphere, turn off Generate Mapping Coords, and them apply Unwrap UVW. This causes the modifier to apply planar mapping from the top down, so that all faces on the bottom half of the sphere are “inverted”; that is, they face away from the mapping. In the modifier stack display, highlight the Select Face sub-object level, and then click the Edit button to open the UVW editor. Choose the Face selection mode, and then choose Select ➤ Select Inverted Faces. In the viewports, the bottom half of the sphere turns red to indicate that the inverted faces are now selected. Select Overlapped Faces Selects any faces that overlap other faces. If no face is selected, this selects all overlapping faces. If a face selection exists, this selects only overlapping faces within the selection. Available only in Face selection mode on page 1815. When working with complex meshes, it's common for texture-coordinate faces to overlap one another, with the result that they use the same portion of the texture map. Use this command to find overlapping faces in order to separate them as needed. 1824 | Chapter 9 Modifiers Tools menu Tools on this menu let you flip and mirror texture coordinates, weld vertices, combine and separate sets of texture coordinates, and sketch outlines for multiple selected vertices. Flip Horizontal/Vertical Detaches the selected sub-objects along their boundary edges and then applies Mirror Horizontal or Vertical, depending on the mode. Mirror Horizontal/Vertical Reverses the direction of selected sub-objects along the indicated axis and flips UVs accordingly. Weld Selected Welds selected sub-objects to a single vertex, based on the Weld Threshold setting. You can set the threshold on the Options panel ➤ Unwrap Editor Options group, as well as on the Unwrap Options dialog on page 1878 ➤ Misc. Preferences group. Target Weld Welds pairs of vertices or edges. Not available at the Face sub-object level. Turn on Target Weld, and then drag one vertex to another vertex, or one edge to another edge. As you drag, the cursor changes in appearance to cross hairs when it's over a valid sub-object. While this command is active, you can continue welding sub-objects, and change the sub-object level. To exit Target Weld mode, right-click in the editor window. Break Applies to the current selection; works differently in the three sub-object modes. At the Vertex sub-object level, Break replaces each shared vertex with two vertices. With edges, Break requires at least two contiguous edges to be selected, and separates each edge into two. With faces, Break splits the selection off from the rest of the mesh into a new element, exactly as does Detach Edge Verts. Detach Edge Verts Tries to split off the current selection into a new element. Any invalid vertices or edges are removed from the selection set before the detach. Stitch Selected For the current selection, finds all the texture vertices that are assigned to the same geometric vertex, brings them all to the same spot, and welds them together. With this tool you can automatically connect faces that are contiguous in the object mesh but not in the editor. To use Stitch Selected, first select sub-objects along an edge you want to connect (by default, this causes the shared edges to highlight), and then choose the command. In the Stitch Tool dialog on page 1874, adjust the settings, and then click OK to accept or Cancel to abort. UVW Mapping | 1825 Pack UVs Distributes all texture-coordinate clusters through the texture space using one of two methods and spacing you specify. This is useful if you have several overlapping clusters and wish to separate them. Choosing Pack UVs opens the Pack dialog on page 1846. Sketch Vertices Lets you draw outlines for vertex selections with the mouse. This is useful for matching coordinate cluster outlines to sections of the texture map en masse, without having to move vertices one at a time. Choosing Sketch Vertices opens the Sketch Tool dialog on page 1864. Sketch Vertices is available only in the Vertex sub-object mode. Relax Dialog Opens the non-modal Relax Tool dialog on page 1856, which lets you change the apparent surface tension in a selection of texture vertices by moving vertices closer to, or away from, their neighbors. Relaxing texture vertices can make them more evenly spaced, resulting in easier texture mapping. Available at all sub-object levels. NOTE This command, as well as a Relax command that lets you apply the default settings to the current selection without opening the dialog, are available as assignable keyboard shortcuts on page 1829. Render UVW Template Opens the Render UVs dialog on page 1860, which lets you export texture mapping data as an image file that you can then import into 2D paint software. Mapping menu Lets you apply one of three different types of automatic, procedural mapping methods to a model. Each method provides settings so you can adjust the mapping to the geometry you're using. With each method, the mapping is applied to the current face selection; if there is no face selection it is applied to the entire mesh. Here's a quick overview of the three methods: ■ Flatten mapping prevents overlap of mapping clusters, but can still cause texture distortion. ■ Normal mapping is the most straightforward method, but can result in even greater texture distortion than with Flatten mapping. ■ Unfold mapping eliminates texture distortion, but can result in overlapping coordinate clusters. 1826 | Chapter 9 Modifiers TIP In many cases, one of the automatic mapping functions will provide useful results. But with certain custom or complex objects, you might get the best results with manual mapping; use a variation of the basic procedure on page 1791, or use a procedural method as a starting point for custom mapping. Flatten Mapping Applies planar maps to groups of contiguous faces that fall within a specified angle threshold. Choosing Flatten Mapping opens the Flatten Mapping dialog on page 1843. Normal Mapping Applies planar maps based on different vector-projection methods. Choosing Normal Mapping opens the Normal Mapping dialog on page 1845. Unfold Mapping Unfolds the mesh so you get no face distortion, but does not guarantee that faces will not overlap. Choosing Unfold Mapping opens the Unfold Mapping dialog on page 1876. Options menu Load Defaults Loads the editor settings from the file unwrapuvw.ini in the plugcfg directory. Save Current Settings as Default Saves the editor settings to the file unwrapuvw.ini in the plugcfg directory. Settings saved in this way persist between sessions. Always Bring Up The Edit Window When on, selecting an object with the Unwrap UVW modifier active automatically opens the Edit UVWs dialog. By default, this is off, so you must click the Parameters rollout ➤ Edit button to open the dialog. Preferences Opens the Unwrap Options dialog on page 1878. Display menu Hide Selected Hides all selected sub-objects and associated faces. Unhide All Reveals any hidden sub-objects. Unfreeze All Unfreezes any frozen sub-objects. NOTE You can freeze a sub-object selection with Freeze Selected, available from the right-click menu ➤ Display quadrant. UVW Mapping | 1827 Filter Selected Faces When on, the editor displays UVW vertices of the viewport selection at the Face sub-object level of the modifier, and hides the rest. This is a quick way to work on a limited selection of the texture coordinates of a complex mesh while ignoring the rest. You can turn this on, go to the Face sub-object level of the Unwrap UVW modifier, and select the portion of the object whose texture coordinates you want to edit; only those coordinates appear in the editor, and remain visible even when you change the sub-object level. To work on a different portion, return to the Face level and change the selection in the viewport; the editor window updates to the new selection automatically. Show Hidden Edges Toggles the display of hidden face edges. Show Edge Distortion Uses a green-to-red color range to depict distortion: how far in length texture edges are from their corresponding geometry edges. The greater the disparity in lengths (that is, the greater the distortion), the redder the edge appears in the Edit UVW dialog window. Also draws end segments of edges that are too long as white, showing the difference in length from that of the geometry edge. Left: Texture edges the same as or very close to geometry edges in length are green. Center: Texture edges slightly different from geometry edges in length are brown. Right: Texture edges very different from geometry edges in length are red. When texture edges are longer than geometry edges, white end segments depict length disparity. Use this display as a way to view where the areas of greatest distortion are in your texture mesh. If an edge is brown or red but doesn't have white end segments, it's too short. If it's brown or red and has white end segments, it's too long, by the total length of the white segments. 1828 | Chapter 9 Modifiers Show Vertex Connections In Vertex sub-object mode, toggles the display of numeric labels for all selected vertices. Shared vertices are indicated by the appearance of multiple same-numbered labels. Show Shared Sub-objects When turned on, for the current selection, highlights any shared vertices and/or edges. You can change the highlight color on the Unwrap Options dialog on page 1878. View menu Pan Activates the Pan tool, which lets you move horizontally and vertically in the window by dragging the mouse. As with the viewports, if you use a three-button mouse, you can also pan by middle-button dragging. Zoom Choose Zoom, and then drag downward in the editor window to zoom out and upward to zoom in. Zooming is centered about the point you click before dragging. If you have a wheel mouse, you can also turn the wheel to zoom. Zooming is centered about the mouse cursor location. Zoom Region To zoom to a specific area, choose Zoom Region, and then drag a rectangle in the editor window. Zoom Extents Zooms in or out to fit all UVW vertices in the editor window. Zoom Extents Selected Zooms in or out to fit all selected UVW vertices in the editor window. Zoom To Gizmo Zooms the active viewport to the current selection. Zoom Extents Selected Zooms in or out to fit all selected UVW vertices in the window. Show Grid Displays a grid in the background of the editor window. Default=on. Show Map Displays a texture map in the background of the editor window. Set the image via the drop-down list at the right end of the editor toolbar. Update Map Causes the displayed texture map to reflect any changes to the texture, such as tiling settings or a different bitmap. Unwrap UVW Shortcuts To use keyboard shortcuts for the Unwrap UVW modifier, the Keyboard Shortcut Override Toggle on page 9008 must be on. UVW Mapping | 1829 See also: ■ Unwrap UVW Modifier on page 1787 ■ Keyboard Shortcuts on page 9007 ■ Keyboard Panel on page 8837 ■ Customize User Interface Dialog on page 8837 In general, this table includes only functions that have default keyboard shortcuts and functions with descriptions that are not documented in the Unwrap UVW reference topics. Unwrap UVW Function Keyboard Shortcut Description Allow Selections Inside Transform Gizmo Lets you select vertices inside the gizmo by CTRL+clicking or ALT+clicking a vertex. When turned on, you can move only by dragging over empty space. Always Bring Up The Edit Window When on, the Edit UVWs dialog automatically opens when you access the Unwrap UVW modifier. Blend Tiles To Background Lets you blend the image in the Edit UVWs dialog with the background color. At 0 the image will be hidden while at 1 it will be at full intensity. Box Map Break Selected Vertices 1830 | Chapter 9 Modifiers Ctrl+B Breaks selected vertices so no face shares them; the same as breaking a vertex in Edit Mesh. Unwrap UVW Function Keyboard Shortcut Description Brightness Affects Center Tile The brightness control for the tile of image at 0,0 of the Edit UVWs dialog. Contract Geom. Faces Shrinks the face selection in the viewport. Copy Copies the current face selection texture data into the paste buffer. Cylindrical Map Detach Edge Vertices D, CTRL+D Detaches the selected vertices into a separate element. Display Seams Highlights edges that are seams in texture space in the Edit UVWs dialog. A seam is an edge that has only one face attached to it. Edge Sel to Pelt Seam (Add) Converts the edge selection to pelt seams, adding to the current pelt seams. Edge Sel to Pelt Seam (Replace) Converts the edge selection to pelt seams, replacing the current pelt seams. Edge Snap Edge to Face Select Converts an edge selection into a face selection. Edge to Vertex Select Converts an edge selection into a vertex selection. UVW Mapping | 1831 Unwrap UVW Function Keyboard Shortcut Description Edit UVWs Ctrl+E Opens the Edit UVWs dialog. Expand Geom. Faces Grows the face selection in the viewport. Face to Edge Select Converts a face selection into an edge selection. Face to Vertex Select Converts a face selection into a vertex selection. Filter Selected Faces Alt+F When on, only faces that are selected in the viewport will be displayed in the Edit UVWs dialog. Flatten Map Lays out the UV space so that no texture faces overlap. Flatten Map Dialog Opens the dialog for Flatten Mapping settings. Flip Horizontal Detaches the current selection and then mirrors it in the U direction. Flip Vertical Detaches the current selection and then mirrors it in the V direction. Freeform Mode Toggles freeform editing tool in the Edit UVWs dialog. Freeze Selected Geom. Edge Loop Selection 1832 | Chapter 9 Modifiers Ctrl+F Locks the current selection so you cannot select it anymore. Unwrap UVW Function Keyboard Shortcut Description Geom. Edge Ring Selection Geom. Element Select Mode Puts you in an element-select mode for selecting faces in the viewport. Get Face Selection From Stack Alt+Shift+Ctrl+F Copies the face selection from the modifier stack into the face selection that Unwrap UVW uses. Get Selection From Faces Alt+Shift+Ctrl+P Transfers the face selection in the viewport to the selection in the Edit UVWs dialog. Grid Snap Turns on grid snapping. Grid Visible Toggles grid visibility. Hide Selected Ctrl+H Hides the current selection in the Edit UVWs dialog. Ignore Back Faces When on you can select only faces in the viewport that are facing you. Load Defaults Loads the UI defaults from an .ini file. Load UVW Alt+Shift+Ctrl+L Lets you load a .uvw file onto a mesh. The mesh must have similar topology as the source. Lock Selected Vertices Spacebar Locks the selection so you cannot add to or remove from it. Mapping Align Normals UVW Mapping | 1833 Unwrap UVW Function Keyboard Shortcut Description Mapping Align To View Mapping Align X Aligns the mapping gizmo to the X axis of the object's local coordinate system. Mapping Align Y Aligns the mapping gizmo to the Y axis of the object's local coordinate system. Mapping Align Z Aligns the mapping gizmo to the Z axis of the object's local coordinate system. Mapping Center Moves the mapping gizmo so that its pivot coincides with the center of the selection. Mapping Fit Scales the gizmo to the extents of the selection and centers it on the selection. Does not change the orientation. Mapping Reset Scales the gizmo to fit the selection and aligns it with the object's local space. Mirror Horizontal Alt+Shift+Ctrl+N Mirrors the current selection along the U axis. Mirror Vertical Alt+Shift+Ctrl+M Mirrors the current selection along the V axis. Move Horizontal Alt+Shift+Ctrl+J Move Vertical Alt+Shift+Ctrl+K Normal Map 1834 | Chapter 9 Modifiers This creates a mapping based on the face normals. Unwrap UVW Function Keyboard Shortcut Description Normal Map Dialog Opens a dialog for making Normal Mapping settings. Open Edge Mode When turned on, selecting an open edge selects all attached open edges. Open Edge Select Selects all open edges connected to the current selection. Pack Lays out all selected elements so they don't overlap. Pack Dialog Opens the Pack dialog. Paint Select Decrement Cursor Size Applies to the Sketch tool. Paint Select Increment Cursor Size Applies to the Sketch tool. Paint Select Mode Applies to the Sketch tool. Pan Ctrl+P Paste Pastes the contents of the paste buffer onto the selection. For best results the source and target should have similar topology. Paste Instance The pasted and source UVs will share the same vertices. Pelt Always Show Seams Toggles display of the pelt seams in the viewports. Pelt Dialog Opens the Pelt Map Parameters dialog UVW Mapping | 1835 Unwrap UVW Function Keyboard Shortcut Description Pelt Dialog Mirror Stretcher Mirrors the stretcher points from one side of the mirror axis to the other. Pelt Dialog Relax Simulation Heavy Causes a relatively strong normalization of the distances between mapping vertices. Pelt Dialog Relax Simulation Light Causes a relatively weak normalization of the distances between mapping vertices. Pelt Dialog Reset Stretcher Returns the stretcher and the pelt UVs to their default shape and orientation. Pelt Dialog Run Simulation Runs the simulation, pulling the pelt seam vertices towards the stretcher points. Pelt Dialog Select Pelt UVs Selects all pelt UVs. Pelt Dialog Select Stretcher Selects all stretcher UVs. Pelt Dialog Snap Seams Aligns all the stretcher points to the edge seams on the pelt UVs. Pelt Dialog Straighten Stretcher Lets you specify a polygonal outline for the stretcher by moving points. Pelt Edit Seams Lets you specify a pelt seam by selecting edges with the mouse in the viewports. 1836 | Chapter 9 Modifiers Unwrap UVW Function Keyboard Shortcut Description Pelt Expand Selection To Seams Expands the current face selection to meet the pelt seam border(s). Pelt Map Activates pelt-mapping mode. Pelt Seam to Edge Sel (Add) Converts the pelt seam to an edge selection, adding to the current edge selection. Pelt Seam to Edge Sel (Replace) Converts the pelt seam to an edge selection, replacing the current edge selection. Pivot Snap ... (nine shortcuts) Snaps the Freeform gizmo pivot to the specified gizmo edge. Planar Map Faces/Patches Planar Threshold Enter Applies a planar map to the current selection. Turns on the Modify panel ➤ Planar Angle check box. Point to Point Edge Selection Lets you specify pelt seams by selecting vertices with the mouse in the viewports. Polygon Mode Applies only to triangle meshes. When turned on (the default), if you select a triangular face, 3ds Max will select all faces that belong to the poly that owns that face. UVW Mapping | 1837 Unwrap UVW Function Keyboard Shortcut Description Polygon Select Expands the current face selection to the poly. Prevent Reflattening When on, keeps Render To Texture from reflattening the mapping. Relax Applies the default Relax Tool settings to the current texture vertex selection. Relax Dialog Opens the Relax Tool dialog. Render UVW Template Renders the UVW coordinates to a bitmap. Reset Pivot On Selection When turned on (the default), the Freeform gizmo pivot is reset to the center every time the selection changes, otherwise the pivot maintains its offset. Reset UVWs Sets texture coordinates to the original values before Unwrap was applied. Save Current Settings As Default Saves current UI values to the default .ini file. Save UVW Lets you save the UVW data to disk as a .uvw file, which can be read in later or onto another mesh if they have similar topology. Scale Horizontal Scales the selection along the U axis. 1838 | Chapter 9 Modifiers Unwrap UVW Function Keyboard Shortcut Description Scale Vertical Scales the selection along the V axis. Select Inverted Faces Selects any faces in the Edit UVWs dialog that are not facing you. Select Overlapped Faces Selects overlapping faces in the Edit UVWs dialog. Show Edge Distortion Uses a green-to-red color range to depict distortion. Show Hidden Edges Toggles display of all edges. Show Map Toggles display of the image map. Show Seams in Viewport Alt+E Toggles display of cluster seams in the viewport. Works only when Edit UVWs dialog has focus. Show Shared Sub-objects Shows sub-objects that share edges/vertices. Show Subobject Counter Displays the number of selected objects in the editor window. Show Vertex Connections Tags all texture vertices that share the same geometry vertex with a unique ID. Sketch Activates Sketch Vertices. Sketch Dialog UVW Mapping | 1839 Unwrap UVW Function Keyboard Shortcut Sketch Reverse Vertex Order Snap Description Reverses the order of the selected vertices for Sketch mode. Applies to the Use Current Selection option for Sketch. Ctrl+S Toggles snapping. Snap to Grid/Vertex/Edge Sets the snap type. Soft Selection Edge Distance Equivalent to turning on Edge Distance. Soft Selection Edge Distance Range 1 Set Edge Distance to the specified value. Soft Selection Edge Distance Range 2 Set Edge Distance to the specified value. Soft Selection Edge Distance Range 3 Set Edge Distance to the specified value. Soft Selection Edge Distance Range 4 Set Edge Distance to the specified value. Soft Selection Edge Distance Range 5 Set Edge Distance to the specified value. Soft Selection Edge Distance Range 6 Set Edge Distance to the specified value. Soft Selection Edge Distance Range 7 Set Edge Distance to the specified value. Soft Selection Edge Distance Range 8 Set Edge Distance to the specified value. Spherical Map Applies spherical mapping. Stitch Stitches together shared edges of a polygon. 1840 | Chapter 9 Modifiers Unwrap UVW Function Keyboard Shortcut Description Stitch Dialog Opens the properties for the Stitch command. Sync Selection Mode Same as Sync to Viewport Sync Texture Selection to Viewport Synchronizes the selection in the Edit UVWs dialog to the selection in the viewport. Sync Viewport Selection to Texture Synchronizes the selection in the viewport to the selection in the Edit UVWs dialog. Texture Vertex Contract Selection - (minus sign), - (on numeric keypad) Shrinks the selection in the Edit UVWs dialog. Texture Vertex Expand Selection = (equal sign), + (on numeric keypad) Grows the selection in the Edit UVWs dialog. Texture Vertex Move Mode Q Lets you move vertices in editor. Texture Vertex Rotate Mode Ctrl+R Lets you rotate vertices in editor. Texture Vertex Scale Mode Lets you scale vertices in editor. Texture Vertex Weld Selected Ctrl+W Welds selected vertices in editor. Texture Vertex Target Weld Ctrl+T Lets you target-weld selected vertices in editor. TV Edge Sub-object Mode TV=Texture Vertex TV Element Mode TV=Texture Vertex TV Face Sub-object Mode TV=Texture Vertex UVW Mapping | 1841 Unwrap UVW Function Keyboard Shortcut TV Vertex Sub-object Mode Description TV=Texture Vertex Unfold Map Unfold Map Dialog Unfreeze All Unfreezes all frozen elements. Unhide All Unhides all hidden elements. Unwrap Options Ctrl+O (letter "o") Update Map Ctrl+U Updates map in editor. UV Edge Mode When on, selecting an edge expands the selection to include all edges in its loop on page 1816. UV Edge Select Expands an existing edge selection to include all edges in its loop on page 1816. Vertex Snap Vertex To Edge Select Converts vertex selection to an edge selection and puts you in Edge mode. Vertex To Face Select Converts vertex selection to a face selection and puts you in Face mode. Zoom Z Zoom Extents X Zoom Extents Selected Alt+Ctrl+Z 1842 | Chapter 9 Modifiers Unwrap UVW Function Keyboard Shortcut Zoom Region Ctrl+X Description Zoom Selected Element Zoom to Gizmo Shift+Spacebar UVW Editor Dialogs These topics describe support dialogs for the Unwrap UVW modifier. Flatten Mapping Dialog Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Unwrap UVW ➤ Edit button (on Parameters rollout) ➤ Mapping menu ➤ Flatten Mapping The Flatten Mapping method of procedural mapping applies planar maps to groups of contiguous faces that fall within a specified angle threshold. It prevents overlap of mapping clusters, but can still cause texture distortion. The Flatten Mapping dialog lets you control how clusters are defined and mapped. See also: ■ Normal Mapping Dialog on page 1845 ■ Unfold Mapping Dialog on page 1876 UVW Mapping | 1843 Interface Face Angle Threshold The angle used to determine the clusters to be mapped. As the Flatten Map gathers faces to be mapped, it uses this parameter to determine which faces get put in a cluster. This is the maximum angle that can exist between faces in a cluster. The higher this number, the larger the clusters will be, with consequently greater distortion introduced as a result of texture faces' proportions deviating from their geometry-equivalent faces. Spacing Controls the amount of space between clusters. The higher this setting, the larger the gap that appears between clusters. Normalize Clusters Controls whether the final layout will be scaled down to 1.0 unit to fit within the standard editor mapping area. If this is turned off, the final size of the clusters will be in object space, and they'll probably be much larger than the editor mapping area. For best results, leave this turned on. Rotate Clusters Controls whether clusters are rotated to minimize the size of their bounding box. For instance, the bounding box of a rectangle rotated 45 degrees occupies more area than one rotated 90 degrees. Fill Holes When turned on, smaller clusters will be placed in empty spaces within larger clusters to take the most advantage of the available mapping space. By Material IDs When on, ensures that no cluster contains more than one material ID after flattening. OK Accepts the settings, closes the dialog, and performs the mapping as specified. 1844 | Chapter 9 Modifiers Cancel Undoes any changes and closes the dialog. Set As Default Makes the current settings the defaults for the current session. Normal Mapping Dialog Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Unwrap UVW ➤ Edit button (on Parameters rollout) ➤ Mapping menu ➤ Normal Mapping The Normal Mapping method of procedural mapping applies planar maps based on different vector-projection methods. It is the most straightforward method, but can result in even greater texture distortion than with Flatten mapping on page 1843. The Normal Mapping dialog lets you control how clusters are defined and mapped. See also: ■ Flatten Mapping Dialog on page 1843 ■ Unfold Mapping Dialog on page 1876 Interface (drop-down) Sets the mapping method: ■ Back/Front ■ Left/Right UVW Mapping | 1845 ■ Top/Bottom ■ Box No Top ■ Box ■ Diamond Spacing Controls the amount of space between clusters. The higher this setting, the larger the gap that appears between clusters. Normalize Clusters Controls whether the final layout will be scaled down to 1.0 unit to fit within the standard editor mapping area. If this is turned off, the final size of the clusters will be in object space, and they'll probably be much larger than the editor mapping area. For best results, leave this turned on. Rotate Clusters Controls whether clusters are rotated to minimize the size of their bounding box. For instance, the bounding box of a rectangle rotated 45 degrees occupies more area than one rotated 90 degrees. Align By Width Controls whether the width or the height of the clusters is used to control the layout of the clusters. OK Accepts the settings, closes the dialog, and performs the mapping as specified. Cancel Undoes any changes and closes the dialog. Set As Default Makes the current settings the defaults for the current session. Pack UVs Dialog Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Unwrap UVW ➤ Edit button (on Parameters rollout) ➤ Tools menu ➤ Pack UVs The Pack UVs dialog contains controls for clusters. 1846 | Chapter 9 Modifiers Interface (drop-down) Sets the packing method: ■ Linear PackingUses a linear method to lay out the faces. This method is fast but not very efficient, and tends to leave a lot of unused UV space. ■ Recursive PackingSlower than the Linear method, but packs the faces more efficiently. Spacing Controls the amount of space between clusters. The higher this setting, the larger the gap that appears between clusters. Normalize Clusters Controls whether the final layout will be scaled down to 1.0 unit to fit within the standard editor mapping area. If this is turned off, the final size of the clusters will be in object space, and they'll probably be much larger than the editor mapping area. For best results, leave this turned on. Rotate Clusters Controls whether clusters are rotated to minimize the size of their bounding box. For instance, the bounding box of a rectangle rotated 45 degrees occupies more area than one rotated 90 degrees. Fill Holes When turned on, smaller clusters will be placed in empty spaces within larger clusters to take the most advantage of the available mapping space. OK Accepts the settings, closes the dialog, and performs the packing as specified. Cancel Undoes any changes and closes the dialog. Set As Default Makes the current settings the defaults for the current session. UVW Mapping | 1847 Pelt Map Parameters Dialog Unwrap UVW Modifier ➤ Face sub-object level ➤ Map Parameters rollout ➤ Pelt ➤ Edit Pelt Map Pelt mapping on page 1804 is useful for mapping organic models such as characters and creatures. This feature gives you a special editor with a virtual stretcher and springs that let you easily “pull” a complex UVW map flat. The result more closely approximates the actual shape of the object than other mapping methods, making it easier to create convincing texture maps. The primary function of the Pelt Map Parameters dialog is to let you stretch out the UVW coordinates into a flat, unified map that you can then use for texturing. When the dialog is open, the stretcher appears in the Edit UVWs dialog window as a circle of points, each of which is attached to a vertex on a pelt seam. You can manipulate these vertices exactly as any other vertex in the editor, selecting, rotating, moving, etc. Other special functions available on the dialog let you straighten out stretcher vertices, snap them to the pelt seams, and so on. 1848 | Chapter 9 Modifiers The stretcher points surround the pelt UVs in the Edit UVWs dialog window. The lines connecting the stretcher vertices to the pelt-seam vertices function as springs that pull the pelt seams outward in an animated simulation. After you set up the pelt UVs and the stretcher shape, you run the simulation by clicking the Simulate Pelt Pulling button. Depending on the results, further adjustment and simulation might be required. While Pelt mode is active and the Edit UVWs dialog is open, most standard UVWs editing functions are also available. So, for example, instead of stretching the entire pelt, you could select a subset of UVs to stretch. To access any commands that are unavailable in Pelt mode, such as Mapping menu commands, simply close the Pelt Map Parameters dialog. UVW Mapping | 1849 Procedure To use Pelt mapping: 1 Apply Unwrap UVW to the object. 2 Make an edge selection that you can later convert to pelt seams. It's not absolutely necessary to do this at this point, but the Edge sub-object level of the modifier gives you handy Ring and Loop tools as well as buttons to expand and shrink the edge selection automatically. TIP Creating the pelt seams is more art than exact science. Visualize the way the mesh should lie flat, and then select edges so the UVs can split in a natural way. 3 Go to the Face sub-object level of the modifier and select the faces to pelt map. To select all faces, press Ctrl+A. If you're not pelt-mapping the entire mesh, you can skip this step. 4 If you made an edge selection in step 2, click Map Parameters rollout ➤ Edge Sel To Seams. This copies the edge selection to pelt seams. If you didn't specify the pelt seams at the Edge sub-object level of the modifier, turn on Edit Seams or Point To Point Seam and then specify seams in the viewports. The pelt seams appear on the mesh as blue lines. 5 If you're not pelt-mapping the entire mesh, you probably want to map a region enclosed by a pelt seam. Click a face within the region to map and then click Exp. Face Sel to Pelt Seams. This expands the face selection to the full size of the region defined by the pelt seam. NOTE You can pelt map only one such region at a time. 6 On the Map Parameters rollout, click Pelt. This opens the Pelt Map Parameters dialog. It also opens the Edit UVWs dialog, if necessary, and displays the pelt UVWs and the stretcher in the editor window. By default, the stretcher appears as a circle of points centered on the pelt UVWs, with only the stretcher vertices selected. Also, springs, represented as dashed lines, connect the stretcher points and the pelt-seam vertices. 1850 | Chapter 9 Modifiers 7 If necessary, rotate the Pelt UVs so that the mapping coordinates are oriented correctly, and rotate the stretcher so that the springs form a symmetrical pattern. Typically you're looking for left-right symmetry. TIP Using Ctrl+click adds to the existing selection, as in the viewports. 8 On the Pelt Map Parameters dialog, click Start Pelt. The springs contract, pulling the pelt seam vertices toward the stretcher points. The internal UV vertices are also affected by this action. You can adjust the extent to which they're affected with the Decay setting on the Pelt Options rollout. 9 The simulation runs continuously until you stop it by clicking the Stop Pelt button. Do so when you’re satisfied with the solution, or would like to adjust something. 10 Continue adjusting the stretcher points, mapping vertices, dialog settings, etc., and re-running the solution until you get the desired results. If things get out of hand, simply undo, or click Reset and start over. Interface The primary Pelt Map commands are activated via the buttons on the Quick Pelt rollout. Other functions on this dialog let you adjust various stretching parameters. UVW Mapping | 1851 Quick Pelt rollout These are the main controls for the simulation, in which the springs attached to the stretcher pull the pelt seam vertices out, flattening the UVs. For best results, alternate between running the simulation (click Start Pelt) and relaxing the mesh. 1852 | Chapter 9 Modifiers Pelt group Start Pelt Runs the simulation, pulling the pelt seam vertices towards the stretcher points. The simulation runs continuously until you stop it by pressing Esc or clicking Stop Pelt (the same button). You can also stop it by clicking Reset, or Commit or Cancel at the bottom of the dialog. Pelt affects only selected texture vertices. However, if no texture vertices are selected, it affects all of them. Reset Stops the simulation if it’s running, and returns the pelt and stretcher to their original condition. You can also reset the pelt by exiting pelt mapping mode by clicking either Commit or Cancel, and then clicking the Pelt button again. Simulation Samples The number of samples around each pelt-seam point used in the simulation. A higher value results in a greater pulling effect. Default=5. Range=1 to 50. Show Local Distortion When on, depicts the differences between texture vertices and mesh vertices for visible faces; that is, faces selected in the viewport when Filter Selected Faces on page 1813is on. For more information, see Show Edge Distortion on page 1828. Normally, when showing edge distortion, 3ds Max takes the entire mesh into account. This can result in an unrealistic depiction of distortion when you use pelt mapping on only part of a mesh (for example, the head of a character). For a more accurate depiction of distorted edges with respect to the part of the mesh that you're currently pelt-mapping, turn on this option, turn on Filter Selected Faces, and select in the viewport only the faces that you're currently pelt-mapping. Relax group Start Relax Normalizes the distances between mapping vertices. The relaxation process runs continuously until you stop it by pressing Esc or clicking Stop Relax (the same button). Relax affects only selected texture vertices. However, if no texture vertices are selected, it affects all of them. Settings Opens the Relax Tool dialog on page 1856 for setting relax parameters. While this dialog is open, you can start the relax by clicking its buttons or the Start Relax button on the Pelt Map dialog. UVW Mapping | 1853 Pelt Options rollout Stretcher group These tools help adjust the stretcher shape. Straighten Stretcher Lets you specify a polygonal outline for the stretcher by moving points. When this mode is active, move one stretcher vertex, and then move a second, non-adjacent point to line up all intervening vertices in a straight line between the two. This process is fully interactive; as you move the second vertex, the intervening vertices continually change position to maintain the straight line. Continue moving vertices to create a polygonal outline; to quit, click Straighten Stretcher again. NOTE While Straighten Stretcher is active, you can pan and zoom the editor window at any time using contextual controls (middle-button drag or turn mouse wheel, respectively) to access a different part of the window. After doing so, 3ds Max still remembers the last vertex you dragged and draws a straight line between it and the next one you drag. Similarly, you can adjust the window using the control buttons on page 1813 and then return to straightening the stretcher. If the control requires more than a single click, such as Pan, exit the control by right-clicking in the window and then return to straightening the stretcher. TIP To create a symmetrical outline for the stretcher, create the outline on one side and then use Mirror Stretcher (see following). Snap To Seams Aligns all the stretcher points to the edge seams on the pelt UVs. This causes the stretcher to take on the pelt outline. TIP For best results, use this command only after stretching. Mirror Stretcher Mirrors the stretcher points from one side of the mirror axis (see following) to the other. By default, Mirror Stretcher mirrors the points from the right side to the left. Mirror Axis Lets you specify the orientation of the mirror axis. The axis takes the form of three yellow lines forming a T. The leg of the T indicates the side that will be mirrored when you use Mirror Stretcher (see preceding), and the crossbar indicates the axis across which the mirroring will occur. Default=0.0. Range=0.0 to 360.0. Select group These commands let you select all the stretcher points or the pelt UVs. As with other selection methods, you can press and hold Ctrl when you use either 1854 | Chapter 9 Modifiers of these to add to the current selection. That is, to select all stretcher points and pelt UVs, click one button, press and hold Ctrl, and then click the other button. Select Stretcher Selects all stretcher points. Select Pelt UVs Selects all pelt texture vertices. Springs group These parameters control the springs that are used to stretch the pelt. In most cases you won’t need to change these values, except possibly for Pull Strength. Pull Strength The magnitude of the stretching action when you click Simulate Pelt Pulling. Default=0.1. Range=0.0 to 0.5. If the stretching is too gradual, increase Pull Strength for a more forceful stretching action. Dampening Applies a dampening or inhibiting factor to the pulling action. The higher the Dampening value, the greater the inhibition of the stretcher. Default=0.16. Range=0.0 to 0.5. Stiffness Sets the rate at which the springs pull. The higher the Stiffness value, the more abrupt the pulling action. Default=0.16. Range=0.0 to 0.5. Decay The rate of falloff of the influence of each pelt-seam vertex on the other mapping vertices. Higher Decay values typically result in significantly greater stretching, or undesirable results. For best results, keep the Decay value low. Default=0.25. Range=0.0 to 0.5. Lock Open Edges Locks the open edges in place. This typically applies to using the stretcher on a partial selection of mapping vertices in the pelt region. When Lock Open Edges is on, selected vertices next to unselected vertices tend to stay in place during stretching. When Lock Open Edges is off, the selected vertices tend to pull away from the unselected vertices. Commit/Cancel Commit Saves changes and closes the dialog. Cancel Discards changes and closes the dialog. UVW Mapping | 1855 Relax Tool Dialog Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Unwrap UVW ➤ Edit button (on Parameters rollout) ➤ Edit UVWs dialog ➤ Make a selection. ➤ Tools menu ➤ Relax Dialog The Relax Tool dialog offers an advanced toolset for modifying the spacing of selected texture coordinates parametrically, for the purpose of eliminating or minimizing distortion in texture maps. The dialog provides three different methods for relaxing vertices, plus several numeric parameters and two check boxes. You can use Relax to separate texture vertices that are too close together to texture easily, and to resolve overlapping areas. The dialog is non-modal, which means that you can work directly in the editor while keeping the dialog open. You can make a selection of texture vertices, apply relaxation, make a different selection, apply relaxation, and so on, without having to close the Relax Tool dialog. TIP When using Relax with complex objects, you might find that vertices in interior sections of the texture mesh don't relax properly because they have nowhere to go. In such cases, try making a seam: Select an edge loop or part of a loop, and then use the Break on page 1825 function to separate the mesh at the seam. Alternatively, you could make a face selection and then use Detach Edge Verts. For example, Select Overlapped Faces ➤ Expand Selection ➤ Detach Edge Verts will break the selection away from the mesh into a new UV element. TIP Effective use of the Relax tools requires that the geometry and texture vertices be in the same order. If you get unexpected results using Relax, try mirroring the texture vertices to reverse their order. Procedures To relax texture coordinates: 1 Use the Edit UVWs dialog to select the texture-coordinate vertices to relax. You can make this selection at any sub-object level (Vertex, Edge, or Face), but Relax always works on vertices. 1856 | Chapter 9 Modifiers 2 On the Tools menu, choose Relax Dialog. This opens the Relax Tool dialog. 3 Choose the relax method. Three are available from the drop-down list: ■ Relax By Face Angles ■ Relax By Edge Angles ■ Relax By Centers The default method is Relax By Edge Angles; this usually gives the best results. 4 Do either of the following: ■ Set the other options and then click Apply. This applies the Amount and Stretch settings for the specfied number of iterations. As the relaxing progresses, a message appears showing you which frame is being processed. A frame is equivalent to an iteration. ■ Click Start Relax. This ignores the Iterations setting and initiates a continuous relax process, during which you can which you can change any of the other parameters to see the results in real time. The appropriate relax method and other settings depend on a variety of conditions, including the complexity and topology of the mesh, so experimentation is usually required. Relaxing is undoable, so if one method doesn't work, undo and try another. UVW Mapping | 1857 To use Relax to fix overlapping faces: This procedure provides general guidelines for resolving overlapping texture faces. It might not work in every case, but it should give you a starting point for correcting most situations. 1 Open the Edit UVWs dialog and in the Selection Modes group, click Face Sub-object Mode. 2 From the Edit UVWs dialog ➤ Select menu, choose Select Overlapping Faces. Only the overlapping faces are selected. 3 Click faces. (Expand Selection) to select faces surrounding the overlapping This gives the overlapping faces a larger area in which to spread out. 4 From the Tools menu, choose Relax Dialog. 5 On the Relax Tool dialog, set Stretch to an intermediate value. If the overlapping is considerable, use 0.5 or higher. If it's relatively small, try 0.1 to 0.3. 6 Click Apply. If this seems to help, continue clicking Apply, or just click Start Relax, and wait until the overlapping is resolved. If not, undo (Ctrl+Z) and try using Relax By Face Angles instead, or increase the Amount value, or change the Stretch value, or use combinations of the above. 1858 | Chapter 9 Modifiers Interface [relax method] The method used to relax the texture vertices. Choose from the drop-down list: ■ Relax By Face AnglesRelaxes the vertices based on the shape of the faces. It tries to align the geometric shape of the face to the UV face. This algorithm is mainly used to remove distortion and not so much to remove overlap, and is best suited for simpler shapes. ■ Relax By Edge AnglesThis default method is similar to Relax By Face Angles except that it uses the edges that are attached to the vertices as the shape to match. It typically works better than Relax By Face Angles but tends to take longer to reach a solution. This method is bested suited for more complex shapes. ■ Relax By CentersThe original Relax method from previous versions of 3ds Max. It relaxes vertices based off the centroids (centers of mass) of their faces. It does not take into account the face or edge shapes/angles so it is mainly useful for removing overlap or for faces that are mostly rectangular. Iterations The number of times the Relax settings are applied when you click Apply. Each iteration is applied successively, to the results of the previous iteration. Range=0 to 100000. Default=100. Amount The strength of the relaxation applied per iteration. Range=0.0 to 1.0. Default=0.1. Stretch The amount of stretching that can occur. Stretching is useful mainly to resolve overlapping texture vertices, at the cost of reintroducing distortion into the texture mesh. Range=0.0 to 1.0. Default=0.0. UVW Mapping | 1859 Keep Boundary Points Fixed Controls whether vertices at the outer edges of the texture coordinates are moved. Default=off. When off, the outer edge of the texture mesh can float, allowing a wider range of the available texture-mapping space to be used. Typically you would keep this off when relaxing an entire element or cluster, so 3ds Max can minimize distortion by moving the edges. When relaxing an interior subset of vertices, it is recommended you turn this on to prevent the selected vertices from overlapping unselected vertices. For Relax By Edge and Face Angles, turn this off until you get a good solution for the outer boundaries of the mesh and then turn it on to resolve the interior sections. Save Outer Corners Preserves the original positions of texture vertices farthest away from the center. Available only with the Relax By Centers method. Start Relax Initiates the relax process on a continuous basis, ignoring the Iterations setting. During this time, you can change the other dialog settings and see the results in real time. To halt the relax process, click outside the dialog, press Esc, or click the same button (“Stop Relax”). To revert to the previous mapping, use Undo (Ctrl+Z). Apply Begins the relaxation process using the current settings. As relaxation takes place, a textual progress indicator appears at the bottom of the dialog, showing the current iteration (Process frame) and the total number of iterations being processed. To abort the relaxation process, press Esc. You can then use Undo (Ctrl+Z) to return to the prior state, if necessary. Set As Default Saves all current settings as the Relax defaults, so they are recalled from session to session. Render UVs Dialog Unwrap UVW modifier ➤ Edit button (on Parameters rollout) ➤ Tools menu ➤ Render UVW Template The Render UVs dialog, part of the Unwrap UVW editor on page 1807, lets you export a model's texture mapping data as a template; a bitmapped image file. you can then import this template into a 2D paint program, apply color as needed, and then bring it back into 3ds Max as a texture map to apply to the model. The exported file looks like a screen shot of the editor window, but without any background texture, and has the added options of setting color and alpha options for both the edges and the area they cover. 1860 | Chapter 9 Modifiers For a procedure that covers usage of this dialog, see To export texture coordinates to a paint program: on page 1795. Interface Width/Height The horizontal and vertical dimensions of the output (rendered) template image in pixels. Guess Aspect Ratio Adjusts the Height value to produce an output aspect ratio based on the Width value and the dimensions of the UV grid. For instance, if a rectangular UV grid measures 20 x 100 units and you click Guess Aspect Ratio, it would try to keep the bitmap at the 1:5 aspect ratio. This makes painting on the bitmap easier because the bitmap is at the correct aspect ratio for the mesh. UVW Mapping | 1861 WARNING Using this function can result in Height value that is not a power of 2. If your mesh is destined for a real-time renderer, adjust the resulting Height value to the nearest power of 2 after using Guess Aspect Ratio. For example, if it sets Height to 650, change it to 512 before rendering the template. Force 2-Sided When on, all UV edges are rendered into the template. When off, only UV edges of faces facing the viewer are included; edges of back-facing faces are not rendered. Fill group Fill is the coloring applied to the rendered bitmap in the face areas between edges. By default, there's no fill; the bitmap color is black, and the alpha channel is fully transparent. You can change this to a solid color or to shading derived from the mesh and lighting in the scene, or from the normal directions. NOTE The overlap color overrides the fill color. For example, if Show Overlap is on and all visible faces overlap other faces, all faces will show the overlap color, ignoring the fill color. [color swatch] Shows the fill color used for faces when Mode is set to Solid. To change the color, click the swatch. Alpha Sets the alpha-channel value for the fill areas when Mode=Solid, Normal, or Shaded. When Mode=None, the fill alpha is always 0.0 (transparent). Range=0.0 (transparent) to 1.0 (opaque). Default=1.0. The alpha channel is included with the rendered image only when you save in a format that supports transparency, such as TIF or Targa. Mode Specifies the method used for filling faces in the rendered template. ■ None: No fill is rendered. This setting ignores the Alpha value, and sets fill alpha to 0.0; that is, fully transparent. ■ Solid: Renders faces using the fill color specified by the swatch at the top of the Fill group. ■ Normal: Renders each vertex’s normals into the bitmap. The result looks similar to a normal map. ■ Shaded: Uses a simple lighting setup to render shading across the UV surface. Show Overlap When on, fills faces that overlap other faces with the overlap color, shown in the color swatch to the right. Default=on. To change the overlap color, click the color swatch. 1862 | Chapter 9 Modifiers Edges group [color swatch] Shows the color used for rendered edges. To change the color, click the swatch. Alpha Sets the alpha-channel value for edges. Range=0.0 (transparent) to 1.0 (opaque). Default=1.0. The alpha channel is included with the rendered image only when you save in a format that supports transparency, such as TIF or Targa. Visible Edges When on, edges are rendered using the specified edge color. Default=on. Invisible Edges When on, hidden edges are rendered using the specified edge color. Default=off. Hidden edges are most often found dividing mesh polygons into triangles. They aren't present in polygon objects. Seam Edges When on, seam (outside) edges are rendered using the specified seam color. Default=on. To change the seam color, click the color swatch. The default color (green) is the same as that used for seam edges in the Edit UVWs dialog, but the two can be changed separately. _____ Render UV Template Renders the template bitmap in a new rendered frame window on page 6963. To save the rendered frame, click the Save Bitmap button. NOTE This command renders the normalized UV space, from (0,0) to (1,1), as depicted in the editor by a dark blue outline. For best results, make sure the texture UVs fill this space but don't exceed its bounds. TIP To turn off the background texture, which tends to obscure the UV space outline, click the Show Map button on the upper toolbar. UVW Mapping | 1863 Sketch Tool Dialog Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Unwrap UVW ➤ Edit button (on Parameters rollout) ➤ Tools menu ➤ Sketch Vertices If you need to match a contiguous selection of texture vertices to an outline in a bitmap, whether an irregular shape, a straight line, or a geometric shape, you can use the Sketch tool to perform the operation quickly, rather than dragging the vertices one at a time. Procedures Example: To sketch texture vertices free form: You can start with the vertices already selected, or use the Sketch tool to select them. In this example, we'll assume the latter. 1 Choose Sketch Vertices. 2 In the Sketch Tool dialog, next to Select By, choose Drag Selection, if necessary. 3 Next to Align To, choose Free Form, if necessary. 4 Make sure Show Vertex Order and Interactive Mode are turned on. Leave Drag Cursor Size at the default setting. 5 Click OK to close the dialog. The mouse cursor takes the form of a circle, which means you're in “drag select” mode. 6 In the editor window, drag the cursor over the vertices to select, and then release the mouse button. As you drag, each vertex is assigned a consecutive number. When you release the mouse button, the cursor turns into a pencil, which means you're in “sketch” mode. NOTE Before you start sketching, each successive mouse click alternates between drag and sketch modes. 7 In the editor window, drag a wavy line. 1864 | Chapter 9 Modifiers The selected vertices follow the line in numeric order, spreading out evenly over its length. To start the sketch over, release the mouse button, and then drag again. Alternatively, if you press and hold Alt, and then press and release the mouse button, you'll draw a straight line by moving the mouse. Click and move again to draw connected straight-line segments. You can combine free-form and straight-line sketching freely: ■ To append a free-form line to a straight-line segment, release the Alt key and then begin dragging. ■ To append a straight-line segment to a free-form line, press and hold Alt as you drag, and then release the mouse button and move the mouse. 8 To exit the Sketch tool, right-click in the editor window. Interface Select by Lets you choose how to select the vertices to sketch: ■ Pick SelectionLets you pick the vertices one by one. When you click OK, a Pick cursor appears comprising a + sign and the letter P; when the cursor is over a vertex, the + sign becomes larger. To finish picking, right-click, and then drag to sketch. After sketching, you return to Pick mode, and so on. To exit, right-click. ■ Drag SelectionLets you pick multiple vertices by dragging. When you click OK, the mouse cursor appears as a circle. After you drag to select vertices, release the mouse button, and then drag (or Alt+click) to sketch. As with UVW Mapping | 1865 Pick Selection, the mouse cursor continues to alternate between Select and Sketch modes until you right-click to exit. ■ Use Current SelectionUses the current selection; you cannot change the selection while using the tool. If the current selection is edges or faces, Sketch uses all vertices attached to selected sub-objects. Align To Lets you choose how to sketch: ■ Free FormDrag to sketch free form (like drawing with a pencil), or Alt+click to sketch connected ■ LineDrag to sketch a single, straight line segment. ■ BoxDrag diagonally to sketch a rectangle. ■ CircleDrag outward to sketch a circle, and then move the mouse in a circle to rotate the circle. Show Vertex Order Displays numbered labels that indicate the order in which vertices were selected and will spread out during sketching. Interactive Mode Shows vertex positioning as you sketch. Turn off for faster feedback. Drag Cursor Size Sets the size of the mouse cursor used while dragging a selection. Default=8. Range=1 to 15. OK Accepts the changes and closes the dialog. Cancel Undoes any changes and closes the dialog. Set As Default Makes the current settings the defaults for the current session. Spline Map Parameters Dialog Unwrap UVW Modifier ➤ Face sub-object level ➤ Map Parameters rollout ➤ Spline Spline mapping on page 1804 is useful for mapping curved objects with a cylindrical cross-section, such as a snake or tentacle, as well as curved flat surfaces such as a winding road. This feature lets you use any spline to specify mapping on a mesh surface, as well as manipulate the mapping gizmo via cross-sections for greater accuracy. The result more closely approximates the actual shape of such objects than other mapping methods, making it easier to create convincing texture maps. 1866 | Chapter 9 Modifiers The following illustration shows two objects that were created by extruding a circular polygon along an S-shaped spline. Such objects have no native mapping coordinates. The object on the left uses simple planar mapping, with the plane parallel to its largest dimension. The object on the right uses spline mapping, with the spline (also used to extrude the polygon) inside the object. Working with Cross-sections You can adjust spline mapping in two ways: ■ By manipulating the assigned spline. To use this method, you must exit the modifier, select the spline, and then transform it or its sub-objects (typically the vertices). To see the results of such manipulation, you must re-select the mapped object, go to the Face sub-object level, and then click the Spline button. ■ By manipulating the cross-sections in the Unwrap modifier.This is the recommended method because it provides better feedback. Thus, it is important to make sure the spline fits the mapped object well before applying the spline mapping. If you have problems manipulating the UVW Mapping | 1867 cross-sections, sometimes the fastest way to recover is to delete the Unwrap UVW modifier and start fresh with a new one. When manipulating cross-sections, keep the following points in mind: ■ When Spline mode is active (that is, the Spline Map Parameters dialog is open), you can select and transform only cross-sections. To select cross-sections, use standard methods, such as clicking, Ctrl+clicking, region-selecting, and, to select all cross-sections, Ctrl+A. Selected cross-sections are yellow, and unselected ones are orange. ■ All cross-section transforms take place in the Local coordinate system. ■ Moving a cross-section on the Z axis always moves it along the length of the spline used for mapping. However, doing so does not change the mapping between the moved cross-section and the next one. For example, moving a cross-section closer to its neighbor does not compress the intervening texture coordinates. The main reason for having cross-sections close together is for finer control over mapping within complex areas of the model. ■ With the Planar mapping method, it’s important to use well-formed mesh objects; that is, objects without narrow bends, with evenly spaced tessellating edges that cross the “track” perpendicular to its sides. In particular, avoid objects with the following two characteristics: ■ Narrow bends. In particular, this type of shape can cause tessellating edges that connect to the same side instead of crossing the “track,”as shown in the following illustration. 1868 | Chapter 9 Modifiers ■ “Fan” edges, where several edges share a single endpoint. This can cause the type of mapping anomalies shown in the following illustration. UVW Mapping | 1869 Procedure To use Spline mapping: 1 Create a mesh object to map, and a spline with which to specify the mapping. Position the spline inside the mesh object. For best results, always center the spline inside the mesh. TIP To create the spline from a series of edges, use Create Shape from Selection on page 2285. 2 Apply Unwrap UVW to the mesh object. 3 Go to the Face sub-object level, and then select the faces to map. To map the entire object (that is, all faces), leave all faces unselected. 4 On the Map Parameters rollout, click Spline. The Spline Map Parameters dialog opens. 5 Click the Pick Spline button, and then select the spline to use for mapping. Either click the spline in the viewport or press H and select it by name. At this point, or if you already applied a spline, the mapping gizmo appears around the spline, showing the outlines and cross-sections. 1870 | Chapter 9 Modifiers S-shaped object with circular spline mapping 6 If necessary, modify the mapping by transforming the cross-sections in the viewports and adjusting the Spline Map Parameters dialog settings. Keep in mind that changes affect only the mapping on selected faces, unless no faces are selected, in which case changes affect the mapping on all faces. 7 If you use the Planar mapping method, make sure the cross-sections are parallel to the flat surface. One way to do so is to select all the cross-sections (press Ctrl+A), then click the Align To: Face button, and then click a face on the surface. UVW Mapping | 1871 Interface Spline group These settings are for overall mapping. Pick Spline Lets you specify a spline to use for mapping. Click this button and then select the spline. After you specify the spline, its name appears in the space above the button. If the spline contains several elements, the element used for mapping is the one you click. Mapping Lets you specify how the modifier projects the map onto the mesh. ■ CircularUse for objects with a circular cross-section, like a tube. With circular projection, the cross-sections are circular by default. You can change the mapping by transforming these cross-sections. For example, you can create a spiral mapping effect by rotating the cross-sections around their local Z axes by successively greater amounts. ■ PlanarUse for flat objects, like a road. 1872 | Chapter 9 Modifiers With planar projection, the cross-sections are lines. For best results, make sure the cross-sections are parallel to the mesh surface, and perpendicular to the spline used for mapping. In most cases, this happens by default. Use Manual Seams When on, uses the pelt seam on page 1805 as the texture border. When off, uses the green seam line built in to the spline-mapping gizmo. This option is available only with Circular mapping, and works best with relatively simple objects with open ends. Cross Section group After you assign a spline in the Spline group (see preceding), 3ds Max applies the spline mapping to the object, creating a cross-section for each vertex in the spline. The settings in this group let you manipulate the cross-sections. To select a cross-section, click it. To select all cross-sections, press Ctrl+A. In Spline mode you can transform selected cross-sections in the local coordinate system, moving, rotating, and scaling them as you like to adjust the texture coordinates. NOTE If you have two cross-sections close together with very different orientations or scaling values, the mapping might show visual anomalies (such as pinched UVs) as the Unwrap modifier interpolates quickly from one section to the next. Fit Resizes selected cross-sections to match the adjacent geometry. NOTE With asymmetrical geometry, Fit might give unexpected results because it adjusts the cross-section to the closest parts of the neighboring geometry along the cross section's local X and Y axes. In such cases, you might need to transform the cross-section manually to get the best fit. Add Lets you add cross-sections for finer control over the interpolation of the mapping between cross-sections. Click this button and then click the spline where you want to add a cross-section. The mouse cursor changes to a crosshairs when over the spline. Continue adding cross-sections as necessary, and then click the button again to exit Add mode. Remove Deletes any selected cross-sections. The end cross-sections cannot be deleted. Align To: ■ SectionAligns the selected cross-sections to another cross-section. Select the cross-sections to align, click Section, and then click the target UVW Mapping | 1873 cross-section. Aligned cross-sections pick up the orientation and scale of the target. ■ FaceAligns the selected cross-sections to a mesh face on the modified object. Select the cross-sections to align, click Face, and then click the face to align them to. This tool is most useful with Planar mapping. Reset Count to Lets you specify the number of evenly spaced cross-sections. Set the numeric value and then click the Reset Count To button. This tool is useful when the mapping spline has many vertices, and you want to reduce the number of cross-sections to a manageable number. Commit/Cancel Commit Applies changes and closes the dialog, exiting spline-mapping mode. Cancel Discards changes and closes the dialog, exiting spline-mapping mode. Stitch Tool Dialog Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Unwrap UVW ➤ Edit button (on Parameters rollout) ➤ Tools menu ➤ Stitch Selected After you've separated your object's UVW coordinates into clusters, either manually or using one of the automatic tools on the Mapping menu on page 1826, you can use the Stitch tool to recombine specific clusters by merging corresponding edges. NOTE You can stitch together only two clusters at a time. If the current sub-object selection is shared by more than one cluster, then “majority rules”: Stitch attaches the cluster that shares the most sub-objects. If the number of sub-objects shared by multiple other clusters is the same, 3ds Max attaches the cluster whose shared sub-objects were chosen first. Procedures To stitch two clusters together: 1 In the “source” cluster, select sub-objects along an edge you want to connect. 1874 | Chapter 9 Modifiers By default, this causes the shared edges to highlight in the “target” object(s). 2 Choose Stitch Selected. The clusters are connected. 3 Adjust the settings on the Stitch Tool dialog. Feedback takes place in real time. 4 Click OK to accept or Cancel to abort. Interface Align Clusters Moves the target cluster to the source cluster, and rotates the target cluster into place if necessary. When off, the target cluster remains in its original position and orientation. Default=on. TIP If your clusters overlap after stitching with Align Clusters turned on, cancel the stitching, and then position and align them as you want them after stitching. Then use the Stitch tool with Align Clusters turned off. Scale Clusters Resizes the target cluster to a size comparable to that of the source cluster. Takes effect only when Align Clusters is on. Default=on. UVW Mapping | 1875 Edges chosen to stitch (left); Clusters aligned (center); Clusters aligned and scaled, with Bias=0 (right) Bias When Scale Clusters is off, Bias sets the extent to which attached sub-objects are moved from their original positions. At Bias=0, the sub-objects remain in their original positions in the source cluster. At Bias=1, sub-objects remain in their original positions in the target cluster. At in-between settings, their positions are averaged between the two. When Scale Clusters is on, Bias sets where 3ds Max derives the scaling of the target cluster(s). At Bias=0, the scale is fully derived from the stitched edges on the source. At Bias=1, the scale is fully derived from the stitched edges on the target. At in-between settings, the scaling is averaged between the two. OK Accepts the changes and closes the dialog. Cancel Undoes any changes and closes the dialog. Set As Default Makes the current settings the defaults for the current session. Unfold Mapping Dialog Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Unwrap UVW ➤ Edit button (on Parameters rollout) ➤ Mapping menu ➤ Unfold Mapping The Unfold Mapping method of procedural mapping eliminates texture distortion, but can result in overlapping coordinate clusters. The Unfold Mapping dialog lets you control how faces are unfolded. 1876 | Chapter 9 Modifiers See also: ■ Flatten Mapping Dialog on page 1843 ■ Normal Mapping Dialog on page 1845 Interface (drop-down) Sets the unfold method by specifying whether 3ds Max will start unfolding with the closest or farthest face angle, with respect to distance. In almost all cases, you'll get better results with Walk To Closest Face. ■ Walk To Closest Face ■ Walk to Farthest Face Normalize Clusters Controls whether the final layout will be scaled down to 1.0 unit to fit within the standard editor mapping area. If this is turned off, the final size of the clusters will be in object space, and they'll probably be much larger than the editor mapping area. For best results, leave this turned on. OK Accepts the settings, closes the dialog, and performs the mapping as specified. Cancel Undoes any changes and closes the dialog. Set As Default Makes the current settings the defaults for the current session. UVW Mapping | 1877 Unwrap Options Dialog Select an object. ➤ Modify panel ➤ Modifier List ➤ Object-Space Modifiers ➤ Unwrap UVW ➤ Edit button (on Parameters rollout) ➤ Edit UVWs dialog ➤ Options menu ➤ Preferences Set preferences for the Unwrap UVW editor using controls in the Unwrap Options dialog. 1878 | Chapter 9 Modifiers Interface UVW Mapping | 1879 Colors group Contains color swatches to customize the display of the UVW lattice. With certain maps, the default colors may become difficult to see. Use these swatches to choose colors that work better for your specific map. To change a color, click its swatch, and then use the Color Selector on page 304 to choose a new one. Line Color Specifies the color of the UVW lattice lines. Default=white. Handle Color The color assigned to patch handles. Default=yellow. Show Shared Subs When turned on, non-selected sub-objects shared by the current selection are highlighted in this color. In most cases, the shared sub-objects are edges. With a single vertex, the shared sub-objects are vertices. Defaults=on, blue. Selection Color Specifies the color of selected UVW sub-objects. Default=red. Gizmo Color The color assigned to the Freeform gizmo on page 1809. Default=orange. Display Seams When on, lets you assign a distinctive color to coordinate clusters' boundaries that appears in the viewports. Defaults=on, green. Show Grid When on, the grid lines are visible. Defaults=on, dark blue. You can also set the grid size on page 1882. Background Color The color assigned to the background where the texture map isn't displayed. Default=dark gray. (drop-down) Lets you assign a fill pattern to selected faces. Default=Cross Hatch Horizontal/Vertical. Display Preferences group Contains controls affecting the map display in the view window. Render Width Specifies the width resolution of the image displayed in the view window. This does not change the size of the image, but only the resolution. Render Height Specifies the height resolution. Use Custom Bitmap Size When turned on, scales the bitmap texture to the values specified by Width and Height. You can adjust these settings to scale and reproportion the bitmap texture in relation to the texture coordinates. 1880 | Chapter 9 Modifiers This scaling doesn't affect the bitmap in the material, but only as viewed in the editor. TIP When working with large textures, reduce the bitmap size for faster feedback. And when working with disproportionate textures, setting the dimensions closer to each other in the editor can make it easier to work. Tiles The number of times the texture image is repeated, counting outward in eight directions (the four corners and the four sides). With Tiles=1, the result is a 3 x 3 grid. With Tiles=2, the result is a 5 x 5 grid, and so on. You can toggle the tiling feature with the Tile Bitmap check box, described below. Tile Brightness Sets the brightness of the tiled bitmap. At 1.0, the brightness equals that of the original image; at 0.5 it's half the brightness; and at 0, it's black. This is the same setting as Brightness in the UVWs editor ➤ Bitmap Options group (available with Show Options). Tile Bitmap When turned on, you can repeat the bitmap in the editor, displaying tiling set in the material. You can use any part of the tiled image for setting texture coordinates. This is helpful when the sections of the texture image are packed tightly together and the mesh contains many different areas to map. Affect Center Tile When turned on, the Brightness setting affects all tiles equally. When off, the center, or “home,” tile always remains at full brightness, so you can easily distinguish the home tile from the copies. Constant Update in Viewports Affects the adjusting of UVW vertices in the viewport while you move the mouse. Default=off (the effect of adjusting the UVW vertices does not appear in the viewport until you release the mouse). Show Image Alpha Displays the alpha channel of the background image in the editor, if it exists. Show Hidden Edges Toggles the display of face edges. When turned off, only faces appear. When turned on, all mesh geometry appears. Blend Tile to Background Affects the color to which tiles set to Brightness less than 1.0 blend. When turned off, tiles blend to black. When turned on, tiles blend to the background color on page 1880. UVW Mapping | 1881 Misc. Preferences Center Pixel Snap When turned on, snaps to the center of pixels of the background images instead of pixel edges. Grid Snap When on, snaps to grid edges and intersections. Vertex Snap When on, snaps to texture-coordinate vertices. Edge Snap When on, snaps to texture-coordinate edges. Weld Threshold Sets the radius within which welding using Weld Selected on page 1825 takes effect. The setting is in UV-space distance. Default=0.01. Range=0 to 10. Grid Size Sets the spacing of horizontal and vertical grid lines. Default=0.1. Setting Grid Size to 0 effectively turns off the grid. At the highest value, 1.0, the grid is the same size as the texture. Snap Str(ength) Sets the grid snap on page 1813 strength. Default=0.2. Range=0 to 0.5. Setting the strength to 0 effectively turns off snapping. At values less than 0.3, grid snapping tends to go to grid edges. At the highest value, 0.5, grid snapping goes only to grid intersections. Selection Preferences Soft Selection Edge Distance When Soft Selection on page 1814 is turned on, limits the falloff region by the specified number of edges between the selection and the affected vertices. The affected region is measured in terms of "edge-distance" space rather than absolute distance. Default=16. Single Click Hit Size Sets how far away you can click from a sub-object to select it. Default=4. Range=1 to 10. Selected Tick Size Sets the size of the square icon the editor window uses to indicate selected vertices. Default=2. Range=1 to 10. _____ OK/Cancel/Defaults Click OK to accept, or Cancel to cancel the changes in the dialog. Click Defaults to restore all settings in this dialog to default values. 1882 | Chapter 9 Modifiers UVW Map Modifier Select an object. ➤ Modify panel ➤ Modifier List ➤ UVW Map Select an object. ➤ Modifiers menu ➤ UV Coordinates UVW Map By applying mapping coordinates to an object, the UVW Map modifier controls how mapped and procedural materials appear on the surface of an object. Mapping coordinates specify how bitmaps are projected onto an object. The UVW coordinate system is similar to the XYZ coordinate system. The U and V axes of a bitmap correspond to the X and Y axes. The W axis, which corresponds to the Z axis, is generally only used for procedural maps. A bitmap's coordinate system can be switched in the Material Editor to VW or WU, in which case the bitmap is rotated and projected so that it is perpendicular to the surface. Mapping a sphere and a box. UVW Mapping | 1883 By default, primitive objects such as spheres and boxes have mapping coordinates, as do loft objects and NURBS surfaces. Scanned, imported, or hand-constructed polygonal or patch models do not have mapping coordinates until a UVW Map modifier is applied. NOTE Drawings that are imported or linked from Autodesk Architectural Desktop and Autodesk Revit do retain the mapping coordinates that were assigned to objects by those products. If you apply a UVW Map modifier to an object with built-in mapping coordinates, the applied coordinates take precedence if map channel on page 9210 1 in the UVW Map modifier is used. The Generate Mapping Coordinates option, available during the creation of primitives, uses map channel 1 by default. You use the UVW Map modifier to: ■ Apply one of the seven types of mapping coordinates to an object on a specified map channel. A diffuse map on map channel 1 and a bump map on map channel 2 can have different mapping coordinates and can be controlled separately by using two UVW Map modifiers in the modifier stack ■ Apply one of the seven types of mapping coordinates to an object. ■ Transform the mapping gizmo to adjust map placement. Objects with built-in mapping coordinates lack a gizmo. ■ Apply mapping coordinates to an object with no mapping coordinates, an imported mesh, for example. ■ Apply mapping at the sub-object level. Map Channels You can control the type of mapping coordinates and the placement of the mapping gizmo for each bitmap in a material that uses multiple bitmaps by assigning explicit map channels to the bitmaps. In the Material Editor you assign each map a different channel number, then you add multiple UVW Map modifiers to the object's modifier stack, each UVW Map modifier is set to a different map channel. To change the type of mapping or gizmo placement for a particular bitmap, you select one of the UVW Map modifiers in the modifier stack and change the parameters. You can change the name of a UVW Map modifier in the Edit Modifier Stack dialog to correlate the modifier to the bitmap. 1884 | Chapter 9 Modifiers Transforming UVW Map Gizmos Changing a map's location by moving the gizmo. The UVW Map gizmo projects mapping coordinates onto an object. You can position, rotate, or scale a gizmo to adjust map coordinates on an object; you can also animate the gizmo. Gizmo transformations remain in effect if you select a new map type. For example, if you scale a spherical mapping gizmo and then switch to planar mapping, then the planar mapping gizmo is also scaled. Gizmo Display for Different Map Types For planar, spherical, cylindrical and shrink wrap maps, a short yellow line indicates the top of the map. The green edge of the gizmo indicates the right side of the map. On a spherical or cylindrical map the green edge is the seam where the left and right edge meet. Gizmo must be selected in the modifier display hierarchy to display the gizmo. UVW Mapping | 1885 Gizmos for different projection types Left to right: planar, cylindrical, box, and spherical Effects of Transforming the UVW Map Gizmo Moving the gizmo changes the center of projection and affects all types of mapping. Rotating the gizmo changes the orientation of the map, which affects all types of mapping. Uniform scaling does not affect spherical or shrink-wrap mapping. Non-uniform scaling affects all types of mapping. If you scale a gizmo smaller than the geometry, then a tiling effect is created, unless scaling has no effect on the map type in use. Tiling based on gizmo size is in addition to tiling values set in the Material Editor Coordinates rollout for the map or the UVW Map modifier tile controls. 1886 | Chapter 9 Modifiers The size of the gizmo affects how the mapping is applied to an object. Manipulators for UVW Map The UVW Map modifier has graphic manipulators to help you adjust the mapping dimensions and tiling when Real-World Map Size is off. When Real-World Map Size is on, you can adjust positioning only for the Planar and Box mapping types. Manipulators are visible and usable while the Select And Manipulate button on page 2868 is active. This button is on the default toolbar on page 8623. When you move the mouse over a manipulator, the manipulator turns red to show that dragging or clicking it will have an effect. Also, a tooltip appears, showing the object name, the parameter, and its value. For more information on using the UVW Map manipulators, see the Procedures section on page 1889. UV width/length manipulators In a viewport, drag the edges of the UVW Map gizmo to change the width or height. UVW Mapping | 1887 UV tiling manipulators In a viewport, drag the small circle next to the U edge or V edge to adjust the tiling in that dimension. Tile Controls Use the UVW Tile controls if you want a map to repeat. Tiled maps are useful for bricks on a wall, or tiles on a floor. Rather than creating one large map, seamless maps can be tiled to surface a large area without visible seams, to give the illusion of a large map. Tiling in the UVW Map modifier affects only the objects that use this modifier. Tiling a map in the Material Editor affects tiling on all the objects that use the material. Material and UVW Map tiling are multiplied. For example, if a map in the Material Editor has a tile value of 2 on one axis, and a UVW Map modifier has a tiling value of 3 on the same axis, then the result is a tiling value of 6. Objects with No Mapping Coordinates If you render an object that doesn't have mapping coordinates or a UVW Map modifier, and the object uses a material with 2D bitmaps or 3D procedural maps that use explicit map channels, then a Missing Map Coordinates on page 6618 alert is displayed. The alert lists both the name of the object and the UVW channels or Vertex Color channels that are missing the coordinates. For example: (UVW 2): Torus01. Mapping Selection Sets or Grouped Objects You can apply one UVW Map modifier to a selection of objects. One large mapping gizmo will encompass the entire selection unless the Use Pivot Points option is turned on in the modifiers rollout before applying the UVW Map modifier. If the Use Pivot Points option is used then each object is encompassed with its own mapping gizmo. If any of the objects in the selection has had its pivot point shifted in the Hierarchy ➤ Pivot panel, and you use the Use Pivot Points option with the UVW Map modifier, then the mapping gizmos are centered to the pivot points rather than the object center and the mapping may be tricky to position the way you want. Real-World Mapping The idea behind real-world mapping is to simplify the use of texture mapped materials which are scaled correctly with the geometry in the scene. This feature gives you the ability to create a material and specify the actual width 1888 | Chapter 9 Modifiers and height of a 2D texture map in the material editor. When you assign that material to an object in the scene, the texture map appears in the scene with the correct scaling. There are two parts to the equation in order for real-world mapping to work. First, the correct style of UV texture coordinates must be assigned to the geometry. Basically, the size of the UV space needs to correspond to the size of the geometry. Therefore, a new switch, called Real-World Map Size, has been added to many of the dialogs and rollouts where you can generate texture coordinates. Any dialog or rollout in which you have the option to turn on Generate Mapping Coords, also has a switch where you can turn on Real-World Map Size. NOTE There are a few primitive objects that do not have a Real-World Map Size switch. These are Torus Knot, Hedra, Prism and RingWave. The other part of the equation is in the material editor. When you create a material and use a 2D texture map, you now see a new switch in the Coordinates rollout called Use Real-World Scale. When this switch is turned on, the default, the Width and Height spinners are enabled that let you specify the horizontal/vertical offsets and size of the texture map in current display units on page 8955. NOTE Autodesk VIZ scenes with objects using real-world mapping coordinates will display differently when opened in 3ds Max. This is because real-world mapping coordinates is not the default method of generating mapping coordinates in 3ds Max. Procedures To apply the UVW Map modifier: 1 Assign a mapped material to an object. 2 On the Modify panel ➤ Modifier List, choose UVW Map. 3 Adjust the mapping parameters. By default, the UVW Map modifier uses planar mapping on map channel 1. You can change the type of mapping and the map channel to suit your needs. There are seven types of mapping coordinates, ninety-nine map channels, tiling controls, and controls to size and orient the mapping gizmo in the UVW Map modifier. UVW Mapping | 1889 NOTE If a UVW Map modifier is applied to multiple objects, the UVW Map gizmo is defined by the selection, and the mapping that results is applied to all the objects. To use multiple UVW channels in the same object: 1 Assign Map channel 1 to an object. You can do this by either turning on Generate Mapping Coordinates in the Parameters rollout of any primitive, or by assigning a UVW Map modifier with channel 1 chosen. Generate Mapping Coordinates uses map channel 1 by default. 2 Assign a UVW Map modifier (or a second one, if you're using the first to assign channel 1). Choose channel 2 for this modifier. Both coordinate channels are now assigned to the geometry. The next step is to assign a mapped material that uses both channels. 3 Create a material with two maps. You can do this using a Composite map, or a Blend material with two maps, or you can have one map assigned to Diffuse and another assigned to Bump. Perhaps the easiest way to see the effect is to composite two maps, with the second map containing an alpha channel. 4 Go to the level of one of the maps and, in the Mapping list, choose Explicit Map Channel 2. The other map is already assigned channel 1 by default. 5 Assign the mapped material to the object. You can switch between viewing the maps in the viewport using the Show Map In Viewport control in the Material Editor. You can adjust the mapping of channel 2 without altering the mapping of channel 1 if you've assigned two UVW Map modifiers. Render the scene to see the effect. To use the XYZ to UVW option: The XYZ to UVW option is used to make a 3D procedural texture, like Cellular, follow the animated surface of an object. If the object stretches, so does the 3D procedural texture. Currently, it cannot be used with NURBS objects and is unavailable if a NURBS object is selected. 1 In the Top viewport, create a box. 2 Create a material with a Cellular diffuse map. 1890 | Chapter 9 Modifiers 3 In the Material Editor, on the Coordinates rollout of the Cellular map, open the Source drop-down list, and choose Explicit Map Channel. On the Coordinates rollout, the Map Channel parameter activates, leave the value at 1. 4 Assign the material to the box. 5 On the Modify panel ➤ Modifier List, choose UVW Map. 6 On the UVW Map modifier, turn on XYZ to UVW. By default, the Map Channel value is 1. 7 Render the Front viewport. The cellular pattern renders normally on the surface of the box. 8 Right-click over the object and choose Convert To: ➤ Convert to Editable Mesh from the Transform (lower-right) quadrant of the quad menu. The box is converted to an editable mesh. 9 On the turn it on. Modify panel ➤ Selection rollout, click 10 In the Front viewport, move them up. (Vertex) to select the top vertices of the box, and 11 Render the Front viewport again. The cellular pattern stretches with the box. This effect is enabled by the XYZ to UVW option. To see the difference, we will change the Source option in the Coordinates rollout in the Material Editor. 12 In the Material Editor, locate the diffuse Cellular material. 13 On the Coordinates rollout of the Cellular diffuse map, open the Source drop-down list and choose Object XYZ. 14 Render the Front viewport. The cellular pattern is no longer stretched. UVW Mapping | 1891 To transform the UVW Map gizmo: 1 On the Modify panel, choose the UVW Mapping modifier in the stack display. 2 In the stack display, choose the Gizmo sub-object level. The gizmo changes to a yellow color, with one green edge. The green edge indicates the right edge of the texture. 3 Move, scale, or rotate the gizmo in the viewports, or use the Length and Width controls in the UVW Map modifier. Transforming the map gizmo shifts the bitmap, allowing you to orient and move the map on the object's surface. To use manipulators to control the width and length: 1 On the display. Modify panel, choose the UVW Map modifier in the stack You can also be at the Gizmo level of the modifier. 2 On the main toolbar, click to turn on (Select And Manipulate). The UVW Map modifier's gizmo turns green, showing it is now a manipulator. Also, two small circles appear next to two of the gizmo's edges. 3 Drag an edge of the gizmo to adjust the width or length. A tooltip shows the new width or length value. To use manipulators to control tiling: 1 On the display. Modify panel, choose the UVW Map modifier in the stack You can also be at the Gizmo level of the modifier. 2 On the main toolbar, click to turn on 1892 | Chapter 9 Modifiers (Select And Manipulate). The UVW Map modifier's gizmo turns green, showing it is now a manipulator. Also, two small circles appear next to two of the gizmo's edges. 3 Drag one of the circles to adjust tiling in the U or V dimension. A tooltip shows which dimension you are adjusting, and the new tiling value in that dimension. Interface Modifier Stack Gizmo sub-object level Enables gizmo transformations. At this sub-object level you can move, scale, and rotate the gizmo in the viewports to position the mapping. In the Material Editor, you turn on the Show Map in Viewport option to make the map visible in a shaded viewport, the map moves on the surface of the object as you transform the gizmo. UVW Mapping | 1893 Mapping group Determines the type of mapping coordinates used. Different kinds of mapping are distinguished by how the map is geometrically projected onto the object and how the projection interacts with the object's surfaces. Planar Projects the map from a single plane flat against the object, somewhat like projecting a slide. Planar projection is useful when only one side of an object needs to be mapped. It is also useful for obliquely mapping multiple sides, and for mapping two sides of a symmetrical object. Planar map projection Cylindrical Projects the map from a cylinder, wrapping it around an object. Seams where the edges of the bitmap meet are visible unless a seamless map is used. Cylindrical projection is useful for objects that are roughly cylindrical in shape. 1894 | Chapter 9 Modifiers Cylindrical map projection Cap Applies planar mapping coordinates to the caps of the cylinder. NOTE If the ends of the object geometry are not at right angles to the sides, the Cap projection bleeds onto the sides of the object. Spherical Surrounds the object by projecting the map from a sphere. You see a seam and mapping singularities at the top and bottom of the sphere where the bitmap edges meet at the sphere's poles. Spherical mapping is useful for objects that are roughly spherical in shape. UVW Mapping | 1895 Spherical map projection Shrink Wrap Uses spherical mapping, but truncates the corners of the map and joins them all at a single pole, creating only one singularity. Shrink-wrap mapping is useful when you want to hide the mapping singularity. 1896 | Chapter 9 Modifiers Shrink-wrap projection Box Projects the map from the six sides of a box. Each side projects as a planar map, and the effect on the surface depends on the surface normal. Each face is mapped from the closest box surface whose normal most closely parallels its own normal. UVW Mapping | 1897 Box projection (shown on a box and on a sphere) Face Applies a copy of the map to every face of an object. Pairs of faces sharing a hidden edge are mapped with the full rectangular map. Single faces with no hidden edge are mapped with a triangular portion of the map. 1898 | Chapter 9 Modifiers Face projection XYZ to UVW Maps 3D procedural coordinates to UVW coordinates. This "sticks" the procedural texture to the surface. If the surface stretches, so does the 3D procedural map. Use this option with procedural textures, like Cellular on page 6699, on objects with animated topologies. Currently, XYZ to UVW cannot be used with NURBS objects and is disabled if a NURBS object is selected. NOTE In the Material Editor's Coordinates rollout for the map, set Source to Explicit Map Channel. Use the same map channel in the material and UVW Map modifier. UVW Mapping | 1899 A sphere with a 3D procedural texture is copied, and the copies are stretched. Right: Using XYZ to UVW on the object enables the 3D procedural texture to stick and stretch with the surface. Length, Width, Height Specify the dimensions of the UVW Map gizmo. The default scale of the mapping icon is defined by the largest dimension of the object when you apply the modifier. You can animate the projection at the gizmo level. Note the following facts about these spinners: ■ The dimensions are based on a bounding box of the gizmo. The Height dimension is unavailable for the Planar gizmo: It does not have depth. Likewise, the dimensions for Cylindrical, Spherical, and Shrink Wrap mapping all display the dimensions of their bounding box and not their radiuses. No dimensions are available for the Face map: Each face on the geometry contains the entire map. ■ The three dimensions are set to 1 or 2, depending on map type and dimensions, when you load files created in Autodesk VIZ or earlier versions of 3ds Max. (This maintains compatibility with files from previous releases, in which gizmos were scaled non-uniformly to adjust their dimensions.). 1900 | Chapter 9 Modifiers The dimensions essentially become scale factors rather than measurements. You can reset the values to dimensions by clicking the Fit or Reset buttons, which will lose the original non-uniform scaling. U Tile, V Tile, W Tile Let you specify the dimensions of the UVW map, for tiling the image. These are floating-point values, which you can animate to displace the map's tiling over time. Flip Reverses the image about the given axis. Real-World Map Size When on, uses real-world mapping on page 6610 for texture-mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found on the applied material's Coordinates rollout on page 6622. (Both Real-World Map Size and Use Real-World Scale should be either off or on at the same time.) Default=off. When on, the Length, Width, Height and Tiling spinners are unavailable. Channel group Each object can have up to 99 different UVW mapping coordinate channels; one per modifier. The default mapping channel (from the Generate Mapping Coordinates toggle in the object’s creation parameters on page 9127) is always channel 1. The UVW Map modifier can specify coordinates for any channel. This lets you have many different sets of coordinates on the same face simultaneously. IMPORTANT The UVW Map modifier works on only one map channel at a time. When you change channels, 3ds Max copies the current edits to the new channel without alerting you. To apply different UVW mapping in different channels, use multiple modifiers (Unwrap UVW on page 1787 or UVW Map ). If you already have edits in that channel from another modifier, those edits could be overwritten. To ensure preservation of your edits, save them before changing channels and then reload the saved edits as necessary. Map Channel Sets the map channel. The UVW Map modifier defaults to channel 1, so mapping behaves in the default fashion unless you explicitly change to another channel. Default=1. Range=1 to 99 If you specify a different channel, make sure any maps in the object’s material that should use that mapping are also set to that channel. You can use multiple UVW Map modifiers in the modifier stack, each one controlling the mapping coordinates of different maps in a material. UVW Mapping | 1901 The map channel setting is available in various places in 3ds Max, as follows: ■ Generate Mapping CoordsThis check box, present in the creation parameters of most objects, assigns map channel 1 when on. ■ UVW Map, UVW Xform, and Unwrap UVWs modifiersThese modifiers let you set the map channel to 1 through 99, thus specifying which UVW coordinates the modifier uses. The modifier stack can pass these channels simultaneously for any face. ■ Material Editor Channel AssignmentYou assign the channel to be used by a map on the Coordinates rollout at the map level in the Material Editor. The Explicit Map Channel option must be active. ■ NURBS Surface Objects and Sub-ObjectsLet you specify which map channel the surface uses. Vertex Color Channel Define the channel as a vertex color channel by choosing this option. Be sure to match any material mapping in the coordinates rollout to be Vertex Color as well, or by using the Assign Vertex Colors utility on page 6927. Alignment group X/Y/Z Select one of these to flip the alignment of the mapping gizmo. Each specifies which axis of the gizmo is aligned with the local Z axis of the object. NOTE These options aren't the same as the Flip check boxes beside the U/V/W Tile spinners. The Alignment option buttons actually flip the gizmo orientation, while the Flip check boxes flip an assigned map's orientation. Manipulate When on, a gizmo appears on the object that lets you change parameters in the viewport. When Real-World Map Size is on, Manipulate is available only with the Planar and Box mapping types. For more information, see Manipulators for UVW Map on page 1887. 1902 | Chapter 9 Modifiers TIP Turn on snapping to adjust the mapping precisely. Fit Fits the gizmo to the extents of the object and centers it so that it's locked to the object's extents. Unavailable when Real-World Map Size is on. Center Moves the gizmo so that its center coincides with the center of the object. Bitmap Fit Displays the standard bitmap file browser so that you can pick an image. Unavailable when Real-World Map Size is on. For planar mappings, the map icon is set to the aspect ratio of the image. For cylindrical mapping, the height (rather than the radius of the gizmo) is scaled to match the bitmap. For best results, first use the Fit button to match the radius of the object and gizmo, and then use Bitmap Fit. Normal Align Click and drag on the surface of the object to which the modifier is applied. The origin of the gizmo is placed at the point on the surface where the mouse is pointing; the XY plane of the gizmo is aligned to the face. The X axis of the gizmo lies in the object's XY plane. UVW Mapping | 1903 Normal Align respects smoothing groups and uses the interpolated normal based on face smoothing. As a result, you can orient the mapping icon to any part of the surface, rather than having it "snap" to face normals. View Align Reorients the mapping gizmo to face the active viewport. The size of the icon is unchanged. Region Fit Activates a mode in which you can drag in the viewports to define the region of the mapping gizmo. The orientation of the gizmo is not affected. Unavailable when Real-World Map Size is on. Reset Deletes the current controller controlling the gizmo and plugs in a new one initialized using the Fit function. Any animation to the gizmo is lost. As with all the alignment options, you can cancel the reset operation by clicking Undo. Acquire Effectively copies the UVW coordinates from other objects When you pick an object from which you want to acquire UVWs, a dialog prompts you whether the acquire should be done in an absolute or relative fashion. If you choose Absolute, the acquired mapping gizmo is positioned exactly on top of the mapping gizmo you pick. If you choose Relative, the acquired mapping gizmo is positioned over the selected object. Display group This setting determines whether and how mapping discontinuities, also known as seams, appear in the viewports. The seams appear only when the Gizmo sub-object level is active. The default seam color is green; to change it, go to Customize menu ➤ Customize User Interface ➤ Colors tab, and then from the Elements drop-down list, choose UVW Map. The options are: ■ Show No SeamsMapping boundaries don't appear in the viewports. This is the default choice. ■ Thin Seam DisplayDisplays mapping boundaries on object surfaces in the viewports with relatively thin lines. The line thickness remains constant as you zoom the view in and out. 1904 | Chapter 9 Modifiers ■ Thick Seam DisplayDisplays mapping boundaries on object surfaces in the viewports with relatively thick lines. The line thickness increases when you zoom the view in and decreases when you zoom out. UVW Mapping Add Modifier Select an object. ➤ Add Modify panel ➤ Modifier List ➤ UVW Mapping Select an object. ➤ Channel Info on page 6936 ➤ Add a channel. The UVW Mapping Add modifier is added to an object's modifier stack when you add a channel in the Channel Info utility on page 6936. You can also add the modifier explicitly by choosing it from the Modifier List. It has no user interface. To merge the results of the add operation into the object's geometry, collapse the modifier stack after adding. UVW Mapping Clear Modifier Select an object. ➤ Clear Modify panel ➤ Modifier List ➤ UVW Mapping Select an object. ➤ Channel Info on page 6936 ➤ Clear a channel. The UVW Mapping Clear modifier is added to an object's modifier stack when you clear a channel with the Channel Info utility on page 6936. You can also add the modifier explicitly by choosing it from the Modifier List. To merge the results of the deletion into the object's geometry, collapse the modifier stack after deleting. Interface Map Channel Specifies the map channel to clear. This is equivalent to clearing a specific channel in the Channel Info utility. If the specified map channel doesn't exist, the modifier has no effect. UVW Mapping | 1905 UVW Mapping Paste Modifier Select an object. ➤ Channel Info on page 6936 ➤ Copy and then paste a channel. The UVW Mapping Paste modifier is added to an object's modifier stack when you paste a channel in the Channel Info utility on page 6936. It isn't available from the modifier list, and has no user interface. To merge the results of the paste operation (for example, a vertex selection) into the object's geometry, collapse the modifier stack after pasting. UVW XForm Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ UVW XForm Select an object. ➤ Modifiers menu ➤ UV Coordinates ➤ UVW XForm Use the UVW XForm modifier to adjust tiling and offset in existing UVW coordinates on page 9340. If you have an object with complex UVW coordinates already applied (such as a Loft object, or a parametric object with generated coordinates), you can apply this modifier to adjust those coordinates further. For example, if you create a torus and turn on Generate Mapping Coordinates, the UVW coordinates work perfectly with the torus, but if you want to tile or move the coordinates, you would previously have needed to do it at the material/map level. Now you can apply a UVW XForm modifier to alter the built-in coordinates. You can use a Mesh Select or Edit Mesh modifier to apply a UVW Adjust to sub-object selections, as well. This is handy if you want to rotate the mapping on a particular portion of an object. 1906 | Chapter 9 Modifiers Interface Mapping group U Tile, V Tile, W Tile Alter the tiling along any of the three coordinate axes. Flip Reverses the direction of the map along the specified axis. U Offset, V Offset, W Offset Move the map in the direction of the specified axis coordinate. Rotation Rotates the map. Rotate About Center When active, the map rotates about the center of the object. If this is applied to a sub-object selection, it uses the center of that selection. When this is turned off, the map rotates about the corner of the U and V coordinate gizmo. UVW Mapping | 1907 Channel group Specifies whether to apply the transform to a mapping channel or a vertex color channel, and which channel to use. For more information on these channels, see UVW Map Modifier on page 1883. Map Channel Specifies a UVW channel to use for the mapping, and use the spinner to its right to set the channel number. Vertex Color Channel Uses the vertex color channel for the mapping. _____ Apply To Entire Object If the UVW Xform modifier is applied to an active sub-object selection, such as face or patch, this switch controls whether the settings of the UVW Xform modifier affect only the original sub-object selection or affect the entire object. Vertex Weld Modifier Select a mesh, patch, or PolyMesh object. ➤ Modifier List ➤ Vertex Weld Modify panel ➤ Select a mesh, patch, or PolyMesh object. ➤ Modifiers menu ➤ Mesh Editing ➤ Vertex Weld The Vertex Weld modifier behaves like the Weld feature in Editable Mesh or Editable Patch by combining all vertices within a specified distance from each other into a single vertex. Vertex Weld is useful for cleaning up meshes that contain clusters of vertices within small areas. The results of using different Vertex Weld threshold settings 1908 | Chapter 9 Modifiers The new vertex is automatically placed at the average position of the combined vertices. Because the original vertices are removed, some associated faces and edges are usually removed as well. Also, welded vertices need not belong to the same element, so welding can result in combining elements within an object. Procedures Example: To apply the Vertex Weld modifier to a mesh: 1 Create a box with Length, Width, and Height set to 40. 2 Right-click the box and choose Convert to ➤ Convert to Editable Poly. 3 Go to the Polygon sub-object level and select polygon 6. TIP To see which polygon is selected, watch the readout at the bottom of the Selection rollout. 4 Press Delete to delete polygon 6. By deleting the polygon, you create an open mesh. 5 Apply a Turn To Poly modifier, and set the Selection Level to Object. 6 Apply a Mirror modifier, and set Mirror Axis to X. 7 Turn on Copy, and set Offset to –40. The reflection of the box shares a common seam but the vertices along the seam are not welded. 8 Apply a Vertex Weld modifier to cement the two boxes into one element. NOTE This combination of steps can be streamlined by using the Symmetry modifier on page 1752, which mirrors and welds the mesh in a single operation. Interface Threshold The distance, in scene units on page 9295, within which vertices are automatically combined. Vertices farther apart than this value are not welded. Default=0.1 Vertex Weld Modifier | 1909 NOTE A higher Threshold setting results in welding more vertices, thus removing smaller faces and details. If the threshold is set too high, the mesh will begin to deform. A threshold setting of 5.5 removes all detail, making the model unrecognizable. VertexPaint Modifier Select an object. ➤ Modify panel ➤ Modifier List ➤ VertexPaint Select an object. ➤ Modifiers menu ➤ Mesh Editing ➤ Vertex Paint Select an object. ➤ Utilities panel ➤ More ➤ Assign Vertex Colors ➤ Click Assign To Selected. ➤ Modify panel The VertexPaint modifier lets you paint vertex colors onto an object. You're not restricted to only vertex-level painting. Using sub-object selection, you can also control which vertices get painted, face-by-face. All faces sharing a vertex have the adjacent corner shaded as well. The resulting painted object receives a coarse gradient across each face. The amount of color that 3ds Max applies to a vertex depends on the distance of the vertex from the position of the paint cursor on the face. The more you select a face, the more it changes to the new color. The Opacity button also controls the strength of the color. 3ds Max shades the color, so if you have 1910 | Chapter 9 Modifiers one green vertex and two white vertices for one face, for example, you'll see a gradient on that face. VertexPaint modifier also lets you paint values for the vertex alpha and illumination channels. These channels affect the transparency and shading of vertex colors, respectively. Notes and Tips For best results with VertexPaint, keep the following in mind: ■ VertexPaint is automatically applied to the selected object when you click Assign Vertex Colors on page 6927 ➤ Assign To Selected. It is not available directly from the Modify panel or Modifiers menu. ■ To render vertex colors, assign a Vertex Color map on page 6775, as described in To render vertex colors on page 1914. ■ If you select faces using the selection tools of the VertexPaint modifier, you restrict your painting to the selected faces, as opposed to all faces. This allows you to sharply define the edges of your painted selection. ■ You can streamline the painting process by using the Brush Presets tools on page 8633. ■ Each VertexPaint modifier works internally to itself, and cannot modify existing vertex coloring. To paint over existing coloring, use the Condense to single layer on page 1933 function. About Map Channels and Vertex Color, Vertex Alpha, and Vertex Illum When using vertex paint, it is helpful to understand how 3ds Max manages vertex color, alpha, illumination, and map channels. 3ds Max stores and manages all of these different pieces of information using the same underlying system. The map channels are defined as triple-value channels (tuples) with a unique integer ID number ranging from –2 to 99. The first five map channels have specific and familiar usages: ■ Channel (2): UVW “second pass” texture mapping coordinates ■ Channel (1): UVW standard texture mapping coordinates ■ Channel (0): RGB vertex color ■ Channel (–1): FLOAT vertex alpha (really only 1 value needed) VertexPaint Modifier | 1911 ■ Channel (–2): RGB vertex illumination Every geometric vertex of a mesh or poly object can be assigned up to 102 channel values (99 + 3). The reason for the negative numbering scheme for the vertex alpha and illumination channels is actually historic: It serves to preserve the meaning of existing map-channel data in older scene files before vertex alpha and illumination were added. You can paint on any arbitrary channel, and to use one or more channels for any arbitrary meaning for a given vertex. It is useful in development of content for games to paint on arbitrary map channels numbered higher than those used for texture mapping (such as channels 3, 4, 5). These can be used to store logical information about a vertex: for example, whether it is “slippery” or “explosive.” You can assign a single vertex a stack of map channels that carry different meanings. When you collapse the modifier stack, 3ds Max preserves these map channels. The VertexPaint modifier takes this into consideration through its simple exposure of map channel IDs for display and painting. About Painting in Layers The layer system allows you to paint changes on a single layer, then make another layer on top of that, and paint additional changes. This can be used to store different versions or variations of your vertex color painting. Every layer has a blending mode that it uses to determine how it combines with the other layers. You can assign vertex colors using the Assign Vertex Colors utility on page 6927, then add another layer, change the layer mode operator to Lighten, and paint with a white paintbrush to lighten up areas. Fifteen different modes are available, and many tasks can be accomplished using paint layers. One of the primary advantages of VertexPaint is its use of the modifier stack as a kind of image-composite stack. Each VertexPaint modifier serves as a single layer in the composite. You can move layers up and down the stack, enable and disable them, and flatten the stack using Condense to single layer on page 1933. Backward Compatibility If you load an older file that uses a previous version of the VertexPaint modifier, then the legacy modifier will be loaded when the file is opened. 1912 | Chapter 9 Modifiers The legacy modifier has not been changed, and the two modifiers are not inherently compatible in terms of their data format during loading and saving. If you have vertex color data in a legacy VertexPaint modifier, you can use the Condense to single layer tool on page 1933 of the new modifier to migrate the vertex colors into the new modifier. Procedures To add scene lighting into an object's vertex color: 1 Select the objects in the scene that you want to color. 2 On the Modify panel, choose VertexPaint from the modifier list. The floating Paintbox on page 1920 appears, docked to the left edge of the viewports. 3 Open the Assign Vertex Colors rollout. NOTE This rollout provides the same tools as found in the Assign Vertex Colors utility. 4 In the Light Model group, choose Lighting + Diffuse. 5 Click Assign. 6 On the Vertex Paintbox, choose (Vertex Color Display Shaded) to see the vertex lighting in the vertex color map. To paint vertex colors on an object: 1 Select the scene objects to paint. 2 On the Modify panel, choose VertexPaint from the Modifier List. The Vertex Paintbox appears. 3 Choose the color you want to paint with by clicking the large color swatch below the Paintbrush button. This opens the Color Selector. 4 Change the color using controls on the Color Selector. 5 Adjust the strength of the color by entering a percentage value in the Opacity field. VertexPaint Modifier | 1913 6 Choose (Vertex Color Display Unshaded) to see the vertex colors without shading. 7 Click (Paint), and move the cursor over the selected object in the viewport. 8 When the cursor displays over the object, press and hold down the left mouse button and drag to paint the object. TIP The cursor displays the size of the brush. Use the Size spinner to change to a larger or smaller brush. To see vertex colors in a viewport: 1 Right-click the object with painted vertices, and choose Properties from the quad menu. 2 In the Display Properties group, turn on the toggle for Vertex Color. Vertex Color is one item on a drop-down list. The other items are Vertex Illumination, Vertex Alpha, Map Channel Color (which uses the spinner immediately below the list), and Soft Selection Color. Viewports can display only one of these vertex channels at a time. 3 Click OK. To render vertex colors: 1 Open the object. Material Editor, and apply a Standard material to the 2 Click the map button for the Diffuse component. 3 In the Material/Map Browser, choose Vertex Color as the map, and then click OK. Now, when you render the scene, the rendering shows the painted vertices. 1914 | Chapter 9 Modifiers To animate the opacity of a vertex color layer 1 Choose the layer you wish to animate, by highlighting the Vertex Paint modifier in the stack that corresponds to that layer. 2 Turn on (Auto Key). 3 On the floating vertex paintbox, in the Layer group move the Opacity slider. This sets a key for the opacity. 4 Move the time slider to another frame and again change the value using the Opacity slider. 5 Turn off 6 Click viewport. (Auto Key). (Play Animation) to see the animated opacity in the To animate vertex color using UVW XForm modifier: You can use the UVW XForm modifier in conjunction with a specific vertex paint layer to modulate vertex color effects in the viewport. 1 Apply a UVW XForm modifier directly above the VertexPaint layer (modifier) you want to modulate. 2 Set the Channel type on the UVW XForm modifier to Vertex color. 3 Animate the U, V, and W spinners using identical values. For example, animate UVW from 1 to 0 over the length of the animation. This will attenuate the RGB values of the underlying vertex color results uniformly. It will effectively dim out the vertex color result directly below the UVW XForm modifier. NOTE Any additional vertex paint layers applied above the UVW XForm modifier in the stack for the selected object(s) will be unaffected TIP You can add multiple UVW XForm modifiers in your stack in this way, giving some progressive control over modulated vertex colors. The effect is always additive, however, and cannot be weight-blended. VertexPaint Modifier | 1915 To paint under an existing layer and view the result: 1 Select an object that has several VertexPaint modifiers displayed in the stack. 2 In the modifier stack, activate the VertexPaint modifier that is the layer you want to paint on. 3 Turn on (Show End Result On/Off Toggle). Now, when you paint on the layer, you will see the painting taking place under the top layer. Interface Parameter rollout 1916 | Chapter 9 Modifiers Selection group The controls in this group are identical to the selection controls found in the Selection group on page 1927 of the Paintbox rollout. Channel group These controls specify which channel type the vertex paint layer will affect, and which map channel number you'll paint on. ■ Vertex ColorChoose this to paint on a vertex color layer. ■ Vertex IllumChoose this to paint on a vertex illumination layer. ■ Vertex AlphaChoose this to paint on a vertex transparency layer. ■ Map ChannelChoose this to paint on a specifically named or numbered map channel. Map channel spinner Specifies the channel number. Available only when Map Channel is chosen. NOTE If you have painted on a layer and then change the channel setting, the painted information will be moved to the new channel. For example if you select Vertex Color and paint, then turn on Vertex Illum, the painted information will be removed from the Vertex Color channel and applied to the Vertex Illum channel instead. Name If a channel has a name defined it will appear here. Channels can be named using the Channel Info Utility on page 6936. _____ Ignore underlying color When turned on, VertexPaint ignores whatever vertex colors it receives from below it on the stack. As a result, you will see the layer's raw colors on an otherwise white object. The blend mode has no effect (it behaves like Normal mode) because the base color is considered transparent, so the layer is not blended with anything. The purpose of this toggle is to isolate a layer from the colors below, to help the user visualize the layer's raw data. The layer is not completed isolated when this is on, because layers above it can still affect the result. The user needs to disable those layers or turn off Show End Result to see the current layer in complete isolation. The Ignore Base Color toggle should only be needed when the object at the bottom of the stack already has some vertex colors baked in. In other cases, you can just disable the paint layers or whichever modifiers are adding vertex VertexPaint Modifier | 1917 colors to the object. In that case, the active paint layer would not receive any vertex colors from below itself on the stack. As a result, it treats all base color as transparent and the layer colors are displayed in the raw (not blended with anything). NOTE Per-vertex layer opacity is not passed up the stack. A paint layer modifier makes a yes/no decision about whether an object below it has vertex colors or not, and will subsequently treat all base colors as transparent or all as opaque. So if you paint even a single vertex using Edit Mesh, for example, the object is considered to have vertex colors, and a paint layer will blend its colors with the (predominantly white) mesh instead of treating the mesh as transparent. Preserve Layer When on, the modifier will not be deleted by any Condense To Single Layer operation. Since Condense To Single Layer performs two independent actions (creating a new baked-color modifier and then deleting existing modifiers), this option allows access to only the first part of the functionality when necessary. That is, you can bake colors into a new paint layer, without being forced to have the old modifiers deleted. Edit Displays the Vertex Paintbox floater on page 1920 if it has been closed. 1918 | Chapter 9 Modifiers Assign Vertex Color rollout This rollout gives you access to the same controls found in the Assign Vertex Colors utility on page 6927. They let you take the scene lighting information and bake it into the vertex channel system. VertexPaint Modifier | 1919 VertexPaint Paintbox Select an object. ➤ Modify panel ➤ Modifier List ➤ VertexPaint ➤ Paintbox dialog (Click Edit in the Parameters rollout if it isn't displayed.) Select an object. ➤ Modifiers menu ➤ Mesh Editing ➤ Vertex Paint ➤ Paintbox dialog (Click Edit in the Parameters rollout if it isn't displayed.) Select an object. ➤ Utilities panel ➤ More ➤ Assign Vertex Colors ➤ Click Assign To Selected ➤ Modify panel ➤ Modifier List ➤ VertexPaint ➤ Paintbox dialog (Click Edit in the Parameters rollout if it isn't displayed.) The VertexPaint modifier's Paintbox is a floating toolbox with various vertex painting tools. The Paintbox is launched automatically after the VertexPaint modifier on page 1910 has been applied to one or more objects. You can close the Paintbox by clicking the X button in the upper-right corner of its window. To open it again, click the Edit button in the Parameters rollout of the VertexPaint Modifier NOTE If a VertexPaint modifier is assigned to the object, you can also display the Paintbox by clicking Edit in the Assign Vertex Color utility. 1920 | Chapter 9 Modifiers Interface VertexPaint Modifier | 1921 Vertex Color Display controls Control the display of the vertex paint in the viewport by using the four icons at the top of the floating panel. You can easily switch between shaded and unshaded vertex color modes, or turn off the display of vertex color and or texture maps. NOTE The first three of these buttons stay highlighted when you click them, to indicate which shading mode is active. Toggle Texture Display simply performs the action without becoming highlighted. NOTE These controls have no effect on wireframe viewports, but work for all shaded viewports, including Lit Wireframe. Vertex color display – unshaded Displays the currently selected object in vertex color display mode. This mode is identical to the one offered by the Object Properties menu (right click on object, select Properties ➤ Turn On Vertex Color in the Display Properties group, making sure that Shaded is off.) This has no effect on wireframe, but works on lit wireframe and all other shaded display modes. Vertex color display – shaded Displays the currently selected object in vertex color display mode, with viewport lighting (shading). his mode is identical to the one offered by the Object Properties menu (right click on object, select Properties ➤ Turn On Vertex Color in the Display Properties group, making sure that Shaded is on. Disable vertex color display Displays the currently selected object in its current shading mode without showing vertex colors. 1922 | Chapter 9 Modifiers Toggle texture display Displays or hides texture maps on the currently selected object. Viewport Channel Display selector This menu allows you to select which one of the map channels to paint on: ■ Vertex colorsChoosing this lets you display the vertex color channel in the viewport. ■ Vertex alphaChoosing this lets you display and paint the vertex transparency channel in the viewport. ■ Vertex IllumChoosing this lets you display and paint the vertex lighting channel in the viewport. ■ Map ChannelChoosing this lets you define a numbered map channel to paint on. Define the channel ID number with the Map Channel Display spinner. Map channel display in viewport flyout What you see is what you paint, so whatever you select will both be displayed and activated for painting. VertexPaint Modifier | 1923 NOTE You cannot paint on all channels simultaneously as you could in the previous version of the vertex paint modifier. Map Channel Display Spinner This control lets you to numerically select a channel other than the 3 conventional ones listed above, for display only. If the channel you select is currently used for mapping coordinates, you'll see red/yellow/green colors corresponding to the UVW values. You might choose map channels above the standard channel 1, 2, 3 that do typically get used for texture mapping. But you will need to keep track of your own conventions, and/or use the Channel Info utility to track what has been allocated for each object. The Map Channel Display Spinner is only available when the Map Channel display button. If you assign a new vertex paint modifier or create a new layer and choose a particular numeric map channel, then select Map Channel display, the spinner will become available. Lock button The Lock button makes the Display Channel setting unavailable, and automatically sets Display Channel to whatever channel you choose on the Modify panel ➤ Channel rollout. Keep this turned on, to ensure that you're always displaying what you're painting. If you want to glance at another channel without stopping your current paint session, turn off the lock and then switch the display channel. When you are finished, switch back and turn the lock back on. 1924 | Chapter 9 Modifiers Vertex Paintbrush group Vertex paint controls Here are the controls that let you access the paintbrush and the paint. You can choose color to paint with, from a color selector or from the scene. Choose to adjust the brush size or envelope, or launch advanced paintbrush options such as pressure sensitivity. Paint All Performs a traditional paint fill operation on the current object or sub-object selection. In the case of sub-object selections (vertices, faces, elements) the fill will honor those selections. In the case of soft-selections Paint all will do a “faded” fill, slowly tapering off the opacity based on the soft selection settings. As with the Paint button, this will either paint on the current layer, if one is open in the Modify panel, or else it will create a new vertex paint layer instanced across the selected objects. Paint Starts the painting process. Once it is turned on, you can start painting on the current selection, by moving the cursor into the viewport and over the object. If there is a Vertex Paint modifier highlighted in the Modify panel, you will be painting into that layer. But if the selected objects do not currently have a vertex paint layer highlighted in the modify panel, then a dialog appears letting you create a new modifier. This will be instanced across all the selected objects. VertexPaint Modifier | 1925 You will not see the results of your brush strokes, unless the proper display mode is set (above) Be sure your display mode and your paint target match. For example – if you are painting on the alpha channel, be sure you are displaying the alpha channel. If you are painting on the color channel, display the color channel. Brush strokes will use the color specified in the color swatch directly below the Paint button. See Painter Options Dialog on page 1940 for more painting options. Erase all Erases all painting applied to the currently selected objects via the current VertexPaint modifier. This allows you to see through the underlying color of the object’s vertices. This underlying color might come from the object’s original vertex color, or from another vertex paint layer directly below it in the modifier stack. This supports soft selection as well. Erase Turns the brush into an eraser that will remove paint from the currently selected objects. Erase mode will actually erase any painting applied to the currently selected objects for the current layer of paint (allowing the true color of the original objects vertices to be seen, or the vertex paint layer immediately below the current one). Pick color from object Allows you to choose a color from the currently selected objects. The color is taken from a single vertex; region selection is not supported. The choice must occur near a vertex, or no color will be chosen. You can drag across a vertex of interest to pick up its color. Because this button enters a mode, it must be clicked to leave the mode, or you can choose another mode to turn it off. Color swatch The color swatch indicates the current color that will be used when painting begins. Clicking the swatch launches the standard color selector. Here you can change the color that will be used on the next brush stroke. It provides standard Hue, Saturation, and Brightness selection, along with Red, Green, and Blue selection and numerical entry. Opacity Controls the opacity of paint being applied to the currently selected objects in a single paint stroke (actually, any time before mouse up). This value represents the percentage of new paint that will blend into the color already applied to the selected objects. Successive paint strokes will continue to add this color until it overpowers the underlying color completely. The 1926 | Chapter 9 Modifiers maximum value is 100% and 0% is the minimum value. A value of 50 percent will blend equally with the underlying vertex color in a single stroke (before mouse up). The brush opacity serves to clamp the effect of each brush stroke, taken as a whole. If you pick a low opacity amount, then a single brush stroke will have only a small effect, no matter how much you scrub. This allows improved control over the density of a glaze of color, with an even glazing across all the painted vertices. Size Controls the diameter of the brush, as seen in the viewport. Size values range from zero to 9,999,999 and must be chosen appropriately for the size and resolution of geometry you are painting. Brush Options Opens the Painter Options dialog on page 1940, where you can access advanced paintbrush controls. These are the standard set of Painter Interface options. The same options can be seen, for example in the Skin modifier, for painting weights. Here you will find a rich selection of brush configuration tools that change the way your brush strokes apply color to the selection. Includes tools for mirror painting mode and using pressure sensitivity. Palette Click to display the Color Palette on page 1935, which lets you create, edit, and manage custom palettes for use with VertexPaint. Selection group Tools in this group let you choose sub-object selection levels. You can select vertices, faces or elements. Includes the option to ignore backfacing so you can limit your selection to sub-objects that face toward you, and also provides access to standard soft selection options. VertexPaint Modifier | 1927 This creates a mask that will lets you determine what is being affected by your paint strokes, and any other operations you might apply, such as blurring or color adjustment. Erase functionality will also honor this mode selection. NOTE Soft Selection is supported on the various sub-object selection modes. Select vertex Allows you to select vertices from the currently selected objects. Once selected, only these vertices will be available for painting. Select face Allows you to select faces in the currently selected objects. Once selected, only these faces will be available for painting. Select element Allows you to select elements in the currently selected objects. Once selected, only these elements will be available for painting. Ignore Backfacing When this is on, prevents you from mistakenly selecting sub-objects facing away from the user. Soft Selection The same soft-selection options on page 1966 found in Editable Mesh and Editable Poly are available by clicking this button. Image Adjustment group Tools in this group allow you to perform overall color adjustment or image blurring without using the paint brush in the viewport. Adjust Color Displays the Adjust Color dialog on page 1933, where you can find sliders for adjusting HLS or RGB values, preview the adjustment effect, and apply it. 1928 | Chapter 9 Modifiers Blur Smoothes the pixels in the image so there is less contrast and color difference. Use this to get rid of harsh edges such as shadows created by the Assign Vertex Colors utility. Blur Amount spinner Blurs currently selected channel values (for example, vertex color, alpha) for the currently selected objects. Also supports sub-object selection of vertices, faces, and elements. With soft selections, the final blurred value is computed, and then combined with the original color according the selection; a 50 percent soft selection means that a vertex will become a fifty-fifty combination of its original color and the blurred color. Successive clicks of the Blur button will succesively blur the previous results, eventually washing out painting effects entirely. Blur is useful for softening vertex color lighting information that is automatically generated by the Assign Vertex Color utility or rollout. Assign Vertex Color computes intensities per vertex. This is especially useful for low-resolution geometry and high-frequency lighting changes. Blur Brush Lets you apply blurring by using the same brush techniques and settings that you use to apply color. The Blur Brush respects sub-object selection and the Blur Strength setting. Layers group Mode The layer mode drop-down list allows you to select a specific operator for this paint layer. The operator selected affects base color, alpha, illumination, and other information coming up from layers below it, or from the base object itself. The chosen operator controls how the incoming color is combined with any newly painted colors for the current level. VertexPaint Modifier | 1929 This mode is changeable at any time, without destroying previously painted information in layers above, below, or in the current paint layer. The following modes are supported per paint layer: ■ NormalThe layer color completely overwrites the base color. ■ OverlayThe color cast is shifted towards the layer color and contrast might be increased. It's useful when you want to make an object appear a different color but in the same lighting conditions. A fully bright or dark channel is never affected however, so if Red=100% and Green=0% in the base color, then neither the red nor green channels can be affected by the layer color. ■ ScreenEach RGB channel is moved towards full brightness, depending on the layer color. The result is at least as bright (never darker) than the original. Black is transparent in this mode. ■ MultiplyEach RGB channel is moved towards zero, depending on the layer color. The result is at least as dark (never brighter) than the original. White is transparent in this mode. ■ LightenWhichever color is brighter, the layer or the base, is used as the output. It operates on the whole color, and not channel-by-channel. ■ DarkenWhichever color is darker, the layer or the base, is used as the output. It operates on the whole color, and not channel-by-channel. ■ Color dodgeEmulates the effect of "dodging" a color print in a darkroom; the result is at least as bright (never darker) than the original. For each RGB channel, if the layer is at full value in that channel, the output channel will be at full value. Even if the layer value is less then full value, the output is still strongly brightened in that channel. For example, a medium-red layer color will add a significant red brightness to the output. ■ Color burnEmulates the effect of "burning" a color print in a darkroom; the result is at least as dark (never brighter) than the original. For each RGB channel, if the layer is zero in that channel, the output channel will be zero. Even if the layer value is above zero, the output is still be strongly darkened in that channel. For example, a medium red layer color will significantly reduce blue and green brightness in the output. The next four Light modes essentially offer compromises between the destructive effect of Normal Mode and the toning effect of Overlay mode. Try using medium-value desaturated layer colors, since the light modes can be 1930 | Chapter 9 Modifiers too destructive with bright, vivid layer colors. A neutral grey layer color is transparent in any of the light modes. ■ Soft lightVery similar to Overlay, but even more gentle, and it does not tend to increase contrast as much. ■ Hard lightMore like Normal mode than Overlay, it will change color cast somewhat. It is fairly destructive like Normal mode, especially with bright layer colors. ■ Vivid lightBrighter layer colors produce a Color Dodge effect, while darker layer colors produce a Color Burn effect, although the effect is generally weaker than Dodge or Burn. ■ Linear lightFor each RGB channel, if the layer color is more than 50 percent bright in that channel, the output will be brightened, and if the layer is less then 50 percent bright, the output will be darkened. As an example, if you want the top of your image to be twice as bright, and the bottom to be half as bright, use a gradient from 75 percent gray to 25 percent gray, top to bottom. The next four modes are used to control the HSV channel values of the image instead of using RGB channel value. ■ HueThe output color has the saturation and value of the base color, with the hue of the layer color. ■ SaturationThe output has the hue and value of the base color, and the saturation of the layer color. ■ Color The output has the value of the base color, and the hue and saturation of the layer color. ■ Luminosity The output has the hue and saturation of the base color, and the brightness value of the layer color. NOTE Using the show end result button in the modifier stack for the current paint layer will allow you to interactively paint under any over laying paint layers (vertex paint modifiers that are above the current one in the object’s modifier stack). This allows you to see the final results of your paint strokes for any paint layer in the stack. Opacity Slider Allows you to set the opacity of the current vertex paint layer, from 0 to 100 percent. 100 percent Opacity means that the current layer is entirely opaque: you cannot see through it to the layer directly under it or to the base vertex colors of the objects being painted. VertexPaint Modifier | 1931 The opacity of a layer is animatable. Simply turn on Auto Key, move the time slider and adjust the spinner value. This will set a keyframe. NOTE If you painted on the layer with a brush opacity less than 100 percent, then colors stored in the layer can already be less than full opacity, and the final opacity at any vertex is a product of the two values. If you vertex had only 50 percent opacity worth of paint applied to it, and the layer is 50 percent opaque, then the vertex will appear 25 percent opaque overall. Be aware that the paint opacity is different from the vertex alpha channel. Values less than 100 percent incrementally reveal any vertex color, alpha information, and so on, coming from vertex paint layers beneath it, or the base object's original information. Opacity values can be changed for the current layer at any time. Since vertex paint layers are preserved in the modifier stack you can return to a particular layer at any time and adjust its opacity to tune an object’s final appearance. NOTE The opacity for a specific paint layer should not be confused with “alpha” information for a given vertex. Opacity controls the mixing of painted information in the modifier stack for the currently active map channel (whether it be color information, alpha, illumination, or any arbitrary map channel from 1 to 99). Alpha Channel information (by convention) is intended to be used specifically to indicate the transparency of all combined color information for a given vertex. Another way to think about the opacity slider is that it is identical to the amount spinner. The difference between them is that opacity is for the entire layer, where as amount is for the current brush stroke (between a mouse down and mouse up period when painting). Changing the amount spinner after painting does not affect what is already displayed on the screen; where changing the opacity layer does. In the end, the current vertex paint layer being applied generates a final color that is the combine result of amount and opacity. The whole concept should be quite natural to any Adobe Photoshop user. However, Photoshop is able to display a light grey and dark grey quilt as a background to give a visual cue about layer opacity, whereas 3ds Max does not support this same display cue. So in 3ds Max, more attention is required of the artist to understand the opacity of each vertex on each layer. Opacity numeric entry field Allows you to enter an opacity amount. Range=0 (completely transparent) to 100 (totally opaque). New Layer Click to create a new VertexPaint layer. Clicking new layer displays a New Layer dialog. 1932 | Chapter 9 Modifiers Delete Layer Click to delete the current VertexPaint layer. This removes the modifier from the stack. Condense to single layer Click to condense all vertex coloring into a single layer in the current VertexPaint modifier. Use this to modify existing vertex coloring within the current modifier. Condensing layers is a two-part operation: First 3ds Max adds a new VertexPaint modifier to the stack, combining vertex coloring applied directly with Editable Mesh/Polygon and from previous VertexPaint layers according to the settings described above. Second, it deletes any prior VertexPaint modifiers. If Preserve Layer has been turned on for a particular VertexPaint layer, then its colors are “baked” into the new VertexPaint modifier, but the preserved layer isn't deleted from the stack. Adjust Color Dialog (VertexPaint Modifier) Select an object. ➤ Modify panel ➤ Modifier List ➤ VertexPaint ➤ VertexPaint Paintbox ➤ Click the Adjust Color button. Select an object. ➤ Modifiers menu ➤ Mesh Editing ➤ Vertex Paint ➤ VertexPaint Paintbox ➤ Click (Adjust Color). Select an object. ➤ Utilities panel ➤ More ➤ Assign Vertex Colors ➤ Click Assign to Selected ➤ Modify panel ➤ Modifier List ➤ VertexPaint ➤ VertexPaint Paintbox ➤ Click (Adjust Color). The Adjust Color dialog lets you adjust the color of currently selected vertices. If there is no active vertex sub-object selection, it affects all vertices equally. VertexPaint Modifier | 1933 Interface ■ HSV(The default.) When chosen, the first three sliders are labeled HSV, and adjust the colors' hue, saturation, and value. ■ RGBWhen chosen, the first three sliders are labeled RGB, and adjust the colors' red, blue, and green components. See Red, Green, Blue / Hue, Saturation, Value on page 9280. Preview When on, vertex color adjustments are previewed interactively in shaded viewports (provided that on the Paintbox, Vertex Color Display Unshaded or Vertex Color Display - Shaded is active). Default=on. Contrast slider Lets you adjust the contrast of the vertex colors. Histogram and Input-Level Spinners Histogram Graphically shows the distribution of colors in the vertex selection, as well as the current shadow, gamma, and highlight input levels. 1934 | Chapter 9 Modifiers The shadow, gamma, and highlight input levels can help you adjust 3ds Max viewport color to better match your target hardware display (such as a game engine). Shadow level Adjusts the level of shadow display. Gamma level Adjusts the gamma display. This value is a gamma correction on page 9175 value. Highlight level Adjusts the level of highlight display. When you adjust a level, the corresponding arrow moves on the histogram, to indicate the current setting. (However, you can't graphically drag the arrows.) _____ Apply Click to apply the current settings to vertex colors, without closing the dialog. Reset Click to restore dialog settings to their defaults. Color Palette (VertexPaint Modifier) Select an object. ➤ Modify panel ➤ Modifier List ➤ VertexPaint ➤ VertexPaint Paintbox ➤ Click (Palette). Select an object. ➤ Modifiers menu ➤ Mesh Editing ➤ Vertex Paint ➤ VertexPaint Paintbox ➤ Click (Palette). Select an object. ➤ Utilities panel ➤ More ➤ Assign Vertex Colors ➤ Click Assign to Selected ➤ Modify panel ➤ Modifier List ➤ VertexPaint ➤ VertexPaint Paintbox ➤ Click (Palette). VertexPaint Modifier | 1935 The VertexPaint modifier's Color Palette lets you create and maintain color palettes for use with vertex paints. You can save or load palettes as Color Clipboard (CCB) files, which are also used by the Color Clipboard utility on page 310. NOTE The Palette remembers the last palette you used. This is not affected by File ➤ Reset. However, the active palette is saved in the file 3dsmax.ini on page 42, so deleting the INI file causes the palette to revert to the default grayscale palette. Procedures To use the palette to choose a color: ■ On the List or Swatch panel, click the color. The color appears as the active color on the VertexPaint Paintbox, in the swatch just below the Erase button. To change the color of a color swatch: 1 Double-click the swatch. A Color Selector on page 304 appears. 2 Use the Color Selector to change the swatch's color. This version of the Color Selector is modeless on page 9224, so after choosing a color you can either close it, or leave it open to change another swatch. To use the color picker: 1 In the Palette's List panel, highlight the name of a color. 2 Click (Color Picker) to turn it on. The cursor changes to an eyedropper icon. 3 Without depressing the mouse button, drag to an area where you want to pick a color. You can obtain colors from viewports, the 3ds Max user interface, or anywhere on the Windows desktop. 4 When you depress the mouse button, the picker obtains the color below the cursor. You can drag while the mouse button is depressed. While you 1936 | Chapter 9 Modifiers do, the color swatch in the palette and the larger swatch on the Paintbox update. 5 Release the mouse to pick the color you want. The color in the Palette and the active color in the Paintbox are both updated. To change a color's name: 1 In the List panel, click the name twice (more slowly than a double-click). The name changes to an editable field. 2 Enter a new name or edit the existing one, and then press Enter. Press Esc to cancel the name change. To save a palette to a file: 1 Right-click the List panel or the Swatch panel. The Palette's pop-up menu on page 1940 appears. 2 Choose Save As from the menu. A Save Color Clipboard File dialog appears. 3 Use the dialog to give the palette a name (and optionally, a directory location other than the default), and then click OK to save the CCB file. To load a palette from a file: 1 Right-click the List panel or the Swatch panel. The Palette's pop-up menu on page 1940 appears. 2 Choose Load from the menu. A Load Color Clipboard File dialog appears. 3 Choose the CCB palette file you want to load, and then click OK. VertexPaint Modifier | 1937 Interface New Click to add a new color to the palette. The only limit to the number of colors a palette can have is a file size or memory limitation. 1938 | Chapter 9 Modifiers Delete Click to delete the active color. Copy Click to copy the active color. Paste Click to paste a copied color to the active swatch. Color Picker Highlight a color in the palette, turn this button on to activate the picker, then drag anywhere on the Windows desktop. The color is picked when you release the mouse. (See the procedure “To use the color picker,” above.) List panel Displays the colors in the palette, along with their names. Swatch panel Displays the colors in the active palette. The swatch panel doesn't list the names of colors, but each color's name appear as a tooltip when the mouse is over the swatch. Swatch panel showing default grayscale palette VertexPaint Modifier | 1939 List and Swatch Panel Right-Click Menu When you right-click the List panel or the Swatch panel, a pop-up menu appears. Copy Copies the active color. This is the same as clicking Copy. Paste Pastes a color to the active swatch. This is the same as clicking Paste. New Adds a color to the palette. This is the same as clicking New. Delete Deletes the active color. This is the same as clicking Delete. Save As Displays a Save As dialog on page 7956 that lets you enter a name for the CCB file, then save it. By default, Color Clipboard files are saved in the \images directory below the 3ds Max root directory. Load Displays a file open dialog that lets you choose a CCB palette file to load. View Displays a text-editor window with the current CCB palette file. If no CCB file has been loaded or saved, choosing View has no effect. The first 12 lines of a CCB file contain integer RGB values. This part of the file is used by the Color Clipboard utility on page 310 and ignored by the Color Palette dialog. The remaining lines of the file include floating-point RGB values and color names. Painter Options Dialog Modify panel ➤ Skin modifier ➤ Parameters rollout ➤ Weight Properties group ➤ Click 1940 | Chapter 9 Modifiers (Painter Options). VertexPaint modifier ➤ Floating Vertex Paintbox ➤ Click Options). (Brush Edit/Editable Poly object or Poly Select modifier ➤ Soft Selection rollout ➤ Paint Soft Selection group ➤ Brush Options button Edit/Editable Poly object ➤ Paint Deformation rollout ➤ Brush Options button Edit/Editable Poly object ➤ modeling ribbon ➤ Freeform tab ➤ Paint Options panel (when certain Paint Deform tools are active) The Painter Options dialog for the Skin modifier appears when you click the Painter Options button. This same dialog is used by the VertexPaint modifier to control the brush envelope, use pressure sensitivity, or enter mirror painting mode. The dialog is accessed through the Brush Options button on the floating Vertex Paintbox. The dialog is also used by the Paint Soft Selection and Paint Deformation tools available for poly objects. VertexPaint Modifier | 1941 Interface Brush Properties group Min. Strength Sets the minimum vertex weight to paint. Max. Strength Sets the maximum vertex weight to paint. Min. Size Sets the minimum size for the paint gizmo. Max. Size Sets the maximum size for the paint gizmo. Brush strength falloff curve This graph determines how the brush weight falls off as the distance increases from the center of the brush. The controls on this graph are similar to those on a loft deformation dialog on page 716. Additive When on, brush strokes add to existing vertex weights. Quick Brush Falloff Types Set the brush falloff to linear, smooth, slow, fast, or flat. Display Options group The options in this group determine the appearance of the paint gizmo. Draw Ring A ring appears as part of the paint gizmo. 1942 | Chapter 9 Modifiers Draw Normal A normal arrow appears as part of the paint gizmo. Draw Trace Draws a trace (temporary mark) that shows the path of the brush stroke on the surface. Normal Scale Sets the scale of the normal arrow in the paint gizmo. Marker Displays a circular marker at the end of the normal arrow. The value next to Marker sets the height of the marker. Pressure Options group Enable Pressure Sensitivity Turns on pressure sensitivity for the paint gizmo brush. Pressure Affects Selects the brush parameter to be affected by pressure sensitivity. Choose from four options: None, Strength, Size, or both size and strength (Size/Str). Predefined Str Pressure Turn this option on to use a predefined strength pressure. Click the button to view and edit the falloff curve for the strength. Predefined Size Pressure Turn this option on to use a predefined size pressure. Click the button to view and edit the falloff curve for the size. Mirror group Mirror Turn this option on to mirror the paint gizmo on the other side of the object. Choose an axis from the drop-down menu. The paint gizmo is mirrored about the selected axis in the world coordinate system. Offset Offsets the mirror plane by the value you specify. Gizmo Size Changes the mirror gizmo size to a value you specify. Misc group Tree Depth Determines the size of the quad tree used for hit testing. Tree Depth relates to the amount of memory set aside for weight painting. Larger values mean faster interaction but more memory use. Update On Mouse Up Prevents the system from updating viewports when the mouse button is pressed. This can save time in your workflow. Lag Rate Determines how often the stroke updates the painted surface. Higher values update the surface less often. VertexPaint Modifier | 1943 Volume Select Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Vol. Select Make a selection. ➤ Modifiers menu ➤ Selection Modifiers ➤ Volume Select The Volume Select modifier lets you make a sub-object selection of vertices or faces for passing up the stack to another modifier or modifiers. The sub-object selection is completely separate from the underlying parametric geometry of the object. Like other selection methods, Volume Select works with single or multiple objects. Faces and vertices selected using box volumes. Volume Select lets you use one of three gizmos or another object to define a volume of space as the selection area, to which you can then apply modifiers. You can move the selection over an object and animate it. When applied, Volume Select begins with the current geometry in the object's stack, whether it's a whole object or a sub-object selection (for example, from an Edit Mesh on page 1263 or another Volume Select modifier). 1944 | Chapter 9 Modifiers Top: Original mesh with select gizmo showing Bottom: Modification made after applying Volume Select modifier Patches As of version 4, patch objects coming up the modifier stack are not converted to a mesh by this modifier. A patch object input to the Volume Select modifier retains its patch definition. Files that contain patch objects with the Volume Select modifier from previous versions of 3ds Max will be converted to meshes to maintain backward compatibility. Scaling Compatibility The Volume Select gizmo scales along with its object. Thus, if you apply a Volume Select modifier, and then change the scale of your object (with the toolbar Scale function on page 855) the selection doesn't change. In other words, all three transforms affect the Volume Select gizmo and its object identically. Volume Select Modifier | 1945 Volume Select Center The Volume Select modifier has a center as well as a gizmo. This lets you alter the center for non-animated transforms. However, if you animate a rotation about the offset center, you achieve animation of both rotation and translation. Procedures To apply and use volume selection: 1 Select an object and apply the Vol. Select modifier. The Parameters rollout appears. 2 In the Stack Selection Level group, choose Object, Vertex, or Face to specify the kind of geometry you want to work with. 3 In the Select By group, choose one of the four volume types: Box, Sphere, Cylinder, or Mesh Object. If you choose Mesh Object, you should then click the None button and select an object to use as the selection volume. 4 Choose a selection method and type (defined in the following Interface section). You can change these choices as you work, depending on the particular selection you're trying to make. 5 Once the selection is complete, you can do the following: ■ Apply modifiers to the selection. ■ Transform the Volume Select gizmo at the sub-object level, changing the selection in the process. ■ Combine these options. See the following example. Example: To animate a volume selection: 1 Apply Volume Select to an object. 2 Make a sub-object selection of the object's geometry at Face or Vertex level, and apply a geometric modifier, such as Bend on page 1104, to the selection. 3 Move to a nonzero frame and begin animation. Adjust parameters on the geometric modifier, then move to another frame. 1946 | Chapter 9 Modifiers 4 In the stack, return to the Volume Select modifier. Choose the Volume Select gizmo sub-object. Move the gizmo and its geometry selection to another part of the object. 5 Repeat this process on other frames. Optionally, you can return to the geometric modifier and change its parameters at any frame. During playback, you see the effect of an animated geometric modifier moving over the object. Interface Modifier Stack Gizmo sub-object You can transform and animate the gizmo to change the selection. Translating the gizmo translates its center an equal distance. Rotating and scaling the gizmo takes place with respect to its center. Center sub-object You can translate and animate the center, which affects rotation or scaling of the Volume Select modifier's gizmo. For more information on the Stack Display, see Modifier Stack on page 8776. Volume Select Modifier | 1947 Parameters rollout 1948 | Chapter 9 Modifiers Stack Selection Level group Object/Vertex/Face Volume Select provides three selection levels. Vertex and Face levels put the modifier stack in sub-object selection. You can make one sub-object selection for each Volume Select modifier. You can then toggle the one selection between Face and Vertex level to send either up the stack. Object (top) level lets you modify the whole object while retaining any sub-object selection. Selection Method group Replace Clears any selection passed up the stack to the Volume Select modifier, and then selects geometry within the volume. Add Selects all geometry within the volume, adding to any previous selection. Subtract Deselects all geometry within the volume. Invert Reverses the entire selection set. Geometry that was unselected becomes selected, and vice versa. Selection Type group Lets you determine whether selected faces are wholly or partially within the defined volume when you set Stack Selection Level to Face. Window Selects only faces with all three vertices within the selection volume. Crossing Selects faces with only one vertex within the selection volume. Select By group These controls let you define the selection with a primitive, a mesh object, or by surface characteristics. Volume: Box/Sphere/Cylinder To define the selection space using a standard primitive-shaped gizmo, choose one of these. You can then scale, rotate, or move the gizmo anywhere around the object. Volume: Mesh Object Choose this option to use another object to define the selection space. After choosing Mesh Object, click the button below it (labeled "None" by default), and then select an object to use as the volume. Besides mesh objects, you can use patch objects and NURBS objects. In addition, if you turn on Soft Selection rollout ➤ Use Soft Selection, you can use spline objects and particle systems to define the selection. This latter option is quite powerful because the selection changes as the particles move. Volume Select Modifier | 1949 Mesh object button Click this button, then select an object to define the selection space. You don't need to choose Mesh Object first, but you do need to choose Mesh Object to use the object as a volume. After you select an object, its name appears on the button. This button is labeled "None" if no object has been chosen. NOTE The selection depends on a volume intersecting the object. If a gizmo or object is scaled down and moved inside an object, no selection occurs because no geometry is within the volume of the gizmo. Surface Features Defines the selection by surface characteristics instead of a geometric volume. While this doesn't have much to do with volume, it was added because Volume Select is a procedural modifier, whereas Mesh Select on page 1445 is explicit. Now, even if your topology changes, Volume Select will consistently select the faces or vertices using a particular material or smoothing group. Indicate which type of surface characteristic to base selection on by choosing one of the following: Material ID Specifies a material ID. All faces or vertices using the ID indicated by the spinner value are selected. Sm Group Specifies a smoothing group. All faces or vertices using the ID indicated by the spinner value are selected. Texture Map Specifies a texture map from the scene. Click the map button (labeled "None" by default) to choose a texture map to use for selection. All faces or vertices using that texture map will be selected. When using the Texture Map option, you can also specify a mapping channel or the vertex color channel using the Map/Vertex Color radio buttons and spinner. NOTE You must apply mapping to the object below Vol. Select in its stack for the Texture Map selection to work. That is, the Vol. Select modifier must have mapping coordinates passed up the stack so it can use a texture map for selection. NOTE If you set Selection Type to Window, vertices will be selected if all the faces they touch use the specified material or smoothing group. If you set Selection Type to Crossing, vertices will be selected if they touch any face using the specified material or smoothing group. Alignment group These controls are generally used when the gizmo has been transformed out of its original orientation to the object. 1950 | Chapter 9 Modifiers Fit Resizes the gizmo to fit around the object or previous selection in the stack. Maintains any previous rotation. Center Recenters the gizmo on the object or previous selection in the stack. Maintains any previous scale or rotation. Reset Returns the gizmo to its default size and orientation. Cancels the effect of all previous transforms. Auto Fit When on, automatically adjusts the gizmo size and shape to fit the object as you change the underlying topology (for example, transforming vertices). Soft Selection rollout These controls, available only at the Vertex stack selection level, let you set a gradual falloff of influence between selected and unselected vertices. See Soft Selection Rollout (Edit/Editable Mesh) on page 1966. NOTE Soft Selection does not apply to materials or smoothing groups. However, if there was already a weighted selection passed up the stack, a Volume Select set to Material or Smoothing Group mode and not set to Replace will preserve the selection. Wave Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Wave Make a selection. ➤ Modifiers menu ➤ Parametric Deformers ➤ Wave The Wave modifier produces a wave effect in an object's geometry. You can use either of two waves, or combine them. Wave uses a standard gizmo and center, which you can transform to increase the possible wave effects. The Wave on page 3013 space warp has similar features, and is useful for applying effects to a large number of objects. Wave Modifier | 1951 An object with the Wave modifier applied. Amplitude 1 and 2 can be changed, creating different profiles. See also: Ripple Modifier on page 1598 ■ Procedures To make an object wavey: 1 Select an object and apply the Wave modifier. TIP To see the effect clearly, apply Wave to a broad, flat object that has many segments. 2 Set one or both values for amplitude, or the vertical height of the wave in current units. 1952 | Chapter 9 Modifiers Amplitude 1 produces a sine wave from one edge to the other, while Amplitude 2 creates a wave between the opposite edges. Switching a value from positive to negative reverses the position of peaks and troughs. 3 Set the length of the wave and the distance in current units between crests of both waves. The greater the length, the smoother and more shallow the wave for a given amplitude. To add a phase effect: ■ Set a phase value to shift the wave pattern over the object. Positive numbers move the pattern in one direction, while negative numbers move them in the other. This effect is especially clear when animated. Phase effect on a wave To add a decay effect: ■ Set a decay value to increase or decrease the amplitude. Wave Modifier | 1953 A decay value decreases the amplitude as the distance from the center increases. As the Decay value increases, the wave is concentrated at the center and flattens until it disappears (completely decays). Interface Modifier Stack Gizmo At this sub-object level, you can transform and animate the gizmo like any other object, altering the effect of the Wave modifier. Translating the gizmo translates its center an equal distance. Rotating and scaling the gizmo takes place with respect to its center. Center At this sub-object level, you can translate and animate the center, altering the Wave gizmo's shape, and thus the shape of the wavy object. For more information on the stack display, see Modifier Stack on page 8776. Parameters rollout Amplitude 1/Amplitude 2 Amplitude 1 produces a sine wave along the gizmo's Y axis, while Amplitude 2 creates a wave along the X axis (although peaks and troughs appear in the same direction with both). Switching a value from positive to negative reverses the positions of peaks and troughs. 1954 | Chapter 9 Modifiers Wave Length Specifies the distance in current units between the crests of both waves. Phase Shifts the wave pattern over the object. Positive numbers move the pattern in one direction, while negative numbers move it in the other. This effect is especially clear when animated. Decay Limits the effect of the wave generated from its origin. A decay value decreases the amplitude at increasing distance from the center. As this value increases, the wave is concentrated at the center and flattened until it disappears (completely decays). Welder Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ Welder Welder smooths a mesh that has a tear in it. Welder welds either the vertices or face normals on page 9237 of an Editable Mesh on page 2190. To “weld” normals means to make nearby vertices use the same normal. Welder is meant for use with Cloth meshes on page 1142 that you have cached using a Point Cache modifier on page 1521. Add the Welder modifier to the stack above the Point Cache modifier. You don’t need to use Welder if the Cloth modifier is still active in the stack. In the illustration, the cloth consists of two planes, and the edges of the front half of the join between the planes have been selected. Welder Modifier | 1955 Two planes of cloth to weld 1956 | Chapter 9 Modifiers Welding normals with Don’t Weld Sel Edges on (the default) At the rear half of the join, normals on either plane are matched within the Threshold distance. Welder Modifier | 1957 Welding normals with Don’t Weld Sel Edges off Normals are matched all along the join. 1958 | Chapter 9 Modifiers Welding vertices with Don’t Weld Sel Edges on (the default) Welding vertices joins the plane geometry, but only at the rear half of the join are normals matched. Welder Modifier | 1959 Welding normals with Don’t Weld Sel Edges off Vertices are joined and normals are matched all along the join. Interface Threshold Sets a threshold for welding vertices. When two vertices are within this distance, they are welded for smoothing purposes. Default=0.1. Verts/Normals ■ Verts When chosen, smooths the mesh based on the proximity of vertices. 1960 | Chapter 9 Modifiers ■ Normals (The default.) When chosen, smooths the mesh based on face normals. Don’t Weld Sel Edges When on, Welder does not weld selected edges. For example, you might not want to smooth the creases between the panels of a mesh created by Garment Maker on page 1206. You must select the edges at a lower level of the stack. Default=on. XForm Modifier Modify panel ➤ Make a selection. ➤ Modifier List ➤ Object-Space Modifiers ➤ XForm Make a selection. ➤ Modifiers menu ➤ Parametric Deformers ➤ XForm Use the XForm (short for Transform) modifier to apply transformations (Move, Rotate, Scale) to objects. The XForm has two main functions: ■ To animate transformations of a sub-object selection. You can also animate the position of the modifier's center. ■ To transform an object at any point in the stack. NOTE The Linked XForm modifier on page 1428 is a variant of XForm. Linked XForm has no gizmo or center of its own. Instead, a given selection is "linked" to another object, which supplies its gizmo and center. Using Linked XForm, you can link a sub-object selection directly to the coordinate system of another object. Using XForm XForm provides a gizmo and center for any geometry it receives from the stack whether it's a sub-object selection or the whole object. XForm has no parameters. When you move the XForm modifier gizmo, the center moves with it, along with the geometry. You can reposition the XForm center separately from the gizmo. Offsetting XForm Center At the XForm Center sub-object selection level, only the Move transform is available. This lets you reposition the center. When you return to the Gizmo XForm Modifier | 1961 level, you can rotate or scale the selection around the offset center. The center position and gizmo transformations are all animatable. Scaling with XForm When you scale an object with a toolbar Scale tool, 3ds Max applies the effect to the object after all the modifiers in the stack. In some cases you might want to squash or stretch an object before applying geometric or edit modifiers. XForm makes this possible. By applying XForm and scaling its gizmo, you can place the scaling operation anywhere in the stack. Using XForm with Volume Select You can combine the XForm and Volume Select modifiers on page 1944 to animate sub-object selections. This combination makes it possible to animate both the effect of a modifier on the selection (Volume Select) and a transformation of that selection (XForm). Procedures To use the XForm modifier: 1 Choose a location in an object's stack and apply the XForm modifier. The Gizmo sub-object level is automatically activated. All transform buttons are available on the toolbar. 2 Move to a nonzero frame, and turn on the next step. (Auto Key) to animate 3 Transform the gizmo. As you transform the gizmo, the selected geometry is transformed with it. To use XForm as a scaling modifier: 1 Apply XForm to an object or a sub-object selection. 2 Scale the gizmo. 1962 | Chapter 9 Modifiers The rescaled geometry becomes "part of the stack" because the scale transform is carried with XForm, instead of being applied after the modifiers. Interface This modifier has no parameters, but you can transform the XForm gizmo and the XForm center. If you switch the selection level to the XForm center, only the Move transform is available. This lets you offset the center and transform the gizmo around it. Both offset and gizmo transformations are animatable. XForm Modifier | 1963 1964 Surface Modeling 10 Surface modeling is more free-form than geometric (parametric) modeling. Although you can create Patch and NURBS primitives from the Create panel, more often a surface model begins when you use the quad menu on page 8640 or the modifier stack on page 8776 to “collapse” a parametric model to some form of editable surface. Once you have done so, a variety of tools let you shape the surface. A lot of surface modeling work is done by editing sub-objects on page 9317 of the surface object. Three types of surface models: patch (left); mesh (center); NURBS (right) Subdivision Surfaces A subdivision surface is a surface that has been divided into more faces while retaining the object's general shape. You perform subdivision to add detail to an object, or to smooth it out. 3ds Max supports two kinds of subdivision surfaces: ■ The HSDS modifier on page 1408 provides hierarchical subdivision surfaces, which you can use to add fine detail to an object. ■ The MeshSmooth modifier on page 1450 and TurboSmooth modifier on page 1767 provide smoothing. 1965 Related closely to these are the Subdivision Surface rollout on page 2327 controls for editable poly on page 2240 objects, with which you can subdivide a surface without the need for a modifier. NOTE These controls are not available with the Edit Poly modifier. The latter type works best as a finishing tool for models. Soft Selection Rollout Select an editable patch, editable mesh, editable poly, editable spline, an object that has an Edit Mesh, Edit Patch, or Edit Spline modifier applied to it, or an object that has a comparable Select modifier applied to it. ➤ panel ➤ Choose a sub-object level. ➤ Soft Selection rollout Modify The Soft Selection controls allow you to partially select sub-objects in the vicinity of an explicit selection. This causes the explicit selection to behave as if surrounded by a "magnetic field." Partially selected sub-objects within the field are drawn along smoothly as you transform the sub-object selection; the effect diminishes with distance or the “strength” of the partial selection. This falloff is visible in the viewports as a color gradient surrounding the selection, conforming to the first part of the standard color spectrum: ROYGB (red, orange, yellow, green, blue). Red sub-objects are those you select explicitly. The highest-value soft-selected sub-objects are reddish-orange; they have the same selection value as red sub-objects, and respond the same way to manipulation. Orange sub-objects have a slightly lower selection value, and respond to manipulation a bit less strongly than do red and reddish-orange vertices. Yellow-orange sub-objects have an even lower selection value, and then yellow, green-yellow, and so on. Blue sub-objects are effectively unselected and don't respond to manipulation, except as required by neighboring soft-selected sub-objects. Normally, you designate a soft selection procedurally, by setting parameters and then selecting sub-objects. You can also “paint” a soft selection explicitly on poly objects. See Paint Soft Selection group on page 1973. By default, the soft-selection region is spherical without regard to geometric structure. Alternatively, you can use the Edge Distance option on page 1970 to limit the selection to vertices in contiguous faces. 1966 | Chapter 10 Surface Modeling If a sub-object selection is passed up the modifier stack, and Use Soft Selection is on, the results of modifiers that deform the object, such as Bend and XForm, are affected by the Soft Selection parameter values. The controls in this dialog let you modify Soft Selection parameters. All sub-object levels share the same Soft Selection parameter values. Soft Selection is available for NURBS, mesh, poly, patch, and spline objects. Soft selection colors and effect on the surrounding area See also: ■ Use Soft Selection on page 2001 Soft Selection Controls in the Caddy When an editable poly or Edit Poly object is selected, the Select And Manipulate on page 2868 tool is active, and Use Soft Selection on page 1970 is on, the Falloff, Pinch, and Bubble controls are available in a special Manipulate caddy on page 2339 in the active viewport: At the Vertex and Edge sub-object levels, additional controls appear in the Manipulate caddy; those are covered in the applicable sections of the help. Soft Selection Rollout | 1967 The caddy controls for Soft Selection are as follows: Falloff See Falloff on page 1971. Pinch See Pinch on page 1971. Bubble See Bubble on page 1971. For instructions for using the caddy, see The Caddy Interface on page 2339. Procedure To edit a soft selection in the viewport: This procedure describes usage of the Customize User Interface ➤ Edit Soft Selection Mode feature for editing the Falloff, Pinch, and Bubble values for soft selection. For more information, including a list of feature sets with which Edit Soft Selection Mode is available, see Edit Soft Selection Mode on page 1972. 1 From the Customize menu, choose Customize User Interface; this opens the Customize User Interface dialog to the Keyboard panel. From the Group drop-down menu on the dialog, choose the feature set with which you wish to use Edit Soft Selection Mode, such as Editable Poly. 2 In the group’s Action list, check the action for Edit Soft Selection Mode (or Edit Soft Selection). If it’s not already assigned, or you wish to change the keyboard shortcut, highlight the action and use the standard method to set a Hotkey. Alternatively, switch to one of the other panels and set, for example, a toolbar button for the action. When finished, close the dialog. 3 Select an object to edit and activate the feature set from step 1. On the Modify panel, go to the sub-object level you wish to edit, such as Vertex. 4 If necessary, expand the Soft Selection rollout and turn on Use Soft Selection. 1968 | Chapter 10 Surface Modeling 5 Make a sub-object selection. The viewport shows your selection in red and the surrounding, soft-selected sub-objects in a color gradient. 6 Press the hotkey for Edit Soft Selection mode, or otherwise activate the action. The mouse cursor switches to the Falloff symbol. 7 Press and hold the mouse button, and drag vertically: upward to increase the Falloff value, or downward to decrease Falloff. As you drag, the color gradient changes to show the modified Falloff, as does the Falloff value on the Soft Selection rollout. 8 When you’ve finished editing the Falloff, release the mouse button and then click once. The mouse cursor switches to the Pinch symbol. 9 Drag to adjust the Pinch value. 10 When you’ve finished editing Pinch, release the mouse button and then click once. The mouse cursor switches to the Bubble symbol. 11 Drag to adjust the Bubble value. 12 You can continue cycling through the three editing modes by releasing the drag and then clicking once. 13 To finish using Edit Soft Selection Mode, right-click in the active viewport. Soft Selection Rollout | 1969 Interface Use Soft Selection Affects the action of Move, Rotate, and Scale functions at sub-object levels of the editable object or Edit modifier, as well as the action of deformation modifiers applied to the object if they are operating on a sub-object selection (the latter also applies to the Select modifiers). When on, 3ds Max applies a spline curve deformation to the unselected sub-objects surrounding the selection you transform. To take effect, this check box must be on before transforming or modifying the selection. Edge Distance When on, limits the soft-selection region to the specified number of edges between where you select and the maximum extent of the soft selection. The affected region is measured in terms of "edge-distance" space, along the surface, rather than real space. This option is useful in cases where you want to select only contiguous sections of geometry. For example, if a bird's wing is folded back against its body, selecting the wing tip with Soft Selection would affect body vertices as well. But if you turn on Edge Distance, set the numeric value to the distance (in edges) along the wing that you wish to affect, and then set Falloff to an appropriate value, selecting and then moving the wing tip would move only the wing geometry. Affect Backfacing When on, deselected faces whose normals face in the opposite direction to the average normal of the selected sub-objects are affected 1970 | Chapter 10 Surface Modeling by the soft-selection influence. In the case of vertices and edges, this applies to the normals of faces to which they're attached. Turn off Affect Backfacing when you want to manipulate faces of a thin object, such as a thin box, but don't want to affect faces on the other side of the object. NOTE Affect Backfacing is not available when editing splines. Falloff Distance in current units from the center to the edge of a sphere defining the affected region. Use higher falloff settings to achieve more gradual slopes, depending on the scale of your geometry. Default=20. NOTE The region specified by the Falloff setting is depicted graphically in the viewports as a color gradient in vertices and/or edges (or, with editable polys and patches, optionally in faces). The gradient ranges from the selection color (normally red) to the non-selected sub-object color (normally blue). In addition, this gradient is updated in real time as you change the Falloff setting. NOTE If Edge Distance on page 1970 is on, the Edge Distance setting limits the maximum falloff amount. Pinch Raises and lowers the top point of the curve along the vertical axis. Sets the relative "pointedness" of the region. When negative, a crater is produced instead of a point. At a setting of 0, Pinch produces a smooth transition across this axis. Default=0. Bubble Expands and contracts the curve along the vertical axis. Sets the relative "fullness" of the region. Limited by Pinch, which sets a fixed starting point for Bubble. A setting of 0 for Pinch and 1.0 for Bubble produces the smoothest bulge. Negative values for Bubble move the bottom of the curve below the surface, creating a "valley" around the base of the region. Default=0. (soft selection curve) Graphically displays how Soft Selection will work. You can experiment with a curve setting, undo it, and try another setting with the same selection. Shaded Face Toggle Displays a color gradient corresponding to the soft selection weights on faces within the soft selection range. Available only when editing patch and poly objects. If the Vertex Color display property on page 228 of an editable poly or editable patch object is off, clicking the Shaded Face Toggle button will turn on Soft Selection Color shading. If the object already has an active Vertex Color setting, clicking the Shaded Face Toggle overrides the previous setting and changes it to Soft Selection Color. Soft Selection Rollout | 1971 NOTE Use the Undo command if you do not want to change your vertex color shading properties. Lock Soft Selection Locks the soft selection in order to prevent changes to the procedural selection. Using Paint Soft Selection (see following) turns on Lock Soft Selection automatically. If you turn it off after using Paint Soft Selection, the painted soft selection is lost and cannot be restored with Undo. Edit Soft Selection Mode In addition to the controls described in the preceding section, you can edit the soft selection in the viewports with interactive controls based on a Customize User Interface action named Edit Soft Selection Mode. This mode is available for the following feature sets: ■ Editable Mesh surface ■ Editable Poly surface ■ Edit Mesh modifier ■ Edit Patch modifier ■ Edit Poly modifier ■ Edit Spline modifier ■ HSDS modifier ■ Mesh Select modifier ■ MeshSmooth ■ Patch Select modifier ■ Poly Select modifier ■ Projection modifier ■ Vol. Select modifier For each feature set, open the Customize User Interface dialog from the Customize menu, and choose the feature from the Group drop-down list. For many feature sets, but not all, the Edit Soft Selection Mode keyboard shortcut is set to 7 by default. For the rest, such as Editable Poly, you must set the keyboard shortcut with the Customize User Interface controls. 1972 | Chapter 10 Surface Modeling For the basic method of using Edit Soft Selection Mode, follow this procedure on page 1968. To enter Edit Soft Selection Mode, press the keyboard shortcut (or click the toolbar button, etc.) assigned in Customize User Interface. When active, drag to use the current mode and click to switch to the next mode. To exit, right-click in the active viewport. The three Edit Soft Selection Mode modes, along with their mouse-cursor symbols, are: Falloff Pinch Bubble Paint Soft Selection group Paint Soft Selection lets you specify a soft selection explicitly by dragging the mouse over the selection. The Paint Soft Selection functionality is available at sub-object levels with Editable Poly objects, as well as with objects with the Edit Poly or Poly Select modifier applied. You can work in one of three painting modes: Paint, Revert, and Blur. Soft Selection Rollout | 1973 TIP You can streamline the painting process by using the Brush Presets tools on page 8633. Paint Lets you paint a soft selection on the active object using the current settings. Drag the mouse cursor over the object surface to paint the selection. Blur Lets you paint to soften the outlines of an existing painted soft selection. Revert Lets you paint to reverse a soft selection on the active object using the current settings. Drag the mouse cursor over the object surface to reverse the selection. NOTE Revert affects only a painted soft selection, not a soft selection made by normal means. Also, Revert uses only the Brush Size and Brush Strength settings, not the Selection Value setting. Selection Value The maximum relative selection of the painted or reverted soft selection. The values of surrounding vertices within the brush radius fall off towards a value of 0. Default=1.0. Brush Size The radius of the circular brush used for painting the selection. Brush Strength The rate at which painting a soft selection sets the painted sub-objects to the maximum value. A high Strength value reaches the full value quickly, while a low value requires repeated applications to reach full value. Brush Options Opens the Painter Options dialog on page 1940, with settings for brush-related properties. Collapse Utility Utilities panel ➤ Utilities rollout ➤ Collapse button The Collapse utility lets you combine the stack operations of one or more selected objects into an Editable Mesh on page 2190 or the stack result, and, optionally, perform a Boolean on page 646 operation on them at the same time. IMPORTANT You can't undo the results of using the Collapse utility. Before you use it, save a copy of your work file, or use Hold on page 219. 1974 | Chapter 10 Surface Modeling NOTE You can also collapse an object's stack from the modifier stack right-click menu on page 8789, and convert a selection to editable surfaces on page 1965 with the transform quadrant of the quad menu on page 8640. These changes are undoable. Procedures To collapse the stack of an object into an editable mesh: 1 On the Utilities panel, click the Collapse button. 2 Select the object or objects that you want to collapse. 3 Click the Collapse Selected button. All modifiers are removed from the modifier stack and the object becomes an editable mesh. To collapse the stack of an object into an editable surface other than mesh: 1 On the Utilities panel, click the Collapse button. 2 On the Collapse rollout, set Output Type to Modifier Stack Result. 3 Select the object or objects that you want to collapse. 4 Apply a modifier that outputs the desired ultimate surface type, such as Turn To Poly on page 1779 or Turn To Patch on page 1776. 5 Click the Collapse Selected button. All modifiers are removed from the modifier stack and the object becomes an editable surface of the type indicated by the modifier. To subtract multiple objects from another object: The Boolean compound object restricts you to combining objects one at a time. With the Collapse utility, you can perform Boolean operations on several objects simultaneously. 1 For the purposes of this procedure, we'll call the object to have shapes subtracted from Main. Create and arrange Main and the objects to subtract from it. For example, you might have several boxes penetrating a sphere Collapse Utility | 1975 (Main) in different places; subtracting them will produce box-shaped cutouts in the sphere's surface. 2 Select Main, and then select the objects to be subtracted from it. The first object you select before collapsing is the one from which the others are subtracted. 3 On the Utilities panel, click the Collapse button. 4 On the Collapse rollout, set Output Type to Mesh, if necessary. 5 In the Collapse To group, choose Single Object. 6 Turn on Boolean, and then choose Subtraction. 7 Click the Collapse Selected button. All objects you selected after Main, the first object, are subtracted from Main. 1976 | Chapter 10 Surface Modeling Interface Selected Object group Displays the name of the current selection. If more than one object is selected, "[Number] Objects Selected.” displays. Collapse Selected Collapses the selected objects. The method of collapse depends on the settings of the options below this button. Output Type group Specifies the type of object that results from the collapse. Collapse Utility | 1977 Modifier Stack Result The resultant object will be the same as if you had collapsed its stack. In most cases, this results in a mesh object, as when using the Mesh option. However, if the object has an Edit Patch modifier so that its stack produces a patch, then the result will be a patch object rather than a mesh. Likewise, a shape with Edit Spline modifiers becomes an editable spline. When this option is used, the Collapse To options are unavailable, and all selected objects remain independent objects. Mesh All selected objects become editable meshes regardless of their type before they were collapsed. Collapse To group Specifies how the selected objects are combined. These options are available only when you choose the Mesh option. Multiple Objects Collapses each object in the selection but maintains each as an independent object. When this option is selected, the Boolean options are disabled. Single Object Collapses all selected objects into a single, editable mesh object. Boolean Performs Boolean operations on the selected objects. During the Boolean calculation, a progress bar appears along with a Cancel button. If any objects in the Boolean operation fail, that object is skipped, but the Collapse proceeds. The result is not a Boolean compound object, but a single editable mesh. The type of Boolean is specified by the following option. Union Combines the several objects, removing intersecting geometry. Intersection Removes all but the intersecting geometry. Subtraction Maintains the first object selected while subtracting the subsequently selected objects. For example, to subtract several cylinders from a box, click to select the box, hold down Ctrl, and region-select the cylinders. Close Exits the Collapse utility. Graphite Modeling Tools The Graphite Modeling Tools set, also known as the modeling ribbon, provides a comprehensive toolset for editing polygon-based objects. Its customizable, context-based interface provides all (and only) tools directly specific to the modeling task, and it minimizes onscreen clutter by giving you access to relevant parameters only as you need them. 1978 | Chapter 10 Surface Modeling The ribbon comprises all standard Edit/Editable Poly tools as well as additional tools for creating, selecting, and editing geometry. Last but not least, you can customize the ribbon however you like. For details, see the following links. TIP If the ribbon does not appear in the program interface, re-enable it by choosing Customize menu ➤ Show UI ➤ Show Ribbon. The Ribbon Interface The modeling ribbon takes the form of a toolbar that can float or dock in a horizontal or vertical configuration. The toolbar contains four tabs: ■ Graphite Modeling Tools on page 1995 ■ Freeform on page 2107 ■ Selection on page 2132 ■ Object Paint on page 2144 Each tab contains a number of panels whose presence, in general, depends on the context, such as the active sub-object level. You can use a right-click menu to determine which panels appear, and you can also tear off panels so they float independently on the interface. You can adjust the panel size horizontally by dragging either end, and when you make it smaller, the panels adjust automatically to fit. The same controls that were previously available directly then become available from drop-down menus. The main tab on the modeling ribbon is the Graphite Modeling Tools tab, and its first panel, Polygon Modeling, provides a subset of Modify panel tools: sub-object level (Vertex, Edge, Border, Polygon, Element); stack level, preview options for sub-object selection, and more. At any time you can show or hide any available panel with the right-click menu. The Ribbon Interface | 1979 NOTE Most tools on the modeling ribbon have two-part tooltips; the first part contains a brief description of the tool, and sometimes lists important options. The second part, when available, describes how to use the tool, often with an illustration, and with certain tools lists secondary options. Also, some tooltips have an embedded video, or ToolClip, that uses motion to show how to use the tool. These are indicated by the text “Press Y for video.” To restart the video, press Y again. Using the Ribbon The Graphite Modeling Tools interface takes the form of a highly customizable, context-sensitive toolbar containing four tabs: Graphite Modeling Tools, Freeform, Selection, and Object Paint. Each of these comprises a number of panels and tools whose availability depends on the context. The ribbon can assume a horizontal or vertical configuration and either configuration can float or be docked. The horizontal version can be maximized (Show Full Ribbon) or minimized to tabs or panel titles. By default, the ribbon is horizontal, minimized to panel titles, and is docked immediately above the viewports (below the main toolbar), as shown in the following illustration. NOTE When the ribbon is horizontal, you can attach the Quick Access toolbar to its bottom edge. For details, see Quick Access Toolbar on page 8585. The basic unit of ribbon organization is the panel; each panel contains a related set of tools. The main panel on the Graphite Modeling Tools tab is the Polygon Modeling panel on page 1995. This panel contains global controls for making the other panels available, switching sub-object levels, toggling soft selection, and more. See also: ■ Customizing the Ribbon on page 2163 Procedures This section includes some basic procedures for getting started with the modeling ribbon. For more information about using and configuring the ribbon, be sure to read Modeling Ribbon Controls on page 1985. 1980 | Chapter 10 Surface Modeling To activate the modeling ribbon: By default, 3ds Max starts with the horizontal configuration of the modeling ribbon open, minimized to panel titles, and docked to the top of the interface, just above the viewports. If you close it and quit the program, it does not automatically reopen when you restart. ➤ Do either of the following: ■ On the main toolbar, click (Graphite Modeling Tools (Open)). ■ On the Customize menu, click Show UI and choose Show Ribbon. Each of these commands is a toggle: If the ribbon is closed, the command opens it; if the ribbon is open, the command closes it. To switch the ribbon orientation: By default, the ribbon uses a horizontal configuration, but you can change it to vertical using the right-click ribbon menu. The vertical ribbon feature set is identical to that of the horizontal ribbon, except that it can be docked left and right, rather than top and bottom. 1 Right-click the ribbon outside a panel, such as on the tab bar. 2 Choose Ribbon Configuration ➤ Switch To Vertical Ribbon. If the current orientation is vertical, the command is Switch To Horizontal Ribbon. After a short pause, the ribbon reopens in the new orientation. To minimize or maximize the ribbon: The ribbon in its horizontal orientation has three different minimized states in addition to the maximized state. This procedure describes how to switch among them: ➤ Do either of the following: ■ Click the minimize/maximize toggle on the ribbon. If you hold the mouse over the button, a tooltip describes what happens when you click. The Ribbon Interface | 1981 ■ Click the small arrow button next to the minimize/maximize toggle to open the Minimize drop-down list on page 1992. The current state has a check mark next to it; choose a different one from the menu. Choosing an option not only minimizes ribbon to the indicated status, but also determines how the (maximized) ribbon minimizes when you click the minimize/maximize button. To restore the ribbon to the default setup: If you’ve reconfigured the ribbon significantly by hiding and floating panels and so on, you can return to the default setup with a command on the ribbon right-click menu: 1 Right-click an empty area of the ribbon and open the Ribbon Configuration submenu. 2 Choose the Reset Ribbon To Default command. 3 When prompted to confirm, click Yes. After a brief pause, the ribbon reopens in the default configuration: horizontal and minimized to panel titles. 1982 | Chapter 10 Surface Modeling To convert an object to editable poly or Edit Poly format: For most ribbon functions to be available, a single editable poly on page 2240 or Edit Poly on page 1274 object must be selected, and the corresponding stack level must be active. If the object you want to work with is not in the required format, you can use the ribbon to convert it. 1 Select an object. 2 If the ribbon is minimized, open the Polygon Modeling panel; otherwise, open the panel expansion. 3 Choose Convert To Poly or Apply Edit Poly Mod. This converts the object or applies the modifier, respectively, and switches to Modify mode if necessary. NOTE You could also use Collapse Stack if the stack collapses to an editable poly object. However, if you collapse a primitive object such as a Teapot with non-format-specific modifiers such as Bend, the result is an editable mesh object, which is not compatible with the modeling ribbon. The Ribbon Interface | 1983 To start using the modeling ribbon with an editable poly or Edit Poly object: You can use the modeling ribbon tools with a selected editable poly or Edit Poly object when the corresponding stack level is active and the software is in Modify mode. Once you become familiar with the ribbon, you can accomplish just about any polygon-modeling task without resorting to the Modify panel. At that point, you can hide the command panel most of the time while working in 3ds Max, thus recovering valuable screen real estate. 1 Select an editable poly or Edit Poly object (to convert an object, see the preceding procedure). To use the ribbon tools, Modify mode must be active; that is, the Modify panel must be the current command panel (whether or not the command panel is displayed). 2 Check the wide button on the Polygon Modeling panel: If it says Modify Mode, click the button to switch to Modify mode. If it says anything else, proceed to the next step without clicking. 3 If the Editable Poly or Edit Poly stack level is active, the applicable panels then become available. If the ribbon is maximized or minimized to panel titles, the panels are readily apparent. If the ribbon is minimized to tabs, you can see all available open panels on a tab by clicking the tab (see Minimize/Maximize on page 1992). If the object is already in a required format but has modifiers other than Edit Poly applied, one of which is active, you need to switch to the Editable Poly or Edit Poly stack level. Use the Next/Previous Modifier on page 1999 buttons on the Polygon Modeling panel. For instance, consider an editable poly object with the Cloth modifier applied. When the Cloth modifier is active on the stack, the ribbon looks like this: 1984 | Chapter 10 Surface Modeling Note that the wide button on the Polygon Modeling panel shows the modifier name. The Next/Previous Modifier buttons enable navigation up and down the stack, respectively. When navigation in only one direction is possible, the other button is disabled. In this example, you would click (Previous Modifier), thus accessing the Editable Poly level of the modifier stack. 4 Use the Next/Previous Modifier buttons to go to the Editable Poly or Edit Poly stack level. Modeling Ribbon Controls Most ribbon-configuration controls are available from right-click menus. This topic details these controls as well as others for customizing the ribbon setup. NOTE When you reconfigure the ribbon and then exit 3ds Max, the changes are automatically saved in the two files in the folder MaxModelingRibbon.Config.xml and MaxManaged.cui. These files are saved in the system path on page 8881, in the UI directory. By default, this is C:\Documents and Settings\[user name]\Local Settings\Application Data\Autodesk\3dsmax\[3ds max version]\enu\UI. The next time you start 3ds Max, it reads the previous ribbon status from these files and restores it. To return the ribbon to its default configuration, quit 3ds Max, delete both MaxModelingRibbon.Config.xml and MaxManaged.cui from the system UI path (be sure to make backup copies first), and restart. The Ribbon Interface | 1985 Floating and Docking the Modeling Ribbon and its Panels ■ To dock a floating horizontal ribbon to the top or bottom of the interface, or the vertical ribbon left or right, drag it to the desired location and, when the mouse cursor changes to a horizontal strip, release it. Alternatively, right-click the title bar and choose the desired docking location from the Dock submenu. ■ To float the docked ribbon, drag it by the left end (horizontal) or top (vertical) away from the docked location. The cursor changes from a horizontal strip to a rectangle to let you know when releasing it will cause it to float. ■ To float a panel by itself, drag it by the title bar (bottom edge or right side) away from the ribbon or panel group. If Show Panel Titles on page 1994 is off, there’s still a small bar at the bottom of docked panels on the horizontal ribbon by which you can drag the panel. However, this bar is not available on non-expanding panels on the vertical ribbon when Show Panel Titles is off. ■ To move a floating panel or group, drag it by the title or by the “thumbs”: the gray extensions on either side of a floating panel group. You can see the thumbs on the panels in the following illustration. NOTE Normally panel thumbs are transparent; they appear only when the mouse cursor is over the panel. ■ To dock a panel to a floating panel or panel group, drag the first to the others until a “landing zone” (rectangular outline, as shown in the illustration) appears on the target, and then release the mouse button. 1986 | Chapter 10 Surface Modeling Docking one floating panel to another Thereafter you can move the panel group as a unit. ■ To return a floating panel or panel group to the ribbon, drag it to the ribbon. If the panel’s “home” tab is active, a rectangular outline appears where it will dock when you release the mouse button. If the panel’s home tab is not active, the tab highlights. If a panel group contains a mix, a combination of the aforementioned conditions occur. ■ Similarly, to change a panel’s position on the ribbon, drag it to the desired location. Resizing the Modeling Ribbon ■ When the horizontal ribbon floats, you can resize it horizontally by dragging either end. When you reduce the size of the maximized ribbon, the panel contents automatically scale down to fit within the current width, first by dropping labels and ultimately by replacing the visible panel contents with the panel title. At that point, you need to click the panel to view its contents. The Ribbon Interface | 1987 Top: Edit and Geometry (All) panels at full width, ... Center: ... at medium width, and ... Bottom: ... fully reduced NOTE Panels also sometimes scale down when the ribbon is more crowded. This happens when you access a sub-object level, which opens additional panels, or if you add optional panels. ■ When the horizontal or vertical ribbon floats and has been reduced in size so that not all tab labels fit, the remaining tabs are available from a drop-down list that opens by clicking a double-arrow button: 1988 | Chapter 10 Surface Modeling ■ When the vertical ribbon floats, you can resize it both horizontally and vertically by dragging a vertical or horizontal edge, respectively. When you reduce the vertical ribbon height, the panel contents scale as much as possible; thereafter, a scroll bar becomes available for scrolling through the panels. Vertical ribbon with scroll bar on right side The Ribbon Interface | 1989 Additional Controls ■ To use a panel tool, click its button. To learn its function, hover the mouse cursor over it for a moment and read the tooltip. Some tooltips include an illustration or a video; the latter is indicated by the message, “Press Y for video.” NOTE Certain tools, such as Use Soft Selection, open a contextual settings/options panel when active. The contextual panel always opens on all tabs of the ribbon, even if the panel with the tool floats. If you like, you can use the right-click menu to turn it off on other panels. ■ Contextual panels open at the right end of the ribbon. Like any other panel, you can drag them to another location on the ribbon if you wish. The Soft Selection and Slice Mode contextual panels have been moved closer to the left end of the ribbon. When the ribbon is minimized to panel titles, contextual panels are indicated with “---” on both sides of the panel title, as shown in the following illustration: Interface In addition to the modeling tools provided by the panel buttons and other controls, the modeling ribbon provides interface-management functions in the form of buttons and a context-sensitive right-click menu. 1990 | Chapter 10 Surface Modeling Buttons Button-type ribbon controls let you expand panels, pin the expansions, and more; all are described in this section. [open panel expansion] At the bottom or right side of every panel is the title bar; if Show Panel Titles on page 1994 is off, a thin bar takes its place. If the title bar contains a small arrowhead, that means it can be expanded to show additional controls. To expand the panel, click the title. The panel expansion remains open as long the mouse cursor stays on it. To close it, simply move the mouse away. Left: Click the panel title bar ... Right: ... to open the panel expansion. NOTE When the ribbon is minimized to panel titles, panels expand fully when opened, so further expansion is inapplicable. TIP If you like, you can “pin” open a panel expansion (see following). [pin/unpin panel expansion] At the left end of the title bar of an expanded panel is a small button with a pushpin icon (see preceding illustration). To “pin” the panel expansion, thus locking it open, click this button. To allow it to close, “unpin” it by clicking the button again. The Ribbon Interface | 1991 NOTE When Show Panel Titles on page 1994 is off, the “pin” icon takes the form of a small circle. Return Panels to Ribbon Restores all panels in the group to the modeling ribbon. Each panel returns to its previous tab and location on the ribbon, before it was floated. Available only on floating panels. Toggle Orientation Switches the panel group layout between vertical and horizontal. Available only on floating panels. Top: Floating panel group in vertical orientation Bottom: Floating panel group in horizontal orientation Minimize/Maximize Click this button, found on the ribbon next to the tab titles, to toggle the ribbon between maximized and the active minimize option (see following). Alternatively, if the Cycle Through All option is active (see following), clicking Minimize/Maximize activates the next option in this progression: maximized, 1992 | Chapter 10 Surface Modeling minimized to panel buttons, minimized to panel titles, and minimized to tabs. When the ribbon is maximized, most of its controls are visible; the rest are available on the expansion area of certain panels, indicated by a small arrowhead next to the panel title. Click the title to open the expansion. To set the active minimize option, click the small arrow next to the Minimize/Maximize button and choose an option from the drop-down list: ■ Minimize to Tabs The ribbon shows only tab names. To access the panels, click a tab; this maximizes the ribbon temporarily. When you move the mouse cursor away from the ribbon, it minimizes again. In this mode, additional controls on some panels are available on the panel expansion, indicated by a small arrowhead next to the panel title when the panels are expanded. Click the title to open the expansion. ■ Minimize to Panel Titles The ribbon shows tabs and panel titles. To access a panel, mouse over its title. In this mode, each panel expands to show all controls automatically; no further expansion is available. ■ Minimize to Panel Buttons The ribbon shows tabs, panel titles, and a single icon for each panel. To access a panel, mouse over its title. ■ Cycle through All When active, clicking the Minimize/Maximize button activates the next option in this progression: maximized, minimized to panel buttons, minimized to panel titles, and minimized to tabs. The Ribbon Interface | 1993 Right-click menu When you right-click the ribbon or a floating panel group, different commands and submenus appear, depending on where you click. Following is a comprehensive listing of available right-click-menu commands. Show Tabs submenu Toggles visibility of the ribbon tabs: Graphite Modeling Tools on page 1995, Freeform on page 2107, and Selection on page 2132, and Object Paint on page 2144. Show Panels submenu Lists all panels available for the active tab. Visible panels have check marks next to their names; hidden ones don’t. To toggle a panel’s visibility, click its name in the list. NOTE Floating panels do not appear in the list; to enable control over the visibility of a floating panel, return it to the ribbon. Show Panel Titles When on, a panel title appears at the bottom or side of each panel (depending on orientation). When off, the panel titles are replaced by thin horizontal strips on the horizontal ribbon; you can drag these away from the ribbon to float the panels. However, on the vertical ribbon, turning of Show Panel Titles simply removes the title bars. NOTE When Minimize to Panel Titles is active, panel titles always appear. Also, floating panels always have titles. Ribbon Configuration Provides commands for customizing the ribbon, as described in the following section. Ribbon Configuration Submenu These commands are available on the ribbon right-click menu ➤ Ribbon Configuration submenu for changing the ribbon configuration to better fit your workflow. Customize Ribbon Opens the Customize Ribbon dialog on page 2163. Switch to Vertical/Horizontal Ribbon Toggles the ribbon orientation between vertical and horizontal. Before changing the orientation, 3ds Max saves the current configuration (docked, maximized, etc.) and restores it when you next switch the orientation. Load Ribbon Opens a dialog for loading a saved ribbon-configuration file. These files use the .ribbon filename extension, and contain all ribbon-configuration data including orientation, maximize/minimize status, docked/floating/position/size status, tab and panel visibility, and so on. 1994 | Chapter 10 Surface Modeling In general, use Load Ribbon to load a custom configuration file you created with Save Ribbon (see following). Save Ribbon Opens a dialog for saving a ribbon-configuration file. These files use the .ribbon filename extension, and contain all ribbon-configuration data including orientation, maximize/minimize status, docked/floating/position/size status, tab and panel visibility, and so on. If you typically change the ribbon configuration during a session or for different projects, use Save Ribbon to store each configuration in a different file and then restore a saved configuration with Load Ribbon (see preceding). Reset Ribbon to default Restores the ribbon to the default settings as originally installed, including horizontal orientation, docked at the top of the interface, and minimized to panel titles. In addition, any ribbon elements you added, removed, or changed with Customize Ribbon (see preceding) are lost, so be sure to save the ribbon in a custom file before resetting it. Enable Tooltips When on, ribbon tooltips function normally. When off, ribbon tooltips are unavailable. Graphite Modeling Tools Tab Modeling ribbon ➤ Graphite Modeling Tools tab The Graphite Modeling Tools tab contains the tools you use most often for polygon modeling, organized into separate panels for easy, convenient access. Polygon Modeling Panel Modeling ribbon ➤ Graphite Modeling Tools/Freeform/Selection tab ➤ Polygon Modeling panel NOTE The Polygon Modeling panel is visible by default only on the Graphite Modeling Tools tab but can be made visible on the Freeform tab and Selection tab via the right-click menu. The Polygon Modeling panel includes tools for switching sub-object levels, navigating the modifier stack, converting objects to editable poly and Edit Poly, and more. Because this is perhaps the most commonly used panel, we recommend that you float it separate from the modeling ribbon (“tear” it off by dragging the Graphite Modeling Tools Tab | 1995 panel label), and use the rest of the ribbon minimized, to maximize screen real estate. Recommended setup: The modeling ribbon is docked and minimized, while the Polygon Modeling panel floats. See also: ■ Editable Poly Surfaceeditable poly on page 2240 Interface Polygon Modeling panel on minimized ribbon 1996 | Chapter 10 Surface Modeling Polygon Modeling panel on maximized ribbon, with expansion Polygon Modeling panel floating, with expansion NOTE The sub-object level buttons on the Polygon Modeling panel provide the same selection-conversion features as their counterparts on the Modify panel. For details, see Converting Sub-object Selections on page 1288. Vertex Accesses the Vertex sub-object level, which lets you select a vertex beneath the cursor; region selection selects vertices within the region. Graphite Modeling Tools Tab | 1997 Edge Accesses the Edge sub-object level, which lets you select a polygon edge beneath the cursor; region selection selects multiple edges within the region. Border Accesses the Border sub-object level, which lets you select a sequence of edges that borders a hole in the mesh. A border comprises only connected edges with faces on only one side of them, and is always a complete loop. For example, a default box primitive doesn't have a border, but the teapot object has a couple of them: one each on the lid, the body, and the spout, and two on the handle. If you create a cylinder and delete one end, the row of edges around that end forms a border. When Border sub-object level is active, you can't select edges that aren't on borders. Clicking a single edge on a border selects that whole border. You can cap a border, either with the Cap function on page 1334 or by applying the Cap Holes modifier on page 1124. You can also connect borders between objects with the Connect compound object on page 628. NOTE The Edge and Border sub-object levels are compatible, so if you go from one to the other, any existing selection is retained. Polygon Accesses the Polygon sub-object level, which lets you select polygons beneath the cursor. Region selection selects multiple polygons within the region. Element Accesses the Element sub-object level, which lets you select all contiguous polygons in an object. Region selection lets you select multiple elements. NOTE The Polygon and Element sub-object levels are compatible, so if you go from one to the other, any existing selection is retained. Modify Mode/[stack level] Switches to the Modify panel, or if the Modify panel is active, shows the current modifier stack level. 1998 | Chapter 10 Surface Modeling Usage examples: ■ if any object is selected and any command panel other than the Modify panel is active, the button label reads “Modify Mode.” ■ For an object with no modifiers, if the Modify panel is active and the object type is anything other than editable poly or Edit Poly, the button is unavailable; otherwise the button shows the object type, such as “Editable Poly.” ■ If the Modify panel is active and the current stack level is a modifier, the button shows the name of the modifier. TIP When the Modify panel is active, you can navigate the modifier stack with the Next/Previous Modifier controls. Toggle Command Panel Toggles visibility of the command panel. NOTE Clicking this button always makes the Modify panel active. Pin Stack Locks the modifier stack and modeling ribbon controls to the currently selected object so they remain with that object regardless of subsequent changes in selection. TIP Pin Stack is useful for transforming another object while keeping your place in the modified object's stack. Show End Result (off/on) Shows the selected object as it appears after all modifications in the stack have taken place, regardless of your current position in the stack. When this toggle is off, the object appears as modified up to the current modifier in the stack. Next/Previous Modifier Moves up or down the stack, respectively, making the next highest or lowest modifier current. Graphite Modeling Tools Tab | 1999 Equivalent to clicking the entry above or below the current one in the modifier stack. Preview This option lets you preview a sub-object selection before committing to it. You can preview at the current sub-object level, or switch sub-object levels automatically based on the mouse position. The choices are: ■ ■ Preview OffNo preview is available. Preview SubObjectEnables previewing at the current sub-object level only. As you move the mouse over the object, the sub-object under the cursor highlights in yellow. To select the highlighted object, click the mouse. To select multiple sub-objects at the current level, press and hold Ctrl, move the mouse to highlight more sub-objects, and then click to select all highlighted sub-objects. Polygon sub-object selection preview with Ctrl held down 2000 | Chapter 10 Surface Modeling To deselect multiple sub-objects at the current level, press and hold Ctrl+Alt, move the mouse to highlight more sub-objects, and then click a selected sub-object. This deselects all highlighted sub-objects. ■ Preview MultiWorks like Preview SubObject, but also switches among the Vertex, Edge, and Polygon sub-object levels on the fly, based on the mouse position. For example, if you position the mouse over an edge, the edge highlights, and then clicking activates the Edge sub-object level and selects the edge. To select multiple sub-objects of the same type, press and hold Ctrl after highlighting a sub-object, move the mouse to highlight more sub-objects, and then click to activate that sub-object level and select all highlighted sub-objects. To deselect multiple sub-objects at the current sub-object level, press and hold Ctrl+Alt, move the mouse to highlight more sub-objects, and then click a selected sub-object. This deselects all highlighted sub-objects. Note that this method does not switch sub-object levels. NOTE When Ignore Backfacing (see following) is off, you’ll see backfacing vertices and edges highlight while previewing a sub-object selection. Ignore Backfacing Toggles selection of backfacing sub-objects. When on, selection of sub-objects affects only those facing you. When off (the default), you can select any sub-object(s) under the mouse cursor, regardless of their visibility or facing. Use Soft Selection Toggles Soft Selection on page 1966 and the Soft Panel on page 2003, with settings for controlling how Soft Selection works. Available only at sub-object levels. When off, transforming a sub-object selection affects only those sub-objects. When on, partially selects sub-objects near an explicit selection, depicted as a color gradient. Transforming then falls off with distance from explicitly selected sub-objects. Graphite Modeling Tools Tab | 2001 Left: Vertex moved with Soft Selection off Right: Vertex moved with Soft Selection on NOTE When the modeling ribbon is maximized or the Polygon Modeling panel floats, the following controls appear on the Polygon Modeling panel expansion. Collapse Stack Same as Collapse All on page 989: Collapses the selected object’s entire stack to an editable object that preserves the cumulative effect of the collapsed modifiers on the base object. See Collapsing the Stack on page 988. You can use the Graphite Modeling Tools with an object that results from collapsing the stack only if it’s an editable poly. Convert to Poly Converts the object to editable poly format and switches to Modify mode. This is the quickest way to start using the Graphite Modeling Tools on an object. Apply Edit Poly Mod Applies the Edit Poly modifier on page 1274 to the object and switches to Modify mode. 2002 | Chapter 10 Surface Modeling Generate Topology Opens the Topology dialog on page 2007 with tools for adjusting the object’s geometric makeup. Symmetry Tools Opens the Symmetry Tools dialog on page 2012 with controls for making models symmetrical. Full Interactivity Toggles the level of feedback for the QuickSlice and Cut tools, as well as all settings dialogs and caddies. Available with editable poly objects, but not the Edit Poly modifier. When on (the default), 3ds Max updates the viewport in real time as you use the mouse to manipulate the tool or change a numeric setting. With Cut and QuickSlice, when Full Interactivity is off, only the rubber-band line is visible until you click. Similarly, with numeric settings in caddies, the final result is visible only when you release the mouse button after changing the setting. The state of Full Interactivity doesn't affect changing a numeric setting from the keyboard. Whether it's on or off, the setting takes effect only when you exit the field by pressing Tab or Enter, or by clicking a different control in the dialog. Soft Panel Modeling ribbon ➤ Graphite Modeling Tools/Freeform/Selection tab ➤ Polygon Modeling panel ➤ Access a sub-object level. ➤ Use Soft Selection NOTE The Polygon Modeling panel is visible by default only on the Graphite Modeling Tools tab but can be made visible on the Freeform tab and Selection tab via the right-click menu. The Soft panel opens when Use Soft Selection is on, and provides controls for modifying how Soft Selection works. For details, see Soft Selection Rollout on page 1966 Graphite Modeling Tools Tab | 2003 Interface Edit When on, you can change Soft Selection parameters interactively with the keyboard and mouse. For details, see this procedure on page 1968 and this section on page 1972. Paint Paint a soft selection on the active object using the current settings. When active, opens the PaintSS panel on page 2006 for controlling how painting works. Drag the mouse cursor over the object surface to paint the selection. TIP You can streamline the painting process by using the Brush Presets tools on page 8633. Lock Locks the soft selection in order to prevent changes to the procedural selection. NOTE Painting the soft selection turns on Lock Soft Selection automatically. If you turn it off after using Paint Soft Selection, the painted soft selection is lost, and cannot be restored with Undo. Shaded When on, displays a color gradient corresponding to the soft selection weights on faces within the soft selection range. 2004 | Chapter 10 Surface Modeling Shaded makes it easier to see the soft-selection area, especially with complex models. Use Backfaces When on, deselected faces whose normals face in the opposite direction to the average normal of the selected sub-objects are affected by the soft-selection influence. In the case of vertices and edges, this applies to the normals of faces to which they're attached. TIP Turn off Use Backfaces when you want to manipulate faces of a thin object, such as a thin box, but don't want to affect faces on the other side of the object. NOTE When the modeling ribbon is maximized or the Soft panel floats, the following controls appear on the Soft panel expansion. Use Edge Distance When on, limits the soft-selection region to the specified number of edges (use the adjacent numeric setting) between where you select and the maximum extent of the soft selection. The affected region is measured in terms of "edge-distance" space, along the surface, rather than real space. This option is useful in cases where you want to select only contiguous sections of geometry. For example, if a bird's wing is folded back against its body, selecting the wing tip with Soft Selection would affect nearby body vertices as well. But if you turn on Use Edge Distance, set the numeric value to the distance (in edges) along the wing that you wish to affect, and then set Falloff to an appropriate value, selecting and then moving the wing tip would move only the wing geometry. Falloff Distance in current units from the center to the edge of a sphere defining the affected region. If Edge Distance is on, Falloff is measured in edges and the Edge Distance setting limits the maximum falloff amount. NOTE The region specified by the Falloff setting is depicted graphically in the viewports as a color gradient in vertices and/or edges (or, with editable polys and patches, optionally in faces). The gradient ranges from the selection color (red by default) to the non-selected sub-object color (blue by default). In addition, This gradient is updated in real time as you change the Falloff setting. Pinch Adjusts the slope of the curves on either side of the top point of the soft-selection falloff curve (visible on the command panel). Default=0. Graphite Modeling Tools Tab | 2005 Pinch sets the relative "pointedness" of the region. When negative, a crater is produced instead of a point. At a setting of 0, Pinch produces a smooth transition across this axis. Bubble Expands and contracts the soft-selection falloff curve (visible on the command panel) along the vertical axis. Sets the relative "fullness" of the region. Default=0. Bubble is limited by Pinch, which sets a fixed starting point for Bubble. A setting of 0 for Pinch and 1.0 for Bubble produces the smoothest bulge. Negative values for Bubble move the bottom of the curve below the surface, creating a "valley" around the base of the region. PaintSS Panel Modeling ribbon ➤ Graphite Modeling Tools/Freeform/Selection tab ➤ Polygon Modeling panel ➤ Use Soft Selection ➤ Soft panel ➤ Paint The PaintSS (Paint Soft Selection) panel provides controls for painting a soft selection of sub-objects on an editable poly or Edit Poly object. Interface Blur Paint with Blur to soften the outlines of an existing painted soft selection. Revert Paint with Revert to reverse a soft selection on the active object using the current settings. 2006 | Chapter 10 Surface Modeling Options Opens the Painter Options dialog on page 1940, with settings for brush-related properties. NOTE When the modeling ribbon is maximized or the PaintSS panel floats, the following controls appear on the PaintSS panel expansion. Value The maximum relative selection of the painted or reverted soft selection. The values of surrounding vertices within the brush radius fall off towards a value of 0. Default=1.0. Size The radius of the circular brush used for painting the selection. Strength The rate at which painting a soft selection sets the painted sub-objects to the maximum value. A high Strength value reaches the full value quickly, while a low value requires repeated applications to reach full value. Topology dialog Modeling ribbon ➤ Graphite Modeling Tools/Freeform/Selection tab ➤ Polygon Modeling panel [expansion] ➤ Generate Topology NOTE The Polygon Modeling panel is visible by default only on the Graphite Modeling Tools tab but can be made visible on the Freeform tab and Selection tab via the right-click menu. The topology tools rework an object’s mesh subdivision into procedurally generated patterns. You can apply a topology pattern over an entire surface or a selected section. The various topology tools are described following. The descriptions for the tools are only suggestions of what the tools can be used for, and you can combine multiple tools to create new patterns. Try experimenting with applying a tool several times to generate a different pattern. A typical use of these tools could be to first generate a topology pattern of some sort, and then extrude or bevel different parts to form a structure. Graphite Modeling Tools Tab | 2007 Interface NOTE The topology tools work at the object level and all sub-object levels. To confine a tool’s effect to the current sub-object selection, press and hold Shift before clicking. Also, all tools have assignable CUI action items on page 8837 available in the PolyTools category, as noted in the descriptions. Wall Generates a wall-type topology with bricks of different sizes. CUI action: TopoWall Tiles Generates a tile type topology. CUI action: TopoTiles 2008 | Chapter 10 Surface Modeling Bricks Generates brick topology. IMPORTANT This tool requires one edge to be selected. The direction of the edge determines which way is "up" on the bricks. The tool works only if the selected edge is within quad topology. CUI action: TopoBrick Hive Generates hive-type topology. IMPORTANT This tool requires one edge to be selected. The direction of the edge determines which way is "up." The tool works only if the selected edge is within quad topology. CUI action: TopoHive Tiles2 Works like Tiles (see preceding), but the resulting tiles are slightly more random. CUI action: TopoTiles2 Mosaic Generates mosaic topology, with random bricks of different sizes. CUI action: TopoMosaic Floor Works like Tiles (see preceding), but generates the pattern in a crossing direction. CUI action: TopoFloor Floor2 Works like Wall (see preceding), but generates the pattern in a crossing direction. CUI action: TopoFloor2 Graphite Modeling Tools Tab | 2009 Skin Generates a skin-type topology, with rounded patches. CUI action: TopoSkin Holer Generates "holes" in the topology. If you press Alt the result is more chaotic and less rounded, because it removes vertices with only two edges going from them. CUI action: TopoHoler Diamond Changes the direction of the edges to a regular diagonal pattern. CUI action: TopoEdgedir Simplify Simplifies the topology by removing random parts, but keeping certain areas of edges intact. CUI action: TopoSimplify Chaos Generates a chaotic topology, with randomly shaped patches. CUI action: TopoChaos Fours Generates a tile-type topology, which consists of mostly larger quads. CUI action: TopoFours Stars Generates a random smoothed-stars topology. CUI action: TopoStars Cross Generates a topology with crosses. 2010 | Chapter 10 Surface Modeling CUI action: TopoCross Planks Generates a plank-type topology, with "planks" of different sizes. CUI action: TopoPlanks Planks2 Similar to Planks (see preceding) but with broader planks. CUI action: TopoPlanks2 Planks3 Generates a topology with large crosses of "planks." CUI action: TopoPlanks3 Planks4 Similar to Planks (see preceding) but with longer planks. CUI action: TopoPlanks4 Tatter Generates "holes" in the topology, separated by rows of polygons. The three numeric settings apply to Tatter only, before applying the tool. ■ SizeDetermines the overall size of the generated holes. ■ IterationsDetermines the number of different sizes for the generated holes. ■ SmoothDetermines how rounded the generated holes will be. CUI action: TopoTatter ScrapVerts Removes all vertices in the mesh with two edges going from them. CUI action: TopoScrapV Plane Creates a Plane object and converts it to editable poly format for quick testing of the different tools. The value of the "S" parameter determines the number of segments in the plane. Graphite Modeling Tools Tab | 2011 Symmetry Tools dialog Modeling ribbon ➤ Graphite Modeling Tools/Freeform/Selection tab ➤ Polygon Modeling panel [expansion] ➤ Symmetry Tools NOTE The Polygon Modeling panel is visible by default only on the Graphite Modeling Tools tab but can be made visible on the Freeform tab and Selection tab via the right-click menu. These are tools for making models symmetrical when using the Symmetry modifier on page 1752 is not an option, such as when working with morph targets. You can model one side of the model and apply these tools to make it symmetrical about an axis. The symmetry is based on an object you pick that is symmetrical about the chosen axis. It then determines which vertices are symmetrical and enables you to use that information on any other model sharing the same vertex count. The Symmetry tool works in the object’s local coordinate system. Interface Pick Main Model Click this button and then select the object on which to base the symmetry. The software then calculates the symmetry based on the specified axis with the specified Tolerance value (see following). After calculating the symmetry, the software selects all non-symmetrical vertices in the model, including vertices in the center seam. 2012 | Chapter 10 Surface Modeling Axis The axis on which to base the symmetry, in the object’s local coordinate system. The center of the axis is determined by the pivot point of the picked object. Changing the axis recalculates the symmetry for the picked model. Tolerance The distance in world units that the software uses to determine whether two vertices are symmetrical. If the picked model is not completely symmetrical, increase this value slightly. Make Symmetrical group + To -/- To + Use these buttons to make the model symmetrical on the chosen axis. Click to make everything on the minus side of the axis symmetrical to the plus side. Click to make everything on the plus side of the axis symmetrical to the minus side. Flip Symmetry Works like a mirror tool by switching the vertex positions on the chosen axis. Vertex positions group Copy Selected Use this tool to copy the currently selected vertices’ positions. Paste Use this tool to paste the vertex positions that you copied with the Copy Selected tool. For example, you can copy the closed eyes or a certain mouth shape from one model to another. You can also copy positions from an editable poly object and paste them into an Edit Poly modifier. Modify Selection Panel Modeling ribbon ➤ Graphite Modeling Tools/Selection tab ➤ Modify Selection panel NOTE The Modify Selection panel is visible by default only on the Graphite Modeling Tools tab but can be made visible on the Selection tab via the right-click menu. The Modify Selection panel provides tools for adding to and subtracting from sub-object selections, both in general and with respect to loops and rings. Graphite Modeling Tools Tab | 2013 Interface Modify Selection panel on minimized ribbon Modify Selection panel on maximized ribbon, with expansion 2014 | Chapter 10 Surface Modeling Modify Selection panel floating, with expansion Grow Expands the selection area outward in all available directions. For this function, a border is considered to be an edge selection. With Shrink and Grow, you can add or remove neighboring elements from the edges of your current selection. This works at any sub-object level. Shrink Reduces the sub-object selection area by deselecting the outermost sub-objects. If the selection size can no longer be reduced, the remaining sub-objects are deselected. Loop Selects a loop or loops based on the current sub-object selection. Loop on the modeling ribbon differs from Loop on the Modify panel in that the latter works only on edges, while the former works at all sub-object levels. Graphite Modeling Tools Tab | 2015 TIP You can select a loop quickly at any sub-object level except Element by selecting a sub-object and then Shift+clicking another sub-object in the same loop. Usage: ■ Vertex Select sets of neighboring vertices and apply to select loops. If you select a single vertex, Loop selects all vertices on loops passing through the vertex. Using Loop at the Vertex level ■ Edge Select one or more edges and apply to select loops. Using Loop at the Edge level 2016 | Chapter 10 Surface Modeling ■ Polygon Select sets of neighboring polygons and apply to select loops. If you select a single polygon, Loop selects all polygon loops that pass through the poly. Using Loop at the Polygon level Loop Cylinder Ends (on Loop drop-down) Selects vertex and edge loops along the top and bottom edges of a cylinder. Select an edge or a pair of adjacent vertices along the top and/or bottom edge of a cylinder, and then apply to select a loop. Add Loop Shift to Caddy Manipulator (on Loop drop-down) Toggles the availability of the Loop Shift on page 1296 control on the caddy on page 2339 when Select And Manipulate on page 2868 is active. Grow Loop Grows a loop based on current sub-object selection. Select part of one or more loops (an edge, or two or more adjacent vertices or polygons), and then click Grow Loop to select sub-objects at the end(s) of the loops. Shrink Loop Reduces the extent of selected loops by removing sub-objects from the ends. Does not apply to circular loops. Select one or more non-circular loops and then click Shrink Loop to deselect sub-objects at the end(s) of the loops. Graphite Modeling Tools Tab | 2017 Loop Mode When on, selecting sub-objects can also automatically select an associated loop. TIP When Loop Mode is not active, you can select a loop quickly at any sub-object level except Element by selecting a sub-object and then Shift+clicking another sub-object in the same loop. Usage: ■ Vertex/Polygon Select two or more adjacent sub-objects to select the associated loop(s). ■ Edge Select one or more edges to select the associated loop(s). To deselect a loop with Loop Mode active, hold Alt while making a selection described preceding. Dot Loop Selects loops with gaps. Select an edge or sets of two or more adjacent vertices or polygons in a row or column (to indicate the loop direction) and apply. To change the spacing, use the Dot Gap setting on page 2025. Dot Loop Opposite (on Dot Loop drop-down) Selects vertex/polygon loops with gaps. Select sets of two or more adjacent vertices or polygons in a row or column (to indicate the loop direction) and apply. Starts with a different sub-object from Dot Loop. To change the spacing, use the Dot Gap setting on page 2025. Dot Loop Cylinder (on Dot Loop drop-down) Selects edges or vertices in a non-continuous loop around the top and bottom edges of a cylinder, with the selection pattern determined by the Dot Gap setting on page 2025 available on the panel expansion. To use with edges, first select an edge on the top or bottom edge of a cylinder. To use with vertices, first select two or more adjacent vertices on the top or bottom edge of a cylinder. Ring Selects a ring or rings based on the current sub-object selection. 2018 | Chapter 10 Surface Modeling Usage: ■ Vertex Select sets of neighboring vertices and apply to select rings. Using Ring at the Vertex level ■ Edge Select one or more edges and apply to select rings. Using Ring at the Edge level TIP You can select an edge ring quickly by selecting an edge and then Shift+clicking another edge in the same ring. Graphite Modeling Tools Tab | 2019 ■ Polygon Select sets of neighboring polygons and apply to select rings. If you select a single polygon, selects both the loop and ring the poly belongs to. Using Ring at the Polygon level Add Ring Shift to Caddy Manipulator (on Ring drop-down) Toggles the availability of the Ring Shift on page 1294 control on the caddy on page 2339 when Select And Manipulate on page 2868 is active. Grow Ring Grows one or more edge rings in steps. Available only at the Edge and Border sub-object levels. Select one or more edges and then apply to select any available rings at either end of the current ring(s). Shrink Ring Reduces the extent of selected edge rings by removing edges from the ends. Does not apply to circular rings. Available only at the Edge and Border sub-object levels. Usage: Select one or more non-circular rings and then click Shrink Ring to deselect edges from the ends of the rings. Ring Mode When on, selecting enough sub-objects to indicate the ring direction automatically selects the ring. 2020 | Chapter 10 Surface Modeling Sub-object level: ■ Vertex/Polygon Select two or more adjacent sub-objects to select the ring(s) they’re on. ■ Edge Select one or more edges to select the ring(s) they’re on. To deselect a ring with Ring Mode active, hold Alt while selecting an edge in a selected ring. Dot Ring Selects edge rings with gaps, based on the current selection. To change the spacing, use the Dot Gap setting on page 2025. NOTE When the modeling ribbon is maximized or the Modify Selection panel floats, the following controls appear on the Modify Selection panel expansion. Outline Selects the border (outside members) of the current sub-object selection and deselects the rest. At the Polygon level, to select an edge border, use Shift (switches to Edge sub-object level). Similar Adds to the current sub-object selection based on the characteristics of selected sub-objects and the settings on the drop-down for this tool. The availability of options and results depend on the sub-object level and the current selection. The options are: ■ Edge CountSelects vertices with the same number of edges going from them as the selected vertices, or polygons with the same number of sides as the selected polygons. ■ Edge LengthSelects vertices with roughly the same combined length of connected edges as the selected vertices, or edges with roughly the same lengths as selected edges. ■ Face CountSelects vertices with the same number of surrounding faces as the selected vertices. Graphite Modeling Tools Tab | 2021 ■ Face AreasSelects vertices or edges with roughly the same combined areas of surrounding faces as the current selection. ■ TopologySelects edges whose endpoint vertices have the same number of neighboring edges and faces as the selected edges, or polygons whose vertices have the same edge count as the selected faces. ■ Normal DirectionSelects vertices, edges, or polygons with roughly the same normal directions on page 9237 as the current selection. Also see: Select By Numeric on page 2142. Fill Selects all sub-objects between two selected sub-objects. Usage: Select two objects to designate diagonally opposite corners of the area to be filled, and then click Fill. Using Fill at the Vertex level 2022 | Chapter 10 Surface Modeling Using Fill at the Polygon level Fill Hole Selects all sub-objects within an enclosed area, as designated by an outline selection and a freestanding selection inside the outline. Outline an area with a selection, select a sub-object within the area, and click Fill Hole. The selected part must stand free from the surrounding selection, so, for example, a selected polygon in the hole should not be adjacent to any selected polygons around the hole. Using Fill Hole at the Vertex level Graphite Modeling Tools Tab | 2023 Using Fill Hole at the Edge level Using Fill Hole at the Polygon level StepLoop Selects a loop between two selected sub-objects on the same loop. Select two sub-objects on the same loop and apply StepLoop to select all sub-objects between them using the shortest distance. 2024 | Chapter 10 Surface Modeling Using StepLoop at the Vertex level StepLoop Longest Distance (on StepLoop drop-down) Selects a loop between two selected sub-objects on the same loop using the longest distance, if possible. Select two sub-objects on the same loop and apply StepLoop to select all sub-objects between them using the longest distance, if the complete loop is closed. Step Mode Use Step Mode to select a loop in steps, increasing the loop length by selecting individual sub-objects. Access the desired sub-object level and turn on Step Mode. Select a sub-object and then Ctrl+click to select another sub-object on the same loop. This also selects all sub-objects between the two in the shortest distance. To select an edge or vertex loop at a cylinder end, use Shift+Ctrl+click to select the second and subsequent sub-objects. If you select a sub-object not on the current loop, you start a new loop, and can then use Step Mode for that loop. Dot Gap Specifies the extent of gaps between sub-objects in a loop selected with Dot Loop, or between edges in a ring selected with Dot Ring. Edit Panel Modeling ribbon ➤ Graphite Modeling Tools/Freeform tab ➤ Edit panel Graphite Modeling Tools Tab | 2025 NOTE The Edit panel is visible by default only on the Graphite Modeling Tools tab but can be made visible on the Freeform tab via the right-click menu. The Edit panel provides a variety of tools for modifying mesh objects, including transform constraints, edge and loop creation, and editing texture coordinates. Interface Edit panel on minimized ribbon Edit panel at Object level Edit panel at sub-object levels 2026 | Chapter 10 Surface Modeling Preserve UVs When on, you can edit sub-objects without affecting the object's UV mapping. You can choose any of an object's mapping channels to preserve or not; see Preserve UVs Settings, following. Default=off. Without Preserve UVs, there is always a direct correspondence between an object's geometry and its UV mapping. For example, if you map an object and then move vertices, the texture moves along with the sub-objects, whether you want it to or not. If you turn on Preserve UVs, you can perform minor editing tasks without changing the mapping. Original object with texture map (left); Scaled vertices with Preserve UVs off (center); Scaled vertices with Preserve UVs on (right) TIP For best results with Preserve UVs at the vertex level, use it for limited vertex editing. For example, you'll usually have no trouble moving a vertex within edge or face constraints. Also, it's better to perform one big move than several smaller moves, as multiple small moves can begin to distort the mapping. If, however, you need to perform extensive geometry editing while preserving mapping, use the Channel Info utility on page 6936 instead. Preserve UVs Settings (on Preserve UVs drop-down) Opens the Preserve Map Channels dialog on page 2367, which lets you specify which vertex color channels and/or texture channels (map channels) to preserve. By default, all vertex color channels are off (not preserved), and all texture channels are on (preserved). TIP You can open the Preserve Map Channels dialog quickly by Shift+clicking the Preserve UVs button. Tweak (UVs) When on, you can adjust the UVW mapping on your model directly in the viewport by dragging over the vertices of the model to pull the texture vertices around. Adjust settings with the UV Tweak Options panel on page 2038. Graphite Modeling Tools Tab | 2027 By tweaking UVs with this tool you can quickly adjust areas of stretching in the UVW mapping without the need to add any modifiers. Use the spinner to choose the desired mapping channel and then start the tool. When finished tweaking, right-click to exit the tool. Drag a vertex to adjust the UVs When working with Tweak, it’s useful to have a material applied to the model that enables you to easily spot stretching in the mapping. A checker map is suitable for this purpose. TIP To see the modified texture coordinates that result from using the Tweak tool, apply an Unwrap UVW modifier on page 1787 and then click the Edit button on the modifier’s Parameters rollout. Repeat Last Repeats the most recently used command. For example, if you extrude a polygon, and want to apply the same extrusion to several others, select the others, and then click Repeat Last. 2028 | Chapter 10 Surface Modeling You can apply a spline extrusion of a single polygon (left) repeatedly to other single polygons (1) or to multiple polygon selections, contiguous (2) or not (3). NOTE Repeat Last does not repeat all operations. For example, it does not repeat transforms. To determine which command will be repeated when you click the button, check the tooltip for the Repeat Last button on the command panel, which gives the name of the last operation that can be repeated. If no tooltip appears, nothing will happen when you click the button. QuickSlice Lets you quickly slice the object without having to manipulate a gizmo. Make a selection, click QuickSlice, and then click once at the slice start point and again at its endpoint. You can continue slicing the selection while the command is active. To stop slicing, right-click in the viewport, or click QuickSlice again to turn it off. Graphite Modeling Tools Tab | 2029 With Quickslice on, you can draw a line across your mesh in any viewport, including Perspective and Camera views. The mesh is sliced interactively as you move the line endpoint. NOTE At the Object level, QuickSlice affects the entire object. To slice only specific polygons, use QuickSlice on a polygon selection at the Poly sub-object level. NOTE At the Polygon or Element sub-object level, QuickSlice affects only selected polygons. To slice the entire object, use QuickSlice at any other sub-object level, or at the object level. SwiftLoop Place edge loops by clicking. Turn on, then click anywhere to insert an edge loop automatically, perpendicular to the edge closest to where you click. Continue clicking edges or right-click to exit. NOTE As you move the mouse cursor over the object surface, a real-time preview shows where the loop will be created when you click. 2030 | Chapter 10 Surface Modeling Additional features include the ability to slide edges or edge loops in different ways. Following are the different functions of the tool, which depend on which keyboard keys are pressed: ■ Shift Click to insert an edge loop and adjust the new loop to the flow of the surrounding surface. ■ Ctrl Click to select an edge loop and automatically activate the Edge sub-object level. ■ Alt Drag a selected edge loop to slide the edge loop between its bounding loops. ■ Ctrl+Alt Same as Alt but also straightens out the loop (if necessary) when you start to drag. ■ Ctrl+Shift Click to remove an edge loop. Use NURMS Applies smoothing via the NURMS method and opens the Use NURMS Panel on page 2034. As implemented in Edit/Editable Poly, NURMS is an easy-to-use, procedural mesh-smoothing method that gives you overall control over smoothing parameters. You control the degree of smoothing with the main Iteration setting, and, optionally the Iteration setting in the Render group as well. Cut Lets you create edges from one polygon to another or within polygons. Click at the start point, move the mouse and click again, and continue moving and clicking to create new connected edges. Right-click once to exit the current cut, whereupon you can start a new one, or right-click again to exit Cut mode. While cutting, the mouse cursor icon changes to show the type of sub-object it’s over, to which the cut will be made when you click. The following illustration shows the three different cursor icons. Graphite Modeling Tools Tab | 2031 Top: Cutting to a vertex Center: Cutting to an edge Bottom: Cutting to a polygon Cut is available at the object level and all sub-object levels. NOTE You can use Cut with Turn for enhanced productivity. For more information, see this procedure on page 1310. 2032 | Chapter 10 Surface Modeling Paint Connect When on, you can paint connections interactively between edges and vertices. Paint Connect offers a variety of operational modes, depending on which key or keys are pressed: ■ Normal Drag to paint connections between edges. ■ Shift Drag to paint connections between edges in the middle of the edges. ■ Ctrl Drag to select and connect vertices. ■ Alt Click to remove a vertex. ■ Ctrl+Shift Click to remove an edge loop. ■ Ctrl+Alt Click to remove an edge. ■ Shift+Alt Drag to paint a double connection (two parallel edges) between edges. TIP After using Paint Connect to create a loop that changes direction, you can “quadify” the corner polygons with Build Corner on page 2093. Set Flow (on Paint Connect drop-down) When on, using Paint Connect automatically repositions new edges to fit the shape of the surrounding mesh. Constraints Lets you use existing geometry to constrain sub-object transformation. Choose the constraint type: ■ None: No constraints. This is the default option. ■ Edge: Constrains sub-object transformations to edge boundaries. ■ Face: Constrains sub-object transformations to individual face surfaces. ■ Normal: Constrains each sub-object’s transformations to its normal, or the average of its normals. In most cases, this causes sub-objects to move perpendicular to the surface. NOTE This constraint works like the Push modifier on page 1588, including the fact that it operates on unmodified base normals. Edited normals are unsupported. Graphite Modeling Tools Tab | 2033 When set to Edge, moving a vertex will slide it along one of the existing edges, depending on the direction of the transformation. If set to Face, the vertex moves only on the polygon’s surface. NOTE You can set constraints at the Object level, but their use pertains primarily to sub-object levels. The Constraints setting persists at all sub-object levels. Use NURMS Panel Modeling ribbon ➤ Edit panel ➤ Use NURMS The Use NURMS panel opens when the Use NURMS on page 2031 button on the modeling ribbon ➤ Edit panel is active, and provides access to all controls for how NURMS smoothes object surfaces. Interface 2034 | Chapter 10 Surface Modeling Iterations Sets the number of iterations used to smooth the poly object. Each iteration generates all polygons using the vertices created from the previous iteration. Range=0 to 10. When the Iterations check box in the Render group (see following) is off, this setting controls iterations both in the viewports and at render time. When the check box is on, this setting controls iterations only in the viewports. WARNING Use caution when increasing the number of iterations. The number of vertices and polygons in an object (and thus the calculation time) can increase as much as four times for each iteration. Applying four iterations to even a moderately complex object can take a long time to calculate. To stop calculation and revert to the previous iteration setting, press Esc. Smoothness Determines how sharp a corner must be before polygons are added to smooth it. A value of 0.0 prevents the creation of any polygons. A value of 1.0 adds polygons to all vertices even if they lie on a plane. When the Smoothness check box in the Render group (see following) is off, this setting controls smoothness both in the viewports and at render time. When the check box is on, this setting controls smoothness only in the viewports. Show Cage Toggles the display of a two-color wireframe that shows the editable poly object before modification or subdivision. The cage colors are shown as swatches to the right of the check box. The first color represents unselected sub-objects, and the second color represents selected sub-objects. Change a color by clicking its swatch. Graphite Modeling Tools Tab | 2035 The cage displays the original structure of the edited object. Typically this feature is used in conjunction with the NURMS Subdivision feature, or with the MeshSmooth modifier on page 1450, because it lets you easily toggle visibility of the unsmoothed base object while simultaneously viewing the smoothed result, but it works with any modifier. When used with a modifier, turn on Show End Result to make Show Cage available. TIP Show Cage is particularly helpful when used with the Symmetry modifier on page 1752. Isoline Display When on, 3ds Max displays only isolines: the object's original edges, before smoothing. The benefit of using this option is a less cluttered display. When off, 3ds Max displays all faces added by NURMS Subdivision; thus, higher Iterations settings (see Display group on page 2330) result in a greater number of lines. Default=on. 2036 | Chapter 10 Surface Modeling Smoothed box with Isoline Display off (left) and Isoline Display on (right). NOTE Applying a modifier to an Editable Poly object cancels the effect of the Isoline Display option; the wireframe display reverts to showing all polygons in the object. This is not, however, always the case with the MeshSmooth modifier. Most deformation and mapping modifiers maintain the isoline display, but others, such as the selection modifiers (except Volume Select) and the Turn To ... modifiers, cause the interior edges to be displayed. [color swatches] Shows the colors used for the cage display (see preceding). To change a color, click its swatch. Update Updates the object in the viewport to match the current MeshSmooth settings. Works only when you choose When Rendering or Manually. Update: Choose how the software is to update the mesh: ■ AlwaysUpdates the object automatically whenever you change any MeshSmooth settings. ■ When RenderingUpdates the viewport display of the object only at render time. ■ ManuallyAny settings you change don't take effect until you click the Update button. Smooth Result Applies the same smoothing group to all polygons. Graphite Modeling Tools Tab | 2037 Separate By Smoothing Groups Prevents the creation of new polygons at edges between faces that don't share at least one smoothing group. Material IDs Prevents the creation of new polygons for edges between faces that do not share Material IDs. Render group Applies a different number of smoothing iterations and/or a different Smoothness value to the object at render time. TIP Use a low number of iterations and/or a lower Sharpness value for modeling, and higher values for rendering. This lets you work quickly with a low-resolution object in the viewports, while producing a smoother object for rendering. Iterations Lets you choose a different number of smoothing iterations on page 2330 to be applied to the object at render time. Turn on Iterations, and then use the spinner to its right to set the number of iterations. Smoothness Lets you choose a different Smoothness on page 2331 value to be applied to the object at render time. Turn on Smoothness, and then use the spinner to its right to set the smoothness value. UV Tweak Options Panel Modeling ribbon ➤ Edit panel ➤ Tweak The Tweak feature lets you adjust texture coordinates directly on the geometry by “painting”; that is, dragging with a circular brush. These settings let you modify the brush parameters. Interface Full Strength The area of the Tweak painting brush within which texture coordinates move at the same rate that you drag the brush. This area is depicted as a white circle inside a black one. 2038 | Chapter 10 Surface Modeling Texture coordinates outside the Full Strength circle but within the Falloff circle (see following) move at a gradually slower rate. To adjust Full Strength interactively, use Shift+drag. Falloff The area within which dragging the mouse with the Tweak tool active gradually decrease the effect, going from full strength (within the white circle) to no effect (outside the black circle). To adjust Falloff interactively, use Ctrl+drag. Strength % The overall rate at which the Tweak tool moves texture coordinates. For subtler effects, lower the Strength % value. To adjust Strength % interactively, use Shift+Alt+drag. Keep UV Boundaries Fixed When on, prevents movement of texture coordinates across cluster boundaries. (A cluster is a contiguous group of UVW coordinates.) Geometry (All) Panel Modeling ribbon ➤ Graphite Modeling Tools/Freeform tab ➤ Geometry (All) panel NOTE The Geometry (All) panel is visible by default only on the Graphite Modeling Tools tab but can be made visible on the Freeform tab via the right-click menu. The Geometry (All) panel provides a subset of modeling tools from the Edit Geometry rollout on page 1352 and adds Cap Poly on page 2046 for creating a polygon from a vertex or edge selection and the Quadrify on page 2048 tools for converting polygons to quadrilaterals. Graphite Modeling Tools Tab | 2039 Interface Geometry (All) panel on minimized ribbon Geometry (All) panel on maximized ribbon, with expansion 2040 | Chapter 10 Surface Modeling Geometry (All) panel floating, with expansion Relax Applies the Relax function to the current selection, using the current Relax settings (see following). Relax normalizes mesh spacing by moving each vertex toward the average location of its neighbors. It works the same way as the Relax modifier on page 1591. At the object level, Relax applies to the entire object. At sub-object levels, Relax applies only to the current selection. NOTE To open the Relax Settings dialog, use the drop-down or Shift+click the Relax button. Relax Settings (on Relax drop-down) Opens the Relax caddy on page 2369, which lets you specify how the Relax function is applied. Create Lets you create new geometry. How this button behaves depends on which level is active: ■ Object, Polygon, and Element levelsLets you add polygons in the active viewport. After you turn on Create, click three or more times in succession anywhere, including on existing vertices, to define the shape of the new polygon. To finish, right-click. While creating a polygon at the Polygon or Element level, you can delete the most recently added vertex by pressing Backspace. You can do this repeatedly to remove added vertices in reverse order of placement. You can start creating polygons in any viewport, but all subsequent clicks must take place in the same viewport. TIP For best results, click vertices in counterclockwise (preferred) or clockwise order. If you use clockwise order, the new polygon will face away from you. Graphite Modeling Tools Tab | 2041 ■ Vertex levelLets you add vertices to a single selected poly object. After selecting the object and clicking Create, click anywhere in space to add free-floating (isolated) vertices to the object. The new vertices are placed on the active construction plane unless object snapping is on. For example, with face snapping on, you can create vertices on object faces. ■ Edge and Border levelsLets you create an edge between a pair of non-adjacent vertices on the same polygon. Click Create, click a vertex, and then move the mouse. A rubber-band line extends from the vertex to the mouse cursor. Click a second, non-adjacent vertex on the same polygon to connect them with an edge. Repeat, or, to exit, right-click in the viewport or click Create again. Edges you create separate the polygons. For example, by creating an edge inside a quadrilateral polygon, you turn it into two triangles. Attach Lets you attach other objects in the scene to the selected poly object. After activating Attach, click an object to attach to the selected object. Attach remains active, so you can continue clicking objects to attach them. To exit, right-click in the active viewport or click the Attach button again. You can attach any type of object, including splines, patch objects, and NURBS surfaces. Attaching a non-mesh object converts it to editable-poly format. When you attach an object, the materials of the two objects are combined in the following way: ■ If the object being attached does not have a material assigned, it inherits the material of the object it is being attached to. 2042 | Chapter 10 Surface Modeling Handle inherits material from the cup it is being attached to. ■ Likewise, if the object you're attaching to doesn't have a material, it inherits the material of the object being attached. ■ If both objects have materials, the resulting new material is a multi/sub-object material on page 6542 that includes the input materials. A dialog appears offering three methods of combining the objects' materials and material IDs. For more information, see Attach Options Dialog on page 2232. Attach remains active in all sub-object levels, but always applies to objects. NOTE To attach objects from a list, use the drop-down or Shift+click the Attach button. Attach from List (on Attach drop-down) Lets you attach other objects in the scene to the selected mesh. Click to open the Attach List dialog, which works like Select From Scene on page 184 to let you choose multiple objects to attach. Graphite Modeling Tools Tab | 2043 Upper left: Shaded view of model Upper right: Wireframe view of model Lower left: Model with objects attached Lower right: Subsequent multi/sub-object material Collapse (Sub-object levels only) Collapses groups of contiguous selected sub-objects by welding their vertices to a vertex at the selection center. 2044 | Chapter 10 Surface Modeling Using collapse on a vertex selection Using collapse on a polygon selection Detach (Sub-object levels only) Detaches the selected sub–objects and the polygons attached to them as a separate object or element(s). With an Editable Poly object, when you click Detach, the software prompts you for the options specified on the Detach dialog. With an Edit Poly object, Detach on the Modify panel automatically uses those settings. To change them, click Detach Settings (see following). On the modeling ribbon, with an Edit Poly object, click Detach to open the Detach dialog, or Shift+click Detach to detach using the current settings. Graphite Modeling Tools Tab | 2045 Cap Poly Creates a single polygon from a vertex or edge selection and selects the polygon. Available at all sub-object levels except Polygon and Element. Select vertices or edges and then click Cap Poly. TIP To cap an entire border, for best results use Cap Poly at the Border sub-object level. Using Cap Poly with a vertex selection Using Cap Poly with an edge selection 2046 | Chapter 10 Surface Modeling Using Cap Poly with a border selection When capping an edge selection, the software uses the edge vertices to determine the feasibility of creating a polygon. When using Cap Poly at the Vertex or Edge level, the software requires a non-overlapping counter-clockwise sequence of selected sub-objects. Consider the example shown in the following illustration, in which the goal is to cap all border edges or vertices: Graphite Modeling Tools Tab | 2047 The software first determines the geometric center of the selected sub-objects (the small green disc), and then shoots out “rays” in counter-clockwise order from that location to find the locations of vertices from which to form a polygon. In this case, it finds vertex 6 before it finds vertex 7, but vertex 7 actually precedes vertex 6 when going around the border in counter-clockwise order. As a result, Cap Poly cannot form the polygon because the vertices it finds are in the wrong order. In such cases, apply Cap Poly at the Border sub-object level. Quadrify ... A set of tools for converting triangles to quadrilaterals. Click the visible tool to apply it, or choose another tool from the drop-down list. ■ Quadrify AllRemoves edges from the entire object to convert triangles to four-sided polygons. ■ Quadrify SelectionRemoves edges from the current sub-object selection to convert triangles to four-sided polygons. ■ Select Edges from AllSelects edges that would be removed in a Quadrify All operation. To see the selection, go to the Edge sub-object level. 2048 | Chapter 10 Surface Modeling ■ Select Edges from SelectionSelects edges that would be removed in a Quadrify All operation. To see the selection, go to the Edge sub-object level. TIP For best results, the geometry to quadrify should be fairly uniform. TIP Another way to convert a mesh to quads is with the Quadify Mesh modifier on page 1589. Slice Plane (sub-object levels only) Creates a gizmo for a slice plane that you can position and rotate to specify where to slice. Also enables the Slice and Reset Plane buttons; click Slice to create new edges where the plane intersects the geometry. If you use Slice Plane from the modeling ribbon, the Slice, Split, and Reset Plane controls are available on the Slice Mode contextual panel on page 2049. If snapping is off, you see a preview of the slice as you transform the slice plane. To perform the slice, click the Slice button. NOTE At the Polygon or Element sub-object level, Slice Plane affects only selected polygons. To slice the entire object, use Slice Plane at any other sub-object level, or at the object level. Slice Mode Panel Any sub-object level ➤ Modeling ribbon ➤ Graphite Modeling Tools/Freeform tab ➤ Geometry (All) panel ➤ Click Slice Plane. The Slice Mode contextual panel is available on the modeling ribbon when the Slice Plane on page 2049 tool is active. It provides tools for performing the slice and resetting the slice plane position, as well as an option for splitting the mesh while slicing. Interface Graphite Modeling Tools Tab | 2049 Slice Performs the slice operation at the location of the slice plane. Available only when Slice Plane is on. This tool slices the poly just like the “Operate On: Polygons” mode of the Slice modifier on page 1676. Left: Using Slice; Right: After slicing and moving the pieces apart Split When on, the QuickSlice and Cut operations create double sets of vertices at the points where the edges are divided. This lets you easily delete the new polygons to create holes, or animate the new polygons as separate elements. Reset Returns the Slice plane to its default position and orientation. Available only when Slice Plane is on. [Sub-object] Panel Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ Any sub-object level ➤ [Sub-object] panel NOTE The Polygon Modeling panel is visible by default only on the Graphite Modeling Tools tab but can be made visible on the other tabs via the right-click menu. The [sub-object] panel is available only on the Graphite Modeling Tools tab. When you access a sub-object level on the Polygon Modeling panel, a corresponding contextual panel with controls for editing at that level opens on the ribbon. The sub-object panels are: 2050 | Chapter 10 Surface Modeling Vertices Panel Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ Access the Vertex sub-object level ➤ Vertices panel NOTE The Polygon Modeling panel is visible by default only on the Graphite Modeling Tools tab but can be made visible on the other tabs via the right-click menu. The Vertices panel is available only on the Graphite Modeling Tools tab. Vertices are points in space: They define the structure of other sub-objects (edges and polygons) that make up the poly object. When you move or edit vertices, the connected geometry is affected as well. Vertices can also exist independently; such isolated vertices can be used to construct other geometry but are otherwise invisible when rendering. At the editable poly Vertex sub-object level, you can select single and multiple vertices and move them using standard methods. Interface Extrude Lets you extrude vertices manually via direct manipulation in the viewport. Click this button, and then drag vertically on any vertex to extrude it. Graphite Modeling Tools Tab | 2051 Extruding a vertex moves it along a normal and creates new polygons that form the sides of the extrusion, connecting the vertex to the object. The extrusion has the same number of sides as the number of polygons that originally used the extruded vertex. Following are important aspects of vertex extrusion: ■ When over a selected vertex, the mouse cursor changes to an Extrude cursor. ■ Drag vertically to specify the extent of the extrusion, and horizontally to set the size of the base. ■ With multiple vertices selected, dragging on any one extrudes all selected vertices equally. ■ You can drag other vertices in turn to extrude them while the Extrude button is active. Click Extrude again or right-click in the active viewport to end the operation. Chamfer box showing extruded vertex 2052 | Chapter 10 Surface Modeling NOTE To open the Extrude Vertices dialog, choose Extrude Settings from the drop-down or Shift+click the Extrude button. Extrude Settings (on Extrude drop-down) Opens the Extrude Vertices caddy on page 2360, which lets you perform extrusion via interactive manipulation. If you click this button after performing a manual extrusion, the same extrusion is performed on the current selection as a preview and the caddy opens with Extrusion Height set to the amount of the last manual extrusion. Chamfer Click this button and then drag vertices in the active object. To chamfer vertices numerically, click the Chamfer Settings button and use the Chamfer Amount value. If you chamfer multiple selected vertices, all of them are chamfered identically. If you drag an unselected vertex, any selected vertices are first deselected. Each chamfered vertex is effectively replaced by a new face that connects new points on all edges leading to the original vertex. These new points are exactly distance from the original vertex along each of these edges. New chamfer faces are created with the material ID of one of the neighboring faces (picked at random) and a smoothing group which is an intersection of all neighboring smoothing groups. For example, if you chamfer one corner of a box, the single corner vertex is replaced by a triangular face whose vertices move along the three edges that led to the corner. Outside faces are rearranged and split to use these three new vertices, and a new triangle is created at the corner. Alternatively, you can create open space around the chamfered vertices; for details, see Chamfer on page 2351. Graphite Modeling Tools Tab | 2053 Top: The original vertex selection Center: Vertices chamfered Bottom: Vertices chamfered with Open on NOTE To open the Chamfer Vertices dialog, choose Chamfer Settings from the drop-down or Shift+click the Chamfer button. Chamfer Settings (on Chamfer drop-down) Opens the Chamfer caddy on page 2351, which lets you chamfer vertices via interactive manipulation and toggle the Open option. If you click this button after performing a manual chamfer, the same chamfer is performed on the current selection as a preview and the caddy opens with Chamfer Amount set to the amount of the last manual chamfer. 2054 | Chapter 10 Surface Modeling Weld Combines contiguous, selected vertices that fall within the tolerance specified in Weld Vertices caddy on page 2372. All edges become connected to the resulting single vertex. Using Weld at the Vertex level Vertices farther apart than the Threshold distance are not welded. Weld is best suited to automatically simplifying geometry that has areas with a number of vertices that are very close together. Before using Weld, set the Weld Threshold via the Weld caddy on page 2372. To weld vertices that are relatively far apart, use Target Weld on page 1308 instead. NOTE To open the Weld Vertices dialog, choose Weld Settings from the drop-down or Shift+click the Weld button. Weld Settings (on Weld drop-down) Opens the Weld Vertices caddy on page 2372, which lets you specify the weld threshold. Remove Deletes selected vertices and combines the polygons that use them. The keyboard shortcut is Backspace. Graphite Modeling Tools Tab | 2055 Removing one or more vertices deletes them and retriangulates the mesh to keep the surface intact. If you use Delete instead, the polygons depending on those vertices are deleted as well, creating a hole in the mesh. WARNING Use of Remove can result in mesh shape changes and non-planar polygons. Break Creates a new vertex for each polygon attached to selected vertices, allowing the polygon corners to be moved away from each other where they were once joined at each original vertex. If a vertex is isolated or used by only one polygon, it is unaffected. Target Weld Allows you to select a vertex and weld it to a neighboring target vertex. Target Weld works only with pairs of contiguous vertices; that is, vertices connected by a single edge. In Target Weld mode, the mouse cursor, when positioned over a vertex, changes to a + cursor. Click and then move the mouse; a dashed, rubber-band line connects the vertex to the mouse cursor. Position the cursor over another, neighboring vertex and when the + cursor appears again, click the mouse. The first vertex moves to the position of the second and the two are welded. Target 2056 | Chapter 10 Surface Modeling Weld remains active until you click the button again or right-click in the viewport. NOTE When the modeling ribbon is maximized or the Vertices panel floats, the following controls appear on the Vertices panel expansion. Weight Sets the weight of selected vertices. Used by the NURMS subdivision option on page 2328 and by the MeshSmooth modifier on page 1450. Increasing a vertex weight tends to pull the smoothed result toward the vertex. NOTE When the Select And Manipulate on page 2868 tool is active at the Vertex sub-object level, the caddy appears in the viewport with a control for vertex weight: . For instructions for using the caddy, see The Caddy Interface on page 2339. Add Vertex Weight to Caddy Manipulator (on Weight drop-down) Toggles the availability of the Weight control on the caddy on page 2339 when Select And Manipulate on page 2868 is active. Remove Isolated Verts Deletes all vertices that don't belong to any polygons. Remove Unused Map Verts Certain modeling operations can leave unused (isolated) map vertices that show up in the Unwrap UVW editor on page 1807, but cannot be used for mapping. You can use this button to automatically delete these map vertices. Edges Panel Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ Access the Edge sub-object level ➤ Edges panel NOTE The Polygon Modeling panel is visible by default only on the Graphite Modeling Tools tab but can be made visible on the other tabs via the right-click menu. The Edges panel is available only on the Graphite Modeling Tools tab. An edge is a line connecting two vertices that forms the side of a polygon. An edge can't be shared by more than two polygons. Also, the normals of the two polygons should be adjacent. If they aren't, you wind up with two edges that share vertices. At the editable poly Edge sub-object level, you can select single and multiple edges and transform them using standard methods. Graphite Modeling Tools Tab | 2057 Interface Extrude Lets you extrude edges manually via direct manipulation in the viewport. Click this button, and then drag vertically on any edge to extrude it. When extruding a vertex or edge interactively in the viewport, you set the extrusion height by moving the mouse vertically and the base width by moving the mouse horizontally. 2058 | Chapter 10 Surface Modeling Extruding an edge moves it along a normal and creates new polygons that form the sides of the extrusion, connecting the edge to the object. The extrusion has either three or four sides; three if the edge was on a border, or four if it was shared by two polygons. As you increase the length of the extrusion, the base increases in size, to the extent of the vertices adjacent to the extruded edge's endpoints. Following are important aspects of edge extrusion: ■ When over a selected edge, the mouse cursor changes to an Extrude cursor. ■ Drag vertically to specify the extent of the extrusion, and horizontally to set the size of the base. ■ With multiple edges selected, dragging on any one extrudes all selected edges equally. ■ You can drag other edges in turn to extrude them while the Extrude button is active. Click Extrude again or right-click in the active viewport to end the operation. Chamfer box showing extruded edge NOTE To open the Extrude Edges dialog, choose Extrude Settings from the drop-down or Shift+click the Extrude button. Graphite Modeling Tools Tab | 2059 Extrude Settings (on Extrude drop-down) Opens the Extrude Edges caddy on page 2360, which lets you perform extrusion via interactive manipulation. If you click this button after performing a manual extrusion, the same extrusion is performed on the current selection as a preview and the caddy opens with Extrusion Height set to the amount of the last manual extrusion. Chamfer Click this button and then drag edges in the active object. To chamfer edges numerically, click the Chamfer Settings button and change the Chamfer Amount value. If you chamfer multiple selected edges, all of them are chamfered identically. If you drag an unselected edge, any selected edges are first deselected. An edge chamfer "chops off" the selected edges, creating a new polygon connecting new points on all visible edges leading to the original vertex. The new edges are exactly distance from the original edge along each of these edges. New chamfer faces are created with the material ID of one of the neighboring faces (picked at random) and a smoothing group which is an intersection of all neighboring smoothing groups. For example, if you chamfer one edge of a box, each corner vertex is replaced by two vertices moving along the visible edges that lead to the corner. Outside faces are rearranged and split to use these new vertices, and a new polygon is created at the corner. Using Chamfer at the Edge level Alternatively, you can create open space around the chamfered edges; for details, see Chamfer on page 2351. 2060 | Chapter 10 Surface Modeling NOTE To open the Chamfer Edges dialog, choose Chamfer Settings from the drop-down or Shift+click the Chamfer button. Chamfer Settings (on Chamfer drop-down) Opens the Chamfer caddy on page 2351, which lets you chamfer edges via interactive manipulation and toggle the Open option. If you click this button after performing a manual chamfer, the same chamfer is performed on the current selection as a preview and the caddy opens with Chamfer Amount set to the amount of the last manual chamfer. Weld Combines selected edges that fall within the threshold specified on the Weld caddy on page 2372. You can weld only edges that have one polygon attached; that is, edges on a border. Also, you cannot perform a weld operation that would result in illegal geometry (e.g., an edge shared by more than two polygons). For example, you cannot weld opposite edges on the border of a box that has a side removed. NOTE To open the Weld dialog, choose Weld Settings from the drop-down or Shift+click the Weld button. Weld Settings (on Weld drop-down) Opens the Weld Edges caddy on page 2372, which lets you specify the weld threshold. Bridge Connects border edges on an object with a polygon “bridge.” Bridge connects only border edges; that is, edges that have a polygon on only one side. This tool is particularly useful when creating edge loops or profiles. There are two ways to use Bridge in Direct Manipulation mode (that is, without opening the Bridge Edges caddy): ■ Select two or more border edges on the object, and then click Bridge. This immediately creates the bridge between the pair of selected borders using the current Bridge settings, and then deactivates the Bridge button. ■ If no qualifying selection exists (that is, two or more selected border edges), clicking Bridge activates the button and places you in Bridge mode. First click a border edge and then move the mouse; a rubber-band line connects the mouse cursor to the clicked edge. Click a second edge on a different border to bridge the two. This creates the bridge immediately using the current Bridge settings; the Bridge button remains active for connecting Graphite Modeling Tools Tab | 2061 more edges. To exit Bridge mode, right-click the active viewport or click the Bridge button. The new polygons that result from a Bridge operation are automatically selected; you can see this by accessing the Polygon sub-object level. Using Bridge at the Edge level NOTE Bridge always creates a straight-line connection between edges. To make the bridge connection follow a contour, apply modeling tools as appropriate after creating the bridge. For example, bridge two edges, and then use Bend on page 1104. NOTE To open the Bridge Edges dialog, choose Bridge Settings from the drop-down or Shift+click the Bridge button. Bridge Settings (on Bridge drop-down) Opens the Bridge Edges caddy on page 2348, which lets you add polygons between pairs of edges via interactive manipulation. Remove Deletes selected edges and combines the polygons that use them. 2062 | Chapter 10 Surface Modeling Removing one edge is like making it invisible. The mesh is affected only when all or all but one of the edges depending on one vertex are removed. At that point, the vertex itself is deleted and the surface is retriangulated. To delete the associated vertices when you remove edges, press and hold Ctrl while executing a Remove operation, either by mouse or with the Backspace key. This option, called Clean Remove, ensures that the remaining polygons are planar. Left: The original edge selection Center: Standard Remove operation leaves extra vertices. Right: Clean Remove with Ctrl+Remove deletes the extra vertices. Edges with the same polygon on both sides usually can't be removed. Graphite Modeling Tools Tab | 2063 WARNING Use of Remove can result in mesh shape changes and non-planar polygons. Split Divides the mesh along the selected edges. This does nothing when applied to a single edge in the middle of a mesh. The vertices at the end of affected edges must be separable in order for this option to work. For example, it would work on a single edge that intersects an existing border, since the border vertex can be split in two. Additionally, two adjacent edges could be split in the middle of a grid or sphere, since the shared vertex can be split. Target Weld Allows you to select an edge and weld it to a target edge. When positioned over an edge, the cursor changes to a + cursor. Click and move the mouse and a dashed line appears from the vertex with an arrow cursor at the other end of the line. Position the cursor over another edge and when the + cursor appears again, click the mouse. The first edge is moved to the position of the second, and the two are welded. You can weld only edges that have one polygon attached; that is, edges on a border. Also, you cannot perform a weld operation that would result in illegal geometry (e.g., an edge shared by more than two polygons). For example, you cannot weld opposite edges on the border of a box that has a side removed. Spin Spins the selected edge or edges in the polygon, changing the direction. Select one or more edges and then apply Spin to change how the edges subdivide the mesh. Normally the edge spins clockwise, but if you hold Shift, the edges spin counterclockwise. Insert Vertices Inserts vertices in selected edges. Select edges, set the number of vertices to insert in each, and click Insert Vertices. The inserted vertices are spaced evenly along each selected edge. Also, the Vertex sub-object level is activated and the new vertices are selected. 2064 | Chapter 10 Surface Modeling NOTE When the modeling ribbon is maximized or the Edges panel floats, the following controls appear on the Edges panel expansion. Create Shape From Selection After selecting one or more edges, click this button to create a spline shape from the selected edges. A Create Shape dialog appears, letting you name the shape and set it to Smooth or Linear. The new shape's pivot is placed at the center of the poly object. Graphite Modeling Tools Tab | 2065 An edge selection (top); a smooth shape (center); a linear shape (bottom) Weight Sets the weight of selected edges. Used by the NURMS subdivision option on page 2328 and by the MeshSmooth modifier on page 1450. Increasing an edge weight tends to push the smoothed result away. NOTE When the Select And Manipulate on page 2868 tool is active at the Edge sub-object level, the caddy appears in the viewport with a control for edge weight: . For instructions for using the caddy, see The Caddy Interface on page 2339. Add Edge Weight to Caddy Manipulator (on Weight drop-down) Toggles the availability of the Weight control on the caddy on page 2339 when Select And Manipulate on page 2868 is active. Crease Specifies how much creasing is performed on the selected edge or edges. Used by the NURMS subdivision option on page 2328 and by the MeshSmooth modifier on page 1450. At low settings, the edge is relatively smooth. At higher settings, the crease becomes increasingly visible. At 1.0, the highest setting, the edge becomes a hard crease. 2066 | Chapter 10 Surface Modeling NOTE When the Select And Manipulate on page 2868 tool is active at the Edge sub-object level, the caddy appears in the viewport with a control for edge crease: . For instructions for using the caddy, see The Caddy Interface on page 2339. Add Edge Crease to Caddy Manipulator (on Crease drop-down) Toggles the availability of the Crease control on the caddy on page 2339 when Select And Manipulate on page 2868 is active. Border Edges Panel Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ Access the Border sub-object level ➤ Border Edges panel NOTE The Polygon Modeling panel is visible by default only on the Graphite Modeling Tools tab but can be made visible on the other tabs via the right-click menu. The Border Edges panel is available only on the Graphite Modeling Tools tab. A border is a linear section of a mesh that can generally be described as the edge of a hole. This is usually a sequence of edges with polygons on only one side. For example, a box primitive on page 322 doesn't have a border, but the teapot on page 349 object has several: on the lid, on the body, on the spout, and two on the handle. If you create a cylinder and then delete an end polygon, the adjacent row of edges forms a border. At the editable poly Border sub-object level, you can select single and multiple borders and transform them using standard methods. Graphite Modeling Tools Tab | 2067 Interface Extrude Lets you extrude a border manually via direct manipulation in the viewport. Click this button, and then drag vertically on any border to extrude it. Extruding a border moves it along a normal and creates new polygons that form the sides of the extrusion, connecting the border to the object. The extrusion can form a varying number of additional sides, depending on the geometry near the border. As you increase the length of the extrusion, the base increases in size, to the extent of the vertices adjacent to the extruded border's endpoints. Following are important aspects of border extrusion: ■ When the mouse cursor is over a selected border, it changes to an Extrude cursor. ■ To specify the extent of the extrusion, drag vertically, and to set the size of the base, drag horizontally. ■ With multiple borders selected, dragging on any one extrudes all selected borders equally. 2068 | Chapter 10 Surface Modeling ■ While the Extrude button is active, you can extrude other borders in turn by dragging them. Click Extrude again or right-click in the active viewport to end the operation. NOTE To open the Extrude Edges dialog, choose Extrude Settings from the drop-down or Shift+click the Extrude button. Extrude Settings (on Extrude drop-down) Opens the Extrude Edges caddy on page 2360, which lets you perform extrusion via interactive manipulation. If you click this button after performing a manual extrusion, the same extrusion is performed on the current selection as a preview and the caddy opens with Extrusion Height set to the amount of the last manual extrusion. Bridge Connects pairs of borders on an object with polygon “bridges.” There are two ways to use Bridge in Direct Manipulation mode (that is, without opening the Bridge Settings dialog): ■ Select an even number of borders on the object, and then click Bridge. This immediately creates the bridge between each pair of selected borders using the current Bridge settings, and then deactivates the Bridge button. ■ If no qualifying selection exists (that is, two or more selected borders), clicking Bridge activates the button and places you in Bridge mode. First click a border edge and then move the mouse; a rubber-band line connects the mouse cursor to the clicked edge. Click a second edge on a different border to bridge the two. This creates the bridge immediately using the current Bridge settings; the Bridge button remains active for connecting more pairs of borders. To exit Bridge mode, right-click the active viewport or click the Bridge button. The new polygons that result from a Bridge operation are automatically selected; you can see this by accessing the Polygon sub-object level. Graphite Modeling Tools Tab | 2069 Using Bridge at the Border level. NOTE Bridge always creates a straight-line connection between border pairs. To make the bridge connection follow a contour, apply modeling tools as appropriate after creating the bridge. For example, bridge two borders, and then use Bend on page 1104. NOTE To open the Bridge Borders dialog, choose Bridge Settings from the drop-down or Shift+click the Bridge button. Bridge Settings (on Bridge drop-down) Opens the Bridge caddy on page 2344, which lets you connect pairs of borders via interactive manipulation. Chamfer Click this button and then drag a border in the active object. The border need not be selected first. If you chamfer multiple selected borders, all of them are chamfered identically. If you drag an unselected border, any selected borders are first deselected. A border chamfer essentially “frames” the border edges, creating a new set of edges paralleling the border edges, plus new diagonal edges at any corners. These new edges are exactly distance from the original edges. New chamfer faces are created with the material ID of one of the neighboring faces (picked at random) and a smoothing group which is an intersection of all neighboring smoothing groups. Alternatively, you can create open space around the chamfered borders, essentially cutting away at the open edges; for details, see Chamfer on page 2351. 2070 | Chapter 10 Surface Modeling NOTE To open the Chamfer Edges dialog, choose Chamfer Settings from the drop-down or Shift+click the Chamfer button. Chamfer Settings (on Chamfer drop-down) Opens the Chamfer Edges caddy on page 2351, which lets you chamfer borders via interactive manipulation and toggle the Open option. If you click this button after performing a manual chamfer, the same chamfer is performed on the current selection as a preview and the dialog opens with Chamfer Amount set to the amount of the last manual chamfer. Connect Creates new edges between pairs of selected border edges. The edges are connected from their midpoints. You can connect only edges on the same polygon. Connect will not let the new edges cross. Thus, for example, if you select all four edges of a four-sided polygon and then click Connect, only neighboring edges are connected, resulting in a diamond pattern. NOTE To open the Connect Edges dialog, choose Connect Settings from the drop-down or Shift+click the Connect button. Connect Settings (on Connect drop-down) Lets you preview the Connect and specify the number of edge segments created by the operation. To increase the mesh resolution around the new edge, increase the Connect Edge Segments setting. NOTE When the modeling ribbon is maximized or the Border Edges panel floats, the following controls appear on the Border Edges panel expansion. Create Shape From Selection After selecting one or more borders, click this button to create a spline shape from the selected edges. A Create Shape dialog appears, letting you name the shape and set it to Smooth or Linear. The new shape's pivot is placed at the center of the poly object. Weight Sets the weight of selected borders. Used by the NURMS subdivision option on page 2328. Increasing an edge weight tends to push the smoothed result away. Crease Specifies how much creasing is performed on the selected border or borders. Used by the NURMS subdivision option on page 2328. Graphite Modeling Tools Tab | 2071 At low settings, the border is relatively smooth. At higher settings, the crease becomes increasingly visible. At 1.0, the highest setting, the border is not smoothed at all. Polygons/Elements Panel Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ Access the Polygon or Element sub-object level ➤ Polygons/Elments panel NOTE The Polygon Modeling panel is visible by default only on the Graphite Modeling Tools tab but can be made visible on the other tabs via the right-click menu. The Polygons or Elements panel is available only on the Graphite Modeling Tools tab. A polygon is a closed sequence of three or more edges connected by a surface. Polygons provide the renderable surface of editable poly objects. At the editable poly Polygon sub-object level you can select single and multiple polygons and transform them using standard methods. At the Element sub-object level you can select and edit groups of contiguous polygons. For further distinctions between polygon and element, see Editable Poly ➤ Selection rollout on page 2248. Interface The Polygons panel includes all of the following controls, while the Elements panel includes only the Flip on page 2076 and Insert Vertex on page 2082 functions. 2072 | Chapter 10 Surface Modeling Extrude Lets you perform manual extrusion via direct manipulation in the viewport. Click this button, and then drag vertically on any polygon to extrude it. Extruding polygons moves them along a normal and creates new polygons that form the sides of the extrusion, connecting the selection to the object. Following are important aspects of polygon extrusion: ■ When over a selected polygon, the mouse cursor changes to an Extrude cursor. ■ Drag vertically to specify the extent of the extrusion, and horizontally to set the size of the base. ■ With multiple polygons selected, dragging on any one extrudes all selected polygons equally. ■ You can drag other polygons in turn to extrude them while the Extrude button is active. Click Extrude again or right-click in the active viewport to end the operation. Graphite Modeling Tools Tab | 2073 Chamfer box showing extruded polygon NOTE To open the Extrude Polygons dialog, choose Extrude Settings from the drop-down or Shift+click the Extrude button. Extrude Settings (on Extrude drop-down) Opens the Extrude Polygons caddy on page 2358, which lets you perform extrusion via interactive manipulation. If you click this button after performing an extrusion, the same extrusion is performed on the current selection as a preview and the dialog opens with Extrusion Height set to the amount of the last manual extrusion. Bevel Lets you perform manual beveling via direct manipulation in the viewport. Click this button, and then drag vertically on any polygon to extrude it. Release the mouse button and then move the mouse vertically to outline the extrusion. Click to finish. ■ When over a selected polygon, the mouse cursor changes to a Bevel cursor. ■ With multiple polygons selected, dragging on any one bevels all selected polygons equally. ■ You can drag other polygons in turn to bevel them while the Bevel button is active. Click Bevel again or right-click to end the operation. 2074 | Chapter 10 Surface Modeling Polygon beveled outward (left) and inward (right) NOTE To open the Bevel Polygons dialog, choose Bevel Settings from the drop-down or Shift+click the Bevel button. Bevel Settings (on Bevel drop-down) Opens the Bevel caddy on page 2342, which lets you perform beveling via interactive manipulation. If you click this button after performing a bevel, the same bevel is performed on the current selection as a preview and the dialog opens with the same settings used for the previous bevel. Bridge Connects two polygons or polygon selections on an object with a polygon “bridge.” There are two ways to use Bridge in Direct Manipulation mode (that is, without opening the Bridge Settings dialog): ■ Make two separate polygon selections on the object, and then click Bridge. This creates the bridge immediately using the current Bridge settings, and then deactivates the Bridge button. ■ If no qualifying selection exists (that is, two or more discrete polygon selections), clicking Bridge activates the button and places you in Bridge mode. First click a polygon and move the mouse; a rubber-band line connects the mouse cursor to the clicked polygon. Click a second polygon to bridge the two. This creates the bridge immediately using the current Bridge settings; the Bridge button remains active for connecting more pairs Graphite Modeling Tools Tab | 2075 of polygons. To exit Bridge mode, right-click the active viewport or click the Bridge button. Using Bridge at the Polygon level NOTE Bridge always creates a straight-line connection between polygon pairs. To make the bridge connection follow a contour, apply modeling tools as appropriate after creating the bridge. For example, bridge two polygons, and then use Bend on page 1104. NOTE To open the Bridge Polygons dialog, choose Bridge Settings from the drop-down or Shift+click the Bridge button. Bridge Settings (on Bridge drop-down) Opens the Bridge Polygons caddy on page 2344, which lets you connect pairs of polygon selections via interactive manipulation. GeoPoly Untangles a polygon and organizes the vertices to form a perfect geometric shape. Select polygons and apply to make a geometric shape. If several adjacent polygons are selected the result is averaged among the polygons. Flip Reverses the directions of the normals of selected polygons, hence their facing. 2076 | Chapter 10 Surface Modeling Hinge Lets you perform a manual hinge operation via direct manipulation in the viewport. Make a polygon selection, click this button, and then drag vertically on any edge to hinge the selection. The mouse cursor changes to a cross when over an edge. The hinge edge needn't be part of the selection. It can be any edge of the mesh. Also, the selection needn't be contiguous. Hinging polygons rotates them about an edge and creates new polygons that form the sides of the hinge, connecting the selection to the object. It's essentially an extrusion with rotation, with the exception that, if the hinge edge belongs to a selected polygon, that side is not extruded. The manual version of Hinge From Edge works only with an existing polygon selection. TIP To avoid inadvertently hinging about a backfacing edge, turn on Ignore Backfacing. NOTE To open the Hinge Polygons From Edge dialog, choose Hinge Settings from the drop-down or Shift+click the Hinge button. Hinge Settings (on Hinge drop-down) Opens the Hinge From Edge caddy on page 2362, which lets you hinge polygons via interactive manipulation. If you click this button after performing a manual hinge, the dialog opens with Angle set to the extent of the last manual hinge. Graphite Modeling Tools Tab | 2077 Inset Performs a bevel with no height; that is, within the plane of the polygon selection. Click this button, and then drag vertically on any polygon to inset it. ■ When over a selected polygon, the mouse cursor changes to an Inset cursor. ■ With multiple polygons selected, dragging on any one insets all selected polygons equally. ■ While the Inset button is active, you can drag other polygons in turn to inset them. To end the operation, click Inset again or right-click. Inset works on a selection of one or more polygons. As with Outline, only the outer edges are affected. NOTE To open the Inset Polygons dialog, choose Inset Settings from the drop-down or Shift+click the Inset button. Inset Settings (on Inset drop-down) Opens the Inset caddy on page 2363, which lets you inset polygons via interactive manipulation. If you click this button after performing a manual inset, the same inset is performed on the current selection as a preview and the dialog opens with Inset Amount set to the amount of the last manual inset. NOTE When the modeling ribbon is maximized or the Polygons panel floats, the following controls appear on the Polygons panel expansion. 2078 | Chapter 10 Surface Modeling Outline Lets you increase or decrease the outside edge of each contiguous group of selected polygons. Outline is often used after an extrusion or bevel to adjust the size of the extruded faces. It doesn't scale the polygons; only changes the size of the outer edge. For example, in the following illustration, note that the sizes of the inner polygons remain constant. Graphite Modeling Tools Tab | 2079 Extruded polygons (top), outline expanded (middle), outline reduced (bottom) Note that inner polygons do not change size. 2080 | Chapter 10 Surface Modeling NOTE To open the Outline Polygons dialog, choose Outline Settings from the drop-down or Shift+click the Outline button. Outline Settings (on Outline drop-down) Opens the Outline Polygons caddy, which lets you perform outlining by a numeric setting. For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. Extrude on Spline Extrudes the current selection along a spline. You can extrude a single polygon (1) or a selection of contiguous (2) or non-contiguous polygons (3). Extrusion 2 uses Taper Curve and Twist (available via Settings). Extrusion 3 uses Taper Amount; each extrusion has a different curve rotation. Make a selection, click Extrude Along/On Spline, and then select a spline in the scene. The selection is extruded along the spline, using the spline's current orientation, but as though the spline's start point were moved to the center of each polygon or group. NOTE To open the Extrude Polygons Along Spline dialog, choose Extrude On Spline Settings from the drop-down or Shift+click the Extrude On Spline button. Extrude On Spline Settings (on Extrude On Spline drop-down) Opens the Extrude Along Spline caddy on page 2356, which lets you extrude along splines via interactive manipulation. Graphite Modeling Tools Tab | 2081 Insert Vertex Lets you subdivide polygons manually. Applies to polygons, even if at the element sub-object level. After turning on Insert Vertex, click a polygon to add a vertex at that location. You can continue subdividing polygons as long as the command is active. To stop inserting vertices, right-click in the viewport, or click Insert Vertex again to turn it off. Loops Panel Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ Vertex, Edge, or Polygon sub-object level ➤ Loops panel NOTE The Polygon Modeling panel is visible by default only on the Graphite Modeling Tools tab but can be made visible on the other tabs via the right-click menu. The [sub-object] panel is available only on the Graphite Modeling Tools tab. The Loops panel features are for working with edge loops, and include tools for creating loops within polygons and at a distance, automatically adjusting a new loop to an object’s shape, random paths, and more. All of the Loops panel tools are available at the Edge level; other sub-object levels provide a subset or none. At the Polygon level, only Insert Loop and Remove Loop are available. The Vertex level provides Connect, Distance connect, Insert/Remove Loop, and Build End/Corner. 2082 | Chapter 10 Surface Modeling Interface Loops panel at the Edge level on minimized ribbon Loops panel on maximized ribbon, with expansion Graphite Modeling Tools Tab | 2083 Loops panel floating, with expansion Connect (Vertex level) Creates new edges between pairs of selected vertices. Connect does not let the new edges cross. Thus, for example, if you select all four vertices of a four-sided polygon and then click Connect, only two of the vertices will be connected. In this case, to connect all four vertices with new edges, use Cut on page 1361. Connect (Edge level) Creates new edges between pairs of selected edges using the current Connect Edges settings. Connect is particularly useful for creating or refining edge loops. NOTE You can connect only edges on the same polygon. Also, Connect will not let the new edges cross. For example, if you select all four edges of a four-sided polygon and then click Connect, only neighboring edges are connected, resulting in a diamond pattern. 2084 | Chapter 10 Surface Modeling Connecting two or more edges using the Settings dialog creates equally spaced edges. The number of edges is set in the dialog. When you click the Connect button, the current dialog settings are applied to the selection. Connect Settings (on Connect drop-down) Opens the Connect Edges caddy on page 2353, which lets you preview the Connect results, specify the number of edge segments created by the operation, and set spacing and placement for the new edges. TIP You can open the Connect Edges dialog quickly by Shift+clicking the Connect button. Distance Connect Creates edge loops between vertices and edges across distance and other topology. Usage depends on the sub-object level: ■ VertexSelect two end vertices and apply to connect them across the intervening mesh. Graphite Modeling Tools Tab | 2085 Left: initial selection; Right: after applying Distance Connect ■ EdgeSelect two parallel edges and apply to connect them across the intervening mesh. Left: initial selection; Right: after applying Distance Connect NOTE At the Edge level, if a complete (closed) loop is possible (for instance, around a sphere), Distance Connect automatically creates one. 2086 | Chapter 10 Surface Modeling Flow Connect Connects selected edges across one or more edge rings and adjusts the new loop position to fit the shape of the surrounding mesh. Select an edge ring and apply Flow Connect. For each selected edge, Flow Connect creates a loop through the ring and adjusts the new edges to follow the physical outline of the mesh. Left top: Selected edge ring; Left bottom: Selected edge with Auto Ring on Right: After applying Flow Connect, showing the corrected shape after creating the loop TIP To automatically select the ring before connecting, based on the edge selection, turn on Auto Ring first (see following). Auto Ring (on Flow Connect drop-down) When on and you use Flow Connect, creates a full edge loop automatically. Usage: Turn on Auto Loop, select one or more edges, and apply Flow Connect. For each selected edge, Flow Connect creates a loop through its entire ring and adjusts the new edges to follow the physical outline of the mesh. Insert Loop Creates one or more edge loops based on the current sub-object selection and selects the results. Graphite Modeling Tools Tab | 2087 Usage depends on the sub-object level: ■ Vertex Select one or more pairs of adjacent vertices and apply to insert edge loops between each pair of adjacent vertices. Using Insert Loop at the Vertex level ■ Edge Two options are available: ■ Normal Select one or more edges and apply to insert edge loops going through the edge ring that each selected edge is on. Using Insert Loop at the Edge level 2088 | Chapter 10 Surface Modeling ■ ■ Shift Opens the Connect Edges dialog on page 2353 so you can set the number of inserted edges and control Pinch and Slide settings interactively. Polygon Select one or more pairs of adjacent polygons and apply to insert edge loops going through the centers of each pair (parallel to the selection). Using Insert Loop at the Polygon level Remove Loop Removes loops at the current subobject level, and automatically deletes all leftover vertices. Usage depends on the sub-object level: ■ Vertex Select one or more pairs of adjacent vertices (to indicate the loop direction) and then click Remove Loop. Graphite Modeling Tools Tab | 2089 Using Remove Loop at the Vertex level ■ Edge Select one or more edges, and then click Remove Loop. This removes all loops on which the edges reside. Using Remove Loop at the Edge level ■ Polygon Select one or more pairs of adjacent polygons (to indicate the loop direction) and then click Remove Loop. Alternatively, removing a single polygon removes all edge loops on which the polygon resides. 2090 | Chapter 10 Surface Modeling Using Remove Loop at the Polygon level NOTE Removing a polygon loop is equivalent to removing the boundary edge loops. Set Flow Adjusts selected edges to fit the shape of the surrounding mesh. Usage: Select one or more edges and apply. To automatically adjust each edge’s entire loop, first turn on Auto Loop. Use the spinner to set the flow interactively. NOTE When the Select And Manipulate on page 2868 tool is active at the Edge sub-object level, the caddy appears in the viewport with a control for Set Flow: . For instructions for using the caddy, see The Caddy Interface on page 2339. Auto Loop (on Set Flow drop-down) When on, using Set Flow automatically selects loops for the selected edge(s). Usage: Select one or more edges, turn on Auto Loop, and then apply Set Flow. Each selected edge’s loop is automatically selected, and then Set Flow is applied to each loop. Graphite Modeling Tools Tab | 2091 Add Set Flow Action to Caddy Manipulator (on Set Flow drop-down) Toggles the availability of the Set Flow control on the caddy on page 2339 when Select And Manipulate on page 2868 is active. NOTE When the modeling ribbon is maximized or the Loops panel floats, the following controls appear on the Loops panel expansion. Build End Builds a quad ending to two parallel loops based on the vertex or edge selection. Select two vertices at the ends of parallel loops ending at the same polygon or the edge connecting them and apply to build a quad ending to two parallel loops. Using Build End at the Vertex level 2092 | Chapter 10 Surface Modeling Using Build End at the Edge level NOTE Build End works only when exactly two parallel loops end at the same side of the same internal edge. Build Corner Builds a quad corner based on the vertex or edge selection to make an edge-loop turn. Usage depends on the sub-object level: ■ Vertex Select vertices that terminate two loops that travel at right angles and end at adjacent sides of the same quad polygon and apply. Using Build Corner at the Vertex level Graphite Modeling Tools Tab | 2093 ■ Edge Select edges that connect two adjacent sides of a quad polygon and apply. Typically, these are edges where edge loops turn 90-degree corners. Using Build Corner at the Edge level Loop Tools Opens the Loop Tools dialog on page 2095, with features for adjusting loops. Random Connect Connects selected edges, randomizing the positions of the created edges. Select two or more contiguous edges to connect and then click Random Connect. This connects the edges, randomizing the positions of the created edges. The Random Jitter numeric setting (spinner) determines the extent of the randomization. 2094 | Chapter 10 Surface Modeling Using Random Connect at the Edge level To make a full loop, first turn on Auto Loop (see following) or hold Shift as you click Random Connect. For this, only one selected edge is required. Auto Loop (on Random Connect drop-down) When on, applying Random Connect makes as full a loop as possible. Turn on Auto Loop and then apply Random Connect to one or more selected edges. The random-connection function is applied to all edges on the selected edges’ rings. Set Flow Speed The rate at which adjusting the Set Flow on page 2091 spinner changes the flow of the selected edges. Loop Tools dialog Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ Edge sub-object level ➤ Loops panel [expansion] Loop Tools NOTE The Polygon Modeling panel is visible by default only on the Graphite Modeling Tools tab but can be made visible on the other tabs via the right-click menu. The [sub-object] panel is available only on the Graphite Modeling Tools tab. The Loop Tools dialog contains tools for adjusting inter-loop distance, curving loops, and more. Graphite Modeling Tools Tab | 2095 Interface AutoLoop Automatically loops selected edges before applying a tool. [2Loops] Select two or more parallel edges and adjust the spinner to change the distance between them. To change the rate at which the spinner works, use the Percent setting. When AutoLoop is on, automatically selects the loops on which selected edges reside before adjusting the spacing. [3Loops] Select one or more edges and adjust the spinner to change the positions of the edges on either side of the selected loop. To change the rate at which the spinner works, use the Percent setting. When AutoLoop is on, automatically selects the loops on which selected edges reside before adjusting the spacing. Center Centers edges or edge loops on their edge rings and places the vertices in the middle of the edges. Select one or more edges and apply. When AutoLoop is on, automatically selects the loops on which selected edges reside before centering the edges. Space Spaces vertices evenly along the selected edges. 2096 | Chapter 10 Surface Modeling When AutoLoop is on, automatically selects the loops on which selected edges reside before spacing the vertices. Left: Selected edge loops Right: After applying Space To space loops at the ends of cylinders, hold Shift and then click Space. Curve Adjusts each set of selected edges or open edge loops into smooth curves. The curvature of each loop is determined by the positions of selected vertices along the loop. This is analogous to how splines work in that the resulitng curve is smoothly interpolated among the selected vertices. NOTE Curve supports open edge loops only; it does not work on closed (circular) edge loops. To use, select vertices whose positions on the edge loops will determine the extents of the resulting curves, then select edges or edge loops to be adjusted, and then apply Curve. If AutoLoop is on, loops on which selected edges reside are automatically selected before adjusting. And if Space Loops is on, all vertices are adjusted to be evenly spaced along their loops. Graphite Modeling Tools Tab | 2097 Left: Initial selection of vertices Center: Initial selection of edges Right: After applying Curve with both AutoLoop and Space Loop on Straight Straightens each set of selected edges or edge loops. Select edges or edge loops and apply. Left: Initial edge selection Right: After applying Straight To straighten loops at the ends of cylinders, hold Shift and then click Straight. Space loop Spaces all vertices evenly along the loop when using Curve and Straight. Circle Adjusts each set of selected edges and edge loops into the form of a circle. To apply to loops at the top and bottom edges of a cylinder, hold Shift while clicking Circle. For each loop or set of edges to apply Circle to, at the Vertex level, select a vertex on a closed loop whose position represents the radius of the desired circle, or on an open loop to designate the start of the circle. Then, at the Edge 2098 | Chapter 10 Surface Modeling level, select a loop or an edge on the loop. If the latter, turn on AutoLoop on the Loop Tools dialog, and then click Circle. NOTE After making the necessary vertex and edge selections, you can apply Circle at the object level or any sub-object level. The following illustration shows using Circle with closed loops on a cylindrical object. Left: Selected closed edge loops Center: The intial vertex selection, indicating the desired radii of the circles Right: After clicking Circle while holding Shift, so the cylinder end loops are included. The Space Loop check box has no influence on this tool. Relax Smoothes the curvature of each set of selected edges or edge loops. To apply to loops at the top and bottom edges of a cylinder, hold Shift while clicking Relax. To increase the relax effect, apply several times. The Space Loop check box has no influence on this tool. If AutoLoop is on, the software automatically loops the initial selection before applying the tool. Additional Panels Modeling ribbon ➤ Graphite Modeling Tools tab The panels described in this topic provide tools for subdividing meshes, changing triangulation, aligning objects and sub-objects, hiding and unhiding sub-objects, and setting properties such as smoothing. These panels are available only on the Graphite Modeling Tools tab of the modeling ribbon. Graphite Modeling Tools Tab | 2099 Subdivision Panel The Subdivision panel provides tools for increasing mesh resolution parametrically for smoothing, displacement, and tessellation. It is available at the object level and at all sub-object levels. MeshSmooth Smoothes the object using the current settings. This command uses subdivision functionality similar to that of the MeshSmooth modifier on page 1450 with NURMS Subdivision, but unlike NURMS subdivision, it applies the smoothing instantly to the selected area of the control mesh. Smoothing a low-poly object with NURMS subdivision MeshSmooth Settings (on MeshSmooth drop-down) Opens the MeshSmooth Selection dialog on page 2365, which lets you specify how smoothing is applied. TIP You can open the MeshSmooth Selection dialog quickly by Shift+clicking the MeshSmooth button. 2100 | Chapter 10 Surface Modeling Tessellate Subdivides all polygons in the object based on the Tessellation settings on page 2371. Tessellation is useful for increasing local mesh density while modeling. You can subdivide any selection of polygons. Two tessellation methods are available: Edge and Face. Tessellate Settings (on Tessellate drop-down) Opens the Tessellate caddy on page 2371, which lets you specify how smoothing is applied. TIP You can open the Tessellate Selection dialog quickly by Shift+clicking the Tessellate button. Use Displacement Opens the Displacement panel, with parameters for setting how to subdivide the mesh for displacement. For details, see Subdivision Displacement Rollout (Polymesh)subdivision displacement rollouteditable polyeditable polysubdivision displacement rollout on page 2332. Triangulation (Tris) Panel The Triangulation panel, also labeled “Tris” in some configurations, appears at all sub-object levels except Vertex, and provides tools for changing how polygons are subdivided into triangles for rendering purposes. The Retriangulate tool is available only at the Polygon and Element levels. Edit Lets you modify how polygons are subdivided into triangles by drawing internal edges, or diagonals on page 9136. Graphite Modeling Tools Tab | 2101 In Edit Triangulation mode, you can see the current triangulation in the viewport, and change it by clicking two vertices on the same polygon. To edit triangulation manually, turn on this button. The hidden edges appear. Click a polygon vertex. A rubber-band line appears, attached to the cursor. Click a non-adjacent vertex to create a new triangulation for the polygon. TIP For easier editing of triangulation, use the Turn command instead (see following). Turn Lets you modify how polygons are subdivided into triangles by clicking diagonals. When you activate Turn, the diagonals on page 9136 become visible as dashed lines in wireframe and edged-faces views. In Turn mode, click a diagonal to change its position. To exit Turn mode, right-click in the viewport or click the Turn button again. Each diagonal has only two available positions at any given time, so clicking a diagonal twice in succession simply returns it to its original position. But changing the position of a nearby diagonal can make a different alternate position available to a diagonal. For more information on how to use Turn with the enhanced Cut tool, see this procedure on page 1310. 2102 | Chapter 10 Surface Modeling Retriangulate Lets 3ds Max automatically do its best triangulation on the polygon or polygons currently selected. Retriangulate attempts to optimize how selected polygons are subdivided into triangles. Align Panel The Align panel provides tools for aligning objects and sub-object selections with the view or grid, or simply flattening a mesh. It is available at the object level and at all sub-object levels. Make Planar Forces all selected sub-objects to be coplanar. The plane's normal is the average surface normal of the selection. At the Object level, forces all vertices in the object to become coplanar. Graphite Modeling Tools Tab | 2103 TIP One application for Make Planar is making a flat side on an object. Normally, you would use a contiguous selection set. If the selection includes vertices on various parts of the object, the vertices are still made planar, but with distorting effects on the rest of the geometry. To View Aligns all vertices in the object to the plane of the active viewport. At sub-object levels, this function affects only selected vertices or those belonging to selected sub-objects. In orthographic viewports, aligning to the view has the same effect as aligning to the construction grid when the home grid is active. Aligning to a perspective viewport (including camera and light views), reorients the vertices to a plane that is parallel to the camera's viewing plane. This plane is perpendicular to the view direction that is closest to the vertices' average position. Above: Selected polygons in Perspective view Below: Same polygons aligned to Front view 2104 | Chapter 10 Surface Modeling To Grid Aligns all vertices in the selected object to the plane of the current view. At sub-object levels, aligns only selected sub-objects. This command aligns the selected vertices to the current construction plane. The current plane is specified by the active viewport in the case of the home grid. When using a grid object, the current plane is the active grid object. X/Y/Z Makes all selected sub-objects planar and aligns the plane with the corresponding plane in the object's local coordinate system. The plane used is the one to which the button axis is perpendicular; so, for example, clicking the X button aligns the object with the local YZ axis. At the Object level, makes all vertices in the object planar. Visibility Panel Use the Visibility panel for hiding and unhiding sub-object selections. When working with complex geometry, hiding the parts you’re not modeling directly can help speed your work. It is available at all sub-object levels except Edge and Border. Hide Selected Hides selected sub-objects. Hide Unselected Hides unselected sub-objects. Unhide All Restores hidden sub-objects to visibility. Graphite Modeling Tools Tab | 2105 Properties Panel Use the Properties panel to adjust mesh smoothing, vertex colors, and material IDs. It is available at the object level and at all sub-object levels; the availability of commands depends on the level. Hard Turns off smoothing for the entire model. Removes all polygons in the model from any smoothing groups, resulting in a uniform faceted appearance. Hard Selected Turns off smoothing for selected polygons. Removes selected polygons in the model from any smoothing groups, resulting in a uniform faceted appearance for those polygons. Smooth Enables smoothing for the entire object. Sets Auto Smooth to 180.0 and applies it to all polygons in the model. Smooth Selected Enables smoothing for selected polygons. Sets Auto Smooth to 180.0 and applies it to selected polygons. Smooth 30 Enables moderate smoothing for the entire object. Sets Auto Smooth to 30.0 and applies it to all polygons in the model, assigning smoothing groups as necessary. Smooth 30 Selected Enables moderate smoothing for selected polygons. Sets Auto Smooth to 30.0 and applies it to selected polygons. 2106 | Chapter 10 Surface Modeling Color Click the color swatch to set the vertex color for selected vertices or polygons. For more information on vertex color, see Assign Vertex Colors Utility on page 6927. Illum Click the color swatch to set the illumination color for selected vertices or polygons. For more information on vertex illumination, see Assign Vertex Colors Utility on page 6927. Alpha Assign an alpha (transparency) value to selected vertices or polygons. The spinner value is a percentage; zero is completely transparent and 100 is completely opaque. For more information on vertex alpha, see Assign Vertex Colors Utility on page 6927. Smoothing Groups Opens a dialog for working with smoothing groups. For details, see Polygon: Smoothing Groups rollout on page 2311 Opens the Material IDs dialog for setting material IDs and selecting by ID and sub-material name. For details, see Polygon: Material IDs rollout on page 2310 Freeform Tab Modeling ribbon ➤ Freeform tab The Freeform tab contains tools for freehand creation and modification of polygon geometry, available on the PolyDraw and Paint Deform panels. In Freeform Tab | 2107 addition, the following panels are hidden but available on the Freeform tab from the right-click menu: ■ Polygon Modeling Panel on page 1995 ■ Edit Panel on page 2025 ■ Geometry (All) Panel on page 2039 PolyDraw Panel Modeling ribbon ➤ Graphite Modeling Tools/Freeform tab ➤ PolyDraw panel NOTE The PolyDraw panel is visible by default only on the Freeform tab but can be made visible on the Graphite Modeling Tools tab via the right-click menu. PolyDraw provides tools for quickly sketching out and editing a mesh on the main grid, projected onto the surface of another object, or on the selected object itself, depending on the Draw On on page 2112 setting. The tools have different effects depending on which combination of the Ctrl, Shift, and Alt keys you press, as described in the following definitions. PolyDraw does not require that a particular sub-object level be active, but we recommend that you use them at the Vertex level for improved visual feedback with certain tool effects. To exit a PolyDraw tool, click its button again or right-click in the active viewport. 2108 | Chapter 10 Surface Modeling Interface PolyDraw panel on minimized ribbon PolyDraw panel on maximized ribbon, with expansion PolyDraw panel floating, with expansion Freeform Tab | 2109 Step Build With Step Build you can build and edit a surface vertex by vertex and polygon by polygon. Works at the object level and all sub-object levels. Right-click to exit the tool. Following are the different functions of the tool, depending on which keyboard keys are pressed: ■ Normal Click to place vertices on the grid or surface. ■ Shift Drag over freestanding vertices to fill in the gaps with quad polygons. This always creates a polygon from the closest four vertices. ■ Ctrl Click a polygon to delete it. The vertices remain so that if you accidently create a face in the wrong place it's easy to delete the face and draw again closer to the vertices you want. ■ Alt Click a vertex to remove it. ■ Ctrl+Alt Click an edge to remove it. ■ Ctrl+Shift Click to place and select vertices, or to select existing vertices. Each time you place and/or select four vertices, Step Build automatically creates a polygon. It includes the last two vertices from the previously created polygon in the new selection, so you need only click twice to create the next polygon. To clear the selection, release the keys. ■ Shift+Alt Move the mouse cursor (without dragging) over vertices to select them, and then click to create a polygon from the selected vertices. Useful for creating non-quad polygons. To clear the selection, release the keys. ■ Ctrl+Shift+Alt Drag to move a vertex around on the grid or surface. At the Vertex sub-object level, a vertex highlights when you move the mouse near enough to start dragging it. NOTE While Step Build is active, vertex ticks on page 146 are always visible for the selected object. If you don’t see them at levels other than Vertex, make sure the object’s display properties on page 225 are set to By Object. 2110 | Chapter 10 Surface Modeling Extend With the Extend tool you can work on the open edges of the object; those on the border of the surface that have only one polygon attached. Following are the different functions of the Extend tool: ■ Normal Drag a border vertex to create a polygon. ■ Shift Drag a border edge to create a polygon. ■ Ctrl+Shift Drag an edge to extend the entire loop on which the edge resides. ■ Ctrl+Alt Drag between two edges to create a polygon. ■ Ctrl Click to delete a polygon and its isolated vertices. ■ Ctrl+Shift+Alt Drag a vertex to move it around on the grid or surface. You can also use Extend to edit the object in screen space, thus moving sub-objects perpendicular to the view direction. You do not need to change the active coordinate system to use this method. ■ Alt Drag a border vertex to create a polygon in screen space. ■ Alt+Shift Drag a border edge to create a polygon in screen space. Drag With the Drag tool you can move individual sub-objects around on the surface or grid. The options are: ■ Normal Move vertices by dragging them. NOTE With Drag on at the Vertex sub-object level, moving the mouse cursor around automatically selects the vertex that will be moved when you drag the mouse. ■ Shift Move edges by dragging them. ■ Ctrl Move polygons by dragging them. ■ Shift+Ctrl Move edge loops by dragging them. ■ Shift+Ctrl+Alt Move elements by dragging them. Freeform Tab | 2111 You can also use Drag to move sub-objects in screen space; that is, perpendicular to the current view direction. You do not need to change the active coordinate system to use this method. ■ Alt Drag vertices to move them in screen space. ■ Alt+Shift Drag edges to move them in screen space. ■ Alt+Ctrl Drag polygons to move them in screen space. Optimize Optimize meshes quickly by sketching away details. The tool options are: ■ Normal Click edges to collapse them, combining two vertices into one. ■ Shift Drag from one vertex to the next to target-weld the two, combining the first with the second. If you continue dragging to further vertices you can weld several vertices with a single stroke. ■ Ctrl Drag between vertices to connect them with edges. ■ Alt Remove a vertex by clicking it. ■ Shift+Ctrl Remove an edge loop by clicking an edge on the loop. ■ Shift+Alt Remove an edge ring by clicking an edge in the ring. ■ Ctrl+Alt Remove an edge by clicking it. ■ Shift+Ctrl+Alt Move a vertex by dragging it. Draw On: From the drop-down list, choose the entity type to draw on: ■ GridPolyDraw creates geometry on the grid of the active viewport. This drawing mode is particularly suited to orthographic viewports, but also works well in perspective viewports. ■ SurfacePolyDraw creates geometry on an object that you specify. Click the Pick button and then select a different object to draw on. The button then contains the name of that object. Use any of the PolyDraw 2112 | Chapter 10 Surface Modeling tools (Strips, etc.) to draw on the object. To change the surface, click the button again and choose a different object to draw on. ■ SelectionPolyDraw creates geometry on the selected object. Pick Designates an object to draw on for the Draw On: Surface option (see preceding). After setting the Draw On option to Surface, click the Pick button, and then click an object to draw on. To remove the object, click the button again. Shapes Draw polygon shapes on the grid or a surface. Drag to set the polygon outline on the grid or an object surface. After drawing a polygon, optionally use Solve Surface to create a workable mesh from the shape. While Draw Polygon is active, the following keyboard alternatives are available: ■ Ctrl Click to delete a polygon. ■ Ctrl+Shift+Alt Drag to move a polygon. Topology Draw lines that form a grid of quads. As you draw eligible quads, Topology fills them in with polygons, creating a mesh from the grid. Right-click to exit the tool. Left: Starting to draw the grid Center: Completing the grid, with polygons created Freeform Tab | 2113 Right: The result of using Topology (after right-clicking to exit) If Auto Weld (see following) is on, the software automatically attaches the created mesh to the selected object and welds border vertices that are close together. This way you can continue adding to the surface of the selected object. When Auto Weld is off, drawing with Topology always creates a new object. The Minimum Distance on page 2116 value determines the resolution of the lines. If the value is too small some faces might be missed in the polygon creation. The default value, 10.0, with the unit type set to pixels should work well in most cases. While Draw Topology Pattern is active, the following keyboard alternatives are available: ■ Shift Drag to continue a line from the closest existing endpoint. ■ Ctrl Click to delete a line. Auto Weld When on, automatically attaches the mesh that you create with Topology to the selected object and welds border vertices that are close together. When off, drawing with Topology always creates a new object. Splines Draw splines on a surface or grid. You can then make these splines renderable or use them in a lofting operation to create quick details. Set the Draw On option, click Splines, and then drag to draw the splines on the desired base. All splines are combined into a single, separate object. While Splines is active, the following keyboard alternatives are available: ■ Ctrl Click to delete a spline. ■ Ctrl+Shift+Alt Drag to move the closest spline. Strips Paint strips of polygons that curve to follow the mouse direction. The Strips tool lets you quickly lay out the topology foundation for a mesh object. 2114 | Chapter 10 Surface Modeling While Strips is active, the following keyboard alternatives are available: ■ Shift Starts painting from the closest existing edge. ■ Alt While drawing, press and drag to an open edge in the current object (but not on the same strip) to add a polygon between where you press Alt and the edge you drag to. Alternatively, press Alt before drawing and then drag between two open edges to connect them with a new polygon. Surface Drag to paint a surface onto an object or the grid. To start the surface from an existing border edge, hold Shift before starting to draw. This prevents drawing overlapping polygons. To delete a polygon and any resulting isolated vertices while Surface is active, Shift+click it. Branches Paint multi-segmented extrusions from polygons with optional tapering to form "branches.” NOTE Drawing branches always starts from the selected object; it doesn’t use the Draw On: (Grid/Surface/Selection) setting. The extrusions are aligned to the screen. The Branch Taper value (see following) determines the difference in size between the first and the last polygon in the branch, while Minimum Distance on page 2116 lets you set the distance between segments in the extrusion. Activate the tool and then drag from polygons on the selected object to draw branches. ■ Normal Drag to draw extruded branches from the polygon closest to the mouse. ■ Shift Drag to draw extruded branches from selected polygon(s). ■ Ctrl Click to select a polygon (at the Polygon sub-object level only). ■ Ctrl+Alt Click to select/deselect additional polygons (at the Polygon sub-object level only). Freeform Tab | 2115 NOTE When the modeling ribbon is maximized or the Paint Deform panel floats, the following controls appear on the Paint Deform panel expansion. Branch Taper The amount by which branches taper as you draw them. A negative value makes the branch dwindle in size; a positive value makes it get thicker, and 0 keeps it the same size as the starting polygon. A value of -1.0 makes the end of the branch as small as possible, while values lower than -1.0 cause the branch to shrink to the minimum partway through and then enlarge the rest of the way. New Object Creates a new, “empty” editable poly object, accesses the Vertex sub-object level, and keeps the current PolyDraw tool active. Immediately after clicking New Obj you can use the PolyDraw tools to add geometry. Solve Surface Takes a polygon shape such as one painted with the Shapes tool and tries to create a workable mesh, adding edges so that the result is a clean shape composed mainly of quadrilateral polygons. Or, if Solve To Quads (see following) is off, the result is mostly triangles. TIP Solve Surface works best when the starting shape is mostly in the form of "strips," where the two sides of the polygon are fairly close together. Angle Affects the way Solve Surface connects vertices. With flat shapes, the default value of 35 works best. With curved surfaces, however, Solve Surface might produce better results at higher values. Solve to Quads When on, using Solve Surface (see preceding) results in mostly four-sided polygons. When off, Solve Surface produces mainly triangles. Offset The distance that PolyDraw uses for creating geometry on (or moving it across) the grid or object surface (depending on the Draw On setting). Minimum Distance The shortest distance you need to drag the mouse before the next step in the tool is taken. 2116 | Chapter 10 Surface Modeling For example, when using the Shapes on page 2113 tool, this value determines the minimum distance, in pixels or world units, between the vertices the software creates as you draw. To determine how to measure Minimum Distance, choose one of the following: ■ in PixelsUses pixels to specify the minimum distance you need to drag the mouse before the next step in the tool is taken. ■ in UnitsUses world units to specify the minimum distance you need to drag the mouse before the next step in the tool is taken. Paint Deform Panel Modeling ribbon ➤ Graphite Modeling Tools/Freeform tab ➤ Paint Deform panel NOTE The Paint Deform panel is visible by default only on the Freeform tab but can be made visible on the Graphite Modeling Tools tab via the right-click menu. Paint Deform provides tools for deforming mesh geometry interactively and intuitively by dragging the mouse over an object surface. The primary tools are Shift, for moving vertices with falloff in the direction you drag the mouse, and Push/Pull, for moving vertices inward and outward. Additional tools include Smudge, Flatten, Noise, and more. Paint Deform tools work the same way at the object level and at all sub-object levels, and are independent of any sub-object selection. To exit a Paint Deform tool, click its button again or right-click in the active viewport. Freeform Tab | 2117 Interface Paint Deform panel on minimized ribbon Paint Deform panel on maximized ribbon Paint Deform panel floating Shift Move sub-objects around in screen space (perpendicular to the viewing direction) with an adjustable falloff effect. The Shift tool is roughly equivalent to using the Move tool with Soft Selection, but no initial selection is necessary. 2118 | Chapter 10 Surface Modeling Using Shift on a mesh object Shift affects only vertices within the brush area when you start to drag; to affect other vertices, release and then drag again. When you activate the Shift tool, its Options panel on page 2127 opens with settings for adjusting the tool’s effect. These settings are also available via the following keyboard modifiers: ■ Ctrl Drag vertically to change the radius of the Falloff on page 2128 (black) circle. ■ Shift Drag vertically to change the radius of the Full Strength on page 2127 (white, inner) circle. ■ Shift+Alt Drag vertically to change the Strength % on page 2128 value. NOTE Revert on page 2126 works with the Shift tool only after you use another Paint Deform tool, such as Push/Pull. Push/Pull Drag the brush to move vertices outward; Alt+drag to move them inward. Freeform Tab | 2119 Using Pull (left) and Push (right) on a mesh object Following is a list of other effects available with keyboard alternatives: ■ Ctrl Reverts on page 2126 to the previous saved state. ■ Shift Relaxes on page 2120 the mesh. ■ Ctrl+Shift Resizes the brush. ■ Shift+Alt Changes the brush strength. Change brush size, strength, and other settings on the Paint Options Panel on page 2129. Relax/Soften Drag the brush to smooth out the surface; for example, to round off corners. NOTE With most other brushes, you can apply Relax/Soften by dragging with Shift held down. 2120 | Chapter 10 Surface Modeling Using Relax/Soften on a mesh object Following is a list of effects available with keyboard alternatives: ■ Alt Drag the brush to relax the mesh without shrinking. ■ Ctrl Reverts on page 2126 to the previous saved state. ■ Ctrl+Shift Resizes the brush. ■ Shift+Alt Changes the brush strength. Change brush size and strength on the Paint Options Panel on page 2129. Smudge Drag to move vertices around. Smudge is roughly equivalent to the Shift tool, but updates the area of effect continually as you drag, and doesn’t use falloff. Freeform Tab | 2121 Using Smudge on a mesh object Following is a list of effects available with keyboard alternatives: ■ Alt Drag the brush to move vertices horizontally only (prevents movement in normal direction). ■ Ctrl Reverts on page 2126 to the previous saved state. ■ Shift Relaxes on page 2120 the mesh. ■ Ctrl+Shift Resizes the brush. ■ Shift+Alt Changes the brush strength. Change brush size and strength on the Paint Options Panel on page 2129. Flatten Drag the brush to flatten convex and concave areas. 2122 | Chapter 10 Surface Modeling Using Flatten on a mesh object Following is a list of effects available with keyboard alternatives: ■ Ctrl Reverts on page 2126 to the previous saved state. ■ Shift Relaxes on page 2120 the mesh. ■ Ctrl+Shift Resizes the brush. ■ Shift+Alt Changes the brush strength. Change brush size and strength on the Paint Options Panel on page 2129. Pinch/Spread Move vertices closer together by dragging, or spread them apart with Alt+drag. Freeform Tab | 2123 Using Pinch (left) and Spread (right) on a mesh object Following is a list of additional effects available with keyboard alternatives: ■ Ctrl Reverts on page 2126 to the previous saved state. ■ Shift Relaxes on page 2120 the mesh. ■ Ctrl+Shift Resizes the brush. ■ Shift+Alt Changes the brush strength. Change brush size and strength on the Paint Options Panel on page 2129. Noise Drag to add convex noise to the surface, or Alt+drag to add concave noise. 2124 | Chapter 10 Surface Modeling Using Noise on a mesh object Following is a list of additional effects available with keyboard alternatives: ■ Ctrl Reverts on page 2126 to the previous saved state. ■ Shift Relaxes on page 2120 the mesh. ■ Ctrl+Shift Resizes the brush. ■ Shift+Alt Changes the brush strength. Change brush size, strength, and other settings on the Paint Options Panel on page 2129. Exaggerate Makes the features of the painted surface more pronounced by moving convex areas outward and concave areas inward. Freeform Tab | 2125 Using Exaggerate on a mesh object Following is a list of effects available with keyboard alternatives: ■ Alt Inverts the exaggeration, making convex areas concave and vice-versa. ■ Ctrl Reverts on page 2126 to the previous saved state. ■ Shift Relaxes on page 2120 the mesh. ■ Ctrl+Shift Resizes the brush. ■ Shift+Alt Changes the brush strength. Change brush size, strength, and other settings on the Paint Options Panel on page 2129. Revert Paint to restore the mesh to its previous shape, before the last use of Commit (see following). If you haven’t used Commit yet, Revert goes back to the object’s initial shape. Following is a list of effects available with keyboard alternatives: ■ Shift Relaxes on page 2120 the mesh. ■ Ctrl+Shift Resizes the brush. ■ Shift+Alt Changes the brush strength. Change brush size and strength on the Paint Options Panel on page 2129. 2126 | Chapter 10 Surface Modeling NOTE Revert works with Shift on page 2118 only after you use another Paint Deform tool, such as Push/Pull. Commit Sets the restore buffer to the current state of the object. After using Commit, using Cancel or the Revert brush (see preceding) returns the model to its shape when you last used Commit. Cancel Removes any changes made with Paint Deform since the last Commit. If you haven’t used Commit, returns the model to its initial shape. Shift Options Panel Modeling ribbon ➤ Graphite Modeling Tools/Freeform tab ➤ Paint Deform panel ➤ Enable Shift tool. NOTE The Paint Deform panel is visible by default only on the Freeform tab but can be made visible on the Graphite Modeling Tools tab via the right-click menu. This panel opens when the Shift on page 2118 tool is active, and provides settings for modifying its effects. Interface Shift Options panel on minimized ribbon Full Strength The area of the Shift-tool painting brush within which sub-objects move at the same rate that you drag the brush. This area is depicted as a white circle inside a black one. Freeform Tab | 2127 Sub-objects outside the Full Strength circle but within the Falloff circle (see following) move at a gradually slower rate. To adjust Full Strength interactively, use Shift+drag. Falloff The area within which dragging the mouse with the Shift tool active gradually decrease the effect, going from full strength (within the white circle) to no effect (outside the black circle). To adjust Falloff interactively, use Ctrl+drag. NOTE When the modeling ribbon is maximized or the Shift Options panel floats, the following controls appear on the Shift Options panel expansion. Strength % The overall rate at which the Shift tool deforms an object. For subtler effects, lower the Strength % value. To adjust Strength % interactively, use Shift+Alt+drag. Mirror When on, the Shift tool effect is applied equally to both sides of an object across the mirror axis, as specified by the Mirror Axis setting (see following). Use Selected Verts When on, the Shift tool affects selected vertices only. Applies at the object level and all sub-object levels. When off (the default), the Shift tool affects all vertices in the selected object. Ignore Backfacing When on, the Shift tool affects only sub-objects facing you. When off (the default), the Shift tool affects all sub-object(s) in the selected object within the Falloff range, regardless of their visibility or facing. Mirror Axis X/Y/Z Choose the axis across which the Shift tool is mirrored (see Mirror, preceding). This setting uses the World coordinate system. Freeze Axis X/Y/Z Click to activate any combination of X, Y, and Z. When an axis button is on, the Shift tool is prevented from moving sub-objects on the object’s corresponding local axis. 2128 | Chapter 10 Surface Modeling TIP To limit the Shift tool’s effect to a particular axis, turn on Freeze Axis for the other two axes. Freeze Selected Edges X/Y/Z Click to activate any combination of X, Y, and Z. When an axis button is on, the Shift tool is prevented from moving selected edges on the object’s corresponding local axis. Unselected edges move freely. Applies at all sub-object levels. For example, to allow Shift to cause vertical deformation only on the upper half of an object, first access the Edge sub-object level and select the upper half of the object, turn on Freeze Selected Edges ➤ X and Y, and activate the Shift tool. Then, at the object level or at any sub-object level, using Shift on the upper half of the object prevents horizontal deformation. Paint Options Panel Modeling ribbon ➤ Graphite Modeling Tools/Freeform tab ➤ Paint Deform panel ➤ Enable a tool other than Shift (Push/Pull, etc.). NOTE The Paint Deform panel is visible by default only on the Freeform tab but can be made visible on the Graphite Modeling Tools tab via the right-click menu. This panel opens when Paint Deform on page 2117 tools other than Shift are active, and provides settings for modifying their effects. NOTE Only Size and Strength settings are available for Relax/Soften, Flatten, Pinch/Spread, Smudge, and Revert; additional settings are available for the rest. Freeform Tab | 2129 Interface Paint Options panel on minimized ribbon Size The radius of the circular deform brush. NOTE With most brushes, you can change the size interactively by dragging with Ctrl+Shift held down. Strength The overall rate at which the deform tool deforms an object. For subtler effects, lower the Strength value. NOTE With most brushes, you can change the strength interactively by dragging with Shift+Alt held down. Offset The maximum amount by which painting with a deform tool can change the mesh without lifting the mouse button. Applies only when Cap Offset is on (see following). NOTE When the modeling ribbon is maximized or the Paint Options panel floats, the following controls appear on the Paint Options panel expansion. Cap Offset When on, dragging the brush continously stops deforming at the Offset amount (see preceding). To increase the offset, release the mouse button and then start again. 2130 | Chapter 10 Surface Modeling When off, dragging the brush continously keeps applying the offset without limit. Normal Direction Choose the direction in which mesh deformation occurs when painting: ■ OriginalUses the normals that the vertices had when you began using the tool. This way you can keep adding strokes without having the vertices go off in unexpected directions. ■ DeformedThe normals are updated after each stroke so the tool keeps pushing from the current state. ■ BrushUses the normal from the brush (gizmo) when you started the stroke. ■ ViewPushes towards or away from the view direction. ■ Transform X/Y/ZMoves vertices along the corresponding world axis. Refresh Normals Resets the brush to use each polygon’s current normal direction when deforming, rather than the original. Available only with Normal Direction=Original. When off, painting always deforms in the original direction of the polygon’s normal. TIP For automatic refreshing of the deform direction, set Normal Direction to Deformed (see preceding). Brush Options Opens the Painter Options dialog on page 1940 for adjusting brush properties, display options, and more. Noise Options These settings apply only to the Noise brush on page 2124: ■ SeedGenerates a random starting point for the noise deformation from the number you set. Affects only subsequent painting, not existing results. ■ ScaleSets the size of the noise effect (not strength). Larger values produce smoother noise, lower values more jagged noise. ■ TurbulenceDetermines the extent of noise variation. Lower values are less rough than higher values. Freeform Tab | 2131 Selection Tab Modeling ribbon ➤ Selection tab The Selection tab of the modeling ribbon provides a variety of specialized tools for making sub-object selections. For example, you can select concave or convex areas, sub-objects that face the viewpoint, or point in a certain direction, and more. NOTE The Selection tab panels appear only when a sub-object level is accessed. When no object is selected, or an object is selected but no sub-object level is active, the Selection tab is empty by default. You can use the right-click menu ➤ Panels submenu to make the Polygon Modeling panel on page 1995 available on the Selection tab, which you can then use to access and change sub-object levels. You can also use the right-click menu to add the Modify Selection panel on page 2013 to the Selection tab. General Selection Panels Access a sub-object level. ➤ Modeling ribbon ➤ Selection tab ➤ Select/Stored Selections/Selection Sets panel The general selection panels comprise the Select panel for selecting sub-objects based on certain topologies; the Stored Selections panel for saving, restoring, and combining sub-object selections; and the Selection Sets panel for copying and pasting named sub-object selection sets. Select panel The Select panel includes the Tops, Open, and Patterns tools for sub-object selection at all levels, plus the Hard tool for selecting edges at the borders of smoothing groups and additional selection tools for polygons. Select panel at Vertex level 2132 | Chapter 10 Surface Modeling Select panel at Edge/Border level Select panel at Polygon/Element level (minimized ribbon) Tops Selects the tops of extruded sections of the model. The actual results depend on the sub-object level: ■ Vertex Selects the vertices of the tops of extruded polygons. ■ Edge Selects the edge outlines of the tops of extruded polygons. ■ Polygon Selects the tops of extruded polygons. Tops of Current Selection (on Tops drop-down) Selects the tops of extruded sections of the model within the current selection, and deselects all remaining sub-objects. For details, see Tops (preceding). Open Selects all “open” sub-objects. Selection Tab | 2133 The current sub-object level determines the actual results: ■ Vertex Selects all border vertices; that is, vertices on edges with only one polygon. ■ Edges Selects all border edges; that is, edges with only one polygon. ■ Polygon Selects all border polygons; that is, polygons that have one or more edges with only one polygon. Hard Selects all edges in a model whose faces do not share the same smoothing groups. Available only at the Edge sub-object level. Non-Quads Selects all non-quadrilateral polygons; that is, polygons with more or fewer than four sides. Available only at the Polygon sub-object level. NOTE When the modeling ribbon is maximized or the Select panel floats, the following controls appear on the Select panel expansion. Patterns Grows the current selection and turns it into a pattern that depends on the initial selection. Make a selection and then choose a Patterns option from the drop-down list. All options work at all sub-object levels except for One Ring, which works only for polygons. You can use the Pattern tools for a variety of purposes, such as making complex surface details or laying out building structures. The options are as follows: ■ Pattern 1-8 Each numbered Pattern option provides a different way of forming a pattern. Some are fast-growing while others are slower; some tend to form cubic patterns while others are more broken up. The effect depends very much on the initial selection and thus can be somewhat unpredictable, so the best way to use the patterns is to experiment until you find a result you like. ■ Growlines Grows the selection to lines with gaps of unselected lines. For example, if you select a whole polygon loop and apply Growlines, the 2134 | Chapter 10 Surface Modeling selection grows by selecting alternating polygon loops starting with the initial selection. ■ Checker Grows the selection and forms a checker pattern. ■ Dots Grows the selection and forms a pattern where all selected sub-objects have gaps between them. ■ One Ring Grows a single polygon ring around the initial selection. Available only at the Polygon level. By Vertex When on, you can select sub-objects only by selecting a vertex that they use. When you click a vertex, all sub-objects that use the selected vertex are selected. Not available at the Vertex sub-object level. By Mat ID Selects polygons corresponding to the Material ID specified in the adjacent ID field. Type or use the spinner to specify an ID, then click By Mat ID. By Angle When on, selecting a polygon also selects neighboring polygons based on the angle setting to the right of the check box. This value determines the maximum angle between neighboring polygons to select. Available only at the Polygon sub-object level. For example, if you click a side of a box and the angle value is less than 90.0, only that side is selected, because all sides are at 90-degree angles to each other. But if the angle value is 90.0 or greater, all sides of the box are selected. This function speeds up selection of contiguous areas made up of polygons that are at similar angles to one another. You can select coplanar polygons with a single click at any angle value. By Smoothing Group Displays a dialog that shows the current smoothing groups. Select all polygons that belong to a group by clicking the corresponding numbered button and clicking OK. If Clear Selection is on, any previously selected polygons are first deselected. If Clear Selection is off, the new selection is added to any existing selection. Stored Selections panel This panel provides tools for quickly and easily storing and retrieving selections as well as performing some basic operations between stored selections. You can also use the tools for transferring a selection from one model to another. This is especially useful when working with morph targets if you need to change the same area on multiple models. Selection Tab | 2135 Copy Store 1/ Copy Store 2 Places the current sub-object selection in the Store 1 or Store 2 buffer. When a buffer contains a stored selection, its Copy button turns blue. When empty, the button background is white. TIP To use a third store, assign the Store and Paste CUI actions on page 8837 available in the PolyTools category. This store works only with the CUI versions of the commands. Paste Store 1/ Paste Store 2 Selects sub-objects at the current level based on the contents of the corresponding Store buffer, replacing the current selection. To retain the current selection, press Shift before clicking Paste Store. Does not clear the buffer. Add 1+2 Combines the two stored selections and applies the selection at the current sub-object level, emptying both Store buffers. Use Copy Store 1 and Copy Store 2 on different sub-object selections and then use Add 1 + 2 to select all sub-objects in both store buffers. Subtract 1-2 Selects Store 1 except for where it overlaps with Store 2. Clears both buffers. Intersect Selects the overlap (if any) of the sub-object selections in Store 1 and Store 2. 2136 | Chapter 10 Surface Modeling Clear Clears the stored selections, emptying both buffers. Selection Sets panel This panel provides controls for copying and pasting sub-object selection sets. When the ribbon is maximized or the panel floats, the panel label is shortened to “Sets.” The controls let you copy and paste named selection sets on page 163 of sub-objects between objects. Start by creating one or more named selection sets, copy one, select a different object, go to the same sub-object level, and then paste the set. NOTE This function uses sub-object IDs, so if the target object's geometry differs from that of the source object, the pasted selection will probably comprise a different set of sub-objects. Copy Opens a dialog that lets you specify a named selection set to place into the copy buffer. Paste Pastes the named selection from the copy buffer. Select By Panels Access a sub-object level. ➤ Modeling ribbon ➤ Selection tab ➤ By ... panels The Select By panels provide a variety of methods for making sub-object selections procedurally. For example, you can use By Surface to select concave or convex areas of a model, or By Pivot to select the outer areas of a model. Selection Tab | 2137 Following is a linked list of all the Select By panels: ■ By Surface panel on page 2138 ■ By Normal panel on page 2138 ■ By Perspective panel on page 2139 ■ By Random panel on page 2140 ■ By Half panel on page 2141 ■ By Pivot Distance panel on page 2141 ■ By View panel on page 2142 ■ By Symmetry panel on page 2142 ■ By Numeric panel on page 2142 ■ By Color panel on page 2143 By Surface panel Select sub-objects by the degree of concavity or convexity. Choose Concave or Convex and then specify the selection with the value spinner. NOTE To see the resulting change in selection after switching between Concave and Convex, adjust the numeric setting. Concave/ Convex From the drop-down, choose to select sub-objects in concave or convex areas. [value spinner] Adjust to change the number of selected of sub-objects. Low values (including negative numbers) select sub-objects only in areas of extreme concavity or convexity, and increasing the value expands the selection from there. By Normal panel Selects sub-objects based on their normal directions on the World axes. Choose an axis, optionally turn on Invert, and then set an Angle value. 2138 | Chapter 10 Surface Modeling NOTE To see the resulting change in selection after switching the axis or toggling Invert, adjust the Angle setting. Angle The amount by which a sub-object’s normal direction can deviate from the specified axis and still be selected. The higher this value, the more sub-objects are selected. X/Y/Z The direction in which a sub-object’s normal must point in the World coordinate system to be selected. Invert Reverses the direction of normal selection. For example, using the Z option by itself selects upward-facing sub-objects, while turning on Invert instead selects downward-facing sub-objects. NOTE Invert simply inverts the selection, so the Angle setting works in reverse when it’s on: Higher values select fewer sub-objects and vice-versa. By Perspective panel Selects sub-objects based on the extent to which they point toward the user in the active viewport. You can think of it as projecting a selection onto the model from the current view. Set the Angle value, optionally toggle Outline, and then click Select. NOTE The CUI on page 8837 action for this command, found in Group: Main UI ➤ Category: PolyTools, is PerspectiveSelect. When you use the shortcut, the tool automatically uses an Angle value of 30.0, and when applied at the Edge sub-object level, it always uses Outline mode. Angle The amount by which a sub-object’s normal direction can deviate from the view axis (an imaginary line between the viewpoint and the sub-object) and still be selected. The higher this value, the more sub-objects are selected. Selection Tab | 2139 Outline When on, By Perspective selects only the outermost sub-objects as defined by the Angle setting. Select Makes the selection based on the current settings. By Random panel Use these tools to select sub-objects at random by number or percentage, and to expand or shrink the current selection, also at random. Choose to select random sub-objects by number (#) or percent (%), set the respective numeric value, and then click Select. Or, to select random sub-objects within the current selection, click Select Within Current Selection on the Select drop-down. To expand or shrink the current selection at random, click Random Grow or Random Shrink. Number Enables random selection by number. Click #, set the desired number of sub-objects to select, and then click Select. Percent Enables random selection by percentage. Click %, set the desired percentage of sub-objects to select, and then click Select. Select Makes the selection based on the current settings. Select Within Current Selection (on Select drop-down) Selects random sub-objects within the current selection based on the Random-panel settings. 2140 | Chapter 10 Surface Modeling Random Grow Grows the selection by selecting random unselected sub-objects near the current selection. This function has no parameters; it does not use the # or % setting. Random Shrink Shrinks the selection by deselecting random sub-objects. This function has no parameters; it does not use the # or % setting. By Half panel Selects half of the mesh on the specified axis. The selection is based on area, not the number of sub-objects. Choose the axis on which to select half the mesh, then click Invert Axis or Select. The center of the mesh is determined by the location of its pivot on page 3796. If you change the pivot position, apply Reset XForm Utility on page 849 and then collapse on page 1974 the mesh. If you use the Collapse utility, be sure to choose the Modifier Stack Result option. X/Y/Z Choose the axis on which to select half the mesh. Invert Axis Toggles inverting the Select By Half selection, and makes the selection. Choose the axis on which to select half of the mesh, and then click Invert to make the selection. Click again to select the other half. Select Makes the selection based on the current settings. By Pivot Distance panel Selects sub-objects based on distance from the object’s pivot on page 3796. Selection Tab | 2141 If you change the pivot position, apply Reset XForm Utility on page 849 and then collapse on page 1974 the mesh. If you use the Collapse utility, be sure to choose the Modifier Stack Result option. % From Pivot The distance beyond which to select sub-objects, expressed as a percentage of the object’s size. If the pivot is centered, a value of 100.0 means the whole object is unselected; values below that result in selection of the outer parts of the model, growing inward as the value decreases. By View panel Selects and grows sub-objects based on the current view and inwards into the view. The closest part of the model is selected first; higher values grow the selection farther into the view. Grow From Perspective View The distance to select sub-objects, starting with the closest part of the object to the view. At 0.0, no sub-objects are selected; low values select only the closest sub-objects, and higher values select increasingly farther sub-objects. By Symmetry panel In a symmetrical model, mirrors the current sub-object selection on the specified local axis. The center of the object is determined by the location of the object’s pivot on page 3796. X/Y/Z Choose the local axis on which to mirror the current sub-object selection. By Numeric panel Enables selecting vertices by the number of connected edges or polygons by the number of sides. At the Vertex level, selects vertices with the same, less than, or more than the number of connected edges specified by the Edges setting. At the Polygon 2142 | Chapter 10 Surface Modeling level, selects polygons with the same, less than, or more than the number of sides specified by the Sides setting. Available only at the Vertex and Polygon sub-object levels. Click the =, <, or ➤ button, set the desired number of connected edges (for vertices) or sides (for polygons) as the Edges value, and then click Select. By Numeric panel at the Vertex level By Numeric panel at the Polygon level =/> Choose to base the selection on whether the qualifying sub-objects match the specified value (=) or are less than (<) or more than (>) the value. Edges Selects vertices with (same as; less than; more than) the Edges number of edges connected to them. Available only at the Vertex sub-object level. Sides Selects polygons with (same as; less than; more than) the Sides number of sides. Available only at the Polygon sub-object level. Select Makes the selection based on the current settings. By Color panel Select vertices by color or illumination value. Available only at the Vertex sub-object level. For more information about vertex colors, see Assign Vertex Colors Utility on page 6927. From the drop-down, choose Color or Illumination, use the color swatch and RGB settings to specify the color or illumination value and range to match, and then click Select. Selection Tab | 2143 Color/ Illumination From the drop-down, choose to select vertices by Color or Illumination. [color swatch] Displays the Color Selector on page 304, where you can specify a color to match. RGB [Range] Specifies a range for the color match. All three RGB values in the vertex color or illumination must either match the color specified by the color swatch in Select By Vertex Color, or be within plus or minus the values in the Range spinners. Default=10. Select Makes the selection based on the current settings. Object Paint Tab Modeling ribbon ➤ Object Paint tab The Object Paint tool enables you to paint objects freehand anywhere in the scene or onto specific object surfaces. You can also “fill” selected edges automatically with paint objects. You can paint with multiple objects in a specific order or at random, and change the scale as you paint. Applications include applying regular surface features such as rivets, plants, columns, and even populating a scene with characters. NOTE Objects added with Object Paint are not combined with other objects or each other; they remain discrete objects in the scene. Thus, you can manipulate them using standard tools such as Move and Rotate after creation. However, each painted object is an instance of the original, so changing creation parameters, modifier settings, etc. for any painted object (or the original) changes all of them equally. 2144 | Chapter 10 Surface Modeling Paint Objects Panel Modeling ribbon ➤ Object Paint tab ➤ Paint Objects panel Use these tools to paint objects onto the scene or specific objects freehand or along a selected edge loop. The objects you add to the scene by painting are known as paint objects. Procedures To paint objects freehand: This procedure covers the most important settings for painting objects onto the scene freehand. 1 Add to the scene one or more paint objects to paint into the scene, and, optionally, objects to paint on. 2 Specify the paint objects with Pick Object(s) on page 2153 or Edit Object List on page 2153. 3 To paint multiple objects, set the drop-down list on page 2152 to paint them in order or at random. 4 To restrict painting to a specific object or objects, select them and set Paint On on page 2154 to Selected Objects; otherwise, choose Scene to paint anywhere in the scene, or objects while painting. Grid to ignore existing 5 Click (Paint) and then drag in a viewport to paint the paint objects into the scene. Use as many paint strokes as you need. Object Paint Tab | 2145 Teapots painted onto the scene IMPORTANT You can adjust strokes after painting, before exiting Paint mode. So, after painting your objects, do not right-click to exit Paint mode unless you’re satisfied with the results. 6 On the Brush Settings panel on page 2159, adjust parameters for the painted objects, which respond in real time. These settings include Align (use the check boxes on the drop-down list and the buttons), Spacing, Scatter, and the rest. You can also use the Offset setting on the Paint Objects panel to adjust the vertical distance of the paint objects from the painted surface. 7 When finished painting, to exit Paint mode and save your work, right-click in the active viewport, or click Paint again on the Paint Objects panel, or click (Commit) on the Brush Settings panel. After you do so, you can no longer adjust the paint objects via the Paint Objects and Brush Settings parameters. However, they are standard objects, so you can edit them as with other objects in the scene. Also, each paint object is an instance of the original object, so you can affect each set of instances by editing any one’s creation parameters, modifiers, and so on. Alternatively, to stop painting without saving your work, click (Cancel) on the Brush Settings panel. 2146 | Chapter 10 Surface Modeling Example: To paint with an animated object: You can paint with transform-animated objects so that each paint object’s transform plays back differently during the animation. 1 Create a plane to paint on and a small cylinder as a paint object. 2 Animate the cylinder to rotate 90 degrees about its Y axis over 15 frames, so it looks like it’s falling over. 3 Pick the cylinder as the paint object and then select the plane. 4 Set Paint On to Selected Objects. 5 Make sure Offset Transform Motion on page 2157 is set to Consecutive by 0 frames. 6 Go to frame 0 and paint a stroke on the plane, so you get 10 or more copies of the cylinder. 7 Play the animation, and then return to frame 0. The painted-on cylinders all fall over at once, because the animation for each copy starts at the same time as the animation of the original cylinder. Object Paint Tab | 2147 8 Undo the painting and then set Offset Transform Motion to Consecutive by 1 frames. 9 Repeat steps 6 and 7. This time the cylinders fall in sequence, starting with the first and proceeding to the last. The offset of 1 means that the playback of each cylinder’s transform animation is delayed one frame from the one before it. 2148 | Chapter 10 Surface Modeling To apply objects to an edge selection with Fill: 1 Add to the scene one or more paint objects to paint into the scene, and an object to paint on. The latter must be an editable poly object or an object with the Edit Poly modifier applied. 2 Specify the paint objects with Pick Object(s) on page 2153 or Edit Object List on page 2153. 3 If using more than one paint object, set the drop-down list on page 2152 to paint them in order or at random. 4 Select an edge loop on the object to paint on. Object Paint Tab | 2149 Fill works only with a single, unbroken edge loop. If the object contains multiple qualifying selections, the loop containing the lowest ID gets the fill (see Fill on page 2151). 5 Click (Fill). The paint objects are applied to the edge selection. 6 If necessary, change the number of paint objects by adjusting the Fill # setting. Also, you can change other settings such as transforms applied to the paint objects with the Brush Settings panel on page 2159. 2150 | Chapter 10 Surface Modeling 7 When finished, exit Fill mode by clicking Fill again or right-clicking in the active viewport. Alternatively, to stop painting without saving your work, click (Cancel) on the Brush Settings panel. Interface Paint After specifying one or more paint objects and the surface to paint on, click this button and then drag in a viewport to paint the objects. To stop painting, right-click in the viewport or click the Paint button again. To exit Paint mode without saving your work, use Cancel on page 2160. For details, see this procedure on page 2145. Fill Places paint objects along selected edges in a continuous loop on an editable poly or Edit Poly object only. Available only at the Edge or Border sub-object level of an editable poly or Edit Poly object with at least one edge selected. For details, see this procedure on page 2148. Object Paint Tab | 2151 If edges on more than one loop are selected, Fill applies to the loop that contains the edge with the lowest ID on page 9318. Single edge loop before Fill (left) and after Fill (right) Left: Two edge loops are selected; the one on the left contains the edge with the lowest ID value. Right: After using Fill Use Object list The object or objects to paint into the scene. By default, this field shows “No Object...” (when no paint object is designated) or the name 2152 | Chapter 10 Surface Modeling of the object at the end of the object list (see following). Alternatively, you can choose either of the following: ■ All, In OrderPaints with each object in the object list in the order that it appears in the list. When the end of the list is reached, starts again at the top. ■ All, RandomlyPaints with the objects in the list in random order. Edit Object List Opens the Paint Objects dialog on page 2158 for managing the list of paint objects. When the Use Object list (see preceding) is set to a single object, use Edit Object List to choose which object to paint. When the Use Object list is set to All, In Order, use Edit Object list to change the object order. TIP To quickly change the active paint object, open the Paint Objects dialog and highlight the new paint object. You can keep the dialog open to change the paint object on the fly as you paint. Pick Object(s) Designates a single paint object. Click Pick Object(s) and then select an object. To designate additional paint objects, repeat the process. Available only when Paint on page 2151 is off. The last object you pick appears by default on the drop-down list (see preceding) and is thus the default paint object. To make a different object the default, highlight it in the Edit Object List (see preceding). To draw with multiple objects, choose an alternative option from the drop-down list: All, In Order; or All, Randomly. NOTE To use a scaled object as a paint object, follow these steps before picking the object: 1 Select the object. 2 Apply Reset XForm on page 849. 3 Collapse on page 1974 the modifier stack. Fill # The number of objects painted on the selected edges when you click Fill on page 2151. Object Paint Tab | 2153 Paint On Choose the surface to receive paint objects. ■ GridPaints objects onto the active grid only, disregarding any objects in the scene. With Draw On set to Grid, some paint objects were painted under the raised part of the plane object. ■ Selected ObjectsPaints only on selected objects. 2154 | Chapter 10 Surface Modeling If, when using Paint On Selected Objects, you move the brush off an object surface and then back on in a different place, using a single stroke (that is, without releasing the mouse button), the software automatically connects the two points with a line of paint objects. Object Paint Tab | 2155 The paint stroke moved off the object surface at point 1 and then back on at point 2. ■ ScenePaints objects on object surfaces under the mouse cursor, and on the grid when the mouse cursor is not over an object. 2156 | Chapter 10 Surface Modeling See also: Paint on Painted Objects on page 2158 Offset The distance from the painted surface at which paint objects are placed. Positive values place the objects above the surface, while negative values place the objects below. Offset Transform Motion If you paint with transform-animated objects, the resulting paint objects inherit that motion. Note that this applies only to animation of the entire object with the Move, Rotate, or Scale tool (or any combination of those tools). It does not apply to sub-object-level animation or animation of modifier parameters. For more information, see this procedure on page 2147. Use these parameters to specify how the animation plays back. The desired settings must be in place before you paint; changing settings does not affect existing paint objects. ■ ConsecutiveUpon animation playback, starts playing each successively painted object N frames later than the previous one, where N is the By # Frames value (see following). Object Paint Tab | 2157 ■ RandomUpon animation playback, starts playing each successively painted object a random number of frames later than the previous one. ■ By # FramesThe playback delay for each successive paint object when using the Consecutive option (see preceding). Paint on Painted Objects Layers paint strokes instead of juxtaposing the objects. In other words, when on, painting on newly created paint objects applies the subsequent paint objects on the surface of existing paint objects. Paint Objects Dialog Modeling ribbon ➤ Object Paint tab ➤ Paint Objects panel ➤ Click Edit Object List. The Paint Objects dialog lets you manage the list of paint objects used when painting objects into the scene. You can keep this dialog open while painting to change the paint object on the fly. Interface 2158 | Chapter 10 Surface Modeling [object list window] Shows the list of paint objects. Click a list entry to highlight it. When painting with a single object, the highlighted entry serves as the paint object. Move Up / Move Down Moves the highlighted entry one position higher or lower in the list. Pick Adds a single object to the list. Click Pick and then select the object to add. To add more objects, repeat the process. Add Opens the Select Objects dialog on page 184 for designating paint objects from a list. Add Selected Adds objects selected in the scene to the list. Remove Removes the highlighted entry from the list. Brush Settings Panel Modeling ribbon ➤ Object Paint tab ➤ Brush Settings panel Use this panel to set parameters for the paint objects, including alignment, spacing, and scale. You can also save and load settings from this panel. IMPORTANT These settings apply to all active strokes; that is, to all objects painted since most recently clicking the Paint button. So you can start to paint objects, and then adjust the spacing, alignment, scale, and so on, with real-time feedback, and then continue to paint using the new settings. After you exit Paint mode, changing the brush settings affects only future strokes. The brush settings persist during the current session and survive a reset of the software. The default settings are restored when restarting 3ds Max. Interface These settings apply to objects painted since the previous use of Commit or Cancel, and objects painted after adjusting the settings. After you click Commit, changing the settings has no effect on the existing paint objects, but it does affect subsequently created paint objects. Object Paint Tab | 2159 Commit Bakes the current settings into the active paint objects (that is, paint objects created since the previous Commit or Cancel). Does not exit the Paint tool on page 2151, but does exit the Fill tool on page 2151. Available only when Paint or Fill mode is active. After clicking Commit (in Paint mode), further settings changes do not apply to existing painted objects. Cancel Removes the active paint objects; that is, those that were created since the previous use of Commit or Cancel, or since starting to paint if you haven’t used Commit or Cancel. Does not exit the Paint tool on page 2151, but does exit the Fill tool on page 2151. Align From the drop-down list, enable either or both options: ■ Align to NormalWhen on, aligns the specified axis (see following) of each painted object with the normal on page 9237 of the painted surface. When off, aligns the specified axis of the painted objects with the world Z axis. 2160 | Chapter 10 Surface Modeling ■ Follow StrokeWhen on, aligns the specified axis (see following) of each painted object with the direction of the paint stroke. When off, aligns the specified axis of the painted objects with the world Z axis. X/Y/Z Choose the axis of painted objects for alignment; used in conjunction with the Align settings (see preceding). Flip Axis When on, reverses the alignment axis. Spacing The distance in world units between objects in the stroke. The higher the Spacing value, the lower the number of paint objects. Scatter Applies a random offset from the painted stroke for each paint object. Three dimensions of offset are available: ■ UThe maximum horizontal distance from the stroke. ■ VThe maximum distance along the stroke length. ■ WThe maximum vertical distance from the stroke. Rotate (X/Y/Z) The rotation about the respective local axis for each paint object. Each axis label (X/Y/Z) has a Random drop-down check box; when on, the rotation about that axis is set to a random value that is not affected by the numeric setting. Scale Set scaling options for the paint objects (see following). Even/Random/Ramp Choose how scaling is applied to paint objects: ■ ■ EvenThe same scaling is applied to all paint objects. RandomA random scaling value is applied to each paint object. To set the range for the random scaling, use the Random Start/End settings (see following). Object Paint Tab | 2161 ■ RampThe scaling factor for each paint stroke increases or decreases throughout the stroke. To set the range for the ramp scaling, use the Ramp Start/End settings (see following). Axis Lock (Uniform Scale) When on, any scaling of painted objects is applied to all three axes equally, so objects maintain their original proportions. When Axis Lock is on, only the X setting is available, and its value affects all three axes uniformly. X/Y/Z The scaling of paint objects on each axis as percentages. When Axis Lock is on (see preceding), only the X setting is available, and its value affects all three axes uniformly. With Scale Lock off, you can set different scaling factors for each axis, resulting in non-uniform scaling. When Scale is set to Random, two settings are available for each axis: Scale Random Range (Low) and Scale Random Range (High). These set lower and upper limits for the random scaling for each paint object. For example, at the values of 10 and 150, each object can be scaled between 10 % and 150 % of its original size on the respective axis. When Scale is set to Ramp, two settings are available for each axis: Scale Ramp Range (From) and Scale Ramp Range (To). These set the starting and ending ramp scaling factors for each paint object. For example, at the values of 100 and 200, each stroke starts at full size and ramps up to double size at the end of the stroke. Or at the values of 50 and 25, each stroke starts at half size and ends at a fourth of the original size. All Brush Settings Use the buttons to load and save the Brush Settings parameter values: ■ LoadOpens a file dialog for choosing a saved Brush Settings file. ■ SaveOpens a file dialog for saving the current settings to a file. ■ Set Current Settings as DefaultSaves the current Brush Settings values in the Default.txt file; these values are restored automatically the next time you start 3ds Max. 2162 | Chapter 10 Surface Modeling Customizing the Ribbon Modeling ribbon ➤ Right-click an empty portion of the ribbon. ➤ Right-click menu ➤ Ribbon Configuration ➤ Customize Ribbon The Customize Ribbon dialog offers a wealth of tools for editing the modeling ribbon. You can use the mouse and keyboard to rearrange existing controls, rename them, and change their icons. More important, you can add controls based on almost any tool in 3ds Max, or new tools based on custom scripts. You can also add custom tabs and panels whose contents are best suited to your own workflow. Each ribbon element, from tabs all the way down to individual tools, has a number of properties that you can define such as name, size, enabled status, and others. Also, you can set the Visible and Enabled status of most ribbon elements to be conditional based on the active context. TIP To create a custom ribbon from scratch, delete all existing tabs, add one or more new tabs, then set them up according to your preferences. Note, however, that only one ribbon at a time can be active in 3ds Max. Thus it’s recommended you save your custom ribbon to a new file name and load it or the original ribbon as needed. If it ever becomes necessary to restore the default ribbon, use the Reset Ribbon to default on page 1995 command. Using Customize Ribbon Using the Customize Ribbon dialog is straightforward: Drag commands and ribbon controls from the two sections on the left side of the dialog to the Existing UI hierarchy list in the center. Next, to edit settings for an item in the Existing UI list, highlight the item and use the Properties editor on the right side of the dialog. Property settings changes appear in the ribbon immediately, and you can save them to a custom ribbon file that you can then load later or send to teammates so they can also take advantage of your work. While dragging, when the mouse cursor is over the Existing UI list, an arrow appears at the list location where the item will be dropped, if permitted. Also, any parent items highlight temporarily to indicate where in the hierarchy the item will appear. If you hold the mouse cursor for a few seconds over an element that can be expanded, such as a collapsed panel, the element’s hierarchy expands. If the current placement is not permitted, a “stop” icon appears at the mouse cursor: Customizing the Ribbon | 2163 When you release the mouse button, the item appears where the arrow was pointing. If nothing happens, you attempted to place the command in an unsupported position. For example, a separator must be placed on a panel or sub-panel; it cannot be the direct descendant of a tab. TIP After you add a ribbon control to the Existing UI list, it might not be obvious what type of control it is. For example, the sets of properties for the Button and Toggle Button controls are quite similar. Thus it’s recommended that you enter the control type in the Description field, as a reminder, immediately after adding the control to the UI. The Description property is purely internal and does not affect the command functionality at all. Additional editing functions are available within the Existing UI list, as follows: ■ To change an item’s position on the ribbon, drag it from the original location in the list to the desired location. ■ To duplicate an item, Shift+drag it to a different location. The duplicated item has no connection to the original; changing a setting for one does not affect the other. ■ To delete an item, highlight the item and press Delete. Procedures To create a shortcut to a particular ribbon panel: Using features available on the Customize Ribbon and Customize User Interface (CUI) dialogs, you can set a keyboard shortcut, toolbar button, or menu item 2164 | Chapter 10 Surface Modeling to open a specific ribbon panel. Twenty of these shortcuts are available. This procedure shows how to do it. 1 In the Customize Ribbon dialog > Existing UI list, find and highlight the panel to link to a CUI action. By default, the Ribbon Panel No. property for the panel is set to 0, which means that it’s currently unavailable for linking to a shortcut. 2 Set the Properties list > Standard group > Ribbon Panel No. property to a value between 1 and 20, inclusive. Be sure to press Enter or Tab after doing so to commit the change. 3 On the menu bar, choose Customize > Customize User Interface. The Customize User Interface dialog opens. 4 On the Customize User Interface dialog, open the panel for the type of user-interface element to which to assign the panel: Keyboard, Toolbars, Quad, or Menu. 5 From the Categories list, choose the Ribbon item. The Action list shows 20 numbered Ribbon Panel items. 6 Customize the action whose number corresponds to the number you set for the Ribbon Panel No. property in step 2. For example, if you set Ribbon Panel No. to 1, you’d use the Ribbon Panel #1 action. For example, on the Keyboard panel, assign a hotkey, or on the Toolbars panel, drag the action to a toolbar. 7 Close the Customize User Interface dialog. 8 Invoke the shortcut you set in step 6. The panel appears at the mouse cursor. You can now use it the same way you would on the ribbon. IMPORTANT The panel stays open only while the mouse cursor is over it. As soon as you move the mouse cursor away from the panel, it closes. Example: To customize the ribbon, part 1: The Customize Ribbon dialog provides a wide variety of tools for modifying the ribbon and creating new interface elements to suit your workflow precisely. Customizing the Ribbon | 2165 This two-part procedure demonstrates some techniques you might find useful in doing so. 1 Start or reset 3ds Max, and make sure no objects are selected. 2 Maximize the ribbon, if necessary, so you can see the contents of the Polygon Modeling panel on the Graphite Modeling Tools tab. 3 Right-click an empty area of the ribbon and choose Ribbon Configuration ➤ Customize Ribbon. The Customize Ribbon dialog on page 2177 opens. 4 In the center panel, Existing UI, click the arrow to the left of the single entry, Modeling Ribbon, to expand the second level of its hierarchy. You can now see the names of the four default tabs on the ribbon. 5 Expand the Graphite Modeling Tools item so you can see its child: Polygon Modeling. 2166 | Chapter 10 Surface Modeling This is the only panel currently available on the Graphite Modeling Tools tab. Next you’ll create an entirely new ribbon tab and populate it with a panel. 6 In the Ribbon Controls list on the left side of the dialog, find the Tab item and drag it over to the Existing UI list. Position it just below the lowest item in the list, Object Paint, and then release the mouse button. As you move the mouse over the Existing UI list, an arrow shows where the item you’re dragging will be dropped when you release the mouse button. If you pause for a few seconds over an expandable item, its hierarchy expands so you can then place the dragged item within the hierarchy. In this case, this is not desirable, so be sure to release the mouse button before the Object Paint hierarchy expands. If it does expand, release the mouse button (most likely nothing will be added), close the hierarchy, and try again. TIP You can still add the new panel at the end of the list, even if the panel hierarchy expands, by positioning the mouse cursor there and moving it all the way to the left. A new item named “New Tab” appears at the end of the list. Also, a tab with the same name has been added to the ribbon. 7 Highlight the New Tab item, if necessary, and look at the Properties panel on the right side of the dialog. The Title property is defined as New Tab. This is the default name given to new tabs. Customizing the Ribbon | 2167 8 In the field that contains the text “New Tab,” double-click the word “New” so it highlights, and then on the keyboard, type My followed by a space, and then press Tab. The new ribbon tab is now named “My Tab.” 9 Press and hold the Shift key, and then drag the Polygon Modeling item in the Existing UI list (under Graphite Modeling Tools) to just below the My Tab item. Before you release the mouse button, make sure a + icon appears on the cursor, as shown in the following illustration. 2168 | Chapter 10 Surface Modeling A copy of the Polygon Modeling panel item appears as a child of My Tab item. You can confirm the copy by clicking the My Tab tab on the ribbon. You’ve just populated your tab! NOTE This feature works similarly to Shift+cloning an object in the viewport. The main difference is that you’re not given the opportunity to make the copy an instance or reference; it’s always a standard copy. 10 Expand the copied-panel hierarchy. This level of the hierarchy contains two sub-panels separated by a panel break. (A sub-panel, which uses the icon, is a section of a panel that usually contains related tools.) The first sub-panel, named [C: poly main H,M], contains the visible part of the panel. The second sub-panel, after the panel break, contains the expansion that opens when you click the panel title on the ribbon. NOTE You might be wondering about the initials in the name of the first sub-panel in the preceding illustration. These initials come from a naming convention that indicates conditional attributes of the sub-panel, and were entered manually in the Name property; they are not generated procedurally. It’s a good idea to use the Name property to indicate the contents and visibility conditions of the sub-panel for your own reference. In this naming convention, the C stands for “conditional” and the H, V and/or M show the conditions: horizontal or vertical (ribbon orientation) and/or minimized. The naming convention can also reflect other conditions such as the current sub-object level. The second part of this procedure covers conditional attributes. 11 Expand the “poly main” sub-panel. Customizing the Ribbon | 2169 You can now see three more sub-panels nested within, with separators between each. These define the three areas within the Polygon Modeling panel, which are arranged horizontally. You’ll delete the center sub-panel, labeled [stack navigation], because, really, who needs to navigate the stack? 12 Click the [stack navigation] element to highlight it, and then press Delete. The [stack navigation] sub-panel has vanished from the hierarchy and from the copy of the Polygon Modeling panel. 13 On the ribbon, check the original Polygon Modeling panel on the Graphite Modeling Tools tab to ensure the [stack navigation] sub-panel is still there (who knows; you might need it someday), and then return to the copy. 14 Also delete the [separator: Spacer] item. The right-hand sub-panel, [command panel tools], moves slightly to the left. 15 Try to undo this deletion by pressing Ctrl+Z. Nothing happens. 2170 | Chapter 10 Surface Modeling IMPORTANT Edits to the ribbon cannot be undone. However, you can back out any changes made during the current session by clicking Cancel, or by closing the dialog and not saving the changes. In any case, it’s important to make and keep backup copies of everything. For this procedure, you can rely on the backup copy of the original ribbon that 3ds Max keeps automatically, which you can restore with the Reset Ribbon to default on page 1995 command. 16 Highlight the copy of the Polygon Modeling panel, under My Tab, and rename it My Polygon Modeling with the Title property. Don’t forget to press Tab or Enter to commit the text editing. 17 Near the bottom-right corner of the Customize Ribbon dialog, click the Save As button, enter the file name MyRibbon, and then click Save. TIP If you close the Customize Ribbon dialog without saving your changes, 3ds Max prompts you to save them. If you choose not to, the ribbon returns to the previously saved changes. So far you’ve learned how to create a new ribbon tab, how to populate it with a copy of an existing panel, and how to edit the panel. In the next part you’ll create a new panel and populate it with ribbon tools from existing 3ds Max commands. Example: To customize the ribbon, part 2: This procedure follows directly from the previous one; if you haven’t followed part 1, please do so now and then continue on to this one. In this procedure you’ll create a new panel and populate it with commands to create objects and modify them. 1 From the Ribbon Controls section in the bottom-left area of the Customize Ribbon dialog, drag a Panel control to just below the My Polygon Modeling panel. Customizing the Ribbon | 2171 A new panel with the default name New Panel appears in the list and on the ribbon. 2 Use the Title property to rename the panel Create & Modify. 3 In the Action Items section of the Customize Ribbon dialog, open the Category list and choose Objects Primitives. The list changes to show all available object primitives. 4 Scroll down to the Teapot entry, and then drag it to the Create & Modify panel entry in the Existing UI list. The Teapot command appears in the list and on the new panel in the ribbon. The name “Teapot” appears in the list, but not on the ribbon. However, the default icon appears in both places. You can change the image, if you like, with the Icon property; this procedure doesn’t cover the details. 5 Turn on the Show Text property for the Teapot item. Now the name “Teapot” appears next to the icon. The ribbon button has widened to fit both the icon and the label. 2172 | Chapter 10 Surface Modeling 6 Also add the Torus command and turn on its Show Text property. The two buttons sit side by side on the panel, which widens to fit. But what if you want them to be arrayed vertically? 7 From the Ribbon Controls list, drag the Row Break item between the Teapot and Torus entries in the Existing UI list. Row Break works just like pressing Enter in a word processor, so the following content starts a new line. Now the two items appear in a vertical-list format, and the panel is more compact. Next you’ll add a modifier that you can apply to any object. 8 In the Existing UI list, add another Row Break control after the Torus item. Customizing the Ribbon | 2173 9 In the Action Items list, set Category to Modifiers, and then drag the Bend Modifier item to just below the second Row Break. TIP To enable the Bend modifier, select an object in the scene. 10 Turn on the Show Text property for the Bend Modifier item. Now your Create & Modify panel provides a list of three items: two objects and a modifier. This presents a design problem, because objects and modifiers differ functionally. It’s best to separate them in the interface, even if they’re on the same panel. One way to do that is with the sub-panel control, which lets you create parallel sections on a panel. 11 From the Ribbon Controls list, drag a Sub-Panel control to anywhere on the Create & Modify section of the Existing UI list, and then add a second sub-panel. If the second sub-panel appears as a child of the first (that is, indented), just drag it to the left to move it to the same hierarchy level as the other panel items. 12 Drag the Teapot and Torus items to the first sub-panel, and then drag either Break item between them. Drag the Bend Modifier item to the second sub-panel, and delete the second Break. Now the objects appear on the left side of the panel, while the modifier is on the right. 2174 | Chapter 10 Surface Modeling You might want to have different groups of related modifiers presented in drop-down lists; this is easily achievable with the Split Button control. 13 From the Ribbon Controls list, drag a Split Button control to just below the second sub-panel entry in the Existing UI list, and drag the Bend modifier onto the split button. 14 Also, from the Action Items list, add the Taper Modifier and Twist Modifier actions to the split button. The order is unimportant. 15 In the Existing UI list, click the Split Button control and turn on the Show Text property. No text shows yet because none of the modifiers is active. 16 Select an object in the scene, if necessary, and then on the Create & Modify panel, click the arrow on the right side of the drop-down list to open the list. Choose any modifier from the list. The modifier name appears on the split button and the modifier is applied to the selected object. To save space on the panel, you can make the modifier split button appear only under certain conditions. 17 With the split button control highlighted in the Existing UI list, click the True button to the right of the Visible property in the Properties list. A drop-down list opens with the choices True, False, and Conditional. 18 Choose Conditional from the list. The Conditions For Visible dialog opens. You use this dialog to specify the conditions under which the control will be visible; in other conditions, it doesn’t appear. You can reopen the dialog later to change the conditions by clicking the [...] button on the right side of the property. Customizing the Ribbon | 2175 19 On the Conditions For Visible dialog, under Selection States, turn on both items: Editable Poly Selected and Edit Poly Selected. This means the control will appear only when an editable poly object or an object with an Edit Poly modifier is selected. Of course, most modifiers can be applied to any geometry, so if you’re familiar with MAXScript, you could script that condition via the Maxcript field or the Open Editor button on the Conditions For Visible dialog. 20 Close the Conditions For Visible dialog and then select and deselect an editable poly or Edit Poly object in the scene to make the drop-down list (split button) on the Create & Modify panel appear and disappear. You can also set conditions for the Enabled property. In that case, if a condition isn’t met, the item is visible but not available (that is, grayed out). 21 On the Customize Ribbon dialog, click Save As and save the ribbon with the same filename as before (MyRibbon), then exit the dialog by clicking (the Close button in the top-right corner). 3ds Max asks if you want to save the changes. If you click No, the program loads the default ribbon configuration. If you click Yes, your edits are saved to the default ribbon and load whenever you restart the program. To return to the standard ribbon, right-click the ribbon and choose Ribbon Configuration ➤ Reset Ribbon To Default. In this two-part procedure you’ve learned how to modify the existing ribbon, add new components, and set conditions for visibility. There’s much more to customizing the ribbon, of course; we encourage you to read the rest of this section and then experiment on your own. Remember, you can always return to the default ribbon with the Ribbon Configuration ➤ Reset Ribbon To Default command on the ribbon right-click menu. 2176 | Chapter 10 Surface Modeling Interface Overall Interface The Customize Ribbon dialog window functions like most other dialogs. To resize it, drag an edge or corner, and to reposition, drag the title bar. To collapse or expand a section, click the triangle at the right end of its header. To change the proportions between sections, drag the vertical or horizontal divider. Although the right-hand column contains sections, the Preview Window is a fixed size, so the only way to give the Properties section more vertical room is to collapse The Preview Window. The dialog user interface comprises five main areas plus several buttons. This section describes the areas and, where necessary, provides links to sections with further explanation. Action Items This section lists all the 3ds Max functions you can assign as ribbon controls, and provides most of the same features as the equivalent on the Customize User Interface dialog on page 8837. To add a command to the ribbon, first choose its group and category from the Group and Category lists, then find it in the Action list and drag it to the Customizing the Ribbon | 2177 appropriate location in the Existing UI hierarchy in the center of the Customize Ribbon dialog. When you add a command to the ribbon in this way, it creates a button. The behavior of the button depends on the nature of the command as defined in the software. For example, the button for a geometric primitive such as Box remains on when clicked, so that you can create several boxes in succession. On the other hand, a button for a modifier activates only momentarily, applying the modifier to the selected object. Ribbon Controls Lists all user-interface elements (independent of specific commands) you can add to the ribbon. For descriptions of these, see Ribbon Controls on page 2179. Existing UI A tree view, or hierarchical list, of the ribbon user interface. To expand or collapse a tree branch, click the arrow next to the parent item. The arrow for a collapsed branch appears as a gray outline pointing to the right; for an expanded branch, the arrow is black and points to the bottom-right. By default, the list contains only features currently active in the ribbon. For example, if no object is selected, the Graphite Modeling Tools branch contains only the Polygon Modeling panel, but if an editable poly object is selected, a number of additional panels appear in that branch. Alternatively, to display all ribbon contents regardless of the current program status, turn on the Show All Hidden UI toggle below the Existing UI list. Typically you’ll want to keep that off, though. If an item’s name is green, its Available or Visible propertyhas been set to Conditional. For details, see Conditions dialog on page 2185. Preview Window Shows the panel of the highlighted item in the Existing UI list, including the panel name. When a tab is highlighted in the list, no preview is available. The preview window is interactive to a limited extent: Clicking an item highlights it in the Existing UI list and shows its properties in the Properties section. Similarly, clicking an item in the Existing UI list highlights its visual representation in the preview window. Also, hovering the mouse above a preview item shows the tooltip, if available. However, the preview window does not support changing settings or opening drop-down lists. Properties Shows all available settings for the highlighted item in the Existing UI list. 2178 | Chapter 10 Surface Modeling The Properties settings are self-documented with tooltips on the Customize Ribbon dialog, so they aren’t described in detail here. A few general notes, however: ■ In some cases, after changing a property value, you need to confirm the change by moving to another field, either by pressing Enter or Tab or clicking a different property. ■ To change the icon or large icon for a UI element, click the [...] button in the corresponding property for the element and choose a different ICO file. ■ To reset a property to its default value, if available, click the X button on the right side of the value field. ■ The Enabled, Visible, and Available properties usually have a drop-down list of possible settings: True, False, and Conditional. In the latter case, you set the conditions with the Conditions dialog on page 2185. ■ In general, the ribbon tries to keep everything on screen. When the ribbon changes size for any reason, depending on the available space or the size of the ribbon, panels collapse, but first panels and sub-panels resize by any combination of reducing the width, hiding text, and changing icon size. At the default Priority value of 100 for any Collapse or Resize property, the collapsing or resizing happens last to first. You can set a specific priority for any element by changing the value from 100. Then, higher Priority values retain the default size longer. For some elements you can set a Resize Style property that determines how or whether they resize. TIP To learn how a particular property works, examine the property in existing controls of the same type. Try changing the setting (such as the spinner Maximum value) and observe how this affects the control’s behavior. As long as you don’t save, you’ll have a chance to revert all changes when you close the dialog. Ribbon Controls The Ribbon Controls interface provides the available user-interface elements, including organizing elements such as tabs and panels, and the controls themselves. To add a control to the ribbon, drag it from the Ribbon Controls list to the Existing UI list. The first six ribbon controls, which are used for organizing the ribbon, have specific icons that appear below and next to the control name on the Customize Ribbon dialog. These icons are “sticky” and remain the same even if you set a different icon via the Properties settings. Customizing the Ribbon | 2179 The remaining controls (Button through Color Swatch) have customizable icons and are thus marked with a generic star icon in the Ribbon Controls list. To set an icon for one of these, after adding it to the ribbon, set its Icon (and, optionally, Large Icon) property by clicking the ... button and choosing an ICO to represent the element. This icon then appears in the Existing UI list and on the ribbon. Separator Creates a vertical divider between side-by-side elements within a panel or sub-panel. Typically you would place a separator between sub-panels to distinguish them as distinct areas. To set the visual appearance of the separator, use the Style property. Two types of separator are available: The Line and None styles create a thin vertical line, and the Spacer and Invisible styles create a thin vertical space. You can adjust the width and height of a separator via its properties. Row Break Starts a new row of controls. By default, adjacent elements within a panel or sub-panel appear in a single row in that space; use Row Break to create multiple rows. To create a columnar layout, place a Row Break between each pair of successive elements. Panel Break Creates a separate area below the panel (or, in the vertical ribbon, to its side). When the ribbon is maximized, you access the controls after a panel break by clicking the panel name, which opens an expansion area adjacent to the panel. When the ribbon is minimized, opening a panel displays all of its controls, including those after the panel break. A Panel Break control cannot be made conditional, so if you place conditional elements after a panel break, the result could be an empty expansion. Sub-Panel A sub-panel is a self-contained subgroup of controls within a panel or parent sub-panel. It works much the same as a panel (see following), except that by placing multiple sub-panels on a panel, you can create a neater arrangement of the panel contents. A sub-panel acts like a column on a multi-column page of text, or in a spreadsheet. All the items on the sub-panel line up on their left edges, assuming you place a Row Break control between each pair of items. You can find numerous examples of this usage on the default horizontal ribbon included with 3ds Max, as well as examples of nested sub-panels. For example, 2180 | Chapter 10 Surface Modeling on the Freeform tab (make sure you have an editable poly object selected), the PolyDraw panel includes two sub-panels. If you expand the first one, [C: polydraw H], you can see two [poly draw tools] sub-panels at the end, separated by a Spacer separator. And if expand these, you can see how the two columns of controls on the right side of the PolyDraw panel, headed respectively by Shapes and Topology, are arranged. You can nest sub-panels only once; in other words, you can put a sub-panel inside a sub-panel, but you cannot nest them any deeper than that. Panel A panel is a self-contained group of controls on a tab. Use the panel to organize related commands and properties into a single group. To save space, you can turn on the Collapsed property for a panel. You can also set a panel to be accessed quickly with a CUI shortcuts; for details, see this procedure on page 2164. By default, all controls in a panel appear in a row. To create multiple rows, insert row breaks. For example, to have a single column of controls on a panel, place a row break after each element except the last. Or, to have a 2 x 2 arrangement of controls within a panel, place two controls, then a row break, and then two more controls. However, unless all of the controls as displayed on the panel are all the same size, this might lead to an uneven arrangement. For a more symmetrical look to your panels, use sub-panels, as described preceding. Tab The tab is the top-level unit of organization in the ribbon, and generally contains a broad range of related tools. After adding a tab, populate it with panels, sub-panels, and controls. Button Creates an “empty” standard button as a placeholder for a specific command. A standard button typically is clicked once to invoke a command; an example is a button used to apply a modifier to an object. Once you add a button, you can define a function for it by dragging a non-toggle action from the Action Items list to its Command property. You can also create a custom command by assigning a macroScript to the Command property. For more information, see Advanced Usage on page 2184. Toggle Button Creates an “empty” toggle button as a placeholder for a specific command. A toggle button typically is clicked once to invoke a state, and then again to disable that state. An example of a toggle button is a button used to create an object primitive such as a box. Typically when creating a toggle button you would assign an alternate icon to emphasize the “on” state. An example in the ribbon is Show End Result. Customizing the Ribbon | 2181 Once you add a toggle button, you can define a function for it by dragging a toggle action from the Action Items list to its Command property. You can also create a custom toggle action for it with a macroScript assigned to the Command property. For more information, see Advanced Usage on page 2184. Checkbox Creates an “empty” check box as a placeholder for a specific command. A standard check box typically is clicked once to toggle a state; an example is the Full Interactivity check box on the Polygon Modeling panel. Once you add a check box, you can define a function for it with a macroScript assigned to the Command property. For more information, see Advanced Usage on page 2184. Split Button Creates a “container” for a drop-down command list. An example is the Paint On control on the Object Paint tab ➤ Paint Objects panel. Once you add a Split Button control, populate it with child items by dragging the actions onto the Split Button control (see this procedure on page 2165). You can also define a function for it with a macroScript assigned to the Command property. For more information, see Advanced Usage on page 2184. Checklist Button Creates a “container” for a drop-down list of check boxes. An example is the Similar control on the Graphite Modeling Tools tab ➤ Modify Selection panel. Once you add a Checklist Button control, populate it with Checkbox controls by dragging them onto the Checklist Button control. You can also define a function for it with a macroScript assigned to the Command property. For more information, see Advanced Usage on page 2184. Label Use to add a text descriptor or an icon (or both) for controls that don’t have their own labels, or whose default labels are disabled. An example of text label is the Contraints label for the row of buttons on the Edit panel. An example of an icon-only label is the icons for the color swatches in the Properties panel of a vertical ribbon. Spinner Creates a standard spinner control consisting of a numeric field and up/down arrow buttons for changing the spinner value with the mouse. Once you add a spinner, you can define a function for it with a MAXScript script assigned to the Maxscript property. For more information, see Advanced Usage on page 2184. Color Swatch Creates a standard color swatch control that the user clicks to edit the color using the Color Selector dialog. Once you add a color swatch, you can define a function for it with a MAXScript script assigned to the Maxscript property. For more information, see Advanced Usage on page 2184. 2182 | Chapter 10 Surface Modeling Buttons The Customize Ribbon dialog buttons provide controls for saving and loading ribbon configurations, plus toggling the display of all UI items. Show All Hidden UI By default, the Existing UI list shows only interface elements currently visible in the ribbon, based on conditions. For example, sub-panels with the Horizontal condition are usually hidden in the vertical ribbon. To make all ribbon elements available for editing, regardless of conditions, turn on Show All Hidden UI. TIP When Show All Hidden UI is on, it can be difficult to find a specific item for editing. To make it easier to find a particular interface element, place 3ds Max in a state that makes the desired ribbon elements visible, and edit with Show All Hidden UI off. Load Opens a file dialog for loading a ribbon scheme file, which uses the filename extension .ribbon. Typically you would use this to load a custom ribbon that you saved previously with Save As (see following). Save As Opens a file dialog for saving the customized ribbon in a ribbon-configuration file, which uses the filename extension .ribbon. Use Load subsequently to restore this configuration. Save Saves any changes to the ribbon to the default startup ribbon configuration, not necessarily the same file saved with Save As. Available only when the ribbon has changed since the previous save or opening the dialog. TIP As noted, the Save command replaces the startup ribbon configuration with the customized ribbon. To return to the factory-default ribbon, right-click the ribbon and choose Ribbon Configuration ➤ Reset Ribbon To Default. Cancel Discards any changes made to the ribbon since opening the dialog or saving the ribbon. Available only when such changes exist. [close button] The close button is found in the top-right corner of the Customize Ribbon dialog, and, when clicked, closes the dialog. If you’ve made any unsaved changes, you’re prompted whether to save the changes. If you click Yes, the changes are saved to the default ribbon-configuration file and the dialog closes. If you click No, any changes subsequent to the last save (or opening the dialog, if you haven’t saved) are discarded. Customizing the Ribbon | 2183 Advanced Usage The Customize Ribbon feature is intended primarily for reorganizing the ribbon interface to suit your working methods and for adding existing 3ds Max commands from the Action Items list. While this feature provides for adding other types of custom controls such as check boxes and spinners, making these functional requires advanced knowledge and scripting ability, including writing macroScripts. That said, to learn more about the inner workings of the ribbon, it can be useful to examine some existing controls and see how they connect to underlying scripts. For example, using the Customize Ribbon dialog, find the UVW Tweak spinner in the bottom-left corner of the Edit panel on the Graphite Modeling Tools tab. IMPORTANT Proceed in this section only if you’re very familiar and comfortable with 3ds Max and computer programming. If you make a mistake, it’s possible to disrupt program functionality. For best insurance, make backup copies of all specified files and work only with the copies. In the Existing UI list or the Preview Window, click the spinner, and then scroll to the bottom of the Properties list. The Maxscript property is UVWTweakSpinnerCallback. In the \stdplugs\stdscripts folder in the program-install directory, use a text editor to open the file PolyTools.ms. Search in the file for the text “UVWTweakSpinnerCallback” (without quotes). The search should come up with the following: struct UVWTweakSpinnerCallback ( fn OnChanged iValue = ( PolyToolsUI.UVWTweakChannel = iValue ), fn getValue = ( PolyToolsUI.UVWTweakChannel ) ) This is the MAXScript code that connects the ribbon spinner with the 3ds Max software. It’s beyond the scope of this help to discuss the exact workings of the script, but you can find further information in the MAXScript Help, available from the Help menu. Similarly, other ribbon controls invoke a macroScript via the Command property. For example, using the Customize Ribbon dialog, find the Paint 2184 | Chapter 10 Surface Modeling toggle button on the Paint Objects panel on the Object Paint tab. The Command property value is ObjectPaint Paint, which toggles the Paint command for the Object Paint feature. You can find this command in the Action Items list ➤ Main UI group ➤ PolyTools category. To apply an action to a button, you just drag it from the Action Items list to the Command value in the button properties. The ObjectPaint Paint command, incidentally, is defined in the macroScript file Macro_PolyTools.mcr, found in the \UI\MacroScripts in the install directory. So, to define custom functionality for a Button or Toggle Button control, first write a macroScript for it, place the file in a directory from which 3ds Max automatically loads scripts at startup, and then restart 3ds Max so the command appears in the Action Items list. Next, add the button to the ribbon, find the command in the Action Items list, and drag the action to the Command property in the Properties section. Conditions Dialog Customize Ribbon dialog on page 2163 ➤ Highlight an element in the Existing UI list. ➤ Properties window ➤ Set Enabled, Visible, or Available property to Conditional. ➤ Click the [...] (ellipsis) button (to change conditions). Use the Conditions dialog to set conditions for enabling ribbon elements and controls or making them visible. The full name of the dialog is Conditions For Enabled, Conditions For Visible, or Conditions for Available, depending on the Customize Ribbon dialog property from which you invoked it. The three properties can be set to True, False, or Conditional, which returns either True or False based on the conditions. Those properties are: ■ Enabled: Refers to whether a control can be used or not; if a control is visible but not enabled, it is grayed out and can’t be accessed with the mouse. ■ Visible: Hides the control completely when set to False or if the conditions are not met. Conditional option is unavailable for panels and tabs. ■ Available: Toggles visibility in the ribbon right-click menu; available only for tabs and panels. If the Available conditions are not met, it is not present in the ribbon whether Visible is on or not. If you set multiple conditions, keep in mind that when any condition for a particular state, such as the ribbon layout, is met, it causes the condition to be satisfied. Customizing the Ribbon | 2185 For example, the Polygon Modeling panel has two different “poly main” sub-panels available. One of the “poly main” sub-panels has its Visible property set to Conditional: Horizontal (which implies maximized) or Minimized, which applies to either horizontal or vertical. The other sub-panel is set to Conditional: Vertical, which applies to the maximized vertical ribbon. When setting up different versions of a panel or sub-panel for different ribbon configurations, make sure the conditions for visibility don’t overlap. However, if you set multiple conditions for different states, such as ribbon layout and active sub-object level, at least one condition in each state must be met for the condition to be satisfied. TIP You can quickly see what the conditions are for a particular conditional control by holding the mouse over the Available or Visible setting (the Conditional button or the associated [...] button). After a brief pause, a tooltip opens that lists the conditions. IMPORTANT Any control set to True for Visible or Available always appears in any ribbon configuration in every state of 3ds Max. Interface The Conditions dialog offers a list of check boxes for choosing preset conditions for ribbon elements; you can also custom-tailor a condition using MAXScript. 2186 | Chapter 10 Surface Modeling Maxscript If none of the check box options reflects a condition you want to set, and you’re familiar with MAXScript, you can create a script to specify any conditions you like. Maxscript Enter a short MAXScript statement or function in this field to set a condition. The statement or function must evaluate to True or False (1 or 0). If True, the condition is met; if False, the condition is not met. To enter multiple lines after the first line, press Shift+Enter. For longer scripts, click the Open Editor button and use the editor window to define a function in a MAXScript file, and then enter the function name in Customizing the Ribbon | 2187 the Maxscript field. The function name as entered here must use the following format: [if the function is defined within a struct, specify the struct name followed by “.”][function name]() For example, you could use the function ValidSOMode to determine whether a valid sub-object level is active for the selected editable poly or Edit Poly object. This function is defined in the Ribbon_Modeling struct in the Ribbon_Modeling.ms MAXScript file, so you would enter the following in the Maxscript field: Ribbon_Modeling.ValidSOMode() If the function is not within a struct, you need specify only the function name followed by (). If you write a new function, be sure to evaluate the script before using the function as a condition. Following are some examples of statements you can use in the Maxscript field to set a condition, with explanations: ■ selection.count == 1Only one object is selected in the scene. Change the numeric value to specify a different selection count. ■ selection.count > 0 AND (for o in selection where superclassof o == Light collect o).count == selection.countOne or more light objects are selected in the scene, and only light objects are selected. ■ selection.count == 1 and selection[1].isAnimatedOnly one object is selected and the object is animated. ■ selection.count == 1 and selection[1].material != undefinedOnly one object is selected and the object has a material applied. ■ animButtonStateThe state of the Auto Key button: evaluates to True or False when Auto Key is on or off, respectively. NOTE This statement requires a viewport selection change (for example) to be reevaluated by 3ds Max. Open Editor Opens a MAXScript editor window. For more information about using the editor, see the MAXScript help, available from the 3ds Max Help menu. NOTE The script in the editor window does not define a condition. For details, see the definition of the Maxscript field, preceding. 2188 | Chapter 10 Surface Modeling Conditions Action Item Applies when a particular toggle command is active. For example, the Soft panel on page 2003, which provides controls for modifying how Soft Selection works, is available only when the Use Soft Selection command is active. When you click this item, a dialog opens that lets you choose an action item to define the condition. The dialog is organized the same way as the Action Items window on the Customize Ribbon dialog. Find the command and then double-click it to apply it to the Action Item condition. The command’s name then appears in parentheses next to “Action Item” on the dialog. Ribbon Layout Horizontal Applies when the ribbon orientation is horizontal and maximized. Vertical Applies when the ribbon orientation is vertical and maximized. Minimized Applies when the ribbon is minimized. Selection States Typically, if you enable either of these, enable the other as well. This is the case for the Available property in most panels on the Graphite Modeling Tools, Freeform, and Selection tabs on the ribbon. Editable Poly Selected Applies when a single editable poly object is selected and .3ds Max is in Modify mode. Edit Poly Selected Applies when a single Edit Poly object (that is, an object with the Edit Poly modifier applied) is selected and .3ds Max is in Modify mode. Selected Object States Soft Selection Enabled Applies when Use Soft Selection on the Polygon Modeling panel is active. NURMS Subdivision Enabled Applies when Use NURMS on the Edit panel is active. Slice Mode Enabled Applies when the Slice Plane tool on the Geometry (All) panel is active. Tweak UVW Enabled Applies when Tweak on the Edit panel is active. Subdivision Displacement Enabled Applies when Use Displacement on the Subdivision panel is active. Customizing the Ribbon | 2189 Sub-object Modes Object Applies when no sub-object level is active. Vertex Applies at the Vertex sub-object level of editable poly and Edit Poly objects. Edge Applies at the Edge sub-object level of editable poly and Edit Poly objects. Border Applies at the Border sub-object level of editable poly and Edit Poly objects. Polygon Applies at the Polygon sub-object level of editable poly and Edit Poly objects. Element Applies at the Element sub-object level of editable poly and Edit Poly objects. Editable Mesh Surface Create or select an object. ➤ Quad menu ➤ Transform quadrant ➤ Convert To: submenu ➤ Editable Mesh Create or select an object. ➤ Modify panel ➤ Right-click the base object in the stack. ➤ Convert to: Editable Mesh Create or select an object. ➤ Collapse Selected button Utilities panel ➤ Collapse button ➤ Editable Mesh on page 9143, like the Edit Mesh modifier, provides controls for manipulating a mesh object made up of triangular faces as an object and at three sub-object levels: vertex, edge and face. You can convert most objects in 3ds Max to editable meshes, but for open spline objects, only vertices are available, because open splines have no faces or edges when converted to meshes. To make a sub-object selection on a non-editable mesh object (for example, a primitive) for passing up the stack to a modifier, use the Mesh Select modifier on page 1445. 2190 | Chapter 10 Surface Modeling Once you make a selection with Editable Mesh, you have these options: ■ Use the options supplied on the Edit Geometry rollout to modify the selection. Later topics discuss these options for each of the mesh components. ■ Transform or Shift+clone the selection, as with any object. ■ Pass the selection to a later modifier in the stack. You can apply one or more standard modifiers to the selection. ■ Use the options on the Surface Properties rollout to alter the surface characteristics of selected mesh components. NOTE Because Edit Mesh modifier functionality is almost identical to that of editable mesh objects, features described in the Editable Mesh topics also apply to objects with Edit Mesh applied, except as noted. TIP Editable Poly on page 2240 is similar to Editable Mesh, but lets you work with polygons of four or more sides, and provides a greater range of functionality. TIP You can exit most Editable Mesh command modes, such as Extrude, by right-clicking in the active viewport. See also: ■ Edit Modifiers and Editable Objects on page 990 ■ Modifying at the Sub-Object Level on page 991 ■ Modifier Stack Controls on page 8776 ■ Edit Mesh Modifier on page 1263 ■ Mesh Select Modifier on page 1445 Procedures To produce an editable mesh object: First select the object, and then do one of the following: ■ Right-click the object and choose Convert To Editable Mesh from the Transform quadrant. Editable Mesh Surface | 2191 Use the Collapse utility on page 1974. ■ ■ Apply a modifier to a parametric object that turns the object into a mesh object in the stack, and then collapse the stack. (For example, you can apply a Mesh Select modifier.) ■ Apply an Edit Mesh or Mesh Select modifier to an object. ■ Import a non-parametric object, such as that found in a 3DS file. ■ Import a 3ds Max object using Application menu on page 8579 ➤ Import ➤ Merge. Converting an object to an editable mesh removes all parametric controls, including the creation parameters. For example, you can no longer increase the number of segments in a box, slice a circular primitive, or change the number of sides on a cylinder. Any modifiers you apply to an object are collapsed as well. After conversion, the only entry left on the stack is "Editable Mesh." Maintaining an object's creation parameters: As described in the above procedure, you can convert an existing object to an editable mesh, which replaces the creation parameters in the stack with "Editable Mesh." The creation parameters are no longer accessible or animatable. If you want to maintain the creation parameters, you can use the following modifiers: ■ Edit Mesh Modifier on page 1263 ■ Mesh Select Modifier on page 1445 ■ Delete Mesh Modifier on page 1246 ■ Tessellate Modifier on page 1761 ■ Face Extrude Modifier on page 1372 ■ Affect Region Modifier on page 1098 Interface Modifier Stack display Show End Result Normally, if you apply a modifier such as Twist to an editable-mesh object and then return to the Editable Mesh stack entry, you 2192 | Chapter 10 Surface Modeling cannot see the effect of the modifier on the object's geometry. But if you turn on Show End Result while in sub-object level, you can see the original sub-object selection as a yellow mesh, the final object as a white mesh, and the original editable mesh as an orange mesh. Selection rollout See Selection Rollout (Editable Mesh) on page 2195. Named Selections Copy Places a named selection into the copy buffer. Paste Pastes a named selection from the copy buffer. For more information, see Named Selection Sets on page 204. Selection Information At the bottom of the Selection rollout is a text display giving information about the current selection. If no objects or more than one sub-object are selected, the text gives the number of objects and the type selected. If a single sub-object is selected, the text gives its identification number and type. NOTE When the current sub-object level is Polygon or Element, selection information is given in faces. Soft Selection rollout Soft Selection controls affect the action of sub-object Move, Rotate, and Scale functions. When these are on, 3ds Max applies a spline curve deformation to unselected vertices surrounding the transformed selected sub-object. This provides a magnet-like effect with a sphere of influence around the transformation. For more information, see Soft Selection Rollout on page 1966. Edit Geometry rollout The Edit Geometry rollout on page 2218 provides various controls for editing an editable mesh object and its sub-objects. For information specific to the different sub-object levels, see the topics in this section. Editable Mesh Surface | 2193 Working with Mesh Sub-Objects This topic describes how to work with sub-object selections when you are editing an Editable Mesh on page 2190. See also: ■ Edit Modifiers and Editable Objects on page 990 ■ Modifying at the Sub-Object Level on page 991 ■ Modifier Stack Controls on page 8776 ■ Editable Mesh on page 9143 ■ Editable Poly on page 9143 Selecting and Transforming In selecting and transforming sub-object geometry, you use standard techniques: ■ Clicking any vertex, edge, or face/polygon/element selects it. ■ Holding down Ctrl lets you add to or subtract from the selection with single clicks. ■ Holding down Alt lets you a subtract from the selection with single clicks, or with Window/Crossing selections. ■ Beginning a selection outside the object starts a region selection. Holding down Ctrl during region selection lets you add to the selection. Once you’ve made a sub-object selection, you can use the Spacebar to lock the selection while you’re working with it. Using Sub-Object Selection With either an editable mesh (or Edit Mesh modifier) or a Mesh Select modifier, you can store three separate sub-object selections: one for each selection level (vertex, face, and edge). These selection sets are saved with the file. With sub-object selections, you have these options: ■ Choose one of the selection sets to pass geometry up the stack to other modifiers. Only one selection set is active at a time. ■ Change to one of the other selection sets at any time. 2194 | Chapter 10 Surface Modeling ■ Use named selection sets on page 204for sub-object geometry you want to reuse. In modeling a character head, for example, you might have a number of different vertex selections for forehead, nose, and chin. Such selections can be difficult to re-create, so named sets give you easy access to the original selection when you want to rework a particular area. Cloning Sub-Object Geometry Using Shift+transform with a selection of vertices or faces displays the Clone Part Of Mesh dialog. This lets you determine whether you want to "Clone To Object" or "Clone To Element." Click the desired option, optionally giving the cloned object a new name, then click OK. ■ If you choose Clone To Object, the cloned copy becomes a plain mesh object, entirely separate from the original object. The new object is given the name in the field to the right of the Clone To Object radio button. ■ If you choose Clone To Element, the selection is cloned in its new position and remains part of the original object. Animating Sub-Object Geometry When you work with an editable mesh, you can directly transform and animate a sub-object selection. In effect, the selection works like any other object. Selection Rollout (Editable Mesh) The Selection rollout provides buttons for turning different sub-object levels on and off, working with named selections and handles, display settings, and information about selected entities. When you first access the Modify panel with an editable mesh selected, you're at the Object level, with access to several functions available as described in Editable Mesh (Object) on page 2198. You can toggle the various sub-object levels, and access relevant functions by clicking the buttons at the top of the Selection rollout. Clicking a button here is the same as selecting a sub-object type in the Modifier Stack display. Click the button again to turn it off and return to the Object selection level. The Selection rollout also allows you to display and scale vertex or face normals on page 9237 Selection Rollout (Editable Mesh) | 2195 Interface Vertex Turns on Vertex sub-object level, which lets you select a vertex beneath the cursor; region selection selects vertices within the region. Edge Accesses the Edge sub-object level, which lets you select the edge of a face or polygon beneath the cursor; region selection selects multiple edges within the region. At the Edge sub-object level, selected hidden edges are displayed as dashed lines, allowing for more precise selection. Face Accesses the Face sub-object level, which lets you select a triangular face beneath the cursor; region selection selects multiple triangular faces within the region. If a selected face has a hidden edge and Shade Selected Faces on page 8967 is off, the edge is displayed as a dashed line. Polygon Accesses the Polygon sub-object level, which lets you select all coplanar faces (defined by the value in the Planar Threshold spinner) beneath the cursor. Usually, a polygon is the area you see within the visible wire edges. Region selection selects multiple polygons within the region. 2196 | Chapter 10 Surface Modeling Element Accesses the Element sub-object level, which lets you select all contiguous faces in an object. Region selection lets you select multiple elements. By Vertex When on, and you click a vertex, any sub-objects (at the current level) that use that vertex are selected. Also works with Region Select. NOTE When By Vertex is on, you can select sub-objects only by clicking a vertex, or by region. Ignore Backfacing When on, selection of sub-objects selects only those sub-objects whose normals are visible in the viewport. When off (the default), selection includes all sub-objects, regardless of the direction of their normals. NOTE The state of the Backface Cull setting in the Display panel does not affect sub-object selection. Thus, if Ignore Backfacing is off, you can still select sub-objects, even if you can't see them. Ignore Visible Edges This is enabled when the Polygon face selection method is chosen. When Ignore Visible Edges is off (the default), and you click a face, the selection will not go beyond the visible edges no matter what the setting of the Planar Thresh spinner. When this is on, face selection ignores the visible edges, using the Planar Thresh setting as a guide. Generally, if you want to select a "facet" (a coplanar collection of faces), you set the Planar Threshold to 1.0. On the other hand, if you're trying to select a curved surface, increase the value depending on the amount of curvature. ■ Planar Thresh(Planar Threshold) Specifies the threshold value that determines which faces are coplanar for Polygon face selection. Show Normals When on, 3ds Max displays normals on page 9237 in the viewports. Normals are displayed as blue lines. Show normals is not available in Edge mode. ■ ScaleSpecifies the size of the normals displayed in the viewport when Show is on. Delete Isolated Vertices When on, 3ds Max eliminates any isolated vertices when you delete a contiguous selection of sub-objects. When off, deleting a selection leaves all vertices intact. Not Available at the Vertex sub-object level. Default=on. Selection Rollout (Editable Mesh) | 2197 An isolated vertex is one that has no associated face geometry. For example, if Delete Isolated Vertices is off and you delete a rectangular selection of four polygons, all clustered about a single central point, the point remains, suspended in space. Hide Hides any selected sub-objects. Edges cannot be hidden. TIP The Select Invert command on the 3ds Max Edit menu is useful for selecting faces to hide. Select the faces you want to focus on, choose Edit ➤ Select Invert, then click the Hide button. Unhide All Restores any hidden objects to visibility. Hidden vertices can be unhidden only when in Vertex sub-object level. Editable Mesh (Object) Select an editable mesh object or object with the Edit Mesh modifier applied. ➤ Modify panel Select an editable mesh object. ➤ Quad menu ➤ Tools 1 quadrant ➤ Top-Level Editable Mesh (Object) controls are available when no sub-object levels are active. These controls are also available at all sub-object levels, and work the same at each level, except as noted in Edit Geometry Rollout (Mesh) on page 2218. 2198 | Chapter 10 Surface Modeling Interface Edit Geometry rollout See Edit Geometry Rollout (Mesh) on page 2218 for detailed descriptions of these controls. Editable Mesh (Object) | 2199 Surface Properties rollout Specifies surface approximation settings for subdividing the editable mesh. These controls work like the surface approximation settings for NURBS surfaces on page 2433. They are used when you apply a displacement map on page 6482 to the editable mesh. NOTE The Surface Properties rollout is available only for editable mesh objects; it does not appear in the Modify panel for an object to which the Edit Mesh modifier is applied. With Edit Mesh-modified objects, you can use the Disp Approx modifier on page 1251 to the same effect. Subdivision Displacement When on, faces are subdivided to accurately displace the mesh, using the method and settings you specify in the Subdivision Presets and Subdivision Method group boxes. When off, the mesh is displaced by moving existing vertices, the way the Displace modifier on page 1255 does. Default=off. Split Mesh Affects the seams of displaced mesh objects; also affects texture mapping. When on, the mesh is split into individual faces before it is displaced; this helps preserve texture mapping. When off, the mesh is not split and an internal method is used to assign texture mapping. Default=on. 2200 | Chapter 10 Surface Modeling TIP This parameter is required because of an architectural limitation in the way displacement mapping works. Turning Split Mesh on is usually the better technique, but it can cause problems for objects with clearly distinct faces, such as boxes, or even spheres. A box's sides might separate as they displace outward, leaving gaps. And a sphere might split along its longitudinal edge (found in the rear for spheres created in the Top view) unless you turn off Split Mesh. However, texture mapping works unpredictably when Split Mesh is off, so you might need to add a Displace Mesh modifier on page 1005 and make a snapshot on page 888 of the mesh. You would then apply a UVW Map modifier on page 1883 and then reassign mapping coordinates to the displaced snapshot mesh. Subdivision Presets group & Subdivision Method group The controls in these two group boxes specify how the displacement map is applied when Subdivision Displacement is on. They are identical to the Surface Approximation controls on page 2762 used for NURBS surfaces. Editable Mesh (Vertex) Select an editable mesh object. ➤ Modify panel ➤ Selection rollout ➤ Vertex Select an editable mesh object. ➤ Modify panel ➤ Modifier Stack display ➤ Expand Editable Mesh. ➤ Vertex Select an editable mesh object. ➤ Quad menu ➤ Tools 1 quadrant ➤ Vertex Vertices are points in space: they define the structure of faces. When vertices are moved or edited, the faces they form are affected as well. Vertices can also exist independently; such isolated vertices can be used to construct faces but are otherwise invisible when rendering. At the Editable Mesh (Vertex) sub-object level, you can select single and multiple vertices and move them using standard methods. See also: ■ Editable Mesh Surface on page 2190 Editable Mesh (Vertex) | 2201 Procedures To weld mesh vertices: You can use either of two methods to combine several vertices into one, also known as welding. If the vertices are very close together, use the Weld function. You can also use Weld to combine a number of vertices to the average position of all of them. Alternatively, to combine two vertices that are far apart, resulting in a single vertex that's in the same position as one of them, use Target Weld. TIP Welding vertices is considerably easier with poly objects. See this procedure: To weld polygon vertices: on page 1301 1 To use Weld: 1 On the Selection rollout, turn on Ignore Backfacing, if necessary. This ensures that you're welding only vertices you can see. 2 Select the vertices to weld. 3 If the vertices are very close together, go to the Edit Geometry rollout ➤ Weld group and click Selected. If that doesn't work (you get a No vertices within weld threshold. message), proceed to the next step. 4 Increase the numeric value to the right of the Selected button. This is the threshold value; the minimum distance that vertices can be apart from each other to be welded. 5 Click Selected again. At this point, one of three things happens: None, some, or all of the vertices are welded. If the latter, you're done. If either of the others occurs, proceed to the next step. 6 Continue increasing the threshold value and clicking Selected until all of the vertices are welded. 2 To use Target Weld: 1 On the Selection rollout, turn on Ignore Backfacing, if necessary. This ensures that you're welding only vertices you can see. 2 Find two vertices you want to weld, and determine the ultimate location of the resulting vertex. You can weld any two vertices, but 2202 | Chapter 10 Surface Modeling for best results the two should be contiguous; that is, they should be connected by a single edge. For this example, we'll call the vertices A and B, and the resulting vertex will be at vertex B's location. 3 Click the Target button. The button stays highlighted, to indicate that you're now in Target Weld mode. 4 Drag vertex A to Vertex B. While you're dragging, the mouse cursor image is a four-headed, +-shaped arrow. When over an eligible target vertex, the cursor changes to a crosshairs. TIP If you have trouble dragging in the proper direction, open the Axis Constraints toolbar on page 8627 and click the XY button. 5 Release the mouse button. The pair is welded. The resulting vertex remains at vertex B's position, and you exit Target Weld mode. TIP If you have trouble combining the two vertices, try increasing the Pixels value with the spinner to the right of the Target button. You remain in Target Weld mode, and can continue to weld pairs of vertices. 6 Exit Target mode by right-clicking in the active viewport or clicking the Target button again. To select vertices by color: 1 On the Surface Properties rollout, click the Existing Color swatch, and specify the color of vertex you want in the Color Selector. 2 Specify ranges in the RGB Range spinners. This lets you select vertices that are close to the specified color, but don't match exactly. 3 Click the Select button. All vertices matching the color, or within the RGB range, are selected. You can add to the selection by holding Ctrl as you click the Select button, and you can subtract from the selection by holding the Alt key. Editable Mesh (Vertex) | 2203 TIP You can select all vertices of the same color by first selecting the vertex you want matched, dragging a copy of the Edit Color swatch to the Existing Color swatch, and then clicking the Select button. (If you want an exact match, be sure to set the RGB Range spinners to 0 first.) Interface Selection rollout For information on the Selection rollout settings, see Editable Mesh on page 2193. Soft Selection rollout Soft Selection controls affect the action of sub-object Move, Rotate, and Scale functions. When these are on, 3ds Max applies a spline curve deformation to unselected vertices surrounding the transformed selected sub-object. This provides a magnet-like effect with a sphere of influence around the transformation. For more information, see Soft Selection Rollout on page 1966. 2204 | Chapter 10 Surface Modeling Edit Geometry rollout See Edit Geometry Rollout (Mesh) on page 2218 for detailed descriptions of these controls. Editable Mesh (Vertex) | 2205 Surface Properties rollout These controls let you set the weight and color for vertices. Weight Displays and lets you change vertex weights for NURMS operations (see MeshSmooth Modifier on page 1450). Edit Vertex Colors group Use these controls to assign the color, illumination color (shading), and alpha (transparency) values of selected vertices. Color Click the color swatch to change the color of selected vertices. Illumination Click the color swatch to change the illumination color of selected vertices. This lets you change the illumination of a vertex without changing the vertex's color. Alpha Lets you assign an alpha (transparency) value to selected vertices. The spinner value is a percentage; zero is completely transparent and 100 is completely opaque. Select Vertices By group Color/Illumination These radio buttons let you choose to select vertices by vertex color value or vertex illumination value. Set the desired options and then click Select. 2206 | Chapter 10 Surface Modeling Color Swatch Displays the current color to match. Click to open the Color Selector, where you can specify a different color. Select Depending on which radio button is selected, selects all vertices whose vertex color or illumination values either match the color swatch, or are within the range specified by the RGB spinners. Range Specifies a range for the color match. All three RGB values in the vertex color or illumination color must either match the color specified by the Color swatch in Select By Vertex Color, or be within a range determined by adding and subtracting the Range values from the displayed color. Default=10. For example, if you've chosen Color and set the color swatch to medium gray (R=G=B=128), and are using the default Range values of 10,10,10, then clicking the Select button selects only vertices set to RGB color values between 118,118,118 and 138,138,138. Editable Mesh (Edge) Select an editable mesh object. ➤ ➤ Modify panel ➤ Selection rollout (Edge) Select an editable mesh object. ➤ display ➤ Modify panel ➤ Modifier stack Expand the Editable Mesh entry. ➤ Edge Select an editable mesh object. ➤ Quad menu ➤ Tools 1 quadrant ➤ Edge An edge is a line, visible or invisible, forming the side of a face and connecting two vertices. Two faces can share a single edge. At the Editable Mesh (Edge) sub-object level, you can select single and multiple edges and transform them using standard methods. See also: ■ Editable Mesh Surface on page 2190 Editable Mesh (Edge) | 2207 Procedures To create a shape from one or more edges: 1 Select the edges you want to make into shapes. 2 On the Edit Geometry rollout, click Create Shape From Edges. 3 Make changes, as needed, on the Create Shape dialog that appears. ■ Enter a curve name or keep the default. ■ Choose Smooth or Linear as the Shape Type. ■ Turn on Ignore Hidden Edges to exclude hidden edges from the calculation, or turn this feature off. 4 Click OK. The resulting shape consists of one or more splines whose vertices are coincident with the vertices in the selected edges. The Smooth option results in vertices using smooth values, while the Linear option results in linear splines with corner vertices. When you region-select edges, all edges are highlighted, including hidden edges, which are displayed as dashed lines. As a default, the Create Shape function ignores the hidden edges, even though they're selected. Turn off Ignore Hidden Edges if you want to include the hidden edges in the calculation. If the selected edges are not continuous, or if they branch, the resulting shape will consist of more than one spline. When the Create Shape function runs into a branching 'Y' in the edges, it makes an arbitrary decision as to which edge produces which spline. If you need to control this, select only those edges that will result in a single spline, and perform Create Shape repeatedly to make the correct number of shapes. Finally, use Attach in the Editable Spline to combine the shapes into one. 2208 | Chapter 10 Surface Modeling Top: Original object Bottom: Object with edges selected Editable Mesh (Edge) | 2209 Top: Selected edges removed from original object Bottom: Unwanted edges removed Interface Selection rollout See Editable Mesh on page 2193 for information on the Selection rollout settings. 2210 | Chapter 10 Surface Modeling Soft Selection rollout Soft Selection controls affect the action of sub-object Move, Rotate, and Scale functions. When these are on, 3ds Max applies a spline curve deformation to unselected vertices surrounding the transformed selected sub-object. This provides a magnet-like effect with a sphere of influence around the transformation. For more information, see Soft Selection Rollout on page 1966. Editable Mesh (Edge) | 2211 Edit Geometry rollout See Edit Geometry Rollout (Mesh) on page 2218 for detailed descriptions of these controls. 2212 | Chapter 10 Surface Modeling Surface Properties rollout These controls affect the visibility of the edges. Invisible edges (also called construction lines) appear in the viewports when Edges Only is turned off in the Display command panel, or when you're editing at the Edge sub-object level. The visibility of edges is primarily of importance when an object is being rendered using a wireframe material. Visible Makes selected edges visible. Invisible Makes selected edges invisible, so they won't be displayed in Edges Only mode. Auto Edge group Auto Edge Automatically determines edge visibility based on the angle between the faces that share the edge, with the angle set by the Threshold spinner to its right. Clicking Auto Edge can have one of three effects, depending on which radio button is active (Set means to make an invisible edge visible; Clear means to make a visible edge invisible): ■ Set and Clear Edge VisCan change the visibility of all selected edges depending on the Threshold setting. ■ SetMakes previously invisible edges visible only if they exceed the Threshold setting; does not clear any edges. ■ ClearMakes previously visible edges invisible only if they are less than the Threshold setting; does not make any edges visible. Editable Mesh (Edge) | 2213 Editable Mesh (Face/Polygon/Element) Select an editable mesh object. ➤ ➤ (Face), (Polygon), or Select an editable mesh object. ➤ display ➤ Element Modify panel ➤ Selection rollout (Element) Modify panel ➤ Modifier stack Expand the Editable Mesh entry. ➤ Face, Polygon, or Select an editable mesh object. ➤ Quad menu ➤ Tools 1 quadrant ➤ Face, Polygon, or Element A face is the smallest possible mesh object: a triangle formed by three vertices. Faces provide the renderable surface of an object. While a vertex can exist as an isolated point in space, a face cannot exist without vertices. At the Editable Mesh (Face) level, you can select single and multiple faces and transform them using standard methods. This is also true for the Polygon and Element sub-object levels; for the distinctions between face, polygon, and element, see Editable Mesh ➤ Selection rollout on page 2193. See also: ■ Editable Mesh Surface on page 2190 Interface Selection rollout For information on the Selection rollout settings, see Editable Mesh on page 2193. Soft Selection rollout Soft Selection controls affect the action of sub-object Move, Rotate, and Scale functions. When these are on, 3ds Max applies a spline curve deformation to 2214 | Chapter 10 Surface Modeling unselected vertices surrounding the transformed selected sub-object. This provides a magnet-like effect with a sphere of influence around the transformation. For more information, see Soft Selection Rollout on page 1966. Edit Geometry rollout Editable Mesh (Face/Polygon/Element) | 2215 See Edit Geometry Rollout (Mesh) on page 2218 for detailed descriptions of these controls. Surface Properties rollout These controls let you work with face normals, material IDs, smoothing groups, and vertex colors. Normals group Flip Reverses the direction of the surface normals of the selected faces. Unify Flips the normals of an object so that they all point in the same direction, usually outward. This is useful for restoring an object's faces to their original orientations. Sometimes normals of objects that have come into 3ds 2216 | Chapter 10 Surface Modeling Max as part of a DXF file are irregular, depending on the methods used to create the objects. Use this function to correct them. Flip Normal Mode Flips the normal of any face you click. To exit, click this button again or right-click anywhere in 3ds Max interface. TIP The best way to use Flip Normal mode is to set up your viewport to display with Smooth+Highlight and Edged Faces on. If you use Flip Normal mode with default settings, you'll be able to flip a face away from you, but you won't be able to flip it back. For best results, turn off Ignore Backfacing in the Selection rollout. This lets you click any face and flip the direction of its normal, regardless of its current direction. Material group Set ID Lets you assign a particular material ID on page 9217 number to selected sub-objects for use with multi/sub-object materials on page 6542 and other applications. Use the spinner or enter the number from the keyboard. The total number of available IDs is 65,535. Select ID Selects sub-objects corresponding to the Material ID specified in the adjacent ID field. Type or use the spinner to specify an ID, then click the Select ID button. [Select By Name] This drop-down list shows the names of sub-materials if an object has a Multi/Sub-Object material assigned to it. Click the drop arrow and choose a sub-material from the list. The sub-objects that are assigned that material are selected. If an object does not have a Multi/Sub-Object material assigned, the name list is unavailable. Likewise, if multiple objects are selected that have an Edit Patch, Edit Spline, or Edit Mesh modifier applied, the name list is inactive. NOTE Sub-material names are those specified in the Name column on the material's Multi/Sub-Object Basic Parameters rollout; these are not created by default, and must be specified separately from any material names. Clear Selection When on, choosing a new ID or material name deselects any previously selected sub-objects. When off, selections are cumulative, so new ID or sub-material name selections add to the existing selection set of patches or elements. Default=on. Smoothing Groups group Use these controls to assign selected faces to different smoothing groups on page 9310, and to select faces by smoothing group. Editable Mesh (Face/Polygon/Element) | 2217 To assign faces to one or more smoothing groups, select the faces, and then click the number(s) of the smoothing group(s) to assign them to. Select by SG (Smoothing Group) Displays a dialog that shows the current smoothing groups. Select a group by clicking the corresponding numbered button and clicking OK. If Clear Selection is on, any previously selected faces are first deselected. If Clear Selection is off, the new selection is added to any previous selection set. Clear All Removes any smoothing group assignments from selected faces. Auto Smooth Sets the smoothing groups based on the angle between faces. Any two adjacent faces will be put in the same smoothing group if the angle between their normals is less than the threshold angle, set by the spinner to the right of this button. Threshold This spinner (to the right of Auto Smooth) lets you specify the maximum angle between the normals of adjacent faces that determines whether those faces will be put in the same smoothing group. Edit Vertex Colors group Use these controls to assign the color, illumination color (shading), and alpha (transparency) values of vertices on the selected face(s). Color Click the color swatch to change the color of vertices on the selected face(s). Assigning vertex colors at the face level prevents blending across the face(s). Illumination Click the color swatch to change the illumination color of vertices on the selected face(s). This lets you change the illumination without changing the vertex's color. Alpha Lets you assign an alpha (transparency) value to vertices on the selected face(s). The spinner value is a percentage; zero is completely transparent and 100 is completely opaque. Edit Geometry Rollout (Mesh) Select an editable mesh object. ➤ ➤ Choose any sub-object level. 2218 | Chapter 10 Surface Modeling Modify panel ➤ Selection rollout Select an editable mesh object. ➤ display ➤ level. Modify panel ➤ Modifier stack Expand the Editable Mesh entry. ➤ Choose any sub-object Select an editable mesh object. ➤ Quad menu ➤ Tools 1 quadrant ➤ Choose any sub-object level. The Edit Geometry rollout for Meshes contains most of the controls that let you alter the geometry of the mesh, at either the Object (top) level, or one of the sub-object levels. The controls that the rollout displays can vary, depending on which level is active; if a control is not available for the active level, it might be grayed out, or simply might not appear at all. The descriptions below indicate the levels at which controls are available. Edit Geometry Rollout (Mesh) | 2219 Interface Editing buttons Create Lets you add sub-objects to a single selected mesh object. Select an object, choose a sub-object level, click Create, and then click to add sub-objects. Available only at the Vertex, Face, Polygon, and Element levels only. 2220 | Chapter 10 Surface Modeling For example, at the Vertex sub-object level, Create lets you add free-floating vertices to the object. The new vertices are placed on the active construction plane. To create faces at the Face, Polygon, or Element level, click Create. All vertices in the object are highlighted, including isolated vertices left after deleting faces. Click three existing vertices in succession to define the shape of the new face. (The cursor changes to a cross when it is over a vertex that can legally be part of the face.) You can also create new faces at the Polygon and Element sub-object levels. At the Face and Element sub-object levels, a new face is created after every third click. At the Polygon sub-object level, you can continue clicking as many times as you like to add vertices to the new polygon. To finish drawing a new polygon, click twice, or click again on any existing vertex in the current polygon. At the Face, Polygon, and Element levels, you can add vertices while Create is on by Shift+clicking in an empty space; these vertices are incorporated into the face or polygon you're creating. You can start creating faces or polygons in any viewport, but all subsequent clicks must take place in the same viewport. TIP For best results, click vertices in counterclockwise (preferred) or clockwise order. If you use clockwise order, the new polygon will be facing away from you, and you won’t be able to see it unless you’ve turned on Force 2-Sided or are using a two-sided material. Delete (sub-object levels only) Deletes selected sub-objects and any faces attached to them. Attach Lets you attach another object in the scene to the selected mesh. You can attach any type of object, including splines, patch objects, and NURBS surfaces. Attaching a non-mesh object converts it to a mesh. Click the object you want to attach to the currently selected mesh object. When you attach an object, the materials of the two objects are combined in the following way: ■ If the object being attached does not have a material assigned, it inherits the material of the object it is being attached to. Edit Geometry Rollout (Mesh) | 2221 Handle inherits material from the cup it is being attached to. ■ Likewise, if the object you're attaching to doesn't have a material, it inherits the material of the object being attached. ■ If both objects have materials, the resulting new material is a multi/sub-object material on page 6542 that encompasses the input materials. A dialog appears offering three methods of combining the objects' materials and material IDs. For more information, see Attach Options Dialog on page 2232. 2222 | Chapter 10 Surface Modeling Upper left: Shaded view of model Upper right: Wireframe view of model Lower left: Model with objects attached Lower right: Subsequent multi/sub-object material Attach remains active in all sub-object levels, but always applies to objects. Edit Geometry Rollout (Mesh) | 2223 Attach List (Object level only) Lets you attach other objects in the scene to the selected mesh. Click to open the Attach List dialog, which works like Select From Scene on page 184 to let you choose multiple objects to attach. Detach (Vertex and Face/Polygon/Element levels only) Detaches the selected sub-object as a separate object or element. All faces attached to the sub-object are detached as well. A dialog appears, prompting you to enter a name for the new object. The dialog has a Detach As Clone option that copies the faces rather than moving them. Detached faces leave a hole in the original object when you move them to a new position. Break (Vertex level only) Creates a new vertex for each face attached to selected vertices, allowing the face corners to be moved away from each other where they were once joined at the original vertex. If a vertex is isolated or used by only one face, it is unaffected. Turn (Edge level only) Rotates the edge within its bounding. All mesh objects in 3ds Max are composed of triangular faces, but by default, most polygons are depicted as quadrilaterals, with a hidden edge dividing each quad into two triangles. Turn lets you change the direction in which the hidden edge (or any other) runs, thus affecting how the shape changes when you transform sub-objects directly, or indirectly with a modifier. Divide (Face/Polygon/Element levels only) Subdivides faces into three smaller faces. This function applies to faces even if you're at the Polygon or Element sub-object level. Click Divide, and then select a face to be divided. Each face is subdivided where you click it. You can click as many faces as you want divided, in sequence. To stop dividing, click Divide again to turn it off, or right-click. Extrude, Chamfer, and Bevel group The Extrude controls let you extrude edges or faces. Edge extrusion works in a fashion similar to face extrusion. You can apply extrusion interactively (by dragging on sub-objects) or numerically (using spinners). 2224 | Chapter 10 Surface Modeling Extruded edges seen in viewport and rendered image Extrude (Edge and Face/Polygon/Element levels only) Click this button and then either drag to extrude the selected edges or faces, or adjust the Extrude spinner to perform the extrusion. You can select different sub-objects to extrude while Extrude is active. ■ Extrude AmountThis spinner (to the right of the Extrude button) lets you specify the amount to extrude the edge. Select one or more edges, and then adjust the spinner. Edit Geometry Rollout (Mesh) | 2225 The Chamfer controls are available only at the Vertex and Edge sub-object levels. They let you bevel object corners using a chamfer function. You can apply this effect interactively (by dragging vertices) or numerically (using the Chamfer spinner). Chamfer (Vertex and Edge levels only) Click this button, and then drag vertices or edges in the active object. The Chamfer Amount spinner updates to indicate the chamfer amount as you drag. If you drag one or more selected vertices or edges, all selected sub-objects are chamfered identically. If you drag an unselected vertex or edge, any selected sub-objects are first deselected. A chamfer "chops off" the selected sub-objects, creating a new face connecting new points on all visible edges leading to the original sub-object. Chamfer Amount specifies the exact distance from the original vertex along each of these edges. New chamfer faces are created with the material ID of one of the neighboring faces (picked at random) and a smoothing group that is an intersection of all neighboring smoothing groups. For example, if you chamfer one corner of a box, the single corner vertex is replaced by three vertices moving along the three visible edges that lead to the corner. 3ds Max rearranges and splits the adjacent faces to use these three new vertices, and creates a new triangle at the corner. ■ Chamfer AmountAdjust this spinner (to the right of the Chamfer button) to apply a chamfer effect to selected vertices. ■ Normal (Edge and Face/Polygon/Element levels only)Determines how a selection of more than one edge is extruded. With Normal set to Group (the default), extrusion takes place along the averaged normal of each continuous group (line) of edges. If you extrude multiples of such groups, each group moves along its own averaged normal. If you set Normal to Local, extrusion takes place along each selected edge's normal. Beveling, available only at the Face/Polygon/Element levels, is a second step to extrusion: it lets you scale the faces you have just extruded. 2226 | Chapter 10 Surface Modeling TIP A similar operation is Inset on page 1344, which Editable Poly has but Editable Mesh doesn't. When you inset a polygon, you create another, smaller polygon of the same proportions inside the borders of an original polygon, in the plane of the original. Essentially, it's a bevel with no height. You can achieve this in Editable Mesh with the following procedure: 1 Select the polygon to inset. 2 Right-click the spinner all the way to the right of the Extrude button. This performs an extrusion with no height, thus creating a new polygon plus connecting polygons in the same position as the original. 3 Set a negative Bevel value using the numeric field or the spinner. This insets the new polygon created by the extrusion without changing its height. Chamfer box showing extruded face Edit Geometry Rollout (Mesh) | 2227 Extruded face beveled in two different directions You can bevel faces by dragging or by using keyboard/spinner entry. Bevel (Face/Polygon/Element levels only) Click this button, and then drag vertically on any face to extrude it. Release the mouse button and move the mouse vertically to bevel the extrusion. Click to finish. ■ When over a selected face, the mouse cursor changes to a Bevel cursor. 2228 | Chapter 10 Surface Modeling ■ With multiple faces selected, dragging on any one bevels all selected faces equally. ■ You can drag other faces in turn to bevel them while the Bevel button is active. Click Bevel again or right-click to end the operation. Outlining This spinner (to the right of the Bevel button) lets you scale selected faces bigger or smaller, depending on whether the value is positive or negative. It is normally used after an extrusion for beveling the extruded faces. Cut and Slice group Lets you subdivide edges with either cut or slice tools to create new vertices, edges, and faces. For details, see Cut and Slice (Editable Mesh) on page 2234. NOTE At the Vertex sub-object level, Slice is available but Cut is not. Weld group (Vertex level only) Selected Welds selected vertices that fall within the tolerance specified in the Weld Threshold spinner (to the button's right). All line segments become connected to the resulting single vertex. Target Enters weld mode, which allows you to select vertices and move them around. While moving, the cursor changes to the Move cursor as usual, but when you position the cursor over an unselected vertex the cursor changes to a + cursor. Release the mouse at that point to weld all selected vertices to the target vertex they were dropped on. The pixels spinner to the right of the Target button sets the maximum distance in screen pixels between the mouse cursor and the target vertex. Tessellate group (Face/Polygon/Element levels only) Use these controls to tessellate (subdivide) selected faces. Tessellation is useful for increasing local mesh density while modeling. You can subdivide any selection of faces. Two tessellation methods are available: Edge and Face-Center. Tessellate Click to tessellate selected faces, based on the Edge, Face-Center, and Tension (spinner) settings. Edit Geometry Rollout (Mesh) | 2229 Top: Original selection Middle: Tessellated once Bottom: Tessellated twice Tension (Active only when Tessellate by Edge is active.) This spinner, to the right of the Tessellate button, lets you increase or decrease the Edge tension value. A negative value pulls vertices inward from their plane, resulting in a concave effect. A positive value pulls vertices outward from their plane, resulting in a rounding effect. By Edge/Face-Center Edge inserts vertices in the middle of each edge and draws three lines connecting those vertices. As a result, four faces are created out of one face. (To see this at the Polygon or Element sub-object level, turn off Display panel ➤ Display Properties rollout ➤ Edges Only.) Face-Center adds a vertex to the center of each face and draws three connecting lines from that vertex to the three original vertices. As a result, three faces are created out of one face. Set of polygons showing Face-Center tessellation 2230 | Chapter 10 Surface Modeling Explode group (Object and Face/Polygon/Element levels only) Explode Breaks up the current object into multiple elements or objects based on the angles of its edges. This function is available in Object mode as well as all sub-object levels except Vertex and Edge. Exploded faces (white) removed from tessellated faces The angle threshold spinner, to the right of the Explode button, lets you specify the angle between faces below which separation will not occur. For example, all sides of a box are at 90-degree angles to each other. If you set the spinner to 90 or above, exploding the box changes nothing. However, at any setting below 90, the sides all become separate objects or elements. To Objects/Elements Specifies whether the exploded faces become the separate objects or elements of the current object. _____ Remove Isolated Vertices Deletes all isolated vertices in the object regardless of the current selection. Select Open Edges (Edge level only) Selects all edges with only one face. In most objects, this shows you where missing faces exist. Edit Geometry Rollout (Mesh) | 2231 Create Shape from Edges (Edge level only) After selecting one or more edges, click this button to create a spline shape from the selected edges. A Create Shape dialog appears, letting you name the shape, set it to Smooth or Linear, and ignore hidden edges. The new shape's pivot is placed at the center of the mesh object. View Align Aligns all vertices in selected objects or sub-objects to the plane of the active viewport. If a sub-object level is active, this function affects only selected vertices or those belonging to selected sub-objects. In the case of orthographic viewports on page 9251, using View Align has the same effect as aligning to the construction grid when the home grid is active. When aligning to a perspective viewport (including camera and light views), the vertices are reoriented to be aligned to a plane that is parallel to the camera’s viewing plane. This plane is perpendicular to the view direction that is closest to the vertices’ average position. Grid Align Aligns all vertices in selected objects or sub-objects to the plane of the current view. If a sub-object level is active, function aligns only selected sub-objects. This function aligns the selected vertices to the current construction plane. The current plane is specified by the active viewport in the case of the home grid. When using a grid object, the current plane is the active grid object. Make Planar (sub-object levels only) Forces all selected sub-objects to become coplanar. The plane's normal is the average surface normal of all faces attached to the selected sub-objects. Collapse (sub-object levels only) Collapses selected sub-objects into an averaged vertex. Attach Options Dialog (Editable Mesh) Select an editable mesh object. ➤ Modify panel ➤ Attach button The Attach Options dialog appears when you attach two or more objects to which materials have been assigned. It provides three different methods of combining the sub-materials and the material IDs in the two objects. 2232 | Chapter 10 Surface Modeling Interface Match Material IDs to Material The number of material IDs in the attached objects are modified so they are no greater than the number of sub-materials assigned to those objects. For example, if you have a box with only two sub-materials assigned to it, and you attach it to another object, the box will have only two material IDs, instead of the six it was assigned on creation. Match Material to Material IDs Maintains the original ID assignment in the attached objects by adjusting the number of sub-materials in the resulting multi/sub-object material. For example, if you attach two boxes, both assigned single materials, but with their default assignment of 6 material IDs, the result would be a multi/sub-object material with 12 sub-materials (six containing instances of one box's material, and six containing instances of the other box's material). Use this option when it's important to maintain the original material ID assignments in your geometry. NOTE If you want to make the instanced sub-materials unique, highlight their tracks in Track View and apply the Make Unique button on page 3935 function. You can also make them unique one at a time with the Make Unique tool on page 6072 in the Compact Material Editor. Do Not Modify Mat IDs or Material Does not adjust the number of sub-materials in the resulting sub-object material. Note that, if the number of material IDs in an object is greater than the number of sub-materials in its multi/sub-object material, then the resulting face-material assignment might be different after the attach. Condense Material IDs Affects the Match Material IDs To Material option. When this is on, duplicate sub-materials or sub-materials that aren't used in the objects are removed from the multi/sub-object material that results from the attach operation. Default=on. Attach Options Dialog (Editable Mesh) | 2233 Tips ■ In most cases, use the first option (Match Material IDs to Material) while keeping Condense Material IDs selected. This maintains the appearance of the objects, and results in the fewest additional sub-materials or IDs. ■ Use the second option (Match Material to Material IDs) when you need to maintain the original material ID assignments. ■ Avoid using the third option, unless you need to repeat a 3ds Max version 1 attachment for compatibility with a previous project. ■ Leave Condense Material IDs selected unless you have an unassigned sub-material that you want to keep for future assignment. ■ Perform Edit menu ➤ Hold before performing the attach. Cut and Slice (Editable Mesh) Select an editable mesh object. ➤ Modify panel ➤ Selection rollout ➤ (Optional: Choose a sub-object level.) ➤ Edit Geometry rollout ➤ Cut and Slice group box The tools available in the Cut and Slice group let you subdivide edges and faces to create new vertices, edges, and faces. You can slice an editable mesh object at any sub-object level; the Cut tool is available at every sub-object level except the Vertex sub-object level. Procedures To create a new face using Cut: 1 Convert the geometry to an editable mesh. 2 On the Modify panel, choose the object's Edge (or Face, Polygon, or Element) sub-object level. 3 On the Selection rollout, turn on Ignore Backfacing. 4 On the Edit Geometry rollout, in the Cut and Slice group, click the Cut button. 2234 | Chapter 10 Surface Modeling 5 Click the first edge you want to subdivide, and then move your cursor toward the second edge. The cursor changes to a plus sign when over an edge, and a dotted line connects the initial point where the edge was clicked with the current cursor location. 6 Click the second edge. This edge can be anywhere, cutting across as many faces as you like. A new visible edge appears. 7 At this point, a new dotted line is connected to the mouse cursor, originating from the last point you clicked. 8 Continue clicking edges to cut. To start from a different point, right-click, and then select the new start point. To finish cutting, right-click twice. You can use Snaps on page 2833 with Cut. To divide an edge in half, set Snaps to midpoint. To start or end a cut at a vertex, set snap to vertex or endpoint. Cut and Slice (Editable Mesh) | 2235 Before and after applying Cut to faces To create multiple slices: 1 Select an editable mesh. 2 On the Modify panel, choose the object's Edge (or Face, Polygon, or Element) sub-object level. 3 Select one or more sub-objects. Slice affects only selected sub-objects. 4 In the Cut And Slice group box, click the Slice Plane button. 5 Position and rotate the Slice Plane gizmo to where you want the first slice. 6 Click the Slice button. The object is sliced. 2236 | Chapter 10 Surface Modeling 7 If you want, move the Slice Plane to a second position and click the Slice button again. 8 Click the Slice Plane button again to turn it off and see the results. 9 To better understand what has happened, turn off Edges Only in the Display panel. Cut and Slice (Editable Mesh) | 2237 Slice gizmo placed for first slice (top) and second slice (bottom) 2238 | Chapter 10 Surface Modeling Interface NOTE The keyboard shortcuts listed here require that the Keyboard Shortcut Override Toggle on page 9008 be on. Cut and Slice group Slice Plane Creates a gizmo for a slice plane that can be positioned and rotated where you want to slice the edges. Also enables the Slice button. Slice Performs the slice operation at the location of the slice plane. The Slice button is available only when the Slice Plane button is highlighted. This tool slices the mesh just like the Slice modifier on page 1676 in “Operate On: Face” mode. NOTE Slice works only on a sub-object selection. Make the selection before activating Slice Plane. Cut Lets you divide a edge at any point, then divide a second edge at any point, creating a new edge or edges between the two points. Clicking the first edge sets the first vertex. A dotted line tracks the cursor movement until you click a second edge. A new vertex is created at each edge division. Alternately, double-clicking an edge simply divides that edge at the point clicked, with invisible edges on either side. You can use Cut to cut across any number of faces, even across an entire object. Click one edge to start the cut, and a second edge to end the cut. Use Snaps on page 2833 with Cut for precision. Cut supports Midpoint, Endpoint, and Vertex snaps. You can also use the keyboard shortcut Alt+C to toggle Cut mode. IMPORTANT When using the Cut tool to add new edges, you should work in a non-Perspective viewport, such as Front or User. If you use Cut while working in a Perspective viewport, you may find that the created edges appear to jump or aren't placed correctly. Using an orthographic viewport will allow the cuts to appear where you click. Cut and Slice (Editable Mesh) | 2239 TIP When performing a Cut, turn on Selection rollout ➤ Ignore Backfacing to avoid accidentally selecting edges on the back side of the mesh. Split When on, the Slice and Cut operations create double sets of vertices at the points where the edges are divided. This lets you easily delete the new faces to create holes, or animate the new faces as separate elements. Refine Ends When on, adjacent faces at the ends of the cut are also divided by additional vertices, so that the surface stays contiguous. When Refine Ends is off, the surface will have a seam where the new vertex meets the adjacent face. For this reason, it’s a good idea to keep Refine Ends turned on, unless you are sure that you don’t want the extra vertices created. Refine Ends affects only Cut. It does not affect Slice. Editable Poly Surface Create or select an object. ➤ Quad menu ➤ Transform quadrant ➤ Convert to ➤ Convert to Editable Poly Create or select an object. ➤ Modify panel ➤ Right-click the base object in the stack. ➤ Choose Convert to: Editable Poly. Editable Poly on page 9143 is an editable object with five sub-object levels: vertex, edge, border, polygon, and element. Its usage is similar to that of an editable mesh object on page 2190, with controls for manipulating an object as a polygon mesh at various sub-object levels. Rather than triangular faces, however, the poly object's faces are polygons with any number of vertices. TIP This section covers Editable Poly usage on the command panel. Most of the same functions and quite a few others are available on the modeling ribbon on page 1978. Editable Poly gives you these options: ■ Transform or Shift+Clone the selection, as with any object. ■ Use the options supplied on the Edit rollouts to modify the selection or object. Later topics discuss these options for each of the polymesh components. ■ Pass a sub-object selection to a modifier higher in the stack. You can apply one or more standard modifiers to the selection. 2240 | Chapter 10 Surface Modeling ■ Use the options on the Subdivision Surface Rollout (Polymesh)subdivision surface rollouteditable polyeditable polysubdivision surface rollout on page 2327 to alter surface characteristics. TIP You can exit most Editable Poly command modes, such as Extrude, by right-clicking in the active viewport. Overriding Actions with Press/Release Keyboard Shortcuts While working with poly objects, you can use a “press/release keyboard shortcut” to temporarily override the current operation and perform a different one. As soon as you release the keyboard shortcut, you return to the previous operation. For example, you might be working at the Polygon sub-object level, moving polygons, and need to rotate the object to access a different part of it. Instead of having to exit the Polygon sub-object level, rotate the object and then re-enter the sub-object level, you could simply press and hold 6, rotate the object, release the key, and immediately return to moving polygons. To see a list of press/release keyboard shortcuts, go to Customize ➤ Customize User Interface ➤ Keyboard panel, open the Group drop-down list, and choose Edit Poly or Editable Poly. The actions in boldface are the ones that you can assign as press/release shortcuts. Not all are assigned; for information about assigning keyboard shortcuts, see Keyboard Panel on page 8837. The actions in boldface can function as press/release shortcuts. Editable Poly Surface | 2241 Editable Poly Workflow Commands for specific sub-object levels, such as Remove on page 1320 for edges, appear a rollout for that sub-object level (for example, Edit Edges) in the Editable Poly user interface. This leaves the Edit Geometry rollout on page 1352 with functions that you can apply at most sub-object levels, as well as at the object level. Also, many commands are accompanied by a Settings button, which gives you a second way to use the command: ■ In Direct Manipulation mode, activated by clicking the command button, you apply the command by manipulating sub-objects directly in the viewport. An example of this is Extrude: You click the Extrude button, and then click and drag sub-objects in the viewports to extrude them. NOTE Some buttons, such as Tessellate, operate on the mesh immediately, with no viewport manipulation required. ■ Interactive Manipulation mode is well suited to experimentation. You activate this mode by clicking the command's Settings button. This opens a non-modal settings interface (typically a caddy on page 2339) and places you in a preview mode, where you can set parameters and see the results immediately in the viewport on the current sub-object selection. You can then accept the results or cancel the operation. Alternatively, you can apply the settings to the current sub-object selection and then make one or more subsequent selections and apply or change the settings. Make the selection, optionally change the settings, click Apply And Continue, and then repeat with a different selection. IMPORTANT When you click Apply And Continue, the settings are “baked into” the selection, and then applied again to the selection as a preview. If you then click OK to exit, you will have applied the settings twice. If your intention is to apply them only once, simply click OK the first time, or click Apply And Continue and then Cancel. NOTE Changes implemented in Interactive Manipulation mode with editable poly objects cannot be animated. However, they can with Edit Poly objects. See also: ■ Edit Poly Modifier on page 1274 2242 | Chapter 10 Surface Modeling ■ Graphite Modeling Toolsmodeling ribbonintroductiongraphite modeling tools on page 1978 ■ Poly Select Modifier on page 1529 ■ Turn To Poly Modifier on page 1779 Procedures To produce an editable poly object: First select an object, and then do one of the following: ■ If no modifiers are applied to the object, On the Modify panel, right-click the modifier stack display, then on the pop-up menu, choose Editable Poly from the Convert To list. ■ Right-click the object and choose Convert To Editable Poly from the Transform quadrant of the quad menu. ■ Apply a modifier to a parametric object that turns the object into a poly object in the stack display, and then collapse the stack. For example, you can apply a Turn To Poly modifier on page 1779. To collapse the stack, use the Collapse utility on page 1974 and set Output Type to Modifier Stack Result, or right-click the object's modifier stack and then choose Collapse All. Converting an object to Editable Poly format removes all parametric controls, including the creation parameters. For example, you can no longer increase the number of segments in a box, slice a circular primitive, or change the number of sides on a cylinder. Any modifiers you apply to an object are merged into the mesh as well. After conversion, the only entry left on the stack is "Editable Poly." To maintain an object's creation parameters: ■ As noted in the previous procedure, if you convert an existing object to editable poly format, 3ds Max replaces the creation parameters in the stack with "Editable Poly." The creation parameters are no longer accessible or animatable. If you want to maintain the creation parameters, you can use Editable Poly Surface | 2243 the Edit Poly modifier on page 1274 or the Turn To Poly modifier on page 1779. Interface Stack Display For more information on the Stack Display, see Modifier Stack on page 8776. Show End Result Normally, if you apply a modifier such as Symmetry on page 1752 to an editable poly object and then return to the Editable Poly stack entry, you cannot see the effect of the modifier on the object's geometry. But if you turn on Show End Result while in sub-object level, you can see the final object as a white mesh, the original sub-object selection as a yellow mesh, and the original editable polymesh as an orange mesh. Selection rollout Lets you access the different sub-object levels. See Selection Rollout (Polymesh)selection rollouteditable polyeditable polyselection rolloutsub-objectselectionrolloutsselection on page 2245. Soft Selection rollout Soft Selection controls apply a smooth falloff between selected sub-objects and unselected ones. When Use Soft Selection is on, unselected sub-objects near your selection are given partial selection values. These values are shown in the viewports by means of a color gradient on the vertices, and optionally on the faces. They affect most types of sub-object deformations, such as the Move, Rotate, and Scale functions and any deformation modifiers (such as Bend) applied to the object. This provides a magnet-like effect with a sphere of influence around the selection. For more information, see Soft Selection Rollout on page 1966. Edit (sub-object) rollout The Edit (sub-object) rollout provides sub-object-specific functions for editing an editable poly object and its sub-objects. For specific information, click any of the links below: Edit Vertices rollout on page 2261 Edit Edges rollout on page 2278 Edit Borders rollout on page 2292 2244 | Chapter 10 Surface Modeling Edit Polygons/Elements rollout on page 1339 Edit Geometry rollout The Edit Geometry Rollout (Polymesh and Edit Poly) on page 1352 provides global functions for editing an editable poly object and its sub-objects. Subdivision Surface rollout Controls on this rollout apply subdivision to the polymesh in the style of the MeshSmooth modifier. See Subdivision Surface Rollout (Polymesh)subdivision surface rollouteditable polyeditable polysubdivision surface rollout on page 2327. Subdivision Displacement rollout Specifies surface approximation for subdividing the polymesh. See Subdivision Displacement Rollout (Polymesh)subdivision displacement rollouteditable polyeditable polysubdivision displacement rollout on page 2332. Subdivision Presets group & Subdivision Method group The controls in these two group boxes specify how 3ds Max applies the displacement map when Subdivision Displacement is on. They are identical to the Surface Approximation controls on page 2762 used for NURBS surfaces. Paint Deformation rollout Paint Deformation lets you stroke elevated and indented areas directly onto object surfaces. For more information, see Paint Deformation Rollout (Polymesh)editable polypaint deformation rolloutedit polypaint deformation rolloutrolloutspaint deformationpaint deformation rollout on page 2334. Selection Rollout (Polymesh) Create or select an editable poly object. ➤ rollout Modify panel ➤ Selection The Selection rollout provides tools for accessing different sub-object levels and display settings and for creating and modifying selections, and displays information about selected entities. Selection Rollout (Polymesh) | 2245 When you first access the Modify panel with an editable poly selected, you're at the Object level, with access to several functions available as described in Editable Poly (Object) on page 2256. You can toggle the various sub-object levels, and access relevant functions, by clicking the buttons at the top of the Selection rollout. Clicking a button here is the same as choosing a sub-object type in the modifier stack display. Click the button again to turn it off and return to the Object selection level. Converting Sub-object Selections You can convert sub-object selections in three different ways with the use of the Ctrl and Shift keys: ■ To convert the current selection to a different sub-object level, clicking a sub-object button on the Selection rollout with Ctrl held down. This selects all sub-objects at the new level that touch the previous selection. For example, if you select a vertex, and then Ctrl+click the Polygon button, all polygons that use that vertex are selected. ■ To convert the selection to only sub-objects all of whose source components are originally selected, hold down both Ctrl and Shift as you change the level. For example, if you convert a vertex selection to a polygon selection with Ctrl+Shift+click, the resultant selection includes only those polygons all of whose vertices were originally selected. ■ To convert the selection to only sub-objects that border the selection, hold down Shift as you change the level. The selection conversion is inclusive, meaning: ■ When you convert faces, the resulting selection of edges or vertices all belong to selected faces that bordered unselected faces. Only the edges or vertices that bordered unselected faces are selected. 2246 | Chapter 10 Surface Modeling Face selection (left) converted to vertex border (center) and edge border (right) ■ When you convert vertices to faces, the resulting selection of faces had all of their vertices selected and bordered unselected faces. When you convert vertices to edges, the resulting selection contains only edges all of whose vertices were previously selected and only edges of faces that did not have all vertices selected; that is, of faces around the border of the vertex selection. Vertex selection (left) converted to edge border (center) and face border (right) ■ When you convert edges to faces, the resulting selection of faces had some but not all of their edges selected, and were next to faces with no edges selected. When you convert edges to vertices, the resulting vertices are on previously selected edges, but only at intersections where not all edges were selected. Selection Rollout (Polymesh) | 2247 Edge selection (left) converted to face border (center) and vertex border (right) NOTE Conversion commands are also available from the quad menu. Interface Vertex Accesses the Vertex sub-object level, which lets you select a vertex beneath the cursor; region selection selects vertices within the region. Edge Accesses the Edge sub-object level, which lets you select a polygon edge beneath the cursor; region selection selects multiple edges within the region. 2248 | Chapter 10 Surface Modeling Border Accesses the Border sub-object level, which lets you select a sequence of edges that borders a hole in the mesh. A border comprises only connected edges with faces on only one side of them, and is always a complete loop. For example, a default box primitive doesn't have a border, but the teapot object has a couple of them: one each on the lid, the body, and the spout, and two on the handle. If you create a cylinder and delete one end, the row of edges around that end forms a border. When Border sub-object level is active, you can't select edges that aren't on borders. Clicking a single edge on a border selects that whole border. You can cap a border, either with the Cap function on page 1334 or by applying the Cap Holes modifier on page 1124. You can also connect borders between objects with the Connect compound object on page 628. NOTE The Edge and Border sub-object levels are compatible, so if you go from one to the other, any existing selection is retained. Polygon Accesses the Polygon sub-object level, which lets you select polygons beneath the cursor. Region selection selects multiple polygons within the region. Element Accesses the Element sub-object level, which lets you select all contiguous polygons in an object. Region selection lets you select multiple elements. NOTE The Polygon and Element sub-object levels are compatible, so if you go from one to the other, any existing selection is retained. By Vertex When on, you can select sub-objects only by selecting a vertex that they use. When you click a vertex, all sub-objects that use the selected vertex are selected. Not available at the Vertex sub-object level. Ignore Backfacing When on, selection of sub-objects affects only those facing you. When off (the default), you can select any sub-object(s) under the mouse cursor, regardless of their visibility or facing. If there are more than one Selection Rollout (Polymesh) | 2249 sub-object under the cursor, repeated clicking cycles through them. Likewise, with Ignore Backfacing off, region selection includes all sub-objects, regardless of the direction they face. NOTE The state of the Backface Cull on page 145 setting on the Display panel does not affect sub-object selection. Thus, if Ignore Backfacing is off, you can still select sub-objects even if you can't see them. By Angle When on, selecting a polygon also selects neighboring polygons based on the angle setting to the right of the check box. This value determines the maximum angle between neighboring polygons to select. Available only at the Polygon sub-object level. For example, if you click a side of a box and the angle value is less than 90.0, only that side is selected, because all sides are at 90-degree angles to each other. But if the angle value is 90.0 or greater, all sides of the box are selected. This function speeds up selection of contiguous areas made up of polygons that are at similar angles to one another. You can select coplanar polygons with a single click at any angle value. Shrink Reduces the sub-object selection area by deselecting the outermost sub-objects. If the selection size can no longer be reduced, the remaining sub-objects are deselected. Grow Expands the selection area outward in all available directions. For this function, a border is considered to be an edge selection. With Shrink and Grow, you can add or remove neighboring elements from the edges of your current selection. This works at any sub-object level. Ring Expands an edge selection by selecting all edges parallel to the selected edges. Ring applies only to edge and border selections. 2250 | Chapter 10 Surface Modeling TIP You can select an edge ring quickly by selecting an edge and then Shift+clicking another edge in the same ring. Ring selection adds to the selection all the edges that are parallel to the ones selected originally. TIP After making a ring selection, you can use Connect on page 1326 to subdivide the associated polygons into new edge loops. [Ring Shift] The spinner next to the Ring button lets you move the selection in either direction to other edges in the same ring; that is, to neighboring, parallel edges. If you have a loop selected, you can use this function to select a neighboring loop. Applies only to Edge and Border sub-object levels. Selection Rollout (Polymesh) | 2251 Left: Original loop selection Upper right: Ring Shift up moves selection outward (from center of model). Lower right: Ring Shift down moves selection inward (toward center of model). To expand the selection in the chosen direction, Ctrl+click the up or down spinner button. To shrink the selection in the chosen direction, Alt+click the up or down spinner button. NOTE When the Select And Manipulate on page 2868 tool is active at the Edge sub-object level, the caddy appears in the viewport with a control for Ring Shift: . For instructions for using the caddy, see The Caddy Interface on page 2339. 2252 | Chapter 10 Surface Modeling Loop Expands an edge selection as far as possible, in alignment with selected edges. Loop selection propagates only through four-way junctions. TIP You can select a loop quickly at any sub-object level except Element by selecting a sub-object and then Shift+clicking another sub-object in the same loop. Loop selection extends your current edge selection by adding all the edges aligned to the ones selected originally. [Loop Shift] The spinner next to the Loop button lets you move the selection in either direction to other edges in the same loop; that is, to neighboring, aligned edges. If you have a ring selected, you can use this function to select a neighboring ring. Applies only to Edge and Border sub-object levels. Selection Rollout (Polymesh) | 2253 Left: Original ring selection Upper right: Loop Shift up moves selection outward. Lower right: Loop Shift down moves selection inward. To expand the selection in the chosen direction, Ctrl+click the up or down spinner button. To shrink the selection in the chosen direction, Alt+click the up or down spinner button. NOTE When the Select And Manipulate on page 2868 tool is active at the Edge sub-object level, the caddy appears in the viewport with a control for Loop Shift: . For instructions for using the caddy, see The Caddy Interface on page 2339. 2254 | Chapter 10 Surface Modeling Preview Selection This option lets you preview a sub-object selection before committing to it. You can preview at the current sub-object level, or switch sub-object levels automatically based on the mouse position. The choices are: ■ OffNo preview is available. ■ SubObjEnables previewing at the current sub-object level only. As you move the mouse over the object, the sub-object under the cursor highlights in yellow. To select the highlighted object, click the mouse. To select multiple sub-objects at the current level, press and hold Ctrl, move the mouse to highlight more sub-objects, and then click to select all highlighted sub-objects. Polygon sub-object selection preview with Ctrl held down To deselect multiple sub-objects at the current level, press and hold Ctrl+Alt, move the mouse to highlight more sub-objects, and then click a selected sub-object. This deselects all highlighted sub-objects. Selection Rollout (Polymesh) | 2255 ■ MultiWorks like SubObj, but also switches among the Vertex, Edge, and Polygon sub-object levels on the fly, based on the mouse position. For example, if you position the mouse over an edge, the edge highlights, and then clicking activates the Edge sub-object level and selects the edge. To select multiple sub-objects of the same type, press and hold Ctrl after highlighting a sub-object, move the mouse to highlight more sub-objects, and then click to activate that sub-object level and select all highlighted sub-objects. To deselect multiple sub-objects at the current sub-object level, press and hold Ctrl+Alt, move the mouse to highlight more sub-objects, and then click a selected sub-object. This deselects all highlighted sub-objects. Note that this method does not switch sub-object levels. NOTE When Ignore Backfacing on page 1292 is off, you’ll see backfacing vertices and edges highlight while previewing a sub-object selection. Selection Information At the bottom of the Selection rollout is a text display giving information about the current selection. If 0 or more than one sub-object is selected, the text gives the number and type selected; for example, “4 Polygons Selected.” If one sub-object is selected, the text gives the identification number and type of the selected item; for example, “Polygon 73 Selected.” When using Preview Selection on page 1298, a second line gives additional information about the identity or number of highlighted sub-objects. Editable Poly (Object) Select an editable poly object. ➤ Modify panel Select an editable poly object. ➤ Quad menu ➤ Tools 1 quadrant ➤ Top-level Editable Poly (Object) functions are available when no sub-object levels are active. These functions are also available at all sub-object levels, and work the same in each mode, except as noted below. Use the Selection rollout on page 2248 or modifier stack on page 8776 to access the different sub-object levels. 2256 | Chapter 10 Surface Modeling Interface Edit Geometry rollout For detailed descriptions of these controls, see Edit Geometry Rollout (Polymesh and Edit Poly)edit geometry rollouteditable polyeditable polyedit geometry rollout on page 1352. Subdivision Surface rollout For information about the Subdivision Surface rollout settings, see Subdivision Surface Rollout (Polymesh)subdivision surface rollouteditable polyeditable polysubdivision surface rollout on page 2327. Editable Poly (Object) | 2257 Subdivision Displacement rollout For information about the Subdivision Displacement rollout settings, see Subdivision Displacement Rollout (Polymesh)subdivision displacement rollouteditable polyeditable polysubdivision displacement rollout on page 2332. Paint Deformation rollout Paint Deformation lets you stroke elevated and indented areas directly onto object surfaces. For more information, see Paint Deformation Rollout (Polymesh)editable polypaint deformation rolloutedit polypaint deformation rolloutrolloutspaint deformationpaint deformation rollout on page 2334. Editable Poly (Vertex) Select an editable poly object. ➤ ➤ Modify panel ➤ Selection rollout (Vertex) Select an editable poly object. ➤ Modify panel ➤ Modifier stack display ➤ Expand Editable Poly. ➤ Vertex Select an editable poly object. ➤ Quad menu ➤ Tools 1 quadrant ➤ Vertex Vertices are points in space: They define the structure of other sub-objects (edges and polygons) that make up the poly object. When you move or edit vertices, the connected geometry is affected as well. Vertices can also exist independently; such isolated vertices can be used to construct other geometry but are otherwise invisible when rendering. At the editable poly Vertex sub-object level, you can select single and multiple vertices and move them using standard methods. This topic covers the Edit Vertices and Vertex Properties rollouts and provides links to the rest. Procedures To weld polygon vertices: You can use either of two methods to combine several vertices into one, also known as welding. If the vertices are very close together, use the Weld function. 2258 | Chapter 10 Surface Modeling You can also use Weld to combine a number of vertices to the average position of all of them. Alternatively, to combine two vertices that are far apart, resulting in a single vertex that's in the same position as one of them, use Target Weld. 1 To use Weld: 1 On the Selection rollout, turn on Ignore Backfacing, if necessary. This ensures that you're welding only vertices you can see. 2 Select the vertices to weld. 3 If the vertices are very close together, simply click Weld. If that doesn't work, proceed to the next step. 4 Click (Settings) to the right of the Weld button. This opens the Weld Vertices caddy on page 2372. 5 Increase the Weld Threshold value gradually using the spinner (click and hold on the up-down arrow buttons to the right of the numeric field and then drag upward). If you need the value to change more quickly, hold down the Ctrl key as you drag. When the threshold equals or exceeds the distance between two or more of the vertices, the weld occurs automatically, and the resulting vertex moves to their average location. 6 If not all the vertices are welded, continue increasing the Weld Threshold value until they are. 7 Click OK to exit. 2 To use Target Weld: 1 On the Selection rollout, turn on Ignore Backfacing, if necessary. This ensures that you're welding only vertices you can see. 2 Find two vertices you want to weld, and determine the ultimate location of the resulting vertex. The two vertices must be contiguous; that is, they must be connected by a single edge. For this example, we'll call the vertices A and B, and the resulting vertex will be at vertex B's location. 3 Click the Target Weld button. The button stays highlighted, to indicate that you're now in Target Weld mode. Editable Poly (Vertex) | 2259 4 Click vertex A and then move the mouse. A rubber-band line connects the vertex and the mouse cursor. 5 Position the cursor over vertex B, whereupon the cursor image changes from an arrow to a crosshairs. Reminder: Only vertices connected to the first vertex by a single edge qualify for target welding. 6 Click to weld the two. The resulting vertex remains at vertex B's position. 7 Click Target Weld again to turn it off. To select vertices by color: 1 In the Vertex Properties rollout ➤ Select Vertices By group, click the color swatch, and specify the color of vertex you want in the Color Selector on page 304. 2 Specify ranges in the RGB Range spinners. This lets you select vertices that are close to the specified color, but don't match exactly. 3 Click the Select button. All vertices matching the color, or within the RGB range, are selected. You can add to the selection by holding Ctrl as you click the Select button, and subtract from the selection by holding the Alt key. TIP You can select all vertices of the same color by first selecting the vertex you want matched, dragging a copy of the Edit Color swatch to the Existing Color swatch, and then clicking the Select button. (If you want an exact match, be sure to set the RGB Range spinners to 0 first.) Interface Selection rollout See Editable Poly on page 2248 for information on the Selection rollout settings. Soft Selection rollout Soft Selection controls apply a smooth falloff between selected sub-objects and unselected ones. When Use Soft Selection is on, unselected sub-objects near your selection are given partial selection values. These values are shown 2260 | Chapter 10 Surface Modeling in the viewports by means of a color gradient on the vertices, and optionally on the faces. They affect most types of sub-object deformations, such as the Move, Rotate, and Scale functions, as well as any deformation modifiers (such as Bend) applied to the object. This provides a magnet-like effect with a sphere of influence around the selection. For more information, see Soft Selection Rollout on page 1966. Edit Vertices rollout This rollout includes commands specific to vertex editing. NOTE To delete vertices, select them and press the Delete key. This can create one or more holes in the mesh. To delete vertices without creating holes, use Remove (see following). Remove Deletes selected vertices and combines the polygons that use them. The keyboard shortcut is Backspace. Editable Poly (Vertex) | 2261 Removing one or more vertices deletes them and retriangulates the mesh to keep the surface intact. If you use Delete instead, the polygons depending on those vertices are deleted as well, creating a hole in the mesh. WARNING Use of Remove can result in mesh shape changes and non-planar polygons. Break Creates a new vertex for each polygon attached to selected vertices, allowing the polygon corners to be moved away from each other where they were once joined at each original vertex. If a vertex is isolated or used by only one polygon, it is unaffected. Extrude Lets you extrude vertices manually via direct manipulation in the viewport. Click this button, and then drag vertically on any vertex to extrude it. Extruding a vertex moves it along a normal and creates new polygons that form the sides of the extrusion, connecting the vertex to the object. The extrusion has the same number of sides as the number of polygons that originally used the extruded vertex. Following are important aspects of vertex extrusion: ■ When over a selected vertex, the mouse cursor changes to an Extrude cursor. ■ Drag vertically to specify the extent of the extrusion, and horizontally to set the size of the base. 2262 | Chapter 10 Surface Modeling ■ With multiple vertices selected, dragging on any one extrudes all selected vertices equally. ■ You can drag other vertices in turn to extrude them while the Extrude button is active. Click Extrude again or right-click in the active viewport to end the operation. Chamfer box showing extruded vertex Extrude Settings Opens the Extrude Vertices caddy on page 2360, which lets you perform extrusion via interactive manipulation. If you click this button after performing a manual extrusion, the same extrusion is performed on the current selection as a preview and the caddy opens with Extrusion Height set to the amount of the last manual extrusion. Weld Combines contiguous, selected vertices that fall within the tolerance specified in Weld Vertices caddy on page 2372. All edges become connected to the resulting single vertex. Editable Poly (Vertex) | 2263 Using Weld at the Vertex level Vertices farther apart than the Threshold distance are not welded. Weld is best suited to automatically simplifying geometry that has areas with a number of vertices that are very close together. Before using Weld, set the Weld Threshold via the Weld caddy on page 2372. To weld vertices that are relatively far apart, use Target Weld on page 1308 instead. Weld Settings Opens the Weld Vertices caddy on page 2372, which lets you specify the weld threshold. Chamfer Click this button and then drag vertices in the active object. To chamfer vertices numerically, click the Chamfer Settings button and use the Chamfer Amount value. If you chamfer multiple selected vertices, all of them are chamfered identically. If you drag an unselected vertex, any selected vertices are first deselected. Each chamfered vertex is effectively replaced by a new face that connects new points on all edges leading to the original vertex. These new points are exactly distance from the original vertex along each of these edges. New chamfer faces are created with the material ID of one of the neighboring faces (picked at random) and a smoothing group which is an intersection of all neighboring smoothing groups. For example, if you chamfer one corner of a box, the single corner vertex is replaced by a triangular face whose vertices move along the three edges that led to the corner. Outside faces are rearranged and split to use these three new vertices, and a new triangle is created at the corner. Alternatively, you can create open space around the chamfered vertices; for details, see Chamfer on page 2351. 2264 | Chapter 10 Surface Modeling Top: The original vertex selection Center: Vertices chamfered Bottom: Vertices chamfered with Open on Chamfer Settings Opens the Chamfer caddy on page 2351, which lets you chamfer vertices via interactive manipulation and toggle the Open option. If you click this button after performing a manual chamfer, the same chamfer is performed on the current selection as a preview and the caddy opens with Chamfer Amount set to the amount of the last manual chamfer. Target Weld Allows you to select a vertex and weld it to a neighboring target vertex. Target Weld works only with pairs of contiguous vertices; that is, vertices connected by a single edge. In Target Weld mode, the mouse cursor, when positioned over a vertex, changes to a + cursor. Click and then move the mouse; a dashed, rubber-band line connects the vertex to the mouse cursor. Position the cursor over another, Editable Poly (Vertex) | 2265 neighboring vertex and when the + cursor appears again, click the mouse. The first vertex moves to the position of the second and the two are welded. Target Weld remains active until you click the button again or right-click in the viewport. Connect Creates new edges between pairs of selected vertices. Connect does not let the new edges cross. Thus, for example, if you select all four vertices of a four-sided polygon and then click Connect, only two of the vertices will be connected. In this case, to connect all four vertices with new edges, use Cut on page 1361. Remove Isolated Vertices Deletes all vertices that don't belong to any polygons. Remove Unused Map Verts Certain modeling operations can leave unused (isolated) map vertices that show up in the Unwrap UVW editor on page 1807, but cannot be used for mapping. You can use this button to automatically delete these map vertices. Weight Sets the weight of selected vertices. Used by the NURMS subdivision option on page 2328 and by the MeshSmooth modifier on page 1450. Increasing a vertex weight tends to pull the smoothed result toward the vertex. NOTE When the Select And Manipulate on page 2868 tool is active at the Vertex sub-object level, the caddy appears in the viewport with a control for vertex weight: . For instructions for using the caddy, see The Caddy Interface on page 2339. 2266 | Chapter 10 Surface Modeling Edit Geometry rollout For detailed descriptions of these controls, see Edit Geometry Rollout (Polymesh and Edit Poly)edit geometry rollouteditable polyeditable polyedit geometry rollout on page 1352. Editable Poly (Vertex) | 2267 Vertex Properties rollout Edit Vertex Colors group Use these controls to assign the color, and illumination color (shading) of selected vertices. Color Click the color swatch to change the color of selected vertices. Illumination Click the color swatch to change the illumination color of selected vertices. This lets you change the illumination without changing the vertex's color. Alpha Lets you set specific alpha values of selected vertices. These alpha values are maintained by the pipeline and can be used in conjunction with vertex color to provide full RGBA data for export. Select Vertices By group Color/Illumination Determines whether to select vertices by vertex color values or vertex illumination values. Color Swatch Displays the Color Selector on page 304, where you can specify a color to match. Select Depending on which radio button is chosen, selects all vertices whose vertex color or illumination values either match the color swatch, or are within the range specified by the RGB spinners. Range Specifies a range for the color match. All three RGB values in the vertex color or illumination must either match the color specified by the color swatch 2268 | Chapter 10 Surface Modeling in Select By Vertex Color, or be within plus or minus the values in the Range spinners. Default=10. Subdivision Surface rollout For information about the Subdivision Surface rollout settings, see Subdivision Surface Rollout (Polymesh)subdivision surface rollouteditable polyeditable polysubdivision surface rollout on page 2327. Subdivision Displacement rollout For information about the Subdivision Displacement rollout settings, see Subdivision Displacement Rollout (Polymesh)subdivision displacement rollouteditable polyeditable polysubdivision displacement rollout on page 2332. Paint Deformation rollout Paint Deformation lets you stroke elevated and indented areas directly onto object surfaces. For more information, see Paint Deformation Rollout (Polymesh)editable polypaint deformation rolloutedit polypaint deformation rolloutrolloutspaint deformationpaint deformation rollout on page 2334. Editable Poly (Edge) Select an editable poly object. ➤ ➤ Modify panel ➤ Selection rollout (Edge) Select an editable poly object. ➤ Modify panel ➤ Modifier stack display ➤ Expand Editable Poly. ➤ Edge Select an editable poly object. ➤ Quad menu ➤ Tools 1 quadrant ➤ Edge An edge is a line connecting two vertices that forms the side of a polygon. An edge can't be shared by more than two polygons. Also, the normals of the two polygons should be adjacent. If they aren't, you wind up with two edges that share vertices. At the editable poly Edge sub-object level, you can select single and multiple edges and transform them using standard methods. This topic covers the Edit Editable Poly (Edge) | 2269 Geometry and Edit Edges rollouts; for other controls, see Editable Poly on page 2240. NOTE Besides edges, each polygon has one or more internal diagonals on page 9136 that determine how the polygon is triangulated by 3ds Max. Diagonals can't be manipulated directly, but you can use the Turn on page 1329 and Edit Triangulation on page 1328 functions to change their positions. Procedures Example: To use the Cut and Turn features: 3ds Max provides a convenient function for turning edges, which, along with the Cut feature, streamlines the custom modeling process considerably. Specifically, cutting a new polygon into existing geometry minimizes the number of extra visible edges, typically adding none or one. And after using cut, the Turn function lets you adjust any diagonal with a single click. 1 In the Perspective viewport, create a Plane object. This object is available from the Create panel ➤ Primitives ➤ Object Type rollout. (Geometry) ➤ Standard By default, the Plane object is divided into 4 x 4 polygons. If you don't see the polygons in the Perspective viewport, press F4 to activate Edged Faces view mode. 2270 | Chapter 10 Surface Modeling 2 Convert the Plane object to Editable Poly format. If you're not sure how, continue in this step; otherwise, skip to the next step after converting. To convert the object, right-click once in the Perspective viewport to exit create mode. This leaves the object selected. Right-click again in the Perspective viewport, and then at the bottom of the Transform quadrant, choose Convert To ➤ Convert To Editable Poly. Alternatively, apply the Edit Poly modifier. The object is now an editable poly and the command panel switches to the Modify panel. 3 Cut is available at the object level as well as at every sub-object level. On the Edit Geometry rollout, find the Cut button, and then click it. 4 In the Perspective viewport, position the mouse cursor in the center of a corner polygon, such as the one closest to you, click once, and then move the mouse around the viewport. Editable Poly (Edge) | 2271 Two or three lines appear and move as you move the mouse. One line connects the mouse cursor to the original click location, and indicates where the next cut will appear when you click the mouse button. Another connects to a corner of the polygon; this connection changes depending on the mouse position. And, if the cursor isn't over an edge or a vertex (it changes appearance if it is, depending on which), a third line connects the mouse cursor to another vertex. This demonstrates one aspect of the new Cut functionality; in previous versions, the first click in a Cut operation connected to two corners of the polygon. 5 Continue cutting in a rectangular pattern, clicking once at the center of a different polygon, finish by clicking once more at the starting point, and then right-click to exit Cut mode. 2272 | Chapter 10 Surface Modeling The result is a rectangle across four polygons, without any connecting visible edges. In previous versions, you would have had eight connecting visible edges: two in each of the original polygons. Note that all the edges you created are selected, and ready for further transformation or editing. 6 Cut a rectangle into the center of a single polygon. In this case you end up with a single, additional visible edge instead of seven, as in previous versions. The edge connects corner of the new polygon with a corner of the original one. This new edge is not selected, but the ones you created explicitly are. Editable Poly (Edge) | 2273 Connecting the remaining corners are a number of diagonals on page 9136, which serve to fully triangulate the polygons. The new Turn function lets you manipulate each of these with a single click. 7 Go to the Edge sub-object level, and then, on the Edit Edges rollout, click Turn. All diagonals, including those created from the Cut operations, appear as dashed lines. 2274 | Chapter 10 Surface Modeling 8 Click a diagonal to turn it, and then click it again to return it to its original status. In Turn mode, click a diagonal (dashed line) once to turn it. Each diagonal has only two different available positions, given no changes in any other diagonals' or edges' positions. Compare this with the Edit Triangulation tool, with which you must click two vertices to change a diagonal's position. This simple demonstration shows how, when manually subdividing a polygon mesh for modeling and animation purposes, you can save a good deal of time by using the Cut and Turn tools in 3ds Max. To create a shape from one or more edges: 1 Select the edges you want to make into shapes. 2 On the Edit Edges rollout, click Create Shape From Selection. 3 Make changes, as needed, on the Create Shape dialog that appears. ■ Enter a curve name or keep the default. ■ Choose Smooth or Linear as the shape type. 4 Click OK. The resulting shape consists of one or more splines whose vertices are coincident with the vertices in the selected edges. The Smooth option results in vertices using smooth values, while the Linear option results in linear splines with corner vertices. Editable Poly (Edge) | 2275 If the selected edges are not continuous, or if they branch, the resulting shape will consist of more than one spline. When the Create Shape function runs into a branching 'Y' in the edges, it makes an arbitrary decision as to which edge produces which spline. If you need to control this, select only those edges that will result in a single spline, and perform a Create Shape operation repeatedly to make the correct number of shapes. Finally, use Attach on page 589 in the Editable Spline to combine the shapes into one. Above: Original object 2276 | Chapter 10 Surface Modeling Below: Object with edges selected Above: Selected edges removed from original object Below: Unwanted edges removed Interface Selection rollout See Editable Poly on page 2248 for information on the Select rollout settings. Editable Poly (Edge) | 2277 Soft Selection rollout Soft Selection controls apply a smooth falloff between selected sub-objects and unselected ones. When Use Soft Selection is on, unselected sub-objects near your selection are given partial selection values. These values are shown in the viewports by means of a color gradient on the vertices, and optionally on the faces. They affect most types of sub-object deformations, such as the Move, Rotate, and Scale functions, as well as any deformation modifiers (such as Bend) applied to the object. This provides a magnet-like effect with a sphere of influence around the selection. For more information, see Soft Selection Rollout on page 1966. Edit Edges rollout This rollout includes commands specific to edge editing. NOTE To delete edges, select them and press the Delete key. This deletes all selected edges and attached polygons, which can create one or more holes in the mesh. To delete edges without creating holes, use Remove on page 1320. Insert Vertex Lets you subdivide visible edges manually. After turning on Insert Vertex, click an edge to add a vertex at that location. You can continue subdividing polygons as long as the command is active. To stop inserting edges, right-click in the viewport, or click Insert Vertex again to turn it off. Remove Deletes selected edges and combines the polygons that use them. 2278 | Chapter 10 Surface Modeling Removing one edge is like making it invisible. The mesh is affected only when all or all but one of the edges depending on one vertex are removed. At that point, the vertex itself is deleted and the surface is retriangulated. To delete the associated vertices when you remove edges, press and hold Ctrl while executing a Remove operation, either by mouse or with the Backspace key. This option, called Clean Remove, ensures that the remaining polygons are planar. Left: The original edge selection Center: Standard Remove operation leaves extra vertices. Right: Clean Remove with Ctrl+Remove deletes the extra vertices. Edges with the same polygon on both sides usually can't be removed. Editable Poly (Edge) | 2279 WARNING Use of Remove can result in mesh shape changes and non-planar polygons. Split Divides the mesh along the selected edges. This does nothing when applied to a single edge in the middle of a mesh. The vertices at the end of affected edges must be separable in order for this option to work. For example, it would work on a single edge that intersects an existing border, since the border vertex can be split in two. Additionally, two adjacent edges could be split in the middle of a grid or sphere, since the shared vertex can be split. Extrude Lets you extrude edges manually via direct manipulation in the viewport. Click this button, and then drag vertically on any edge to extrude it. When extruding a vertex or edge interactively in the viewport, you set the extrusion height by moving the mouse vertically and the base width by moving the mouse horizontally. Extruding an edge moves it along a normal and creates new polygons that form the sides of the extrusion, connecting the edge to the object. The extrusion has either three or four sides; three if the edge was on a border, or four if it was shared by two polygons. As you increase the length of the extrusion, the base increases in size, to the extent of the vertices adjacent to the extruded edge's endpoints. Following are important aspects of edge extrusion: ■ When over a selected edge, the mouse cursor changes to an Extrude cursor. ■ Drag vertically to specify the extent of the extrusion, and horizontally to set the size of the base. ■ With multiple edges selected, dragging on any one extrudes all selected edges equally. 2280 | Chapter 10 Surface Modeling ■ You can drag other edges in turn to extrude them while the Extrude button is active. Click Extrude again or right-click in the active viewport to end the operation. Chamfer box showing extruded edge Extrude Settings Opens the Extrude Edges caddy on page 2360, which lets you perform extrusion via interactive manipulation. If you click this button after performing a manual extrusion, the same extrusion is performed on the current selection as a preview and the caddy opens with Extrusion Height set to the amount of the last manual extrusion. Weld Combines selected edges that fall within the threshold specified on the Weld caddy on page 2372. You can weld only edges that have one polygon attached; that is, edges on a border. Also, you cannot perform a weld operation that would result in illegal geometry (e.g., an edge shared by more than two polygons). For example, you cannot weld opposite edges on the border of a box that has a side removed. Weld Settings Opens the Weld Edges caddy on page 2372, which lets you specify the weld threshold. Editable Poly (Edge) | 2281 Chamfer Click this button and then drag edges in the active object. To chamfer edges numerically, click the Chamfer Settings button and change the Chamfer Amount value. If you chamfer multiple selected edges, all of them are chamfered identically. If you drag an unselected edge, any selected edges are first deselected. An edge chamfer "chops off" the selected edges, creating a new polygon connecting new points on all visible edges leading to the original vertex. The new edges are exactly distance from the original edge along each of these edges. New chamfer faces are created with the material ID of one of the neighboring faces (picked at random) and a smoothing group which is an intersection of all neighboring smoothing groups. For example, if you chamfer one edge of a box, each corner vertex is replaced by two vertices moving along the visible edges that lead to the corner. Outside faces are rearranged and split to use these new vertices, and a new polygon is created at the corner. Using Chamfer at the Edge level Alternatively, you can create open space around the chamfered edges; for details, see Chamfer on page 2351. Chamfer Settings Opens the Chamfer caddy on page 2351, which lets you chamfer edges via interactive manipulation and toggle the Open option. If you click this button after performing a manual chamfer, the same chamfer is performed on the current selection as a preview and the caddy opens with Chamfer Amount set to the amount of the last manual chamfer. Target Weld Allows you to select an edge and weld it to a target edge. When positioned over an edge, the cursor changes to a + cursor. Click and move the 2282 | Chapter 10 Surface Modeling mouse and a dashed line appears from the vertex with an arrow cursor at the other end of the line. Position the cursor over another edge and when the + cursor appears again, click the mouse. The first edge is moved to the position of the second, and the two are welded. You can weld only edges that have one polygon attached; that is, edges on a border. Also, you cannot perform a weld operation that would result in illegal geometry (e.g., an edge shared by more than two polygons). For example, you cannot weld opposite edges on the border of a box that has a side removed. Bridge Connects border edges on an object with a polygon “bridge.” Bridge connects only border edges; that is, edges that have a polygon on only one side. This tool is particularly useful when creating edge loops or profiles. There are two ways to use Bridge in Direct Manipulation mode (that is, without opening the Bridge Edges caddy): ■ Select two or more border edges on the object, and then click Bridge. This immediately creates the bridge between the pair of selected borders using the current Bridge settings, and then deactivates the Bridge button. ■ If no qualifying selection exists (that is, two or more selected border edges), clicking Bridge activates the button and places you in Bridge mode. First click a border edge and then move the mouse; a rubber-band line connects the mouse cursor to the clicked edge. Click a second edge on a different border to bridge the two. This creates the bridge immediately using the current Bridge settings; the Bridge button remains active for connecting more edges. To exit Bridge mode, right-click the active viewport or click the Bridge button. The new polygons that result from a Bridge operation are automatically selected; you can see this by accessing the Polygon sub-object level. Editable Poly (Edge) | 2283 Using Bridge at the Edge level NOTE Bridge always creates a straight-line connection between edges. To make the bridge connection follow a contour, apply modeling tools as appropriate after creating the bridge. For example, bridge two edges, and then use Bend on page 1104. Bridge Settings Opens the Bridge Edges caddy on page 2348, which lets you add polygons between pairs of edges via interactive manipulation. Connect Creates new edges between pairs of selected edges using the current Connect Edges settings. Connect is particularly useful for creating or refining edge loops. NOTE You can connect only edges on the same polygon. Also, Connect will not let the new edges cross. For example, if you select all four edges of a four-sided polygon and then click Connect, only neighboring edges are connected, resulting in a diamond pattern. 2284 | Chapter 10 Surface Modeling Connecting two or more edges using the Settings dialog creates equally spaced edges. The number of edges is set in the dialog. When you click the Connect button, the current dialog settings are applied to the selection. Connect Settings Opens the Connect Edges caddy on page 2353, which lets you preview the Connect results, specify the number of edge segments created by the operation, and set spacing and placement for the new edges. Create Shape From Selection After selecting one or more edges, click this button to create a spline shape from the selected edges. A Create Shape dialog appears, letting you name the shape and set it to Smooth or Linear. The new shape's pivot is placed at the center of the poly object. Editable Poly (Edge) | 2285 An edge selection (top); a smooth shape (center); a linear shape (bottom) Weight Sets the weight of selected edges. Used by the NURMS subdivision option on page 2328 and by the MeshSmooth modifier on page 1450. Increasing an edge weight tends to push the smoothed result away. 2286 | Chapter 10 Surface Modeling NOTE When the Select And Manipulate on page 2868 tool is active at the Edge sub-object level, the caddy appears in the viewport with a control for edge weight: . For instructions for using the caddy, see The Caddy Interface on page 2339. Crease Specifies how much creasing is performed on the selected edge or edges. Used by the NURMS subdivision option on page 2328 and by the MeshSmooth modifier on page 1450. At low settings, the edge is relatively smooth. At higher settings, the crease becomes increasingly visible. At 1.0, the highest setting, the edge becomes a hard crease. NOTE When the Select And Manipulate on page 2868 tool is active at the Edge sub-object level, the caddy appears in the viewport with a control for edge crease: . For instructions for using the caddy, see The Caddy Interface on page 2339. Edit Tri[angulation] Lets you modify how polygons are subdivided into triangles by drawing internal edges, or diagonals on page 9136. In Edit Triangulation mode, you can see the current triangulation in the viewport, and change it by clicking two vertices on the same polygon. Editable Poly (Edge) | 2287 To edit triangulation manually, turn on this button. The hidden edges appear. Click a polygon vertex. A rubber-band line appears, attached to the cursor. Click a non-adjacent vertex to create a new triangulation for the polygon. TIP For easier editing of triangulation, use the Turn command instead (see following). Turn Lets you modify how polygons are subdivided into triangles by clicking diagonals. When you activate Turn, the diagonals on page 9136 become visible as dashed lines in wireframe and edged-faces views. In Turn mode, click a diagonal to change its position. To exit Turn mode, right-click in the viewport or click the Turn button again. Each diagonal has only two available positions at any given time, so clicking a diagonal twice in succession simply returns it to its original position. But changing the position of a nearby diagonal can make a different alternate position available to a diagonal. For more information on how to use Turn with the enhanced Cut tool, see this procedure on page 1310. 2288 | Chapter 10 Surface Modeling Edit Geometry rollout For detailed descriptions of these controls, see Edit Geometry Rollout (Polymesh and Edit Poly)edit geometry rollouteditable polyeditable polyedit geometry rollout on page 1352. Subdivision Surface rollout For information about the Subdivision Surface rollout settings, see Subdivision Surface Rollout (Polymesh)subdivision surface rollouteditable polyeditable polysubdivision surface rollout on page 2327. Editable Poly (Edge) | 2289 Subdivision Displacement rollout For information about the Subdivision Displacement rollout settings, see Subdivision Displacement Rollout (Polymesh)subdivision displacement rollouteditable polyeditable polysubdivision displacement rollout on page 2332. Paint Deformation rollout Paint Deformation lets you stroke elevated and indented areas directly onto object surfaces. For more information, see Paint Deformation Rollout (Polymesh)editable polypaint deformation rolloutedit polypaint deformation rolloutrolloutspaint deformationpaint deformation rollout on page 2334. Editable Poly (Border) Select an editable poly object. ➤ ➤ Modify panel ➤ Selection rollout (Border) Select an editable poly object. ➤ Modify panel ➤ Modifier Stack display ➤ Expand Editable Poly. ➤ Border Select an editable poly object. ➤ Quad menu ➤ Tools 1 quadrant ➤ Border A border is a linear section of a mesh that can generally be described as the edge of a hole. This is usually a sequence of edges with polygons on only one side. For example, a box primitive on page 322 doesn't have a border, but the teapot on page 349 object has several: on the lid, on the body, on the spout, and two on the handle. If you create a cylinder and then delete an end polygon, the adjacent row of edges forms a border. At the editable poly Border sub-object level, you can select single and multiple borders and transform them using standard methods. This topic covers the Edit Geometry and Edit Borders rollouts; for other controls, see Editable Poly on page 2240. 2290 | Chapter 10 Surface Modeling Procedures To create a polygon that closes the surface at the selected border: 1 At the Border sub-object level, select any open edge. This selects the entire closed loop of continuous open edges that make up the border selection. 2 Click Cap. Interface Selection rollout See Editable Poly on page 2248 for information on the Selection rollout settings. Soft Selection rollout Soft Selection controls apply a smooth falloff between selected sub-objects and unselected ones. When Use Soft Selection is on, unselected sub-objects near your selection are given partial selection values. These values are shown in the viewports by means of a color gradient on the vertices, and optionally on the faces. They affect most types of sub-object deformations, such as the Move, Rotate, and Scale functions, as well as any deformation modifiers (such as Bend) applied to the object. This provides a magnet-like effect with a sphere of influence around the selection. For more information, see Soft Selection Rollout on page 1966. Editable Poly (Border) | 2291 Edit Borders rollout This rollout includes commands specific to editing borders. NOTE To delete a border, select it and press the Delete key. This deletes the border and all attached polygons. Extrude Lets you extrude a border manually via direct manipulation in the viewport. Click this button, and then drag vertically on any border to extrude it. Extruding a border moves it along a normal and creates new polygons that form the sides of the extrusion, connecting the border to the object. The extrusion can form a varying number of additional sides, depending on the geometry near the border. As you increase the length of the extrusion, the base increases in size, to the extent of the vertices adjacent to the extruded border's endpoints. Following are important aspects of border extrusion: ■ When the mouse cursor is over a selected border, it changes to an Extrude cursor. ■ To specify the extent of the extrusion, drag vertically, and to set the size of the base, drag horizontally. ■ With multiple borders selected, dragging on any one extrudes all selected borders equally. ■ While the Extrude button is active, you can extrude other borders in turn by dragging them. Click Extrude again or right-click in the active viewport to end the operation. 2292 | Chapter 10 Surface Modeling Extrude Settings Opens the Extrude Edges caddy on page 2360, which lets you perform extrusion via interactive manipulation. If you click this button after performing a manual extrusion, the same extrusion is performed on the current selection as a preview and the caddy opens with Extrusion Height set to the amount of the last manual extrusion. Insert Vertex Lets you subdivide border edges manually. After turning on Insert Vertex, click a border edge to add a vertex at that location. You can continue subdividing border edges as long as the command is active. To stop inserting vertices, right-click in the viewport, or click Insert Vertex again to turn it off. Chamfer Click this button and then drag a border in the active object. The border need not be selected first. If you chamfer multiple selected borders, all of them are chamfered identically. If you drag an unselected border, any selected borders are first deselected. A border chamfer essentially “frames” the border edges, creating a new set of edges paralleling the border edges, plus new diagonal edges at any corners. These new edges are exactly distance from the original edges. New chamfer faces are created with the material ID of one of the neighboring faces (picked at random) and a smoothing group which is an intersection of all neighboring smoothing groups. Alternatively, you can create open space around the chamfered borders, essentially cutting away at the open edges; for details, see Chamfer on page 2351. Chamfer Settings Opens the Chamfer Edges caddy on page 2351, which lets you chamfer borders via interactive manipulation and toggle the Open option. If you click this button after performing a manual chamfer, the same chamfer is performed on the current selection as a preview and the dialog opens with Chamfer Amount set to the amount of the last manual chamfer. Cap Caps an entire border loop with a single polygon. Select the border, and then click Cap. Editable Poly (Border) | 2293 Bridge Connects pairs of borders on an object with polygon “bridges.” There are two ways to use Bridge in Direct Manipulation mode (that is, without opening the Bridge Settings dialog): ■ Select an even number of borders on the object, and then click Bridge. This immediately creates the bridge between each pair of selected borders using the current Bridge settings, and then deactivates the Bridge button. ■ If no qualifying selection exists (that is, two or more selected borders), clicking Bridge activates the button and places you in Bridge mode. First click a border edge and then move the mouse; a rubber-band line connects the mouse cursor to the clicked edge. Click a second edge on a different border to bridge the two. This creates the bridge immediately using the current Bridge settings; the Bridge button remains active for connecting more pairs of borders. To exit Bridge mode, right-click the active viewport or click the Bridge button. The new polygons that result from a Bridge operation are automatically selected; you can see this by accessing the Polygon sub-object level. Using Bridge at the Border level. NOTE Bridge always creates a straight-line connection between border pairs. To make the bridge connection follow a contour, apply modeling tools as appropriate after creating the bridge. For example, bridge two borders, and then use Bend on page 1104. Bridge Settings Opens the Bridge caddy on page 2344, which lets you connect pairs of borders via interactive manipulation. 2294 | Chapter 10 Surface Modeling Connect Creates new edges between pairs of selected border edges. The edges are connected from their midpoints. You can connect only edges on the same polygon. Connect will not let the new edges cross. Thus, for example, if you select all four edges of a four-sided polygon and then click Connect, only neighboring edges are connected, resulting in a diamond pattern. Connect Settings Lets you preview the Connect and specify the number of edge segments created by the operation. To increase the mesh resolution around the new edge, increase the Connect Edge Segments setting. Create Shape From Selection After selecting one or more borders, click this button to create a spline shape from the selected edges. A Create Shape dialog appears, letting you name the shape and set it to Smooth or Linear. The new shape's pivot is placed at the center of the poly object. Weight Sets the weight of selected borders. Used by the NURMS subdivision option on page 2328. Increasing an edge weight tends to push the smoothed result away. Crease Specifies how much creasing is performed on the selected border or borders. Used by the NURMS subdivision option on page 2328. At low settings, the border is relatively smooth. At higher settings, the crease becomes increasingly visible. At 1.0, the highest setting, the border is not smoothed at all. Edit Tri[angulation] Lets you modify how polygons are subdivided into triangles by drawing internal edges, or diagonals on page 9136. To edit triangulation manually, turn on this button. The hidden edges appear. Click a polygon vertex. A rubber-band line appears, attached to the cursor. Click a non-adjacent vertex to create a new triangulation for the polygon. TIP For easier editing of triangulation, use the Turn command instead (see following). Turn Lets you modify how polygons are subdivided into triangles by clicking diagonals. When you activate Turn, the diagonals on page 9136 become visible as dashed lines in wireframe and edged-faces views. In Turn mode, click a diagonal to change its position. To exit Turn mode, right-click in the viewport or click the Turn button again. Each diagonal has only two available positions at any given time, so clicking a diagonal twice in succession simply returns it to its original position. But Editable Poly (Border) | 2295 changing the position of a nearby diagonal can make a different alternate position available to a diagonal. For more information on how to use Turn with the enhanced Cut tool, see this procedure on page 1310. Edit Geometry rollout For detailed descriptions of these controls, see Edit Geometry Rollout (Polymesh and Edit Poly)edit geometry rollouteditable polyeditable polyedit geometry rollout on page 1352. 2296 | Chapter 10 Surface Modeling Subdivision Surface rollout For information about the Subdivision Surface rollout settings, see Subdivision Surface Rollout (Polymesh)subdivision surface rollouteditable polyeditable polysubdivision surface rollout on page 2327. Subdivision Displacement rollout For information about the Subdivision Displacement rollout settings, see Subdivision Displacement Rollout (Polymesh)subdivision displacement rollouteditable polyeditable polysubdivision displacement rollout on page 2332. Paint Deformation rollout Paint Deformation lets you stroke elevated and indented areas directly onto object surfaces. For more information, see Paint Deformation Rollout (Polymesh)editable polypaint deformation rolloutedit polypaint deformation rolloutrolloutspaint deformationpaint deformation rollout on page 2334. Editable Poly (Polygon/Element) Select an editable poly object. ➤ ➤ (Polygon) or Modify panel ➤ Selection rollout (Element) Select an editable poly object. ➤ Modify panel ➤ Modifier Stack display ➤ Expand Editable Poly. ➤ Polygon/Element Select an editable poly object. ➤ Quad menu ➤ Tools 1 quadrant ➤ Polygon or Element A polygon is a closed sequence of three or more edges connected by a surface. Polygons provide the renderable surface of editable poly objects. At the Editable Poly (Polygon) sub-object level, you can select single and multiple polygons and transform them using standard methods. At the Element sub-object level you can select and edit groups of contiguous polygons. For further distinctions between polygon and element, see Editable Poly ➤ Selection rollout on page 2248. This topic covers the Edit Polygons/Elements Editable Poly (Polygon/Element) | 2297 rollout and Edit Geometry rollout functions for these sub-object types; for other controls, see Editable Poly on page 2240. TIP You can toggle highlighting of selected polygons in a shaded viewport with the Shade Selected Faces switch on the Viewport Configuration dialog. To open the dialog, open the General viewport label menu ([+]) and choose Configure from the menu. You can also toggle this feature with the default keyboard shortcut, F2. NOTE Workflow enhancements in the Editable Poly user interface give you a choice of editing methods. See Editable Poly Workflowinteractive manipulation modedirect manipulation modeworkflowseditable poly on page 2242 for more information. Interface Selection rollout See Editable Poly ➤ Selection rollout on page 2248 for information on the Selection rollout settings. Soft Selection rollout Soft Selection controls apply a smooth falloff between selected sub-objects and unselected ones. When Use Soft Selection is on, unselected sub-objects near your selection are given partial selection values. These values are shown in the viewports by means of a color gradient on the vertices, and optionally on the faces. They affect most types of sub-object deformations, such as the Move, Rotate, and Scale functions, as well as any deformation modifiers (such as Bend) applied to the object. This provides a magnet-like effect with a sphere of influence around the selection. For more information, see Soft Selection Rollout on page 1966. 2298 | Chapter 10 Surface Modeling Edit Polygons/Elements rollout At the Element sub-object level, this rollout includes commands that are common to both polygons and elements. At the Polygon level, it contains those as well as a number more that are unique to polygons. The commands available at both levels are Insert Vertex, Flip, Edit Triangulation, Retriangulate, and Turn. NOTE To delete polygons or elements, select them and press the Delete key. If Delete Isolated Vertices on page 1365 is off, this can result in isolated vertices; that is, vertices with no associated face geometry. Insert Vertex Lets you subdivide polygons manually. Applies to polygons, even if at the element sub-object level. After turning on Insert Vertex, click a polygon to add a vertex at that location. You can continue subdividing polygons as long as the command is active. To stop inserting vertices, right-click in the viewport, or click Insert Vertex again to turn it off. Extrude Lets you perform manual extrusion via direct manipulation in the viewport. Click this button, and then drag vertically on any polygon to extrude it. Extruding polygons moves them along a normal and creates new polygons that form the sides of the extrusion, connecting the selection to the object. Following are important aspects of polygon extrusion: ■ When over a selected polygon, the mouse cursor changes to an Extrude cursor. Editable Poly (Polygon/Element) | 2299 ■ Drag vertically to specify the extent of the extrusion, and horizontally to set the size of the base. ■ With multiple polygons selected, dragging on any one extrudes all selected polygons equally. ■ You can drag other polygons in turn to extrude them while the Extrude button is active. Click Extrude again or right-click in the active viewport to end the operation. Chamfer box showing extruded polygon Extrude Settings Opens the Extrude Polygons caddy on page 2358, which lets you perform extrusion via interactive manipulation. If you click this button after performing an extrusion, the same extrusion is performed on the current selection as a preview and the dialog opens with Extrusion Height set to the amount of the last manual extrusion. Outline Lets you increase or decrease the outside edge of each contiguous group of selected polygons. 2300 | Chapter 10 Surface Modeling Outline is often used after an extrusion or bevel to adjust the size of the extruded faces. It doesn't scale the polygons; only changes the size of the outer edge. For example, in the following illustration, note that the sizes of the inner polygons remain constant. Editable Poly (Polygon/Element) | 2301 Extruded polygons (top), outline expanded (middle), outline reduced (bottom) Note that inner polygons do not change size. 2302 | Chapter 10 Surface Modeling Outline Settings Opens the Outline Polygons caddy, which lets you perform outlining by a numeric setting. For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. Bevel Lets you perform manual beveling via direct manipulation in the viewport. Click this button, and then drag vertically on any polygon to extrude it. Release the mouse button and then move the mouse vertically to outline the extrusion. Click to finish. ■ When over a selected polygon, the mouse cursor changes to a Bevel cursor. ■ With multiple polygons selected, dragging on any one bevels all selected polygons equally. ■ You can drag other polygons in turn to bevel them while the Bevel button is active. Click Bevel again or right-click to end the operation. Polygon beveled outward (left) and inward (right) Bevel Settings Opens the Bevel caddy on page 2342, which lets you perform beveling via interactive manipulation. If you click this button after performing a bevel, the same bevel is performed on the current selection as a preview and the dialog opens with the same settings used for the previous bevel. Editable Poly (Polygon/Element) | 2303 Inset Performs a bevel with no height; that is, within the plane of the polygon selection. Click this button, and then drag vertically on any polygon to inset it. ■ When over a selected polygon, the mouse cursor changes to an Inset cursor. ■ With multiple polygons selected, dragging on any one insets all selected polygons equally. ■ While the Inset button is active, you can drag other polygons in turn to inset them. To end the operation, click Inset again or right-click. Inset works on a selection of one or more polygons. As with Outline, only the outer edges are affected. Inset Settings Opens the Inset caddy on page 2363, which lets you inset polygons via interactive manipulation. If you click this button after performing a manual inset, the same inset is performed on the current selection as a preview and the dialog opens with Inset Amount set to the amount of the last manual inset. Bridge Connects two polygons or polygon selections on an object with a polygon “bridge.” There are two ways to use Bridge in Direct Manipulation mode (that is, without opening the Bridge Settings dialog): ■ Make two separate polygon selections on the object, and then click Bridge. This creates the bridge immediately using the current Bridge settings, and then deactivates the Bridge button. 2304 | Chapter 10 Surface Modeling ■ If no qualifying selection exists (that is, two or more discrete polygon selections), clicking Bridge activates the button and places you in Bridge mode. First click a polygon and move the mouse; a rubber-band line connects the mouse cursor to the clicked polygon. Click a second polygon to bridge the two. This creates the bridge immediately using the current Bridge settings; the Bridge button remains active for connecting more pairs of polygons. To exit Bridge mode, right-click the active viewport or click the Bridge button. Using Bridge at the Polygon level NOTE Bridge always creates a straight-line connection between polygon pairs. To make the bridge connection follow a contour, apply modeling tools as appropriate after creating the bridge. For example, bridge two polygons, and then use Bend on page 1104. Bridge Settings Opens the Bridge Polygons caddy on page 2344, which lets you connect pairs of polygon selections via interactive manipulation. Flip Reverses the directions of the normals of selected polygons, hence their facing. Hinge From Edge Lets you perform a manual hinge operation via direct manipulation in the viewport. Make a polygon selection, click this button, and then drag vertically on any edge to hinge the selection. The mouse cursor changes to a cross when over an edge. Editable Poly (Polygon/Element) | 2305 The hinge edge needn't be part of the selection. It can be any edge of the mesh. Also, the selection needn't be contiguous. Hinging polygons rotates them about an edge and creates new polygons that form the sides of the hinge, connecting the selection to the object. It's essentially an extrusion with rotation, with the exception that, if the hinge edge belongs to a selected polygon, that side is not extruded. The manual version of Hinge From Edge works only with an existing polygon selection. TIP To avoid inadvertently hinging about a backfacing edge, turn on Ignore Backfacing. Hinge Settings Opens the Hinge From Edge caddy on page 2362, which lets you hinge polygons via interactive manipulation. If you click this button after performing a manual hinge, the dialog opens with Angle set to the extent of the last manual hinge. Extrude Along Spline Extrudes the current selection along a spline. 2306 | Chapter 10 Surface Modeling You can extrude a single polygon (1) or a selection of contiguous (2) or non-contiguous polygons (3). Extrusion 2 uses Taper Curve and Twist (available via Settings). Extrusion 3 uses Taper Amount; each extrusion has a different curve rotation. Make a selection, click Extrude Along/On Spline, and then select a spline in the scene. The selection is extruded along the spline, using the spline's current orientation, but as though the spline's start point were moved to the center of each polygon or group. Extrude Along Spline Settings Opens the Extrude Along Spline caddy on page 2356, which lets you extrude along splines via interactive manipulation. Edit Triangulation Lets you modify how polygons are subdivided into triangles by drawing internal edges. Editable Poly (Polygon/Element) | 2307 In Edit Triangulation mode, you can see the current triangulation in the viewport, and change it by clicking two vertices on the same polygon. To manually edit triangulation, turn on this button. The hidden edges appear. Click a polygon vertex. A rubber-band line appears, attached to the cursor. Click a non-adjacent vertex to create a new triangulation for the polygon. Retriangulate Lets 3ds Max automatically do its best triangulation on the polygon or polygons currently selected. Retriangulate attempts to optimize how selected polygons are subdivided into triangles. 2308 | Chapter 10 Surface Modeling Turn Lets you modify how polygons are subdivided into triangles by clicking diagonals. When you activate Turn, the diagonals on page 9136 become visible as dashed lines in wireframe and edged-faces views. In Turn mode, click a diagonal to change its position. To exit Turn mode, right-click in the viewport or click the Turn button again. Each diagonal has only two available positions at any given time, so clicking a diagonal twice in succession simply returns it to its original position. But changing the position of a nearby diagonal can make a different alternate position available to a diagonal. For more information on how to use Turn with the enhanced Cut tool, see this procedure on page 1310. Edit Geometry rollout Editable Poly (Polygon/Element) | 2309 For detailed descriptions of these controls, see Edit Geometry Rollout (Polymesh and Edit Poly)edit geometry rollouteditable polyeditable polyedit geometry rollout on page 1352. Polygon: Material IDs rollout Set ID Lets you assign a particular material ID on page 9217 number to selected polygons for use with multi/sub-object materials on page 6542 and other applications. Use the spinner or enter the number from the keyboard. The total number of available IDs is 65,535. Select ID Selects polygons corresponding to the Material ID specified in the adjacent ID field. Type or use the spinner to specify an ID, then click the Select ID button. [Select By Name] This drop-down list shows the names of sub-materials if an object has a Multi/Sub-Object material assigned to it. Click the drop arrow and choose a sub-material from the list. The sub-objects that are assigned that material are selected. If an object does not have a Multi/Sub-Object material assigned, the name list is unavailable. Likewise, if multiple objects are selected that have an Edit Patch, Edit Spline, or Edit Mesh modifier applied, the name list is inactive. NOTE Sub-material names are those specified in the Name column on the material's Multi/Sub-Object Basic Parameters rollout; these are not created by default, and must be specified separately from any material names. Clear Selection When on, choosing a new ID or material name deselects any previously selected sub-objects. When off, selections are cumulative, so new ID or sub-material name selections add to the existing selection set of patches or elements. Default=on. 2310 | Chapter 10 Surface Modeling Polygon: Smoothing Groups rollout Use these controls to assign selected polygons to different smoothing groups on page 9310, and to select polygons by smoothing group. To assign polygons to one or more smoothing groups, select the polygons, and then click the number(s) of the smoothing group(s) to assign them to. Select By SG (Smoothing Group) Displays a dialog that shows the current smoothing groups. Select all polygons that belong to a group by clicking the corresponding numbered button and clicking OK. If Clear Selection is on, any previously selected polygons are first deselected. If Clear Selection is off, the new selection is added to any existing selection. Clear All Removes any smoothing group assignments from selected polygons. Auto Smooth Sets the smoothing groups based on the angle between polygons. Any two adjacent polygons will be put in the same smoothing group if the angle between their normals is less than the threshold angle, set by the spinner to the right of this button. Threshold This spinner (to the right of Auto Smooth) lets you specify the maximum angle between the normals of adjacent polygons that determines whether those polygons will be put in the same smoothing group. Polygon: Vertex Colors rollout Editable Poly (Polygon/Element) | 2311 Use these controls to assign the color, illumination color (shading), and alpha (transparency) values of vertices on selected polygons or elements. Color Click the color swatch to change the color of vertices on selected polygons or elements. Illumination Click the color swatch to change the illumination color of vertices on selected polygons or elements. This lets you change the illumination without changing the vertex's color. Alpha Lets you assign an alpha (transparency) value to vertices on selected polygons or elements. The spinner value is a percentage; zero is completely transparent and 100 is completely opaque. Subdivision Surface rollout For information about the Subdivision Surface rollout settings, see Subdivision Surface Rollout (Polymesh)subdivision surface rollouteditable polyeditable polysubdivision surface rollout on page 2327. Subdivision Displacement rollout For information about the Subdivision Displacement rollout settings, see Subdivision Displacement Rollout (Polymesh)subdivision displacement rollouteditable polyeditable polysubdivision displacement rollout on page 2332. Paint Deformation rollout Paint Deformation lets you stroke elevated and indented areas directly onto object surfaces. For more information, see Paint Deformation Rollout (Polymesh)editable polypaint deformation rolloutedit polypaint deformation rolloutrolloutspaint deformationpaint deformation rollout on page 2334. Edit Geometry Rollout (Polymesh and Edit Poly) Create or select an editable poly or Edit Poly object. ➤ ➤ Edit Geometry rollout Modify panel The Edit Geometry rollout provides global controls for changing the geometry of the poly object, at either the top (Object) level or the sub-object levels. The controls are the same at all levels, except as noted in the descriptions below. 2312 | Chapter 10 Surface Modeling Interface Repeat Last Repeats the most recently used command. For example, if you extrude a polygon, and want to apply the same extrusion to several others, select the others, and then click Repeat Last. Edit Geometry Rollout (Polymesh and Edit Poly) | 2313 You can apply a spline extrusion of a single polygon (left) repeatedly to other single polygons (1) or to multiple polygon selections, contiguous (2) or not (3). NOTE Repeat Last does not repeat all operations. For example, it does not repeat transforms. To determine which command will be repeated when you click the button, check the tooltip for the Repeat Last button on the command panel, which gives the name of the last operation that can be repeated. If no tooltip appears, nothing will happen when you click the button. Constraints Lets you use existing geometry to constrain sub-object transformation. Choose the constraint type: ■ None: No constraints. This is the default option. ■ Edge: Constrains sub-object transformations to edge boundaries. ■ Face: Constrains sub-object transformations to individual face surfaces. ■ Normal: Constrains each sub-object’s transformations to its normal, or the average of its normals. In most cases, this causes sub-objects to move perpendicular to the surface. NOTE This constraint works like the Push modifier on page 1588, including the fact that it operates on unmodified base normals. Edited normals are unsupported. 2314 | Chapter 10 Surface Modeling When set to Edge, moving a vertex will slide it along one of the existing edges, depending on the direction of the transformation. If set to Face, the vertex moves only on the polygon’s surface. NOTE You can set constraints at the Object level, but their use pertains primarily to sub-object levels. The Constraints setting persists at all sub-object levels. Preserve UVs When on, you can edit sub-objects without affecting the object's UV mapping. You can choose any of an object's mapping channels to preserve or not; see Preserve UVs Settings, following. Default=off. Without Preserve UVs, there is always a direct correspondence between an object's geometry and its UV mapping. For example, if you map an object and then move vertices, the texture moves along with the sub-objects, whether you want it to or not. If you turn on Preserve UVs, you can perform minor editing tasks without changing the mapping. Original object with texture map (left); Scaled vertices with Preserve UVs off (center); Scaled vertices with Preserve UVs on (right) TIP For best results with Preserve UVs at the vertex level, use it for limited vertex editing. For example, you'll usually have no trouble moving a vertex within edge or face constraints. Also, it's better to perform one big move than several smaller moves, as multiple small moves can begin to distort the mapping. If, however, you need to perform extensive geometry editing while preserving mapping, use the Channel Info utility on page 6936 instead. Edit Geometry Rollout (Polymesh and Edit Poly) | 2315 Preserve UVs Settings Opens the Preserve Map Channels dialog on page 2367, which lets you specify which vertex color channels and/or texture channels (map channels) to preserve. By default, all vertex color channels are off (not preserved), and all texture channels are on (preserved). Create Lets you create new geometry. How this button behaves depends on which level is active: ■ Object, Polygon, and Element levelsLets you add polygons in the active viewport. After you turn on Create, click three or more times in succession anywhere, including on existing vertices, to define the shape of the new polygon. To finish, right-click. While creating a polygon at the Polygon or Element level, you can delete the most recently added vertex by pressing Backspace. You can do this repeatedly to remove added vertices in reverse order of placement. You can start creating polygons in any viewport, but all subsequent clicks must take place in the same viewport. TIP For best results, click vertices in counterclockwise (preferred) or clockwise order. If you use clockwise order, the new polygon will face away from you. ■ Vertex levelLets you add vertices to a single selected poly object. After selecting the object and clicking Create, click anywhere in space to add free-floating (isolated) vertices to the object. The new vertices are placed on the active construction plane unless object snapping is on. For example, with face snapping on, you can create vertices on object faces. ■ Edge and Border levelsLets you create an edge between a pair of non-adjacent vertices on the same polygon. Click Create, click a vertex, and then move the mouse. A rubber-band line extends from the vertex to the mouse cursor. Click a second, non-adjacent vertex on the same polygon to connect them with an edge. Repeat, or, to exit, right-click in the viewport or click Create again. Edges you create separate the polygons. For example, by creating an edge inside a quadrilateral polygon, you turn it into two triangles. Collapse (Vertex, Edge, Border, and Polygon levels only) Collapses groups of contiguous selected sub-objects by welding their vertices to a vertex at the selection center. 2316 | Chapter 10 Surface Modeling Using collapse on a vertex selection Using collapse on a polygon selection Attach Lets you attach other objects in the scene to the selected poly object. After activating Attach, click an object to attach to the selected object. Attach remains active, so you can continue clicking objects to attach them. To exit, right-click in the active viewport or click the Attach button again. You can attach any type of object, including splines, patch objects, and NURBS surfaces. Attaching a non-mesh object converts it to editable-poly format. When you attach an object, the materials of the two objects are combined in the following way: ■ If the object being attached does not have a material assigned, it inherits the material of the object it is being attached to. Edit Geometry Rollout (Polymesh and Edit Poly) | 2317 Handle inherits material from the cup it is being attached to. ■ Likewise, if the object you're attaching to doesn't have a material, it inherits the material of the object being attached. ■ If both objects have materials, the resulting new material is a multi/sub-object material on page 6542 that includes the input materials. A dialog appears offering three methods of combining the objects' materials and material IDs. For more information, see Attach Options Dialog on page 2232. Attach remains active in all sub-object levels, but always applies to objects. Attach List Lets you attach other objects in the scene to the selected mesh. Click to open the Attach List dialog, which works like Select From Scene on page 184 to let you choose multiple objects to attach. 2318 | Chapter 10 Surface Modeling Upper left: Shaded view of model Upper right: Wireframe view of model Lower left: Model with objects attached Lower right: Subsequent multi/sub-object material Detach (sub-object levels only) Detaches the selected sub–objects and the polygons attached to them as a separate object or element(s). With an Editable Poly object, when you click Detach, the software prompts you for the options specified on the Detach dialog. With an Edit Poly object, Detach on the Modify panel automatically uses those settings. To change them, click Detach Settings (see following). Edit Geometry Rollout (Polymesh and Edit Poly) | 2319 Detach Settings Opens the Detach dialog on page 1367, which lets you set several options. Available only with Edit Poly objects; with Editable Poly, this dialog opens automatically when you click Detach. Cut and Slice group These knife-like tools let you subdivide the poly mesh along a plane (Slice) or in a specific area (Cut). Also see Full Interactivity on page 1366. Slice Plane (sub-object levels only) Creates a gizmo for a slice plane that you can position and rotate to specify where to slice. Also enables the Slice and Reset Plane buttons; click Slice to create new edges where the plane intersects the geometry. If you use Slice Plane from the modeling ribbon, the Slice, Split, and Reset Plane controls are available on the Slice Mode contextual panel on page 2049. If snapping is off, you see a preview of the slice as you transform the slice plane. To perform the slice, click the Slice button. NOTE At the Polygon or Element sub-object level, Slice Plane affects only selected polygons. To slice the entire object, use Slice Plane at any other sub-object level, or at the object level. Split When on, the QuickSlice and Cut operations create double sets of vertices at the points where the edges are divided. This lets you easily delete the new polygons to create holes, or animate the new polygons as separate elements. Slice (sub-object levels only) Performs the slice operation at the location of the slice plane. Available only when Slice Plane is on. This tool slices the poly just like the “Operate On: Polygons” mode of the Slice modifier on page 1676. 2320 | Chapter 10 Surface Modeling Left: Using Slice; Right: After slicing and moving the pieces apart Reset Plane (sub-object levels only) Returns the Slice plane to its default position and orientation. Available only when Slice Plane is on. QuickSlice Lets you quickly slice the object without having to manipulate a gizmo. Make a selection, click QuickSlice, and then click once at the slice start point and again at its endpoint. You can continue slicing the selection while the command is active. To stop slicing, right-click in the viewport, or click QuickSlice again to turn it off. Edit Geometry Rollout (Polymesh and Edit Poly) | 2321 With Quickslice on, you can draw a line across your mesh in any viewport, including Perspective and Camera views. The mesh is sliced interactively as you move the line endpoint. NOTE At the Object level, QuickSlice affects the entire object. To slice only specific polygons, use QuickSlice on a polygon selection at the Poly sub-object level. NOTE At the Polygon or Element sub-object level, QuickSlice affects only selected polygons. To slice the entire object, use QuickSlice at any other sub-object level, or at the object level. Cut Lets you create edges from one polygon to another or within polygons. Click at the start point, move the mouse and click again, and continue moving and clicking to create new connected edges. Right-click once to exit the current cut, whereupon you can start a new one, or right-click again to exit Cut mode. While cutting, the mouse cursor icon changes to show the type of sub-object it’s over, to which the cut will be made when you click. The following illustration shows the three different cursor icons. 2322 | Chapter 10 Surface Modeling Top: Cutting to a vertex Center: Cutting to an edge Bottom: Cutting to a polygon Cut is available at the object level and all sub-object levels. NOTE You can use Cut with Turn for enhanced productivity. For more information, see this procedure on page 1310. Edit Geometry Rollout (Polymesh and Edit Poly) | 2323 _____ MSmooth Smoothes the object using the current settings. This command uses subdivision functionality similar to that of the MeshSmooth modifier on page 1450 with NURMS Subdivision, but unlike NURMS subdivision, it applies the smoothing instantly to the selected area of the control mesh. Smoothing a low-poly object with NURMS subdivision MSmooth Settings Opens the MeshSmooth Selection dialog on page 2365, which lets you specify how smoothing is applied. Tessellate Subdivides all polygons in the object based on the Tessellation settings on page 2371. Tessellation is useful for increasing local mesh density while modeling. You can subdivide any selection of polygons. Two tessellation methods are available: Edge and Face. Tessellate Settings Opens the Tessellate caddy on page 2371, which lets you specify how smoothing is applied. Make Planar Forces all selected sub-objects to be coplanar. The plane's normal is the average surface normal of the selection. At the Object level, forces all vertices in the object to become coplanar. TIP One application for Make Planar is making a flat side on an object. Normally, you would use a contiguous selection set. If the selection includes vertices on various parts of the object, the vertices are still made planar, but with distorting effects on the rest of the geometry. 2324 | Chapter 10 Surface Modeling X/Y/Z Makes all selected sub-objects planar and aligns the plane with the corresponding plane in the object's local coordinate system. The plane used is the one to which the button axis is perpendicular; so, for example, clicking the X button aligns the object with the local YZ axis. At the Object level, makes all vertices in the object planar. View Align Aligns all vertices in the object to the plane of the active viewport. At sub-object levels, this function affects only selected vertices or those belonging to selected sub-objects. In orthographic viewports, aligning to the view has the same effect as aligning to the construction grid when the home grid is active. Aligning to a perspective viewport (including camera and light views), reorients the vertices to a plane that is parallel to the camera's viewing plane. This plane is perpendicular to the view direction that is closest to the vertices' average position. Above: Selected polygons in Perspective view Below: Same polygons aligned to Front view Edit Geometry Rollout (Polymesh and Edit Poly) | 2325 Grid Align Aligns all vertices in the selected object to the plane of the current view. At sub-object levels, aligns only selected sub-objects. This command aligns the selected vertices to the current construction plane. The current plane is specified by the active viewport in the case of the home grid. When using a grid object, the current plane is the active grid object. Relax Applies the Relax function to the current selection, using the current Relax settings (see following). Relax normalizes mesh spacing by moving each vertex toward the average location of its neighbors. It works the same way as the Relax modifier on page 1591. At the object level, Relax applies to the entire object. At sub-object levels, Relax applies only to the current selection. Relax Settings Opens the Relax caddy on page 2369, which lets you specify how the Relax function is applied. Hide Selected (Vertex, Polygon, and Element levels only) Hides selected sub-objects. Unhide All (Vertex, Polygon, and Element levels only) Restores hidden sub-objects to visibility. Hide Unselected (Vertex, Polygon, and Element levels only) Hides unselected sub-objects. Named Selections (sub-object levels only) Lets you copy and paste named selection sets of sub-objects between objects. Start by creating one or more named selection sets, copy one, select a different object, go to the same sub-object level, and then paste the set. NOTE This function uses sub-object IDs, so if the target object's geometry differs from that of the source object, the pasted selection will probably comprise a different set of sub-objects. For more information, see Named Selection Sets on page 163. Copy Opens a dialog that lets you specify a named selection set to place into the copy buffer. Paste Pastes the named selection from the copy buffer. _____ Delete Isolated Vertices (Edge, Border, Polygon, and Element levels only) When on, deletes isolated vertices when you delete a selection of 2326 | Chapter 10 Surface Modeling contiguous sub-objects. When off, deleting sub-objects leaves all vertices intact. Default=on. Full Interactivity (editable poly only) Toggles the level of feedback for the QuickSlice and Cut tools, as well as all settings dialogs and caddies. Available with editable poly objects, but not the Edit Poly modifier. When on (the default), 3ds Max updates the viewport in real time as you use the mouse to manipulate the tool or change a numeric setting. With Cut and QuickSlice, when Full Interactivity is off, only the rubber-band line is visible until you click. Similarly, with numeric settings in caddies, the final result is visible only when you release the mouse button after changing the setting. The state of Full Interactivity doesn't affect changing a numeric setting from the keyboard. Whether it's on or off, the setting takes effect only when you exit the field by pressing Tab or Enter, or by clicking a different control in the dialog. Subdivision Surface Rollout (Polymesh) Create or select an editable poly object. ➤ Subdivision Surface rollout Modify panel ➤ Applies subdivision to the object in the style of MeshSmooth on page 1450, so you can work on a lower-resolution "cage" mesh and simultaneously see a smoother, subdivided result. This rollout is available at all sub-object levels, as well as at the object level, and always affects the entire object. Subdivision Surface Rollout (Polymesh) | 2327 Interface Smooth Result Applies the same smoothing group to all polygons. Use NURMS Subdivision Applies smoothing via the NURMS method. See NURMS on page 1453. The difference between NURMS in Editable Poly and MeshSmooth is that the latter gives you access to control vertices, but the former does not. You control the degree of smoothing with the Iterations controls in the Display and Render groups. NOTE The remaining controls on this rollout take effect only when Use NURMS Subdivision is on. Isoline Display When on, 3ds Max displays only isolines: the object's original edges, before smoothing. The benefit of using this option is a less cluttered display. When off, 3ds Max displays all faces added by NURMS Subdivision; 2328 | Chapter 10 Surface Modeling thus, higher Iterations settings (see Display group on page 2330) result in a greater number of lines. Default=on. Smoothed box with Isoline Display off (left) and Isoline Display on (right). NOTE Applying a modifier to an Editable Poly object cancels the effect of the Isoline Display option; the wireframe display reverts to showing all polygons in the object. This is not, however, always the case with the MeshSmooth modifier. Most deformation and mapping modifiers maintain the isoline display, but others, such as the selection modifiers (except Volume Select) and the Turn To ... modifiers, cause the interior edges to be displayed. Show Cage Toggles the display of a two-color wireframe that shows the editable poly object before modification or subdivision. The cage colors are shown as swatches to the right of the check box. The first color represents unselected sub-objects, and the second color represents selected sub-objects. Change a color by clicking its swatch. Subdivision Surface Rollout (Polymesh) | 2329 The cage displays the original structure of the edited object. Typically this feature is used in conjunction with the NURMS Subdivision feature, or with the MeshSmooth modifier on page 1450, because it lets you easily toggle visibility of the unsmoothed base object while simultaneously viewing the smoothed result, but it works with any modifier. When used with a modifier, turn on Show End Result to make Show Cage available. TIP Show Cage is particularly helpful when used with the Symmetry modifier on page 1752. Display group Iterations Sets the number of iterations used to smooth the poly object. Each iteration generates all polygons using the vertices created from the previous iteration. Range=0 to 10. When the Iterations check box in the Render group (see following) is off, this setting controls iterations both in the viewports and at render time. When the check box is on, this setting controls iterations only in the viewports. 2330 | Chapter 10 Surface Modeling WARNING Use caution when increasing the number of iterations. The number of vertices and polygons in an object (and thus the calculation time) can increase as much as four times for each iteration. Applying four iterations to even a moderately complex object can take a long time to calculate. To stop calculation and revert to the previous iteration setting, press Esc. Smoothness Determines how sharp a corner must be before polygons are added to smooth it. A value of 0.0 prevents the creation of any polygons. A value of 1.0 adds polygons to all vertices even if they lie on a plane. When the Smoothness check box in the Render group (see following) is off, this setting controls smoothness both in the viewports and at render time. When the check box is on, this setting controls smoothness only in the viewports. Render group Applies a different number of smoothing iterations and/or a different Smoothness value to the object at render time. TIP Use a low number of iterations and/or a lower Sharpness value for modeling, and higher values for rendering. This lets you work quickly with a low-resolution object in the viewports, while producing a smoother object for rendering. Iterations Lets you choose a different number of smoothing iterations on page 2330 to be applied to the object at render time. Turn on Iterations, and then use the spinner to its right to set the number of iterations. Smoothness Lets you choose a different Smoothness on page 2331 value to be applied to the object at render time. Turn on Smoothness, and then use the spinner to its right to set the smoothness value. Separate By group Smoothing Groups Prevents the creation of new polygons at edges between faces that don't share at least one smoothing group. Materials Prevents the creation of new polygons for edges between faces that do not share Material IDs. Update Options group Sets manual or render-time update options, for situations where the complexity of the smoothed object is too high for automatic updates. Subdivision Surface Rollout (Polymesh) | 2331 TIP You can also use the Iterations settings in the Render group to set a greater degree of smoothing to be applied only at render time. Update Option Choose how the software is to update the mesh: ■ AlwaysUpdates the object automatically whenever you change any MeshSmooth settings. ■ When RenderingUpdates the viewport display of the object only at render time. ■ ManuallyAny settings you change don't take effect until you click the Update button. Update Updates the object in the viewport to match the current MeshSmooth settings. Works only when you choose When Rendering or Manually. Subdivision Displacement Rollout (Polymesh) Create or select an editable poly object. ➤ Subdivision Displacement rollout Modify panel ➤ Create or select an editable poly object. ➤ Modeling ribbon ➤ Subdivision panel ➤ Activate Use Displacement. ➤ Displacement panel Specifies surface approximation settings for subdividing an editable poly object. These controls work like the surface approximation settings for NURBS on page 2433 surfaces. They are used when you apply a displacement map on page 6482 to the editable poly object. NOTE These settings differ from the Subdivision Surface rollout on page 2327 settings in that, while the latter are applied at the same modifier-stack level as the mesh, subdivision displacement is always applied at the top of the stack, when the mesh is used for rendering. So, for example, applying the Symmetry modifier to an object that uses surface subdivision would affect the subdivided mesh, but would not affect an object that uses subdivision displacement only. TIP By default, subdivision displacement is visible only when the object is rendered. To see the results of displacement in the viewports, apply the Displace Mesh modifier on page 1005. 2332 | Chapter 10 Surface Modeling Interface Subdivision Displacement rollout on command panel Displacement panel on modeling ribbon Subdivision Displacement Rollout (Polymesh) | 2333 Subdivision Displacement When on, polygons are subdivided to accurately displace the poly object, using the method and settings you specify in the Subdivision Presets and Subdivision Method groups. When off, the poly is displaced by moving existing vertices, the way the Displace modifier on page 1255 does. Default=off. NOTE On the modeling ribbon, this control is available as the Subdivision panel ➤ Use Displacement on page 2101 button. Split Mesh Affects the seams of displaced poly objects; also affects texture mapping. When on, the poly object is split into individual polygons before it is displaced; this helps preserve texture mapping. When off, the poly is not split and an internal method is used to assign texture mapping. Default=on. TIP This parameter is required because of an architectural limitation in the way displacement mapping works. Turning Split Mesh on is usually the better technique, but it can cause problems for objects with clearly distinct faces, such as boxes, or even spheres. A box's sides might separate as they displace outward, leaving gaps. And a sphere might split along its longitudinal edge (found in the rear for spheres created in the Top view) unless you turn off Split Mesh. However, texture mapping works unpredictably when Split Mesh is off, so you might need to add a Displace Mesh modifier on page 1005 and make a snapshot on page 888 of the poly. You would then apply a UVW Map modifier on page 1883 and then reassign mapping coordinates to the displaced snapshot poly. Subdivision Presets group & Subdivision Method group These settings determine how 3ds Max applies the displacement map when Subdivision Displacement is on. They are identical to the Tessellation settings on the Surface Approximation rollout on page 2762 used for NURBS surfaces. Paint Deformation Rollout (Polymesh) Edit/Editable Poly object ➤ Paint Deformation rollout Paint Deformation lets you push, pull, or otherwise affect vertices by dragging the mouse cursor over the object surface. At the object level, Paint Deformation affects all vertices in the selected object. At sub-object levels, it affects only selected vertices (or vertices that belong to selected sub-objects), and recognizes soft selection. By default, deformation occurs in the normal on page 9237 direction of each vertex. 3ds Max continues to use a vertex's original normal for the direction 2334 | Chapter 10 Surface Modeling of deformation, but you can opt to use the altered normal direction for a more dynamic modeling process, or even deform along a specific axis. NOTE Paint Deformation cannot be animated. TIP You can streamline the painting process by using the Brush Presets tools on page 8633. Procedures To paint deformation onto a mesh object: 1 Apply an Edit Poly modifier on page 1274 to an object, or convert the object to Editable Poly on page 2240 format. Paint Deformation uses existing geometry, so the object should have enough mesh resolution for the desired deformation. 2 Do either of the following: ■ To deform anywhere on the object, remain at the object level, or work at a sub-object level with no sub-objects selected. ■ To deform only specific areas of an object, go to a sub-object level and then select the sub-objects in the area to deform. 3 On the Paint Deformation rollout, click Push/Pull. 4 Set Push/Pull value to a negative value to push into the object surface, or to a positive value to pull the surface outward. The higher the absolute value, the greater the effect. 5 Set Brush Size and Brush Strength. 6 Position the mouse cursor over the surface to be deformed. As you move the mouse, the “brush” reorients dynamically to show the normal direction of the portion of the mesh currently under the cursor. You can use the normal direction of deformed surfaces as the push/pull direction by choosing Deformed Normals. 7 Press the mouse button and drag to deform the surface. If you paint in the same spot repeatedly without lifting the mouse button, the effect is cumulative up to the maximum Push/Pull Value setting. Paint Deformation Rollout (Polymesh) | 2335 Interface Paint Deformation has three modes of operation: Push/Pull, Relax, and Revert. Only one of these modes can be active at a time. The remaining settings control the effect of the active deformation mode. For any mode, choose the mode, change settings as necessary, and then drag the cursor over the object to paint the deformation. To paint deformation anywhere on the object, remain at the object level, or work at a sub-object level with no sub-objects selected. To deform only specific areas of an object, go to a sub-object level and select the sub-objects in the area to deform. Push/Pull Moves vertices into the object surface (push) or out of the surface (pull). The direction and extent of pushing or pulling is determined by the Push/Pull Value setting. TIP To reverse the Push/Pull direction while painting, press and hold Alt. NOTE Push/Pull supports soft selection in that effective strength falls off with the selection value of soft-selected sub-objects. 2336 | Chapter 10 Surface Modeling Relax Normalizes the distances between vertices by moving each vertex to a position calculated from the average of its neighbors. Relax uses the same method as the Relax modifier on page 1591. Use Relax to push apart vertices that are too close together, or to pull together vertices that are too far apart. Revert Lets you gradually “erase” or reverse the effects of Push/Pull or Relax by painting. Affects only vertices deformed since the most recent Commit operation. If no vertices qualify for reversion, the Revert button is unavailable. TIP You can switch to Revert mode temporarily by pressing and holding the Ctrl key while painting deformation in Push/Pull or Relax mode. Push/Pull Direction group This setting lets you specify whether pushing or pulling vertices occurs with respect to surface normals, original or deformed, or along a specific axis. Default=Original Normals. Painting deformations with Original Normals typically moves vertices perpendicular to the original surface; using Deformed Normals tends to move vertices outward after their initial deformation, resulting in a “puffy” effect. Original Normals When chosen, pushing or pulling a vertex moves it in the direction of its normal before deformation. Repeated applications of Paint Deformation always move each vertex in the same direction it moved originally. Deformed Normals When chosen, pushing or pulling a vertex moves it in the current direction of the normal; that is, after deformation. Transform axis X/Y/Z When chosen, pushing or pulling a vertex moves it along the specified axis, using the current reference coordinate system on page 860. _____ Push/Pull Value Determines the direction and maximum extent of a single application of the push/pull operation. Positive values “pull” vertices out of the object surface, and negative values “push” vertices into the surface. Default =10.0. A single application is defined as painting (that is, dragging once or more over the same area) without lifting the mouse button. Paint Deformation Rollout (Polymesh) | 2337 TIP You can use Alt to switch between pushing and pulling with the same value while painting. For example, if you're pulling with a value of 8.5, press and hold Alt to start pushing with a value of -8.5. Brush Size Sets the radius of the circular brush. Only vertices inside the brush circle are deformed. Default=20.0. TIP To change the brush radius interactively, release the mouse button, press and hold Shift+Ctrl+left mouse button, and then drag the mouse. This also works with all other painter-interface features in 3ds Max such as Skin ➤ Paint Weights and VertexPaint. Brush Strength Sets the rate at which the brush applies the Push/Pull value. A low Strength value applies the effect more slowly than a high value. Range=0.0 to 1.0. Default=1.0. TIP To change the brush strength interactively, release the mouse button, press and hold Shift+Alt+left mouse button, and then drag the mouse. This also works with all other painter-interface features in 3ds Max such as Skin ➤ Paint Weights and VertexPaint. Brush Options Click this button to open the Painter Options dialog on page 1940, where you can set various brush-related parameters. Commit Makes any deformation changes permanent, “baking” them into the object geometry. After using Commit, you can no longer apply Revert to changes up to that point. Cancel Eliminates all changes since the initial application of Paint Deformation or the most recent Commit operation. Editable Poly Settings These topics describe settings for tools for editing Editable Polymesh surfaces. The settings are used in Interactive Manipulation mode on page 1280, in which you can adjust settings parametrically and see the results immediately in the viewports. 2338 | Chapter 10 Surface Modeling The Caddy Interface Most settings described in this section use the caddy, a new “in-canvas” interface that comprises a dynamic label and a set of buttons superimposed on the viewport. The caddy supplants the previous settings dialogs, which are no longer available. NOTE You can also use the caddy in Manipulate mode to adjust Soft Selection properties and certain sub-object settings. For details, see Select And Manipulate on page 2868. You use familiar mouse-based methods for adjusting caddy settings, including clicking and dragging spinners, drop-down lists, and keyboard entry. However, it’s important to understand the specifics of interacting with the caddy interface as detailed following: ■ The caddy label appears at the top in white text on a dark background, and specifies the feature name (for example, Extrude Polygons) when the mouse cursor isn’t over any control. When the mouse cursor is over a control, the label displays the control name. Editable Poly Settings | 2339 Left: The mouse cursor is not over a control, so the caddy label shows the feature name. Right: The mouse cursor is over the Height control. ■ The caddy first appears near the sub-object selection. If you change the selection, or move the object or navigate the navigate the viewport, the caddy moves with it. However, if you navigate the viewport so that the object is beyond its edges, the caddy remains within the viewport. To reposition the caddy, drag it by the title. Thereafter it remains in that position relative to the selection. This offset applies to all caddies for all objects. ■ A numeric control appears by default as a button containing an icon that depicts the control and the current value; for example, the Height control in the Extrude Polygons caddy: When the mouse cursor is over the control, the icon changes to a pair of arrows pointing left and right: The arrows function as a horizontal version of the standard spinner on page 8570 control in 3ds Max. Drag left or right to decrease or increase the value, respectively, or click either arrow to change the value by a small increment. While dragging, right-click to restore the previous value. To increase or decrease the rate of change, Ctrl+drag or Alt+ drag, respectively. You can also right-click the arrows to reset the value to 0 or a reasonable default value, depending on the control. 2340 | Chapter 10 Surface Modeling When the mouse cursor is over the displayed value, it changes to a text cursor. To edit the value with the keyboard, click or double-click and then enter a new value. To finish editing and accept the new value, press Enter, or, to cancel and exit, press Esc. Undo (Ctrl+Z) works normally with changes made by either method. ■ A control that represents a choice, such as Group / Local Normal / By Polygon in Extrude Polygons, appears as an icon showing the active choice along with a downward-pointing arrow. To cycle through the available choices, click the icon repeatedly; the caddy label changes to show the current choice. To choose from a list, click the arrow. Click the arrow to open the list. A choice setting can be accompanied by additional controls that are available only when a certain option is active. When a different option is active, the caddy buttons for the additional controls are dark, but you can still see a control name by positioning the mouse over it. ■ Some controls are toggles that can be on or off, like check boxes in the standard interface. These have a check mark on the caddy button. When the check mark is an outline, the switch is off, and when the check mark is solid, the switch is on. A toggle can be accompanied by additional controls that are available only when the control is on. When the toggle is off, the caddy buttons for the additional controls are dark, but you can still see a control name by positioning the mouse over it. ■ Another control type is the Pick button, like the Pick Spline control in Extrude Along Spline. To use a Pick button, first click it; the outline turns blue. Next select the item to pick. After that, the circle outline on the button is filled in and the control label changes to the name of the object you picked. To pick a different object, repeat the process. Editable Poly Settings | 2341 NOTE The Pick button remembers the current picked object on a per-object basis. So, for example, if you use Extrude Along Spline with one poly object, then select a different one, you’ll need to pick a spline again. But if you return to the first poly object, the spline you used before is still picked. Settings Persistence With the following exception, settings persist throughout the current session and affect subsequent use of the related tool. For example, if you change the Segments value for the Bridge tool, and then use the tool subsequently in Direct Manipulation mode on page 1280, the altered Segments value is applied automatically. The exception is where you apply a setting directly, typically by dragging on a sub-object. For example, changing the Chamfer Amount setting with the caddy doesn’t apply to chamfering a sub-object directly, because you set the amount by dragging. Bevel Polygons (Polymesh) Select an Edit Poly or editable poly object. ➤ Modify panel ➤ Polygon sub-object level ➤ Edit Polygons rollout ➤ Bevel ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Polygon sub-object level ➤ Quad menu ➤ Tools 2 quadrant ➤ Bevel ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ level ➤ Polygons panel ➤ Shift+click Settings from the drop-down list. (Polygon) sub-object (Bevel) or choose Bevel Beveling involves first extruding polygons and then scaling the extruded polygons. Use these settings for beveling polygons in Interactive Manipulation mode. 2342 | Chapter 10 Surface Modeling Interface For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. [Bevel Type] From the drop-down list, choose the method for beveling multiple polygons at once: ■ GroupBeveling takes place along the average normal of each contiguous group of polygons. If you bevel multiples of such groups, each group moves along its own averaged normal. Local NormalBeveling takes place along each selected polygon's ■ normal. ■ By PolygonBevels each polygon individually. Height Specifies the extent of the extrusion in scene units on page 9295. You can extrude selected polygons outward or inward, depending on whether the value is positive or negative. Outline Amount Makes the outer border of selected polygons bigger or smaller, depending on whether the value is positive or negative. _____ OK Applies the settings to the current selection and closes the caddy. Editable Poly Settings | 2343 Apply and Continue Applies the settings to the current selection, retaining them for the preview if you then change the selection. Cancel Closes the caddy without applying the settings to the current selection. Does not reverse previous uses of Apply. Bridge Borders/Polygons (Polymesh) Select an Edit Poly or editable poly object. ➤ Modify panel ➤ Polygon or Border sub-object level ➤ Edit Polygons rollout ➤ Bridge ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Polygon or Border sub-object level ➤ Quad menu ➤ Tools 2 quadrant ➤ Bridge ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ (Polygon) or (Border) sub-object level ➤ Polygons or Border Edges panel ➤ Shift+click list. (Bridge) or choose Bridge Settings from the drop-down Use these settings for bridging pairs of polygons, polygon selections, or borders in Interactive Manipulation mode. NOTE Bridge calculates which way the bridge polygons should face. If you bridge two sub-objects so that the bridge goes through the object, the bridge polygons face inward. But if you create a bridge that goes through empty space, such as when connecting sub-objects between two elements, the polygons face outward. To reverse the facing of bridge polygons, use the Flip on page 1345 function. 2344 | Chapter 10 Surface Modeling Examples of an internal bridge (left) and an external bridge (right), the latter connecting two elements NOTE Bridging two elements makes them contiguous, combining them into a single element. Interface For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. Editable Poly Settings | 2345 Bridge lets you use existing poly/border selections, or pick them with caddy controls. Segments Specifies the number of polygons along the length of the bridge connection. This setting also applies to manually bridged polygons. TIP When using Taper, set Segments to a value greater than 1. Taper Sets the extent to which the bridge width becomes smaller or larger toward its center. Negative settings taper the bridge center smaller; positive settings taper it larger. NOTE To change the location of maximum taper, use the Bias setting. Bias Determines the location of maximum taper amount. The range of the Bias value is -99.0 to 99.0. At the default value of 0.0, the taper amount is greatest at the center of the bridge. At -99.0, the taper amount is greatest near the first selected polygon or border; at 99.0, it's greatest near the second selected polygon or border. Smooth Determines the maximum angle between columns across which smoothing can occur. A column is a string of polygons extending along the length of the bridge. Twist 1 / Twist 2 Rotates the order of connection between the edges of the two selections. The two controls let you set a different twist amount for each end of the bridge. Use Selection / Use Specific [sub-objects] Choose whether to bridge sub-objects that you choose with the caddy controls, or use an existing selection. The options are: ■ Use Polygon/Border SelectionIf one or more qualifying selection pairs exist, choosing this option connects them immediately. If not, you can select pairs of sub-objects in a viewport to connect them. If you make more than two qualifying selections, Bridge connects them in increasing order of ID. For example, if you select polygon 12, 35, and 2346 | Chapter 10 Surface Modeling 89, Bridge connects polygons 12 and 35. But if you then deselect polygon 35, Bridge then connects polygons 12 and 89. ■ Use Specific Polygons/BordersIn this mode, use the Pick buttons to designate polygons or borders for bridging. Pick Polygon/Border 1/2 Click each Pick button in turn, and then click a polygon or border edge in a viewport. At the Border sub-object level, clicking any edge on a border designates the entire border for bridging. Also, the edges you pick on each border are connected directly, and the remaining edges are connected in consecutive order. You can change the order of the edge correspondences with the Twist settings. Available only in Use Specific mode. After you pick a sub-object, the small circle on the Pick button changes appearance from empty to filled in. You can change the selection at any time by clicking the Pick button again and picking a different sub-object. _____ OK Applies the settings to the current selection and closes the caddy. Apply and Continue Applies the settings to the current selection, retaining them for the preview if you then change the selection. Cancel Closes the caddy without applying the settings to the current selection. Does not reverse previous uses of Apply. Editable Poly Settings | 2347 Bridge Edges (Polymesh) Select an Edit Poly or editable poly object. ➤ Modify panel ➤ Polygon or Border sub-object level ➤ Edit Polygons rollout ➤ Bridge ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Polygon or Border sub-object level ➤ Quad menu ➤ Tools 2 quadrant ➤ Bridge ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ level ➤ Edges panel ➤ Shift+click from the drop-down list. (Edge) sub-object (Bridge) or choose Bridge Settings Use these settings for bridging pairs of edges in Interactive Manipulation mode. NOTE Bridge calculates which way the bridge polygons should face. If you bridge two edges so that the bridge goes through the object, the bridge polygons face inward. But if you create a bridge that goes through empty space, such as when connecting edges between two elements, the polygons face outward, in general. To make the bridge polygons face differently, use the Flip function. NOTE Bridging edges of two elements makes them contiguous, combining them into a single element. Interface For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. 2348 | Chapter 10 Surface Modeling Segments Specifies the number of polygons along the length of the bridge connection. This setting also applies to manually bridged edges. Smooth Specifies the maximum angle between columns across which smoothing can occur. A column is a string of polygons extending along the length of the bridge. Bridge Adjacent Specifies the minimum angle between adjacent edges across which bridging can occur. Edges less than this angle will not be bridged, and instead will be skipped. Top Left: Edge selections before bridging Top Right: Segments=2, Bridge Adjacent<83.0 Editable Poly Settings | 2349 Bottom Left: Bridge Adjacent=83.0 Bottom Right: Bridge Adjacent=126.5 NOTE The preceding illustration shows, among other things, how setting Bridge Adjacent too high can cause overlapping polygons (left side of the two bottom images), which is undesirable. Reverse Triangulation When bridging two edge selections, each of which contains different numbers of edges, you can use either of two methods of triangulating the bridge polygons. This toggle lets you switch between the two methods. Left: Reverse Triangulation on Right: Reverse Triangulation off Use Edge Selection / Bridge Specific Edges Choose whether to bridge edges that you choose with the caddy controls, or use an existing selection. The options are: ■ Use Edge SelectionIf one or more qualifying selection pairs exist, choosing this option connects them immediately. If not, you can select pairs of edges in a viewport to connect them. If you make more than two qualifying selections, Bridge connects them in increasing order of ID. For example, if you select edges 12, 35, and 89, Bridge connects the first two. But if you then deselect edge 35, Bridge connects edges 12 and 89. ■ Bridge Specific EdgesIn this mode, use the Pick buttons (see following) to designate edges for bridging. 2350 | Chapter 10 Surface Modeling Pick Edge 1 / Pick Edge 2 Click each Pick button in turn, and then click a border edge in a viewport. Available only in Bridge Specific Edges mode. After clicking an edge, the Pick button shows its ID number. You can change the selection at any time by clicking a Pick button and picking a different sub-object. _____ OK Applies the settings to the current selection and closes the caddy. Apply and Continue Applies the settings to the current selection, retaining them for the preview if you then change the selection. Cancel Closes the caddy without applying the settings to the current selection. Does not reverse previous uses of Apply. Chamfer Vertices/Edges/Borders (Polymesh) Select an Edit Poly or editable poly object. ➤ Modify panel ➤ Vertex/Edge/Border sub-object level ➤ Edit Vertices/Edges/Borders rollout ➤ Chamfer ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Vertex/Edge/Border sub-object level ➤ Quad menu ➤ Tools 2 quadrant ➤ Chamfer ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ (Edge), or (Vertex), (Border) sub-object level ➤ Vertices, Edges, or Border Edges Editable Poly Settings | 2351 panel ➤ Shift+click drop-down list. (Chamfer) or choose Chamfer Settings from the Chamfering creates new faces around the chamfered entity, along with connecting edges. Or, with the Open option, you can create an open (empty) area instead. For vertices, edges, and borders, you can use the caddy to set the chamfer amount numerically and to toggle the Open option. The Segments setting applies only to edges and borders. Interface For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. Chamfer Amount The extent of the chamfer. Default=1.0. Segments (edges/borders only) Adds edges and polygons over the area of the chamfer, and, with single chamfered edges, rounds off the chamfer. By default, the chamfer uses a single segment, which covers the chamfered area with a new polygon positioned diagonally with respect to the original corner. The higher the Segments value you use, the more the chamfer is rounded off. If you chamfer two or more adjacent, open edges at a time, the rounding off takes place only at open ends of the edges. No rounding takes place where the edges meet. Open When on, the chamfered area is deleted, leaving open space. Default=off. 2352 | Chapter 10 Surface Modeling _____ OK Applies the settings to the current selection and closes the caddy. Apply and Continue Applies the settings to the current selection, retaining them for the preview if you then change the selection. Cancel Closes the caddy without applying the settings to the current selection. Does not reverse previous uses of Apply. Connect Edges (Polymesh) Select an Edit Poly or editable poly object. ➤ Modify panel ➤ Edge or Border sub-object level ➤ Edit Edges rollout ➤ Connect ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Edge or Border sub-object level ➤ Quad menu ➤ Tools 2 quadrant ➤ Connect ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ (Border) sub-object level ➤ Loops panel ➤ Shift+click or choose Connect Settings from the drop-down list. (Edge) or (Connect) Connecting edges creates new edges between adjacent pairs of selected edges. The Connect Edges settings let you specify the number of new edges, the amount of separation from each other, and their general location. TIP Connecting edges, and in particular the Slide function, work best with ring selections on page 1293. Editable Poly Settings | 2353 Top left: Original edge selection Top right: Segments=3, Pinch=Slide=0 Bottom left: Segments=3, Pinch=-50, Slide=0 Bottom right: Segments=3, Pinch=-50, Slide=–200 Interface For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. 2354 | Chapter 10 Surface Modeling Segments The number of new edges between each adjacent pair of selected edges. Default=1. Pinch The relative spacing between the new, connecting edges. Negative values move the edges closer together; positive values move them farther apart. Default=0. If Segments=1, the Pinch setting has no effect. Slide The relative positioning of the new edges. Default=0. By default, the new edges are centered. Positive values move them in one direction, while negative values move them in the opposite direction. The new edges cannot move beyond existing edges. _____ OK Applies the settings to the current selection and closes the caddy. Apply and Continue Applies the settings to the current selection, retaining them for the preview if you then change the selection. Cancel Closes the caddy without applying the settings to the current selection. Does not reverse previous uses of Apply. Editable Poly Settings | 2355 Extrude Polygons Along Spline (Polymesh) Select an Edit Poly or editable poly object. ➤ Modify panel ➤ Polygon sub-object level ➤ Edit Polygons rollout ➤ Extrude Along Spline ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Polygon sub-object level ➤ Quad menu ➤ Tools 2 quadrant ➤ (Settings) Extrude Along Spline ➤ Select an Edit Poly or editable poly object. ➤ Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ (Polygon) sub-object level ➤ Polygons panel ➤ Shift+click (Extrude On Spline) or choose Extrude On Spline Settings from the drop-down list. Use these settings for extruding polygons along splines in Interactive Manipulation mode. Interface For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. 2356 | Chapter 10 Surface Modeling Segments Specifies the number of polygons into which each extruded side is subdivided. This setting also applies to manually extruded polygons. Taper Amount Sets the extent to which the extrusion becomes smaller or larger along its length. Negative settings taper the extrusion smaller; positive settings taper it larger. Taper Curve Sets the rate at which the tapering proceeds. Lower settings result in a more gradual taper; large settings result in a more abrupt taper. Taper Curve affects the thickness of the extrusion between its endpoints, but not the size of the ends. Twist Applies a twist along the length of the extrusion. When using this option, increasing the number of segments will improve the smoothness of the extrusion. Align Aligns the extrusion with the face normal, which, in most cases, makes it perpendicular to the extruded polygon(s). When turned off (the default), the extrusion is oriented the same as the spline. With Align To Face Normal, the extrusion does not follow the original orientation of the spline (1); it’s reoriented to match the face normals (2), or averaged normals for Editable Poly Settings | 2357 contiguous selections. The Rotation option is available only when Align To Face Normal is on. Rotation Sets the rotation of the extrusion. Available only when Align To Face Normal is on. Default=0. Range=-360 to 360. Pick Spline Click this button and then select a spline along which to extrude in the viewport. The spline object's name then appears on the button. If you open this caddy after performing a manual Extrude Along Spline, the name of the spline you used appears on the button. _____ OK Applies the settings to the current selection and closes the caddy. Apply and Continue Applies the settings to the current selection, retaining them for the preview if you then change the selection. Cancel Closes the caddy without applying the settings to the current selection. Does not reverse previous uses of Apply. Extrude Polygons (Polymesh) Select an Edit Poly or editable poly object. ➤ Modify panel ➤ Polygon sub-object level ➤ Edit Polygons rollout ➤ Extrude ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Polygon sub-object level ➤ Quad menu ➤ Tools 2 quadrant ➤ Extrude ➤ 2358 | Chapter 10 Surface Modeling (Settings) Select an Edit Poly or editable poly object. ➤ Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ sub-object level ➤ Polygons panel ➤ Shift+click Extrude Settings from the drop-down list. (Polygon) (Extrude) or choose Use these settings for extruding polygons in Interactive Manipulation mode. Interface For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. [Extrusion Type] From the drop-down list, choose the method for extruding multiple polygons at once: ■ GroupExtrusion takes place along the average normal of each contiguous group of polygons. If you extrude multiples of such groups, each group moves along its own averaged normal. Local NormalExtrusion takes place along each selected polygon's ■ normal. ■ By PolygonExtrudes each polygon individually. Extrusion Height Specifies the amount of the extrusion in scene units on page 9295. You can extrude selected polygons outward or inward, depending on whether the value is positive or negative. Editable Poly Settings | 2359 _____ OK Applies the settings to the current selection and closes the caddy. Apply and Continue Applies the settings to the current selection, retaining them for the preview if you then change the selection. Cancel Closes the caddy without applying the settings to the current selection. Does not reverse previous uses of Apply. Extrude Vertices/Edges (Polymesh) Select an Edit Poly or editable poly object. ➤ Modify panel ➤ Vertex/Edge/Border sub-object level ➤ Edit Vertices/Edges/Borders rollout ➤ Extrude ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Vertex/Edge/Border sub-object level ➤ Quad menu ➤ Tools 2 quadrant ➤ Extrude ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ (Vertex) or (Edge) sub-object level ➤ Vertices or Edges panel ➤ Shift+click (Extrude) or choose Extrude Settings from the drop-down list. Use these settings for extruding vertices, edges, and borders in Interactive Manipulation mode. 2360 | Chapter 10 Surface Modeling NOTE At the Border sub-object level, this caddy is named Extrude Edges. Interface For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. Extrusion Height Specifies the amount of the extrusion in scene units on page 9295. You can extrude sub-objects outward or inward, depending on whether the value is positive or negative. Extrusion Base Width Specifies the size of the extrusion base in scene units on page 9295. You can set this as high as you want, but the actual size cannot extend beyond the vertices adjacent to the extruded sub-object(s). _____ OK Applies the settings to the current selection and closes the caddy. Apply and Continue Applies the settings to the current selection, retaining them for the preview if you then change the selection. Cancel Closes the caddy without applying the settings to the current selection. Does not reverse previous uses of Apply. Editable Poly Settings | 2361 Hinge From Edge (Polymesh) Select an Edit Poly or editable poly object. ➤ Modify panel ➤ Polygon sub-object level ➤ Edit Polygons rollout ➤ ➤ (Settings) Hinge From Edge Select an Edit Poly or editable poly object. ➤ Polygon sub-object level ➤ Quad menu ➤ Tools 2 quadrant ➤ Hinge From Edge ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ level ➤ Polygons panel ➤ Shift+click Settings from the drop-down list. (Polygon) sub-object (Hinge) or choose Hinge Use these settings for hinging polygons in Interactive Manipulation mode. Interface For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. Angle The rotation about the hinge. Hinge selected polygons outward or inward by using a positive or negative value, respectively. 2362 | Chapter 10 Surface Modeling Segments Specifies the number of polygons into which each extruded side is subdivided. This setting also applies to manually hinged polygons. Pick Hinge Click Pick Hinge, and then click an edge to be the hinge. After you designate a hinge, the circle in the button icon is filled in, and when you hover the mouse over the button, the label is “Edge #” where # is the ID number of the hinge edge. All subsequent hinge operations created from the caddy use this hinge. To hinge multiple polygons, each from one of its own sides, you must reselect the hinge each time. _____ OK Applies the settings to the current selection and closes the caddy. Apply and Continue Applies the settings to the current selection, retaining them for the preview if you then change the selection. Cancel Closes the caddy without applying the settings to the current selection. Does not reverse previous uses of Apply. Inset Polygons (Polymesh) Select an Edit Poly or editable poly object. ➤ Modify panel ➤ Polygon sub-object level ➤ Edit Polygons rollout ➤ Inset ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Polygon sub-object level ➤ Quad menu ➤ Tools 2 quadrant ➤ Inset ➤ (Settings) Editable Poly Settings | 2363 Select an Edit Poly or editable poly object. ➤ Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ sub-object level ➤ Polygons panel ➤ Shift+click Inset Settings from the drop-down list. (Polygon) (Inset) or choose Use these settings for insetting polygons in Interactive Manipulation mode. Interface For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. [Inset Type] From the drop-down list, choose the method for applying Inset to multiple selected polygons at once: ■ GroupThe inset takes place across each selection of multiple, contiguous polygons. ■ By PolygonInsets each polygon individually. Inset Amount Specifies the amount of the inset in scene units on page 9295. _____ OK Applies the settings to the current selection and closes the caddy. 2364 | Chapter 10 Surface Modeling Apply and Continue Applies the settings to the current selection, retaining them for the preview if you then change the selection. Cancel Closes the caddy without applying the settings to the current selection. Does not reverse previous uses of Apply. MeshSmooth Selection (Polymesh) Select an Edit Poly or editable poly object. ➤ Modify panel ➤ Polygon sub-object level ➤ Edit Geometry rollout ➤ MSmooth ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ (Polygon) sub-object level ➤ Subdivision panel ➤ Shift+click (MSmooth [MeshSmooth]) or choose MeshSmooth Settings from the drop-down list. Use these settings to specify how mesh smoothing affects editable poly and Edit Poly objects. Interface For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. Editable Poly Settings | 2365 Smoothness Determines how sharp a corner must be before polygons are added to smooth it. Smoothness is calculated as the average angle of all edges connected to a vertex. A value of 0.0 prevents the creation of any polygons. A value of 1.0 adds polygons to all vertices even if they lie on a plane. Separate by Smoothing Groups Prevents the creation of new polygons at edges between polygons that don't share at least one smoothing group. Separate by Materials Prevents the creation of new polygons for edges between polygons that do not share Material IDs. _____ OK Applies the settings to the current selection and closes the caddy. Apply and Continue Applies the settings to the current selection, retaining them for the preview if you then change the selection. Cancel Closes the caddy without applying the settings to the current selection. Does not reverse previous uses of Apply. 2366 | Chapter 10 Surface Modeling Preserve Map Channels Dialog (Polymesh) Select an Edit Poly or editable poly object. ➤ Modify panel ➤ any sub-object level ➤ Edit Geometry rollout ➤ Preserve UVs ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ sub-object level ➤ Edit panel ➤ Shift+click Preserve UVs Settings from the drop-down list. (Polygon) (Preserve UVs) or choose Use these settings for specifying which map channels to preserve when editing sub-objects with the Preserve UVs option on. A preserved map channel doesn't respond to minor editing that changes vertex locations, but a channel whose UVs aren't preserved allows mapping to be changed by changes in vertex locations. Interface The dialog contains buttons for all available, data-containing vertex color channels and texture channels. The number and type of buttons displayed vary depending on the state of the object; they can be changed, for example, with the VertexPaint modifier on page 1910 and the Channel Info utility on page 6936. Click a button to toggle its state. When off, a button appears like most other buttons in 3ds Max. When on, a button is highlighted and appears pressed in. Editable Poly Settings | 2367 Vertex Color Channels Displays buttons for any vertex-color channels that contain data. These can be Vertex Colors, Vertex Illumination, and Vertex Alpha. By default, all vertex-color buttons are off, so that associated UVs are affected by sub-object editing. To prevent a channel from being affected by sub-object editing, click its button. Texture Channels Displays buttons for any texture (mapping) channels that contain data. These are identified by number. By default these are on, so that associated UVs are not affected by sub-object editing. To allow a channel to be affected by sub-object editing, click its button. Reset All Returns all channel buttons to their default states: all vertex color channels off, all texture channels on. _____ Apply Applies the settings to the current selection, retaining them for the preview if you then change the selection. OK Applies the settings to the current selection and closes the dialog. Cancel Closes the dialog without applying the settings to the current selection. Does not reverse previous uses of Apply. 2368 | Chapter 10 Surface Modeling Relax (Polymesh) Select an Edit Poly or editable poly object. ➤ Modify panel ➤ object level or any sub-object level ➤ Edit Geometry rollout ➤ Relax ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ sub-object level ➤ Geometry (All) panel ➤ Shift+click choose Relax Settings from the drop-down list. (Polygon) (Relax) or Use these settings for relaxing vertices in Interactive Manipulation mode. Relax in Edit/Editable Poly works much like the Relax modifier on page 1591: It normalizes the distance between each affected vertex and its neighbors by moving the vertex toward the average position of its neighbors. NOTE At the object level, Relax applies to the entire object. At any sub-object level, Relax applies to selected sub-objects only. Interface For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. Editable Poly Settings | 2369 Amount Controls how far a vertex moves for each iteration. The value specifies a percentage of the distance from the original location of a vertex to the average location of its neighbors. Range=-1.0 to 1.0. Default=0.5. Iterations Sets how many times to repeat the Relax process. For each iteration, average locations are recalculated and the Relax Value is reapplied to every vertex. Default=1. Hold Boundary Points Controls whether vertices at the edges of open meshes are moved. Default=on. When on, boundary vertices do not move while the rest of the object is relaxed. This option is particularly useful when working with multiple elements within a single object that share open edges. When this check box is off, all vertices of the object are relaxed. Hold Outer Points When on, preserves the original positions of vertices farthest away from the object center. _____ OK Applies the settings to the current selection and closes the caddy. Apply and Continue Applies the settings to the current selection, retaining them for the preview if you then change the selection. Cancel Closes the caddy without applying the settings to the current selection. Does not reverse previous uses of Apply. 2370 | Chapter 10 Surface Modeling Tessellate (Polymesh) Select an Edit Poly or editable poly object. ➤ Modify panel ➤ Polygon sub-object level ➤ Edit Geometry rollout ➤ Tessellate ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ sub-object level ➤ Subdivision panel ➤ Shift+click choose Tessellate Settings from the drop-down list. (Polygon) (Tessellate) or Use this caddy to specify how Tessellate subdivides polygons. Interface For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. [Tessellation method] Choose the tessellation method from the drop-down list: ■ EdgeInserts vertices in the middle of each edge and draws lines connecting those vertices. The number of polygons created equals the number of sides of the original polygon. Editable Poly Settings | 2371 ■ FaceAdds a vertex to the center of each polygon and draws connecting lines from that vertex to the original vertices. The number of polygons created equals the number of sides of the original polygon. Tension Lets you increase or decrease the Edge tension value. Available only when the Edge tessellation method (see preceding) is active. A negative value pulls vertices inward from their plane, resulting in a concave effect. A positive value pulls vertices outward from their plane, resulting in a rounding effect. _____ OK Applies the settings to the current selection and closes the caddy. Apply and Continue Applies the settings to the current selection, retaining them for the preview if you then change the selection. Cancel Closes the caddy without applying the settings to the current selection. Does not reverse previous uses of Apply. Weld Vertices/Edges (Polymesh) Select an Edit Poly or editable poly object. ➤ Modify panel ➤ Vertex or Edge sub-object level ➤ Edit Vertices/Edges rollout ➤ Weld ➤ (Settings) Select an Edit Poly or editable poly object. ➤ Vertex or Edge sub-object level ➤ Quad menu ➤ Tools 2 quadrant ➤ Weld ➤ 2372 | Chapter 10 Surface Modeling (Settings) Select an Edit Poly or editable poly object. ➤ Modeling ribbon ➤ Graphite Modeling Tools tab ➤ Polygon Modeling panel ➤ (Vertex) or (Edge) sub-object level ➤ Vertices or Edges panel ➤ Shift+click (Weld) or choose Weld Settings from the drop-down list. Use this caddy for setting the weld threshold for vertices and edges and previewing the number of sub-objects to be welded. Interface For details on using the caddy controls, see The Caddy Interfacecaddy interfacecaddy controls on page 2339. Weld Threshold Specifies the maximum distance, in scene units on page 9295, within which selected sub-objects will be welded. Any vertex or edge that lies outside this threshold (that is, it's farther than this from the nearest vertex or edge) will not be welded. Before/After Shows the number of vertices before and after the weld. The After quantity updates dynamically as you change the setting. _____ OK Applies the settings to the current selection and closes the caddy. Editable Poly Settings | 2373 Apply and Continue Applies the settings to the current selection, retaining them for the preview if you then change the selection. Cancel Closes the caddy without applying the settings to the current selection. Does not reverse previous uses of Apply. Patch Objects With patch modeling, you can create objects that look mesh-like but whose surface curvature can be controlled with handles, like splines. You can create a patch model with built-in patch grids, and can convert most objects to patch format. Editable Patch Surface Create or select an object ➤ Modify panel ➤ Right-click object's entry in the stack display ➤ Convert To: Editable Patch Create or select an object ➤ Right-click the object ➤ Transform (lower-right) quadrant of the quad menu ➤ Convert To: ➤ Convert to Editable Patch Editable Patch provides controls for manipulating an object as a patch object and at five sub-object levels: vertex, handle, edge, patch, and element. Editable Patch objects provide the same basic functionality as the Edit Patch modifier on page 1271. Because working with them requires less processing and memory, we recommend you use Editable Patch objects rather than the Edit Patch modifier whenever possible. When you convert an object to Editable Patch format or apply an Edit Patch modifier, 3ds Max converts the object's geometry into a collection of separate Bezier patches on page 9262, each patch made up of a framework of vertices and edges, plus a surface. ■ The framework of control points and connecting tangents defines the surface. Transforming the components of this framework is the primary technique in patch modeling. The framework does not appear in scanline renderings. 2374 | Chapter 10 Surface Modeling The surface is the Bezier patch surface, whose shape is controlled by the vertices and edges. The surface is the renderable geometry of the object. ■ Prior to version 3 of 3ds Max, some patch objects contained a lattice that appeared separate from the surface. This is no longer the case: The control framework conforms exactly to the surface, making it easier to visualize the results of patch modeling. The output of the Surface modifier on page 1711 is a patch surface. If you are modeling with splines and are using the Surface modifier to generate a patch surface from the spline cage, you can use an Edit Patch modifier on page 1271 for further modeling. Show End Result Turn on Show End Result on the Modify panel if you have modifiers above the Editable Patch modifier and want to see the result of all the modifiers in the modifier stack. This function will remain on until you turn it off. See also: ■ Edit Modifiers and Editable Objects on page 990 ■ Modifying at the Sub-Object Level on page 991 ■ Modifier Stack Controls on page 8776 Procedures To work at a sub-object level: 1 2 In the modifier stack display, choose a selection level: Element, Patch, Edge, or Vertex. Select the sub-object geometry you want to edit. Editable Patch Surface | 2375 To attach an object using Edit Patch: 1 Select an editable patch object, or an object with the Edit Patch modifier applied. 2 In the click Attach. Modify panel ➤ Geometry rollout ➤ Topology group, 3 Turn off Reorient, if necessary. 4 Select an object to attach. The object takes on a patch structure and stays in its original location. The attached object is now part of the editable patch object. The Tessellation settings for the original object affect attached objects as well. To attach and reorient an object: Turn on Reorient before attaching the object. The object is both attached and moved to align with the patch object. The pivot of the attached object matches the pivot of the Edit Patch object. ■ To detach a patch surface: 1 Make a selection at the Patch sub-object level. 2 If you want to reorient the detached surface, turn on Reorient. 3 Click Detach. A Detach dialog appears. 4 Name the detached surface. The detached surface remains in place if you chose not to reorient it. It is deselected and assigned a different color. 2376 | Chapter 10 Surface Modeling To copy a patch surface: 1 Make a selection at the Patch sub-object level. 2 In the Geometry rollout ➤ Topology group, turn on Copy. 3 If you want to reorient the copied surface, turn on Reorient. 4 Click Detach. A Detach dialog appears. 5 Name the patch copy. The copied object remains in place if you chose not to reorient it. To delete patches: 1 Make a selection at the Patch sub-object level. 2 Click Delete. The patches disappear. To subdivide a patch: 1 Make a selection at the Patch sub-object level. 2 Turn on Propagate to maintain surface continuity. 3 Click Subdivide. The patch selection is subdivided, increasing the number of patches. You can repeat this process, subdividing multiple times. Each subdivision increases the number of patches, which become increasingly smaller. The following figure is an example of modeling a highly subdivided surface. Editable Patch Surface | 2377 To subdivide an edge: 1 At the Edge sub-object level, make an edge selection. A single edge is indicated by its coordinate axis or transform gizmo at the center of the edge. For multiple edges, the axis icon is at the center of the selection set. 2 Optionally, turn on Propagate to maintain surface continuity. 3 Click Subdivide. The edge selection is subdivided. Each new edge is on the boundary of a new, smaller patch. To add a patch: 1 At the Edge sub-object level, select an open edge (one that bounds a single patch, and therefore is not shared with another patch). 2 Click Add Tri or Add Quad. A new patch is added to the surface. 2378 | Chapter 10 Surface Modeling To unlock interior edges of selected patches: 1 At the Patch sub-object level, select one or more patches. 2 Right-click the selection and choose Manual Interior from the pop-up menu. The check mark moves from Auto Interior, the default, to Manual Interior. Interior edges and their vertices are now unlocked. If you now transform the patch, the interior edges remain static. To transform the interior vertices, see the following procedure. To transform interior vertices: 1 At the Patch sub-object level, select one or more patches. 2 Right-click the selection and choose Manual Interior from the pop-up menu. The check mark moves from Auto Interior, the default, to Manual Interior. 3 Switch to Handle level. The interior vertices appear as yellow squares. 4 Transform the interior vertices of the selected patches. To anchor a patch: By default, the welding process shifts the geometry of both patches to a common center. You can anchor one patch so that the other patch moves to its location when the weld occurs. 1 At the Patch (Patch) level, before you begin the weld, patch you want anchored. select the 2 Return to Vertex level and weld the vertices. When the weld occurs, the anchor patch remains fixed while the other patch moves to make the weld. Editable Patch Surface | 2379 To create a new element, do one of the following: ■ Shift+drag one or more patches. ■ Shift+extrude one or more patches. ■ Shift+extrude one or more edges. ■ Shift+drag an element. Interface Selection rollout For information about these settings, see Selection Rollout (Editable Patch) on page 2380. Soft Selection rollout For information on the Soft Selection rollout settings, see Soft Selection Rollout on page 1966. Geometry and Surface Properties rollouts The Geometry rollout on page 2410 provides functions for editing a patch object and its sub-objects, and the Surface Properties controls let you modify the object's rendering characteristics. For detailed information on sub-object-specific controls, see the topics in this section. Selection Rollout (Editable Patch) Create or select an object ➤ Modify panel ➤ Right-click object's entry in the stack display ➤ Convert To: Editable Patch ➤ Selection rollout Create or select an object ➤ Right-click the object ➤ Transform (lower-right) quadrant of the quad menu ➤ Convert To: ➤ Convert to Editable Patch ➤ Selection rollout The Selection rollout provides buttons for selecting the sub-object level, working with named selections, display and filter settings, and displays information about selected entities. Editable Patch has five levels of sub-object editing: Vertex, Handle, Edge, Patch, and Element. The selection you make at each level appears in the viewport as 2380 | Chapter 10 Surface Modeling a component of the patch object. Each level maintains its own sub-object selection. When you return to a level, the selection reappears. Clicking a sub-object level button here is the same as clicking a sub-object level in the modifier stack. Click the button again to turn it off and return to the object selection level. Interface Vertex Lets you select vertex control points and their vector handles on a patch object. At this level, vertices can be welded and deleted. By default, a transform gizmo or axis tripod appears at the geometric center of the selected vertices. If you turn on Gizmo Preferences on page 8941 ➤ Allow Multiple Gizmos, however, gizmos or tripods appear at all selected vertices. Vector handles appear as small green squares around selected vertices. Also, with certain objects you may see interior vertices represented as yellow squares. Editable Patch Surface | 2381 Handle Lets you select vector handles associated with each vertex. This level lets you manipulate the handles without needing to deal with vertices. A Transform gizmo or axis tripod appears at the geometric center of the selected handles. At this level, vector handles appear as small green squares around all vertices. Also, with certain objects you may see interior vertices represented as yellow squares. Edge Selects a bounding edge of the patch object. At this level, edges can be subdivided, and new patches added to open edges. A Transform gizmo or axis tripod appears in the middle of a single selected edge. For multiple selected edges, the icon is at the selection center. Patch Selects an entire patch. At this level, a patch can be detached, deleted, or its surface subdivided. When a patch is subdivided, the surface is broken into smaller patches, each with its own vertices and edges. TIP You can toggle highlighting of selected patches in a shaded viewport with the Shade Selected Faces switch on the Viewport Configuration dialog. To open the dialog, open the General viewport label menu ([+]) and choose Configure from the menu. You can also toggle this feature with the default keyboard shortcut, F2. Element Select and edit an entire element. An element has contiguous faces. Named Selections group These functions work with named sub-object selection sets. To create a named sub-object selection, make the selection, and then enter a name in the Named Selection Sets field on the toolbar. For more information, see Named Selection Sets on page 204. Copy Places a named sub-object selection into the copy buffer. After clicking this button, choose the named sub-object selection from the Copy Named Selection dialog that appears. Paste Pastes the named sub-object selection from the copy buffer. 2382 | Chapter 10 Surface Modeling You can use Copy and Paste to copy sub-object selections between different objects. Filter group These two check boxes, available only at the Vertex sub-object level, let you select and transform vertices, vectors (handles on the vertices), or both. When a check box is turned off, you can't select the corresponding element type. Thus, for example, if you turn off Vertices, you can manipulate vectors without accidentally moving a vertex. TIP For easier editing of vectors only, use the Handle sub-object level on page 2396. You can't turn off both check boxes. When you turn off either check box, the other one becomes unavailable. At that point, you can manipulate the element corresponding to the check box that's on, but you can't turn it off. Vertices When on, you can select and move vertices. Vectors When on, you can select and move vectors. _____ Lock Handles Affects only Corner vertices. Locks the tangent vectors together so that when you move one, you move them all. Available only at the Vertex sub-object level. By Vertex When you click a vertex, any handles, edges, or patches that use that vertex, depending on the current sub-object level, are selected. Available only at the Handle, Edge, and Patch sub-object levels. This also works with Region Select. Ignore Backfacing When on, selection of sub-objects selects only those sub-objects whose normals are visible in the viewport. When off (the default), selection includes all sub-objects, regardless of the direction of their normals. Use this on a complex patch model where you want to select only visible patches. NOTE The state of the Backface Cull setting in the Display panel does not affect sub-object selection. Thus, if Ignore Backfacing is off, you can still select sub-objects, even if you can't see them. Shrink Reduces the sub-object selection area by deselecting the outermost sub-objects. If the selection size can no longer be reduced, the remaining sub-objects are deselected. Unavailable at the Handle sub-object level. Editable Patch Surface | 2383 Grow Expands the selection area outward in all available directions. Unavailable at the Handle sub-object level. Ring Expands an edge selection by selecting all edges parallel to the selected edges. Available only at the Edge sub-object level. Loop Expands the selection as far as possible, in alignment with selected edges. Available only at the Edge sub-object level. Select Open Edges Selects all edges that are used by only one patch. Available only at the Edge sub-object level. You can use this to troubleshoot a surface; open edges will be highlighted. Selection Information At the bottom of the Selection rollout is a text display giving information about the current selection. If multiple sub-objects are selected, or none is selected, the text gives the number and type selected. If one sub-object is selected, the text gives the identification number and type of the selected item. Editable Patch (Object) Select an editable patch ➤ Modify panel ➤ Editable patch (not a sub-object level) selected in the modifier stack Select an editable patch ➤ Right-click the patch ➤ Tools 1 (upper-left) quadrant of the quad menu ➤ Sub-objects ➤ Top-level The functions available at the editable patch object level (that is, when no sub-object level is chosen) are also available at all sub-object levels, and work exactly the same at each level. Interface Selection rollout For information on these settings, see Editable Patch Surface on page 2374. 2384 | Chapter 10 Surface Modeling Geometry rollout Editable Patch Surface | 2385 See Geometry Rollout (Patch) on page 2410 for detailed descriptions of these controls. Surface Properties rollout The Relax Mesh controls on the Surface Properties rollout change the apparent surface tension by moving vertices closer to, or away from, their neighbors. The typical result is that the object gets smoother and a little smaller as the vertices move toward an averaged center point. You can see the most pronounced effects on objects with sharp corners and edges. Relax Turns on the relax function for renderings. Relax Viewports Turns on the relax function for viewports. Relax Value Sets the distance a vertex moves as a percentage of the distance between a vertex and the average location of its neighbors. Range=-1.0 to 1.0. Default=0.5. Iterations Sets how many times Relax is repeated. Each iteration recalculates average vertex locations based on the result of the previous iteration. Default=1. Keep Boundary Points Fixed Vertices at the edge of open patches do not relax. Default=on. Save Outer Corners Preserves the original positions of vertices farthest away from the object center. 2386 | Chapter 10 Surface Modeling A patch box with Relax off (left), and Relax Value=1.0, with 1, 2, and 3 iterations (left to right) Editable Patch (Vertex) Select an editable patch ➤ ➤ Modify panel ➤ Modifier stack display Expand the Editable Patch entry. ➤ Vertex sub-object level Select an editable patch ➤ Modify panel ➤ Selection rollout ➤ (Vertex) Select an editable patch ➤ Right-click the patch ➤ Tools 1 (upper-left) quadrant of the quad menu ➤ Sub-objects ➤ Vertex At the Editable Patch (Vertex) level, you can select single and multiple vertices and move them using standard methods. You can also move and rotate vector handles on page 9341, thus affecting the shapes of any patches connected to the vertex. Editable Patch Surface | 2387 Procedures To transform either vertices or vectors: 1 At Patch (Vertex) level, with Selection rollout ➤ Filter group ➤ Vertices turned on, transform. select vertices in the patch object you want to Vertices and their vectors both appear. 2 Turn off one of the filters, leaving the other on, and choose a transform. A transform cursor appears when you move onto a vertex or vector in the selection set. You can toggle between filters to alternatively transform either component. To switch vertex types: 1 Right-click a patch vertex. 2 Choose from commands on the quad menu. The Tools 1 (upper-left) quadrant includes two options specific to patch vertices: ■ Coplanar: If you set a patch control point's property to be coplanar, it's like locking the handle of the outgoing vector for that point. Moving a handle attached to a coplanar vertex causes the opposite vectors to adjust their positions to maintain a coplanar surface. This option is the default and gives smooth transitions between patches. ■ Corner: If you set a patch control point's property to be corner, it unlocks the handle of the outgoing vector, so you can create a discontinuous break in the patch surface. To switch vertex types from Coplanar to Corner, do one of the following: ■ Hold down Shift as you move a handle of a Coplanar vertex. This changes the vertex type to Corner. If Lock Handles is off (the default), Shift+Move "breaks" the handle, allowing it to move independently. If Lock Handles is on, the handles remain locked in their coplanar relationship. However, the vertex is still switched to Corner, and turning off Lock Handles lets you move the handles separately. ■ Right-click the vertex and then choose Corner from the quad menu. 2388 | Chapter 10 Surface Modeling To delete a vertex: 1 At Patch (Vertex) level, select a vertex. 2 Click Delete. The vertex and all patches sharing this control point are deleted. Editable Patch Surface | 2389 Deleting vertices 2390 | Chapter 10 Surface Modeling To weld vertices: 1 At Patch (Vertex) level, patches. select two valid vertices on different 2 Set Weld Threshold to a value at least equal to the distance between the selected vertices. 3 Click Selected. The two vertices move together and join. Editable Patch Surface | 2391 Welding vertices To transform interior vertices: Using program defaults, you can select only vertices and vectors on the outer edge or boundary of a patch. This default is known as Auto Interior. 2392 | Chapter 10 Surface Modeling In some cases, you might want to move the interior vertices. For example, you might want to tweak a patch's curvature without having to subdivide the patch. ■ At Patch level on page 2401, you can change the default on a patch-by-patch basis by right-clicking a patch and choosing Manual Interior from the shortcut menu. This lets you select and transform individual interior vertices. These vertices appear as yellow squares in the viewports. WARNING If you return a patch to the default, changes due to Manual Interior are lost. NOTE Certain objects are automatically set to Manual Interior when converted to patch objects. In such cases, you can see all interior vertices when you go to the Vertex sub-object level. Interface Selection rollout For information on the controls in this rollout, see Selection Rollout (Editable Patch) on page 2380. Soft Selection rollout See Soft Selection Rollout on page 1966 for information on the Soft Selection rollout settings. Editable Patch Surface | 2393 Geometry rollout 2394 | Chapter 10 Surface Modeling See Geometry Rollout (Patch) on page 2410 for detailed descriptions of these controls. Surface Properties rollout Edit Vertex Colors group Use these controls to assign the color, illumination color (shading), and alpha (transparency) values of selected vertices. Color Click the color swatch to change the color of selected vertices. Illumination Click the color swatch to change the illumination color of selected vertices. This lets you change the color of shadows without changing the vertex colors. Alpha Lets you assign an alpha (transparency) value to selected vertices. The spinner value is a percentage; zero is completely transparent and 100 is completely opaque. Select Vertex By group Color and Illumination radio buttons These buttons determine whether to select vertices by vertex color values or vertex illumination values. Color Swatch Displays the Color Selector, where you can specify a color to match. Editable Patch Surface | 2395 Select Depending on which radio button is selected, selects all vertices whose vertex color or illumination values either match the color swatch, or are within the range specified by the RGB spinners. Range Specifies a range for the color match. All three RGB values in the vertex color or illumination must either match the color specified by the Color swatch in Select By Vertex Color, or be within plus or minus the values in the Range spinners. Default=10. Editable Patch (Handle) Select an editable patch ➤ ➤ Modify panel ➤ Modifier stack display Expand the Editable Patch entry. ➤ Handle sub-object level Select an editable patch ➤ Modify panel ➤ Selection rollout ➤ (Handle) Select an editable patch ➤ Right-click the patch ➤ Tools 1 (upper-left) quadrant of the quad menu ➤ Sub-objects ➤ Handle The Handle sub-object level in Editable Patch provides direct access to vertex handles, or vectors, without going through the Vertex sub-object level. Handles are still accessible at the Vertex sub-object level, but the Handle level provides enhanced functionality as follows: ■ The ability to select multiple handles for transformation and application of operations such as Patch Smooth to them. ■ Usage of the transform gizmo when manipulating handles. ■ Elimination of the possibility of inadvertently transforming vertices. ■ Support for named selection sets of handles. ■ Copying and pasting handles. ■ Use the Align tool on page 906 for aligning handles. 2396 | Chapter 10 Surface Modeling Interface Editable Patch Surface | 2397 See Geometry Rollout (Patch) on page 2410 for detailed descriptions of these controls. Editable Patch (Edge) Select an editable patch ➤ ➤ Modify panel ➤ Modifier stack display Expand the Editable Patch entry. ➤ Edge sub-object level Select an editable patch ➤ Modify panel ➤ Selection rollout ➤ (Edge) Select an editable patch ➤ Right-click the patch ➤ Tools 1 (upper-left) quadrant of the quad menu ➤ Sub-objects ➤ Edge An edge is the portion of a patch object between two adjacent vertices. When at the Editable Patch (Edge) level, you can select single and multiple segments and move, rotate, and scale them using standard methods. You can also hold down the Shift key and drag an edge to create a new patch. Holding down the Shift key during edge extrusion creates a new element. Procedures To unlock interior edges: When you move an outer or boundary edge of a patch, the adjacent interior edges are normally “locked” so that they move in parallel with the boundary edge. This is often useful, because it provides a uniform transition across the patch. This default is known as Auto Interior. ■ At Patch level on page 2401, you can change the default on a patch-by-patch basis by right-clicking a patch and choosing Manual Interior from the Tools 1 (upper-left) quadrant of the quad menu. Thereafter, when you move a boundary edge, interior edges are affected in a nonlinear way. The interior edges are no longer locked to the boundary edge. WARNING If you return a patch to the default, changes caused by Manual Interior are lost. 2398 | Chapter 10 Surface Modeling Interface Selection rollout Select Open Edges Selects all edges that are used by only one patch. You can use this to troubleshoot a surface; open edges will be highlighted. For information on the other controls in this rollout, see Selection Rollout (Editable Patch) on page 2380. Soft Selection rollout See Soft Selection Rollout on page 1966 for information on the Soft Selection rollout settings. Editable Patch Surface | 2399 Geometry rollout 2400 | Chapter 10 Surface Modeling See Geometry Rollout (Patch) on page 2410 for detailed descriptions of these controls. Editable Patch (Patch) Select an editable patch ➤ ➤ Modify panel ➤ Modifier stack display Expand the Editable Patch entry. ➤ Patch sub-object level Select an editable patch ➤ Modify panel ➤ Selection rollout ➤ (Patch) Select an editable patch ➤ Right-click the patch ➤ Tools 1 (upper-left) quadrant of the quad menu ➤ Sub-objects ➤ Patch A patch is an area of a patch object, defined by three or four surrounding edges and vertices. Controls described in this topic let you manipulate a patch object at the patch level. As well as moving and rotating patches, you can create a separate element by holding down the Shift key during a move operation. This creates a separate element of the selected patches. Texture Mapping Patches: Interpolation in Curved Space Patches can now be mapped in curved space; this means simplified texture mapping for patches. A planar map on a complex patch object will not be distorted. At the Patch sub-object level there is a parameter in the right-click quad menu (Tools 1 quadrant) called Linear Mapping. If you leave Linear Mapping off, then textures are interpolated in curved space and behave much like texture mapping a mesh object, predictably. In the old method, patch mapping is interpolated between the knot points. This works well with procedural maps but not so well with bitmaps, since each patch is linear in UV space. Editable Patch Surface | 2401 A complex patch (on right) no longer deforms a bitmap The two leftmost patches show Linear patch mapping. The top left patch is a patch with planar mapping and the bottom left shows its UVW space representation. The patch on the right is a curved projection where the vectors are used in UVW space projection. Notice the bottom right represents the UVW space and notice how the handles and knots contribute to the shape of the UVW space. In short, leave the Linear option off for predictable planar maps. Leave the linear mapping option on for backward compatibility. NOTE The Unwrap UVW modifier now supports the new patch curve mapping. Spline handles can be manipulated in the Edit dialog in the Unwrap UVW modifier. 2402 | Chapter 10 Surface Modeling Interface Selection rollout For information on the controls in this rollout, see Selection Rollout (Editable Patch) on page 2380. Soft Selection rollout See Soft Selection Rollout on page 1966 for information on the Soft Selection rollout settings. Editable Patch Surface | 2403 Geometry rollout 2404 | Chapter 10 Surface Modeling See Geometry Rollout (Patch) on page 2410 for detailed descriptions of these controls. Surface Properties rollout These controls let you work with patch normals, material IDs, smoothing groups and vertex colors. Normals group Flip Reverses the direction of the surface normals of the selected patches. Unify Flips the normals of an object so that they all point in the same direction, usually outward. This is useful for setting an object's patches to appropriate orientations, thus eliminating apparent holes in the object surface. Editable Patch Surface | 2405 Flip Normal Mode Flips the normal of any patch you click. To exit, click this button again or right-click anywhere in the 3ds Max interface. TIP The best way to use Flip Normal Mode is to set up your viewport to display with Smooth+Highlight and Edged Faces on. If you use Flip Normal Mode with default settings, you'll be able to flip a patch away from you, but you won't be able to flip it back. For best results, turn off Ignore Backfacing in the Selection rollout. This lets you click any patch and flip the direction of its normal, regardless of its current direction. Material group These controls let you use multi/sub-object materials on page 6542 with patches. Set ID Lets you assign a particular material ID on page 9217 number to selected patches for use with multi/sub-object materials and other applications. Use the spinner or enter the number from the keyboard. The total number of available IDs is 65,535. Select ID Selects patches or elements corresponding to the Material ID specified in the adjacent ID field. Type or use the spinner to specify an ID, then click the Select ID button. [Select By Name] This drop-down list shows the names of sub-materials if an object has a Multi/Sub-Object material assigned to it. Click the drop arrow and choose a sub-material from the list. The patches or elements that are assigned that material are selected. If an object does not have a Multi/Sub-Object material assigned, the name list is unavailable. Likewise, if multiple objects are selected that have an Edit Patch, Edit Spline, or Edit Mesh modifier applied, the name list is inactive. NOTE Sub-material names are those specified in the Name column on the material's Multi/Sub-Object Basic Parameters rollout; these are not created by default, and must be specified separately from any material names. Clear Selection When on, choosing a new ID or material name deselects any previously selected patches or elements. When off, selections are cumulative, so new ID or sub-material name selections add to the existing selection set of patches or elements. Default=on. Smoothing Groups group Use these controls to assign selected patches to different smoothing groups on page 9310, and to select patches by smoothing group. 2406 | Chapter 10 Surface Modeling To assign patches to one or more smoothing groups, select the patches, and then click the number(s) of the smoothing group(s) to assign them to. Select by SG (Smoothing Group) Displays a dialog that shows the current smoothing groups. Select a group by clicking the corresponding numbered button and clicking OK. Clear All Removes any smoothing group assignments from selected patches. Edit Vertex Colors group Use these controls to assign the color, illumination color (shading), and alpha (transparency) values of vertices on the selected patch(es). Color Click the color swatch to change the color of vertices on the selected patch(es). Illumination Click the color swatch to change the illumination color of vertices on the selected patch(es). This lets you change the color of shadows without changing the vertex colors. Alpha Lets you assign an alpha (transparency) value to vertices on the selected patch(es). The spinner value is a percentage; zero is completely transparent and 100 is completely opaque. Editable Patch (Element) Select an editable patch ➤ ➤ Modify panel ➤ Modifier stack display Expand the Editable Patch entry. ➤ Element sub-object level Select an editable patch ➤ Modify panel ➤ Selection rollout ➤ (Element) Select an editable patch ➤ Right-click the patch ➤ Tools 1 (upper-left) quadrant of the quad menu ➤ Sub-objects ➤ Element Use the Element sub-object level when you want to select and work on all contiguous faces in an element. The Element sub-object level is essential when Editable Patch Surface | 2407 you are Shift+cloning and Shift+extruding patches, because doing so creates separate elements. For example, if you select a patch, hold down the Shift key, and move the patch to a new location, a new element is created separate from the original. This also applies to extrusion. If you hold the Shift key down while you extrude, a new element is created. NOTE In some cases, you might find that moving a patch element causes parts of it to move by differing amounts. This typically occurs because the object is set to Manual Interior. It happens, for instance, when you convert a sphere primitive to an editable patch object. To remedy this, select the element, and then right-click it to display the quad menu, and in the Tools1 quadrant, choose Auto Interior. Interface Selection rollout For information on the controls in this rollout, see Selection Rollout (Editable Patch) on page 2380. Soft Selection rollout See Soft Selection Rollout on page 1966 for information on the Soft Selection rollout settings. 2408 | Chapter 10 Surface Modeling Geometry rollout Editable Patch Surface | 2409 See Geometry Rollout (Patch) on page 2410 for detailed descriptions of these controls. Geometry Rollout (Patch) Select an editable patch ➤ Modify panel ➤ Geometry rollout The Geometry rollout for Patches contains most of the controls that let you alter the geometry of the patch, at either the Object (top) level, or one of the sub-object levels. The controls that the rollout displays can vary, depending on which level is active; if a control is not available for the active level, it might be grayed out, or simply might not appear at all. The descriptions below indicate the levels at which controls are available. 2410 | Chapter 10 Surface Modeling Interface Editable Patch Surface | 2411 Subdivision group (Vertex, Edge, Patch, and Element levels only) Bind (Vertex level only) Lets you create a seamless, gapless connection between two patch edges that have unequal numbers of vertices. The two patches must belong to the same object, and the vertex need not be selected first. Click Bind, then drag a line from an edge-based vertex (not a corner vertex) to the edge you want to bind it to. The cursor turns into a white cross when over a legal edge. Binding patch edges To exit Bind mode, click the Bind button again, or right-click in the active viewport. TIP When connecting two patches edge-to-edge, first line up as many pairs of vertices as possible, and use Weld to connect them. Then use Bind to connect the remaining vertices. Bound vertices cannot be manipulated directly, although their handles can. NOTE Bind is useful for connecting patch objects with different patch resolutions, such as a head and a neck, without the need to create additional patches in the lower-resolution object. Unbind (Vertex level only) Disconnects a vertex connected to a patch with Bind. Select the vertex, and then click Unbind. 2412 | Chapter 10 Surface Modeling Subdivide (Edge, Patch, and Element levels only) Subdivides the selected sub-objects. ■ PropagateWhen on, extends the subdivision to neighboring patches. Propagating the subdivisions along all contiguous patches prevents patch cracks where you have attached patches together. Topology group Add Tri / Add Quad (Edge level only) You can add Tri and Quad patches to any open edge of an object. On closed objects such as spheres, you can delete one or more existing patches to create open edges, and then add new patches. The new patches adapt to the existing geometry. For example, when you add a patch to a curved edge, the new patch follows that curve and seamlessly extends it. Editable Patch Surface | 2413 Original patch with edges selected (top) and three-sided patches added (bottom) Add Tri adds a three-sided patch to each selected edge. Select one or more edges, then click Add Tri to add the patch or patches. Add Quad adds a four-sided patch to each selected edge. Select one or more edges, and then click Add Quad to add the patch or patches. Create (Vertex, Patch, and Element levels only) Lets you add geometry to the patch object. Available at Vertex, Patch, and Element sub-object levels only. 2414 | Chapter 10 Surface Modeling At the Vertex sub-object level, turn on Create and then click anywhere to add vertices to the object. At the Patch and Element levels, you can add three- and four-sided patches. The cursor changes to white cross hairs when over an existing patch vertex. Select an existing vertex by clicking it. Click in free space to create a new vertex at that location; this vertex is included in the sequence of vertices for the new patch. ■ To create a Tri Patch: Click three times in free space or on existing vertices. Right-click anywhere, or left-click one of the vertices in the current sequence to complete the creation of a Tri Patch. ■ To create a Quad Patch: Click four times in free space or on existing vertices. The Quad Patch is automatically created at the fourth click. No operation takes place if you right-click or select a vertex in the current sequence with only one or two vertices in the sequence. Detach (Patch and Element levels only) Lets you select one or more patches or elements within the current object and then detach them (or copy them) to form a separate patch object. ■ ReorientWhen on, the detached patch or element copies the position and orientation of the source object's Local coordinate system (when the source object was created). The new detached object is moved and rotated so that its Local coordinate system is positioned and aligned with the origin of the current active grid. ■ CopyWhen on, the detached patches or elements are copied to a new patch object, leaving the originals intact. Attach Lets you attach an object to the currently selected patch object. Click the object you want to attach to the currently selected patch object. If you attach a non-patch object, the object is converted to a patch object. When you attach an object, the materials of the two objects are combined in the following way: ■ If the object being attached does not have a material assigned, it inherits the material of the object it is being attached to. ■ Likewise if the object you're attaching to doesn't have a material, it inherits the material of the object being attached. ■ If both objects have materials, the resulting new material is a multi/sub-object material on page 6542 that encompasses the input materials. A dialog appears offering three methods of combining the objects' materials Editable Patch Surface | 2415 and material IDs. For more information, see Attach Options Dialog on page 2232. Attach remains active in all sub-object modes, but always applies to objects. Top: Original patch object with rendering Bottom: Rendering with another patch attached Reorient When on, reorients the attached element so that each patch's creation local coordinate system is aligned with the creation local coordinate system of the selected patch. Delete (Vertex, Edge, Patch, and Element levels only) Deletes the selected sub-objects. 2416 | Chapter 10 Surface Modeling WARNING Delete vertices or edges with caution. Deleting a vertex or edge also deletes the patches that share them. For example, if you delete the single vertex at the top of a spherical patch, the top four patches are also deleted. Break (Vertex and Edge levels only) For vertices, breaks a vertex into multiple vertices. Use this if you need to split open an edge to add another patch or for general modeling operations. Select a vertex, and then click Break. After the break, select the individual vertices and move them to separate the edges. For edges, splits an edge. Use this if you need to split open an edge for general modeling operations. Select one or more edges, and then click Break. After the break, move the handles of adjacent vertices to create a gap in the patch. Hide (Vertex, Edge, Patch, and Element levels only) Hides the selected sub-objects. For vertices and edges, Hide also hides the patches that are attached to them. NOTE At least one patch in the object must remain visible. Unhide All Restores any hidden sub-objects to visibility. Weld group (Vertex and Edge levels only) Selected Welds selected vertices that fall within the tolerance specified in the Weld Threshold spinner (to the right of the Weld button). Select the vertices you want to weld between two different patches, set the spinner to a sufficient distance, and click Selected. At the Edge sub-object level, clicking Selected welds two edges that share vertices. You can use this to eliminate gaps on a surface. Target (Vertex level only) Turn on and drag from one vertex to another to weld the vertices together. The dragged vertex fuses to the target vertex. The pixels spinner to the right of the Target button sets the maximum distance in screen pixels between the mouse cursor and the target vertex. Extrude & Bevel group (Edge, Patch, and Element levels only) These controls let you extrude and bevel edges, patches, or elements. Extruding patches moves them along a normal and creates new patches that form the sides of the extrusion, connecting the selection to the object. Beveling adds a second step that lets you scale the extruded patches. You can extrude and bevel patches by dragging or by direct entry. You can also hold down the Shift key during extrusion, which creates a separate element. Editable Patch Surface | 2417 NOTE Sides created by beveling or extrusion are assigned to smoothing group 1. Extrude Click this button, and then drag any edge, patch, or element to extrude it interactively. Hold down the Shift key during this operation to create a new element. When the mouse cursor is over a selected patch or element, it changes to an Extrude cursor. Bevel (Patch and Element levels only) Click this button, and then drag any patch or element to extrude it interactively, then click and release the mouse button, and drag again to bevel the extrusion. Hold down the Shift key during this operation to create a new element. When the mouse cursor is over a selected element, it changes to a Bevel cursor. 2418 | Chapter 10 Surface Modeling Original patch (top) and inward and outward extrusions NOTE In some cases, particularly with closed objects (objects with no holes or open edges), the second bevel step might not produce visible results. Extrusion This spinner sets whether the extrusion is outward or inward, depending on whether the value is positive or negative. Outlining (Patch and Element levels only) This spinner lets you scale selected patches or elements bigger or smaller, depending on whether the value is positive or negative. It is normally used after an extrusion for beveling the extruded patches. Editable Patch Surface | 2419 Normal If Normal is set to Local (the default), extrusion takes place along the normal of each selected edge, patch, or individual patch in an element. If normal is set to Group, extrusion takes place along the averaged normal of each contiguous group in a selection. If you extrude multiples of such groups, each group moves along its own averaged normal. Bevel Smoothing (Patch and Element levels only) These settings let you set the shape of the intersection between the surface created by a beveling operation and the neighboring patches. The shapes are determined by the handle configurations of vertices at the intersections. Start refers to the intersection between the sides and the patches surrounding the beveled patch. Finish refers to the intersection between the sides and the beveled patch or patches. The following settings are available for each: ■ SmoothVertex handles are set so the angles between the new patches and their neighbors are relatively small. ■ LinearVertex handles are set to create linear transitions. ■ NoneVertex handles are not modified. WARNING Set Bevel Smoothing before the bevel is performed; changing the setting has no effect on existing beveled patches. Tangent group (Vertex and Handle levels only) These controls let you copy orientation, and optionally length, between handles on the same object, or on different objects applied with instances of the same Edit Patch modifier. The tool doesn't support copying handles from one patch object to another, or between spline and patch objects. Copy Copies a patch handle's transform settings to a copy buffer. When you click Copy, 3ds Max displays all handles on the selected object. When the mouse cursor is over a handle end, the cursor image changes to the one shown below. Click a handle end to copy its direction and length to the paste buffer; this also exits Copy mode. Paste Pastes orientation information from the copy buffer to a vertex handle. If Paste Length is on, it also pastes the length of the copied handle. When you click Paste, 3ds Max displays all handles on the selected object. When the mouse cursor is over a handle end, the cursor image changes to the one shown below. Click a handle end to paste the information from the buffer 2420 | Chapter 10 Surface Modeling to the handle. You can continue clicking other handle ends to paste the information repeatedly. To exit Paste mode, right-click in the viewport or click the Paste button. Copy Length / Paste Length When on and you use Copy, the length of the handle is also copied. When on and you use Paste, the length of the originally copied handle is pasted as well as its orientation. When off, only the orientation is copied or pasted. Surface group View Steps Controls the grid resolution of the patch model surface as depicted in the viewports. Range=0 to 100. Default=5. Render Steps Controls the grid resolution of the patch model surface when rendered. Range=0 to 100. Default=5. Editable Patch Surface | 2421 Original mesh display of model (top) and with increased steps (bottom) Show Interior Edges Enables the display of the patch object's interior edges in wireframe views. When off, only the object's outline is visible. Turn on to simplify the display for faster feedback. Use True Patch Normals Determines how 3ds Max smoothes the edges between patches. Default=off. When the check box is off, 3ds Max computes the surface normals from the smoothing groups of the mesh object to which the patch object is converted before rendering. These normals are not accurate, especially with a low View/Render Steps setting. When the check box is on, 3ds Max computes true patch normals directly from the patch surfaces, which can generate more accurate shading. In the illustration below, a sphere was converted to Editable Patch format, and then a vertex was moved toward the center and rotated. The sphere on 2422 | Chapter 10 Surface Modeling the left has Use True Patch Normals turned off, and the one on the right has it turned on. In both cases, View Steps was set to 8. A patch sphere with Use True Patch Normals off (left) and on (right). Miscellaneous group Create Shape (Edge level only) Creates splines based on the selected edges. If no edges are selected, then splines are created for all the patch edges. 3ds Max prompts you for a name: Type in a name for the new shape object, and then click OK. Each patch edge forms an individual spline. You can use this to create a spline cage based on patch edges. This is useful for spline modeling or working with surface tools. Patch Smooth At the sub-object level, adjusts the tangent handles of the vertices of selected sub-objects to smooth the surface of the patch object. At the object level, adjusts all tangent handles to smooth the surface. Patch Smooth sets the handles to absolute positions based on the patch object geometry; repeated applications have no effect. Editable Patch Surface | 2423 A patch tube before smoothing (left) and after using Patch Smooth (right) Patch Grids Create panel ➤ (Geometry) ➤ Patch Grids Create menu ➤ Patch Grids You can create two kinds of patch surfaces in grid form: Quad Patch and Tri Patch. Patch grids begin as flat plane objects but can be modified into arbitrary 3D surfaces by either using an Edit Patch modifier or collapsing the grid’s modifier stack down to an Editable Patch in the Modify panel. Patch grids provide convenient "building material" for custom surfaces and objects, or for adding patch surfaces to existing patch objects. You can animate the surface of a Patch object using various modifiers such as the Flex and Morph modifiers. Control vertices and tangent handles of a patch surface can be animated with an Editable Patch modifier. 2424 | Chapter 10 Surface Modeling Surface Tools The output of the Surface modifier on page 1711 is a Patch object. Patch objects offer a flexible alternative to mesh and NURBS modeling and animation. Quad patch and tri patch Editable Patches You can convert a basic patch grid to an editable patch object on page 2374. The editable patch has a variety of controls that let you directly manipulate it and its sub-objects. For example, at the Vertex sub-object level, you can move vertices or adjust their Bezier handles. Editable patches let you create surfaces that are less regular, more free-form than the basic, rectangular patches. When you convert a patch to an editable patch, you lose the ability to adjust or animate its creation parameters. See also: ■ Edit Modifiers and Editable Objects on page 990 ■ Modifying at the Sub-Object Level on page 991 ■ Modifier Stack Controls on page 8776 Patch Grids | 2425 Procedures To create a patch grid: 1 On the Create panel, activate (Geometry). Choose Patch Grids from the drop-downlist, then on the Object Type rollout, click either Quad Patch or Tri Patch. 2 Drag over any viewport to create a patch. Interface AutoGrid Uses surface normals as a plane to create patches. Click a patch type and then click and drag the cursor over a face in the viewports. Quad Patch Create panel ➤ (Geometry) ➤ Patch Grids ➤ Quad Patch Create menu ➤ Patch Grids ➤ Quad Patch Quad Patch creates a flat grid with a default of 36 visible rectangular facets. A hidden line divides each facet into two triangular faces for a total of 72 faces. 2426 | Chapter 10 Surface Modeling Quad Patch Procedures To create a quad patch: 1 On the Create panel, activate (Geometry). Choose Patch Grids from the drop-downlist, then on the Object Type rollout, click Quad Patch. 2 Drag over any viewport to define a length and width for the patch. To edit a Quad Patch: 1 Select a Quad Patch. 2 On the Modify panel, right-click Quad Patch in stack view and choose Editable Patch. Patch Grids | 2427 The Quad Patch collapses to an Editable Patch. 3 On the Editable Patch Selection rollout, click (Vertex). 4 In any viewport, select a vertex on the patch object, and move the vertex to change the surface topology. Vertices and vectors can be animated with an Editable Patch modifier. At the sub-object Edge level, you can add patches along any edge. You can create complex patch models beginning from a single patch. An ear is created by adding patches and editing patch vertices 2428 | Chapter 10 Surface Modeling Interface Name and Color rollout The Name and Color rollout on page 8771 lets you rename objects and change their wireframe color. Keyboard Entry rollout X/Y/Z Sets the patch center. Length Sets the patch length. Width Sets the patch width. Create Creates a patch based on the XYZ, Length, and Width values. Parameters rollout Length, Width Sets the grid dimensions in current units. Patch Grids | 2429 Length, Width Segments Determines the number of facets along the length and width of the grid. Default=1. The density of a Quad Patch rises sharply as you increase the segments. A Quad Patch of two segments on a side contains 288 faces. The maximum is 100 segments. High segment values can slow performance. Generate Mapping Coordinates Creates map coordinates for applying mapped materials. Default=off. Tri Patch Create panel ➤ (Geometry) ➤ Patch Grids ➤ Tri Patch Create menu ➤ Patch Grids ➤ Tri Patch Tri Patch creates a flat grid with 72 triangular faces. The face count remains at 72, regardless of its size. The faces become larger to fill the area as you increase the size of the grid. Tri Patch 2430 | Chapter 10 Surface Modeling Procedures To create a Tri Patch: 1 On the Create panel, activate (Geometry). Choose Patch Grids from the drop-downlist, then on the Object Type rollout, click Tri Patch. 2 Drag over any viewport to create the patch. To edit a Tri Patch: 1 Select a Tri Patch. 2 On the Modify panel, right-click TriPatch in stack view, and choose Editable Patch. The Tri Patch collapses to an Editable Patch. 3 On the Editable Patch Selection rollout, click (Vertex). 4 In any viewport, select a vertex on the patch object and move the vertex to change the surface topology. You can animate vertices and vectors with an Editable Patch modifier. Patch Grids | 2431 Interface Name and Color rollout The Name and Color rollout on page 8771 lets you rename objects and change their wireframe color. Keyboard Entry rollout X/Y/Z Sets the patch center. Length Sets the patch length. Width Sets the patch width. Create Creates a patch based on the XYZ, Length, and Width values. 2432 | Chapter 10 Surface Modeling Parameters rollout Length, Width Sets dimensions of grid in current units. Generate Mapping Coordinates Creates map coordinates for applying mapped materials. Default=off. NURBS Modeling 3ds Max provides NURBS surfaces and curves. NURBS stands for Non-Uniform Rational B-Splines. NURBS have become an industry standard for designing and modeling surfaces. They are especially suited for modeling surfaces with complicated curves. The tools for modeling with NURBS do not require an understanding of the mathematics that produces these objects. NURBS are popular because they are easy to manipulate interactively, and because the algorithms that create them are both efficient and numerically stable. Fountain created as a NURBS model NURBS Modeling | 2433 You can also model surfaces using polygonal meshes or patches. Compared to NURBS surfaces, meshes and patches have these shortcomings: ■ Using polygons can make it more difficult to create complicated curved surfaces. ■ Because meshes are faceted, facets appear at the edge of rendered objects. You must have a large number of small faces to render a smoothly curved edge. NURBS surfaces, on the other hand, are analytically generated. They are more efficient to calculate, and you can render a NURBS surface that appears to be seamless. (A rendered NURBS surface is actually approximated by polygons, but the NURBS approximation can be very fine grained.) NURBS Models: Objects and Sub-Objects Like Shape on page 506 objects, a NURBS model can be an assemblage of multiple NURBS sub-objects. For example, a NURBS object might contain two surfaces that are separate in space. NURBS curves and NURBS surfaces are controlled by either point or control vertex (CV) sub-objects. Points and CVs behave somewhat like the vertices of spline objects, but there are differences. The parent object in a NURBS model is either a NURBS surface or a NURBS curve. Sub-objects can be any of the objects listed here. A NURBS curve remains a Shape object unless you add a surface sub-object to it when you convert it to a NURBS surface (without changing its name). Surfaces There are two kinds of NURBS surfaces. A point surface on page 2473 is controlled by points, which always lie on the surface. A CV surface on page 2477 is controlled by control vertices (CVs). Instead of lying on the surface, CVs form a control lattice on page 9123 that surrounds the surface. (This is similar to the lattice used by the FFD [free-form deformation] modifiers.) See Creating Surface Sub-Objects on page 2625 and Editing Surface Sub-Objects on page 2550. Curves There are also two kinds of NURBS curves. These correspond exactly to the two kinds of surfaces. A point curve on page 2483 is controlled by points, which always lie on the curve. A CV curve on page 2490 is controlled by CVs, which don't necessarily lie on the curve. See Creating Surface Sub-Objects on page 2625 and Editing Curve Sub-Objects on page 2538. 2434 | Chapter 10 Surface Modeling Points Point surfaces and point curves have point on page 2718 sub-objects. You can also create separate point sub-objects that are not part of a surface or a curve. See Creating and Editing Point Sub-Objects on page 2717. CVs CV surfaces and CV curves have CV sub-objects. Unlike points, CVs are always part of a surface or a curve. See Editing Curve CV Sub-Objects on page 2522 and Editing Surface CV Sub-Objects on page 2528. Imports Imports are 3ds Max objects, including other NURBS objects. Within the NURBS model, they render as NURBS; but they retain their original parameters and modifiers. See Attaching and Importing 3ds Max Objects on page 2509. Sub-objects can be dependent on page 2450 sub-objects whose geometry is related to the geometry of other sub-objects. Creating NURBS Models There is a variety of ways to create NURBS models. These are various ways you can create a top-level, parent NURBS object: ■ You can create a NURBS curve on page 2481 on the Shape on page 506 panel of the Create panel. ■ You can create a NURBS surface on page 2471 on the Geometry on page 289 panel of the Create panel. When you use this technique, the NURBS surface is initially a flat rectangle. You can alter it using the Modify panel. ■ You can turn a standard geometry primitive on page 321 into a NURBS object. ■ You can turn a torus knot on page 360 into a NURBS object. ■ You can turn a prism on page 392 extended primitive into a NURBS object. ■ You can turn a spline on page 511 object (Bezier spline) into a NURBS object. ■ You can turn a patch grid on page 2424 object (Bezier patch) into a NURBS object. ■ You can turn a loft on page 674 object into a NURBS object. NURBS Models: Objects and Sub-Objects | 2435 To turn objects other than NURBS curves and surfaces into NURBS objects, use the Modify panel. Right-click the object's name in the stack display (see Modifier Stack on page 8776) and choose Convert To: NURBS. In viewports, the quad menu on page 8640 also lets you convert objects to NURBS. Select and then right-click the object, and in the Transform (lower-right) quadrant, choose Convert To: ➤ Convert to NURBS. ■ In addition, the modifiers Extrude on page 1369 and Lathe on page 1418 let you choose NURBS output, which creates a NURBS object. Working with NURBS Models When you work with NURBS models, usually you create one NURBS object as the “starter” object, then edit the starter object or add additional sub-objects. Here is the two-step process in more detail: ■ Create one NURBS object as the "starter" object. This can be a surface object, a curve object, or a converted geometry primitive, as described in Creating NURBS Models on page 2435. Often modelers like to identify a single, master surface as the main component of the model. Converted geometry primitives are good if you want the starter surface to become the master surface. See Creating NURBS Surfaces from Geometric Primitives on page 2500. Point and CV surfaces are good as starters for rectangular surfaces. ■ On the Modify panel, you can edit the original object, or you can create additional sub-objects. See Using the NURBS Toolbox to Create Sub-Objects on page 2443. You might even choose to delete the original, starter object once you have built a model from newer sub-objects. Going immediately to the Modify panel avoids the problem of creating additional top-level NURBS objects, which you can't use to build relational, dependent sub-objects. (The exception is using curves for loft and sweep surfaces. See U Loft Surface on page 2669, UV Loft Surface on page 2679, 1-Rail Sweep Surface on page 2686, or 2-Rail Sweep Surface on page 2696.) Two general references for modeling with NURBS are Curves and Surfaces for Computer-Aided Geometric Design: A Practical Guide by Gerald Farin (Academic Press, fourth edition 1996) and Interactive Curves and Surfaces: A Multimedia Tutorial on Computer Aided Graphic Design by Alyn Rockwood and Peter Chambers (Morgan Kaufman Publishers, 1996). 2436 | Chapter 10 Surface Modeling NURBS Surface Trimming To trim a surface is to use a curve on the surface to cut away part of the surface, or to cut a hole in the surface. Before you trim a surface, you must create a curve on that surface. These are the kinds of curves that can trim surfaces: ■ U iso and V iso curves on page 2606 ■ Surface-surface intersection curve on page 2600 ■ Normal projected curve on page 2608 ■ Vector projected curve on page 2611 ■ CV curve on surface on page 2614 ■ Point curve on surface on page 2619 Once you've created the curve, you trim the surface by turning on Trim in the curve sub-object's parameters. A Flip Trim control inverts the trim direction. The direction of the curve determines the initial direction of the trim. For example, a closed curve on surface created in a clockwise direction trims inward, creating a hole in the surface; while a closed curve on surface created in a counterclockwise direction trims outward, creating a curve-shaped portion of the surface. When a surface is trimmed, its untrimmed version is still present in the 3ds Max scene. You can select it for the purposes of editing it, or replacing it as a parent to a dependent sub-object on page 2450. For details, see Sub-Object Selection on page 2445. Procedures Example: To cut a hole in a CV surface: 1 Create a CV surface in the Top viewport. 2 Create a closed CV curve sub-object that lies on top of (or above) the surface. 3 In the toolbox, turn on (Normal Projected Curve), then in the Top viewport click first the CV curve, then the surface. NURBS Models: Objects and Sub-Objects | 2437 This creates a projection of the CV curve that lies on the surface, and can trim it. 4 In the normal projected curve's parameters, click to turn on Trim. A hole appears in the surface. Depending on the orientation of the Normal Projected curve, you might see everything but the hole. 5 Use the Flip Trim toggle to invert the trim. NOTE Trims aren't displayed in viewports if the NURBS surface's Surface Trims toggle is turned off on the General rollout's Display group box. Above: CV curve on surface Below left: Using the curve to trim the surface Below right: Using Flip Trim to change the trimming direction To select an untrimmed surface: 1 Make sure the Keyboard Shortcut Override toggle on page 9008 is on. 2438 | Chapter 10 Surface Modeling 2 At the appropriate sub-object level or during a replace parent operation, press H. This opens the Select Sub-Objects dialog, which is a subset of the Selection Floater on page 187 that you can use during sub-object creation as well as sub-object selection. 3 If the untrimmed version is selectable at this level, the trimmed version appears as a "tree," with a plus sign next to it. Click the plus sign to expand the tree. The child is the untrimmed version. Highlight its name to select it. Modifying NURBS Models and Creating Sub-Objects You can edit NURBS immediately when you enter the Modify panel. You don’t have to apply a modifier, as you do for most kinds of 3ds Max objects. While you are editing a NURBS object on the Modify panel, you can create sub-objects "on the fly," without having to go back to the Create panel. This is an exception to the way you usually use 3ds Max. The Modify panel for NURBS curve and NURBS surface objects includes rollouts that let you create new NURBS sub-objects. NURBS Models: Objects and Sub-Objects | 2439 Example: Rollout for creating NURBS surface sub-objects TIP Another way to create curve and surface sub-objects is to use the NURBS Creation Toolbox on page 2443 This is a summary of how to create sub-objects: ■ An individual point sub-object is either an independent point or a dependent point tied to other NURBS geometry. ■ Curve sub-objects are either independent point curves or CV curves, or they are dependent on page 9134 curves whose geometry is based on other curves or surfaces already present in the model. For example, a blend curve is a dependent curve sub-object that connects the endpoints of two other curves. ■ Surface sub-objects are either independent point surfaces or CV surfaces, or they are dependent on page 9134 surfaces whose geometry is based on other surfaces or curves already present in the model. For example, a blend 2440 | Chapter 10 Surface Modeling surface is a dependent surface sub-object that connects the edges of two other surfaces. ■ You can attach 3ds Max objects. If the attached object is not already a NURBS object, it is converted to NURBS geometry. You can attach a NURBS curve, another NURBS surface, or a convertible 3ds Max object. The attached object becomes one or more curve or surface sub-objects. ■ You can import 3ds Max objects. The imported object retains its parameters. While it is part of the NURBS object it renders as a NURBS, but you can still edit it parametrically at the Imports sub-object level. At this sub-object level, viewports display its usual geometry, not its NURBS form. A NURBS curve can import NURBS curves or spline curves. A NURBS surface can import curves, surfaces, or convertible 3ds Max objects. NOTE You can detach a NURBS sub-object to make it a new, top-level NURBS object, and you can extract an imported object to create an independent, top-level object once again. Quad Menu for NURBS Objects While a NURBS object is selected and the Modify panel is active, the quad menu on page 8640 displays two quadrants that are specifically for NURBS editing. NURBS Models: Objects and Sub-Objects | 2441 Quad menu for modifying NURBS models Tools 1 (upper-left) Quadrant These options are general display and sub-object level shortcuts. Transform Degrade Toggles Degradation Override on page 104. Display Shaded Lattice, Display Lattices, Display Surfaces, and Display Curves See Display Controls for NURBS Models on page 2504. Sub-objects Displays the sub-object choices for the selected object, as well as a Top-level choice. 2442 | Chapter 10 Surface Modeling Tools 2 (lower-left) Quadrant These options are creation and editing shortcuts. Create CV Surface, Create CV Curve, Create Point Surface, Create Point Curve These create a new NURBS sub-object. Insert CV Row, Insert CV Column, Refine CV Curve, Refine CV Row These add CVs to a CV Surface sub-object by inserting or refining. For the difference between inserting and refining, see Editing Surface CV Sub-Objects on page 2528. See NURBS Concepts on page 2457 for more information about refining. Using the NURBS Toolbox to Create Sub-Objects Modify panel ➤ Select a NURBS object. ➤ General rollout ➤ (NURBS Creation Toolbox) Keyboard ➤ Ctrl+T (Keyboard Shortcut Override Toggle must be on.) Besides using rollouts at the NURBS object level, you can use the NURBS toolbox to create sub-objects. NURBS Models: Objects and Sub-Objects | 2443 Interface Toolbox for NURBS objects The toolbox contains buttons for creating NURBS sub-objects. In general, the toolbox behaves like this: ■ While the button is on, the toolbox is visible whenever a NURBS object or sub-object is selected and you are on the Modify panel. It disappears whenever you deselect the NURBS object or make a different panel active. When you return to the Modify panel and select a NURBS object, it reappears. ■ You can use the toolbox to create sub-objects from either the top, object level, or from any NURBS sub-object level. ■ When you turn on a toolbox button, you go into creation mode, and the Modify panel changes to show the parameters (if there are any) for the kind of sub-object you are creating. Other NURBS rollouts aren't displayed while you create the new sub-object. This differs from using the NURBS object's Create rollouts or the NURBS right-click menu on page 2441. 2444 | Chapter 10 Surface Modeling ■ If you are at the top, object level and use the toolbox to create a sub-object, you must then go to the sub-object level to edit the new sub-object. (This is the same as using the buttons on the rollouts.) ■ If you are at a sub-object level and use the toolbox to create an object of the same sub-object type, you can edit it immediately after you turn off the create button (or right-click to end object creation). ■ If you are at a sub-object level and use the toolbox to create an object of a different sub-object type, you must change to that sub-object level before you can edit the new sub-object. The individual creation buttons are described in these topics: Creating and Editing Point Sub-Objects on page 2717 Creating Curve Sub-Objects on page 2569 Creating Surface Sub-Objects on page 2625 NURBS Sub-Object Selection When you work with NURBS models, you often work with sub-objects. While you are at the sub-object level, you use the usual selection techniques, such as clicking, dragging a region, or holding down Ctrl, to choose one or more sub-objects. You can also select NURBS point, curve, and surface sub-objects by name. Turn on the Keyboard Shortcut Override Toggle on page 9008, go to a NURBS sub-object level, and then press the H key. This opens the Select Sub-Objects dialog, which is a subset of the Selection Floater on page 187 that lists only sub-objects at the current level. Choose one or more objects in the list, and then click Select. You can assign your own names to NURBS sub-objects (aside from CVs) that you want to edit frequently. TIP Press Ctrl+H to have the Select Sub-Objects dialog list only sub-objects directly beneath the mouse cursor. TIP The H shortcut is also a convenient way to choose parent objects while you're creating dependent sub-objects. NURBS Models: Objects and Sub-Objects | 2445 Workflow Tips When you work with NURBS, you switch frequently between the object and sub-object levels, or from one sub-object level to another. Keyboard shortcuts and pop-up menus can help you do this. ■ The Sub-Object Selection Toggle (default: Ctrl+B) switches between object and sub-object levels. ■ The Cycle Sub-Object Level shortcut (default: Insert) switches from one sub-object level to another. ■ When you right-click in a viewport while a NURBS object is selected and the Modify panel is active, the quad menu lets you switch between various levels of the NURBS model: Top Level, Surface CV Level, Surface Level, Curve CV Level, Point Level, Curve Level, and Imports Level. ■ The command panel’s right-click popup menu (available whenever the mouse cursor becomes a pan hand) helps you navigate the rollouts on the current command panel. If you have a three-button or wheel mouse, rolling the wheel scrolls the command panel. ■ Sub-object selection sets are persistent. If you go to a different sub-object level, when you return to the previous level, your selection is still available. However, refining or inserting points or CVs makes the sub-object selection sets invalid for that object. ■ You can move a sub-object selection set among sub-objects at the active level of the NURBS model by holding down Ctrl while you press the arrow keys. ■ When you select surface CV sub-objects that are "on top of" each other in a 3D view, sometimes all the selected CVs fail to highlight. To fix this, choose Customize ➤ Viewport Configuration on page 8963, and turn on Z-buffer Wireframe Objects. CV Sub-Objects and Point Sub-Objects Independent curves and independent surfaces both come in two varieties: they are either CV sub-objects or point sub-objects. This topic describes the differences between the two. 2446 | Chapter 10 Surface Modeling CV Curves and CV Surfaces CV curves and CV surfaces have control vertices (CVs) as do splines. The position of the CVs controls the shape of the curve or the surface. However, unlike spline vertices, CVs don’t necessarily lie on the curve or surface they define. The CVs define a control lattice on page 9123 that connects the CVs and surrounds the NURBS curve or surface. The control lattice displays in lines that are yellow by default. Cone-shaped NURBS surface with its control lattice (CVs are displayed as green squares) TIP When you use Zoom Extents, the entire extents of a NURBS object are displayed, including its control lattice. Because CVs can be located some distance from an object, the curve or surface itself (the object’s renderable geometry) is sometimes hard to see. If this happens, use Zoom Region or Field of View to zoom in. You can move a CV at the Curve CV or Surface CV sub-object level on the Modify panel. Other transforms, rotate and scale, work as well. Rotate and scale are useful mainly when you have selected multiple CVs. NURBS Models: Objects and Sub-Objects | 2447 Moving and rotating CVs to change a surface (selected CVs are displayed in red) Each CV also has a weight, which you can use to adjust the CV’s effect on the curve or surface. Increasing the weight pulls the surface toward the CV. Decreasing the weight relaxes the surface away from the CV. 2448 | Chapter 10 Surface Modeling Above: Weights=0.0 Below: Weights=40.0 Changing a spherical surface by decreasing or increasing the weight of four CVs (selected CVs are at the left, in red) Weights can be a useful way to "tune" the appearance of a NURBS curve or surface. The weight value of a CV is rational (as in a "rational number"). That is, it is relative to other CVs in the curve or surface. Changing the weight of all CVs at once has no effect, because it doesn’t change the ratio between weights. Points, Point Curves, and Point Surfaces Point curves and point surfaces are similar to CV curves and surfaces, but the points that control them are required to lie on the curve or surface. Unlike CVs, points do not have a weight. Point curves and point surfaces can be more intuitive to create and work with. However, working with point sub-objects is slower than working with CV sub-objects. You can think of a point curve or point surface as being dependent on the points to which it fits. Points that you create individually are the same as the points on point curves and surfaces, except that initially they aren’t part of a curve or surface. You can create a point curve by fitting it to points that you select. When you fit the new point curve, you can use points that are part of curves or surfaces, and individual point sub-objects. NURBS Models: Objects and Sub-Objects | 2449 Dependent Sub-Objects (NURBS) A NURBS sub-object is either independent or dependent. A dependent sub-object is based on the geometry of other sub-objects. For example, a blend surface smoothly connects two other surfaces. Transforming or animating either of the original, parent surfaces causes the shape of the blend to change as it maintains a connection between the parents. Moving a parent surface changes the blend surface (the blend surface is displayed in green) The immediate, interactive relation between the parent and dependent sub-objects is known as relational modeling. Relational modeling is one of the reasons NURBS models can be particularly easy to change or to animate. IMPORTANT Dependent sub-objects must have parents that are also sub-objects of the same NURBS model. Dependent relationships can’t exist between object-level NURBS curves or surfaces. If you want to use a top-level NURBS object to create a dependent object, first you must attach or import the top-level object. See Attaching and Importing 3ds Max Objects on page 2509. You have the option of making a dependent sub-object independent. After you do so, the sub-object is no longer related to its parents. Changes to the former parents don’t affect it, but you can edit and transform it as an independent sub-object in its own right. 2450 | Chapter 10 Surface Modeling At the appropriate sub-object level, dependent NURBS are displayed in green in wireframe viewports. (You can change the display color using the Colors panel of the Customize User Interface dialog on page 8837.) Relational modeling does add computation time to a model, so when you transform or edit dependent sub-objects in other ways, often you will notice a slowdown in performance. Once a dependent surface sub-object has the shape you want, you can improve performance by making it into a rigid surface on page 2453. Transforming Dependent Sub-Objects In general, you can select and transform dependent sub-objects, but the effect of the transform depends on the sub-object type. Some dependent objects have a gizmo, similar to the gizmo used with modifiers. Sub-objects that don’t have gizmos can’t change relative to their parent objects. For these kinds of sub-objects, transforms apply equally to the sub-object and its parents. For example, moving a blend sub-object moves its parents as well. Sub-objects that have gizmos can change relative to their parent objects. In this case, as with modifiers that use gizmos, you are really transforming the gizmo. For example, rotating a mirror sub-object changes the mirror axis, and therefore the mirror’s position relative to its parent curve or surface. When you Shift+Clone on page 2759 a dependent NURBS sub-object, by default the parent objects are also cloned. For example, if you Shift+Clone a UV loft, all the lofting curves are copied as well. This means that the new object has the same type as the original object. The cloned object keeps its parents, so you can edit it just as you do the original. When you Shift+Clone a NURBS sub-object, you can also choose to remove dependencies in order to improve performance. Error Condition for Dependent Sub-Objects Sometimes changes you make to the parent objects make it no longer possible to correctly update the dependent object’s geometry. For example, a fillet between two curves requires the curves to be coplanar. If you move one curve (or its CVs or points) so that the curves are no longer coplanar, the fillet cannot update correctly. In this case, the dependent object’s geometry reverts to a default position, and it is displayed in orange to indicate an error condition. (You can change the error color using the Colors panel on page 8860 of the Customize User Interface dialog on page 8837.) NURBS Models: Objects and Sub-Objects | 2451 The arrow points to the segment indicating an error condition. Seed Values Some kinds of dependent sub-objects depend on geometry that might have more than one solution. For example, if you want to create a surface-curve intersection point, and the curve intersects the surface more than once, 3ds Max must decide which intersection is to be the location of the point. For these kinds of objects, seed value on page 9299 parameters control the decision. The seed location is on a parent object, and 3ds Max chooses the location nearest to the seed value that satisfies the creation condition. You can alter the seed value when you edit these dependent sub-objects. The seed location is displayed as a yellow square. For example, the seed location for a surface-curve intersection point is a U position along the length of the parent curve. The surface-curve intersection closest to the seed is chosen as the location of the dependent point. The seed location for a surface is a pair of UV coordinates in the surface's parameter space on page 9257. 2452 | Chapter 10 Surface Modeling Replacing Parent Sub-Objects Dependent sub-objects have controls that let you replace the object or objects on which they depend. For example, Offset Surface has a button called Replace Base Surface. You can click this button and then click a different surface to act as the base of the offset. This capability lets you replace a trimmed surface with its untrimmed version, or vice versa. To do so, you need to use the Select Sub-Objects dialog, which is a subset of the Selection Floater on page 187 that you can use during sub-object creation as well as sub-object selection. For example, select the trimmed surface sub-object and turn on the Keyboard Shortcuts Override toggle on page 9008. Click the replacement button, press the H key, expand the surface's tree, and then highlight the name of the untrimmed version. Rigid NURBS Surfaces To improve performance, you can make any kind of surface sub-object into a rigid surface. The only editing allowed on a rigid surface is to transform it at the Surface sub-object level. You can't move a rigid surface's points or CVs, or change the number of points or CVs. Rigid surfaces reduce the amount of memory used by the NURBS model. Making surfaces rigid improves performance, especially for large and complex models. When a surface is rigid, you can't see its points or CVs when you are at the Point or Surface CV sub-object levels. If the model has only rigid surfaces and no point curves, the Point and Surface CV sub-object levels aren't available at all. To make a rigid surface editable again, click Make Point, Make Independent, Make Loft, or Convert Surface. NURBS and Modifiers In general, you can apply modifiers to NURBS models as you do to other objects. You can apply Edit Patch on page 1271 and Edit Mesh on page 1263 modifiers to NURBS surface objects. NURBS Models: Objects and Sub-Objects | 2453 TIP To improve performance while you animate your scene, make the surfaces in your NURBS model nonrelational surfaces on page 2502. Modifiers treat nonrelational surfaces as if they were independent CV surfaces: you can animate the scene more efficiently, and then turn relational modeling back on before you render. Deforming NURBS Objects Deform modifiers such as Bend on page 1104 and Twist on page 1783 operate on CV and point sub-objects. They don't change the NURBS model into an editable mesh object. This means that you can use a deform modifier, collapse the stack, and still have a NURBS object that you can edit further. However, because the deform modifiers directly affect CVs and points (and not the mesh approximation of the NURBS model), they can produce unexpected results. For example, a Ripple on page 1598 modifier does not ripple the surface if the CVs are farther apart than the wavelength of the ripples. If you want the modifier to affect the mesh approximation instead of the CVs, you can apply a Mesh Select on page 1445 modifier first. Then when you collapse the stack, you get an editable mesh, not a NURBS object. These are the deform modifiers that collapse to NURBS: ■ Modifiers in the Parametric Deformers set, except for Lattice (which collapses to an editable mesh) and Slice (which collapses to an editable poly or an editable mesh). ■ Modifiers in the Animation Modifiers set, except for the world-space modifier (WSM) versions of PatchDeform, PathDeform, and SurfDeform, which don't collapse. TIP While the Morpher and Skin modifiers collapse to a NURBS object, they are meant to be used with their own controls, and lose their usefulness when you collapse them. The modifiers with Soft Selection controls treat NURBS models the same way they treat editable meshes. As with editable mesh vertices, CVs are colored proportionally according to how much the region affects them. If Relational Stack is turned off (see Nonrelational NURBS Surfaces on page 2502), the Affect Neighbors toggle can affect all surface CVs, curve CVs, and points in neighboring sub-objects. If Relational Stack is on, Soft Selection affects neighboring sub-objects only if they are at the same sub-object level. Soft Selection works with Scale and Rotate as well as with the Move transform. 2454 | Chapter 10 Surface Modeling NURBS Objects and the UVW Map Modifier When you apply a UVW Map on page 1883 modifier, it affects the NURBS object the same way it affects a mesh. If you then collapse the stack, UVW mapping is still in effect. However, you can override the mapper for individual surface sub-objects. To do so, turn on the surface's Generate Mapping Coords check box, if necessary. When the check box is on, you get the natural mapping of the surface; when it is off, you get the mapping from the collapsed UVW modifier. TIP Don't use UVW Map to assign a texture to an animated surface. The texture will shift as the surface animates. NURBS Selection Modifier The NURBS Surface Selection (NSurf Sel) on page 1502 lets you place a NURBS sub-object selection on the modifier stack. This lets you modify only the selected sub-objects. Also, selected curve sub-objects are Shape on page 506 objects that you can use as paths and motion trajectories. NSurf Sel can select any kind of NURBS sub-object except imports. Each sub-object selection is of one sub-object level only. Procedures To use a NURBS select modifier: 1 With a NURBS object selected, go to the NSurf Sel. Modify panel and apply The selection modifier has no controls at the object level. 2 Click to open the modifier's hierarchy, and choose a sub-object level. The selection modifier has the same selection controls you see for the corresponding sub-object type. While applying the modifier, you can also select NURBS sub-objects by name. Turn on the Keyboard Shortcut Override Toggle button on the status bar, and then press the H key. This open the Select Sub-Objects dialog, which is a subset of the Selection Floater on page 187 that you can use during sub-object creation as well as sub-object selection. Choose one or more objects in the list, and then click Select. Press Ctrl+H to have the NURBS Models: Objects and Sub-Objects | 2455 Select Sub-Objects dialog list only sub-objects (for example, points) directly under the mouse cursor. 3 Use the selection controls to create a selection set of the chosen sub-object type. With the NSurf Sel modifier, you can select NURBS sub-objects at any level except imports. NOTE To select point, curve, or curve CV sub-objects, you must go to the NURBS object and turn on Relational Stack. Once you have used the modifier to create the selection, you can apply other modifiers to it. If the selected sub-object is a curve, you can also use it as a path or trajectory. NOTE NSurf Sel doesn't support copy and paste of selections as Mesh Select does. Copying and pasting mesh selections is based on vertex indexes. NURBS selections are based on object IDs, which are unique to each model. NURBS and Animation In general, you animate NURBS curves and NURBS surfaces by turning on the Auto Key button and transforming sub-object attributes such as CV or point positions, by animating the parameters that control dependent NURBS objects, and so on. You can't animate NURBS object creation or creation parameters, or fundamental changes to NURBS geometry such as adding or deleting CVs or points, attaching objects, and so on. TIP To improve performance while you animate your scene, make the surfaces in your NURBS model nonrelational surfaces on page 2502. Modifiers treat nonrelational surfaces as if they were independent CV surfaces: you can animate the scene more efficiently, and then turn relational modeling back on before you render. Some NURBS editing operations remove animation controllers. Operations that Remove Animation The following operations remove animation from a NURBS object or sub-object: ■ Make Independent 2456 | Chapter 10 Surface Modeling This operation removes the animation of anything directly dependent on the object. ■ Break, Extend, Join and Zip, Refine, Delete, Rebuild, Reparameterize, Close, Make Loft, Convert Curve, and Convert Surface Any operation that changes the number of points or CVs in a curve or surface removes the animation of all points or CVs that are lost. ■ Fuse The animation of the point or CV being fused to the other point or CV (the second one chosen) is lost. The first point or CV acquires the animation of the second. NURBS Concepts NURBS curves and surfaces did not exist in the traditional drafting world. They were created specifically for 3D modeling using computers. Curves and surfaces represent contours or shapes within a 3D modeling space. They are constructed mathematically. NURBS mathematics is complex, and this section is simply an introduction to some NURBS concepts that might help you understand what you are creating, and why NURBS objects behave as they do. For a comprehensive description of the mathematics and algorithms involved in NURBS modeling, see The NURBS Book by Les Piegl and Wayne Tiller (New York: Springer, second edition 1997). Definition and Parameter Space The term NURBS stands for Non-Uniform Rational B-Splines. Specifically: ■ Non-Uniform means that the extent of a control vertex's influence can vary. This is useful when modeling irregular surfaces. ■ Rational means that the equation used to represent the curve or surface is expressed as a ratio of two polynomials, rather than a single summed polynomial. The rational equation provides a better model of some important curves and surfaces, especially conic sections, cones, spheres, and so on. ■ A B-spline (for basis spline) is a way to construct a curve that is interpolated between three or more points. Shape curves such as the Line tool and other Shape tools are Bezier curves, which are a special case of B-splines. NURBS Models: Objects and Sub-Objects | 2457 The non-uniform property of NURBS brings up an important point. Because they are generated mathematically, NURBS objects have a parameter space on page 9257 in addition to the 3D geometric space in which they are displayed. Specifically, an array of values called knots on page 9201 specifies the extent of influence of each control vertex (CV) on the curve or surface. Knots are invisible in 3D space and you can't manipulate them directly, but occasionally their behavior affects the visible appearance of the NURBS object. This topic mentions those situations. Parameter space is one-dimensional for curves, which have only a single U dimension topologically, even though they exist geometrically in 3D space. Surfaces have two dimensions in parameter space, called U and V. NURBS curves and surfaces have the important properties of not changing under the standard geometric affine transformations (Transforms), or under perspective projections. The CVs have local control of the object: moving a CV or changing its weight does not affect any part of the object beyond the neighboring CVs. (You can override this property by using the Soft Selection on page 2561 controls.) Also, the control lattice that connects CVs surrounds the surface. This is known as the convex hull on page 9125 property. Degree and Continuity All curves have a degree on page 9134. The degree of a curve is the highest exponent in the equation used to represent it. A linear equation is degree 1; a quadratic equation is degree 2. NURBS curves typically are represented by cubic equations and have a degree of 3. Higher degrees are possible, but usually unnecessary. Curves also have continuity on page 9122. A continuous curve is unbroken. There are different levels of continuity on page 9122. A curve with an angle or cusp is C0 continuous: that is, the curve is continuous but has no derivative at the cusp. A curve with no such cusp but whose curvature changes is C1 continuous. Its derivative is also continuous, but its second derivative is not. A curve with uninterrupted, unchanging curvature is C2 continuous. Both its first and second derivatives are also continuous. 2458 | Chapter 10 Surface Modeling Levels of curve continuity: Left: C0, because of the angle at the top Middle: C1, at the top a semicircle joins a semicircle of smaller radius Right: C2, the difference is subtle but the right side is not semicircular and blends with the left A curve can have still higher levels of continuity, but for computer modeling these three are adequate. Usually the eye can't distinguish between a C2 continuous curve and one with higher continuity. Continuity and degree are related. A degree 3 equation can generate a C2 continuous curve. This is why higher-degree curves aren't generally needed in NURBS modeling. Higher-degree curves are also less stable numerically, so using them isn't recommended. Different segments of a NURBS curve can have different levels of continuity. In particular, by placing CVs at the same location or very close together, you reduce the continuity level. Two coincident CVs sharpen the curvature. Three coincident CVs create an angular cusp in the curve. This property of NURBS curves is known as multiplicity on page 9233. In effect, the additional one or two CVs combine their influence in that vicinity of the curve. Effects of multiplicity: there are three CVs at the apex on the left, two CVs at the apex on the right. NURBS Models: Objects and Sub-Objects | 2459 By moving one CV away from the other, you increase the curve's continuity level again. Multiplicity also applies when you fuse CVs. Fused CVs create a sharper curvature or a cusp in the curve. Again, the effect goes away if you unfuse the CVs and move one away from the other. Degree, continuity, and multiplicity apply to NURBS surfaces as well as to curves. Refining Curves and Surfaces Refining a NURBS curve means adding more CVs. Refining gives you finer control over the shape of the curve. When you refine a NURBS curve, 3ds Max preserves the original curvature. In other words, the shape of the curve doesn't change, but the neighboring CVs move away from the CV you add. This is because of multiplicity: if the neighboring CVs didn't move, the increased presence of CVs would sharpen the curve. To avoid this effect, first refine the curve, and then change it by transforming the newly added CVs, or adjusting their weights. Refining a NURBS curve. NURBS surfaces have essentially the same properties as NURBS curves, extended from a one-dimensional parameter space to two dimensions. Reparameterizing CV Curves and Surfaces When you refine a NURBS curve or surface, it is a good idea to reparameterize it. Reparameterizing adjusts the parameter space so the curve or surface will behave well when you edit it in viewports. There are two ways to reparameterize: ■ Chord-length Chord-length reparameterization spaces knots in parameter space based on the square root of the length of each curve segment. ■ Uniform Uniform reparameterization spaces knots uniformly. A uniform knot vector has the advantage that the curve or surface changes only locally when you edit it. 2460 | Chapter 10 Surface Modeling CV curve and surface sub-objects give you the option of reparameterizing automatically whenever you edit the curve or surface. Point Curve and Surface Concepts You can work with point curves and point surfaces as well as with CV curves and surfaces. The points that control these objects are constrained to lie on the curve or surface. There is no control lattice, and no weight control. This is a simpler interface that you might find easier to work with. Also, point-based objects give you the ability to construct curves based on dependent (constrained) points, and then use these to construct dependent surfaces. You can think of point curves and surfaces as an interface to CV curves and surfaces, which are the fully defined NURBS objects. The underlying representation of the curve or surface is still constructed using CVs. You can also think of a point curve or surface as dependent on its points. You can use the Convert Curve button to convert a point curve or surface to the CV form, or vice versa. NURBS Tips and Techniques These topics contain suggestions on how to work with NURBS. They include tips collected from various NURBS modeling users. How to Make Objects with NURBS Modeling These are tips on using NURBS to create models. Objects and Sub-Objects ■ In 3ds Max, a NURBS model is a single, top-level NURBS object on page 2434 that can contain a variety of sub-objects. Get in the habit of creating a single object at the top level, then going immediately to the Modify panel and adding sub-objects by using rollouts or the NURBS Creation Toolbox on page 2443. ■ Sub-objects are either independent or dependent. Dependent sub-objects on page 2450 use relational modeling to build NURBS geometry that is related to other geometry. However, understand that the more dependencies a model has, the slower interactive performance becomes. NURBS Models: Objects and Sub-Objects | 2461 ■ In general, point curves and surfaces are slower than CV curves and surfaces. Trims are the slowest kind of dependency, and texture surfaces are the slowest kind of dependent sub-object. ■ If a dependent sub-object doesn't change during animation, you can improve performance by making the sub-object independent after you finish creating it. ■ You can use NSurf Sel on page 1502 to apply modifiers to a sub-object selection. However, before you do so make sure that Relational Stack is on; Relational Stack on page 2502 is on the General rollout for NURBS models. Otherwise, NSurf Sel can select only the Surface and Surface CV sub-object levels. Converting Other Objects to NURBS ■ Remember that you can collapse splines on page 511 to NURBS objects. A spline Shape or a NURBS curve can be a good starter object for a NURBS model. ■ Shapes with sharp angles collapse to multiple NURBS curves. You can control this before NURBS conversion by first converting the Shape to an editable spline on page 554. Modify the editable spline so that all its vertices are Bezier or Smooth vertices. Then when you collapse the spline to a NURBS curve, you obtain a single curve. ■ If you want a single NURBS curve, don't change vertices to Bezier Corner vertices. These always convert to a junction between two different NURBS curves. ■ Collapsing a primitive on page 321 into a NURBS object is one of the quickest ways to start building a NURBS model. After collapsing the primitive, you can select various CVs and transform them. Other objects you can convert to NURBS are prisms on page 392, torus knots on page 360, lofts on page 674, and patch grids on page 2424. ■ You can also change the NURBS surface by applying modifiers. The modifiers act on the points or CVs of the surface, and not on the surface itself. After applying the modifiers, collapse the modifier stack on page 8776. This removes the modifiers from the stack without changing the position of the modified points or CVs, making for a simpler and quicker model. ■ Another way to create a NURBS surface object is to apply a Lathe on page 1418 or Extrude on page 1369 modifier to a NURBS curve. Set the modifier's Output Type to NURBS, and then collapse when you're done adjusting the parameters. 2462 | Chapter 10 Surface Modeling (There are also NURBS lathe and extrude surface sub-object types, which you can apply to curve sub-objects.) Shortcuts, Snaps, and User Interface Tips ■ Remember to turn on the Plug-In Keyboard Shortcut Toggle on page 9008. While it is on, you can use all the NURBS keyboard shortcuts. ■ One of the most useful NURBS keyboard shortcuts is H, which opens the Select Sub-Objects dialog. This is a subset of the Selection Floater on page 187 that you can use during sub-object creation as well as sub-object selection. This is handy when sub-objects are crowded or hard to see. A variant is Ctrl+H, which also displays the Select Sub-Objects dialog, but lists only those NURBS sub-objects beneath the mouse cursor position. ■ There are special NURBS Snaps in the Grid and Snap Settings dialog on page 2850 (right-click the 3D Snap toggle to display this). When you use NURBS snaps, turn off Options/Axis Constraints; otherwise, snaps work only in the current axis. Also, remember that snaps work in a viewport only when you have made the viewport active. And choosing your snap settings does not turn on snaps. You must also turn on the 3D Snap Toggle button on page 2833 (on the status bar). Snaps are especially important when you create the curves for building 1-rail on page 2686 and 2-rail on page 2696 sweep surfaces. ■ Remember that without leaving the viewport, you can right-click to display a quad menu on page 8640 with shortcuts for changing the sub-object level, creating some sub-objects, and using some other edit commands. ■ When you work with NURBS, there are a lot of rollouts in the Modify panel. Minimize the rollouts you don't need. For example, minimizing the Modifiers rollout helps unless you're applying Modifiers, and minimizing the Surface Common rollout is useful when you're creating U loft, UV loft, and 1-rail or 2-rail sweep surfaces. ■ Don't set viewports to display edged faces. Displaying edges is almost twice as slow as displaying a simple shaded viewport. Creating Curves ■ When drawing a CV curve, click three times to get a sharp corner. Be aware, however, that multiple CVs increase the amount of calculation and therefore reduce the performance and stability of your model. However, NURBS Models: Objects and Sub-Objects | 2463 if you want to use the curve to construct a U Loft, and so on, this is the best technique. ■ You can also create sharp corners by fusing the ends of two separate NURBS curve sub-objects. This is the recommended method if you aren't using the curves to construct a surface. ■ While creating curves, you can turn on the Draw in All Viewports toggle. This lets you draw curves in 3D. Begin drawing a curve in one viewport, go to another viewport, and continue drawing. If your mouse has a middle mouse button, Alt+middle mouse button lets you use Orbit on page 8740 to change a viewport's orientation while you are creating the curve. ■ To create a transform curve along a specific axis, turn on the appropriate axis constraints, and then Shift+move a copy of the transform curve. Curves and Direction ■ NURBS curves show their direction in viewports. A small circle indicates the first vertex. If the curve is closed, a plus sign (+) indicates the direction of the curve. Be aware of curve direction when you use curves to construct blend surfaces on page 2637, U loft on page 2669 and UV loft on page 2679 surfaces, and 1-rail on page 2686 and 2-rail on page 2696 sweeps. If the curves don't have the same direction, you can get strange twisting. Make sure curves have the same direction before you construct the surface. On the Curve Common rollout, the controls Reverse and Make First let you control the direction of the curve, and where its starting point or CV is located. Another good way to make sure curves are aligned is to draw one curve and then use Shift+Clone to create the others. After creating the aligned curves, you can transform CVs to vary the curves on which the surface will be based. Curves for Sweeps ■ Besides expecting cross-section curves to be all in the same direction, 1-rail on page 2686 and 2-rail on page 2696 sweep surfaces work best if the cross sections intersect the rail or rails. To achieve this, draw the rails first, then draw the cross sections using the NURBS Snaps on page 2850 Curve End and Curve Edge turned on. 2464 | Chapter 10 Surface Modeling ■ 2-rail sweeps have the additional requirement that the endpoints of the first cross section intersect the endpoints of the rails. Again, NURBS Snaps help you do this. If the endpoints of the first cross-section don't coincide with the rail endpoints, the resulting surface might not follow the rails. ■ While you're editing a sweep, the Edit Curve button lets you directly transform the CVs of a rail or cross section, without changing the sub-object level. Edit Curve also gives you access to all the rollouts that control the curve. You can use Refine or Make First, for example, without changing levels. Curves on Surfaces and Projected Curves ■ You can use a viewport to draw a curve on a surface on page 2614 (COS), but this works only for visible portions of the surface. To see the entire surface and the curve or curves on it projected into a flat plane, use Edit Curve. If your mouse has a middle mouse button, Alt+middle mouse button lets you use Orbit on page 8740 to change a viewport's orientation while you draw the curve on surface. ■ Neither curves on surfaces nor projected curves can cross the edge of a surface. This includes the seam on surfaces with fused CVs. If you try to project across the seam, only part of the curve's projection is created. Creating Blend Surfaces ■ You can blend between curves or between surface edges. (You can't blend from a trimmed edge. In that situation, you are blending from the curve that trimmed the surface.) ■ If you want a controllable tangent or tension, you must blend to a surface edge or a curve on a surface. Adjusting tension changes the flatness or "bulginess" of that end of the blend. When a curve and a surface (or two surfaces) are near each other, sometimes it can be hard to tell which edge you are selecting. To assist you, the currently selected surface turns yellow, and the edge that will be used for the blend turns blue. Make sure you have selected the right surface before you choose the edge. ■ If the edges you are blending have different numbers of points (usually due to different surface approximation settings), then sometimes rendering shows gaps between the blend and the original surface. If this happens, go to the Surface Approximation rollout on page 2762 and increase the value of Merge until the gaps disappear when you render. NURBS Models: Objects and Sub-Objects | 2465 The Merge setting affects only the production renderer. It has no effect on viewport display. Lofts ■ If you need a surface between only two curves, use a ruled surface on page 2663 instead of a U loft. This is faster. ■ If loft creation seems slow, make sure the Display While Creating check box (in the U Loft Surface rollout on page 2669) is turned off. ■ If the U loft doesn't come out as you expected, try reparameterizing the curves. Click Reparam. at the Curve sub-object level. This button is on the CV Curve rollout. In the Reparameterize dialog on page 2757, choose Chord Length reparameterization. If a curve is dependent or a point curve, first you will have to make it independent (this also improves performance). Curves that are made of two joined curves have this problem more often than others. If you have a joined curve as one of the curves to construct the loft, reparameterize it before you create the loft, or set the curves to reparameterize automatically. ■ The Edit Curve button lets you directly transform the CVs of a curve within a U loft or UV loft on page 2679, without changing the sub-object level. Edit Curve also gives you access to all the rollouts that control the curve. You can use Refine or Make First, for example, without changing levels. ■ To close a UV loft, you can pick the first V curve again to make it the last curve in the loft. Sometimes a seam is visible at this location in the UV loft. Multisided Blend Surfaces ■ If 3ds Max doesn't create the multisided blend on page 2706, fuse the CVs at the three or four corners. Snapping CVs to each other doesn't always succeed, because of rounding off. Multicurve Trimmed Surfaces ■ Multicurve trimmed surfaces are the only way to create a trimmed hole that contains sharp angles. 2466 | Chapter 10 Surface Modeling Displacement Mapping ■ In general, the default tessellation settings aren't suitable for displaced surfaces. With these default settings, displacement mapping can create an extremely high face count, which performs very slowly. Change the surface approximation to the lowest necessary resolution. A good rule of thumb is to start with Spatial approximation and an Edge value of 20. If that is too low, reduce the Edge value until the model looks as it should. ■ Use the Displace NURBS world space modifier on page 1008 to convert the displacement map into an actual displaced mesh so you can see the effect of displacement in viewports. To make a displaced mesh copy of the NURBS model, use Snapshot on page 888. Connecting an Arm to a Shoulder ■ The easiest approach is to create a CV curve on surface on page 2614 or normal projected curve on page 2608 on the shoulder. Then create the arm as a U loft on page 2669. For the last curve of the U loft, select the CV curve on surface or the normal projected curve. Then turn on Use COS Tangents, which makes the loft surface tangent to the other surface where the arm joins the shoulder. ■ If the blend appears twisted, use the Start Point spinner to change the location of the first point of the curves that make up the U loft surface. ■ Another way to connect a U loft to another surface is to project the last curve in the U loft onto the other surface. Click Make COS to convert the projected curve into a curve on surface, and then on the U Loft Surface rollout click Insert to make the new curve on surface the last curve in the U loft. You can scale the curve on surface or move its CVs to get the curvature and blending you want. How to Fix NURBS Objects These are tips on fixing problems with NURBS models. ■ If you create a surface but it isn't visible in viewports, click Flip Normals. Flip Normals is available on the surface's creation rollout, or at the Surface sub-object level on the Surface Common rollout. ■ If you create a blend surface on page 2637 and it looks like a bow tie, use Flip End 1 or Flip End 2 to correct the twist. NURBS Models: Objects and Sub-Objects | 2467 ■ If a CV curve gives you unexpected or incorrect results, try reparameterizing it. Click Reparam. at the Curve sub-object level. This button is on the CV Curve rollout. In the Reparameterize dialog on page 2757, choose Chord Length reparameterization. If the curve still gives you trouble, try rebuilding it. The Rebuild button is on the same rollout. ■ If a blend between a surface and a curve gives you unexpected or incorrect results, try reparameterizing the parent surface. Click Reparam. at the Surface sub-object level. This button is on the CV Surface rollout. In the Reparameterize dialog on page 2757, choose Chord Length reparameterization. ■ If you see a seam in a shaded viewport, render the viewport first before you try to fix the seam. What you see in viewports might not be what you get in a render, and the viewport shader is less accurate than the production renderer. Seams in viewports can also result from different surface approximation settings on page 2762 for the viewport and the renderer, so check these as well. ■ If you see gaps between faces in the rendered model, increase the Merge value for the renderer in the surface approximation settings. ■ Sometimes gaps between faces appear after you convert a NURBS model into a mesh. (For example, by using Mesh Select on page 1445.) If this happens, increase the Merge value for the renderer in the surface approximation on page 2762 settings. ■ If you see odd twists in a 1-rail on page 2686 or 2-rail on page 2696 sweep, add more cross sections at the areas of change in the surface. For example, if your rail looks like a box with rounded corners, placing cross sections at the corners helps to control the shape of the sweep. On the other hand, you don't need more cross sections for a rail shaped like an 'S', because the curvature is more constant. ■ If a U loft or UV loft doubles back on itself unexpectedly, make sure that all the curves are going in the same direction. Click Reverse to change a curve's direction. Use the Start Point spinner to align the curve's initial points. 2468 | Chapter 10 Surface Modeling How to Improve NURBS Performance These are tips on improving the performance of your NURBS models. ■ Avoid using point curves and point surfaces. These are slower than CV curves and CV surfaces. Use the point forms only when you need them for construction; for example, when you use Curve Fit to create a curve that interpolates specific points. ■ Use the nonrelational stack on page 2502 feature in conjunction with the Shaded Lattice toggle to improve performance while you animate your NURBS model. ■ Use Transform Degrade to hide surfaces while you are moving, rotating, and scaling NURBS sub-objects. The shortcut Ctrl+X toggles this option. You can use Ctrl+X in the middle of a transform, to turn on degradation if things are happening slowly. ■ Turn off the display of dependent surfaces while you are creating new dependent surfaces or moving, rotating, or scaling NURBS sub-objects. The shortcut Ctrl+D toggles dependent surface display. ■ Trim holes only when you need to. For example, when you connect an arm to a torso, you don't need to create a hole beneath the arm, as it won't be visible anyway. You can also speed up performance by turning off the Display Trims toggle. The shortcut Shift+Ctrl+T toggles trim display. The trims still appear in renderings. ■ For symmetrical models, create only half the geometry, and then mirror it. You can then use a blend on page 2637 surface or ruled on page 2663 surface to connect the two halves. ■ Restart 3ds Max when performance begins to slow down. If your NURBS model needs to page, then working with it for a long time causes performance to slow. If you notice this, save your work, close 3ds Max, and then restart. ■ Convert point surfaces to CV surfaces whenever possible. ■ When you use texture surfaces, use the Edit Texture Surface dialog on page 2743 (click Edit Texture Surface on the Material Properties rollout on page 2564) to rebuild the texture surface with the minimum necessary number of UV rows and columns. ■ U lofts are faster than UV lofts. NURBS Models: Objects and Sub-Objects | 2469 ■ Every type of surface is faster if you can make it independent. ■ Set the surface approximation on page 2762 for viewports to use the lowest possible resolution. Set the renderer to use higher resolution, and turn on View Dependent for the renderer so objects far from the camera render more quickly. ■ You can customize and save surface approximation on page 2762 presets by using the Surface Approximation utility on page 2773. This utility also lets you set surface approximation values for a selection set of multiple NURBS models. NURBS Animation, Textures, and Rendering These are tips about animating NURBS models and using textures with animated NURBS models. ■ An easy way to animate a growing surface is to put a curve point on page 2721 with trimming on a curve, then animate the U position of the curve point, and then use this curve as the rail of a 1-rail sweep on page 2686. As the trimmed rail grows, so does the sweep surface. (You must trim the curve before you create the sweep surface.) ■ If you see gaps between surfaces in rendered images, increase the value of Merge for the renderer in the surface approximation on page 2762 settings. ■ If a texture slides around on the surface during animation, this is because you are using the default Chord-Length parameterization of the texture surface. Select the surface, then on the Material Properties rollout on page 2564 change the parameterization to User Defined. Now the texture should stick to the surface better. ■ Don't use the UVW Map modifier on page 1883 to apply a texture to an animated NURBS surface. ■ If a surface seems to glitter or jump around as you move toward it in an animation, this is because View Dependent tessellation is on (on the Surface Approximation rollout on page 2762) so the tessellation is constantly changing. Usually View Dependent creates no visible changes, but if it does, turn it off. ■ If a surface seems to glitter or jump around while it changes during animation, this is because the tessellation is changing as the surface animates. Changing surface approximation (on the Surface Approximation rollout) to Regular fixes this in all cases. Parametric tessellation also solves 2470 | Chapter 10 Surface Modeling this problem for every kind of surface except U lofts on page 2669 and UV lofts on page 2679. ■ If the View Dependent setting doesn’t seem to be doing much, change the tessellation (on the Surface Approximation rollout) from Curvature to Spatial. You will then get a much more drastic change in face count. ■ To get a map to smoothly cover two or more surface without tiling, create another surface whose shape covers and roughly conforms to the original surfaces. Apply the texture to the larger surface. In the Material Properties rollout on page 2564 for the original surfaces, set Texture Surface to Projected, click Pick Source Surface, and pick the larger surface. Adjust the larger surface to fine-tune the map projection. Hide the larger surface before you render. ■ To have different maps on a surface sub-object, use different mapping coordinates on page 9212, and multiple map channels on page 9210. On the Material Properties rollout on page 2564, change the Map Channel value and then turn on Generate Mapping Coordinates. (Each map channel requires its own set of mapping coordinates.) NURBS surface sub-objects let you set the map channel directly, and don't require you to apply UVW Map modifiers as other objects do. ■ If a map doesn't align to a surface sub-object the way you want it to, on the Material Properties rollout on page 2564 choose User Defined as the Texture Surface, and then use Edit Texture Points or the Edit Texture Surface dialog to move the points of the texture surface. ■ To adjust how the map aligns to the edges of a surface sub-object, use the Texture Corner settings on the Material Properties rollout on page 2564. NURBS Surfaces Create panel ➤ (Geometry) ➤ NURBS Surfaces Create menu ➤ NURBS ➤ CV Surface/Point Surface NURBS on page 9239 surface objects are the basis of NURBS models. The initial surface you create using the Create panel is a planar segment with points or CVs. It is meant simply to be "raw material" for creating a NURBS model. Once you have created the initial surface, you can modify it on the Modify panel by moving CVs or NURBS points, attaching other objects, creating sub-objects, and so on. NURBS Surfaces | 2471 There are two kinds of NURBS surfaces: Point Surface on page 2473 CV Surface on page 2477 You can also create a NURBS surface from a geometric primitive on page 2500. NURBS surfaces can contain multiple sub-objects, including NURBS points, NURBS curves, and other NURBS surfaces. These sub-objects are either dependent or independent. Creating Curve Sub-Objects on page 2569 Creating Surface Sub-Objects on page 2625 Creating and Editing Point Sub-Objects on page 2717 Common Sub-Object Controls on page 2512 Editing Point Sub-Objects on page 2514 Editing Curve CV Sub-Objects on page 2522 Editing Surface CV Sub-Objects on page 2528 Editing Curve Sub-Objects on page 2538 Editing Surface Sub-Objects on page 2550 You can also create NURBS surface sub-objects by attaching or importing other 3ds Max objects on page 2509. Both NURBS curves and NURBS surfaces have a Display area in the General rollout on the Modify panel. These controls affect which portions of the NURBS geometry are displayed. Next to the Display area is the button that turns on the toolbox for creating sub-objects. Display Controls for NURBS Models on page 2504 WARNING When you move CV sub-objects, the effect must be calculated over a region of the surface. Although the calculations are optimized, this is a more involved process than simply moving vertices in an editable mesh. Because of this, if you manipulate large numbers of a NURBS surface's CVs by transforming, animating, applying modifiers, and so on, you will notice a drop in interactive performance. You can use MAXScript to control NURBS objects. See "Working with NURBS in MAXScript" in the MAXScript help file. Choose Help ➤ Additional Help, and then choose MAXScript from the list of additional help files. 2472 | Chapter 10 Surface Modeling Point Surface Create panel ➤ (Geometry) ➤ NURBS Surfaces ➤ Point Surf Create menu ➤ NURBS ➤ Point Surface Point surfaces are NURBS surfaces on page 2471 whose points are constrained to lie on the surface. Points shape the surface they lie on. Because an initial NURBS surface is meant to be edited, the surface creation parameters do not appear on the Modify panel. In this respect, NURBS surface objects are different from other objects. The Modify panel provides other ways to change the values you set in the Create panel. NURBS Surfaces | 2473 Procedures To create a point surface: 1 Go to the Create panel. 2 With (Geometry) active, choose NURBS Surfaces from the drop-down list. 3 Turn on Point Surf. 4 In a viewport, drag to specify the area of the planar segment. 5 Adjust the surface's creation parameters. Interface The creation parameters are the same for both point surfaces and CV surfaces, except that the labels indicate which kind of basic NURBS surface you are creating. Keyboard Entry rollout The Keyboard Entry rollout lets you create a point surface by typing. Use the Tab key to move between the controls on this rollout. To click the Create button from the keyboard, press Enter while the button is active. 2474 | Chapter 10 Surface Modeling X, Y, and Z Let you enter the coordinates of the center of the surface. Length and Width Let you enter the dimensions of the surface in current 3ds Max units. Length Points Lets you enter the number of points along the length of the surface (this is the initial number of point columns). Width Points Lets you enter the number of points along the width of the surface (this is the initial number of point rows). Create Creates the surface object. NURBS Surfaces | 2475 Create Parameters rollout Length The length of the surface in current 3ds Max units. Width The width of the surface in current 3ds Max units. On the Modify panel, the Length and Width spinners are no longer available. You can change the length or width of the surface by scaling the surface at the Surface sub-object level. Moving point sub-objects also alters the length and width of the surface. Length Points The number of points along the length of the surface. In other words, the initial number of point columns in the surface. Range=2 to 50. Default=4. Width Points The number of points along the width of the surface. In other words, the initial number of point rows in the surface. Range=2 to 50. Default=4. On the Modify panel, the point Length and Width spinners are no longer available. You can change the number of rows and columns by deleting existing rows and columns, or by adding new rows and columns using the Refine controls at the Point sub-object level. Generate Mapping Coordinates Generates mapping coordinates so you can apply mapped materials to the surface. The Generate Mapping Coordinates control is present on the Modify panel. It is at the Surface sub-object level. Flip Normals Turn on to reverse the direction of the surface normals. 2476 | Chapter 10 Surface Modeling The Flip Normals control is present on the Modify panel. It is at the Surface sub-object level. When you modify a point surface, a rollout lets you change its surface approximation settings on page 2762. CV Surface Create panel ➤ (Geometry) ➤ NURBS Surfaces ➤ CV Surf Create menu ➤ NURBS ➤ CV Surface CV surfaces are NURBS surfaces on page 2471 controlled by control vertices (CVs on page 9128). The CVs don't lie on the surface. They define a control lattice on page 9123 that encloses the surface. Each CV has a weight that you can adjust to change the shape of the surface. The CVs in a control lattice shape the surface it defines. Because an initial NURBS surface is meant to be edited, the surface creation parameters do not appear on the Modify panel. In this respect, NURBS surface NURBS Surfaces | 2477 objects are different from other objects. The Modify panel provides other ways to change the values you set in the Create panel. Procedures To create a CV surface: 1 Go to the Create panel. 2 With (Geometry) active, choose NURBS Surfaces from the drop-down list. 3 Turn on CV Surf. 4 In a viewport, drag to specify the area of the planar segment. 5 Adjust the surface's creation parameters. NOTE When you edit a CV surface you can add or move CVs so that more than one CV is at the same location (or close to it) to increase the influence of the CVs in that region of the surface. Two coincident CVs sharpen the curvature. Three coincident CVs create an angular peak in the surface. This technique can help you shape the surface. However, if you later move the CVs individually, you lose this effect. (You can also obtain the influence of multiple CVs by fusing on page 9172 CVs.) Interface The creation parameters are the same for both point surfaces and CV surfaces, except that the labels indicate which kind of basic NURBS surface you are creating. Keyboard Entry rollout The Keyboard Entry rollout lets you create a CV surface by typing. Use the Tab key to move between the controls on this rollout. To click the Create button from the keyboard, press Enter while the button is active. 2478 | Chapter 10 Surface Modeling X, Y, and Z Let you enter the coordinates of the center of the surface. Length and Width Let you enter the dimensions of the surface, in current 3ds Max units. Length CVs Lets you enter the number of CVs along the length of the surface (this is the initial number of CV columns). Width CVs Lets you enter the number of CVs along the width of the surface (this is the initial number of CV rows). Create Creates the surface object. NURBS Surfaces | 2479 Create Parameters rollout Length The length of the surface in current 3ds Max units. Width The width of the surface in current 3ds Max units. On the Modify panel, the Length and Width spinners are no longer available. You can change the length or width of the surface by scaling the surface at the Surface sub-object level. Moving CV sub-objects also alters the length and width of the surface. Length CVs The number of CVs along the length of the surface. In other words, the initial number of CV columns in the surface. Can range from 4 to 50. Width CVs The number of CVs along the width of the surface. In other words, the initial number of CV rows in the surface. Can range from 4 to 50. On the Modify panel, the CV Length and Width spinners are no longer available. You can change the number of rows and columns by deleting existing rows and columns, or by adding new rows and columns using the Refine controls at the Surface CV sub-object level. Generate Mapping Coordinates Generates mapping coordinates so you can apply mapped materials to the surface. 2480 | Chapter 10 Surface Modeling The Generate Mapping Coordinates control is present on the Modify panel. It is at the Surface sub-object level. Flip Normals Turn on to reverse the direction of the surface normals. The Flip Normals control is present on the Modify panel. It is at the Surface sub-object level. When you modify a CV surface, a rollout lets you change its surface approximation settings on page 2762. Automatic Reparameterization group The radio buttons in this group box let you choose automatic reparameterization. With reparameterization, the surface maintains its parameterization as you edit it. Without reparameterization, the surface's parameterization doesn't change as you edit it, and can become irregular. None Do not reparameterize. Chord Length Chooses the chord-length algorithm for reparameterization. Chord-length reparameterization spaces knots (in parameter space on page 9257) based on the square root of the length of each curve segment. Chord-length reparameterization is usually the best choice. Uniform Spaces the knots uniformly. A uniform knot vector has the advantage that the surface will change only locally when you edit it. With the other two forms of parameterization, moving any CV can change the entire surface. NURBS Curves Create panel ➤ (Shapes) ➤ NURBS Curves NURBS on page 9239 curves are Shape objects on page 506, and you can use them as you do splines. You can use the Extrude or Lathe modifiers to generate a 3D surface based on a NURBS curve. You can use NURBS curves as the path or the shape of a loft. (Lofts created using NURBS curves are loft objects, not NURBS objects.) You can also use NURBS curves as Path Constraint and Path Deform paths or as motion trajectories. You can assign thickness to a NURBS curve so it renders as a cylindrical object. (The thickened curve renders as a polygonal mesh, not as a NURBS surface.) NURBS Curves | 2481 A curve and the same curve rendered with thickness There are two kinds of NURBS curve objects: Point Curve on page 2483 CV Curve on page 2490 Like other Shape objects, NURBS curves can contain multiple sub-objects, which are either dependent or independent. Creating Curve Sub-Objects on page 2569 Creating Surface Sub-Objects on page 2625 Creating and Editing Point Sub-Objects on page 2717 Common Sub-Object Controls on page 2512 Editing Point Sub-Objects on page 2514 Editing Curve CV Sub-Objects on page 2522 Editing Surface CV Sub-Objects on page 2528 Editing Curve Sub-Objects on page 2538 Editing Surface Sub-Objects on page 2550 NOTE Like an object-level NURBS surface on page 2471, an object-level NURBS curve is a top-level NURBS model on page 9239 that can contain NURBS curve, NURBS surface, and NURBS point sub-objects. A NURBS curve remains a Shape object unless you add a surface sub-object to it; if you do, it converts to a NURBS surface (without changing its name). Creating Independent Surfaces from NURBS Curve Objects on page 2498 2482 | Chapter 10 Surface Modeling You can also create NURBS curve sub-objects by attaching or importing other objects such as other NURBS curves or spline shapes. Attaching and Importing 3ds Max Objects on page 2509 Display Controls for NURBS Models on page 2504 Both NURBS curves and NURBS surfaces have a Display area in the Modify panel. These controls affect which portions of the NURBS geometry are displayed. Next to the Display area is the button that turns on the toolbox for creating sub-objects. Point Curve Create panel ➤ (Shapes) ➤ NURBS Curves ➤ Point Curve button Create menu ➤ NURBS ➤ Point Curve Point curves are NURBS curves on page 2481 whose points are constrained to lie on the curve. A point curve can be the basis of a full NURBS model on page 9239. NURBS Curves | 2483 Points lie on the curve they define. Drawing Three-Dimensional Curves When you create a point curve, you can draw it in three dimensions. There are two ways to do this: ■ Draw In All Viewports: This toggle lets you use any viewport to draw the curve, enabling you to draw three dimensionally. ■ Using Ctrl to drag points: While you draw a curve, you can use the Ctrl key to drag a point off of the construction plane. With the Ctrl–key method, further mouse movement lifts the latest point off the construction plane. There are two ways to use this: ■ Click-drag. If you hold down Ctrl and also hold down the mouse button, you can drag to change the height of the point. The point's location is set when you release the mouse button. This method is probably more intuitive. 2484 | Chapter 10 Surface Modeling ■ Click-click. If you Ctrl+click and then release the mouse button, the height changes as you drag the mouse. Clicking the mouse a second time sets the point's location. This method is less prone to repetitive stress injury. While you are offsetting the point, a red dotted line is drawn between the original point on the construction plane and the actual point offset from the plane. You can move the mouse into an inactive viewport, in which case 3ds Max sets the height of the point using the point's Z axis in the inactive viewport. This lets you set the height of the point with accuracy. Snaps on page 2850 also work when you change the height of a point. For example, if you turn on Point snapping, you can set a point to have the same height as another point by snapping to that other point in an inactive viewport. Procedures To create a NURBS point curve: 1 Go to the 2 Activate list. Create panel. (Shapes), and choose NURBS Curves from the drop-down 3 Turn on Point Curve. 4 In a viewport, click and drag to create the first point, as well as the first curve segment. Release the mouse button to add the second point. Each subsequent location you click adds a new point to the curve. Right-click to end curve creation. NOTE If you begin the curve by clicking without dragging, this also creates the curve's first point. However, if you release the mouse button more than five pixels away from where you initially pressed it, this creates an additional point. While you are creating a point curve, you can press Backspace to remove the last point you created, and then previous points in reverse order. If Draw In All Viewports is on, you can draw in any viewport, creating a 3D curve. NURBS Curves | 2485 To lift a point off the construction plane, use the Ctrl key as described earlier in this topic under "Drawing Three-Dimensional Curves." As with splines, if you click over the curve's initial point, a Close Curve dialog on page 2754 is displayed. This dialog asks whether you want the curve to be closed. Click No to keep the curve open or Yes to close the curve. (You can also close a curve when you edit it at the Curve sub-object level.) When a closed curve is displayed at the Curve sub-object level, the initial point is displayed as a green circle, and a green tick mark indicates the curve's direction. 5 Adjust the curve's creation parameters. 6 (Optional.) To add a new NURBS curve sub-object, you can turn off the Start New Shape check box, and then repeat the preceding steps. Interface The creation parameters are the same for both point curves and CV curves. 2486 | Chapter 10 Surface Modeling Rendering rollout Lets you turn on and off the renderability of the curve, specify its thickness in the rendered scene, and apply mapping coordinates. Render parameters can be animated. For example, you can animate the number of sides. Enable In Renderer When on, the shape is rendered as a 3D mesh using the Radial or Rectangular parameters set for Renderer. Enable In Viewport When on, the shape is displayed in the viewport as a 3D mesh using the Radial or Rectangular parameters set for Renderer. Use Viewport settings Lets you set different rendering parameters, and displays the mesh generated by the Viewport settings. Available only when Enable in Viewport is turned on. Generate Mapping Coords Turn this on to apply mapping coordinates. Default=off. NURBS Curves | 2487 The U coordinate wraps once around the thickness of the spline; the V coordinate is mapped once along the length of the spline. Tiling is achieved using the Tiling parameters in the material itself. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=on. Viewport Turn this on to specify Radial or Rectangular parameters for the shape as it will display in the viewport when Enable in Viewport is turned on. Renderer Turn this on to specify Radial or Rectangular parameters for the shape as it will display when rendered or viewed in the viewport when Enable in Viewport is turned on. Radial Displays the 3D mesh as a cylindrical object. Thickness Specifies the diameter of the viewport or rendered spline mesh. Default=1.0. Range=0.0 to 100,000,000.0. Splines rendered at thickness of 1.0 and 5.0, respectively Sides Sets the number of sides (or facets) for the spline mesh n the viewport or renderer. For example, a value of 4 results in a square cross section. Angle Adjusts the rotational position of the cross-section in the viewport or renderer. For example, if the spline mesh has a square cross section you can use Angle to position a "flat" side down. Rectangular Displays the spline's mesh shape as rectangular. Aspect Sets the aspect ratio for rectangular cross-sections. The Lock check box lets you lock the aspect ratio. When Lock is turned on, Width is locked to Depth that results in a constant ratio of Width to Depth. 2488 | Chapter 10 Surface Modeling Length Specifies the size of the cross–section along the local Y axis. Width Specifies the size of the cross–section along the local X axis. Angle Adjusts the rotational position of the cross-section in the viewport or renderer. For example, if you have a square cross-section you can use Angle to position a "flat" side down. Auto Smooth If Auto Smooth is turned on, the spline is auto-smoothed using the threshold specified by the Threshold setting below it. Auto Smooth sets the smoothing based on the angle between spline segments. Any two adjacent segments are put in the same smoothing group if the angle between them is less than the threshold angle. Threshold Specifies the threshold angle in degrees. Any two adjacent spline segments are put in the same smoothing group if the angle between them is less than the threshold angle. Keyboard Entry rollout The Keyboard Entry rollout lets you create a NURBS curve by typing. Use the Tab key to move between the controls in this rollout. To click a button from the keyboard, press Enter while the button is active. X, Y, and Z Let you enter the coordinates of the next point to add. Add Point Adds the point to the curve. Close Ends creation of the curve and creates a segment between the last point and the initial point to close the curve. Finish Ends creation of the curve, leaving it open. NURBS Curves | 2489 Create Point Curve rollout This rollout contains the controls for curve approximation. Interpolation group The controls in this group box change the accuracy and type of curve approximation on page 2761 used to generate and display the curve. Draw In All Viewports Lets you use any viewport while you are drawing the curve. This is one way to create a 3D curve. When off, you must finish drawing the curve in the viewport where you began it. Default=on. While Draw In All Viewports is on, you can also use snaps on page 2850 in any viewport. CV Curve Create panel ➤ (Shapes) ➤ NURBS Curves ➤ CV Curve button Create menu ➤ NURBS ➤ CV Curve CV curves are NURBS curves on page 2481 controlled by control vertices (CVs on page 9128). The CVs don't lie on the curve. They define a control lattice on page 9123 that encloses the curve. Each CV has a weight that you can adjust to change the curve. While you're creating a CV curve you can click to create more than one CV at the same location (or close to it), increasing the influence of the CVs in that region of the curve. Creating two coincident CVs sharpens the curvature. Creating three coincident CVs creates an angular corner in the curve. This technique can help you shape the curve; however, if you later move the CVs 2490 | Chapter 10 Surface Modeling individually, you lose this effect. (You can also obtain the influence of multiple CVs by fusing on page 9172 CVs.) A CV curve can be the basis of a full NURBS model on page 9239. CVs shape the control lattice that defines the curve. Drawing Three-Dimensional Curves When you create a CV curve, you can draw it in three dimensions. There are two ways to do this: ■ Draw In All Viewports: This toggle lets you use any viewport to draw the curve, enabling you to draw three dimensionally. ■ Using Ctrl to drag CVs: While you draw a curve, you can use the Ctrl key to drag a CV off of the construction plane. With the Ctrl–key method, further mouse movement lifts the latest CV off the construction plane. There are two ways to use this: ■ Click-drag. If you hold down Ctrl and also hold down the mouse button, you can drag to change the height of the CV. The CV's location is set when you release the mouse button. NURBS Curves | 2491 This method is probably more intuitive. ■ Click-click. If you Ctrl+click and then release the mouse button, the height changes as you drag the mouse. Clicking the mouse a second time sets the CV's location. This method is less prone to repetitive stress injury. While you are offsetting the CV, a red dotted line is drawn between the original CV on the construction plane and the actual CV offset from the plane. You can move the mouse into an inactive viewport, in which case 3ds Max sets the height of the CV using the CV's Z axis in the inactive viewport. This lets you set the height of the CV with accuracy. Snaps on page 2850 also work when you change the height of a CV. For example, if you turn on CV snapping, you can set a CV to have the same height as another CV by snapping to that other CV in an inactive viewport. Procedures To create a NURBS CV curve: 1 Go to the 2 Activate list. Create panel. (Shapes), and choose NURBS Curves from the drop-down 3 Turn on CV Curve. 4 In a viewport, click and drag to create the first CV, as well as the first curve segment. Release the mouse to add the second CV. Each subsequent location you click adds a new CV to the curve. Right-click to end curve creation. NOTE If you begin the curve by clicking without dragging, this also creates the curve's first CV. However, if you release the mouse more than five pixels away from where you initially pressed it, this creates an additional CV. While you are creating a CV curve, you can press Backspace to remove the last CV you created, and then previous CVs in reverse order. If Draw In All Viewports is on, you can draw in any viewport, creating a 3D curve. 2492 | Chapter 10 Surface Modeling To lift a CV off the construction plane, use the Ctrl key as described earlier in this topic under "Drawing Three-Dimensional Curves." As with splines, if you click over the curve's initial CV, a Close Curve dialog on page 2738 is displayed. This dialog asks whether you want the curve to be closed. Click No to keep the curve open or Yes to close the curve. (You can also close a curve when you edit it at the Curve sub-object level.) When a closed curve is displayed at the Curve sub-object level, the initial CV is displayed as a green circle, and a green tick mark indicates the curve's direction. 5 Adjust the curve's creation parameters. 6 (Optional) To add a new NURBS curve sub-object, you can turn off the Start New Shape check box, and then repeat the preceding steps. Interface The creation parameters are the same for both point curves and CV curves. NURBS Curves | 2493 Rendering rollout Enable In Renderer When on, the shape is rendered as a 3D mesh using the Radial or Rectangular parameters set for Renderer. Enable In Viewport When on, the shape is displayed in the viewport as a 3D mesh using the Radial or Rectangular parameters set for Renderer. Use Viewport settings Lets you set different rendering parameters, and displays the mesh generated by the Viewport settings. Available only when Enable in Viewport is turned on. Generate Mapping Coords Turn this on to apply mapping coordinates. Default=off. The U coordinate wraps once around the thickness of the spline; the V coordinate is mapped once along the length of the spline. Tiling is achieved using the Tiling parameters in the material itself. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by 2494 | Chapter 10 Surface Modeling the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=on. Viewport Turn this on to specify Radial or Rectangular parameters for the shape as it will display in the viewport when Enable in Viewport is turned on. Renderer Turn this on to specify Radial or Rectangular parameters for the shape as it will display when rendered or viewed in the viewport when Enable in Viewport is turned on. Radial Displays the 3D mesh as a cylindrical object. Thickness Specifies the diameter of the viewport or rendered spline mesh. Default=1.0. Range=0.0 to 100,000,000.0. Splines rendered at thickness of 1.0 and 5.0, respectively Sides Sets the number of sides (or facets) for the spline mesh n the viewport or renderer. For example, a value of 4 results in a square cross section. Angle Adjusts the rotational position of the cross-section in the viewport or renderer. For example, if the spline mesh has a square cross section you can use Angle to position a "flat" side down. Rectangular Displays the spline's mesh shape as rectangular. Aspect Sets the aspect ratio for rectangular cross-sections. The Lock check box lets you lock the aspect ratio. When Lock is turned on, Width is locked to Depth that results in a constant ratio of Width to Depth. Length Specifies the size of the cross–section along the local Y axis. Width Specifies the size of the cross–section along the local X axis. NURBS Curves | 2495 Angle Adjusts the rotational position of the cross-section in the viewport or renderer. For example, if you have a square cross-section you can use Angle to position a "flat" side down. Auto Smooth If Auto Smooth is turned on, the spline is auto-smoothed using the threshold specified by the Threshold setting below it. Auto Smooth sets the smoothing based on the angle between spline segments. Any two adjacent segments are put in the same smoothing group if the angle between them is less than the threshold angle. Threshold Specifies the threshold angle in degrees. Any two adjacent spline segments are put in the same smoothing group if the angle between them is less than the threshold angle. A curve and the same curve rendered with thickness Keyboard Entry rollout The Keyboard Entry rollout lets you create a NURBS curve by typing. Use the Tab key to move between the controls in this rollout. To click a button from the keyboard, press Enter while the button is active. 2496 | Chapter 10 Surface Modeling X, Y, and Z Let you enter the coordinates of the next CV to add. Add Point Adds the CV to the curve. Weight Enter a weight for the CV. Close Ends creation of the curve and creates a segment between the last CV and the initial CV, to make the curve a closed curve. Finish Ends creation of the curve, leaving it open ended. Create CV Curve rollout This rollout contains the controls for curve approximation. Interpolation group The controls in this group box change the accuracy and kind of curve approximation on page 2761 used to generate and display the curve. Draw In All Viewports Lets you use any viewport while you are drawing the curve. This is one way to create a 3D curve. When off, you must finish drawing the curve in the viewport where you began it. Default=On. While Draw In All Viewports is on, you can also use snaps on page 2850 in any viewport. Automatic Reparameterization group The controls in this group box let you specify automatic reparameterization. They are similar to the controls in the Reparameterize dialog on page 2757, with one addition: all choices except for None tell 3ds Max to reparameterize the NURBS Curves | 2497 curve automatically; that is, whenever you edit it by moving CVs, refining, and so on. None Do not reparameterize automatically. Chord Length Chooses the chord-length algorithm for reparameterization. Chord-length reparameterization spaces knots (in parameter space on page 9257) based on the square root of the length of each curve segment. Chord-length reparameterization is usually the best choice. Uniform Spaces the knots uniformly. A uniform knot vector has the advantage that the curve or surface changes only locally when you edit it. With the other two forms of parameterization, moving any CV can change the entire sub-object. Creating NURBS Curve and Surface Objects These topics describe how to create top-level, “starter” NURBS objects. Creating Independent Surfaces from NURBS Curve Objects To create independent surfaces from top-level NURBS curve objects, use the Extrude on page 1369 and Lathe on page 1418 modifiers. Extrude adds height to the curve, creating a shape by sweeping it along the curve's local Z axis. Lathe creates a surface of rotation, revolving the shape along a specified axis. You can also use the Bevel on page 1108 and Bevel Profile on page 1115 modifiers on NURBS curves. These modifiers treat NURBS curves the same way they treat shapes on page 506. The advantage of using NURBS curves instead of shapes is in the different possible shapes that NURBS geometry and editing provide. TIP When you create a complicated surface, especially with the Lathe modifier, you often want to render both sides of the surface. To see both sides of the extruded or lathed surface in rendered output, turn on Force 2-Sided on the Render Setup dialog. To see both sides in viewports, turn on Force 2-Sided on the Viewport Configuration dialog. By default, an object with Extrude or Lathe collapses to an editable mesh on page 2190 object. To have Extrude or Lathe output collapse to a NURBS object, change the setting to NURBS in the Output group box of the Extrude or Lathe rollout, and then collapse the modifier stack on page 8776. 2498 | Chapter 10 Surface Modeling Creating NURBS Curves from Splines Select Spline object. ➤ Modify panel ➤ Modifier stack display ➤ Right-click the spline name. ➤ Convert To: NURBS You can turn a spline on page 511 into a NURBS object formed of CV curves on page 2490. Once converted, you can no longer edit the spline shape parametrically, but you can edit it as a NURBS object, moving CVs and so on. Splines become NURBS curves that then become NURBS surfaces. When you convert a spline circle on page 524 to a NURBS curve, the direction of the curve is reversed. This facilitates using the curve to trim a surface: if the direction weren't reversed, usually the circle would trim outward instead of inward. Procedures To turn a spline into NURBS curves: 1 Create the spline. Creating NURBS Curve and Surface Objects | 2499 2 Go to the Modify panel. 3 In the stack display, right-click the name of the spline. 4 On the pop-up menu, choose Convert To: NURBS. The spline is converted to one or more CV curves. Smoothly curved splines, such as circles and arcs, convert to a single CV curve. Splines with sharp angles, such as rectangles and stars, convert to multiple CV curves whose endpoints are at the angles in the original spline. These endpoints are fused except for the initial CV in the spline (for a star, the initial segment is unfused at both ends). "Sharp angles" doesn't apply to smooth splines to which you have given angles by changing vertex tangents using the Edit Spline on page 1368 modifier. These still convert to a single NURBS curve. Creating NURBS Surfaces from Geometric Primitives You can turn a standard primitive on page 321 into a NURBS object formed of CV surfaces on page 2628. Once converted, you can no longer edit the object parametrically, but you can edit it as a NURBS object, moving CVs and so on. 2500 | Chapter 10 Surface Modeling Primitive objects become NURBS surfaces that you can then edit in various ways. You can't convert most extended primitive objects in this way, but you can convert the torus knot on page 360 and prism on page 392 extended primitives to NURBS objects. You can also convert patch on page 2424 objects and loft on page 674 compound objects. Tips ■ Geospheres are good for creating rounded models with no sharp edges. ■ Boxes are good for creating models that have sharp edges. ■ Flattened cones work well for models whose contours are roughly triangular. If the primitive is closed, the converted surface is a closed CV surface, which has no visible seams. Also, relational cap surfaces on page 2666 are used to cap surfaces that aren't closed. Creating NURBS Curve and Surface Objects | 2501 Procedures To turn a primitive into a NURBS object: 1 Create the primitive object. 2 Go to the Modify panel. 3 In the stack display, right-click the name of the object. 4 On the pop-up menu, choose Convert To: NURBS. The object is converted to one or more CV surfaces. The surfaces can be independent surface sub-objects, or dependent surface sub-objects such as Lathe. Nonrelational NURBS Surfaces Select a NURBS object. ➤ Relational Stack toggle Modify panel ➤ General rollout ➤ Nonrelational NURBS surfaces provide a way to improve the performance of NURBS with modifiers. These are controlled by the Relational Stack toggle on the General rollout for NURBS objects. 2502 | Chapter 10 Surface Modeling When Relational Stack is on, NURBS maintain full relational modeling on the modifier stack on page 8776. When this toggle is off (the default), then using the modifier stack converts surfaces into independent CV surfaces before applying modifiers. Surfaces on the stack behave in a nonrelational way. If your NURBS model contains no dependent surfaces, then it behaves the same on the stack regardless of the Relational Stack setting. However, the results are still faster if Relational Stack is turned off. When Relational Stack is off, there is no overhead of copying the data from the relational model, and no need to compute the relational surfaces, so performance is faster. TIP To improve performance still further, display surfaces as shaded lattices (see Display Controls for NURBS Models on page 2504). With Relational Stack off and Shaded Lattice chosen, NURBS objects perform on the stack about as well as mesh objects do. Creating NURBS Curve and Surface Objects | 2503 Procedures To use nonrelational NURBS surfaces: 1 Make sure Relational Stack is off and Shaded Lattice is chosen. 2 Set up your modifiers and animation. 3 If your model has only independent CV surfaces, you can render it now. If it has relational surfaces such as blends or lofts, then before you render, choose the NURBS model at the bottom of the stack, and turn on Relational Stack. When you return to the top of the modifier stack, performance is slower but dependent surfaces are accurate. The modified NURBS model looks different than it did with the nonrelational stack. Usually the difference in appearance isn't great, but the nonrelational stack can show anomalies such as cracks between Blend surfaces. Display Controls for NURBS Models Modify panel ➤ Select a Nurbs object. ➤ General rollout ➤ Display group, Surface Display group, and NURBS Creation Toolbox button Modify panel ➤ Select a NURBS object. ➤ Right-click in viewport. ➤ Display commands on the Tools 1 (upper-left) quadrant of the quad menu The check boxes on the General rollout for a NURBS curve or surface control how the object is displayed in viewports. If all check boxes are turned off, the NURBS object is invisible (except for the white bounding-box indicators displayed in shaded viewports when the object is selected). An additional rollout, Display Line Parameters on page 2507, contains controls for how surfaces display in viewports. 2504 | Chapter 10 Surface Modeling Interface Display group Lattices When on, displays control lattices in yellow lines. (You can change the lattice color using the Colors panel on page 8860 of the Customize User Interface dialog.) The Curve CV and Surface CV sub-object levels also have a local Display Lattice toggle, which overrides this global setting at the sub-object level. The Curve CV and Surface CV settings are independent. In other words, at the sub-object level you can turn on the lattice for an object’s curves but not its surfaces, or vice versa. Keyboard shortcut (while Keyboard Shortcut Override Toggle is on): Ctrl+L At the object level, this shortcut is equivalent to turning Lattice on or off. At the sub-object level, Ctrl+L overrides the setting of Lattice, toggling the local Display Lattice setting. Curves When on, displays curves. Keyboard shortcut (while Keyboard Shortcut Override Toggle is on): Ctrl+Shift+C Surfaces When on, displays surfaces. Keyboard shortcut (while Keyboard Shortcut Override Toggle is on): Ctrl+Shift+S Dependents When on, displays dependent sub-objects. Keyboard shortcut (while Keyboard Shortcut Override Toggle is on): Ctrl+D Surface Trims When on, displays surface trimming on page 2437. When turned off, displays the entire surface, even if it’s trimmed. Keyboard shortcut (while Keyboard Shortcut Override Toggle is on): Ctrl+Shift+T Transform Degrade When on, transforming a NURBS surface can degrade its display in shaded viewports, to save time. This is similar to the Degradation Override on page 104 button for playing animations. You can turn off this Creating NURBS Curve and Surface Objects | 2505 toggle so surfaces are always shaded while you transform them, but transforms can take longer. Keyboard shortcut (while Keyboard Shortcut Override Toggle is on): Ctrl+X TIP You can toggle Ctrl+X during a transform, as well as before you begin the transform. NURBS Creation Toolbox Turn on to display the NURBS sub-object creation toolbox. See Using the NURBS Toolbox to Create Sub-Objects on page 2443. Keyboard shortcut (while Keyboard Shortcut Override Toggle is on): Ctrl+T Surface Display group This group box, for surfaces only, lets you choose how to display surfaces in viewports. Tessellated Mesh When chosen, NURBS surfaces display as fairly accurate tessellated meshes in shaded viewports. In wireframe viewports, they appear as either iso curves or wire meshes, depending on the settings you've chosen on the Display Line Parameters rollout on page 2507. Shaded Lattice When chosen, NURBS surfaces appear as shaded lattices in shaded viewports. Wireframe viewports display the surface's lattice without shading. A shaded lattice shades the CV control lattice on page 9123 of the NURBS surface. This displays more quickly than a tessellated mesh. The shading is not accurate. It gives you a fairly good idea of lofts, but is less accurate for free-form surfaces. The shading is always as large or larger than the actual surface, because of the convex hull property on page 9125. Shaded lattice display doesn't show surface trimming on page 2437 or texture mapping. TIP Shaded Lattice is a good option to choose when you use the modifier stack with nonrelational NURBS surfaces on page 2502. Keyboard shortcut: Alt+L 2506 | Chapter 10 Surface Modeling (You can use this keyboard shortcut without having to turn on the Keyboard Shortcut Override Toggle.) Display Line Parameters for NURBS Surfaces Select a NURBS object. ➤ rollout Modify panel ➤ Display Line Parameters These parameters are contained on a single rollout at the top level of a NURBS object. Interface U Lines and V Lines The number of lines used to approximate the NURBS surface in viewports, along the surface's local U and V dimensions, respectively. Reducing these values can speed up the display of the surface, but reduce accuracy of the display. Increasing these values increases accuracy at the expense of time. Setting one of these values to 0 displays only the edge of the object in the corresponding dimension. Creating NURBS Curve and Surface Objects | 2507 Iso and mesh displays of a NURBS teapot Iso Only When chosen, all viewports display iso line on page 9197 representations of the surface. Iso(parametric) lines are similar to contour lines. The lines show where the NURBS surface has a constant U value or V value or both. Iso line representations can be less crowded and easier to visualize than wire mesh representations. Iso and Mesh (The default.) When chosen, wireframe viewports display iso line representations of the surface, and shaded viewports display the shaded surface. Mesh Only When chosen, wireframe viewports display the surface as a wire mesh, and shaded viewports display the shaded surface. In wireframe viewports, this option lets you see the surface approximation on page 2762 used for viewports. Creating and Editing NURBS Sub-Objects These topics describe how to create and edit lower-level, sub-object NURBS. 2508 | Chapter 10 Surface Modeling Attaching and Importing 3ds Max Objects Modify panel ➤ Select a NURBS object. ➤ General rollout ➤ Attach button, Import button, and related controls You can bring other 3ds Max objects into a NURBS model. There are two ways to bring other 3ds Max objects into a NURBS object: ■ Attach, which works like Attach for meshes and splines. It converts the attached object to NURBS format. Once the object is attached, you can edit it as a NURBS surface or curve. However, the attached object's history is lost. NOTE For NURBS surfaces, you can attach other NURBS objects, standard primitive on page 321 objects, or quad patch on page 2426 and tri patch on page 2430 surfaces. The patch is converted to a NURBS surface. Quad patches convert more successfully than Tri Patches. A converted Tri Patch has a collapsed internal edge, which gives irregular results when you manipulate its mesh. When you convert a spline circle on page 524 to a NURBS curve, the direction of the curve is reversed. This facilitates using the curve to trim a surface: if the direction weren't reversed, usually the circle would trim outward instead of inward. ■ Import, which works somewhat like the operand of a Boolean on page 646. The object is brought into the NURBS object without losing its history. You can select the imported object as a sub-object. Using Imports Here are reasons to use Import instead of Attach: ■ To maintain parametric control over primitives. For example, if you import a sphere, you can change its radius directly, which you can't do after using Attach. ■ To use Bezier splines as NURBS curves. For example, if you want to use a Bezier spline as a curve in a NURBS model, import it. This allows you to edit it as a Bezier spline, and not as a NURBS curve. Creating and Editing NURBS Sub-Objects | 2509 Surfaces and curves created by an import are available in the NURBS model. For example, if you import a box, you can create a blend surface between one of its polygons and another surface in your NURBS object. Once you have imported an object, the NURBS object has an Imports sub-object level. When you select an import, it is highlighted in red. It is an error to apply a modifier to an import when the modifier converts the import into something that can't be converted to a NURBS object. For example, if you import a sphere and apply a Bend on page 1104 to it, the sphere converts to an editable mesh, which can't automatically convert to a NURBS surface. In this case, the import sub-object is in an error state, and it is displayed in the error color (orange by default). Imports are displayed in two different ways. While you work at the NURBS object level or at a sub-object level other than Imports, imports are displayed as NURBS curves or surfaces, and use the NURBS object's mesh tessellation (see Surface Approximation on page 2762). However, at the Imports sub-object level, the selected import is displayed using its native display format. In other words, it displays as it would if it were a top-level object. This is because the display must let you edit the imported object. For example, an imported Bezier spline needs to display its tangent handles. This wouldn't be possible if it were displayed as a converted NURBS curve. Leaving the Imports sub-object level returns to NURBS-style display. You can extract an imported object. This creates an independent, top-level object again. Procedures To attach or import an object to a NURBS object: 1 Select the NURBS object and go to the Modify panel. 2 (Optional.) Turn on Reorient if you want to reorient and align the import with the center of the NURBS object. 3 Turn on Attach or Import. 2510 | Chapter 10 Surface Modeling NOTE At this step, you can click Attach Multiple or Import Multiple instead. These buttons open a Select From Scene dialog on page 184 so you can choose multiple objects to attach or import. 4 Click the object to attach or import. The mouse cursor changes shape to indicate a valid object. You can attach curves, NURBS surfaces, or objects convertible to NURBS. To extract an imported object: 1 Go to the Imports sub-object level and select the object to extract. 2 Click Extract Import on the Import sub-object rollout. If Copy is set (the default), the extracted object is a top-level copy of the imported object. If Instance is set, the extracted object is an instance of the imported object. Initially the extracted object occupies the same space as the imported object: you must move either the extracted object, the import sub-object, or the whole NURBS model before you can see the extracted object. Interface Attach and Import controls Attach Lets you attach another object to the NURBS object. Click to turn on Attach, and then click the object to attach. If the object you're attaching isn't already a NURBS object, it is converted to one or more NURBS curves or surfaces that are sub-objects of the object you're modifying. Attach Multiple Lets you attach multiple objects to the NURBS surface. Opens a version of the Select From Scene dialog on page 184, listing the objects that can be attached. Use the dialog controls to select one or more objects by name, and then click Attach. Reorient Moves and reorients the object you are attaching or importing so its creation local coordinate system is aligned with the creation local coordinate system of the NURBS object. Creating and Editing NURBS Sub-Objects | 2511 Import Lets you import another object to the NURBS object. Works the same way Attach does, but the imported object retains its parameters and modifiers. Import Multiple Lets you import multiple objects. Works the same way Attach Multiple does, but the imported objects retain their parameters and modifiers. Common Sub-Object Controls Many controls are common to the various kinds of sub-objects in NURBS models (with the exception of Imports on page 2509). This topic introduces the controls that are common to most NURBS sub-objects. See also: ■ Editing Point Sub-Objects on page 2514 ■ Editing Curve CV Sub-Objects on page 2522 ■ Editing Surface CV Sub-Objects on page 2528 ■ Editing Curve Sub-Objects on page 2538 ■ Editing Surface Sub-Objects on page 2550 Transforming Sub-Objects One way to alter a NURBS model is to transform its sub-objects. Transforming lets you interactively change the model’s curvature and shape. Transforming points or CVs is especially useful for adjusting the shape of a NURBS curve or surface. You can also Shift+Clone most kinds of sub-objects, except CVs. For curves and surfaces, Shift+Cloning displays a Sub-Object Clone Options dialog on page 2759, which lets you reduce relational dependencies to improve performance. Selection Controls There is a Selection group box on the rollout for all NURBS sub-objects except Imports. The buttons in this group let you control which sub-objects to select. The selection buttons let you select sub-objects individually, or multiple sub-objects at once. For example, Surface CV selection buttons give you the option of selecting individual CVs, or selecting a row of CVs on the surface, and so on. 2512 | Chapter 10 Surface Modeling NOTE There is no delete modifier for NURBS curves as there is for splines. There is a NURBS selection modifier, NSurf Sel on page 1502. See NURBS and Modifiers on page 2453. Selection controls also include a Name field that lets you customize the name of individual NURBS sub-objects other than CVs. (The Name field is the only selection control for Import sub-objects.) Visibility You can hide or unhide NURBS sub-objects as you do other objects. Hidden sub-objects are invisible in viewports, but remain renderable. (At the sub-object level, hiding doesn’t affect the renderer.) You can’t select hidden sub-objects. Hide and unhide by name is available for curve and surface sub-objects. Make Independent You can make a dependent point, curve, or surface sub-object independent. WARNING When you make an object independent, you lose the animation controllers for all objects that depend on it in turn. When you make point objects independent, you lose the animation controllers for all points on the curve or surface. Also, if you make a curve that trims a surface independent, you lose the trimming of the surface. Remove Animation All sub-object rollouts have a Remove Animation button. This removes animation controllers from the selected sub-objects. Detach and Copy You can create a new curve or surface object by detaching a curve or surface sub-object from a NURBS model. To do so, select the curve or surface and then click Detach. A dialog is displayed, which lets you enter a name for the new NURBS object. The new object is no longer part of the original NURBS object. You can also use the Detach button to create a new NURBS object that is a copy of a curve or surface sub-object. To do so, select the curve or surface, and click to turn on Copy before you click Detach. A dialog is displayed, which lets you enter a name for the new object. The original curve or surface sub-object remains part of the NURBS object you were editing, but the copied curve or surface is now a NURBS object of its own. Relational This toggle affects dependent objects. When off, detaching a dependent sub-object makes it an independent object. For example, detaching Creating and Editing NURBS Sub-Objects | 2513 a U loft converts it to a CV surface. When on, detaching a dependent sub-object also detaches the objects it depends on, so the object remains dependent. For example, detaching a U loft also detaches the curves that define it. Editing Point Sub-Objects Modify panel ➤ Select a NURBS object or sub-object. ➤ Point sub-object level ➤ Select point sub-objects. Modify panel ➤ Select a NURBS object or sub-object. ➤ Right-click. ➤ Tools 1 (upper-left) quadrant ➤ Sub-objects ➤ Point ➤ Select point sub-objects. This topic describes the controls for point sub-objects. A rollout labeled Point contains the point sub-object controls for NURBS models. In addition to the Point rollout described here, the Point sub-object level displays the Soft Selection rollout on page 2561. Procedures To transform point sub-objects: 1 At the Point sub-object level, select one or more points. The sub-object selection tools are the same as for other kinds of sub-objects. You can also use the H key while the Keyboard Shortcut Override toggle on page 9008 is on. See Sub-Object Selection on page 2445. The Selection group box, described under "Interface" later in this topic, provides some additional options for selecting Point sub-objects. 2 Activate (Select And Move) or another transform and then drag in a viewport to transform the selection. The shape of the model changes as you interactively transform the points. Rotate and Scale are useful only when you've selected multiple points. 2514 | Chapter 10 Surface Modeling Tips ■ The Lock Selection Set button is useful when you transform NURBS point sub-objects. You can make a selection in one viewport, click Lock Selection Set (or press the Spacebar), and then transform the selection in a different viewport. ■ When you move point sub-objects, move them as systematically as possible to avoid "getting lost." ■ On surfaces, avoid moving points so they cross over or under adjacent points. This can create odd-looking warps or overlaps in the surface. To Shift+Clone a point sub-object: Hold down Shift while you transform the point. This works only for points that lie on curves or surfaces, independent point on page 2718 sub-objects, and curve point on page 2721 or surface point on page 2724 sub-objects that lie on the curve or surface (that is, that aren't displaced). ■ To use the keyboard to select point sub-objects: You can select point sub-objects using the Ctrl key and the arrow keys. The arrows traverse the sub-objects in the order they were created. To do so, follow these steps: 1 Turn on 2 (Keyboard Shortcut Override Toggle). Click or drag to select points. 3 Hold down Ctrl and use the arrow keys to move among the point sub-objects. For points on curves, the arrow keys traverse the point selection along the length of the curve. The arrow keys don’t move between curve sub-objects. For points on surfaces, the left and right arrow keys traverse the U dimension of a surface, while the up and down arrow keys traverse the Creating and Editing NURBS Sub-Objects | 2515 V dimension of the surface. The arrow keys don’t move between surface sub-objects. The arrow keys don’t traverse individually created points that aren’t part of a curve or surface. You can also use the H keyboard shortcut (while the Keyboard Shortcut Override Toggle is on) to display a dialog and select points by name. Ctrl+H displays only the names of points directly beneath the mouse cursor. To remove a point from a curve: 1 Select a point. 2 In the Delete group box, click Point. Keyboard shortcut: Delete The point is deleted and the shape of the curve is updated. NOTE An open point curve must have at least two endpoints. To remove points from a surface: 1 Select a point, row, or column. The appropriate Delete buttons are enabled. 2 In the Delete group box, click Point, Row, or Col. The point, row, or column is deleted. Deleting a "single" point actually deletes both the row and column to which the point belongs. To add a point to a curve: 1 In the Refine group box, turn on Curve. 2 Click the curve where you want to add the point. A point is added at the location you clicked. The curvature can change. 2516 | Chapter 10 Surface Modeling To add a point and extend the length of a curve: 1 Click to turn on Extend. 2 Move the mouse over a point curve. The curve is highlighted in blue, and one of the curve's ends displays a box to show where the curve will be extended. 3 Drag from the highlighted end point, and then release the mouse button. A new point is added beyond the original length of the curve. To add points to a point surface: 1 In the Refine group box, click Surf Row, Surf Col., or Surf Row & Col. 2 Click the surface. A row, a column, or both are added close to the point where you clicked the surface. The new points are placed on the surface so they preserve the surface’s curvature. The curvature can change, but only slightly. To fuse two points: 1 Turn on Fuse. 2 Click a point without releasing the mouse button. Drag to another point, and then release the mouse button. The first point you choose acquires the position of the second point, and becomes dependent to it. If the first point has an animation controller, the controller is discarded. If the second point has an animation controller, the first point acquires it too. Fused points display in purple by default. To unfuse fused points: 1 Select the fused point. 2 Click Unfuse. Now you can move and edit the two points independently. Creating and Editing NURBS Sub-Objects | 2517 To transform a region: 1 Using sub-object selection, select one or more points for the center of transformation. 2 Turn on Soft Selection. 3 Transform the point. A region around the selected point is transformed accordingly. Move is the most common transform to use. Rotate and Scale can be used with a non-local transform center. TIP If Soft Selection appears not to be working, the Falloff value might be too small for the size of your surface. On the Soft Selection rollout on page 2561, increase the value of Falloff so it encompasses other points. Interface In addition to the Point rollout described here, the Point sub-object level also displays the Soft Selection rollout on page 2561. 2518 | Chapter 10 Surface Modeling Selection group Point sub-object selection controls Creating and Editing NURBS Sub-Objects | 2519 Single Point (The default.) When on, you can select individual points by clicking, or groups of points by dragging a region. Row of Points When on, clicking a point selects the entire row the point belongs to. Dragging selects all rows in the region. If the point is on a curve, Row of Points selects all points in the curve. Column of Points When on, clicking a point selects the entire column the point belongs to. Dragging selects all columns in the region. If the point is on a curve, Column of Points selects only a single point. Row and Column of Points When on, clicking a point selects both the row and column the point belongs to. Dragging selects all rows and columns in the region. All Points When on, clicking or dragging selects all the points in the curve or surface. TIP Rows and columns are easily visible when the NURBS surface is planar, or nearly so. When the surface has a complicated curvature, rows and columns can be more difficult to see. The Row, Column, and Row/Column buttons can be especially useful in this situation. Name Shows the name of the currently selected point. It is disabled if you have selected multiple points. By default, the name is "Point" followed by a sequence number. You can use this field to give the point a name that you choose. Hide Click to hide the currently selected points. Unhide All Click to unhide all hidden points. Fuse Fuses a point to another point. (You can't fuse a CV to a point, or vice versa.) This is one way to connect two curves or surfaces. It is also a way to change the shape of curves and surfaces. 2520 | Chapter 10 Surface Modeling Fusing points does not combine the two point sub-objects. They are connected but remain distinct sub-objects that you can unfuse later. Fused points behave as a single point until you unfuse them. Fused points are displayed in a distinct color. The default is purple. (You can change this color using the Colors panel on page 8860 of the Customize User Interface dialog on page 8837.) Unfuse Unfuses the fused points. Extend Extends a point curve. Drag from the end of a curve to add a new point and extend the curve. WARNING When you add points with Extend, you lose the animation controllers for all points on the curve or surface. Make Independent Disabled if the point is independent. If the point is dependent, clicking this button makes it independent. WARNING When you make a point independent, you lose the animation controllers for all objects that depend on it in turn. Remove Animation Removes animation controllers from the selected points. Delete group The buttons in this group box delete one or more points. Point Deletes a single point (on a curve) or a row and column of points (on a surface). Row Deletes a row from a surface. Col. Deletes a column from a surface. WARNING When you delete points, you lose the animation controllers for all points on the curve or surface. Refine group The buttons in this box refine point curves or surfaces by adding points to them. Curve Adds points to a point curve. Surf Row Adds a row of points to a point surface. Surf Col. Adds a column of points to a point surface. Creating and Editing NURBS Sub-Objects | 2521 Surf Row & Col. Adds both a row and a column to a point surface; their intersection is where you click the surface. WARNING When you add points, you lose the animation controllers for all points on the curve or surface. Points Selected This text field shows how many points are currently selected. Editing Curve CV Sub-Objects Modify panel ➤ Select a NURBS object or sub-object. ➤ Modifier stack display ➤ Curve CV sub-object level ➤ Select CV sub-objects. Modify panel ➤ Select a NURBS object or sub-object. ➤ Right-click. ➤ Tools 1 (upper-left) quadrant ➤ Sub-objects ➤ Curve CV ➤ Select CV sub-objects. This topic describes the controls for CV sub-objects that lie on curves. A rollout labeled CV contains the CV sub-object controls for NURBS models. In addition to the CV rollout described here, the Curve CV sub-object level displays the Soft Selection rollout on page 2561. In you can edit the CVs in CV curves on surfaces on page 2614 as you edit other kinds of curve CVs. You can transform CVs in CV curves on surfaces, but you can't move the CVs off the surface. Using the Curve CV sub-object level is an alternative to editing these CVs by using the Edit Curve on Surface on page 2740 dialog. Procedures To transform curve CV sub-objects: 1 At the Curve CV sub-object level, select one or more CVs. The sub-object selection tools are the same as for other kinds of sub-objects. You can also use the H key while the Keyboard Shortcut Override toggle on page 9008 is on. See Sub-Object Selection on page 2445. 2522 | Chapter 10 Surface Modeling The Selection group box, described under "Interface" later in this topic, provides some additional options for selecting CV sub-objects. 2 Activate (Select And Move) or another transform and then drag in a viewport to transform the selection. The shape of the model changes as you interactively transform the CVs. Rotate and Scale are useful only when you've selected multiple CVs. Tips ■ When you transform NURBS CV sub-objects, the Lock Selection Set button can be useful. You can make a selection in one viewport, click Lock Selection Set (or press the Spacebar), and then transform the selection in a different viewport. ■ When you move CV sub-objects, move them as systematically as possible to avoid "getting lost." To use the keyboard to select curve CV sub-objects: You can select curve CV sub-objects using the Ctrl key and the arrow keys. The arrows traverse the sub-objects in the order they were created. To do so, follow these steps: 1 Turn on 2 (Keyboard Shortcut Override Toggle). Click or drag to select CVs. 3 Hold down Ctrl and use the arrow keys to move among the CV sub-objects. For CVs on curves, the arrow keys traverse the CV selection along the length of the curve. The arrow keys don’t move between curve sub-objects. You can also use the H keyboard shortcut (while the Keyboard Shortcut Override Toggle button is on) to display a dialog and select CVs by name. Ctrl+H displays only the names of CVs directly beneath the mouse cursor. Creating and Editing NURBS Sub-Objects | 2523 To remove a CV from a curve: 1 Select a CV. 2 Click Delete. Keyboard shortcut: Delete The CV is deleted and the shape of the curve is updated. NOTE A CV curve must have at least one more CV than the degree on page 9134 of the curve. To add a CV to a curve: 1 Turn on Refine. 2 Click the curve where you want to add the CV. A CV is added at the location you clicked. Neighboring CVs move away from the new CV in order to preserve the original curvature. To add CVs and extend the length of a curve: 1 Click to turn on Extend. 2 Move the mouse over a CV curve. The curve is highlighted in blue, and one of the curve's ends displays a box to show where the curve will be extended. 3 Drag from the highlighted end CV, and then release the mouse button. New CVs are added beyond the original length of the curve. To fuse two CVs: 1 Turn on Fuse. 2 Click a CV without releasing the mouse button. Drag to another CV, and then release the mouse button. The first CV you choose acquires the position of the second CV, and becomes dependent to it. If the first CV has an animation controller, the controller is discarded. If the second CV has an animation controller, the first CV acquires it too. Fused CVs display in purple by default. 2524 | Chapter 10 Surface Modeling To unfuse fused CVs: 1 Select the fused CV. 2 Click Unfuse. Now you can move and edit the two CVs independently. To transform a region: 1 Using sub-object selection, select one or more CVs for the center of transformation. 2 Turn on Soft Selection. 3 Transform the CV. A region around the selected CV is transformed accordingly. Move is the most common transform to use. Rotate and Scale can be used with a non-local transform center. TIP If Soft Selection appears not to be working, the Falloff value might be too small for the size of your surface. On the Soft Selection rollout on page 2561, increase the value of Falloff so it encompasses other points or CVs. Interface In addition to the CV rollout described here, the Curve CV sub-object level also displays the Soft Selection rollout on page 2561. Creating and Editing NURBS Sub-Objects | 2525 Selection group Curve sub-object selection controls Single CV (The default.) When on, you can select individual CVs by clicking, or groups of CVs by dragging a region. All CVs When on, clicking or dragging selects all the CVs in the curve. 2526 | Chapter 10 Surface Modeling Name Shows either "No CVs selected", "Multiple CVs selected", or "CurveName(index)", where "CurveName" is the name of the CV's parent curve, and "index" is the CV's U location along the length of the curve. You can't edit the Name field to customize the names of CVs. If CVs are fused, the Name field shows the name of the first CV. Weight Adjusts the weight of the selected CVs. You can use a CV's weight to adjust the CV's effect on the curve. Increasing the weight pulls the curve toward the CV. Decreasing the weight relaxes the curve away from the CV. Increasing weight is a way to harden a curve; that is, to sharpen its curvature at a particular location. By default, the weight is 1.0 for the CVs of NURBS objects that you create on the Create panel or the NURBS sub-object creation rollouts. The weight of CVs in geometry that you convert to NURBS can vary, depending on the object's original shape. You can change the weight when multiple CVs are selected. Using the Weight field or spinner while multiple CVs are selected assigns all of them the value you choose. Because weights are relative to each other (rational), using the Weight control when all CVs are selected has no visible effect. Hide Click to hide the currently selected CVs. Unhide All Click to unhide all hidden CVs. Fuse Fuses a CV to another CV. (You can't fuse a CV to a point, or vice versa.) This is one way to connect two curves. It is also a way to change the shape of curves. Fusing CVs does not combine the two CV sub-objects. They are connected but remain distinct sub-objects that you can unfuse later. Fused CVs behave as a single CV until you unfuse them. Fused CVs behave similar to a single point, but the property of multiplicity for coincident CVs also applies. (See NURBS Concepts on page 2457 and CV Curve on page 2490.) The fused CVs have proportionally more influence on the curve. The curve can become sharper in the fused CVs' vicinity, or even angular if more than two CVs are fused together. Fused CVs are displayed in a distinct color. The default is purple. (You can change this color using the Colors panel on page 8860 of the Customize User Interface dialog on page 8837.) Unfuse Unfuses the fused CVs. Refine Refines the curve by adding CVs. Creating and Editing NURBS Sub-Objects | 2527 WARNING When you add CVs with Refine, you lose the animation controllers for all CVs on the curve. As you move the mouse over the CV curve, a preview of the CVs that will be added, and their locations, is displayed in blue. TIP It is a good idea to reparameterize after you have added CVs to a curve by refining. See Editing Curve Sub-Objects on page 2538. Delete Deletes the selected CVs. Insert Inserts CVs into the curve. Click Insert and then click the curve where you want to insert the new CV. Inserting CVs is similar to refining with CVs, except that other CVs in the curve do not move. This means that the shape of the curve changes when you insert. Inserting CVs does not remove animation from the curve, as refining does. TIP It is a good idea to reparameterize after you have added CVs to a curve by inserting. See Editing Curve Sub-Objects on page 2538. Extend Extends a CV curve. Drag from the end of a curve to add a new CV and extend the curve. WARNING When you add points with Extend, you lose the animation controllers for all points on the curve. Remove Animation Removes animation controllers from the selected CVs. Display Lattice When on, displays the control lattice on page 9123 that surrounds CV curves. When off, the control lattice isn't shown in viewports. Default=on. CVs Selected This text field shows how many CVs are currently selected. Editing Surface CV Sub-Objects Modify panel ➤ Select a NURBS object or sub-object. ➤ Modifier stack display ➤ Surface CV sub-object level ➤ Select CV sub-objects. 2528 | Chapter 10 Surface Modeling Modify panel ➤ Select a NURBS object or sub-object. ➤ Right-click a viewport. ➤ Tools 1 (upper-left) quadrant ➤ Sub-objects ➤ Surface CV ➤ Select CV sub-objects. Procedures on page 2530 Interface on page 2533 This topic describes the controls for CV sub-objects that lie on surfaces. A rollout labeled CV contains the CV sub-object controls for NURBS models. In addition to the CV rollout described here, the Curve CV sub-object level displays the Soft Selection rollout on page 2561. Transforming CVs changes the shape of the surface. Creating and Editing NURBS Sub-Objects | 2529 Procedures To transform surface CV sub-objects: 1 At the Surface CV sub-object level, select one or more CVs. The sub-object selection tools are the same as for other kinds of sub-objects. You can also use the H key while the Keyboard Shortcut Override Toggle on page 9008 button is on. See Sub-Object Selection on page 2445. The Selection group box, described under "Interface" later in this topic, provides additional options for selecting CV sub-objects. 2 Activate (Select And Move) or another transform and then drag in a viewport to transform the selection. The shape of the model changes as you interactively transform the CVs. Rotate and Scale are useful only when you've selected multiple CVs. Tips ■ The Lock Selection Set button is useful when you transform NURBS CV sub-objects. You can make a selection in one viewport, click Lock Selection Set (or press the Spacebar), and then transform the selection in a different viewport. ■ When you move CV sub-objects, move them as systematically as possible to avoid "getting lost." ■ On surfaces, avoid moving CVs so they cross over or under adjacent points. This can create odd-looking warps or overlaps in the surface. To Shift+clone surface sub-objects: ■ Hold down Shift while you transform the surface selection. The Sub-Object Clone Options on page 2759 dialog appears. This dialog provides various ways to clone the surfaces, some of which reduce relational dependencies to improve performance. 2530 | Chapter 10 Surface Modeling To use the keyboard to select surface CV sub-objects: You can select surface CV sub-objects using the Ctrl key and the arrow keys. The arrows traverse the sub-objects in the order they were created. To do so, follow these steps: 1 Turn on 2 (Keyboard Shortcut Override Toggle). Click or drag to select CVs. 3 Hold down Ctrl and use the arrow keys to move among the CV sub-objects. For CVs on surfaces, the left and right arrow keys traverse the U dimension of a surface, while the up and down arrow keys traverse the V dimension of the surface. The arrow keys don’t move between surface sub-objects. You can also use the H keyboard shortcut (while the Keyboard Shortcut Override Toggle button is on) to display a dialog and select CVs by name. Ctrl+H displays only the names of CVs directly beneath the mouse cursor. To remove CVs from a surface: 1 Select a row, column, or a row and column. The appropriate Delete buttons are enabled. 2 In the Delete group box, click Row, Col., or Both. The row, the column, or both are deleted. NOTE You can't delete a single CV from a CV surface. Nor can you delete a row or column if that would make the surface have fewer than four rows or columns. To add CVs to a CV Surface: 1 In the Refine group box, click Row, Col., or Both. 2 Click the surface. Creating and Editing NURBS Sub-Objects | 2531 A row, a column, or both are added close to the point where you clicked the surface. Neighboring CVs move away from the new CVs in order to preserve the surface’s original curvature. To fuse two CVs: 1 Turn on Fuse. 2 Click a CV without releasing the mouse button. Drag to another CV, and then release the mouse button. The first CV you choose acquires the position of the second CV, and becomes dependent to it. If the first CV has an animation controller, the controller is discarded. If the second CV has an animation controller, the first CV acquires it too. NOTE Fused CVs display in purple by default. To unfuse fused CVs 1 Select the fused CV. 2 Click Unfuse. Now you can move and edit the two CVs independently. To transform a region: 1 Using sub-object selection, select one or more CVs for the center of transformation. 2 Turn on Soft Selection. 3 Transform the CV. A region around the selected CV is transformed accordingly. Move is the most common transform to use. Rotate and Scale can be used with a non-local transform center. TIP If Soft Selection appears not to be working, the Falloff value might be too small for the size of your surface. On the Soft Selection on page 2561 rollout, increase the value of Falloff so it encompasses other CVs. 2532 | Chapter 10 Surface Modeling Interface In addition to the CV rollout described here, the Surface CV sub-object level also displays the Soft Selection rollout on page 2561. Creating and Editing NURBS Sub-Objects | 2533 CV rollout Surface CV sub-object rollout 2534 | Chapter 10 Surface Modeling Selection group Surface CV sub-object selection controls Single CV (The default.) When on, you can select individual CVs by clicking, or groups of CVs by dragging a region. Row of CVs When on, clicking a CV selects the entire row the CV belongs to. Dragging selects all rows in the region. Column of CVs When on, clicking a CV selects the entire column the CV belongs to. Dragging selects all columns in the region. Row and Column of CVs When on, clicking a CV selects both the row and column the CV belongs to. Dragging selects all rows and columns in the region. All CVs When on, clicking or dragging selects all the CVs in the surface. Name Shows either "No CVs selected", "Multiple CVs selected", or "SurfaceName(uIndex,vIndex)", where "SurfaceName" is the name of the CV's parent surface, and "uIndex,vIndex" is the CV's UV location on the surface. You can't edit the Name field to customize the names of CVs. If CVs are fused, the Name field shows the name of the first CV. Weight Adjusts the weight of the selected CVs. You can use a CV's weight to adjust the CV's effect on the surface. Increasing the weight pulls the surface toward the CV. Decreasing the weight relaxes the surface away from the CV. Increasing weight is a way to harden a surface: that is, to sharpen its curvature at a particular location. Creating and Editing NURBS Sub-Objects | 2535 By default, the weight is 1.0 for the CVs of NURBS objects that you create on the Create panel or the NURBS sub-object creation rollouts. The weight of CVs in geometry that you convert to NURBS can vary, depending on the object's original shape. You can change the weight when multiple CVs are selected. Using the Weight field or spinner while multiple CVs are selected assigns all of them the value you choose. Because weights are relative to each other (rational), using the Weight control when all CVs are selected has no visible effect. TIP You can increase the curvature of an indentation in a surface by increasing the weight of the CVs surrounding the indented area. This is easier and often more effective than moving the indented area's CVs. Hide Click to hide the currently selected CVs. Unhide All Click to unhide all hidden CVs. Fuse Fuses a CV to another CV. (You can't fuse a CV to a point, or vice versa.) This is one way to connect two surfaces. It is also a way to change the shape of surfaces. Fusing CVs does not combine the two CV sub-objects. They are connected but remain distinct sub-objects that you can unfuse later. Fused CVs behave as a single CV until you unfuse them. Fused CVs behave similar to a single point, but the property of multiplicity for coincident CVs also applies. (See NURBS Concepts on page 2457 and CV Curve on page 2490.) The fused CVs have proportionally more influence on the curve, which can become sharper in the fused CVs' vicinity, or even angular if more than two CVs are fused together. Fused CVs are displayed in a distinct color. The default is purple. (You can change this color using the Colors panel on page 8860 of the Customize User Interface dialog on page 8837.) Unfuse Unfuses the fused CVs. Remove Animation Removes animation controllers from the selected CVs. Constrained Motion group These buttons constrain CV motion. They are enabled when you select one or more CVs. When you finish dragging the CV selection, the active constraint button turns off. U Constrains the CV selection to move in the surface's U dimension. Keyboard shortcut (Keyboard Shortcut Override Toggle must be on): Alt+U 2536 | Chapter 10 Surface Modeling V Constrains the CV selection to move in the surface's V dimension. Keyboard shortcut (Keyboard Shortcut Override Toggle must be on): Alt+V Normal Constrains the CV selection to move normal to the original surface. Keyboard shortcut (Keyboard Shortcut Override Toggle must be on): Alt+N Delete group These buttons delete CVs from the surface. Select one or more CVs, and then click Row, Col., or Both. You can't delete surface CVs if the deletion would give the surface fewer than four rows or fewer than four columns. Aside from that restriction, these buttons delete all rows, columns, or rows and columns that contain selected CVs. This means that you can't delete after you make a selection using the Row and Column or All selection buttons: that would imply deleting the entire CV surface. These buttons are unavailable unless the deletion is possible. WARNING When you delete CVs, you lose the animation controllers for all CVs on the surface. Row Deletes rows of CVs from the surface. Col. Deletes columns of CVs from the surface. Both Deletes both rows and columns of CVs from the surface. Refine group These buttons refine the surface by adding CVs. As you move the mouse over the surface, a preview of the CVs that will be added, and their locations, is displayed in blue. WARNING When you add CVs with Refine, you lose the animation controllers for all CVs on the surface. Row Adds a row of CVs to the surface. Col. Adds a column of CVs to the surface. Both Adds both a row and a column of CVs to the surface. TIP It is a good idea to reparameterize after you have added CVs to a surface by refining. See Editing Surface Sub-Objects on page 2550. Creating and Editing NURBS Sub-Objects | 2537 Insert group These buttons insert CVs into the curve. Click to turn on one of these buttons and then click the surface where you want to insert the new CVs. Inserting CVs is similar to refining with CVs, except that other CVs in the surface do not move. This means that the shape of the surface can change when you insert. Inserting CVs does not remove animation from the surface the way refining does. Row Inserts a row of CVs into the surface. Col. Inserts a column of CVs into the surface. Both Inserts both a row and a column of CVs into the surface. TIP It is a good idea to reparameterize after you have added CVs to a surface by inserting. See Editing Surface Sub-Objects on page 2550. Display Lattice When on, displays the control lattice on page 9123 that surrounds CV surfaces. When off, the control lattice isn't shown in viewports. Default=on. CVs Selected This text field shows how many CVs are currently selected. Editing Curve Sub-Objects Modify panel ➤ Modifier stack display ➤ Expand the NURBS object's hierarchy. ➤ Curve sub-object level ➤ Select curve sub-objects. This topic describes the controls that are common to point and CV curves. A rollout labeled Curve Common contains the curve sub-object controls for NURBS models. Procedures To transform curves: 1 At the Curve sub-object level, 2538 | Chapter 10 Surface Modeling select one or more curves. The sub-object selection tools are the same as for other kinds of sub-objects. You can also press the H key when the Keyboard Shortcut Override toggle on page 9008 is on. See Sub-Object Selection on page 2445. The Selection group box, described under "Interface" later in this topic, provides additional options for selecting curves. 2 Activate (Select And Move) or another transform and then drag in a viewport to transform the selection. The shape of the model changes as you interactively transform the curves. TIP The Lock Selection Set button is useful when you transform NURBS curve sub-objects. You can make a selection in one viewport, click Lock Selection Set (or press the Spacebar), and then transform the selection in a different viewport. To Shift+Clone curve sub-objects: ■ Hold down Shift while you transform the curve selection. The Sub-Object Clone Options on page 2759 dialog is displayed. This dialog provides various ways to clone the curves, some of which reduce relational dependencies to improve performance. To use the keyboard to select curve sub-objects: You can select curve sub-objects using the Ctrl key and the arrow keys. The arrows traverse the sub-objects in the order they were created. To do so, follow these steps: 1 Turn on (Keyboard Shortcut Override Toggle). 2 At the (Curve) sub-object level, set the selection controls to select curves individually. Creating and Editing NURBS Sub-Objects | 2539 3 Click or drag to select curves. 4 Hold down Ctrl and use the arrow keys to move among the curves in the current model. At the Curve sub-object level, the left and right arrow keys move forward and backward through individual curves in the order they were created. The up and down arrows are equivalent to left and right. You can also use the H keyboard shortcut (while the Keyboard Shortcut Override Toggle is on) to display a dialog and select curves by name. Ctrl+H displays only the names of curves directly beneath the mouse cursor. To delete a curve: Select the curve and then click Delete. Keyboard shortcut: Delete ■ To turn a CV curve into a point curve: 1 Select the curve sub-object, and then click Make Fit. The Make Point Curve on page 2754 dialog is displayed. This dialog asks how many points the new point curve should have. 2 Change the number of points, and then click OK. Reducing the number of points can change the shape of the curve. If the selected curve is already a point curve, you can use Make Fit to change the number of points it has. To select a first vertex on the curve: ■ Select the curve sub-object, turn on Make First, and then click a location on the curve. 2540 | Chapter 10 Surface Modeling If the curve is closed and there is a vertex where you click, this vertex becomes the first vertex. If the curve is closed and there is no vertex where you click, a new vertex is created at the location you click. It becomes the new first vertex, and the curve's points or CVs adapt to maintain the curvature. If the curve is open, clicking it has no effect. WARNING Using Make First discards any animation controllers for the points or CVs in the curve. If the curve is open, the first vertex must be one of the endpoints (by default, it is the first you created). The Make First button has no effect, but you can use Reverse to change the curve's direction. The small circle indicates the first vertex. To turn a curve that lies on a surface into a Point Curve on Surface: 1 Select the curve sub-object, and then click Make COS. Creating and Editing NURBS Sub-Objects | 2541 Make COS is unavailable unless the curve already lies on a surface; for example, it is a U Iso curve. 2 3ds Max opens the Convert Curve on Surface dialog on page 2734. Choose CV Curve on Surface to create a CV curve, or Point Curve on Surface to create a point curve. The Number of CVs or Number of Points values let you specify the complexity and accuracy of the new curve on surface. If Preview is on, the new curve is previewed in viewports. This can help you choose the number. To reverse a curve: ■ Select a curve sub-object and then click Reverse. 2542 | Chapter 10 Surface Modeling Reversing a curve affects the blend surface that depends on it. To join two curves: 1 In a NURBS object that contains two curve sub-objects, turn on Join. 2 Click one curve near the end that you want to connect. Drag to near the end of the other curve, and then release the mouse. The Join Curve dialog on page 2747 is displayed. This dialog gives you a choice of methods for joining the curves. Whichever method you choose, the two original curves are replaced by a single curve. 3 If the gap between the curves is small (less than about 30 units), use the Join Curve dialog to set the Tolerance value greater than the distance of the gap. To break a curve: ■ Turn on Break and then click a curve. Creating and Editing NURBS Sub-Objects | 2543 The curve is split into two independent curve sub-objects. Two coincident (but independent) points or CVs are created at the location you clicked: each is the endpoint of one part of the original curve. If the curve is a closed curve, Break creates a single curve object, with its new start and end points at the location you clicked. The new start and end points are coincident but independent. To close a curve: ■ Select the curve and then click Close. 3ds Max closes the curve by adding a segment between the curve's endpoints. The curvature of the new segment blends the curvature of the previous end segments. Closing a curve does not add points or CVs. The curve retains its original number of points or CVs, and increases its number of segments by one. 2544 | Chapter 10 Surface Modeling Interface Curve Common rollout Creating and Editing NURBS Sub-Objects | 2545 The controls on this rollout apply to all curve types. Depending on the type of curve, an additional rollout is displayed with controls specific to that type of curve. Selection group The selection buttons for curve sub-objects let you select either individual curves, or curves that are connected in space. Curve sub-object selection controls Single Curve Clicking or transforming a curve selects only a single independent curve sub-object. All Connected Curves Clicking or transforming a curve selects all curve sub-objects that are connected within the NURBS object. To be connected, two curves must have fused points, or one curve must be a connected dependent (a blend, fillet, or chamfer) of the other. Name Shows the name of the currently selected curve. It is disabled if you have selected multiple curves. By default, the name is the name of the curve type ("CV Curve" or "Point Curve") followed by a sequence number. You can use this field to give the curve a name that you choose. Hide Click to hide the currently selected curves. Unhide All Click to unhide all hidden curves. Hide by Name Click to display a Select Sub-Objects dialog that lists curves by name. Select the curves to hide, then click Hide. Unhide by Name Disabled unless there are hidden curves. Click to display a Select Sub-Objects dialog that lists curves by name. Select the curves to make visible, then click Unhide. Delete Deletes the selected curve sub-objects. 2546 | Chapter 10 Surface Modeling Make Fit Turns a CV curve into a point curve. This displays the Make Point Curve dialog on page 2754, which lets you set the number of points. For a point curve, this button lets you change the number of points in the curve. Reverse Reverses the order of the CVs or points in a curve, so that the first vertex becomes the last, and the last becomes the first. The first point or CV is significant when you use the NURBS curve like a spline: as a loft on page 674 path or shape, as a path constraint on page 3629 path, or as a motion trajectory on page 3440. For these purposes, the first vertex of the curve is significant. If the curve is a closed curve, you can use Make First to set the curve's first vertex. The direction of the curve also determines the initial direction of normals on surfaces based on this curve. Make COS This button is enabled only for the following kinds of curves: ■ U iso curves on page 2606 ■ V iso curves on page 2606 ■ Normal projected curves on page 2608 ■ Vector projected curves on page 2611 ■ Surface-surface intersection curves on page 2600 ■ Surface edge curves on page 2623 ■ CV curves on surfaces on page 2614 ■ Point curves on surfaces on page 2619 This displays a Make Curve on Surface dialog on page 2734, which turns the selected curve into a CV or point curve on surface. Once converted, you can edit the new curve on surface using the curve on surface controls, including the Edit Curve on Surface dialog on page 2740. If the curve is already a curve on surface, this button lets you change it from a point to CV curve on surface, or vice versa. The new Curve on Surface preserves the trimming of the original curve. Convert Curve Click to display the Convert Curve dialog on page 2733. This dialog provides a more general way to convert a CV curve to a point curve, or a point curve to a CV curve. It also lets you adjust a number of other curve parameters. Creating and Editing NURBS Sub-Objects | 2547 Make Independent Disabled if the curve is independent. If the curve is dependent, clicking this button makes it independent. WARNING When you make a curve independent, you lose the animation controllers for all objects that depend on it in turn. If you make a curve that trims a surface independent, you lose the trimming of the surface. Remove Animation Removes animation controllers from the selected curves. Detach Detaches the selected curve sub-object from the NURBS model, making it a new top-level NURBS curve on page 2481 object. The Detach dialog on page 2739 is displayed, which lets you name the new curve. The new object is no longer part of the original NURBS model. To create a new top-level NURBS curve that is a copy of the selected curve, turn on Copy before you click Detach. Copy When on, clicking Detach creates a copy of the selected curve instead of detaching it from the NURBS model. Default=off. Make First For a closed curve, lets you choose a position that becomes the first vertex of the curve. The first point or CV is significant when you use the NURBS curve like a spline: as a loft on page 674 path or shape, as a path constraint on page 3629 path, or as a motion trajectory on page 3440. For these purposes, the first vertex of the curve is significant. If the curve is a closed curve, you can use Make First to set the curve's first vertex. Break Breaks a single curve into two curves. Click in a viewport to choose the location to break the curve. WARNING When you break a curve sub-object, you lose the animation controllers for all points or CVs on the curve. Join Joins two curve sub-objects together. After you have joined the curves in a viewport, the Join Curves dialog on page 2747 is displayed. This dialog lets you choose the method for joining the two curves. WARNING When you join two curve sub-objects, you lose the animation controllers for all points or CVs on both curves. Material ID Lets you assign a material ID value to the curve. If the curve is renderable, material IDs let you assign a material to the curve using a Multi/Sub-Object on page 6542 material. In addition, the Select by ID button lets you select a curve or multiple curves by specifying a material ID number. Can range from 1 to 100. Default=1. 2548 | Chapter 10 Surface Modeling Select by ID Displays a Select by Material ID on page 2760 dialog. CV Curve rollout This additional rollout is displayed when a CV curve is selected. Degree Sets the degree of the curve. The higher the degree value, the greater the continuity. The lower the degree, the more discontinuous the curve segments become. The degree can't be less than one or greater than the number allowed by the number of CVs in the curve. Degree 3 curves are adequate to represent continuous curves, and are stable and well behaved. Default=3. Setting the degree greater than 3 isn't recommended because higher-degree curves are slower to calculate and less stable numerically. Higher-degree curves are supported primarily to be compatible with models created using other surface modeling programs. The number of CVs in a CV curve must be at least one greater than the curve's degree. Automatic Reparameterization group The controls in this group box let you specify automatic reparameterization. They are similar to the controls in the Reparameterize dialog on page 2757, with the addition that all choices except for None tell 3ds Max to reparameterize the curve automatically; that is, whenever you edit it by moving CVs, refining, and so on. None Do not reparameterize automatically. Creating and Editing NURBS Sub-Objects | 2549 Chord Length Chooses the chord-length algorithm for reparameterization. Chord-length reparameterization spaces knots (in parameter space on page 9257) based on the square root of the length of each curve segment. Chord-length reparameterization is usually the best choice. Uniform Spaces the knots uniformly. A uniform knot vector has the advantage that the curve or surface changes only locally when you edit it. With chord-length parameterization, moving any CV can potentially change the entire curve. Close Closes the curve. Disabled if the curve is already closed. Rebuild Displays the Rebuild CV Curve dialog on page 2755, which lets you specify how to rebuild the curve. Rebuilding the curve can change its appearance. Reparam. Displays the Reparameterize dialog on page 2757. Reparameterizing a curve changes the curve's parameter space on page 9257 to provide a better relation between control point locations and the shape of the curve. TIP It is a good idea to reparameterize after you have added CVs to the curve by refining or inserting. Point Curve rollout This additional rollout appears when a point curve is selected. Close Closes the curve. Disabled if the curve is already closed. Editing Surface Sub-Objects Modify panel ➤ Modifier stack display ➤ Expand the NURBS object's hierarchy. ➤ Surface sub-object level ➤ Select surface sub-objects. This topic describes controls that are common to point surfaces, CV surfaces, and the various dependent surface types. A rollout labeled Surface Common 2550 | Chapter 10 Surface Modeling contains the surface sub-object controls for NURBS surfaces. Another rollout, Material Properties on page 2564, controls mapping on surface sub-objects, and is described in its own topic. See Surface Approximation on page 2762 for a description of that rollout. The final rollout for surface sub-objects depends on the type of surface selected. Procedures To transform surface sub-objects: 1 At the Surface sub-object level, sub-objects. select one or more surface The sub-object selection tools are the same as for other kinds of sub-objects. In addition, you can use the H key when the Keyboard Shortcut Override toggle on page 9008 is on. See Sub-Object Selection on page 2445. The Selection group box, described under "Interface" later in this topic, provides additional options for selecting surfaces. 2 Activate (Select And Move) or another transform and then drag in a viewport to transform the selection. The shape of the model changes as you interactively transform the surfaces. TIP The Lock Selection Set button is useful when you transform NURBS sub-objects. You can make a selection in one viewport, click Lock Selection Set (or press the Spacebar), and then transform the selection in a different viewport. Creating and Editing NURBS Sub-Objects | 2551 To use the keyboard to select surface sub-objects: You can select surface sub-objects using the Ctrl key and the arrow keys. The arrows traverse the sub-objects in the order they were created. To do so, follow these steps: 1 Turn on (Keyboard Shortcut Override Toggle). 2 At the ( Surface) sub-object level, set the selection controls to select surfaces individually. 3 Click or drag to select surfaces. 4 Hold down Ctrl and use the arrow keys to move among surfaces in the current model. At the Surface sub-object level, the left and right arrow keys move forward and backward through individual surfaces in the order they were created. The up and down arrows are equivalent to left and right. You can also use the H keyboard shortcut (while the Keyboard Shortcut Override Toggle is on) to display a dialog and select surfaces by name. Ctrl+H displays only the names of surfaces directly beneath the mouse cursor. To delete a surface: Select the surface and then click Delete. Keyboard shortcut: Delete ■ To make a surface a loft: 1 Select the surface and then click Make Loft. 3ds Max opens a Make Loft dialog on page 2751. 2552 | Chapter 10 Surface Modeling 2 Use the Make Loft dialog controls to choose the settings for the new surface, and then click OK. To break a surface: 1 Turn on Break Row, Break Col., or Break Both, and then drag over the surface. One or two blue curves appear on the surface to indicate where the break will occur. 2 When you have dragged to the location you want to break, click the surface. NOTE If you break a dependent surface, the new "broken" surfaces are made independent. You cannot break a trimmed surface. Creating and Editing NURBS Sub-Objects | 2553 To extend a surface: 1 Turn on Extend. 2 Move the mouse over the surface without depressing the mouse button. The edge that will be extended is highlighted in blue. 3 When the edge you want to extend is highlighted, press the mouse button, and then drag vertically to increase the length of the surface. The surface extension is invalid and disappears if it would cause the surface to intersect itself or if the edge of the surface touches itself but is not closed. For example, you can't extend the top of a cylinder. To join two surfaces: 1 In a NURBS object that contains two surface sub-objects, turn on Join. 2 If the gap between the surfaces is small (less than about 30 units), set the Tolerance value greater than the distance of the gap. 3 Click one surface near the edge that you want to connect. The edge that will be connected is highlighted in blue. Drag to choose the edge you want to connect. Without releasing the mouse button, drag to the other surface. The edge of the other surface is also highlighted in blue. Drag on the other surface to choose the edge to connect, and then release the mouse button. The surface that owns the highlighted edge is highlighted in yellow, to help you distinguish which edge you are choosing when two surfaces have coincident edges. The Join Surfaces dialog on page 2749 is displayed, which gives you a choice of methods for how to join the surfaces. Whichever method you choose, 3ds Max creates a single surface that replaces the two original surfaces. To close a surface: Select the surface sub-object and then click Close Rows or Close ■ Cols. 2554 | Chapter 10 Surface Modeling Interface Surface Common rollout Surface sub-object rollout The controls on this rollout apply to all surface types. Depending on the type of surface, an additional rollout is displayed with controls specific to that type of surface. Selection group The selection buttons for surface sub-objects let you select either individual surfaces, or surfaces that are connected in space. Creating and Editing NURBS Sub-Objects | 2555 Surface sub-object selection controls Single Surface Clicking or transforming a surface selects only a single surface sub-object. All Connected Surfaces Clicking or transforming a surface selects all surface sub-objects that are connected within the NURBS object. To be connected, two surfaces must have all the CVs on a shared edge fused between them, or one surface must be a connected dependent of the other (for example, a blend or a cap). Name Shows the name of the currently selected surface. It is disabled if you have selected multiple surfaces. By default, the name is the name of the surface type ("CV Surface," "Point Surface," "Blend Surface," and so on) followed by a sequence number. You can use this field to give the surface a name that you choose. Hide Click to hide the currently selected surface. Unhide All Click to unhide all hidden surfaces. Hide by Name Click to display a Select Sub-Objects dialog that lists surfaces by name. Select the surfaces to hide, then click Hide. Unhide by Name Disabled unless there are hidden surfaces. Click to display a Select Sub-Objects dialog that lists surfaces by name. Select the surfaces to make visible, then click Unhide. Delete Deletes the selected surface sub-objects. Make Rigid Makes the surface rigid. The only editing allowed on a rigid surface is to transform it at the Surface sub-object level. You can't move a rigid surface's points or CVs, or change the number of points or CVs. Rigid surfaces reduce the amount of memory used by the NURBS model. Making surfaces rigid improves performance, especially for large and complex models. When a surface is rigid, you can't see its points or CVs when you are at the Point or Surface CV sub-object levels. If the model has no nonrigid surfaces 2556 | Chapter 10 Surface Modeling and no point curves, the Point and Surface CV sub-object levels aren't available at all. To make a surface no longer rigid, click Make Point or Make Independent. Editing the surface with Break, Join, and so on also makes it no longer rigid. Make Loft Displays a Make Loft dialog on page 2751 to convert the surface sub-object to a (dependent) U loft or UV loft surface. Can also change the dimension used to construct a U loft surface. You can’t use Make Loft if the surface sub-object is in an error condition. TIP Make Loft creates a loft with uniformly spaced curves. To make a loft with adaptively spaced iso curves, manually create the curves and then loft them with U Iso Lines, V Iso Lines, or U and V Iso Lines. Make Point Displays a Make Point dialog on page 2753 to convert any kind of surface to a point surface. You can also use Make Point to change the number of rows and columns if the surface is already a point surface. Convert Surface Click to display the Convert Surface dialog on page 2736. This dialog provides a general way to convert a surface to a different type of surface. You can convert between lofts, point ("fit") surfaces, and CV surfaces. The dialog also lets you adjust a number of other surface parameters. Make Independent Disabled if the surface is independent. If the surface is dependent, clicking this button makes it independent. WARNING When you make a surface independent, you lose the animation controllers for all objects that depend on it in turn. Remove Animation Removes animation controllers from the selected surfaces. Detach Detaches the selected surface sub-object from the NURBS model, making it a new top-level NURBS surface object on page 2471. The Detach dialog on page 2739 is displayed, which lets you name the new surface. The new object is no longer part of the original NURBS model. To create a new top-level NURBS surface that is a copy of the selected surface, turn on Copy before you click Detach. Copy When on, clicking Detach creates a copy of the selected surface instead of detaching it from the NURBS model. Default=off. Renderable When on, the surface renders. Turn off to make the surface invisible in renderings. Default=on. Display Normals When on, the normal for each selected surface is displayed. There is one normal per surface sub-object. The normal is displayed at the Creating and Editing NURBS Sub-Objects | 2557 surface's UV origin, so displaying normals can help you see how materials will be mapped. On the other hand, the normal can be hard to see if you are zoomed out. Default=off. Flip Normals Turn on to reverse the direction of the surface normals. Default=off. TIP The Flip Normals control is useful for viewing a surface that is mostly concave or mostly convex. With more complicated NURBS surfaces, you often want to render both sides of the surface. To see both sides of the surface, turn on Force 2-Sided on the Render Setup dialog on page 6956. To see both sides of the surfaces in viewports, turn on Force 2-Sided on the Rendering Method panel of the Viewport Configuration dialog on page 8963, or assign a Double-Sided Material on page 6535. Break Row Breaks the surface into two surfaces in the direction of a row (the surface's U axis). Break Col. Breaks the surface into two surfaces in the direction of a column (the surface's V axis). Break Both Breaks the surface into four surfaces in both directions. You cannot break a trimmed surface. Extend Extends the surface by changing its length. WARNING Extending a surface loses all animation controllers for the surface and its points or CVs. Join Joins two surface sub-objects together. After you have joined the surfaces in a viewport, the Join Surfaces dialog on page 2749 is displayed. This dialog lets you choose the method for joining the two surfaces. You can join only original edges of surfaces; you cannot join edges created by trimming. WARNING When you join two surface sub-objects, you lose the animation controllers for all point or CVs on both surfaces. CV Surface rollout This additional rollout is displayed when a CV surface is selected. 2558 | Chapter 10 Surface Modeling U Degree and V Degree Let you set the degree of the surface in either the U or V dimension. The higher the degree value, the greater the continuity. The lower the degree, the more discontinuous the surface segments become. The degree can't be less than one or greater than the number allowed by the number of CVs in the specified dimension. Degree 3 is adequate to represent continuous surfaces, and is stable and well behaved. Default=3. Setting the degree greater than 3 isn't recommended because higher-degrees are slower to calculate and less stable numerically. Higher-degrees are supported primarily to be compatible with models created using other surface modeling programs. The number of CVs in a given dimension must be at least one greater than that dimension's degree. Automatic Reparameterization group The controls in this group box let you specify automatic reparameterization. They are similar to the controls in the Reparameterize dialog on page 2757, with the addition that all choices except for None tell 3ds Max to reparameterize the curve automatically; that is, whenever you edit it by moving CVs, refining, and so on. None Do not reparameterize automatically. Chord Length Chooses the chord-length algorithm for reparameterization. Chord-length reparameterization spaces knots (in parameter space on page 9257) based on the square root of the length of each curve segment. Chord-length reparameterization is usually the best choice. Uniform Spaces the knots uniformly. Creating and Editing NURBS Sub-Objects | 2559 A uniform knot vector has the advantage that the curve or surface changes only locally when you edit it. With chord-length parameterization, moving any CV can potentially change the entire surface. The close controls let you close a surface. They are displayed on the CV Surface rollout while an independent CV surface sub-object is selected. They are disabled if the surface is already closed in that direction. Close Rows Closes the surface by joining the ends of its rows. Close Cols. Closes the surface by joining the ends of its columns. Rebuild Displays the Rebuild CV Surface dialog on page 2756, which lets you specify how to rebuild the surface. Rebuilding the surface can change its appearance. WARNING When you rebuild a surface, you lose the animation controllers for all CVs on the surface. Reparam. Displays the Reparameterize dialog on page 2757. Reparameterizing a surface changes the surface's parameter space on page 9257 to provide a better relation between control point locations and the shape of the surface. TIP It is a good idea to reparameterize after you have added CVs to the surface by refining or inserting. WARNING When you reparameterize a surface, you lose the animation controllers for all CVs on the surface. Point Surface rollout This additional rollout appears when a point surface is selected. The close controls let you close a surface. They appear on the Point Surface rollout while an independent point surface sub-object is selected. They have no effect if the surface is already closed in that direction. Close Rows Closes the surface by joining the ends of its rows. Close Cols. Closes the surface by joining the ends of its columns. 2560 | Chapter 10 Surface Modeling Soft Selection Rollout (NURBS) Modify panel ➤ Select NURBS point or CV sub-objects. ➤ Soft Selection rollout The soft selection controls for NURBS models are like the soft selection controls for editable mesh on page 2190 objects. Soft selection controls make a point or CV behave as if surrounded by a "magnetic field." Unselected points or CVs within the field are drawn along smoothly while you move the selected one. With this feature, you can sculpt the points or CVs of a curve or surface. For example, you can draw a sphere into an egg, or gently curve a flat surface into hills and valleys. With soft selection, transforming a single vertex can move others. The Soft Selection rollout for point and CV sub-objects contains the controls for this feature. The Soft Selection check box is turned off by default. Before you begin, you might need to increase the number of CVs or points on the surface. This allows smoother and more complex reshaping effects. A single point or CV works well for many purposes. Moving a point or CV along a single axis is the most useful for smoothly raising and lowering surfaces. For multiple points or CVs, you can also use Rotate or Scale. Creating and Editing NURBS Sub-Objects | 2561 Interface Soft Selection When on, point or CV transforms affect a region of the curve or surface. Affect Neighbors When on, the transform affects points or CVs not only on this curve or surface but within the entire Falloff region of the NURBS object. Same Type Only (for point curves and surfaces only) When on, the transform affects only neighboring points of the same type; that is, either curve points, surface points, or independent points. Soft Selection Curve This curve display shows how Soft Selection will work. You can experiment with a curve setting, undo it, and try another setting with the same selection. Falloff Distance in current units from the center to the edge of a sphere defining the region. Use higher falloff settings to achieve more gradual slopes, depending on the scale of your geometry. Default=20. 2562 | Chapter 10 Surface Modeling Left: Falloff=20 (the default) Right: Falloff=40 Pinch Raises and lowers the top point of the curve along the vertical axis. Sets the relative "pointedness" of the region. When negative, a crater is produced instead of a point. At a setting of 0, Pinch produces a smooth transition across this axis. Default=0. Left: Pinch=.5 Right: Pinch=2 Falloff and Bubble have their default values. Bubble Expands and contracts the curve along the vertical axis. Sets the relative "fullness" of the region. Limited by Pinch, which sets a fixed starting point for Bubble. A setting of 0 for Pinch and 1.0 for Bubble produces a maximum smooth bulge. Negative values for Bubble move the bottom of the curve below the surface, creating a "valley" around the base of the region. Default=0. Creating and Editing NURBS Sub-Objects | 2563 Left: Bubble=1 Right: Bubble=6 Falloff and Pinch have their default values. Material Properties Rollout (NURBS) Modify panel ➤ Select a NURBS object. ➤ Modifier stack display ➤ Surface sub-object level ➤ Material Properties rollout This rollout controls material mapping onto a NURBS surface sub-object. Procedures To apply a mapped material to a surface sub-object: 1 On the Material Properties rollout, turn on Gen. Mapping Coordinates. 2 Use the the surface. Material Editor on page 6019 to assign a mapped material to To use multiple map channels on a single surface sub-object (example): 1 On the Material Properties rollout, turn on Gen. Mapping Coordinates. 2 Change the Map Channel value to 2, and turn on Gen. Mapping Coordinates. 2564 | Chapter 10 Surface Modeling 3 Change the U and V tiling values for map channel 2. Now when you assign a mapped material, maps on map channel 1 use the default UV tiling, while maps on map channel 2 use the channel 2 tiling. An easy way to see this is to create a checker on page 6650 map on channel 1, and make one checker color another checker map on channel 2. Creating and Editing NURBS Sub-Objects | 2565 Interface Material Properties rollout 2566 | Chapter 10 Surface Modeling Material ID Use this to change the surface’s material ID number. Multiple material IDs in a single NURBS object let you assign a multi/sub-object material on page 6542 to the NURBS object. Select by ID Displays a Select by Material ID dialog on page 2760. Texture Channels group The controls in this group box support materials, including tiling and positioning mapping coordinates on the surface. Map Channel Chooses a UV coordinates map channel on page 9210. Range=1 to 99. A single surface can use up to 99 texture channels. Default=1. Gen. Mapping Coordinates Generates mapping coordinates so you can apply mapped materials to the surface. Each surface in a NURBS object has its own set of mapping coordinates. Default=off. U and V Offset Offset mapping coordinates along the surface’s local U axis or V axis. That is, at 0.0 (the default), the map begins at the U or V origin. Increasing an Offset value moves the map forward along that axis, and decreasing it moves it backward. These parameters are animatable. U and V Tiling Control the tiling of UV mapping coordinates; that is, the number of times a mapped material’s map is repeated in the surface’s local U axis or V axis. Default=1.0 for both axes (no tiling). These parameters are animatable. Rotation Angle Lets you specify a rotation angle for the texture. This parameter is animatable. Texture Corners group The controls in this group box let you explicitly set which texture surface UV values to use at the corners of a surface. These controls are especially useful when you are matching the textures of adjacent surfaces. These controls are disabled unless Generate Mapping Coordinates is on. Corners radio buttons The four buttons correspond to the four corners of the currently selected surface. When you choose a button, the corresponding corner is highlighted with a blue box in 3D viewports, and the U and V spinners are enabled. U and V Unavailable unless you've chosen one of the Corners radio buttons. When available, you use these spinners to set the U and V texture values for the chosen corner. Creating and Editing NURBS Sub-Objects | 2567 By default, the U and V values for most surfaces range from 0.0 to 1.0. For some kinds of geometry converted to a NURBS surface, these ranges can vary. Texture Surface group The controls in this group box let you choose a method for mapping texture to the currently selected NURBS surface sub-object, and to adjust the parameters for some of the chosen methods. These controls are available when Generate Mapping Coordinates is on. A texture surface is a surface associated with the surface sub-object. The texture surface controls how materials are mapped. In effect, changing the texture surface stretches or otherwise changes the UV coordinates for the surface, altering the mapping. Maps can shift with certain surface approximation methods. This effect is especially noticeable when the surface has animated CVs. You can reduce or eliminate map shifting by changing the mapping method to User Defined. TIP Don't use the UVW Map modifier to apply a texture to an animated NURBS surface. Default Automatically generates a texture surface. This method evenly distributes the texture and attempts to compensate for stretching of the surface. The default texture surface method has no additional controls. User Defined Generates a texture surface that you can edit. You edit the user-defined texture surface either by using an Edit Texture Surface dialog (as you did in 3ds Max prior to v3), or by editing texture points directly in viewports. Edit Texture Surface Click to display the Edit Texture Surface dialog on page 2743, which lets you control UV mapping on this surface. This button is available when you've chosen User Defined as the texture surface method. Edit Texture Points Click to edit texture surface points directly in viewports. This button available when you've chosen User Defined as the texture surface method. While Edit Texture Points is on, the points of the texture surface are displayed in viewports, where you can adjust their positions by using the selection and transform tools. Projected Generates the texture surface by projecting the texture of another NURBS surface sub-object in the NURBS model. The projection travels along the direction of the normals of the source surface. 2568 | Chapter 10 Surface Modeling Projected texture surfaces are relational: if you update the source surface, the texture updates on all the surfaces it projects onto. If you use the same source surface to project a texture onto several other connected surfaces, the textures will match along the boundaries where the mapped surfaces touch. Pick Source Surface This button is available when you've chosen Projected as the texture surface method. To choose a source (projector) surface, choose Projected, click to turn on this button, and then click in a viewport to select another surface sub-object in the same NURBS model. Source text field If Projected is the chosen texture surface method and you have picked a surface to project, this field displays the name of the projector (source) surface. Otherwise, this field says "None." Creating Curve Sub-Objects Select a NURBS object. ➤ Select a NURBS object. ➤ Toolbox) Modify panel ➤ Create Curves rollout Modify panel ➤ (NURBS Creation Keyboard ➤ Ctrl+T to toggle NURBS toolbox display (Keyboard Shortcut Override Toggle must be on) Curve sub-objects are either independent point and CV curves (similar to the top-level point and CV curves described in Point Curve on page 2483 and CV Curve on page 2490), or they are dependent curves. Dependent curves are curve sub-objects whose geometry depends on other curves, points, or surfaces in the NURBS object. When you change the geometry of the original, parent sub-objects, the dependent curve changes as well. You create curve sub-objects using the Create Curves rollout on the Modify command panel for a NURBS curve. Creating and Editing NURBS Sub-Objects | 2569 TIP Lathe and extrude surface sub-objects can be based on only a single curve; see Creating Dependent Surfaces on page 2625. If you create dependent curves and then want to use the set of curves (for example, two parents and a fillet between them) as the basis of an extrude or loft surface, first go to the Curve sub-object level and use Join to connect the curves. Creation operations for dependent sub-objects require you to select one or more parent objects. In general, you can click and drag, or click and then click again. You can also use the H keyboard shortcut to display the Select Sub-Objects dialog. This is a subset of the Selection Floater on page 187 for choosing the parent. (The Keyboard Shortcut Override Toggle on page 9008 must be on for H to work this way.) Toolbox Buttons for Creating Curves These are the toolbox on page 2443 buttons for creating curve sub-objects: Create an independent CV curve sub-object on page 2572. 2570 | Chapter 10 Surface Modeling Create an independent point curve sub-object on page 2576. Create a dependent fit curve (as with the Curve Fit on page 2579 button). Create a dependent transform curve on page 2580. Create a dependent blend curve on page 2582. Create a dependent offset curve on page 2585. Create a dependent mirror curve on page 2587. Create a dependent chamfer curve on page 2590. Create a dependent fillet curve on page 2595. Create a dependent surface-surface intersection curve on page 2600. Create a dependent U iso curve on page 2606. Create a dependent V iso curve on page 2606. Create a dependent normal projected curve on page 2608. Create a dependent vector projected curve on page 2611. Create a dependent CV curve on surface on page 2614. Create a dependent point curve on surface on page 2619. Create a dependent surface offset curve on page 2604. Creating and Editing NURBS Sub-Objects | 2571 Create a dependent surface edge curve on page 2623. CV Curve Sub-Object Select a NURBS object. ➤ ➤ CV Curve button Select a NURBS object. ➤ (Create CV Curve) Modify panel ➤ Create Curves rollout Modify panel ➤ NURBS toolbox ➤ CV curve sub-objects are similar to object-level CV curves on page 2490. The main difference is that you can't give CV curves a renderable thickness at the sub-object level. Drawing Three-Dimensional Curves When you create a CV curve, you can draw it in three dimensions. There are two ways to do this: ■ Draw In All Viewports: This toggle lets you use any viewport to draw the curve, enabling you to draw three dimensionally. ■ Using Ctrl to drag CVs: While you draw a curve, you can use the Ctrl key to drag a CV off of the construction plane. With the Ctrl–key method, further mouse movement lifts the latest point off the construction plane. There are two ways to use this: ■ Click-drag. If you hold down Ctrl and also hold down the mouse button, you can drag to change the height of the CV. The CV's location is set when you release the mouse button. This method is probably more intuitive. ■ Click-click. If you Ctrl+click and then release the mouse button, the height changes as you drag the mouse. Clicking the mouse a second time sets the CV's location. This method is less prone to repetitive stress injury. 2572 | Chapter 10 Surface Modeling While you are offsetting the CV, a red dotted line is drawn between the original CV on the construction plane and the actual CV offset from the plane. You can move the mouse into an inactive viewport, in which case 3ds Max sets the height of the CV using the CV's Z axis in the inactive viewport. This lets you set the height of the CV with accuracy. Snaps on page 2850 also work when you change the height of a CV. For example, if you turn on CV snapping, you can set a CV to have the same height as another CV by snapping to that other CV in an inactive viewport. Procedures To create a CV curve sub-object: 1 In the NURBS toolbox, turn on (CV Curve). 2 In a viewport, click and drag to create the first CV, as well as the first curve segment. Release the mouse button to add the second CV. Each subsequent location you click adds a new CV to the curve. Right-click to end curve creation. NOTE If you begin the curve by clicking without dragging, this also creates the curve's first CV. However, if you release the mouse button more than five pixels away from where you initially pressed it, this creates an additional CV. While you are creating a CV curve, you can press Backspace to remove the last CV you created, and then previous CVs in reverse order. If Draw In All Viewports is on, you can draw in any viewport, creating a 3D curve. To lift a CV off the construction plane, use the Ctrl key as described earlier in this topic under "Drawing Three-Dimensional Curves." As with splines, if you click over the curve's initial CV, a Close Curve dialog on page 2738 is displayed. This dialog asks whether you want the curve to be closed. Click No to keep the curve open or Yes to close the curve. (You can also close a curve when you edit it at the Curve sub-object level.) When a closed curve is displayed at the Curve sub-object level, the initial CV is displayed as a green circle, and a green tick mark indicates the curve's direction. Creating and Editing NURBS Sub-Objects | 2573 Interface CV Curve rollout (creation time) Draw In All Viewports Lets you use any viewport while you are drawing the curve. This is one way to create a 3D curve. When off, you must finish drawing the curve in the viewport where you began it. Default=on. While Draw In All Viewports is on, you can also use snaps on page 2850 in any viewport. Automatic Reparameterization group The controls in this group box let you specify automatic reparameterization. They are similar to the controls in the Reparameterize dialog on page 2757, with one addition: all choices except for None tell 3ds Max to reparameterize the curve automatically; that is, whenever you edit it by moving CVs, refining, and so on. None Do not reparameterize automatically. Chord Length Chooses the chord-length algorithm for reparameterization. Chord-length reparameterization spaces knots (in parameter space on page 9257) based on the square root of the length of each curve segment. Chord-length reparameterization is usually the best choice. Uniform Spaces the knots uniformly. A uniform knot vector has the advantage that the curve or surface changes only locally when you edit it. With the other two forms of parameterization, moving any CV can change the entire sub-object. 2574 | Chapter 10 Surface Modeling CV Curve rollout (modification time) Degree Sets the degree of the curve. The higher the degree value, the greater the continuity. The lower the degree, the more discontinuous the curve segments become. The degree can't be less than one or greater than the number allowed by the number of CVs in the curve. Degree 3 curves are adequate to represent continuous curves, and are stable and well behaved. Default=3. Setting the degree greater than 3 isn't recommended, because higher-degree curves are slower to calculate and less stable numerically. Higher-degree curves are supported primarily to be compatible with models created using other surface modeling programs. The number of CVs in a CV curve must be at least one greater than the curve's degree. Automatic Reparameterization group The controls in this group box let you specify automatic reparameterization. They are similar to the controls in the Reparameterize dialog on page 2757, with one addition: all choices except for None tell 3ds Max to reparameterize the curve automatically; that is, whenever you edit it by moving CVs, refining, and so on. None Do not reparameterize automatically. Chord Length Chooses the chord-length algorithm for reparameterization. Chord-length reparameterization spaces knots (in parameter space on page 9257) based on the square root of the length of each curve segment. Creating and Editing NURBS Sub-Objects | 2575 Chord-length reparameterization is usually the best choice. Uniform Spaces the knots uniformly. A uniform knot vector has the advantage that the curve or surface changes only locally when you edit it. With the other two forms of parameterization, moving any CV can change the entire sub-object. Close Closes the curve. Disabled if the curve is already closed. Rebuild Displays the Rebuild CV Curve dialog on page 2755 to let you rebuild the CV curve. Reparam Displays the Reparameterize dialog on page 2757 to let you re parameterize the CV. Point Curve Sub-Object Select a NURBS object. ➤ ➤ Point Curve button Select a NURBS object. ➤ (Create Point Curve) Modify panel ➤ Create Curves rollout Modify panel ➤ NURBS toolbox ➤ Point curve sub-objects are similar to object-level point curves on page 2483. Points are constrained to lie on the curve. The main difference is that you can't give point curves a renderable thickness at the sub-object level. Drawing Three-Dimensional Curves When you create a point curve, you can draw it in three dimensions. There are two ways to do this: ■ Draw In All Viewports: This toggle lets you use any viewport to draw the curve, enabling you to draw three dimensionally. ■ Using Ctrl to drag points: While you draw a curve, you can use the Ctrl key to drag a point off of the construction plane. 2576 | Chapter 10 Surface Modeling With the Ctrl key method, further mouse movement lifts the latest point off the construction plane. There are two ways to use this: ■ Click-drag. If you hold down Ctrl and also hold down the mouse button, you can drag to change the height of the point. The point's location is set when you release the mouse button. This method is probably more intuitive. ■ Click-click. If you Ctrl+click and then release the mouse button, the height changes as you drag the mouse. Clicking the mouse a second time sets the point's location. This method is less prone to repetitive stress injury. While you are offsetting the point, a red dotted line is drawn between the original point on the construction plane and the actual point offset from the plane. You can move the mouse into an inactive viewport, in which case 3ds Max sets the height of the point using the point's Z axis in the inactive viewport. This lets you set the height of the point with accuracy. Snaps on page 2850 also work when you change the height of a point. For example, if you turn on Point snapping, you can set a point to have the same height as another point by snapping to that other point in an inactive viewport. Procedures To create a point curve sub-object: 1 In the NURBS toolbox, turn on (Point Curve). 2 In a viewport, click and drag to create the first point, as well as the first curve segment. Release the mouse button to add the second point. Each subsequent location you click adds a new point to the curve. Right-click to end curve creation. NOTE If you begin the curve by clicking without dragging, this also creates the curve's first point. However, if you release the mouse button more than five pixels away from where you initially pressed it, this creates an additional point. While you are creating a point curve, you can press Backspace to remove the last point you created, and then previous points in reverse order. If Draw In All Viewports is on, you can draw in any viewport, creating a 3D curve. Creating and Editing NURBS Sub-Objects | 2577 To lift a point off the construction plane, use the Ctrl key as described earlier in this topic under Drawing Three-Dimensional Curves on page 2576. As with splines, if you click over the curve's initial point, a Close Curve dialog on page 2754 is displayed. This dialog asks whether you want the curve to be closed. Click No to keep the curve open or Yes to close the curve. (You can also close a curve when you edit it at the Curve sub-object level.) When a closed curve is displayed at the Curve sub-object level, the initial point is displayed as a green circle, and a green tick mark indicates the curve's direction. Interface Point Curve rollout (creation time) Draw In All Viewports Lets you use any viewport while you are drawing the curve. This is one way to create a 3D curve. When off, you must finish drawing the curve in the viewport where you began it. Default=on. While Draw In All Viewports is on, you can also use snaps on page 2850 in any viewport. Point Curve rollout (modification time) Close Closes the curve. Disabled if the curve is already closed. 2578 | Chapter 10 Surface Modeling Curve Fit Select a NURBS object. ➤ Modify panel ➤ Create Curves rollout ➤ Dependent Curves group box ➤ Curve Fit button Select a NURBS object. ➤ (Create Fit Curve) Modify panel ➤ NURBS toolbox ➤ This command creates a point curve fitted to points you select. The points can be part of previously created point curve and point surface objects, or they can be point sub-objects you created explicitly. They can't be CVs. Fitting a curve to selected points Creating and Editing NURBS Sub-Objects | 2579 Procedures To create a point curve with Curve Fit: The NURBS object must contain two or more point sub-objects. 1 In the NURBS toolbox, turn on (Create Fit Curve). 2 Click two or more points. A point curve is created. It runs through the points you select, in the order you select them. You can use Backspace to undo point selection in reverse order. 3 Right-click to end creation. Interface There are no parameters for a point curve created with Curve Fit. Transform Curve Select a NURBS object. ➤ Modify panel ➤ Create Curves rollout ➤ Dependent Curves group box ➤ Transform button Select a NURBS object. ➤ (Create Transform Curve) Modify panel ➤ NURBS toolbox ➤ A transform curve is a copy of the original curve with a different position, rotation, or scale. 2580 | Chapter 10 Surface Modeling Curve used to create a transform curve Procedures To create a transform curve: ■ In a NURBS object that contains at least one curve, turn on (Create Transform Curve). To move the transform curve, click and drag the curve you want to duplicate. To rotate or scale the transform curve, click the parent curve, go to the Curve sub-object level in the modifier stack, and then rotate or scale the transform curve. When you use Move to create the transform curve, it simply copies the parent. (It doesn't exaggerate curvature as an offset curve does.) Axis constraints don't apply to the creation of transform curves. You can click to create the curve in place; then once it is created, transform it using constraints. TIP You can also use axis constraints by using Shift+Clone at the Curve sub-object level. Creating and Editing NURBS Sub-Objects | 2581 Interface Creation time At creation time, transform curves have no parameters. Transform Curve rollout (modification time) At modification time, you can transform the transform curve as a curve sub-object, and you can animate curve sub-object transforms. Transform curves also have one control in the Modify panel. Replace Base Curve Lets you replace the parent curve. Click the button, then click the curve to replace the original curve. Blend Curve Select a NURBS object. ➤ Modify panel ➤ Create Curves rollout ➤ Dependent Curves group box ➤ Blend button Select a NURBS object. ➤ (Create Blend Curve) Modify panel ➤ NURBS toolbox ➤ A blend curve connects the end of one curve to the end of another, blending the curvature of the parents to create a smooth curve between them. You can blend curves of the same type, a point curve with a CV curve (and vice versa), an independent curve with a dependent curve, and so on. 2582 | Chapter 10 Surface Modeling Blend curves connecting original curves Procedures To create a blend curve: The NURBS object must contain two or more curves. 1 In the NURBS toolbox, turnon (Create Blend Curve). 2 Click one curve near the end that you want to connect. The end that will be connected is highlighted. Without releasing the mouse button, drag to the end of the other curve that you want to connect. The other end is highlighted as well. When the end that you want to connect is highlighted, release the mouse button. After the blend curve is created, changing the position or the curvature of either parent curve changes the blend curve as well. 3 Adjust the blend parameters. Creating and Editing NURBS Sub-Objects | 2583 Interface Blend Curve rollout (creation time) "Tension" affects the tangent between a parent curve and the blend curve. The greater the tension value, the more closely the tangent parallels the parent curve, and the smoother the transition. The lower the tension, the greater the tangent angle and the sharper the transition between parent and blend. Tension 1 Controls tension at the edge of the first curve you clicked. Tension 2 Controls tension at the edge of the second curve you clicked. Blend Curve rollout (modification time) "Tension" affects the tangent between a parent curve and the blend curve. The greater the tension value, the more closely the tangent parallels the parent curve, and the smoother the transition. The lower the tension, the greater the tangent angle and the sharper the transition between parent and blend. Tension 1 Controls tension at the edge of the first curve you clicked. Tension 2 Controls tension at the edge of the second curve you clicked. 2584 | Chapter 10 Surface Modeling Replace First Curve and Replace Second Curve Let you replace the parent curves. Click the button, then click the curve to replace the original first or second curve. Offset Curve Select a NURBS object. ➤ Modify panel ➤ Create Curves rollout ➤ Dependent Curves group box ➤ Offset button Select a NURBS object. ➤ (Create Offset Curve) Modify panel ➤ NURBS toolbox ➤ An Offset curve is offset from the original, parent curve. It is normal to the original. You can offset both planar and 3D curves. Curve used to create an offset curve Creating and Editing NURBS Sub-Objects | 2585 Procedures To create an offset curve: The NURBS object must contain at least one curve. 1 In the NURBS toolbox, turn on (Create Offset Curve). 2 Click the curve you want to offset, and drag to set the initial distance. An offset curve is created. 3 Adjust the Offset parameter. If the parent curve is not linear, increasing the distance increasingly exaggerates the curvature of the offset curve. Interface Offset Curve rollout (creation time) Offset The distance between the parent curve and the offset curve, in 3ds Max units. This parameter is animatable. Offset Curve rollout (modification time) Offset The distance between the parent curve and the offset curve, in 3ds Max units. 2586 | Chapter 10 Surface Modeling Replace Base Curve Lets you replace the parent curve. Click the button, then click the curve to replace the original curve. Mirror Curve Select a NURBS object. ➤ Modify panel ➤ Create Curves rollout ➤ Dependent Curves group box ➤ Mirror button Select a NURBS object. ➤ (Create Mirror Curve) Modify panel ➤ NURBS toolbox ➤ A mirror curve is a mirror image of the original curve. Curve used to create a mirror curve Creating and Editing NURBS Sub-Objects | 2587 Procedures To create a mirror curve: The NURBS object must contain at least one curve. 1 In the NURBS toolbox, turn on (Create Mirror Curve). 2 On the Mirror Curve rollout, choose the axis or plane you want to use. 3 Click the curve you want to mirror, and drag to set the initial distance. A mirror curve is created. A gizmo (yellow by default) indicates the direction of mirroring. Transforming the mirror curve's gizmo changes the orientation of the mirror, letting you mirror along an axis that isn't aligned with a local coordinate axis. 4 Adjust the mirror parameters. Interface In viewports a gizmo (yellow by default) indicates the mirror axis. Mirror Curve rollout (creation time) Mirror Axis group The Mirror Axis buttons control the direction in which the original curve is mirrored. You can't transform the mirror curve directly (that would simply transform the mirror curve and its parent curve at the same time). You transform it by 2588 | Chapter 10 Surface Modeling transforming its gizmo. By using transforms you can mirror about an arbitrary axis, rather than using one of the Mirror Axis presets. When you transform a mirror curve, you are actually transforming the mirror plane, so Rotate has the effect of rotating the plane about which the curve is mirrored. (This is like rotating the mirror gizmo in the Mirror modifier.) Offset Controls the mirror's distance from the original curve. This parameter is animatable. Mirror Curve rollout (modification time) Mirror Axis group The Mirror Axis buttons control the direction in which the original curve is mirrored. You can't transform the mirror curve directly (that would simply transform the mirror curve and its parent curve at the same time). You transform it by transforming its gizmo. By using transforms you can mirror about an arbitrary axis, rather than using one of the Mirror Axis presets. When you transform a mirror curve, you are actually transforming the mirror plane, so Rotate has the effect of rotating the plane about which the curve is mirrored. (This is like rotating the mirror gizmo in the Mirror modifier.) Offset Controls the mirror's distance from the original curve. This parameter is animatable. Creating and Editing NURBS Sub-Objects | 2589 Replace Base Curve Lets you replace the parent curve. Click the button, then click the curve to replace the original curve. Chamfer Curve Select a NURBS object. ➤ Modify panel ➤ Create Curves rollout ➤ Dependent Curves group box ➤ Chamfer button Select a NURBS object. ➤ (Create Chamfer Curve) Modify panel ➤ NURBS toolbox ➤ Chamfer creates a curve that is a straight bevel between two parent curves. Creating chamfers between two original curves 2590 | Chapter 10 Surface Modeling Procedures To create a chamfer curve: The NURBS object must contain at least two curves. 1 In the NURBS toolbox, turn on (Create Chamfer Curve). TIP Make sure the curves intersect before you begin to create the chamfer. 2 Click one curve near the end that you want to connect. The end that will be connected is highlighted. Without releasing the mouse button, drag to the end of the other curve that you want to connect. When the end that will be connected is highlighted, release the mouse button. A chamfer curve is created. Changing the position or the curvature of either parent curve can change the chamfer as well. The parent curves must be coplanar. The chamfer is not necessarily connected at the endpoints of the parent curves: you can adjust its position with the chamfer's Length parameters. 3 Adjust the chamfer parameters. Creating and Editing NURBS Sub-Objects | 2591 Interface Chamfer Curve rollout (creation time) The lengths are the distances from the intersection (or apparent intersection) at which the chamfer segment is drawn. Length 1 The distance along the first curve you click. This parameter is animatable. Length 2 The distance along the second curve you click. This parameter is animatable. Some length values make it impossible to construct the chamfer. If you set the length to an invalid value, the chamfer returns to a default position and is displayed in the error color (orange by default). 2592 | Chapter 10 Surface Modeling Trim First Curve and Trim Second Curve groups These two group boxes let you control how the parent curves are trimmed. The controls are the same in each. "First" and "second" refer to the order in which you picked the parent curves. Flipping the direction of a trim Trim Curve When on (the default), trims the parent curve against the fillet curve. When off, the parent isn't trimmed. Flip Trim When on, trims in the opposite direction. Seed 1 and Seed 2 Change the U location of the seed value on the first and second curves. If there is a choice of directions, the direction indicated by the seed points is the one used to create the chamfer. Creating and Editing NURBS Sub-Objects | 2593 Chamfer Curve rollout (modification time) The lengths are the distances from the intersection (or apparent intersection) at which the chamfer segment is drawn. Length 1 The distance along the first curve you click. Length 2 The distance along the second curve you click. Some length values make it impossible to construct the chamfer. If you set the length to an invalid value, the chamfer returns to a default position and is displayed in the error color (orange by default). 2594 | Chapter 10 Surface Modeling Trim First Curve and Trim Second Curve groups These two group boxes let you control how the parent curves are trimmed. The controls are the same in each. "First" and "second" refer to the order in which you picked the parent curves. Flipping the direction of a trim Trim Curve When on (the default), trims the parent curve against the fillet curve. When off, the parent isn't trimmed. Flip Trim When on, trims in the opposite direction. Seed 1 and Seed 2 Change the U location of the seed value on the first and second curves. If there is a choice of directions, the direction indicated by the seed points is the one used to create the chamfer. Replace First Curve and Replace Second Curve Let you replace the parent curves. Click the button, then click the curve to replace the original first or second curve. Fillet Curve Select a NURBS object. ➤ Modify panel ➤ Create Curves rollout ➤ Dependent Curves group box ➤ Fillet button Creating and Editing NURBS Sub-Objects | 2595 Select a NURBS object. ➤ (Create Fillet Curve) Modify panel ➤ NURBS toolbox ➤ Fillet creates a curve that is a rounded corner between two parent curves. Above: Two simple fillets Below: Flip Trim changes the direction of trimming and the shape the fillet. Procedures To create a fillet curve: The NURBS object must contain at least two curves. 1 In the NURBS toolbox, turn on (Create Fillet Curve). 2 Click one curve near the end that you want to connect. The end that will be connected is highlighted. Without releasing the mouse button, drag to the end of the other curve that you want to connect. When the end that you want to connect is highlighted, release the mouse button. 2596 | Chapter 10 Surface Modeling A fillet curve is created. It trims the ends of the parent curve to match the fillet. The fillet is not necessarily placed at the endpoints of the parent curves: placement depends on the value of the Radius parameter. Changing the position or the curvature of either parent curve can change the fillet as well. The parent curves must be coplanar. 3 Adjust the fillet parameters. Interface Fillet Curve rollout (creation time) Radius The radius of the fillet arc in the current 3ds Max units. Default=10.0. This parameter is animatable. Creating and Editing NURBS Sub-Objects | 2597 TIP If the fillet you initially create is in an error state, often this is because the radius is not large enough to bridge the distance between the two curves. Increasing the Radius value gives you a correct fillet. The fillet becomes an arc displayed in the dependent object color (green by default). When the fillet is in an error state it is displayed as a straight line in the error color (orange by default). Trim First Curve and Trim Second Curve groups These two group boxes let you control how the parent curves are trimmed. The controls are the same in each. "First" and "second" refer to the order in which you picked the parent curves. Trim Curve When on (the default), trims the parent curve against the fillet curve. When off, the parent isn't trimmed. Flip Trim When on, trims in the opposite direction. Seed 1 and Seed 2 Change the U location of the seed value on the first and second curves. If there is a choice of directions, the direction indicated by the seed points is the one used to create the fillet. 2598 | Chapter 10 Surface Modeling Fillet Curve rollout (modification time) Radius The radius of the fillet arc in the current 3ds Max units. Default=10.0. TIP If the fillet you initially create is in an error state, often this is because the radius is not large enough to bridge the distance between the two curves. Increasing the Radius value gives you a correct fillet. The fillet becomes an arc displayed in the dependent object color (green by default). When the fillet is in an error state it is displayed as a straight line in the error color (orange by default). Trim First Curve and Trim Second Curve groups These two group boxes let you control how the parent curves are trimmed. The controls are the same in each. "First" and "second" refer to the order in which you picked the parent curves. Creating and Editing NURBS Sub-Objects | 2599 Trim Curve When on (the default), trims the parent curve against the fillet curve. When off, the parent isn't trimmed. Flip Trim When on, trims in the opposite direction. Seed 1 and Seed 2 Change the U location of the seed value on the first and second curves. If there is a choice of directions, the direction indicated by the seed points is the one used to create the fillet. Replace First Curve and Replace Second Curve Let you replace the parent curves. Click the button, then click the curve to replace the original first or second curve. Surface-Surface Intersection Curve Select a NURBS object. ➤ Modify panel ➤ Create Curves rollout ➤ Dependent Curves group box ➤ Surf x Surf button Select a NURBS object. ➤ Modify panel ➤ NURBS toolbox ➤ (Create Surface-Surface Intersection Curve) This command creates a curve that is defined by the intersection of two surfaces. You can use surface-surface intersection curves for trimming on page 2437. 2600 | Chapter 10 Surface Modeling Trimming a surface with a surface-surface intersection curve If the surfaces intersect at two or more locations, the intersection closest to the seed point is the one that creates the curve. Procedures To create a surface-surface intersection curve: The NURBS object must contain two surfaces that intersect. 1 In the NURBS toolbox, turn on Curve). (Create Surface-Surface Intersection 2 Click the first surface, then the second. If the two surfaces intersect, a curve that lies along their intersection is created. Creating and Editing NURBS Sub-Objects | 2601 Interface Surf-Surf Intersection Curve rollout (creation time) Trim Controls group Trim 1 and Trim 2 When on, trim a surface against the intersection curve. When off, the surface isn’t trimmed. Trim 1 trims the first parent surface you clicked, and Trim 2 trims the second parent surface. If the intersection curve does not pass completely across a surface, trimming is impossible, and the affected surface is displayed in the error color (orange by default). Flip Trim 1 and Flip Trim 2 When on, trim the associated surface in the opposite direction. U Seed and V Seed Change the UV location of the seed value on surface 1, the first surface you clicked. If there is a choice of intersections, the intersection closest to the seed point is the one used to create the curve. 2602 | Chapter 10 Surface Modeling Surf-Surf Intersection Curve rollout (modification time) Trim Controls group Trim 1 and Trim 2 When on, trim a surface against the intersection curve. When off, the surface isn’t trimmed. Trim 1 trims the first parent surface you clicked, and Trim 2 trims the second parent surface. If the intersection curve does not pass completely across a surface, trimming is impossible, and the affected surface is displayed in the error color (orange by default). Flip Trim 1 and Flip Trim 2 When on, trim the associated surface in the opposite direction. U Seed and V Seed Change the UV location of the seed value on surface 1, the first surface you clicked. If there is a choice of intersections, the intersection closest to the seed point is the one used to create the curve. Replace First Surface and Replace Second Surface Let you replace the parent surfaces. Click a button, then click the surface to replace the original first or second surface. Creating and Editing NURBS Sub-Objects | 2603 Surface Offset Curve Select a NURBS object. ➤ Modify panel ➤ Create Curves rollout ➤ Dependent Curves group box ➤ Surf Offset button Select a NURBS object. ➤ (Create Surface Offset Curve) Modify panel ➤ NURBS toolbox ➤ This command creates a curve that is offset from a curve that lies on a surface. In other words, the parent curve must have one of the following types: surface-surface intersection, U iso, V iso, normal projected, vector projected, CV curve on surface, or point curve on surface. The offset is normal to the surface. That is, the new curve is either above or below the surface by the offset amount. Creating surface offset curves 2604 | Chapter 10 Surface Modeling Procedures To create a surface offset curve: The NURBS object must contain at least one NURBS surface with a curve on it. 1 In the NURBS toolbox, it, turn on (Create Surface Offset Curve). 2 Put the cursor over a curve that lies on a surface, and drag to set the offset amount. Release the mouse button to end curve creation. Interface Surface Offset Curve rollout (creation time) Offset The amount by which the curve is offset from the surface on which the parent curve lies. Surface Offset Curve rollout (modification time) Offset The amount by which the curve is offset from the surface on which the parent curve lies. This parameter is animatable. Replace Curve Lets you replace the parent curve. Click the button, then click the curve to replace the original parent curve. Creating and Editing NURBS Sub-Objects | 2605 U and V Iso Curves Select a NURBS object. ➤ Modify panel ➤ Create Curves rollout ➤ Dependent Curves group box ➤ U Iso Curve button or V Iso Curve button Select a NURBS object. ➤ (Create U Iso Curve) or Modify panel ➤ NURBS toolbox ➤ (Create V Iso Curve) U and V iso curves are dependent curves created from the iso (isoparametric) lines of a NURBS surface. You can use U and V iso curves to trim surfaces on page 2437. Iso curves in the U and V dimensions 2606 | Chapter 10 Surface Modeling Procedures To create an iso curve: ■ Turn on (Create U Iso Curve) or (Create V Iso Curve), then drag over the surface. The iso lines are highlighted in blue as you drag. Click to create the curve from the highlighted iso line. Interface Iso Curve rollout (creation time) Position Sets the iso curve's position along the U or V axis of the surface. This parameter is animatable. Trim Controls group Trim When on, trims the surface against the iso curve. Flip Trim When on, flips the direction of the trim. Creating and Editing NURBS Sub-Objects | 2607 Iso Curve rollout (modification time) Position Sets the iso curve's position along the U or V axis of the surface. This parameter is animatable. Trim Controls group Trim When on, trims the surface against the iso curve. Flip Trim When on, flips the direction of the trim. Replace Base Surface Lets you replace the parent surface. Click the button, then click the new surface on which to base the iso curve. Normal Projected Curve Select a NURBS object. ➤ Modify panel ➤ Create Curves rollout ➤ Dependent Curves group box ➤ Normal Proj. button Select a NURBS object. ➤ (Create Normal Projected Curve) 2608 | Chapter 10 Surface Modeling Modify panel ➤ NURBS toolbox ➤ A normal projected curve lies on a surface. It is based on an original curve, which is projected onto the surface in the direction of the surface's normals. You can use normal projected curves for trimming on page 2437. Trimming a surface with a normal projected curve If the projection intersects the surface in two or more locations, the intersection closest to the seed point is the one that creates the curve. Procedures To create a normal projected curve: The NURBS object must contain at least one surface and one cruve. 1 In the NURBS toolbox , turn on (Create Normal Projected Curve). 2 Click the curve, then click the surface where you want the normal projected curve to lie. If the curve can be projected onto the surface in the surface's normal direction, the projected curve is created. The original, parent curve can Creating and Editing NURBS Sub-Objects | 2609 go "off the edge of the surface." The projected curve is created only where the projection and the surface intersect. Interface Normal Projected Curve rollout (creation time) Trim Controls group Trim When on, trims the surface against the curve. When off, the surface isn’t trimmed. If it's impossible to trim with this curve, the surface is displayed in the error color (orange by default). For example, the curve is unusable for trimming if it neither crosses the edge of the surface nor forms a closed loop. Flip Trim When on, trims the surface in the opposite direction. U Seed and V Seed Change the UV location of the seed value on the surface. If there is a choice of projections, the projection closest to the seed point is the one used to create the curve. 2610 | Chapter 10 Surface Modeling Normal Projected Curve rollout (modification time) Trim Controls group Trim When on, trims the surface against the curve. When off, the surface isn’t trimmed. If it's impossible to trim with this curve, the surface is displayed in the error color (orange by default). For example, the curve is unusable for trimming if it neither crosses the edge of the surface nor forms a closed loop. Flip Trim When on, trims the surface in the opposite direction. U Seed and V Seed Change the UV location of the seed value on the surface. If there is a choice of projections, the projection closest to the seed point is the one used to create the curve. Replace Curve and Replace Surface Let you replace the parent sub-objects. Click a button, then click a curve or surface to replace the original parent object. Vector Projected Curve Select a NURBS object. ➤ Modify panel ➤ Create Curves rollout ➤ Dependent Curves group box ➤ Vector Proj. button Creating and Editing NURBS Sub-Objects | 2611 Select a NURBS object. ➤ (Create Vector Projected Curve) Modify panel ➤ NURBS toolbox ➤ A Vector Projected curve lies on a surface. This is almost the same as a Normal Projected curve, except that the projection from the original curve to the surface is in the direction of a vector that you can control. You can use vector projected curves for trimming on page 2437. Trimming a surface with a vector projected curve If the projection intersects the surface in two or more locations, the intersection closest to the seed point is the one that creates the curve. Procedures To create a vector projected curve: The NURBS object must contain at least one surface and one curve. 1 In the NURBS toolbox, turn on 2612 | Chapter 10 Surface Modeling (Create Vector Projected Curve). 2 Click the curve, then the surface where you want the vector projection curve to lie. The initial vector direction is in the view direction. That is, the vector points away from you as you look at the viewport. If the curve can be projected onto the surface in this direction, the projection curve is created. The original, parent curve can go "off the edge of the surface." The projection curve is created only where the projection and the surface intersect. Interface In viewports a gizmo (yellow by default) indicates the projection axis. Transforming the gizmo changes the projection onto the surface. Rotating the gizmo is the most useful transform. You can use rotation to adjust the distortion caused by projection. Vector Projected Curve rollout (creation time) Trim Controls group Trim When on, trims the surface against the curve. When off, the surface isn’t trimmed. If it's impossible to trim with this curve, the surface is displayed in the error color (orange by default). For example, the curve is unusable for trimming if it neither crosses the edge of the surface nor forms a closed loop. Flip Trim When on, trims the surface in the opposite direction. U Seed and V Seed Change the UV location of the seed value on the surface. If there is a choice of projections, the projection closest to the seed point is the one used to create the curve. Creating and Editing NURBS Sub-Objects | 2613 Vector Projected Curve rollout (modification time) Trim Controls group Trim When on, trims the surface against the curve. When off, the surface isn’t trimmed. If it's impossible to trim with this curve, the surface is displayed in the error color (orange by default). For example, the curve is unusable for trimming if it neither crosses the edge of the surface nor forms a closed loop. Flip Trim When on, trims the surface in the opposite direction. U Seed and V Seed Change the UV location of the seed value on the surface. If there is a choice of projections, the projection closest to the seed point is the one used to create the curve. Replace Curve and Replace Surface Let you replace the parent sub-objects. Click a button, then click a curve or surface to replace the original parent object. CV Curve on Surface Select a NURBS object. ➤ Modify panel ➤ Create Curves rollout ➤ Dependent Curves group box ➤ CV on Surf button 2614 | Chapter 10 Surface Modeling Select a NURBS object. ➤ (Create CV Curve on Surface) Modify panel ➤ NURBS toolbox ➤ A CV curve on surface is similar to a plain CV curve, but it lies on a surface. You create it by drawing rather than projecting from a different curve. You can use this curve type for trimming on page 2437 the surface on which it lies. Trimming a surface with a CV curve on surface There are two methods for drawing and editing curves on surfaces: drawing in a viewport, or using the Edit Curve on Surface dialog. The choice is useful because you draw in two dimensions, with a mouse or other pointing device, while the curve on a surface can exist in three dimensions. The more complex the 3D surface, the more effort it can require to create and edit a curve on a surface. Visual feedback can help you draw the curve. The point whose surface you first click is shown as a blue square, and the surface's minimum UV point is shown as a plus sign (+). As you draw the curve, it is displayed interactively in viewports. Drawing in a Viewport When you click to position a CV, the click is projected in the viewport's Z dimension. That is, your click is projected "through the screen" and onto the surface. This is a straightforward way to create a curve on a surface if the portion of the surface where the curve will lie is clearly visible in the viewport. However, this method doesn't let you place CVs on surface locations that are Creating and Editing NURBS Sub-Objects | 2615 not visible in the viewport (they are on back faces, lie behind other geometry, and so on). Using the Edit Curve on Surface Dialog The Edit Curve on Surface dialog on page 2740 lets you edit curves on surfaces as you edit regular curves in a viewport. The main part of the dialog is a two-dimensional view of the surface. The controls provide typical curve editing functions. While you are creating a CV curve on surface, the 2D View toggle controls display of the Edit Curve on Surface dialog. You can edit the CVs in CV curves on surfaces at the Curve CV sub-object level on page 2522, as you edit other kinds of curve CVs. You can transform CVs in CV curves on surfaces, but you can't move the CVs off the surface. Using the Curve CV sub-object level is an alternative to editing these CVs by using the Edit Curve on Surface dialog. Procedures To create a CV curve on surface: The NURBS object must contain at least one surface. 1 In the NURBS toolbox, turn on (Create CV Curve On Surface). 2 Do one of the following: ■ Draw the curve in the viewport, using the mouse above the surface. ■ Turn on 2D View. This displays an Edit Curve on Surface dialog, which lets you create the curve in a two-dimensional (UV) representation of the surface. 3 Right-click to end curve creation. 2616 | Chapter 10 Surface Modeling Interface CV Curve on Surface rollout (creation time) Trim Controls group Trim When on, trims the surface against the curve. When off, the surface isn’t trimmed. If it's impossible to trim with this curve, the surface is displayed in the error color (orange by default). For example, the curve is unusable for trimming if it doesn't form a closed loop. Flip Trim When on, trims the surface in the opposite direction. Automatic Reparameterization group The radio buttons in this group box let you choose automatic reparameterization. With reparameterization, the curve maintains its parameterization as you edit it. Without reparameterization, the curve's parameterization doesn't change as you edit it, and can become irregular. None Do not reparameterize. Chord Length Chooses the chord-length algorithm for reparameterization. Chord-length reparameterization spaces knots (in parameter space on page 9257) based on the square root of the length of each curve segment. Chord-length reparameterization is usually the best choice. Uniform Spaces the knots uniformly. Creating and Editing NURBS Sub-Objects | 2617 A uniform knot vector has the advantage that the curve will change only locally when you edit it. With the other two forms of parameterization, moving any CV can change the entire curve. 2D View When on, displays the Edit Curve on Surface dialog on page 2740, which lets you create the curve in a two-dimensional (UV) representation of the surface. CV Curve on Surface rollout (modification time) Trim Controls group Trim When on, trims the surface against the curve. When off, the surface isn’t trimmed. If it's impossible to trim with this curve, the surface is displayed in the error color (orange by default). For example, the curve is unusable for trimming if it doesn't form a closed loop. Flip Trim When on, trims the surface in the opposite direction. 2618 | Chapter 10 Surface Modeling Automatic Reparameterization group The radio buttons in this group box let you choose automatic reparameterization. With reparameterization, the curve maintains its parameterization as you edit it. Without reparameterization, the curve's parameterization doesn't change as you edit it, and can become irregular. None Do not reparameterize. Chord Length Chooses the chord-length algorithm for reparameterization. Chord-length reparameterization spaces knots (in parameter space on page 9257) based on the square root of the length of each curve segment. Chord-length reparameterization is usually the best choice. Uniform Spaces the knots uniformly. A uniform knot vector has the advantage that the curve will change only locally when you edit it. With the other two forms of parameterization, moving any CV can change the entire curve. Replace Surface Lets you replace the parent surface. Click a button, then click a surface to replace the original parent surface. Edit Click to display the Edit Curve on Surface dialog on page 2740, which lets you edit the curve in a two-dimensional (UV) representation of the surface. To edit multiple curves on a surface, select more than one CV curve sub-object on the same surface, then click Edit. Rebuild Displays the Rebuild CV Curve dialog on page 2755 to let you rebuild the CV curve on surface. Reparam Displays the Reparameterize dialog on page 2757 to let you reparameterize the CV curve on surface. Point Curve on Surface Select a NURBS object. ➤ Modify panel ➤ Create Curves rollout ➤ Dependent Curves group box ➤ Point on Surf button Select a NURBS object. ➤ (Create Point Curve on Surface) Modify panel ➤ NURBS toolbox ➤ Creating and Editing NURBS Sub-Objects | 2619 A point curve on surface is similar to a plain point curve, but it lies on a surface. You create it by drawing rather than projecting from a different curve. You can use this curve type for trimming on page 2437 the surface on which it lies. Trimming a surface with a point curve on surface There are two methods for drawing and editing curves on surfaces: drawing in a viewport, or using the Edit Curve on Surface dialog. The choice is useful because you draw in two dimensions, with a mouse or other pointing device, 2620 | Chapter 10 Surface Modeling while the curve on a surface can exist in three dimensions. The more complex the 3D surface, the more effort it can require to create and edit a curve on a surface. Visual feedback can help you draw the curve. The point whose surface you first click is shown as a blue square, and the surface's minimum UV point is shown as a plus sign (+). As you draw the curve, it is displayed interactively in viewports. Drawing in a Viewport When you click to position a point, the click is projected in the viewport's Z dimension. That is, your click is projected "through the screen" and onto the surface. This is a straightforward way to create a curve on a surface if the portion of the surface where the curve will lie is clearly visible in the viewport. However, this method doesn't let you place points on surface locations that are not visible in the viewport (they are on back faces, lie behind other geometry, and so on). Using the Edit Curve on Surface Dialog The Edit Curve on Surface dialog on page 2740 lets you edit curves on surfaces as you edit regular curves in a viewport. The main part of the dialog is a two-dimensional view of the surface. The controls provide typical curve editing functions. While you are creating a point curve on surface, the 2D View toggle controls display of the Edit Curve on Surface dialog. You can edit the points in point curves on surfaces at the Point sub-object level on page 2514, as you edit other kinds of points. You can transform points in point curves on surfaces, but you can't move the points off the surface. Using the Point sub-object level is an alternative to editing these points by using the Edit Curve on Surface dialog. Procedures To create a point curve on surface: The NURBS object must contain at least one surface. 1 In the NURBS toolbox, turn on (Create Point Curve On Surface). 2 Do one of the following: ■ Draw the curve in the viewport, using the mouse above the surface. Creating and Editing NURBS Sub-Objects | 2621 ■ Turn on 2D View. This displays an Edit Curve on Surface dialog, which lets you create the curve in a two-dimensional (UV) representation of the surface. 3 Right-click to end curve creation. Interface Point curves on surfaces have point sub-objects that you can transform and edit in viewports as you do with plain point curves. Point Curve on Surface rollout (creation time) Trim Controls group Trim When on, trims the surface against the curve. When off, the surface isn’t trimmed. If it's impossible to trim with this curve, the surface is displayed in the error color (orange by default). For example, the curve is unusable for trimming if it doesn't form a closed loop. Flip Trim When on, trims the surface in the opposite direction. 2D View When on, displays the Edit Curve on Surface dialog on page 2740, which lets you create the curve in a two-dimensional (UV) representation of the surface. 2622 | Chapter 10 Surface Modeling Point Curve on Surface rollout (modification time) Trim Controls group Trim When on, trims the surface against the curve. When off, the surface isn’t trimmed. If it's impossible to trim with this curve, the surface is displayed in the error color (orange by default). For example, the curve is unusable for trimming if it doesn't form a closed loop. Flip Trim When on, trims the surface in the opposite direction. Replace Surface Lets you replace the parent surface. Click a button, then click a surface to replace the original parent surface. Edit Click to display the Edit Curve on Surface dialog on page 2740, which lets you edit the curve in a two-dimensional (UV) representation of the surface. To edit multiple curves on a surface, select more than one point curve sub-object on the same surface, then click Edit. Surface Edge Curve Select a NURBS object. ➤ Modify panel ➤ Create Curves rollout ➤ Dependent Curves group box ➤ Surf Edge button Select a NURBS object. ➤ (Create Surface Edge Curve) Modify panel ➤ NURBS toolbox ➤ Creating and Editing NURBS Sub-Objects | 2623 A surface edge curve is a dependent curve type that lies on the boundary of the surface. It can be the original boundary of the surface, or a trim edge. Creating a curve from a surface edge Procedures To create a surface edge curve: The NURBS object must contain at least one surface. 1 In the NURBS toolbox, turn on (Create Surface Edge Curve). 2 As you move the mouse in the scene, NURBS surface edges are highlighted in blue. Click the edge where you want to create the curve. 2624 | Chapter 10 Surface Modeling Interface Surface Edge Curve rollout (creation time) Seed 1 and Seed 2 The curve resides on the edge closest to the two seed values. Adjust the seed values to change the edge on which the curve resides. Surface Edge Curve rollout (modification time) Seed 1 and Seed 2 The curve resides on the edge closest to the two seed values. Adjust the seed values to change the edge on which the curve resides. Replace Surface This lets you replace the parent surface. Click a button, then click a surface to replace the original parent surface. Creating Surface Sub-Objects Select a NURBS object. ➤ Select a NURBS object. ➤ Modify panel ➤ Create Surfaces rollout (NURBS Creation Toolbox) Creating and Editing NURBS Sub-Objects | 2625 Keyboard ➤ Ctrl+T to toggle NURBS toolbox display (Keyboard Shortcut Override Toggle must be on.) Surface sub-objects are either independent point and CV surfaces (like the top-level point and CV surfaces described in Point Surface and CV Surface), or they are dependent surfaces. Dependent surfaces are surface sub-objects whose geometry depends on other surfaces or curves in the NURBS model. When you change the geometry of the original, parent surface or curve, the dependent surface changes as well. You create surface sub-objects using the Create Surfaces rollout on the Modify panel for a NURBS surface, or using the NURBS toolbox on page 2443. 2626 | Chapter 10 Surface Modeling TIP Lathe and extrude surface sub-objects can be based on only a single curve. If you have dependent curves and want to use the set of curves (for example, two parents and a fillet between them) as the basis of an extrude or lathe surface, first go to the Curve sub-object level and use Join to connect the curves. Creation operations for dependent sub-objects require that you select one or more parent objects. In general, you can click and drag, or click and then click again. You can also use the H keyboard shortcut to open a Pick Object version of the Selection Floater on page 187 for choosing the parent. (The Keyboard Shortcut Override Toggle on page 9008 must be on for H to work this way.) Toolbox Buttons for Creating Surfaces These are the toolbox buttons for creating surface sub-objects: Create an independent CV surface sub-object on page 2628. Create an independent point surface sub-object on page 2632. Create a dependent transform surface on page 2634. Create a dependent blend surface on page 2637. Create a dependent offset surface on page 2644. Create a dependent mirror surface on page 2647. Create a dependent extrude surface on page 2651. Create a dependent lathe surface on page 2654. Create a dependent ruled surface on page 2663. Create a dependent cap surface on page 2666. Create a dependent U loft surface on page 2669. Creating and Editing NURBS Sub-Objects | 2627 Create a dependent UV loft surface on page 2679. Create a dependent 1-rail sweep surface on page 2686. Create a dependent 2-rail sweep surface on page 2696. Create a dependent multisided blend surface on page 2706. Create a dependent multicurve trimmed surface on page 2707. Create a dependent fillet surface on page 2712. CV Surface Sub-Object Select a NURBS object. ➤ ➤ CV Surf Select A nurbs object. ➤ (Create CV Surface) Modify panel ➤ Create Surfaces rollout Modify panel ➤ NURBS toolbox ➤ Select a NURBS object. ➤ Modify panel ➤ Right-click a viewport. ➤ Tools 2 (lower-left) quadrant ➤ Create CV Surface CV surface sub-objects are similar to object-level CV surfaces on page 2477. See also: ■ Editing Surface Sub-Objects on page 2550 ■ NURBS Surface Approximation on page 2762 2628 | Chapter 10 Surface Modeling Procedures To create a CV surface sub-object: 1 In the NURBS toolbox, (Create CV Surface). 2 In a viewport, drag to specify the initial area of the CV surface. 3 Adjust the CV surface's creation parameters. Interface The parameters that appear when you create a CV surface sub-object differ from those you see when you modify it as a sub-object. CV Surface rollout (creation time) Length The length of the surface in current 3ds Max units. Width The width of the surface in current 3ds Max units. Creating and Editing NURBS Sub-Objects | 2629 Length Points The number of points along the length of the surface. In other words, the initial number of point columns in the surface. Range=2 to 50. Default=4. Width Points The number of points along the width of the surface. In other words, the initial number of point rows in the surface. Range=2 to 50. Default=4. Generate Mapping Coordinates Generates mapping coordinates so you can apply mapped materials to the surface. Flip Normals Turn on to reverse the direction of the surface normals. Automatic Reparameterization group The radio buttons in this group box let you choose automatic reparameterization. With reparameterization, the surface maintains its parameterization as you edit it. Without reparameterization, the surface's parameterization doesn't change as you edit it, and can become irregular. None Do not reparameterize. Chord Length Chooses the chord-length algorithm for reparameterization. Chord-length reparameterization spaces knots (in parameter space on page 9257) based on the square root of the length of each curve segment. Chord-length reparameterization is usually the best choice. Uniform Spaces the knots uniformly. A uniform knot vector has the advantage that the surface will change only locally when you edit it. With the other two forms of parameterization, moving any CV can change the entire surface. 2630 | Chapter 10 Surface Modeling CV Surface rollout (modification time) U Degree and V Degree Let you set the degree of the surface in either the U or V dimension. The higher the degree value, the greater the continuity. The lower the degree, the more discontinuous the surface segments become. The degree can't be less than one or greater than the number allowed by the number of CVs in the specified dimension. Degree 3 is adequate to represent continuous surfaces, and is stable and well behaved. Default=3. Setting the degree greater than 3 isn't recommended, because higher degrees are slower to calculate and less stable numerically. Higher degrees are supported primarily to be compatible with models created using other surface modeling programs. The number of CVs in a given dimension must be at least one greater than that dimension's degree. Automatic Reparameterization group The radio buttons in this group box let you choose automatic reparameterization. With reparameterization, the surface maintains its parameterization as you edit it. Without reparameterization, the surface's parameterization doesn't change as you edit it, and can become irregular. None Do not reparameterize. Chord Length Chooses the chord-length algorithm for reparameterization. Creating and Editing NURBS Sub-Objects | 2631 Chord-length reparameterization spaces knots (in parameter space on page 9257) based on the square root of the length of each curve segment. Chord-length reparameterization is usually the best choice. Uniform Spaces the knots uniformly. A uniform knot vector has the advantage that the surface will change only locally when you edit it. With the other two forms of parameterization, moving any CV can change the entire surface. The close controls let you close a surface. They appear on the Point Surface rollout while an independent point surface sub-object is selected. They have no effect if the surface is already closed in that direction. Close Rows Closes the surface by joining the ends of its rows. Close Cols. Closes the surface by joining the ends of its columns. Rebuild Displays the Rebuild CV Surface dialog on page 2756, which lets you specify how to rebuild the surface. Rebuilding the surface can change its appearance. Reparameterize Displays the Reparameterize dialog on page 2757. Reparameterizing a surface changes the surface's parameter space on page 9257 to provide a better relation between control point locations and the shape of the surface. TIP It is a good idea to reparameterize after you have added CVs to the surface by refining or inserting. Point Surface Sub-Object Select a NURBS object. ➤ ➤ Point Surf Select a NURBS object. ➤ (Create Point Surface) Modify panel ➤ Create Surfaces rollout Modify panel ➤ NURBS toolbox ➤ Select a NURBS object. ➤ Modify panel ➤ Right-click a viewport. ➤ Tools 2 (lower-left) quadrant ➤ Create Point Surface 2632 | Chapter 10 Surface Modeling Point surface sub-objects are similar to object-level point surfaces on page 2473. The points are constrained to lie on the surface. See also: ■ Editing Surface Sub-Objects on page 2550 ■ NURBS Surface Approximation on page 2762 Procedures To create a point surface sub-object: 1 In the NURBS toolbox, turn on (Create Point Surface). 2 In a viewport, drag to specify the initial area of the point surface. 3 Adjust the point surface's creation parameters. Interface The parameters that appear when you create a point surface sub-object differ from those you see when you modify it as a sub-object. Point Surface rollout (creation time) Length The length of the surface in current 3ds Max units. Width The width of the surface in current 3ds Max units. Creating and Editing NURBS Sub-Objects | 2633 Length Points The number of points along the length of the surface. In other words, the initial number of point columns in the surface. Range=2 to 50. Default=4. Width Points The number of points along the width of the surface. In other words, the initial number of point rows in the surface. Range=2 to 50. Default=4. Generate Mapping Coordinates Generates mapping coordinates so you can apply mapped materials to the surface. Flip Normals Turn on to reverse the direction of the surface normals. Point Surface rollout (modification time) The close controls let you close a surface. They appear on the Point Surface rollout while an independent point surface sub-object is selected. They have no effect if the surface is already closed in that direction. Close Rows Closes the surface by joining the ends of its rows. Close Cols. Closes the surface by joining the ends of its columns. Transform Surface Select a NURBS object. ➤ Modify panel ➤ Create Surfaces rollout Dependent Surfaces group box ➤ Transform Select a NURBS object. ➤ (Create Transform Surface) Modify panel ➤ NURBS toolbox ➤ A transform surface is a copy of the original surface with a different position, rotation, or scale. 2634 | Chapter 10 Surface Modeling Surface created as a transform Procedures To create a transform surface: The NURBS object must contain at least one surface. ■ In the NURBS toolbox, turn on (Create Transform Surface). To move the transform surface, click and drag the surface you want to duplicate. To rotate or scale the transform surface, click the parent surface, go to the Surface sub-object level in the modifier stack, and then rotate or scale the transform surface. When you use Move to create the transform surface, it simply copies the parent. (It doesn't exaggerate curvature as an offset surface does.) Axis constraints don't apply to the creation of transform surfaces. You can click to create the surface in place; then once it is created, transform it using constraints. Creating and Editing NURBS Sub-Objects | 2635 You can later transform the transform surface as a surface sub-object, and you can animate surface sub-object transforms. Interface Creation time At creation time, there is only one parameter. Flip Normals Flips the surface normals After creation, you can flip normals using controls on the Surface Common rollout. Transform Surface rollout (modification time) Replace Base Surface Lets you replace the parent surface. Click the button, then click the surface to replace the original surface. 2636 | Chapter 10 Surface Modeling Blend Surface Select a NURBS object. ➤ Modify panel ➤ Create Surfaces rollout ➤ Dependent Surfaces group box ➤ Blend Select a NURBS object. ➤ (Create Blend Surface) Modify panel ➤ NURBS toolbox ➤ A blend surface connects one surface to another, blending the curvature of the parent surfaces to create a smooth surface between them. You can also blend from a surface to a curve, or from a curve to a curve. Blend surface connecting two other surfaces Creating and Editing NURBS Sub-Objects | 2637 Procedures To create a blend surface: The NURBS object must contain at least two surfaces, two curves, or a surface and a curve. 1 In the NURBS toolbox, turn on (Create Blend Surface). 2 Click one surface near the edge that you want to connect. The edge that will be connected is highlighted in blue. Drag to choose the other edge you want to connect. When the edge you want is highlighted, click and then drag to the other surface. The edge of the other surface is also highlighted in blue. Drag on the other surface to choose the edge to connect, and then release the mouse button to create the blend surface. The surface that owns the highlighted edge is highlighted in yellow, to help you distinguish which edge you are choosing when two surfaces have coincident edges. The blend surface is created. Changing the position or the curvature of either parent surface will change the blend surface as well. 3 Adjust the blend parameters. Interface While a blend surface sub-object is selected, a rollout with the blend parameters is displayed at the bottom of the Modify panel. 2638 | Chapter 10 Surface Modeling Blend Surface rollout (creation time) "Tension" affects the tangent between a parent surface and the blend surface. The greater the tension value, the more closely the tangent parallels the parent surface, and the smoother the transition. The lower the tension, the greater the tangent angle and the sharper the transition between parent and blend. Tension 1 Controls tension at the edge of the first surface you clicked. This value has no effect if the edge is a curve. Tension 2 Controls tension at the edge of the second surface you clicked. This value has no effect if the edge is a curve. Creating and Editing NURBS Sub-Objects | 2639 A. Tension 1=0, Tension 2=10 B. Tension 1=1, Tension 2=1 C. Tension 1=10, Tension 2=0 D. Tension 1=0, Tension 2=0 Flip End 1 and Flip End 2 Flip one of the normals used to construct the blend. A blend surface is created using the normals of the parent surfaces. If the two parents have opposing normals, or if a curve has the opposite direction, the blend surface can be shaped like a bow tie. To correct the situation, use Flip End 1 or Flip End 2 to construct the blend using a normal opposite the corresponding parent surface's normal. 2640 | Chapter 10 Surface Modeling A. No flipping B. End 2 is flipped. Flip Tangent 1 and Flip Tangent 2 Flip the tangent at the edge of the first or second curve or surface. Flipping the tangent reverses the direction in which the blend surface approaches the parent sub-object at that edge. Flipping the tangent has no effect if the edge is a curve, unless the curve is a curve on surface. When you blend to a CV or point curve on surface, the new blend surface is tangent to the surface on which the curve on surface lies. The Flip Tangent controls are especially useful in this situation. Creating and Editing NURBS Sub-Objects | 2641 A. Tangent 1 flipped B. Tangent 2 flipped Start Point 1 and Start Point 2 Adjust the position of the start point at the two edges of the blend. Adjusting the start points can help eliminate unwanted twists or "buckles" in the surface. These spinners are unavailable if the edges or curves are not closed. While you're adjusting start points, a dotted blue line is displayed between them, to show the alignment. The surface is not displayed, so it doesn't slow down adjustment. When you release the mouse button, the surface reappears. Flip Normals Turn on to reverse the direction of the blend surface normals. 2642 | Chapter 10 Surface Modeling Blend Surface rollout (modification time) "Tension" affects the tangent between a parent surface and the blend surface. The greater the tension value, the more closely the tangent parallels the parent surface, and the smoother the transition. The lower the tension, the greater the tangent angle and the sharper the transition between parent and blend. Tension 1 Controls tension at the edge of the first surface you clicked. This value has no effect if the edge is a curve. Tension 2 Controls tension at the edge of the second surface you clicked. This value has no effect if the edge is a curve. Flip End 1 and Flip End 2 Flip one of the normals used to construct the blend. A blend surface is created using the normals of the parent surfaces. If the two parents have opposing normals, or if a curve has the opposite direction, the blend surface can be shaped like a bow tie. To correct the situation, use Flip End 1 or Flip End 2 to construct the blend using a normal opposite the corresponding parent surface's normal. Flip Tangent 1 and Flip Tangent 2 Flip the tangent at the edge of the first or second curve or surface. Flipping the tangent reverses the direction in which the blend surface approaches the parent sub-object at that edge. Creating and Editing NURBS Sub-Objects | 2643 Flipping the tangent has no effect if the edge is a curve, unless the curve is a curve on surface. When you blend to a CV or point curve on surface, the new blend surface is tangent to the surface on which the curve on surface lies. The Flip Tangent controls are especially useful in this situation. Start Point 1 and Start Point 2 Adjust the position of the start point at the two edges of the blend. Adjusting the start points can help eliminate unwanted twists or "buckles" in the surface. These spinners are unavailable if the edges or curves are not closed. While you're adjusting start points, a dotted blue line is displayed between them, to show the alignment. The surface is not displayed, so it doesn't slow down adjustment. When you release the mouse button, the surface reappears. Replace First Edge and Replace Second Edge Let you replace the parent edges or curves. Click a button, then click the edge to replace the original first or second edge. The edge can be on the same surface as the original edge, or on a different surface. Offset Surface Select a NURBS object. ➤ Modify panel ➤ Create Surfaces rollout ➤ Dependent Surfaces group box ➤ Offset Select a NURBS object. ➤ Modify panel ➤ NURBS toolbox ➤ (Create Offset Surface) An Offset surface is offset a specified distance from the original along the parent surface's normals. 2644 | Chapter 10 Surface Modeling Surface created as an offset Procedures To create an offset surface: The NURBS object must contain at least one surface. 1 In the NURBS toolbox, turn on (Create Offset Surface). 2 Click the surface you want to offset, and drag to set the initial distance of the offset surface. The offset surface is created. 3 Adjust the Offset parameter. Interface While an offset surface sub-object is selected, a rollout with the offset Distance parameter is displayed at the bottom of the Modify panel. Creating and Editing NURBS Sub-Objects | 2645 Offset Surface rollout (creation time) Offset The distance between the parent surface and the offset surface, in 3ds Max units. If the parent surface is planar, the appearance of the offset surface doesn't change with distance. If the parent surface is curved, increasing the offset value increasingly exaggerates the curvature of the offset surface. Flip Normals Lets you flip the surface normals at creation time. (After creation, you can flip normals using controls on the Surface Common rollout.) Cap When on, eight boundary curves are generated (four at the four edges of each surface), and then generates four ruled surfaces to connect the two original surfaces. While they are present, cap surfaces are maintained so they match the dimensions of the offset and its parent. The Cap check box appears only on the creation rollout. If you want to remove the caps later, simply select them as surface sub-objects and delete them. Think of offset capping as a workflow shortcut rather than a property (or parameter) of offset surfaces. To flip the normal of an offset cap, select it as a surface sub-object and use the Flip Normals toggle on the Surface Common rollout. NOTE If you trim the original surface, or make the offset surface independent and then trim it, the capping surfaces will look strange. 2646 | Chapter 10 Surface Modeling Offset Surface rollout (modification time) Offset The distance between the parent surface and the offset surface in 3ds Max units. If the parent surface is planar, the appearance of the offset surface doesn't change with distance. If the parent surface is curved, increasing the offset value increasingly exaggerates the curvature of the offset surface. Replace Base Surface Lets you replace the parent surface. Click the button, then click the new surface on which to base the offset. Mirror Surface Select a NURBS object. ➤ Modify panel ➤ Create Surfaces rollout ➤ Dependent Surfaces group box ➤ Mirror Select a NURBS object. ➤ (Create Mirror Surface) Modify panel ➤ NURBS toolbox ➤ A mirror surface is a mirror image of the original surface. Creating and Editing NURBS Sub-Objects | 2647 Surface created as a mirror Procedures To create a mirror surface: The NURBS object must contain at least one surface. 1 In the NURBS toolbox, turn on (Create Mirror Surface). 2 On the Mirror Surface rollout, choose the axis or plane you want to use. 3 Click the surface you want to mirror, and drag to set the initial distance of the mirror surface. The mirror surface is created. A gizmo (yellow by default) indicates the direction of mirroring. Transforming the mirror surface's gizmo changes the orientation of the mirror, letting you mirror along an axis that isn't aligned with a local coordinate axis. The Flip Normals control lets you flip the surface normals at creation time. (After creation, you can flip normals using controls on the Surface Common rollout.) 2648 | Chapter 10 Surface Modeling 4 Adjust the Offset parameter. Interface While a mirror surface sub-object is selected, the Mirror Surface rollout appears at the bottom of the Modify panel. Also, a gizmo (yellow by default) indicates the mirror axis. Mirror Surface rollout (creation time) Mirror Axis group The Mirror Axis buttons control the direction in which the original surface is mirrored. You can't transform the mirror surface directly (that would simply transform the mirror surface and its parent surface at the same time). You transform it by transforming its gizmo. By using transforms you can mirror about an arbitrary axis, rather than using one of the Mirror Axis presets. When you transform a mirror surface, you are actually transforming the mirror plane, so Rotate has the effect of rotating the plane about which the surface is mirrored. (This is like rotating the mirror gizmo in the Mirror modifier.) TIP A convenient way to guarantee that a surface is symmetrical is to create one side of the surface, mirror that surface, and then create a blend between the two sides. Offset Controls the mirror's distance from the original surface. This parameter is animatable. Flip Normals Lets you flip the surface normals. Creating and Editing NURBS Sub-Objects | 2649 Mirror Surface rollout (modification time) Mirror Axis group The Mirror Axis buttons control the direction in which the original surface is mirrored. You can't transform the mirror surface directly (that would simply transform the mirror surface and its parent surface at the same time). You transform it by transforming its gizmo. By using transforms you can mirror about an arbitrary axis, rather than using one of the Mirror Axis presets. When you transform a mirror surface, you are actually transforming the mirror plane, so Rotate has the effect of rotating the plane about which the surface is mirrored. (This is like rotating the mirror gizmo in the Mirror modifier.) TIP A convenient way to guarantee that a surface is symmetrical is to create one side of the surface, mirror that surface, and then create a blend between the two sides. Offset Controls the mirror's distance from the original surface. This parameter is animatable. Replace Base Surface Lets you replace the parent surface. Click the button, then click the new surface on which to base the mirror. 2650 | Chapter 10 Surface Modeling Extrude Surface Select a NURBS object. ➤ Modify panel ➤ Create Surfaces rollout ➤ Dependent Surfaces group box ➤ Extrude Select a NURBS object. ➤ (Create Extrude Surface) Modify panel ➤ NURBS toolbox ➤ An extrude surface is extruded from a curve sub-object. It is similar to a surface created with the Extrude modifier. The advantage is that an extrude sub-object is part of the NURBS model, so you can use it to construct other curve and surface sub-objects. Surface extruded from a curve Creating and Editing NURBS Sub-Objects | 2651 Procedures To create an extrude surface: The NURBS object must contain at least one curve. 1 In the NURBS toolbox, turn on (Create Extrude Surface). 2 Move the cursor over the curve to extrude, and drag to set the initial amount. By default, the surface extrudes along the NURBS model's local Z axis. A gizmo (yellow by default) indicates the direction of extrusion. Transforming the extrude surface's gizmo changes the direction of the extrude, letting you extrude along an axis that isn't aligned with a local coordinate axis. The Flip Normals control lets you flip the surface normals at creation time. (After creation, you can flip normals using controls on the Surface Common rollout.) 3 Adjust the extrusion parameters. Interface While an extrude sub-object is selected, a rollout with the extrusion parameters is displayed at the bottom of the Modify panel. Extrude Surface rollout (creation time) 2652 | Chapter 10 Surface Modeling Amount The distance the surface is extruded from the parent curve in current 3ds Max units. This parameter is animatable. Direction group X, Y and Z Choose the axis of extrusion. Default=Z. Start Point Adjusts the position of the curve's start point. This can help eliminate unwanted twists or "buckles" in the surface. This control is disabled if the curve is not a closed curve. The start point is displayed as a blue circle. Flip Normals Lets you flip the surface normals at creation time. (After creation, you can flip normals using controls in the Surface Common rollout.) Cap When on, two surfaces are generated to close the ends of the extrusion. While they are present, the cap surfaces are maintained so they match the dimensions of the extrude surface. The parent curve must be a closed curve. The Cap check box appears only on the creation rollout. If you want to remove the caps later, simply select them as surface sub-objects and delete them. Think of extrude capping as a workflow shortcut rather than a property (or parameter) of extrude surfaces. To flip the normal of an extrude cap, select it as a Surface sub-object and use the Flip Normals toggle on the Surface Common rollout. Extrude Surface rollout (modification time) Creating and Editing NURBS Sub-Objects | 2653 Amount The distance the surface is extruded from the parent curve in current 3ds Max units. Direction group X, Y and Z Choose the axis of extrusion. Default=Z. Start Point Adjusts the position of the curve's start point. This can help eliminate unwanted twists or "buckles" in the surface. This control is disabled if the curve is not a closed curve. The start point is displayed as a blue circle. Replace Base Curve Lets you replace the parent curve. Click the button, then click the new curve on which to base the extruded surface. Lathe Surface Select a NURBS object. ➤ Modify panel ➤ Create Surfaces rollout ➤ Dependent Surfaces group box ➤ Lathe Select a NURBS object. ➤ (Create Lathe Surface) Modify panel ➤ NURBS toolbox ➤ A lathe surface is generated from a curve sub-object. It is similar to a surface created with the Lathe modifier. The advantage is that a lathe sub-object is part of the NURBS model, so you can use it to construct other curve and surface sub-objects. 2654 | Chapter 10 Surface Modeling Surface created by lathing a curve Procedures To create a lathe surface: The NURBS object must contain at least one curve. 1 In the NURBS toolbox, turn on (Create Lathe Surface). 2 Click the curve to lathe. The lathe surface rotates about the NURBS model's local Y axis. The initial lathe amount is 360 degrees. A gizmo (yellow by default) indicates the axis of the lathe. Transforming the lathe surface's gizmo changes the shape of the lathe, and lets you lathe around an axis that isn't aligned with a local coordinate axis. Creating and Editing NURBS Sub-Objects | 2655 The Flip Normals control lets you flip the surface normals at creation time. (After creation, you can flip normals using controls on the Surface Common rollout.) 3 Adjust the lathe parameters. Interface While a lathe sub-object is selected, a rollout with the lathe parameters is displayed at the bottom of the Modify panel. 2656 | Chapter 10 Surface Modeling Lathe Surface rollout (creation time) Degrees Sets the angle of rotation. At 360 degrees (the default), the surface completely surrounds the axis. At lower values, the surface is a partial rotation. Creating and Editing NURBS Sub-Objects | 2657 A partial lathe (degrees=225) Direction group X, Y, and Z Choose the axis of rotation. Default=Y. 2658 | Chapter 10 Surface Modeling X, Y, and Z rotations of the same curve Align group These buttons position the axis of rotation relative to the curve. Min (The default.) Locates the lathe axis at the curve's negative local X-axis boundary. Center Locates the lathe axis at the curve's center. Max Locates the lathe axis at the curve's positive local X-axis boundary. Creating and Editing NURBS Sub-Objects | 2659 Min, Center, and Max lathes of the same curve Start Point Adjusts the position of the curve's start point. This can help eliminate unwanted twists or "buckles" in the surface. This control is disabled if the curve is not a closed curve. The start point is displayed as a blue circle. Flip Normals Lets you flip the surface normals at creation time. (After creation, you can flip normals using controls on the Surface Common rollout.) Cap When on, two surfaces are generated to close the ends of the lathe. While they are present, the cap surfaces are maintained so they match the dimensions of the lathe surface. The lathe must be a 360-degree lathe. The Cap check box appears only on the creation rollout. If you want to remove the caps later, simply select them as surface sub-objects and delete them. Think of lathe capping as a workflow shortcut rather than a property (or parameter) of lathe surfaces. To flip the normal of a lathe cap, select it as a Surface sub-object and use the Flip Normals toggle on the Surface Common rollout. 2660 | Chapter 10 Surface Modeling Adding a cap to a partial lathe Creating and Editing NURBS Sub-Objects | 2661 Lathe Surface rollout (modification time) Degrees Sets the angle of rotation. At 360 degrees (the default), the surface completely surrounds the axis. At lower values, the surface is a partial rotation. Direction group X Y and Z Choose the axis of rotation. Default=Y. Align group These buttons position the axis of rotation relative to the curve. Min (The default.) Locates the lathe axis at the curve's negative local X-axis boundary. Center Locates the lathe axis at the curve's center. Max Locates the lathe axis at the curve's positive local X-axis boundary. Start Point Adjusts the position of the curve's start point. This can help eliminate unwanted twists or "buckles" in the surface. This control is disabled if the curve is not a closed curve. The start point is displayed as a blue circle. Replace Base Curve Lets you replace the parent curve. Click the button, then click the new surface on which to base the lathed surface. 2662 | Chapter 10 Surface Modeling Ruled Surface Select a NURBS object. ➤ Modify panel ➤ Create Surfaces rollout ➤ Dependent Surfaces group box ➤ Ruled Select a NURBS object. ➤ (Create Ruled Surface) Modify panel ➤ NURBS toolbox ➤ A ruled surface is generated from two curve sub-objects. It lets you use curves to design the two opposite borders of a surface. Using two curves to create a ruled surface You can animate the parent curves or their CVs to change the ruled surface. Automatic Curve Attachment When you create a ruled surface, you can select curves that are not already sub-objects of the active NURBS model. You can select another curve or spline Creating and Editing NURBS Sub-Objects | 2663 Splines object in the scene. When you select that curve, it attaches to the current object as if you had used the Attach button on page 2509. WARNING If the curve you attach is a sub-object of another NURBS model, the entire model (that is, the curve's parent NURBS object) is attached as well. As you move the mouse over a curve that is not part of the active NURBS object, the cursor changes shape to indicate that you can pick the curve, but the curve is not highlighted in blue. Procedures To create a ruled surface: The NURBS object must contain at least two curves. 1 In the NURBS toolbox, turn on (Create Ruled Surface). 2 Drag from one curve to the other. You can also click first one curve, then the other. A dependent surface is generated, using the two curves as the surface's opposite edges. The perpendicular edges are generated automatically. The Flip Normals control lets you flip the surface normals at creation time. (After creation, you can flip normals using controls on the Surface Common rollout.) 2664 | Chapter 10 Surface Modeling Interface When you turn on the Ruled button, and while a ruled surface sub-object is selected, a rollout with the ruled surface parameters is displayed at the bottom of the Modify panel. Ruled Surf rollout (creation time) Flip Beginning and Flip End Flip one of the curve directions used to construct the ruled surface. A ruled surface is created using the directions of the parent curves. If the two parents have opposing directions, the ruled surface can be shaped like a bow tie. To correct the situation, use Flip Beginning or Flip End to construct the ruled surface using a direction opposite the corresponding parent curve's direction. These controls eliminate the need to reverse the curve. Start Point 1 and Start Point 2 Adjust the position of the start point at the two curves that specify the ruled surface. Adjusting the start points can help eliminate unwanted twists or "buckles" in the surface. These spinners are disabled if the edges or curves are not closed. While you're adjusting start points, a dotted blue line is displayed between them, to show the alignment. The surface is not displayed, so it doesn't slow down adjustment. When you release the mouse button, the surface reappears. Flip Normals Turn on to reverse the direction of the ruled surface's normals. Creating and Editing NURBS Sub-Objects | 2665 Ruled Surf rollout (modification time) Flip Beginning and Flip End Flip one of the curve directions used to construct the ruled surface. A ruled surface is created using the directions of the parent curves. If the two parents have opposing directions, the ruled surface can be shaped like a bow tie. To correct the situation, use Flip Beginning or Flip End to construct the ruled surface using a direction opposite the corresponding parent curve's direction. These controls eliminate the need to reverse the curve. Start Point 1 and Start Point 2 Adjust the position of the start point at the two curves that specify the ruled surface. Adjusting the start points can help eliminate unwanted twists or "buckles" in the surface. These spinners are disabled if the edges or curves are not closed. While you're adjusting start points, a dotted blue line is displayed between them, to show the alignment. The surface is not displayed, so it doesn't slow down adjustment. When you release the mouse button, the surface reappears. Replace First Curve and Replace Second Curve Let you replace the parent curves. Click a button, then click the curve to replace the original first or second curve. Cap Surface Select a NURBS object. ➤ Modify panel ➤ Create Surfaces rollout ➤ Dependent Surfaces group box ➤ Cap 2666 | Chapter 10 Surface Modeling Select a NURBS object. ➤ (Create Cap Surface) Modify panel ➤ NURBS toolbox ➤ This command creates a surface that caps a closed curve or the edge of a closed surface. Caps are especially useful with extruded surfaces. Capping an extrude surface Procedures To create a cap surface: The NURBS object must contain at least one closed curve. 1 In the NURBS toolbox, turn on (Create Cap Surface). 2 Move the mouse over the closed curve or the closed edge of a closed surface. If the cap can be created, the curve or edge is highlighted in blue. 3 Click the highlighted curve or edge. Creating and Editing NURBS Sub-Objects | 2667 The Flip Normals control lets you flip the surface normals at creation time. (After creation, you can flip normals using controls on the Surface Common rollout.) Interface While a cap surface sub-object is selected, a rollout with cap surface controls is displayed at the bottom of the Modify panel. Cap Surface rollout (creation time) Flip Normals Turn on to reverse the direction of the cap surface's normals. Start Point Adjusts the position of the edge or curve's start point. The start point is displayed as a blue circle. Cap Surface rollout (modification time) Replace Curve Lets you replace the parent curve or edge. Click the button, then click the new curve or edge on which to base the cap. 2668 | Chapter 10 Surface Modeling Start Point Adjusts the position of the edge or curve's start point. The start point is displayed as a blue circle. U Loft Surface Select a NURBS object. ➤ Modify panel ➤ Create Surfaces rollout ➤ Dependent Surfaces group box ➤ U Loft Select a NURBS object. ➤ (Create U Loft Surface) Modify panel ➤ NURBS toolbox ➤ A U loft surface interpolates a surface across multiple curve sub-objects. The curves become U-axis contours of the surface. Using multiple curves to create a U Loft surface Creating and Editing NURBS Sub-Objects | 2669 Tips ■ A U loft can be an extremely dense surface. To improve performance while working with viewports, set the surface approximation on page 2762 for viewports to Curvature Dependent. ■ You can speed up U loft creation by making sure that the curves you loft have the same number of CVs in the same order (that is, the curves point in the same direction). Also, CV curves have a performance advantage over point curves. ■ Turning off display of dependent sub-objects, including the U loft itself, also speeds up interactive performance when you create a U loft. The default keyboard toggle for dependent sub-object display is Ctrl+D (the Keyboard Shortcut Override Toggle on page 9008 button must be on.) Closed U lofts Automatic Curve Attachment When you create a U loft, you can select curves that are not already sub-objects of the active NURBS model. You can select another curve or spline on page 2670 | Chapter 10 Surface Modeling 511 object in the scene. When you select that curve, it is automatically attached to the current object as if you had used the Attach button. WARNING If the curve you attach is a sub-object of another NURBS model, the entire model (that is, the curve's parent NURBS object) is attached as well. As you move the mouse over a curve that is not part of the active NURBS object, the cursor changes shape to indicate you can pick the curve, but the curve is not highlighted in blue. Procedures To create a U loft surface: The NURBS object must contain at least two curves. 1 In the NURBS toolbox, turn on (Create U Loft Surface). 2 Click the first curve. 3 Click additional curves in succession. Creating and Editing NURBS Sub-Objects | 2671 The U loft is created. It is "stretched" across the curves you click. The order in which you click the curves can affect the shape of the U loft surface. The names of the curves appear in the U Loft Surface creation rollout. While creating a U loft, you can press Backspace to remove the last curve you clicked from the list of U loft curves. 2672 | Chapter 10 Surface Modeling The Flip Normals control lets you flip the surface normals at creation time. (After creation, you can flip normals using controls on the Surface Common rollout.) 4 Right-click to end U loft creation. To create a U loft with automatic attach (example): 1 Go to the Create panel and create three or more independent CV or Point NURBS curves. 2 Go to the Modify panel. In the NURBS toolbox, click to turn on (Create U Loft Surface). 3 Click the curves in the appropriate order for the loft. 3ds Max creates the U loft. You don't have to collapse the curves to a NURBS surface, or attach them to an existing NURBS model on page 2509. As you move the mouse over a curve that is not part of the active NURBS object, the cursor changes shape to indicate you can pick the curve, but the curve is not highlighted in blue. Interface While a U loft sub-object is selected, a rollout with the U loft parameters is displayed at the bottom of the Modify panel. This rollout appears only when one U loft sub-object is selected. It isn't possible to edit more than one U loft at a time, so unlike some other NURBS sub-objects, the rollout doesn’t appear when multiple U loft sub-objects are selected. When you create lofted and swept surfaces, you have access to all the parameters, and some of the editing operations, of the surface. You can reverse and set start points on curves while you create the surface. You can also use the arrow buttons to change the order of the curves, and you can remove a curve with the Remove button. TIP When you edit a U loft sub-object, close the Surface Common rollout to see the U Loft Surface rollout more easily. Creating and Editing NURBS Sub-Objects | 2673 U Loft Surface rollout (creation time) U Curves This list shows the name of the curves you click in the order you click them. You can select curves by clicking their names. Viewports display the selected curve in blue. Initially the first curve is the one selected. You can also select more than one curve at a time. This is useful when you use the Edit Curves button. 2674 | Chapter 10 Surface Modeling Arrow Buttons Use these to change the order of curves used to construct the U loft. Select a curve in the list, and then use the arrows to move the selection up or down. These buttons are available at creation time. Curve Properties group These controls affect individual curves you select in the U Curves list, as opposed to properties of the loft surface in general. They are enabled only when you have selected a curve in the U Curves list. Reverse When set, reverses the direction of the selected curve. Start Point Adjusts the position of the curve's start point. This control is disabled if the curve is not a closed curve. While you're adjusting start points, a dotted blue line is displayed between them, to show the alignment. The surface is not displayed, so it doesn't slow down adjustment. When you release the mouse button, the surface reappears. Tension Adjusts the tension of the loft where it intersects that curve. Use COS Tangents If the curve is a curve on surface, turning on this toggle causes the U loft to use the tangency of the surface. This can help you blend a loft smoothly onto a surface. Default=off. This toggle is disabled unless the curve is a point or CV curve on surface. Flip Tangents Reverses the direction of the tangents for that curve. This toggle is disabled unless the curve is a point or CV curve on surface and Use COS Tangents is on. Auto Align Curve Starts (Disabled.) Close Loft (Disabled.) Insert (Disabled.) Remove Removes a curve from the U loft surface. Select the curve in the list, and then click Remove. This button is available at creation time. Refine (Disabled.) Replace (Disabled.) Display While Creating When on, the U loft surface is displayed while you create it. When off, the loft is created more quickly. Default=off. Creating and Editing NURBS Sub-Objects | 2675 Flip Normals Reverses the direction of the U loft's normals. U Loft Surface rollout (modification time) U Curves This list shows the name of the curves you click, in the order you click them. You can select curves by clicking their names in this list. Viewports display the selected curve in blue. Initially the first curve is the one selected. 2676 | Chapter 10 Surface Modeling You can also select more than one curve at a time. This is useful when you use the Edit Curves button. Arrow Buttons Use these to change the order of curves used to construct the U loft. Select a curve in the list, and then use the arrows to move the selection up or down. These buttons are available at creation time. Curve Properties group These controls affect individual curves you select in the U Curves list, as opposed to properties of the loft surface in general. They are enabled only when you have selected a curve in the U Curves list. Reverse When set, reverses the direction of the selected curve. Start Point Adjusts the position of the curve's start point. This control is disabled if the curve is not a closed curve. While you're adjusting start points, a dotted blue line is displayed between them, to show the alignment. The surface is not displayed, so it doesn't slow down adjustment. When you release the mouse button, the surface reappears. Tension Adjusts the tension of the loft where it intersects that curve. Use COS Tangents If the curve is a curve on surface, turning on this toggle causes the U loft to use the tangency of the surface. This can help you blend a loft smoothly onto a surface. Default=off. This toggle is disabled unless the curve is a point or CV curve on surface. Flip Tangents Reverses the direction of the tangents for that curve. This toggle is disabled unless the curve is a point or CV curve on surface and Use COS Tangents is on. Auto Align Curve Starts When on, aligns the start points of all curves in the U loft. 3ds Max chooses the location of the start points. Using automatic alignment minimizes the amount of twisting in the loft surface. Default=off. Close Loft If the loft was initially an open surface, turning on this toggle closes it by adding a new segment to connect the first curve and the last curve. Default=off. Insert Adds a curve to the U loft surface. Click to turn on Insert, then click the curve. The curve is inserted before the selected curve. To insert a curve at the end, first highlight the "----End-----" marker in the list. Creating and Editing NURBS Sub-Objects | 2677 Remove Removes a curve from the U loft surface. Select the curve in the list, and then click Remove. This button is available at creation time. Refine Refines the U loft surface. Click to turn on Refine, then click a U-axis iso curve on the surface. (As you drag the mouse over the surface, the available curves are highlighted.) The curve you click is converted to a CV curve and inserted into the loft and the U Curves list. As when you refine a point curve, refining a U loft can change the curvature of the surface slightly. Once you've refined the surface by adding a U curve, you can use Edit Curve to change the curve. Replace Replaces a U curve with a different curve. Select a U curve, click to turn on Replace, then click the new curve in a viewport. Available curves are highlighted as you drag the mouse. This button is enabled only when you've selected a single curve in the U Curves list. Display Iso Curves When set, the U loft's V-axis iso curves are displayed as well as the U-axis curves used to construct the loft. The V-axis curves are only for display. You can't use them for surface construction. Edit Curve Lets you edit the currently selected curve without switching to another sub-object level. Click to turn on Edit Curve. The points or CVs of the curve are displayed, as well as the control lattice if the curve is a CV curve. You can now transform or otherwise change the points or CVs as if you were at the Point or Curve CV sub-object level. To finish editing the curve, click to turn off Edit Curve. When you turn on Edit Curves, all applicable rollouts for the selected curves are displayed, including the Curve Common rollout, the CV or Point rollout (depending on the curve type), and the CV Curve or Point Curve rollout. These rollouts appear beneath the U Loft rollout. They let you edit the loft curves and their points or CVs without having to switch sub-object levels. TIP When you edit curves in a U loft, turning off display of the U loft itself can make the curves easier to see and improve performance. Use Ctrl+D (while the Keyboard Shortcut Override Toggle button on page 9008 is on) to toggle display of dependent sub-objects, including U Lofts. 2678 | Chapter 10 Surface Modeling UV Loft Surface Select a NURBS object. ➤ Modify panel ➤ Create Surfaces rollout ➤ Dependent Surfaces group box ➤ UV Loft Select a NURBS object. ➤ (Create UV Loft Surface) Modify panel ➤ NURBS toolbox ➤ A UV loft surface is similar to a U loft surface, but has a set of curves in the V dimension as well as in the U dimension. This can give you finer control over the lofted shape, and require fewer curves to achieve the result you want. Using perpendicular curves to create a UV loft surface If the U and V curves intersect, the UV loft surface interpolates all the curves. If the curves don't intersect, the lofted surface lies somewhere between the U Creating and Editing NURBS Sub-Objects | 2679 and V curves. In general, UV loft works best if the ends of all the curves in one direction lie on the two end curves in the other direction, as in the illustration. UV loft does not work well if the curves in both directions are closed. NOTE The Make Loft on page 2751 dialog (displayed by the Make Loft button on the Surface Common rollout for surface sub-objects) now lets you convert a surface to a UV loft as well as a U loft. In addition, you can use point curves instead of CV curves for the new loft lattice. If you use point curves for a UV loft, turning on the Fuse Points option guarantees that the U and V curves intersect. Automatic Curve Attachment When you create a UV loft, you can select curves that are not already sub-objects of the active NURBS model. You can select another curve or spline on page 511 object in the scene. When you select that curve, it attaches to the current object as if you had used the Attach button on page 2509. WARNING If the curve you attach is a sub-object of another NURBS model, the entire model (that is, the curve's parent NURBS object) is attached as well. As you move the mouse over a curve that is not part of the active NURBS object, the cursor changes shape to indicate that you can pick the curve, but the curve is not highlighted in blue. Procedures To create a UV loft: 1 Create the curves that outline the surface you want to create. 2 In the NURBS toolbox, click to turn on (Create UV Loft Surface). 3 Click each of the curves in the U dimension, then right-click. Click each of the curves in the V dimension, then right-click again to end creation. As you click curves, their names appear in the lists on the UV Loft Surface creation rollout. The order in which you click the curves can affect the shape of the UV loft surface. In either dimension, you can click the same curve more than once. This can help you create a closed UV loft. 2680 | Chapter 10 Surface Modeling To create a UV loft with automatic attach (example): 1 Go to the Create panel and three or more independent CV or point NURBS curves. 2 Go to the Modify panel. In the NURBS toolbox, click to turn on (Create UV Loft Surface). 3 Click the curves in the appropriate order for the loft. 3ds Max creates the UV loft. You don't need to collapse the curves to a NURBS surface or Attach them to an existing NURBS model. As you move the mouse over a curve that is not part of the active NURBS object, the cursor changes shape to indicate that you can pick the curve, but the curve is not highlighted in blue. Interface While a UV Loft sub-object is selected, a rollout with the UV loft parameters appears. This rollout appears only when one UV loft sub-object is selected. It isn’t possible to edit more than one UV loft at a time, so unlike some other NURBS sub-objects, the rollout doesn’t appear when multiple UV loft sub-objects are selected. TIP When you edit a UV loft sub-object, close the Surface Common rollout to see the U Loft Surface rollout more easily. Creating and Editing NURBS Sub-Objects | 2681 UV Loft Surface rollout (creation time) U Curves and V Curves These lists show the names of the curves you click, in the order you click them. You can select a curve by clicking its name in a list. Viewports display the selected curve in blue. 2682 | Chapter 10 Surface Modeling The two buttons above and the four below each list are identical for both lists. While you create the loft, in either dimension you can click the same curve more than once. This can help you create a closed UV loft. Arrow Buttons Use these to change the order of curves in the U Curve or V Curve list. Select a curve in the list, and then use the arrows to move the selection up or down. Insert (Disabled.) Remove Removes a curve from the U list or V list. Select the curve in the list, and then click Remove. Refine (Disabled.) Replace (Disabled.) Display While Creating When on, the UV loft surface is displayed while you create it. When off, the loft can be created more quickly. Default=off. Flip Normals Reverses the direction of the UV loft's normals. Creating and Editing NURBS Sub-Objects | 2683 UV Loft Surface rollout (modification time) U Curves and V Curves These lists show the names of the curves you click, in the order you click them. You can select a curve by clicking its name in a list. Viewports display the selected curve in blue. 2684 | Chapter 10 Surface Modeling The two buttons above and the four below each list are identical for both lists. Arrow Buttons Use these to change the order of curves in the U Curve or V Curve list. Select a curve in the list, and then use the arrows to move the selection up or down. Insert Adds a curve to the U list or V list. Click to turn on Insert, then click the curve. The curve is inserted before the selected curve. To insert a curve at the end, first highlight the "----End-----" marker in the list. Remove Removes a curve from the U list or V list. Select the curve in the list, and then click Remove. Refine Refines the UV loft surface. Click to turn on Refine, then click an iso curve on the surface. (As you drag the mouse over the surface, the available curves are highlighted.) The curve you click is converted to a CV curve and inserted into the loft and the U Curves or V Curves list. As when you refine a point curve, refining a UV loft can change the curvature of the surface slightly. Once you’ve refined the surface by adding a U curve or V curve, you can use Edit Curves to change the curve. Replace Lets you replace the selected curve. Select a curve in the list, click this button, then select the new curve. Display Iso Curves When set, the UV loft’s iso curves are displayed as well as the U-axis and V-axis curves used to construct the loft. The iso curves are only for display. You can’t use them for surface construction. Edit Curves Lets you edit the currently selected curve without switching to another sub-object level. Click to turn on Edit Curve. The points or CVs of the curve are displayed, as well as the control lattice if the curve is a CV curve. You can now transform or otherwise change the points or CVs as if you were at the Point or Curve CV sub-object level. To finish editing the curve, click to turn off Edit Curves. When you turn on Edit Curves, all applicable rollouts for the selected curves are displayed, including the Curve Common rollout, the CV or Point rollout (depending on the curve type), and the CV Curve or Point Curve rollout. These rollouts appear beneath the U Loft rollout. They let you edit the loft curves and their points or CVs without having to switch sub-object levels. Creating and Editing NURBS Sub-Objects | 2685 TIP When you edit curves in a UV loft, turning off display of the UV loft itself can make the curves easier to see and improve performance. Use Ctrl+D (while the Keyboard Shortcut Override Toggle button on page 9008 is on) to toggle display of dependent sub-objects, including UV lofts. The UV loft surface can deviate from the curve if you edit a curve in a UV loft by increasing the weight of the curve CVs. You can work around this by refining the curve at the point where the surface deviates. 1-Rail Sweep Surface Select a NURBS object. ➤ Modify panel ➤ Create Surfaces rollout ➤ Dependent Surfaces group box ➤ 1-Rail Select a NURBS object. ➤ (Create 1-Rail Sweep) Modify panel ➤ NURBS toolbox ➤ Sweep surfaces are constructed from curves. A 1-rail sweep surface uses at least two curves. One curve, the "rail," defines one edge of the surface. The other curves define the surface's cross sections. 2686 | Chapter 10 Surface Modeling 1-rail sweep surface Changing the position of the rail can change the shape of the surface. The cross-section curves should intersect the rail curve. If the cross-sections don't intersect the rail, the resulting surface is unpredictable. In addition, the initial point of the rail and the initial point of the first cross-section curve must be coincident. Use NURBS Snaps on page 2850 to accomplish this. Automatic Curve Attachment When you create a 1-rail sweep, you can select curves that are not already sub-objects of the active NURBS model. You can select another curve or spline on page 511 object in the scene. When you select that curve, it attaches to the current object as if you had used the Attach button on page 2509. WARNING If the curve you attach is a sub-object of another NURBS model, the entire model (that is, the curve's parent NURBS object) is attached as well. As you move the mouse over a curve that is not part of the active NURBS object, the cursor changes shape to indicate that you can pick the curve, but the curve is not highlighted in blue. Creating and Editing NURBS Sub-Objects | 2687 Procedures To create a 1-rail sweep: 1 Create the curves that define the surface you want to create. 2 In the NURBS toolbox, turn on (Create 1 Rail Sweep). 3 Click the curve to use as the rail, then click each of the cross-section curves. Right-click to end creation. The sweep is interpolated smoothly between the cross sections, following the outline defined by the rail. 2688 | Chapter 10 Surface Modeling As you click curves, their names appear in the lists on the 1 Rail Sweep Surface creation rollout. The order in which you click the curves can affect the shape of the sweep surface. Creating and Editing NURBS Sub-Objects | 2689 Example: To create a 1-rail sweep with automatic attach: 1 Go to the NURBS curves. Create panel, create two independent CV or Point 2 Go to the Modify panel. In the NURBS toolbox, click to turn on (Create 1-Rail Sweep). 3 Select the curves in the appropriate order for the sweep. The sweep is created. You don't need to collapse the curves to a NURBS surface or Attach them to an existing NURBS model. As you move the mouse over a curve that is not part of the active NURBS object, the cursor changes shape to indicate that you can pick the curve, but the curve is not highlighted in blue. Interface While a 1-rail sweep sub-object is selected, a rollout with the 1-rail sweep parameters appears. This rollout appears only when one 1-rail sweep sub-object is selected. It isn’t possible to edit more than one 1-rail sweep at a time, so unlike some other NURBS sub-objects, the rollout doesn’t appear when multiple 1-rail sweep sub-objects are selected. TIP When you edit a 1-rail sweep sub-object, close the Surface Common rollout to see the 1-rail sweep Surface rollout more easily. 2690 | Chapter 10 Surface Modeling 1-Rail Sweep Surface rollout (creation time) Rail Curve Shows the name of the curve you chose to be the rail. Replace Rail (Disabled.) Creating and Editing NURBS Sub-Objects | 2691 Section Curves This list shows the names of the cross-section curves, in the order you click them. You can select a curve by clicking its name in the list. Viewports display the selected curve in blue. Arrow Buttons Use these to change the order of section curves in the list. Select a curve in the list, and then use the arrows to move the selection up or down. Curve Properties group These controls affect individual curves you select in the Section Curves list, as opposed to properties of the sweep surface in general. They are enabled only when you have selected a curve in the Section Curves list. Reverse When set, reverses the direction of the selected curve. Start Point Adjusts the position of the curve's start point. This can help eliminate unwanted twists or "buckles" in the surface. This control is disabled if the curve is not a closed curve. While you're adjusting start points, a dotted blue line is displayed between them, to show the alignment. The surface is not displayed, so it doesn't slow down adjustment. When you release the mouse button, the surface reappears. Insert (Disabled.) Remove Removes a curve from the list. Select the curve in the list, and then click Remove. Refine (Disabled.) Replace (Disabled.) Sweep Parallel When on, ensures that the sweep surface's normal is parallel to the rail. Snap Cross-Sections When on, cross-section curves are translated so they intersect the rail. The first cross section is translated to the start of the rail, and the last to the end of the rail. The cross sections in the middle are translated to touch the rail at the closest point to the end of the cross-section curves. When Snap Cross-Sections is on, the sweep follows the rail curve exactly. This makes it easier to construct 1-rail sweep surfaces. Road-Like When on, the sweep uses a constant up-vector so the cross sections twist uniformly as they travel along the rail. In other words, the cross sections bank like a car following a road, or a camera following a path constraint on page 3629. Default=off. 2692 | Chapter 10 Surface Modeling When you edit the surface, you can control the angle of banking. The up-vector is displayed as a yellow gizmo (similar to the gizmo that lathe surfaces on page 2654 use for the center of rotation). To change the up-vector angle, use Rotate on page 852 to change the gizmo's angle. Display While Creating When on, the sweep surface is displayed while you create it. When off, the sweep can be created more quickly. Default=off. Flip Normals Reverses the direction of the sweep's normals. Creating and Editing NURBS Sub-Objects | 2693 1-Rail Sweep Surface rollout (modification time) Rail Curve Shows the name of the curve you chose to be the rail. Replace Rail Lets you replace the rail curve. Click this button, then in a viewport click the curve to use as the new rail. 2694 | Chapter 10 Surface Modeling Section Curves This list shows the names of the cross-section curves, in the order you click them. You can select a curve by clicking its name in the list. Viewports display the selected curve in blue. Arrow Buttons Use these to change the order of section curves in the list. Select a curve in the list, and then use the arrows to move the selection up or down. Curve Properties group These controls affect individual curves you select in the Section Curves list, as opposed to properties of the sweep surface in general. They are enabled only when you have selected a curve in the Section Curves list. Reverse When set, reverses the direction of the selected curve. Start Point Adjusts the position of the curve's start point. This can help eliminate unwanted twists or "buckles" in the surface. This control is disabled if the curve is not a closed curve. While you're adjusting start points, a dotted blue line is displayed between them, to show the alignment. The surface is not displayed, so it doesn't slow down adjustment. When you release the mouse button, the surface reappears. Insert Adds a curve to the section list. Click to turn on Insert, then click the curve. The curve is inserted before the selected curve. To insert a curve at the end, first highlight the "----End-----" marker in the list. Remove Removes a curve from the list. Select the curve in the list, and then click Remove. Refine Refines the 1-rail sweep surface. Click to turn on Refine, then click an iso curve on the surface. (As you drag the mouse over the surface, the available section curves are highlighted.) The curve you click is converted to a CV curve and inserted into the sweep and the section list. As when you refine a point curve, refining a sweep can change the curvature of the surface slightly. Once you’ve refined the surface by adding a cross-section curve, you can use Edit Curves to change the curve. Replace Lets you replace the selected curve. Select a curve in the list, click this button, and then select the new curve. Sweep Parallel When on, ensures that the sweep surface's normal is parallel to the rail. Snap Cross-Sections When on, cross-section curves are translated so they intersect the rail. The first cross section is translated to the start of the rail, and the last to the end of the rail. The cross sections in the middle are Creating and Editing NURBS Sub-Objects | 2695 translated to touch the rail at the closest point to the end of the cross-section curves. When Snap Cross-Sections is on, the sweep follows the rail curve exactly. This makes it easier to construct 1-rail sweep surfaces. Road-Like When on, the sweep uses a constant up-vector so the cross sections twist uniformly as they travel along the rail. In other words, the cross sections bank like a car following a road, or a camera following a path constraint on page 3629. Default=off. When you edit the surface, you can control the angle of banking. The up-vector is displayed as a yellow gizmo (similar to the gizmo that lathe surfaces on page 2654 use for the center of rotation). To change the up-vector angle, use Rotate on page 852 to change the gizmo's angle. Display Iso Curves When set, the 1-rail sweep's V-axis iso curves are displayed as well as the U-axis curves used to construct the loft. The V-axis curves are only for display. You can’t use them for surface construction. Edit Curves Lets you edit the currently selected curve without switching to another sub-object level. Click to turn on Edit Curve. The points or CVs of the curve are displayed, as well as the control lattice if the curve is a CV curve. You can now transform or otherwise change the points or CVs as if you were at the Point or Curve CV sub-object level. To finish editing the curve, click to turn off Edit Curves. TIP When you edit curves in a 1-rail sweep, turning off display of the sweep itself can make the curves easier to see and improve performance. Use Ctrl+D (while the Keyboard Shortcut Override Toggle on page 9008 is on) to toggle display of dependent sub-objects, including sweeps. The sweep surface can deviate from the curve if you edit a curve in a sweep by increasing the weight of the curve CVs. You can work around this by refining the curve at the point where the surface deviates. 2-Rail Sweep Surface Select a NURBS object. ➤ Modify panel ➤ Create Surfaces rollout ➤ Dependent Surfaces group box ➤ 2-Rail 2696 | Chapter 10 Surface Modeling Select a NURBS object. ➤ (Create 2-Rail Sweep) Modify panel ➤ NURBS toolbox ➤ Sweep surfaces are constructed from curves. A 2-rail sweep surface uses at least three curves. Two curves, the "rails," define the two edges of the surface. The other curves define the surface's cross sections. A 2-rail sweep surface is similar to a 1-rail sweep. The additional rail gives you more control over the shape of the surface. Sweep surface created with two rails The cross-section curves should intersect the rail curves. If the cross sections don't intersect the rails, the resulting surface is unpredictable. In addition, the initial points of the rails and the endpoints of the first cross-section curve must be coincident. Use NURBS Snaps to accomplish this. Automatic Curve Attachment When you create a 2-rail sweep, you can select curves that are not already sub-objects of the active NURBS model. You can select another curve or spline Creating and Editing NURBS Sub-Objects | 2697 object on page 511 in the scene. When you select that curve, it attaches to the current object as if you had used the Attach button on page 2509. WARNING If the curve you attach is a sub-object of another NURBS model, the entire model (that is, the curve's parent NURBS object) is attached as well. As you move the mouse over a curve that is not part of the active NURBS object, the cursor changes shape to indicate that you can pick the curve, but the curve is not highlighted in blue. Procedures To create a 2-rail sweep: 1 Create the curves that define the surface you want to create. 2 In the NURBS toolbox, turn on (Create 2-Rail Sweep). 3 Click the curve to use as the first rail, then click the curve to use as the second rail. Click each of the cross-section curves, and then right-click to end creation. The sweep is interpolated smoothly between the cross sections, following the outlines defined by the two rails. As you click curves, their names appear in the lists on the 2 Rail Sweep Surface creation rollout. The order in which you click the curves can affect the shape of the sweep surface. Example: To create a 2-rail sweep with automatic attach: 1 Go to the NURBS curves. Create panel and create three independent CV or Point 2 Go to the Modify panel. In the NURBS toolbox, click to turn on (Create 2-Rail Sweep). 3 Click the curves in the appropriate order for the sweep. 3ds Max creates the sweep. You don't need to collapse the curves to a NURBS surface or Attach them to an existing NURBS model. 2698 | Chapter 10 Surface Modeling As you move the mouse over a curve that is not part of the active NURBS object, the cursor changes shape to indicate that you can pick the curve, but the curve is not highlighted in blue. Interface While a 2-rail sweep sub-object is selected, a rollout with the 2-rail sweep parameters appears. This rollout appears only and when one 2-rail sweep sub-object is selected. It isn’t possible to edit more than one 2-rail sweep at a time, so unlike some other NURBS sub-objects, the rollout doesn’t appear when multiple 2-rail sweep sub-objects are selected. TIP When you edit a 2-rail sweep sub-object, close the Surface Common rollout to see the 2-rail sweep surface rollout more easily. Creating and Editing NURBS Sub-Objects | 2699 2-Rail Sweep Surface rollout (creation time) Rail Curves Shows the names of the two curves you chose to be the rails. 2700 | Chapter 10 Surface Modeling Section Curves This list shows the names of the cross-section curves, in the order you click them. You can select a curve by clicking its name in the list. Viewports display the selected curve in blue. Arrow Buttons Use these to change the order of section curves in the list. Select a curve in the list, and then use the arrows to move the selection up or down. Curve Properties group These controls affect individual curves you select in the Section Curves list, as opposed to properties of the sweep surface in general. They are enabled only when you have selected a curve in the Section Curves list. Reverse When set, reverses the direction of the selected curve. Start Point Adjusts the position of the curve's start point. This can help eliminate unwanted twists or "buckles" in the surface. This control is disabled if the curve is not a closed curve. While you're adjusting start points, a dotted blue line is displayed between them, to show the alignment. The surface is not displayed, so it doesn't slow down adjustment. When you release the mouse button, the surface reappears. Insert (Disabled.) Remove Removes a curve from the list. Select the curve in the list, and then click Remove. Refine (Disabled.) Replace (Disabled.) Sweep Parallel When off, the rail curves define a ruled surface, and the cross sections describe lofting from this base ruled surface. When on, each cross section is associated with its best fitting plane. This plane moves along the rails and parallel to them. If the rails are curved, the plane can rotate. If the spacing between the rails changes, the section scales or stretches. In either case, the surface is blended from section to section along its entire length. Default=off. Sweep Scale When off, the size of the plane is scaled only in the direction across the rails. When on, the plane is scaled uniformly in all directions. Default=off. Snap Cross-Sections When on, cross-section curves are translated and scaled so they intersect both rails. The first cross section is translated to the start of the rails, and the last to the end of the rails. The cross sections in the middle Creating and Editing NURBS Sub-Objects | 2701 are translated to touch the rails at the closest point to the ends of the cross-section curves. Default=off. When Snap Cross-Sections is on, the sweep follows the rail curves exactly. This makes it easier to construct 2-rail sweep surfaces. Display While Creating When on, the sweep surface is displayed while you create it. When off, the sweep can be created more quickly. Default=off. Flip Normals Reverses the direction of the sweep's normals. 2702 | Chapter 10 Surface Modeling 2-Rail Sweep Surface rollout (Modification time) Creating and Editing NURBS Sub-Objects | 2703 Rail Curves Shows the names of the two curves you chose to be the rails. Replace Rail 1 and Replace Rail 2 Let you replace the rail curves. Click one of these buttons, then in a viewport click the curve to use as the new rail. Section Curves This list shows the names of the cross-section curves, in the order you click them. You can select a curve by clicking its name in the list. Viewports display the selected curve in blue. Arrow Buttons Use these to change the order of section curves in the list. Select a curve in the list, and then use the arrows to move the selection up or down. Curve Properties group These controls affect individual curves you select in the Section Curves list, as opposed to properties of the sweep surface in general. They are enabled only when you have selected a curve in the Section Curves list. Reverse When set, reverses the direction of the selected curve. Start Point Adjusts the position of the curve's start point. This can help eliminate unwanted twists or "buckles" in the surface. This control is disabled if the curve is not a closed curve. While you're adjusting start points, a dotted blue line is displayed between them, to show the alignment. The surface is not displayed, so it doesn't slow down adjustment. When you release the mouse button, the surface reappears. Insert Adds a curve to the section list. Click to turn on Insert, then click the curve. The curve is inserted before the selected curve. To insert a curve at the end, first highlight the "----End-----" marker in the list. Remove Removes a curve from the list. Select the curve in the list, and then click Remove. Refine Refines the 2-rail sweep surface. Click to turn on Refine, then click an iso curve on the surface. (As you drag the mouse over the surface, the available section curves are highlighted.) The curve you click is converted to a CV curve and inserted into the sweep and the section list. As when you refine a point curve, refining a sweep can change the curvature of the surface slightly. Once you’ve refined the surface by adding a cross-section curve, you can use Edit Curves to change the curve. Replace Lets you replace the selected curve. Select a curve in the list, click this button, then select the new curve. 2704 | Chapter 10 Surface Modeling Sweep Parallel When off, the rail curves define a ruled surface, and the cross sections describe lofting from this base ruled surface. When on, each cross section is associated with its best fitting plane. This plane moves along the rails and parallel to them. If the rails are curved, the plane can rotate. If the spacing between the rails changes, the section scales or stretches. In either case, the surface is blended from section to section along its entire length. Default=off. Sweep Scale When off, the size of the plane is scaled only in the direction across the rails. When on, the plane is scaled uniformly in all directions. Default=off. Snap Cross-Sections When on, cross-section curves are translated and scaled so they intersect both rails. The first cross section is translated to the start of the rails, and the last to the end of the rails. The cross sections in the middle are translated to touch the rails at the closest point to the ends of the cross-section curves. Default=off. When Snap Cross-Sections is on, the sweep follows the rail curves exactly. This makes it easier to construct 2-rail sweep surfaces. Display Iso Curves When set, the 2-Rail Sweep's V-axis iso curves are displayed as well as the U-axis curves used to construct the sweep. The V-axis curves are only for display. You can’t use them for surface construction. Edit Curves Lets you edit the currently selected curve without switching to another sub-object level. Click to turn on Edit Curve. The points or CVs of the curve are displayed, as well as the control lattice if the curve is a CV curve. You can now transform or otherwise change the points or CVs as if you were at the Point or Curve CV sub-object level. To finish editing the curve, click to turn off Edit Curves. TIP When you edit curves in a 2-rail sweep, turning off display of the sweep itself can make the curves easier to see and improve performance as well. Use Ctrl+D (while the Keyboard Shortcut Override Toggle on page 9008 is on) to toggle display of dependent sub-objects, including sweeps. The sweep surface can deviate from the curve if you edit a curve in a sweep by increasing the weight of the curve CVs. You can work around this by refining the curve at the point where the surface deviates. Creating and Editing NURBS Sub-Objects | 2705 Multisided Blend Surface Select a NURBS object. ➤ Modify panel ➤ Create Surfaces rollout ➤ Dependent Surfaces group box ➤ N Blend Select a NURBS object. ➤ Modify panel ➤ NURBS toolbox ➤ (Create a Multisided Blend Surface) A multisided blend surface "fills in" the edges defined by three or four other curve or surface sub-objects. Unlike a regular, two-sided blend surface, the curves’ or surfaces’ edges must form a closed loop; that is, they must completely surround the opening that the multisided blend will cover. Multisided blend between three other surfaces TIP If the multisided blend surface can't be created, fuse the points or CVs at the corners where the surfaces meet. Sometimes snapping the corners doesn't work, because of round-off error. 2706 | Chapter 10 Surface Modeling Procedures To create a multisided blend: 1 In the NURBS toolbox, turn on (Create A Multisided Blend Surface). 2 In turn, click the three or four surface sides or curves that surround the opening. You can flip normals on the multisided blend while creating it. 3 Right-click to end creation.3ds Max creates a new surface that covers the opening. Interface Multisided Blend surfaces have no parameters other than those on the Surface Common rollout on page 2550. Multicurve Trimmed Surface Select a NURBS object. ➤ Modify panel ➤ Create Surfaces rollout ➤ Dependent Surfaces group box ➤ Multi-Trim Select a NURBS object. ➤ Modify panel ➤ NURBS toolbox ➤ (Create a Multicurve Trimmed Surface) A multicurve trimmed surface is an existing surface trimmed by multiple curves that form a loop. Creating and Editing NURBS Sub-Objects | 2707 Creating a multicurve trimmed surface When you create a multicurve trimmed surface, you create only one trimmed hole. If you want to create multiple holes, first create holes in the surface using other techniques, and as the final step create the multicurve trim. You can't trim across the edge between two surfaces, or across a "seam" where a surface touches itself, as at the back of a spherical surface created by converting a Sphere primitive. Procedures To create a multicurve trim: The NURBS object must contain a surface with curves on it that create a closed loop. 1 Create a loop out of multiple curve sub-objects. 2 At the Curve CV or Point sub-object level, use Fuse to connect the ends of the curves. The curves must form a single closed loop, or completely traverse the surface. 2708 | Chapter 10 Surface Modeling 3 Project the curves onto the surface by creating a normal or vector projected curve for each curve in the loop. TIP You can also use CV or point curve on surface for these curves. 4 In the NURBS toolbox, turn on Surface). (Create A Multicurve Trimmed 5 Click the surface to trim, then click each of the curves in the loop. Right-click to end creation. The Trim list shows the names of the curves you select. Flip Trim inverts the direction of trimming. Flip Normals lets you flip the surface normals at creation time. (After you have created the surface, you can flip normals using controls on the Surface Common rollout.) Interface While a multicurve trimmed sub-object is selected, a rollout with the multicurve trim parameters appears. This rollout appears only when one multicurve trimmed sub-object is selected. It isn’t possible to edit more than one multicurve trimmed object at a time, so unlike some other NURBS sub-objects, the rollout doesn’t appear when multiple multicurve trimmed sub-objects are selected. TIP When you edit a multicurve trimmed sub-object, close the Surface Common rollout to see the Multicurve Trim Surface rollout more easily. Creating and Editing NURBS Sub-Objects | 2709 Multicurve Trimmed Surface rollout (creation time) Trim Curves This list shows the names of the curves used to trim the surface. You can select a curve by clicking its name. Viewports display the selected curve in blue. Insert (Disabled.) Remove Removes a curve from the list. Select the curve in the list, and then click Remove. Replace (Disabled.) Flip Trim Reverses the direction of the trim. Flip Normals Turn on to reverse the direction of the trimmed surface's normals. 2710 | Chapter 10 Surface Modeling Multicurve Trimmed Surface rollout (modification time) Trim Curves This list shows the names of the curves used to trim the surface. You can select a curve by clicking its name. Viewports display the selected curve in blue. Insert Adds a curve to the Trim Curves list. Click to turn on Insert, then click the curve. The curve is inserted before the selected curve. To insert a curve at the end, first highlight the "----End-----" marker in the list. Remove Removes a curve from the list. Select the curve in the list, and then click Remove. Edit Curves Lets you edit the currently selected curve without switching to another sub-object level. Click to turn on Edit Curve. The points or CVs of the curve are displayed, as well as the control lattice if the curve is a CV curve. You can now transform or otherwise change the points or CVs as if you were at the Point or Curve CV sub-object level. To finish editing the curve, click to turn off Edit Curves. Don't edit the curve so you break the loop. If you do, the surface goes into an error condition. Creating and Editing NURBS Sub-Objects | 2711 Replace Lets you replace the selected curve. Select a curve in the list, click this button, and then select the new curve. Flip Trim Reverses the direction of the trim. Along with Edit Curves, the Insert, Remove, and Replace buttons let you alter the curves that trim the surface. While you are making changes, the surface will go into an error condition (orange display by default) until the curves you are working on once again form a closed loop. Fillet Surface Select a NURBS object. ➤ Modify panel ➤ Create Surfaces rollout ➤ Dependent Surfaces group box ➤ Fillet Surf Select a NURBS object. ➤ (Create Fillet Surface) Modify panel ➤ NURBS toolbox ➤ A fillet surface is a rounded corner connecting the edges of two other surfaces. 2712 | Chapter 10 Surface Modeling Fillet surface created from two parent surfaces Usually you use both edges of the fillet surface to trim the parent surfaces, creating a transition between the fillet and its parents. Procedures To create a fillet surface: The NURBS object must contain at least two surfaces. 1 In the NURBS toolbox, turn on (Create Fillet Surface). 2 Click to choose the first parent surface, then click to choose the second parent surface. Potential parent surfaces are highlighted in blue as you move the mouse in a viewport. The fillet surface is created. If the fillet surface can't be created, a default error surface is displayed (by default, the error surface displays as orange). Creating and Editing NURBS Sub-Objects | 2713 Interface Fillet Surface rollout (creation time) Start Radius and End Radius Set the radius used to define the fillet at the first surface you chose and the second surface you chose, respectively. The radiuses control the size of the fillet surface. Default=1.0. Lock Locks the Start and End radius values so they are identical. When on, the End Radius setting is unavailable. Default=on. 2714 | Chapter 10 Surface Modeling Radius Interpolation group This group box controls the radius of the fillet. The Radius Interpolation setting has no effect unless one or both surfaces that define the fillet have curvature to them. Linear When chosen (the default), the radius is linear. Cubic When chosen, the radius is treated as a cubic function, allowing it to change based on the parent surface's geometry. Seeds group These spinners adjust the seed values for the fillet surface. If there is more than one way to construct the fillet, 3ds Max uses the seed values to choose the nearest edge for that surface. Surface 1 X Sets the local X coordinate of the seed on the first surface you chose. Surface 1 Y Sets the local Y coordinate of the seed on the first surface you chose. Surface 2 X Sets the local X coordinate of the seed on the second surface you chose. Surface 2 Y Sets the local Y coordinate of the seed on the second surface you chose. Trim First Surface and Trim Second Surface groups For each of the parent surfaces, these controls affect trimming. Trim Surface Trims the parent surface at the edge of the fillet. Flip Trim Reverses the direction of the trim. Flip Normals Turn on to reverse the direction of the fillet surface's normals. Creating and Editing NURBS Sub-Objects | 2715 Fillet Surface rollout (modification time) Start Radius and End Radius Set the radius used to define the fillet at the first surface you chose and the second surface you chose, respectively. The radiuses control the size of the fillet surface. Default=10.0. Lock Locks the Start and End radius values so they are identical. When on, the End Radius setting is unavailable. Default=on. 2716 | Chapter 10 Surface Modeling Radius Interpolation group This group box controls the radius of the fillet. The Radius Interpolation setting has no effect unless one or both surfaces that define the fillet have curvature to them. Linear When chosen (the default), the radius is always linear. Cubic When chosen, the radius is treated as a cubic function, allowing it to change based on the parent surface's geometry. Seeds group These spinners adjust the seed values for the fillet surface. If there is more than one way to construct the fillet, 3ds Max uses the seed values to choose the nearest edge for that surface. Surface 1 X Sets the local X coordinate of the seed on the first surface you chose. Surface 1 Y Sets the local Y coordinate of the seed on the first surface you chose. Surface 2 X Sets the local X coordinate of the seed on the second surface you chose. Surface 2 Y Sets the local Y coordinate of the seed on the second surface you chose. Trim First Surface and Trim Second Surface groups For each of the parent surfaces, these controls affect trimming. Trim Surface Trims the parent surface at the edge of the fillet. Flip Trim Reverses the direction of the trim. Replace First Surface and Replace Second Surface Let you replace the parent surfaces. Click a button, then click the surface to replace the original first or second surface. Creating and Editing Point Sub-Objects Select a NURBS object. ➤ Modify panel ➤ Create Points rollout Creating and Editing NURBS Sub-Objects | 2717 Select a NURBS object. ➤ Toolbox) Modify panel ➤ (NURBS Creation Keyboard ➤ Ctrl+T to toggle NURBS toolbox display (Keyboard Shortcut Override Toggle must be on.) In addition to the points that are an integral part of point curve on page 2483 and point surface on page 2473 objects, you can create "freestanding" points. Such points can help you construct point curves by using the Curve Fit on page 2579 button. You also use dependent points to trim curves. You create individual points as NURBS sub-objects while you are modifying NURBS. To create points individually, use the Create Points rollout or the NURBS toolbox on page 2443. Toolbox Buttons for Creating Points These are the toolbox buttons for creating point sub-objects: Create an independent point on page 2718. Create a dependent offset point on page 2719. Create a dependent curve point on page 2721. Create a dependent curve-curve intersection point on page 2728. Create a dependent surface point on page 2724. Create a dependent surface-curve intersection point on page 2731. Point (NURBS) Select a NURBS object. ➤ Point button 2718 | Chapter 10 Surface Modeling Modify panel ➤ Create Points rollout ➤ Select a NURBS object. ➤ (Create Point) Modify panel ➤ NURBS toolbox ➤ This command creates an independent, freestanding point. Procedures To create a freestanding point: 1 In the NURBS toolbox, turn on (Create Point). 2 Click a viewport to position the point. Independent point sub-objects have no additional parameters. You can use Curve Fit in the Create Curves rollout to create a curve from multiple freestanding points. Interface There are no additional controls for independent points. Offset Point Select a NURBS object. ➤ Modify panel ➤ Create Points rollout ➤ Dependent Points group box ➤ Offset Point button Select a NURBS object. ➤ (Create Offset Point) Modify panel ➤ NURBS toolbox ➤ This command creates a dependent point that is coincident to an existing point or at a relative distance from an existing point. Creating and Editing NURBS Sub-Objects | 2719 Procedures To create a dependent offset point: 1 In the NURBS toolbox, turn on (Create Offset Point). 2 In a viewport, click an existing point. 3 On the Modify panel ➤ Offset Points rollout, use the Offset spinners to adjust the points position relative to the original point. Interface While an offset point sub-object is selected, the Offset Point rollout appears. 2720 | Chapter 10 Surface Modeling At Point When chosen, the dependent point has the same location as the original, parent point. Offset Enables point offset. Use the X,Y,Z Offset spinners to set offset values (in object space coordinates). Replace Base Point (Only at modification time.) Lets you replace the parent point. Click the button, then click the new point on which to base the offset point. Curve Point Select a NURBS object. ➤ Modify panel ➤ Create Points rollout ➤ Dependent Points group box ➤ Curve Point button Select a NURBS object. ➤ (Create Curve Point) Modify panel ➤ NURBS toolbox ➤ This command creates a dependent point that lies on a curve or relative to it. The point can be either on the curve or off the curve. If it is on the curve, the U Position is the only control of its location. The U Position specifies a location along the curve (based on the curve's local U axis). There are three ways to displace the point's location relative to the U position. Creating and Editing NURBS Sub-Objects | 2721 Procedures To create a dependent curve point: 1 In the NURBS toolbox, turn on (Create Curve Point). 2 Click along a curve to position the point. 3 The curve and cursor position are highlighted during this operation. 4 At the Point sub-object level, adjust the point's position relative to the curve by adjusting the curve point parameters on the Curve Point rollout. 5 Right-click to end point creation. 2722 | Chapter 10 Surface Modeling Interface While a curve point sub-object is selected, the Curve Point rollout appears. U Position Specifies the point's location on the curve or relative to the curve. On Curve When on, the point lies on the curve at the U Position. Offset Moves the point according to a relative (object space) X,Y,Z location. This is relative to the U Position. X Offset, Y Offset, and Z Offset Specify the object space location of the offset curve point. Creating and Editing NURBS Sub-Objects | 2723 Normal Moves the point along the direction of the curve's normal at the U Position. Distance Specifies the distance along the curve's normal. Negative values move the point opposite to the normal. Tangent Moves the point along the tangent at the U Position. U Tangent Specifies the distance from the curve along the tangent. Offset, normal, and tangent displacement of a curve point Trimming group box Controls in this group box let you trim the parent curve. Trim Curve When on, trims the parent curve against the curve point's U position. When off (the default), the parent isn't trimmed. Flip Trim When on, trims in the opposite direction. Replace Base Curve (Only at modification time.) Lets you replace the parent curve. Click the button, then click the new curve on which to base the curve point. Surface Point Select a NURBS object. ➤ Modify panel ➤ Create Points rollout ➤ Dependent Points group box ➤ Surface Point button 2724 | Chapter 10 Surface Modeling Select a NURBS object. ➤ (Create Surf Point) Modify panel ➤ NURBS toolbox ➤ This command creates a dependent point that lies on a surface or relative to it. This is enabled with a NURBS object that contains a surface. Procedures To create a dependent surface point: 1 In the NURBS toolbox, turn on (Create Surf Point). 2 Click over a NURBS surface to position the point. 3 The surface cross-section and cursor are highlighted during this operation. 4 Right-click to end the create operation. 5 At the Point sub-object level, adjust the point’s position relative to the surface by adjusting the surface point parameters in the Surface Point rollout. Creating and Editing NURBS Sub-Objects | 2725 Interface While a surface point sub-object is selected, the Surface Point rollout appears. These controls are similar to the curve point controls. 2726 | Chapter 10 Surface Modeling U Position and V Position If the point is on the surface, these coordinates specify the point's location, based on the surface's local UV coordinates. On Surface Specifies that the point lies on the surface, at the location specified by U Position and V Position. If the point lies on the surface, you can move it using the Move transform. You can also move it using the Move Surface Point button. See Editing Point Sub-Objects on page 2514. Either way, this updates the U Position and V Position values. Offset Moves the point according to a relative (object space) X,Y,Z location. X Offset, Y Offset, and Z Offset Specify the object space location of the offset surface point. Normal Moves the point along the direction of the surface's normal. Creating and Editing NURBS Sub-Objects | 2727 Distance Specifies the distance from the surface, along the normal. Negative values move the point opposite to the normal. Tangent Moves the point along the tangent of the UV position. U Tangent and V Tangent Specify the distance from the surface along the tangents at U and V. Replace Base Surface (Only at modification time.) Lets you replace the parent surface. Click the button, then click the new surface on which to base the surface point. Curve-Curve Intersection Point Select a NURBS object. ➤ Modify panel ➤ Create Points rollout Dependent Points group box ➤ Curve-Curve button Select a NURBS object. ➤ Modify panel ➤ NURBS toolbox ➤ (Create Curve-Curve Point) This command creates a dependent point at the intersection of two curves. Procedures To create a dependent curve-curve point: 1 In the NURBS toolbox, turn on (Create Curve-Curve Point). 2 Drag from the first curve to the second curve. If the curves do not intersect, the point is orange, an invalid dependent point. The point is created at the nearest intersection between the two curves. You can use the curve-curve parameters to trim the parent curves. 3 Right-click to end the create operation. 2728 | Chapter 10 Surface Modeling Interface While a curve-curve point sub-object is selected, the Curve-Curve Intersection rollout appears. Creating and Editing NURBS Sub-Objects | 2729 Trim First Curve and Trim Second Curve groups These two groups let you control how the parent curves are trimmed. The controls are the same in each. "First" and "second" refer to the order in which you picked the parent curves. Trim Curve When on, the parent curve is trimmed against the curve-curve point. When off (the default), the parent isn't trimmed. Flip Trim When on, trims in the opposite direction. Seed 1 and Seed 2 Change the U location of the seed value on the first and second curves. If there is a choice of intersections, the intersection closest to the seed points is the one used to create the point. Replace First Curve and Replace Second Curve (Only at modification time.) Let you replace the parent curves. Click a button, then click the curve to replace the original first or second curve. 2730 | Chapter 10 Surface Modeling Surface-Curve Intersection Point Select a NURBS object. ➤ Modify panel ➤ Create Points rollout ➤ Dependent Points group box ➤ Surf-Curve button Select a NURBS object. ➤ Modify panel ➤ NURBS toolbox ➤ (Create Surface-Curve Point) This command creates a dependent point at the intersection of a surface and a curve. Procedures To create a dependent surface-curve point: The NURBS object must have a curve that passes through a surface. 1 In the NURBS toolbox, turn on (Create Surface-Curve Point). 2 Click the curve, then click the surface. The point is created at the intersection between the curve and the surface that is nearest the seed point. You can use the surface-curve parameters to trim the parent curve. Creating and Editing NURBS Sub-Objects | 2731 Interface While a surface-curve intersection point sub-object is selected, a rollout with its parameters appears. Trim Curve group Trim When on, trims the curve from the surface. When off, the curve isn’t trimmed. Flip Trim When on, trims the curve in the opposite direction. Seed Changes the U location of the seed value on the curve. If there is a choice of intersections, the intersection closest to the seed point is the one used to create the point. Replace Curve and Replace Surface (Only at modification time.) Let you replace the parent sub-objects. Click a button, then click a curve or surface to replace the original parent object. NURBS Editing Dialogs This section describes dialogs that support creating and editing NURBS models. 2732 | Chapter 10 Surface Modeling Convert Curve Dialog (NURBS) Modify panel ➤ Select a NURBS curve sub-object. ➤ Curve Common rollout ➤ Convert Curve button This dialog is a general way to convert one kind of a curve to another or to adjust a curve's parameters. Interface Point Curve and CV Curve Choose whether to convert to a point curve or a CV curve. If the curve is already of the type you chose, the settings in this dialog don't convert it, but do change its properties. Default=CV Curve. CV Curve options These are the options when you choose CV Curve. Number When chosen, the spinner sets the number of CVs in the CV curve. Tolerance When chosen, 3ds Max calculates the number of CVs. This option rebuilds the curve according to accuracy. The lower the Tolerance value, the Creating and Editing NURBS Sub-Objects | 2733 more accurate the rebuild. Increasing Tolerance enables the curve to be rebuilt using fewer CVs. Reparameterization group These controls let you reparameterize the CV curve and turn on automatic reparameterization. Chord Length Chooses the chord-length algorithm for reparameterization. Chord-length reparameterization spaces knots (in parameter space on page 9257) based on the square root of the length of each curve segment. Chord-length reparameterization is usually the best choice. Uniform Spaces the knots uniformly. A uniform knot vector has the advantage that the curve changes only locally when you edit it. With chord-length parameterization, moving any CV can potentially change the entire sub-object. Maintain Parameterization When on, the curve is automatically reparameterized as you edit it, using the currently active method of reparameterization. When off, no reparameterization happens unless you use a dialog to specifically request it. Default=on. Point Curve options: These are the options when you choose Point Curve. Number Sets the number of points in the point curve. Tolerance When chosen, 3ds Max calculates the number of points. This option rebuilds the curve according to accuracy. The lower the Tolerance value, the more accurate the rebuild. Increasing Tolerance enables the curve to be rebuilt using fewer points. Preview When on, the effect of the conversion is previewed in viewports. Default=on. Convert Curve On Surface Dialog (NURBS) Modify panel ➤ Select a NURBS object. ➤ Modifier stack display ➤ Curve sub-object level ➤ Select curve sub-object. ➤ Curve Common rollout ➤ Make COS button 2734 | Chapter 10 Surface Modeling This dialog converts a curve to a point curve on surface on page 2619 or CV curve on surface on page 2614. The Make COS button that displays it is enabled only for the following types of curves: ■ U iso curves on page 2606 ■ V iso curves on page 2606 ■ Normal projected curves on page 2608 ■ Vector projected curves on page 2611 ■ Surface-surface intersection curves on page 2600 ■ Surface edge curves on page 2623 ■ CV curves on surfaces on page 2614 ■ Point curves on surfaces on page 2619 If the curve is already a curve on surface, this dialog lets you change its type. Interface CV Curve On Surface Converts the curve to a CV curve on surface. Number of CVs Specifies the number of CVs in the new curve. Point Curve On Surface Converts the curve to a point curve on surface. Number of Points Specifies the number of points in the new curve. Creating and Editing NURBS Sub-Objects | 2735 Preview When on, previews the effect of the conversion in viewports. Default=on. Convert Surface Dialog (NURBS) Modify panel ➤ Select a NURBS surface sub-object. ➤ Surface Common rollout ➤ Convert Surface button This dialog provides a general way to convert one kind of a surface to another or to adjust a surface's parameters. Interface Loft tab If the surface isn't already a loft, this tab converts it to the kind of loft you indicate. The controls are comparable to those in the Make Loft dialog on page 2751. 2736 | Chapter 10 Surface Modeling From U Iso Lines Uses curves along the surface's U dimension to construct a U loft. From V Iso Lines Uses curves along the surface's V dimension to construct a U loft. If the surface was already a U loft, set this to change the lofting dimension. From U and V Iso Lines Uses curves from both the U and V dimensions to construct a UV loft. U Curves Sets the number of curves in U. V Curves Sets the number of curves in V. Use Point Curves When on, constructs the loft from point curves instead of the default CV curves. Default=off. Extra Points per Segment This control is available only for UV lofts (From U and V Iso Lines). Lets you increase the number of points in each segment. Fuse Points This control is available only for UV lofts (From U and V Iso Lines). When on, fuses points at curve intersections to ensure that the U and V curves continue to intersect when you edit the surface, and that the surface remains coincident with its parent curves. UV lofts constructed from intersecting curves behave more predictably. Default=on. Fit Point tab If the surface isn't already a point surface, this tab converts it to a point surface. In U Sets the number of point rows (in the surface's U axis). In V Sets the number of point columns (in the surface's V axis). Tolerance When chosen, 3ds Max calculates the number of points. This option rebuilds the surface according to accuracy. The lower the Tolerance value, the more accurate the rebuild. Increasing Tolerance enables the surface to be rebuilt using fewer points. CV Surface tab If the surface isn't already a CV surface, this tab converts it to a CV surface. This tab is the default. Number When chosen, the spinners set the number of CVs in the CV surface. In U Sets the number of CV rows (in the surface's U axis). In V Sets the number of CV columns (in the surface’s V axis). Creating and Editing NURBS Sub-Objects | 2737 Tolerance When chosen, 3ds Max calculates the number of CVs. This option rebuilds the surface according to accuracy. The lower the Tolerance value, the more accurate the rebuild. Increasing Tolerance enables the surface to be rebuilt using fewer CVs. Reparameterization group These controls let you reparameterize the CV surface and turn on automatic reparameterization. Chord Length Chooses the chord-length algorithm for reparameterization. Chord-length reparameterization spaces knots (in parameter space on page 9257) based on the square root of the length of each segment. Chord-length reparameterization is usually the best choice. Uniform Spaces the knots uniformly. A uniform knot vector has the advantage that the surface changes only locally when you edit it. With chord-length parameterization, moving any CV can potentially change the entire surface. Maintain Parameterization When on, the surface is automatically reparameterized as you edit it, using the currently active method of reparameterization. When off, no reparameterization happens unless you use a dialog to specifically request it. Default=on. Preview When on, viewports display a preview of the conversion. Turning off this toggle can speed up conversion, especially to lofts. Delete Original Curves This is available only if the surface was already a U loft or UV loft. When on, Convert Surface deletes the original loft curves when you click OK. When off, the original curves remain where they are. Default=off. CV Curve: Close Curve Dialog (NURBS) Create panel ➤ (Shapes) ➤ CV Curve button ➤ In viewports, draw a CV curve and click to create a CV in the same location as the first CV in the curve. 2738 | Chapter 10 Surface Modeling Modify panel ➤ Select a NURBS object. ➤ NURBS toolbox ➤ (Create CV Curve) ➤ In viewports, draw a CV curve sub-object and click to create a CV in the same location as the first CV in the curve. This dialog lets you create a closed CV curve when you click to create a CV in the same location as the curve's first CV. Interface Yes Closes the curve and ends curve creation. No Keeps the curve open and does not end curve creation. Detach Dialog (NURBS) Modify panel ➤ Select a NURBS sub-object. ➤ Curve Common or Surface Common rollout ➤ (optional) Copy toggle ➤ Detach button This dialog appears when you use Detach to create a new top-level NURBS curve or surface sub-object. Creating and Editing NURBS Sub-Objects | 2739 Interface Detach as Lets you assign a name to the new object. By default, the name is "Curve" or "Surface" followed by a sequence number. This option is unavailable when Detach To Element is on. Relational This toggle affects dependent objects. When off, detaching a dependent sub-object makes it an independent object. For example, detaching a U loft converts it to a CV surface. When on, detaching a dependent sub-object also detaches the objects on which it depends, so the object remains dependent. For example, detaching a U loft also detaches the curves that define it. Default=on. Edit Curve On Surface Dialog (NURBS) Select a NURBS object. ➤ Modify panel ➤ Modifier stack display ➤ Curve sub-object level ➤ Select a NURBS curve on surface sub-object. ➤ CV Curve On Surface or Point Curve On Surface rollout ➤ Edit button This dialog lets you edit curves on surfaces as you edit regular curves in a viewport. The main part of the dialog is a two-dimensional view of the surface. The controls provide typical curve editing functions. This is a modeless dialog. You can use the main 3ds Max window while Edit Curve On Surface remains open. However, if you select a different kind of curve or a sub-object that isn't a curve, the dialog closes. You can edit multiple CV on surface on page 2614 or Point on surface on page 2619 curves, but you can’t edit both types of curves at the same time. 2740 | Chapter 10 Surface Modeling The point whose surface you first click is shown as a blue square in the dialog as well as in viewports. As you draw the curve, it appears interactively in viewports and a blue asterisk (*) shows the current mouse location on the surface. While you are creating a curve, you can press Backspace to remove the last point or CV you created, and then previous points or CVs in reverse order. Interface Creating and Editing NURBS Sub-Objects | 2741 Toolbar The toolbar above the surface image provides selection, transform and viewing controls. These controls work the way their analogs do in the main 3ds Max viewports. The toolbar is disabled while you create a new curve on surface. Select Selects one or more points. Drag a window to select multiple points. Move Moves the selected points. Move is a flyout. The alternative buttons constrain texture points to move either vertically or horizontally. Rotate Rotates the selected points. Scale Scales the selected points. This is a flyout that lets you choose between uniform scale, nonuniform scale in the surface's U dimension, or nonuniform scale in the surface’s V dimension. Pan Pans the surface view. Zoom Zooms in or out on the surface view. Zoom Window Zooms to a window you drag on the surface view. Zoom Extents Zooms to the extents of the surface. Lock Selection Locks the active selection set. You can turn this on to keep from accidentally selecting other points or CVs while you’re transforming a selection set. 2742 | Chapter 10 Surface Modeling Preview When on (the default), edits you make in the dialog are also shown in viewports. Curve on Surface Image Below the toolbar is a 2D image of the curve. This image shows the points or CVs of the curve, allowing you to edit it as you edit sub-objects in viewports. If you right-click while in the image, a pop-up menu lets you switch between Select, Move, Rotate, and Scale. This is an alternative to using the toolbar. If your mouse has a middle button, you can use it to pan in this window. Buttons and Weight These controls are comparable to editing controls on the rollouts for point sub-objects. (The Open button works differently.) These controls are disabled while you create a new curve on surface. Refine Adds points to the curve. This does not change curvature. For point curves, the curvature can change, but only slightly. Insert (Not available for point curves on surfaces.) Close Closes the curve. Fuse Fuses two points. Weight (Not available for point curves on surfaces.) Delete Deletes the selected points. Open Opens the curve by unfusing the points where the curve was originally closed. Unfuse Unfuses the selected points. Remove Animation Removes animation controllers from the selected points or CVs. Edit Texture Surface Dialog (NURBS) Modify panel ➤ Select a NURBS surface sub-object. ➤ Material Properties rollout ➤ Texture Channels group box ➤ Turn on Gen. Mapping Coords. ➤ Texture Surface group box ➤ Choose User-Defined. ➤ Edit Texture Surface button Creating and Editing NURBS Sub-Objects | 2743 This dialog lets you edit the texture surface for a surface sub-object. It is available when you have chosen User Defined as the sub-object's texture surface method. A texture surface is associated with the surface sub-object. The texture surface is used to control how materials are mapped. In effect, changing the texture surface stretches or otherwise changes the UV coordinates for the surface, altering the mapping. The Edit Texture Surface dialog shows a 2D view of the texture surface. You can also edit user-defined texture surfaces directly in 3D viewports, using the Edit Texture Points button. See Material Properties Rollout on page 2564. Maps can shift with certain surface approximation methods. This effect is especially noticeable when the surface has animated CVs. You can reduce or eliminate map shifting by changing the mapping method to User Defined. TIP Don't use the UVW Map modifier to apply a texture to an animated NURBS surface. 2744 | Chapter 10 Surface Modeling Interface Toolbar The toolbar above the surface image provides selection, transform and viewing controls. These controls work the way their analogs do in viewports. NOTE You can animate transforms to the texture surface points. Creating and Editing NURBS Sub-Objects | 2745 Select Selects one or more points. Drag a window to select multiple points or CVs. Move Moves the selected points. Move is a flyout. The alternative buttons constrain texture points to move either vertically or horizontally. Rotate Rotates the selected points. Scale Scales the selected points. This is a flyout that lets you choose between uniform scale, nonuniform scale in the surface's U dimension, or nonuniform scale in the surface's V dimension. Pan Pans the surface view. Zoom Zooms in or out on the surface view. Zoom Window Zooms to a window you drag on the surface view. Zoom Extents Zooms to the extents of the surface. Lock Selection Locks the active selection set. You can turn this on so you don't accidentally select other points while you're transforming a selection set. Preview When on (the default), your edits are also shown in viewports. In viewports, selected texture points are displayed in red, and the others are displayed in green. 2746 | Chapter 10 Surface Modeling Texture Surface Image Below the toolbar is a 2D image showing the points of the texture surface. You can edit the texture surface as you edit sub-objects in viewports. If you right-click while in the image, the popup menu lets you switch between Select, Move, Rotate, and Scale. This is an alternative to using the toolbar. If your mouse has a middle button, you can use it to pan in this window. Texture Surface Controls The controls below the surface image edit the texture surface. Remove Animation Removes animation controllers from the selected texture points. Reset to Defaults Resets user-defined mapping to the default. Rebuild Displays the Rebuild Texture Surface dialog on page 2757, which rebuilds the texture surface and lets you change the number of CV rows or columns. Insert Row, Insert Col., Insert Both Click one of these buttons to insert a row or column of points, or both at once, into the surface. Insertion adds points without moving other rows and columns. While you refine the surface, the operation is previewed the same way Insert is previewed in 3D viewports. Delete Row, Delete Col., Delete Both Click one of these buttons to delete a row or column of points, or both at once. Join Curves Dialog (NURBS) Modify panel ➤ Select a NURBS curve sub-object. ➤ Curve Common rollout ➤ Join button ➤ Join two curves in a viewport. This dialog lets you choose the way to join two curves. Creating and Editing NURBS Sub-Objects | 2747 Interface ZIP tab This tab chooses the zip algorithm. Zipping concatenates the CV lattices of the two original curves. Zipping can change the shape of the original curves, but usually it produces a better result than joining. By default, the ZIP tab is active. If both curves are untrimmed point curves, the result of zipping is a point curve. In all other cases, the result is a CV curve. Tolerance A distance in 3ds Max units. If the ends of the two original curves are closer than this distance, zipping deletes one of the points or CVs in order to avoid creating coincident points or CVs in the new zipped curve. Tension 1 (Disabled.) Tension 2 (Disabled.) Join tab This tab chooses the join algorithm. Joining first creates a blend curve between the two original curves, and then makes all three into a single curve. Joining does not change the shape of the two original curves. If both curves are point curves, the result is a point curve. If one or both curves are CV curves, the result is a CV curve. 2748 | Chapter 10 Surface Modeling Tolerance A distance in 3ds Max units. If the gap between the curves you are joining is greater than this value, the join is created by first creating a blend curve and then joining the three parts. If the gap is less than this value, or if the curves are overlapping or coincident, 3ds Max doesn't create the blend. Creating a blend and then joining the three curves into a single curve is the better technique. The result matches the parent curves well. Without the blend step, the resulting curve can deviate from the parent curves, in order to maintain smoothness. (The amount of deviation depends on how far from tangent the two input curves were at the join.) A problem arises when the gap is too small. In this case, 3ds Max generates the blend but because there isn't enough room for it, the resulting curve has a loop. To avoid having this loop, set the Tolerance higher than the gap distance. If you set the tolerance to 0.0, 3ds Max chooses a value to use for the Tolerance. Tension 1 Adjusts the tension of the new curve at the end of the first curve you picked. Tension 2 Adjusts the tension of the new curve at the end of the second curve you picked. Preview When on, the effect of the zip or join is previewed in viewports. Default=on. Join Surfaces Dialog (NURBS) Modify panel ➤ Select a NURBS surface sub-object. ➤ Surface Common rollout ➤ Join button ➤ Join two surfaces in a viewport. This dialog lets you choose the way to join two surfaces. Creating and Editing NURBS Sub-Objects | 2749 Interface ZIP tab This tab chooses the zip algorithm. Zipping concatenates the CV lattices of the two original surfaces. Zipping can change the shape of the original surfaces, but compared to joining it usually produces a simpler surface that is easier to edit. By default, the ZIP tab is active. If both curves are untrimmed point surfaces, the result of zipping is a point surface. In all other cases, the result is a CV surface. Tolerance A distance in 3ds Max units. If the edges of the two original surfaces are closer than this distance, zipping deletes one row (or column) of the points or CVs in order to avoid creating a coincident point or CV row (or column) in the new zipped surface. Tension 1 (Disabled.) Tension 2 (Disabled.) Join tab This tab chooses the join algorithm. Joining first creates a blend surface between the two original surfaces, and then makes all three into a single surface. Joining does not change the shape of the two original surfaces. 2750 | Chapter 10 Surface Modeling If both surfaces are point surfaces, the result is a point surface. If one or both surfaces are CV surfaces, the result is a CV surface. Tolerance A distance in 3ds Max units. If the gap between the surfaces you are joining is greater than this value, the join is created by first creating a blend surface and then joining the three parts. If the gap is less than this value, or if the surfaces are overlapping or coincident, 3ds Max doesn't create the blend. Creating a blend and then joining the three surfaces into a single surface is the better technique. The result matches the parent surfaces well. Without the blend step, the resulting surface can deviate from the parent surfaces, in order to maintain smoothness. (The amount of deviation depends on how far from tangent the two input surfaces were at the join.) A problem arises when the gap is too small. In this case, 3ds Max generates the blend but because there isn't enough room for it, the resulting surface has a loop. To avoid having this loop, set the Tolerance higher than the gap distance. If you set the tolerance to 0.0, 3ds Max chooses a value to use for the Tolerance. Tension 1 Adjusts the tension of the new surface at the edge of the first surface you picked. Tension 2 Adjusts the tension of the new surface at the end of the second surface you picked. Preview When on, the effect of the zip or join is previewed in viewports. Default=on. Make Loft Dialog (NURBS) Modify panel ➤ Select a NURBS surface sub-object. ➤ Surface Common rollout ➤ Make Loft button This dialog converts a surface sub-object to a (dependent) U loft or UV loft surface. You can also change the dimension used to construct a U loft surface. Creating and Editing NURBS Sub-Objects | 2751 Interface From U Iso Lines Uses curves along the surface's U dimension to construct a U loft. From V Iso Lines Uses curves along the surface's V dimension to construct a U loft. If the surface was already a U loft, set this to change the lofting dimension. From U and V Iso Lines Uses curves from both the U and V dimensions to construct a UV loft. U Curves Sets the number of curves in U. V Curves Sets the number of curves in V. Use Point Curves When on, constructs the loft from point curves instead of the default CV curves. Default=off. Extra Points per Segment This control is enabled only for UV lofts (From U and V Iso Lines). Lets you increase the number of points in each segment. 2752 | Chapter 10 Surface Modeling Fuse Points This control is enabled only for UV lofts (From U and V Iso Lines). When on, fuses points at curve intersections to ensure that the U and V curves continue to intersect when you edit the surface, and that the surface remains coincident with its parent curves. UV lofts constructed from intersecting curves behave more predictably. Default=on. Delete Original Loft Curves This is available only if the surface was already a U loft or UV loft. When on, Make Loft deletes the original loft curves when you click OK. When off, the original curves remain where they are. Default=off. Preview When on, displays a preview of the new loft surface. Loft creation is faster when Preview is off. Default=off. Make Point Dialog (NURBS) Modify panel ➤ Select a NURBS surface sub-object. ➤ Surface Common rollout ➤ Make Point button This dialog converts a CV surface sub-object to a point surface sub-object. Interface Number in U Sets the number of columns. Number in V Sets the number of rows. Preview When on, your changes are previewed in viewports. Point surface conversion is faster when Preview is off. Default=off. Creating and Editing NURBS Sub-Objects | 2753 Make Point Curve Dialog (NURBS) Modify panel ➤ Select a NURBS curve sub-object. ➤ Curve Common rollout ➤ Make Fit button The Make Fit button for a NURBS curve sub-object turns a CV curve into a point curve. For point curves, it lets you change the number of points. It displays this dialog. Interface Number of Points Sets the number of points in the point curve. Point Curve: Close Curve Dialog (NURBS) Create panel ➤ (Shapes) ➤ Point Curve button ➤ In viewports, draw a point curve and click to create a point in the same location as the first point in the curve. Modify panel ➤ Select a NURBS object. ➤ NURBS toolbox ➤ (Create Point Curve) ➤ In viewports, draw a point curve sub-object and click to create a point in the same location as the first point in the curve. This dialog lets you create a closed point curve when you click to create a point in the same location as the curve's first point. 2754 | Chapter 10 Surface Modeling Interface Yes Closes the curve and ends curve creation. No Keeps the curve open and does not end curve creation. Rebuild CV Curve Dialog (NURBS) Modify panel ➤ Select a NURBS object. ➤ Modifier stack display ➤ Curve sub-object level ➤ Select an independent CV curve sub-object. ➤ CV Curve rollout ➤ Rebuild button The Rebuild button for CV curves displays this dialog. It lets you specify how to rebuild the curve. Rebuilding the curve can change its appearance. Interface Tolerance Rebuilds the curve according to accuracy. The lower the Tolerance value, the more accurate the rebuild. Increasing Tolerance enables the curve to be rebuilt using fewer CVs. Creating and Editing NURBS Sub-Objects | 2755 Number (The default.) Lets you alter the number of CVs in the curve. Preview When on (the default), your changes are previewed in viewports. Rebuild CV Surface Dialog (NURBS) Modify panel ➤ Select a NURBS object. ➤ Modifier stack display ➤ Surface sub-object level ➤ Select an independent CV surface sub-object. ➤ CV Surface rollout ➤ Rebuild button The Rebuild button for CV surfaces displays this dialog. It lets you specify how to rebuild the surface. Rebuilding the surface can change its appearance. Interface Tolerance Rebuilds the surface according to accuracy. The lower the Tolerance value, the more accurate the rebuild. Increasing Tolerance enables the surface to be rebuilt using fewer CVs. Number (The default.) Lets you alter the number of CVs in the surface. Number in U specifies the number in the U dimension, and Number in V specifies the number in the V dimension. These values default to the numbers that already exist in the surface. Preview When on (the default), your changes are previewed in viewports. 2756 | Chapter 10 Surface Modeling Rebuild Texture Surface Dialog (NURBS) Modify panel ➤ Select a NURBS surface sub-object. ➤ Surface sub-object level ➤ Material Properties rollout ➤ Texture Channels group box ➤ Turn on Gen. Mapping Coords. ➤ Texture Surface group box ➤ Choose User-Defined. ➤ Edit Texture Surface button ➤ Edit Texture Surface dialog ➤ Rebuild button This dialog rebuilds the texture surface and lets you change the number of CV rows or columns. Interface Number in U Sets the number of CV columns. Number in V Sets the number of CV rows. Reparameterize Dialog (NURBS) Modify panel ➤ Select a NURBS object. ➤ Modifier stack display ➤ Curve sub-object level ➤ Select an independent CV curve sub-object. ➤ CV Curve rollout ➤ Reparam. button Modify panel ➤ Select a NURBS object. ➤ Modifier stack display ➤ Curve sub-object level ➤ Select an independent CV surface sub-object. ➤ CV Surface rollout ➤ Reparam. button Creating and Editing NURBS Sub-Objects | 2757 The Reparam. button for CV curves and surfaces displays this dialog. Reparameterizing a CV sub-object changes its parameter space on page 9257 to provide a better relation between control point locations and the shape of the sub-object. TIP It is a good idea to reparameterize after you have added CVs to a curve or surface by refining or inserting. Interface Chord Length Chooses the chord-length algorithm for reparameterization. Chord-length reparameterization spaces knots (in parameter space on page 9257) based on the square root of the length of each curve segment. Chord-length reparameterization is usually the best choice. Uniform Spaces the knots uniformly. A uniform knot vector has the advantage that the curve or surface changes only locally when you edit it. With chord-length parameterization, moving any CV can potentially change the entire sub-object. Maintain Parameterization When on, the curve is automatically reparameterized as you edit it, using the currently active method of reparameterization. When off, no reparameterization happens unless you use this dialog. Default=off. Preview If on (the default), displays the effects of reparameterizing in viewports. 2758 | Chapter 10 Surface Modeling Sub-Object Clone Options Dialog (NURBS) Modify panel ➤ Select a NURBS surface or curve sub-object. ➤ Shift+Clone. ➤ Clone Options dialog When you Shift+Clone on page 936 a surface or curve sub-object, the Clone Options dialog appears. This dialog asks whether you want the clone to be a relational copy, an independent copy, or a transform. Interface Relational Copy The cloned object is the same type as the original. If the original object was a dependent object, the clone includes copies of the parents. For example, when you clone a Blend surface, the clone remains a Blend surface and its two parent surfaces are copied along with it. Because all related sub-objects are copied, Relational Copy can be time-consuming. Independent Copy The cloned object is an independent CV curve or CV surface. It has the same shape as the original, but its relational dependencies aren't copied. This method of cloning uses less time and memory, although you lose the relational properties. For example, when you clone a Blend surface, the clone is an independent CV surface. Copy as Transform Object(s) The "clone" is actually a transform curve or transform surface, based on the original object and still dependent on it. This Creating and Editing NURBS Sub-Objects | 2759 lets you create transform curves and surfaces based on a rotation and scale as well as on translation. Include Parent(s) (Available only for Independent Copy or Copy as Transform Object(s).) Tells the system whether or not to include the parents of the dependent object. For example, if Include Parent(s) is on when you clone a blend surface, the two parent surfaces are also cloned as independent CV surfaces. If Include Parent(s) is off, only the one curve or surface is cloned. Cloning is slower when Include Parent(s) is on, although quicker than Relational Copy. Select By Material ID Dialog (NURBS) Modify panel ➤ Select a NURBS object. ➤ Modifier stack display ➤ Curve sub-object level ➤ Select By ID button. This dialog lets you select curve sub-objects by the material ID number assigned to them. Interface ID Specifies the material ID you want to select. Clear Selection When on, replaces the current selection (if any) by the material ID selection. When off, adds the material ID selection to the current selection set. NURBS Curve and Surface Approximation Topics in this section describe how you can control the way 3ds Max generates NURBS curves and surfaces. 2760 | Chapter 10 Surface Modeling NURBS Curve Approximation Modify panel ➤ Select a top-level NURBS object. ➤ Curve Approximation rollout Although NURBS curves are analytically generated, in order to generate and display them they must be approximated by line segments. Curve approximation controls are displayed in the creation parameters for curve objects, and on a Curve Approximation rollout for NURBS models (top-level NURBS objects). At the model level, approximation controls affect all curve sub-objects in the model. Curve approximation is accomplished by segments. One or more line segments, or steps, are used to approximate each segment of the curve. For point curves, a segment of a curve is the portion between one point and the next. For CV curves, the segment is determined by the CV’s parametric knot on page 9201. The transition from one CV curve segment to another isn’t visible in viewports. Curve approximation parameters aren't animatable. Interface Steps The maximum number of line segments used to approximate each curve segment. If the curve displays or renders with angles, increase this value. This control is unavailable when Adaptive is on. Range=1 to 100. Optimize Turn on this check box to optimize the curve. When on, interpolation uses the specified Steps value unless two segments are collinear, in which case they are converted to a single segment. This control is unavailable when Adaptive is on. Adaptive (The default.) Segments the curve adaptively, based on its curvature. In other words, the curve is assigned more segments where its curvature is greatest, and fewer segments where its curvature is less. NURBS Curve and Surface Approximation | 2761 NURBS Surface Approximation Modify panel ➤ Select a top-level NURBS object. ➤ Surface Approximation rollout Modify panel ➤ Select a NURBS surface sub-object. ➤ Surface Approximation rollout Although NURBS surfaces are analytically generated, in order to generate and display them they must be approximated by faces. You use the controls described in this section to set the type of approximation used and its parameters. The Surface Approximation rollout controls how surface sub-objects in the NURBS model are approximated for purposes of rendering and viewport display. NURBS can be approximated differently in viewports and in the renderer. Typically you want viewport display to be clear and quick, while you want rendered display to be smooth, accurate, and "realistic." However, the approximation you choose for viewports creates a mesh, and the kind of mesh you choose can affect the behavior of modifiers that you later apply to the NURBS model. The first two controls on this rollout are radio buttons for selecting the kind of display output, viewport or renderer, these parameters control. Surface approximation parameters are not animatable. NOTE If the size or shape of a surface changes over time, the tessellation used to approximate it can change (automatically) as well. This has the advantage of improving render time in animations. It has the disadvantage that you can't apply image motion blur on page 9190 to NURBS objects whose tessellation changes during animation. The Regular method of tessellation is the exception: it doesn't change when animated, so you can use image motion blur with Regular tessellation. Surface Approximation Per Surface By default, surface sub-objects use the same approximation settings as the top-level NURBS model. You can override these settings. Each surface sub-object now has a Surface Approximation rollout of its own. The controls on this rollout are disabled unless you turn off the Lock to Top Level toggle. With this toggle turned off, you can choose approximation settings specific to this surface sub-object. 2762 | Chapter 10 Surface Modeling Interface NURBS Curve and Surface Approximation | 2763 Tessellation group Viewports When chosen, the rollout affects how surfaces in the NURBS object are displayed interactively in viewports, including shaded viewports, and by the preview renderer. The Viewports surface settings are also used when you apply a mesh modifier such as Mesh Select to the NURBS object. This is important because the modifier can affect the scene's geometry. Renderer When chosen, the rollout affects how surfaces in the NURBS object are displayed by the renderer. The next cluster of buttons lets you choose which portions of the geometry are affected by the surface approximation settings. Base Surface Settings affect the entire surface. This is the default. Surface Edge Turn on to set approximation values for tessellating surface edges that are defined by trim curves. With Lock turned off, the surface and edge tessellation values are independent of each other. For object-level surfaces, this is unavailable unless Lock (described below) is turned off. Displaced Surface Turn on to set a third, independent approximation setting for surfaces that have a displacement map on page 6482 applied to them. Available only when Renderer is chosen. Using a preset approximation setting (in the Presets group box) should give you faster results for displaced surfaces. Lock (for object-level surfaces only) Locks the Base Surface settings to the Surface Edge settings. In other words, surfaces and surface edges have a relational tessellation setting unless Lock is turned off. Default=on. Tessellation Presets group Lets you choose a preset low, medium, or high quality surface approximation. While a preset is chosen, the values it uses are displayed on the Tessellation Method rollout. Preset values are saved in the 3dsmax.ini on page 42 file. You can customize the preset values by using the Surface Approximation utility on page 2773. Low Selects a (comparatively) low-quality surface approximation. These are the default values: Viewports, Base Surface: Method=Spatial and Curvature Edge=50.0 Distance=50.0 Angle=50.0 Merge=0.0 Advanced Parameters ➤ Minimum=0, Maximum=3 2764 | Chapter 10 Surface Modeling Renderer, Base Surface: Method=Spatial and Curvature Edge=20.0 Distance=20.0 Angle=15.0 Merge=0.01 Advanced Parameters ➤ Minimum=0, Maximum=3 Renderer, Displaced Surface: Method=Spatial and Curvature Edge=20.0 Distance=20.0 Angle=10.0 Merge=(Unavailable) Advanced Parameters ➤ Minimum=0, Maximum=2 Keyboard shortcut: Alt+1 Medium (The default for both viewports and rendering.) Selects a medium-quality surface approximation. These are the default values: Viewports, Base Surface: Method=Spatial and Curvature Edge=20.0 Distance=20.0 Angle=15.0 Merge=0.0 Advanced Parameters ➤ Minimum=0, Maximum=3 Renderer, Base Surface: Method=Spatial and Curvature Edge=10.0 Distance=15.0 Angle=10.0 Merge=0.01 Advanced Parameters ➤ Minimum=0, Maximum=4 Renderer, Displaced Surface: Method=Spatial and Curvature Edge=10.0 Distance=10.0 Angle=4.0 Merge=(Unavailable) Advanced Parameters ➤ Minimum=0, Maximum=3 Keyboard shortcut: Alt+2 High Selects a high-quality surface approximation. These are the default values: Viewports, Base Surface: Method=Spatial and Curvature Edge=5.0 Distance=15.0 Angle=10.0 Merge=0.0 Advanced Parameters ➤ Minimum=0, Maximum=3 Renderer, Base Surface: Method=Spatial and Curvature Edge=5.0 Distance=5.0 Angle=3.0 Merge=0.01 Advanced Parameters ➤ Minimum=0, Maximum=4 Renderer, Displaced Surface: Method=Spatial and Curvature Edge=5.0 Distance=5.0 Angle=2.0 Merge=(Unavailable) Advanced Parameters ➤ Minimum=0, Maximum=4 Keyboard shortcut: Alt+3 NOTE The keyboard shortcuts for surface approximation presets don't require that the Keyboard Shortcut Override Toggle be on. You can change the surface approximation of NURBS objects by selecting them in a viewport, and then using Alt+1, Alt+2, or Alt+3. This works for sub-objects as well, but the surface sub-object's Lock to Top Level toggle must be turned off. NURBS Curve and Surface Approximation | 2765 Tessellation Method group The controls in this group affect the display of the NURBS surface in viewports if you have chosen Viewports above, or by the renderer if you have chosen Renderer above. You can choose between five algorithms. Each approximates NURBS surfaces by tessellating them in a different way. Generally speaking, if the preset values you have chosen give good results, you don't need to adjust the controls on this rollout. Adjust them if you encounter problems with the preset alternative. Tips ■ Viewport Tessellation: The tessellation method creates the mesh. If you modify the NURBS object with Mesh Select on page 1445, choose the method that gives the result you need. If you use modifiers heavily, Spatial or Parametric might be better than Curvature, because of their regular tessellation. Curvature-dependent tessellation can cause problems with some modifiers. ■ Renderer Tessellation: Spatial and Curvature usually obtains the most accurate rendering. Curvature can be the more efficient choice when you render animated surfaces. Lock to Top Level (for sub-object surfaces only) When on, the surface sub-object uses the same surface approximation settings as the top-level NURBS model, and other controls on this rollout are disabled. When turned off, you can set the sub-object approximation to differ from the top-level model. Default=on. Regular Generates a fixed tessellation across the surface based on U Steps by V Steps. Increasing these parameters increases accuracy at a cost of speed, and vice versa, but in general this can be the quickest and least accurate way to approximate a NURBS surface. Very low values for U and V Steps using the Regular method usually doesn't provide good results. Model complexity increases slowly as U and V Steps values increase. 2766 | Chapter 10 Surface Modeling Regular mesh of the NURBS teapot Parametric Generates an adaptive tessellation based on U Steps by V Steps. Low values for U and V Steps using the Parametric method often provide good results. Model complexity increases rapidly as U and V Steps values increase, so take care when you switch from Regular, which generally requires higher U and V values, to Parametric, where lower U and V values generally suffice. For example, if you convert a teapot to NURBS and set the U and V steps to 15, the Regular method generates 4470 faces but the Parametric method generates 204960 faces. Parametric mesh of the NURBS teapot Spatial Generates a uniform tessellation made of triangular faces. The Edge parameter specifies the maximum length of a triangular face in the tessellation. The value is a percentage of the object's bounding box. Decreasing this value increases accuracy but increases rendering time. NURBS Curve and Surface Approximation | 2767 Spatial mesh of the NURBS teapot Curvature (The default.) Generates a variable tessellation based on the curvature of the surface. The tessellation has a finer grain where the surface is more curved. Changing surface curvature dynamically changes the curvature tessellation. The Distance parameter specifies how far the approximation can deviate from the actual NURBS surface. Distance is a percentage of the diagonal of each surface's bounding box. Each surface in an object is tessellated based on its size, independently of other surfaces. Scaling a surface doesn't change its tessellation. Decreasing this value increases accuracy but increases rendering time. When you set Distance to 0.0, 3ds Max ignores this parameter and uses the Angle to control accuracy. The Angle parameter specifies the maximum angle between faces in the approximation. Decreasing this value increases accuracy but increases rendering time. When you set Angle to 0.0, 3ds Max ignores this parameter and uses Distance to control accuracy. When both Distance and Angle are 0.0, the surfaces degenerate and can become flat surfaces. 2768 | Chapter 10 Surface Modeling Curvature mesh of the NURBS teapot Spatial and Curvature Combines the spatial (edge-length) method and the curvature (distance and angle) methods, using all three values. The Edge parameter specifies the maximum length of a triangular face in the tessellation. The value is a percentage of the object's bounding box. Decreasing this value increases accuracy but increases rendering time. When you set Edge to 0.0, the effect is equivalent to the Curvature method. The Distance parameter specifies how far the approximation can deviate from the actual NURBS surface. Distance is a percentage of the diagonal of each surface’s bounding box. Each surface in an object is tessellated based on its size, independently of other surfaces. Scaling a surface doesn’t change its tessellation. Decreasing this value increases accuracy but increases rendering time. When you set Distance to 0.0, 3ds Max ignores this parameter and uses the Edge and Angle values to control accuracy. The Angle parameter specifies the maximum angle between faces in the approximation. Decreasing this value increases accuracy but increases rendering time. When you set Angle to 0.0, 3ds Max ignores this parameter and uses the Edge and Distance values to control accuracy. When Distance, Angle, and Edge are all 0.0, the surfaces degenerate and can become flat surfaces. NURBS Curve and Surface Approximation | 2769 Spatial and Curvature mesh of the NURBS teapot View-Dependent (for the Renderer only) When on, takes the object's distance from the camera into account while calculating tessellation. This can improve rendering time by not generating fine-grained tessellations for objects in the distance of the rendered scene. The view-dependent effect works only when you render camera or perspective views. It doesn't work in orthographic views. This control is disabled while Viewports is active. For the Spatial, Curvature, and Spatial and Curvature methods, the Distance and Edge values specify pixels instead of 3ds Max units when View-Dependent is on. NOTE When View-Dependent is on, tessellation quickly reaches the maximum subdivision limit. You might want to increase this value to 7 (the greatest value allowed). See the description of Advanced Parameters, below. Merge (sub-object surfaces only) Controls the tessellation of surface sub-objects whose edges are joined or very nearly joined. When input to a modifier (such as Mesh Select) requires a mesh, and when NURBS surfaces are tessellated for production rendering, by default 3ds Max adjusts the tessellation of adjoining surfaces to match each other, in terms of the number of faces along the edges. The Merge parameter controls how this is done. If Merge is zero, adjoining faces are unchanged. Increasing the value of Merge increases the distance 3ds Max uses to calculate how edges should match, guaranteeing no gaps between the surfaces when they are rendered. Default=0.0. In most cases, you don't need to adjust Merge. If rendering shows gaps between nearly adjoining faces, increase Merge to eliminate them. Technically, the Merge value is 0.1 percent of the diagonal of the object's bounding box. In other words, a Merge value of 1.0 (higher than necessary for most purposes) is 0.1 percent of the length of the diagonal. Because Merge 2770 | Chapter 10 Surface Modeling is based on the object's dimensions, you can scale the NURBS model without affecting the Merge setting. Advanced Parameters Click to display the Advanced Surface Approximation dialog on page 2771. The parameters in this dialog apply to the Spatial, Curvature, and Spatial and Curvature approximation methods. Clear Surface Level (Appears only for top-level surfaces.) Clears all surface approximation settings assigned to individual surface sub-objects. When you click this button, all surface-specific approximations are lost, and Lock to Top Level is on for surface sub-objects. Advanced Surface Approximation Dialog (NURBS) Modify panel ➤ Select a NURBS surface object or surface sub-object. ➤ Surface Approximation rollout ➤ Tessellation Method group box ➤ Turn off Lock To Top Level. ➤ Advanced Parameters button Select an editable mesh object. ➤ Modify panel ➤ Surface Properties rollout ➤ Advanced Parameters button This dialog sets parameters that control the tessellation used in the Spatial, Curvature, and Spatial and Curvature approximation methods. Interface NURBS Curve and Surface Approximation | 2771 Subdivision Style Chooses the method used to subdivide the surface: Grid Subdivides the surface using a regular grid. Tree (The default.) Subdivides the surface using a binary tree. Delaunay Subdivides the surface using nearly equilateral triangles. Delauney surface subdivision style Subdivision Limits For Grid or Tree subdivisions, the limits control the number of recursive decompositions that are performed during tessellation. Minimum Subdivision Levels Sets the minimum number of recursions. Default=0. Maximum Subdivision Levels Sets the maximum number of recursions. The maximum can be no greater than 7. Be careful: setting the maximum greater than 5 can result in massive face counts and poor performance. Default=3. Maximum Number of Triangles For Delaunay subdivision, the Maximum Number of Triangles lets you specify the maximum number of triangles into which the surface will be divided. Default=20000. 2772 | Chapter 10 Surface Modeling Surface Approximation Utility (NURBS) Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Surface Approximation The Surface Approximation utility lets you change approximation and display settings without going into the NURBS model, and is especially useful for changing settings on multiple NURBS objects at once. It has two rollouts, one for surface approximation and the other for surface display controls: Surface Approximation Rollout on page 2773 Surface Display Rollout on page 2784 Procedures To use the Surface Approximation utility: 1 On the Utilities panel, click the More button, and choose Surface Approximation from the list. 2 Set the desired options on the Surface Approximation and Surface Display rollouts. 3 Select the NURBS objects to apply the settings to. 4 On the Surface Display rollout, click Set Selected to apply the settings. Surface Approximation Rollout Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Surface Approximation ➤ Surface Approximation rollout NURBS Curve and Surface Approximation | 2773 The controls in the Surface Approximation rollout are the same as the surface approximation on page 2762 controls for NURBS on page 2433 surface objects, with two additional buttons: Set Selected and Reset. 2774 | Chapter 10 Surface Modeling Interface NURBS Curve and Surface Approximation | 2775 Iso Parametric Lines group The controls in this group box affect the display of the NURBS surfaces in viewports. U Lines and V Lines The number of lines used to approximate the NURBS surfaces in viewports, along the surface's local U and V dimensions, respectively. Reducing these values can speed up the display of the surface, but reduce accuracy of the display. Increasing these values increases accuracy at the expense of time. Setting one of these values to 0 displays only the edge of the object in the corresponding dimension. Iso Only When chosen, all viewports display iso line on page 9197 representations of the surface. Iso (parametric) lines are similar to contour lines. The lines show where the NURBS surface has a constant U value or V value or both. Iso line representations can be less crowded and easier to visualize than wire mesh representations. Iso and Mesh (The default.) When chosen, wireframe viewports display iso line representations of the surface, and shaded viewports display the shaded surface. Mesh Only When chosen, wireframe viewports display the surface as a wire mesh, and shaded viewports display the shaded surface. In wireframe viewports, this option lets you see the surface approximation used for viewports. Iso and mesh displays of a NURBS teapot 2776 | Chapter 10 Surface Modeling Viewports When chosen, the utility affects how surfaces in the NURBS objects are displayed interactively in viewports, including shaded viewports, and by the preview renderer. The Viewports surface settings are also used when you apply a mesh modifier such as Mesh Select to the NURBS objects. This is important because it can affect the scene's geometry. Renderer When chosen, the utility affects how surfaces in the NURBS objects are displayed by the renderer. Base Surface When on, settings affect entire surfaces in the selection set. Default=on. Surface Edge When on, settings affect the tessellation of surface edges that are defined by trim curves. Displaced Surface Enabled only when Renderer is chosen. Turn on to set a third, independent approximation setting for surfaces that have a displacement map on page 6482 or Displace on page 1255 modifier applied to them. Load Tessellation Preset group Lets you choose a preset low, medium, or high-quality level of surface approximation. While a preset is chosen, the values it uses are displayed in the Tessellation Method group box. Preset values are saved in the 3dsmax.ini file. You can customize the preset values by using the buttons in the following group box, Save Tessellation Preset. Low Selects a (comparatively) low-quality level of surface approximation. These are the default values: Viewports, Base Surface: Method=Spatial and Curvature Edge=50.0 Distance=50.0 Angle=50.0 Merge=0.0 Advanced Parameters ➤ Minimum=0, Maximum=3 Renderer, Base Surface: Method=Spatial and Curvature Edge=20.0 Distance=20.0 NURBS Curve and Surface Approximation | 2777 Angle=15.0 Merge=0.01 Advanced Parameters ➤ Minimum=0, Maximum=3 Renderer, Displaced Surface: Method=Spatial and Curvature Edge=20.0 Distance=20.0 Angle=10.0 Merge=(Unavailable) Advanced Parameters ➤ Minimum=0, Maximum=2 Medium (The default for both viewports and rendering.) Selects a medium-quality level of surface approximation. These are the default values: Viewports, Base Surface: Method=Spatial and Curvature Edge=20.0 Distance=20.0 Angle=15.0 Merge=0.0 Advanced Parameters ➤ Minimum=0, Maximum=3 Renderer, Base Surface: Method=Spatial and Curvature Edge=10.0 Distance=15.0 Angle=10.0 Merge=0.01 Advanced Parameters ➤ Minimum=0, Maximum=4 Renderer, Displaced Surface: Method=Spatial and Curvature Edge=10.0 Distance=10.0 Angle=4.0 Merge=(Unavailable) Advanced Parameters ➤ Minimum=0, Maximum=3 High Selects a high-quality level of surface approximation. These are the default values: Viewports, Base Surface: 2778 | Chapter 10 Surface Modeling Method=Spatial and Curvature Edge=5.0 Distance=15.0 Angle=10.0 Merge=0.0 Advanced Parameters ➤ Minimum=0, Maximum=3 Renderer, Base Surface: Method=Spatial and Curvature Edge=5.0 Distance=5.0 Angle=3.0 Merge=0.01 Advanced Parameters ➤ Minimum=0, Maximum=4 Renderer, Displaced Surface: Method=Spatial and Curvature Edge=5.0 Distance=5.0 Angle=2.0 Merge=(Unavailable) Advanced Parameters ➤ Minimum=0, Maximum=4 Save Tessellation Preset group Click a button to save the current Tessellation Method settings as a new Low, Medium, or High preset. These values are saved in the 3dsmax.ini file. NOTE There is a separate Low, Medium, and High preset for Base Surface and Displaced Surface approximation. Check whether Base Surface or Displaced Surface is on before you use the buttons in this group box to save a custom preset. Customizing preset values overwrites the default presets. To restore the defaults, you can re-enter the default preset values shown above, and then save them with the corresponding button. You can also restore defaults by editing the 3dsmax.ini file to delete the custom preset values. When you customize the preset values, there is no necessary correlation between the button names and the quality of surface approximation. 3ds Max has no way of knowing how "good" a tessellation is, and you can save a very high-quality surface approximation in the Low preset, for example. Tessellation Method group The controls in this group box affect the display of the NURBS surfaces in either viewports, if Viewports is chosen, or by the renderer, if Renderer is NURBS Curve and Surface Approximation | 2779 chosen. You can choose between five algorithms. Each approximates NURBS surfaces by tessellating them in a different way. NOTE When Viewports is chosen, you must also choose Mesh Only in order to see the effect of the Mesh Parameter settings in wireframe viewports. Generally speaking, if the preset values you have chosen give good results, you don't need to adjust the controls in this rollout further. Use them if you encounter problems with the preset alternative. Tips ■ Viewport Tessellation: The tessellation method creates the mesh, so if you modify the NURBS object with Mesh Select, choose the method that gives the result you need. If you use modifiers heavily, Spatial or Parametric might be better than Curvature, because of their regular tessellation. Curvature-dependent tessellation can cause problems with some modifiers. ■ Renderer Tessellation: Spatial and Curvature usually obtains the most accurate rendering. Curvature can be the more efficient choice when you render animated surfaces. Regular Generates a fixed tessellation across the surface based on U Steps by V Steps. Increasing these parameters increases accuracy at a cost of speed, and vice versa, but in general this can be the quickest and least accurate way to approximate a NURBS surface. Very low values for U and V Steps using the Regular method usually doesn't provide good results. Model complexity increases slowly as U and V Steps values increase. Parametric Generates an adaptive tessellation based on U Steps by V Steps. Low values for U and V Steps using the Parametric method often provide good results. Model complexity increases rapidly as U and V Steps values increase, so take care when you switch from Regular, which generally requires higher U and V values, to Parametric, where lower U and V values generally suffice. For example, if you convert a teapot to NURBS and set the U and V steps to 15, the Regular method generates 4470 faces but the Parametric method generates 204960 faces. 2780 | Chapter 10 Surface Modeling Parametric mesh of the NURBS teapot Spatial Generates a uniform tessellation made of triangular faces. The Edge parameter specifies the maximum length of a triangular face in the tessellation. The value is a percentage of the object's bounding box. Decreasing this value increases accuracy but increases rendering time. Spatial mesh of the NURBS teapot Curvature Generates a variable tessellation based on the curvature of the surface. The tessellation has a finer grain where the surface is more curved. Changing surface curvature dynamically changes the curvature tessellation. The Distance parameter specifies how far the approximation can deviate from the actual NURBS surface. Distance is a percentage of the diagonal of each surface's bounding box. Each surface in an object is tessellated based on its size, independently of other surfaces, and scaling a surface doesn't change its tessellation. Decreasing this value increases accuracy but increases rendering time. When you set Distance to 0.0, 3ds Max ignores this parameter and uses the Angle to control accuracy. NURBS Curve and Surface Approximation | 2781 The Angle parameter specifies the maximum angle between faces in the approximation. Decreasing this value increases accuracy but increases rendering time. When you set Angle to 0.0, 3ds Max ignores this parameter and uses the Distance to control accuracy. When both Distance and Angle are 0.0, the surfaces degenerate and can become flat surfaces. Curvature mesh of the NURBS teapot Spatial and Curvature (The default.) Combines the spatial (edge-length) method and the curvature (distance and angle) methods, using all three values. The Edge parameter specifies the maximum length of a triangular face in the tessellation. The value is a percentage of the object's bounding box. Decreasing this value increases accuracy but increases rendering time. When you set Edge to 0.0, the effect is equivalent to the Curvature method. The Distance parameter specifies how far the approximation can deviate from the actual NURBS surface. Distance is a percentage of the diagonal of each surface’s bounding box. Each surface in an object is tessellated based on its size, independently of other surfaces, and scaling a surface doesn’t change its tessellation. Decreasing this value increases accuracy but increases rendering time. When you set Distance to 0.0, 3ds Max ignores this parameter and uses the Edge and Angle values to control accuracy. The Angle parameter specifies the maximum angle between faces in the approximation. Decreasing this value increases accuracy but increases rendering time. When you set Angle to 0.0, 3ds Max ignores this parameter and uses the Edge and Distance values to control accuracy. When Distance, Angle, and Edge are all 0.0, the surfaces degenerate and can become flat surfaces. View-Dependent (for the Renderer only): When on, takes the object's distance from the camera into account while calculating its tessellation. This can 2782 | Chapter 10 Surface Modeling improve rendering time by not generating fine-grained tessellations for objects that are in the distance of the rendered scene. The view-dependent effect only works when you render camera or perspective views. It doesn't work in orthographic views. This control is disabled while Viewports is active. For the Spatial, Curvature, and Spatial and Curvature methods, when View-Dependent is on, the Distance and Edge values specify pixels instead of the default 3ds Max units. NOTE When View-Dependent is on, tessellation very quickly reaches the maximum subdivision limit. You might want to increase this value to 7 (the greatest value allowed). See the description of Advanced Parameters, below. Merge Controls the tessellation of surface sub-objects whose edges are joined or very nearly joined. When input to a modifier (such as Mesh Select) that requires a mesh, and when NURBS surfaces are tessellated for production rendering, by default 3ds Max adjusts the tessellation of adjoining surfaces to match each other, in terms of the number of faces along the edges. The Merge parameter controls how this is done. If Merge is zero, adjoining faces are unchanged. Increasing the value of Merge increases the distance 3ds Max uses to calculate how edges should match, guaranteeing no gaps between the surfaces when they are rendered. Default=0.01. In most cases, you don't need to adjust Merge. If rendering shows gaps between nearly adjoining faces, increase Merge to eliminate them. Technically, the Merge value is one tenth of one percent of the diagonal of the object's bounding box. In other words, a Merge value of 1.0 (higher than necessary for most purposes) is 0.1 percent of the length of the diagonal. Because Merge is based on the object's dimensions, you can scale the NURBS model without affecting the Merge setting. Advanced Parameters Click to display the Advanced Surface Approximation dialog on page 2771. The parameters in this dialog apply to the Spatial, Curvature, and Spatial and Curvature approximation methods. Clear Surfaces When on, the settings you choose in this utility override all sub-object specific surface approximation settings in the selected NURBS models. When off, the utility affects top-level NURBS models but settings local to individual surface sub-objects remain unaffected. Default=Off. Set Selected Applies the surface approximation values active in the utility to all selected NURBS objects. Reset Resets the values in the utility to the default settings for a NURBS surface. NURBS Curve and Surface Approximation | 2783 Surface Display Rollout Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Surface Approximation ➤ Surface Display rollout The controls in the Surface Display rollout are the same as the display controls for NURBS surface objects, with two additional buttons: Set Selected and Reset. Interface Display group Lattices When on, displays control lattices, in yellow lines. (You can change the lattice color by using the Colors panel on page 8860 of the Customize User Interface dialog. The Curve CV and Surface CV sub-object levels also have a local Display Lattice toggle, which overrides this global setting at the sub-object level. The Curve CV and Surface CV settings are independent. In other words, at the sub-object level, you can turn on the lattice for an object’s curves but not its surfaces, or vice versa. Curves When on, displays curves. Surfaces When on, displays surfaces. 2784 | Chapter 10 Surface Modeling Dependents When on, displays dependent sub-objects. Surface Trims When on, displays surface trimming. When turned off, displays all of a surface even if it’s trimmed. Transform Degrade When on, transforming a NURBS surface can degrade its display in shaded viewports, to save time. This is similar to using the Adaptive Degradation toggle for playing animations. You can turn off this toggle so surfaces are always shaded while you transform them, but transforms can take longer to create. Button set Set Selected Applies the display settings active in the utility to all selected NURBS objects. Reset Resets the values in the utility to the default settings for a NURBS surface. Tools for Low-Polygon Modeling A few features help you manage the polygon count for scenes and animations that must not become too complex. Show Statistics, available from the General viewport label menu on page 8707, lets you monitor the number of polygons, vertices, and so on, in the scene, as well as the frames per second displayed. The Level of Detail utility, available from the Utilities panel on page 8810, lets you manage the complexity of an object in the scene. For example, Level of Detail enables you to display a complex object as simple geometry when the object is at a distance from the camera. ProOptimizer is a modifier that helps you reduce the vertex and polygon count of high-resolution models. This feature is also available as a utility, which lets you run it as a batch process on one or more scene files. Show Statistics Click or right-click the General viewport label (“[ + ]”). ➤ General viewport label menu on page 8707 ➤ Show Statistics Keyboard ➤ 7 You can quickly access various statistics related to your current selection and entire scene. Tools for Low-Polygon Modeling | 2785 NOTE These statistics are relevant primarily to mesh and poly objects. Some statistics information might be unavailable with certain other types of object. Procedures To use the viewport statistics display: 1 Choose Customize menu ➤ Viewport Configuration dialog ➤ Statistics panel. 2 Activate the viewport in which to display statistics. 3 Toggle the statistics display by pressing 7 or right-clicking the viewport label and choosing Show Statistics. Interface You can customize the viewport statistics by turning on and off options on the Statistics on page 8978 panel of the Viewport Configuration dialog. The following statistics reflect all options turned on. The first column lists the statistics for the entire scene, while the second only refers to the selected objects. Polys Displays the number of polygons in the scene and selection. NOTE This is valid only for poly objects. Tris Displays the number of triangle faces in the scene and selection. NOTE If you select a polygon in a poly object, this option shows two or more triangles. Edges Displays the number of edges in the scene and selection. Verts Displays the number of vertices in the scene and selection. FPS The frames per second displayed in the viewport. 2786 | Chapter 10 Surface Modeling Level of Detail Utility Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Level of Detail The Level Of Detail utility lets you construct an object that alters its geometric complexity or level of detail based on its size in the rendered image. You create several versions of the same object each with different levels of detail, group them as one, and then run the Level Of Detail utility, which automatically creates a special LOD controller as a Visibility track. The LOD controller then hides and unhides the objects in the group, depending on their size in the rendered scene. The main purpose of this utility is to save time in rendering complex objects and in manipulating objects in the viewports. Since a portion of rendering speed is directly related to the number of faces that must be rendered in a scene, using the Level Of Detail utility lets you reduce the number of rendered faces as an object reduces its apparent size. In addition, you can use this utility to display a simple stand-in for a more complex object in the viewports. Since the stack is not calculated for objects hidden in the viewports, you can speed up viewport manipulation by using this utility to substitute complex stack objects with simple stand-ins. Procedures To set up an object for the Level Of Detail utility: 1 Create two or more objects that are identical except for their complexity. NOTE It's best to assign materials and mapping coordinates, as well as all modifiers while the objects are still separate. 2 Select all of the objects, and use the all of them about a common center. Align tool to center 3 Group the objects. 4 Choose the Level Of Detail utility. 5 While the grouped object is selected, click the Create New Set button. Level of Detail Utility | 2787 The name of the objects within the group appear in the Level Of Detail list, in order of complexity; only the least complex object in the group is displayed in the viewports, while all other objects are made invisible. 6 Use the controls in the Level Of Detail rollout to adjust when the objects will switch their display in the rendered scene. To access an object's stack: 1 Select the Level Of Detail object, and then choose Group menu ➤ Open. 2 In the Level Of Detail utility, choose the object you want to access from the list window, and then turn on Display In Viewports (or double-click the object's name in the list window). 3 Select the object in the viewport. 4 Open the Modify panel to access that object's parameters. 5 When finished, choose Group menu ➤ Close. To assign materials within the group: 1 Select the grouped object. 2 Use Display In Viewports in the Level Of Detail utility to display the grouped object you want to assign the material to. 3 Drag the material from the Material Editor (or the Browser) over to the object in the viewport. 4 Choose Assign To Object in the Assign Material alert, and then click OK. NOTE Be sure and choose Assign To Object. If you choose the default Assign To Selection, all objects in the group will be assigned the same material. 2788 | Chapter 10 Surface Modeling To dismantle a Level Of Detail object: If you look at a Level Of Detail object in Track View, you'll see only the tracks for the sub-object that's currently displayed in the viewports. To see all sub-objects in Track View, you need to turn off Visible Objects. If you need to dismantle a grouped Level Of Detail object, and restore its sub-objects to their independent states, follow these steps: 1 Open the Filters dialog in Track View, and turn off Visible Objects in the Show Only group box. 2 The tracks for all of the sub-objects in the Level Of Detail object are now visible. 3 Open the hierarchy of each of the sub-objects, and then select each of their Visibility tracks. 4 On the Track View toolbar, click the Delete Controller button. 5 If you also want to remove the grouping, select the grouped objects, and then choose Explode in the Group menu. Level of Detail Utility | 2789 Interface Level of Detail Set group Lets you create a new set, and add or remove objects from the current set. 2790 | Chapter 10 Surface Modeling Create New Set Creates a new Level of Detail set based on a currently selected group object. Add To Set Adds an object to the Level of Detail set. You must first attach the object you want to add to the group object. To add an object to the set, use Align to center the object with the group object. Select the object you want to add, and then choose Attach from the Group menu, and then click the group object. Finally, click the Add to Set button, and then click the object you want added. Remove from Set Removes the object highlighted in the list window from the current set. Note that the object then becomes visible in the viewports, but is still part of the group. To remove the object from the group, choose Group menu ➤ Open, select the object you want removed, and choose Group menu ➤ Detach. Select the group object again, and choose Group menu ➤ Close. Image Output Size group Width/Height The Width and Height spinners in this area are set to the current rendering output size each time you enter the Level of Detail utility. Using the spinners, you can change this to any resolution. If the percent of Target Image option is selected, as you change the Target Image Size, the threshold values change as well. Reset to Current Resets both spinners to the current rendering output size. List window Lists all of the objects in the group by complexity, with the least complex at the top of the list. The numbers at the left of each object name are the threshold values that indicate at what size the object will be displayed in the rendered scene. The numbers can be one of two types of units, pixels, or percentage of the target image. You set the type of unit in the Threshold Units group. Display in Viewports Displays in the viewport the object highlighted in the list window. Only one object in the group is displayed in the viewports at any time. As a default, the least complex object is displayed, but you can look at the other objects by highlighting them in the list and selecting this item. Double-clicking the object name in the list performs the same function. Threshold Units group The options in this group box let you choose between two types of threshold units. Switching between these two options does not alter the effect; it alters the method by which you set the thresholds. Level of Detail Utility | 2791 Pixels The thresholds are determined by specifying the maximum pixel size of the image (measured diagonally). Use when you want to set the transfer thresholds using absolute rather than relative values. % of Target Image Sets the thresholds based on the percentage of the size of the image (measured diagonally) relative to the size of the rendered output. Thresholds group Min Size/Max Size Sets the minimum size of the object before it's replaced by the less complex object, and the maximum size of the object before it's replaced by the more complex object. The values vary depending on the current type of Threshold Unit. The default threshold values are initialized so that the most complex object is 100 percent of the image output size. The remaining thresholds are set using an algorithm based on a ratio of the number of faces between each object. It assumes that all faces are the same size, and then picks thresholds so that the faces would remain a constant size as displayed on the screen. Usually, this will provide the type of smooth transition you need, but you can customize the threshold values. The threshold values are interrelated between the objects, so altering the minimum size of one object, for example, will also alter the maximum size of the next object. Reset All Resets all thresholds for all objects in the list, using the previously described algorithm. TIP You can use the Level of Detail utility to create objects that display very simple geometry in the viewports, while displaying complex geometry in the rendered scene. Create a grouped Level of Detail object consisting of only two objects, the complex object and the simple object. Select the simple object in the list window and, in the Thresholds are, set its Min Size and its Max Size to 0. This will display the simple object in the viewports, but the complex object will always appear in the rendered scene, regardless of its apparent size. Close button Close Closes the utility. Optimization Modifiers A few 3ds Max modifiers can help you lower the polygon count of your models. ■ MultiRes on page 1482 The MultiRes modifier reduces the memory overhead needed to render models by decreasing the number of vertices and polygons. This is useful not only within 3ds Max, but for content creators who export models for 2792 | Chapter 10 Surface Modeling use outside of 3ds Max, such as in Web-based 3D applications. MultiRes offers several advantages over the Optimize modifier, including faster operation and the ability to specify reduction as an exact percentage or vertex count. ■ Optimize on page 1504 The Optimize modifier lets you reduce the number of faces and vertices in an object. This simplifies the geometry and speeds up rendering while maintaining an acceptable image. A Before/After readout gives you exact feedback on the reduction as you make each change. ■ ProOptimizer on page 1561 The ProOptimizer modifier lets you select objects and interactively optimize them. ProOptimizer is also avaialble as a Batch ProOptimizer utility on page 2793, described in this chapter. This utility lets you optimize multiple scene files at the same time. Batch ProOptimizer Utility Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Batch ProOptimizer The Batch ProOptimizer utility lets you optimize multiple scene files at the same time. You can optimize 3ds Max (MAX) or Wavefront (OBJ) files. The ProOptimizer feature is an optimization tool that helps you reduce the number of vertices (and so the number of faces) in an object while preserving the object’s appearance. Options let you maintain material, mapping, and vertex color information in the optimized model. Optimizing objects can reduce a scene’s memory requirements, simplify modeling because objects have fewer faces, and improve the speed of viewport display and rendering time. There are two ways to use ProOptimizer: ■ The ProOptimizer modifier on page 1561 lets you select objects and interactively optimize them. ■ The Batch ProOptimizer utility, described here, lets you optimize multiple scene files (MAX or OBJ files) at the same time. Batch ProOptimizer Utility | 2793 TIP With the Batch ProOptimizer, you can optimize meshes before you import them. This can save time. The Batch ProOptimizer is also a good choice if the original meshes are extremely dense. Original model Vertices: 47226 Faces: 93792 Optimized model, Vertex % = 10.0 Vertices: 4722 Faces: 9323 2794 | Chapter 10 Surface Modeling Optimized model, Vertex % = 5.0 Vertices: 2361 Faces: 4660 Batch ProOptimizer Rollout Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Batch ProOptimizer ➤ Batch ProOptimizer rollout The Batch ProOptimizer rollout contains a couple of options, and also lets you open the Batch Optimization dialog, which contains the main controls for this utility. Batch ProOptimizer Utility | 2795 Interface Batch Optimization Click to open the Batch Optimization dialog on page 2797. Options group Apply Modifier When on, applies modifiers to objects before optimizing them. After optimization, ProOptimizer collapses the stack. Default=on. When off, ProOptimizer optimizes base objects only, and does not collapse the stack. Validate 3ds Max dialogs automatically during batch processing Opening and saving files can cause 3ds Max to display dialogs; for example, warnings about missing bitmaps or MAX files that were saved with an earlier version. When on, ProOptimizer confirms these dialogs. This option prevents the dialog appearing interactively, interrupting the batch process and forcing you to intervene. Default=on. When off, ProOptimizer does not confirm dialogs. If a 3ds Max dialog appears during batch processing, you must click to confirm it before the batch process continues. 2796 | Chapter 10 Surface Modeling Batch Optimization Dialog Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Batch ProOptimizer ➤ Click Batch Optimization. ➤ Batch Optimization dialog The Batch Optimization dialog lets you set up and launch a batch optimization task. The first time you click Batch Optimization, ProOptimizer displays a dialog warning you to close any modeless 3ds Max dialogs and windows that might be open. The batch process runs more quickly if all such dialogs are closed before you begin. If your current scene has unsaved changes, the ProOptimizer utility also prompts you to save the scene. Batch ProOptimizer Utility | 2797 Interface The Batch Optimization dialog has three panels, described in the topics that follow. Batch Optimization: Source Files Panel Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Batch ProOptimizer ➤ Click Batch Optimization. ➤ Batch Optimization dialog ➤ Source Files panel On the Source Files panel, you choose which files to optimize. 2798 | Chapter 10 Surface Modeling For options on how to save the optimized files, see Batch Optimization: Optimized Files Panel on page 2802. Interface File Selection Lets you choose an one or more files to optimize. ■ SelectClick to open a file selector that lets you choose the file or files to optimize. Current Directory (The default.) Batch optimizes all the eligible files (MAX or OBJ files) in the current directory. Selected Directory Batch optimizes all the eligible files (MAX or OBJ files) in the selected directory. ■ BrowseClick to display a directory browser that lets you choose the directory to process. Include Subdirectories When on, ProOptimizer scans subdirectories and batch processes the eligible files in them. When off, it processes only files in the specified directory (the root). Default=on. This option is disabled when File Selection is active. Batch Optimization: Optimization Panel Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Batch ProOptimizer ➤ Click Batch Optimization. ➤ Batch Optimization dialog ➤ Optimization panel On the Optimization panel, you choose the optimization levels to generate, and the options that will be active. Batch ProOptimizer Utility | 2799 These settings are comparable to those for the ProOptimizer modifier on page 1561. The main difference is that you can choose to generate multiple files, each of which has a different level of optimization. This panel is inaccessible if you haven’t used the Source Files panel to choose at least one file or directory to optimize. If you haven’t done so, this alert appears when you click the tab: Interface 2800 | Chapter 10 Surface Modeling Optimization Level group The controls in this group are comparable to the Vertex % control for the modifier (see ProOptimizer Modifier on page 1561), but allow you to generate multiple optimized scenes during batch processing. Predefined Vertex % When Predefined Vertex % is active, you can generate up to five optimized files, using Vertex % values that you enter yourself. Defaults = 25, 50, 65, 75, 90. If you enter fewer than five values, ProOptimizer generates only as many optimized files as Vertex % values you specify. Automatic Vertex % When Automatic Vertex % is active, ProOptimizer generates multiplie optimized files at regular Vertex % intervals. Each interval is greater than zero and less than 100 percent (zero percent would leave no geometry at all, and 100 percent is just the original model). The number you choose is the number of optimized files that ProOptimizer generates. Default=9. For example, at the default count of 9, the optimized files use Vertex % values of 10, 20, 30, through 90. If you change the count to 3, the Vertex % values used are 25, 50, and 75. A count of 50 (too large to be practical) would use Vertex % values of 2, 4, 6, through 98. For options on how to save the optimized files, see Batch Optimization: Optimized Files Panel on page 2802. Optimization Options group Crunch Borders / Protect Borders / Exclude Borders See Optimization Mode Group on page 1569. Optimize Hidden Objects When on, ProOptimizer optimizes hidden objects as well as visible ones. When off, ProOptimizer optimizes visible objects only. Default=on. Merge Vertices When on, applies the Merge Vertices tool before optimizing. Default=off. TIP Use this tool if a model has faces that are disconnected, but should not be. ■ Threshold The Threshold setting for the Merge Vertices tool. See Merge Tools Group on page 1582. Merge Faces When on, applies the Merge Faces tool before optimizing. Default=off. Batch ProOptimizer Utility | 2801 TIP Use this tool if the model has surfaces that are subdivided into coplanar faces. ■ Threshold Angle The Threshold Angle setting for the Merge Faces tool. See Merge Tools Group on page 1582. Materials and UVs group These are equivalent to the modifier options. See Materials and UVs Group on page 1573. Vertex Color group These are equivalent to the modifier options. See Vertex Colors Group on page 1577. Symmetry Options group These are equivalent to the modifier options. See Symmetry Options Rollout on page 1586. Normals group These are equivalent to the modifier options. See Normals Group on page 1580. Advanced Options group These are equivalent to the modifier options. See Advanced Options Rollout on page 1587. Batch Optimization: Optimized Files Panel Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Batch ProOptimizer ➤ Click Batch Optimization. ➤ Batch Optimization dialog ➤ Optimized Files panel On the Optimized Files panel, you choose the location of the generated files, their file name format, and file format. This panel is inaccessible if you haven’t used the Source Files panel to choose at least one file or directory to optimize. If you haven’t done so, this alert appears when you click the tab: 2802 | Chapter 10 Surface Modeling Interface File Names group These options tell ProOptimizer how to name the files it generates. Number by order of creation (The default.) When this option is active, ProOptimizer gives the files it generates the name of the original file, followed by a value that shows the order in which the file was created. Batch ProOptimizer Utility | 2803 Number by optimization level When this option is active, ProOptimizer gives the files it generates the name of the original file, followed by a value that shows the optimization level (Vertex % value) used to create the file. Auto rename duplicate files When on, ProOptimizer renames each file it generates if there is a conflict with the name of an exisiting file. When off, ProOptimizer overwrites existing files that have the same name. Default=on. Prefix to add to the name Lets you specify a prefix to add to the name of all files generated by ProOptimizer. Suffix to add to the name Lets you specify a suffix to add to the name of all files generated by ProOptimizer. Optimized Files Directory group These options tell ProOptimizer where to save the files it generates. In the same directory as the source files When active, ProOptimizer saves optimized files in the same directory as the source files. In a subdirectory of the source files (The default.) When active, ProOptimizer saves optimized files in the directory whose name is shown in the Directory Name field. In the selected directory When active, you can click the Browse button to choose a particular directory in which to save the optimized files. Directory Name field When you choose either a subdirectory or specify a particular directory, this field shows the name of the directory used. Default=”.\Results”. NOTE The combination of defaults means that by default, optimized files are saved in a folder named \Result, which is a subdirectory of the directory where the source files are located. ■ BrowseWhen “In the selected directory” is active, click Browse to display a directory browser that lets you choose the folder in which to save the optimized files. Re-create directory tree When on, and “In the selected directory” is active, ProOptimizer creates subdirectories that match the original source tree. When “In a subdirectory of the source files” is active, this option is always on. Default=on. This option is disabled if you turn off Include Subdirectories on the Source Files panel on page 2798. 2804 | Chapter 10 Surface Modeling Optimized Files Format group With these options, you can choose the format of the generated files. Keep source file format if possible, otherwise convert to selected format (The default.) When active, optimized files are saved in the same format as the source file, unless this is impossible for some reason, in which case they are saved in the format specified by the drop-down list. Convert to the selected format When active, optimized files are saved in the format specified by the drop-down list. File Format drop-down list Lets you choose between MAX (3ds Max) or OBJ (Wavefront) file formats. Batch ProOptimizer Utility | 2805 2806 Precision and Drawing Aids 11 3ds Max provides tools that give you control over the positioning and alignment of objects in 3D space. With these tools, you can do the following: ■ Choose display units from the most common real-world measuring systems or define your own. ■ Use the home grid as a construction plane, or use grid objects to position custom construction planes. ■ Select different options to align objects with grids, points, and normals. ■ Use 3D object snaps on a modeless dialog as you build and move geometry in your scene. Grid points and lines are among the many snap options. ■ Use "helper objects" in your work. This category includes grid objects as well as objects used for positioning and measurement. 2807 Various drawing aids Upper left: Aligning objects to grids Upper right: Aligning objects to each other Bottom: Using a Tape helper to measure distance Tools for Precision A set of interrelated tools in 3ds Max gives you precise control of the scale, placement, and movement of objects in your scene. These are especially important tools for those who build precise models in real-world units of measurement. Basic Tools The tools for precision are grouped as follows: Units Define different measurement systems. Besides the generic unit, you have your choice of feet and inches in both decimals and fractions. Metric units range from millimeters to kilometers. You can also define other units. See Using Units on page 2810. 2808 | Chapter 11 Precision and Drawing Aids Grids Include the home grid and special grid objects. Both types of grid can act as construction planes. 3ds Max constructs objects using the orientation and position of the active grid. While the home grid is fixed in world space, you can rotate grid objects and place them anywhere in a scene, and align them to other objects and surfaces. You can also give each grid object its own spacing, and display any grid as a dedicated viewport. See Using Grids on page 2811. Object alignment Matches an object with the position, orientation, or normal of another object, or to a point in space. See Alignment on page 2825. Object snaps Ensure precise placement when creating and rearranging objects. Keyboard shortcuts let you change object snaps as you work. You can also set snaps to find grid lines and intersections. An angle snap sets the increment for rotation, and a percent snap sets the increment for scaling. See Using Snaps on page 2830. Helpers These are specialized tools in the same category as grid objects. For example, the Tape object measures distances in current units, and the Protractor object measures angles. The Dummy helper is useful in constructing hierarchies, and the Manipulator helpers let you use custom controls in the program interface. See Helpers on page 2868. Additional Tools Rounding out the set of precision aids are tools and utilities for checking geometry, measurement, and rescaling units. See Drawing Assistants on page 2905. How the Tools Work Together The tools themselves establish a general order of use and interaction, although you can always change settings as needed without following this sequence. ■ Choose a measuring unit. The default is generic units, sufficient for many purposes. ■ Set grid spacing (the size of the smallest square), based on the measuring unit. The home grid and grid objects can have their own spacing, separate from the grid spacing. ■ Move and align grid objects to a useful orientation. ■ Set or vary snap settings as needed in your work. ■ Use other helper objects like Point and Tape as part of the precision process. Tools for Precision | 2809 As you work, you can change your settings (including the measuring unit) without losing any precision. Using Units Units are the key to connecting the three-dimensional world of 3ds Max with the physical world. You define the units you want to use from the Units Setup dialog on page 8955. Changing Display Units When you change display units, 3ds Max displays measurements in the new unit for your convenience. All dimensions are displayed in the new unit. Essentially, you’re using a new "measuring stick." No object is changed in this process. As in the physical world, objects in the scene maintain their absolute size, regardless of how you measure them. Type-In Entry When you enter any dimension, 3ds Max always assumes the number you enter is expressed in the current units. You can also enter a series of numbers: 3ds Max then converts their sum into the current unit. Here are some examples that assume the current units are in centimeters: ■ When you enter a dimension of 1’ (one US foot), it converts to 30.48cm. ■ If you enter a series of numbers such as 14 286 175 (separated by spaces), the series is totaled to 475.0cm. ■ If you enter 1’ 1 (one US foot and 1 centimeter), this is converted and summed into 31.48cm. When you use US Standard as the display unit scale, you can select either feet or inches as the default for type-in entry. If you select feet and enter 12, the result is 12’ 0". However, if you enter 1’ 2, 3ds Max identifies the second digit as inches, producing 1’ 2" as the result. In any unit system, you can enter fractional amounts. For example, assume you’re working in US Standard with feet as the default: ■ If you enter 18/3, the result is 6’0". ■ If you enter 18/3", the result is 0’6". ■ You can specify units in a different system, and they are converted on the fly. For example, if you enter 18/3cm, the result is 0'2.362". 2810 | Chapter 11 Precision and Drawing Aids Understanding the System Unit 3ds Max keeps track of all measurements in its own internal system unit. No matter what kind of display units you use, measurements are stored in this absolute unit for storage and computation. The default system unit is defined as 1.000 inch. As long as the system unit is left at one inch, you can freely share models and change units on the fly with no effect on the underlying geometry. Except in rare circumstances, you never need to change this default scale. This means you can merge a model created with any standard unit into your scene at true scale. You can change the system unit setting on the System Unit Setup dialog, available from the Units Setup dialog on page 8955. Changing the system unit is recommended only if your scene has very small (less than one inch) or very large dimensions. See System Unit Setup Dialog on page 8959 for more information. If you do need to change the system unit, change it before you create or import geometry. Do not change the system unit in an existing scene. Using Grids Grids are two-dimensional arrays of lines similar to graph paper, except that you can adjust the spacing and other features of the grid to the needs of your work. Using Grids | 2811 One grid establishes the pitch of the boat, another the pitch of the ship Grids have these primary uses: ■ As an aid in visualizing space, scale, and distance. ■ As construction planes where you create and align objects in your scene. ■ As a reference system for using the Snap feature to align objects. Home Grid and Grid Objects 3ds Max provides two kinds of grids: the home grid and grid objects. In addition, it includes the AutoGrid feature, an automated way of creating grid objects. Home grid The home grid is defined by three planes along the world X, Y, and Z axes. Each of these axes passes through the world coordinate system's origin point (0,0,0). The home grid is fixed; it cannot be moved or rotated. ■ The home grid is visible by default when you start 3ds Max, but its display can be turned off. ■ You can use any view of the home grid as a construction plane by drawing in the viewport in which the grid's view appears. 2812 | Chapter 11 Precision and Drawing Aids See Viewing and Navigating 3D Space on page 47 for a complete introduction to the home grid. Grid objects A grid object is a helper object you can create whenever you need a local reference grid or construction plane somewhere other than the home grid. ■ You can have any number of grid objects in your scene, but only one can be active at a time. ■ When active, a grid object replaces the home grid in all viewports. ■ Each grid object has its own set of XY, YZ, and ZX planes. You can freely move and rotate grid objects, placing them at any angle in space, or attach them to objects and surfaces. ■ You can change a viewport to display a plan (top) view of any active grid object. ■ Grid objects can be named and saved like other objects, or used once and deleted. AutoGrid This feature lets you create new objects and grid objects off the surfaces of other objects on the fly. See AutoGrid on page 2819. Using the Home Grid The home grid provides ready-to-use construction planes, much like a leveled building site marked with stakes and strings. When you create an object in a viewport, the new object is placed on the home grid plane of that viewport. To use the home grid effectively for construction, you often need to change the defaults to the job at hand, analogous to moving the stakes and strings to match your own site plan. Using the Home Grid | 2813 Using the home grid to position houses Changing Home Grid Settings The home grid is a single system; its three planes use the same settings for grid spacing and major line divisions. You change these settings from a single panel of the Grid and Snap Settings dialog. To access the Home Grid panel, do one of the following: 1 Choose Tools menu ➤ Grids And Snaps ➤ Grid And Snap Settings, then click the Home Grid tab. 2 Right-click any snap button on page 2833, then click the Home Grid tab. Setting Grid Spacing Grid spacing is the size, in current units, of the grid's smallest square. The basic idea is to choose a grid spacing that corresponds to your unit of measurement, then choose a larger spacing for multiple units. For example, if you have units set to centimeters, you might make one grid space equal to 1.000 (one unit, or one centimeter in this case). 2814 | Chapter 11 Precision and Drawing Aids Setting Major Grid Divisions The home grid displays heavier or "major" lines to mark groups of grid squares. You can use these to represent larger units of measurement. For example, if you use a grid spacing of one centimeter, you might use a value of 10 so the major grid divisions represent one decimeter. Setting Color and Intensity To improve grid visibility, you can change the intensity or color of the home grid. Choose Customize menu ➤ Customize User Interface ➤ Colors panel on page 8860. Using Grid Objects Grid objects let you bypass the home grid and work on separately defined grids to create and position objects. You can use as many grid objects as you like, each serving as a custom construction plane with its own grid settings. Using Grid Objects | 2815 Above: Inactive grid object in a scene Below: Activated grid object Grid objects are 2D parametric objects, with adjustments for overall size and grid spacing. You can adjust their orientation in world space, and match them to a particular surface or object. To activate a grid object: 1 Create or select a grid object. 2 Choose Tools ➤ Grids And Snaps ➤ Activate Grid Object. 2816 | Chapter 11 Precision and Drawing Aids To deactivate a grid object, do one of the following: ■ Select and activate another grid object. ■ Choose Tools ➤ Grids And Snaps ➤ Activate Home Grid. ■ Press Delete to delete the grid object. Creating and Modifying Grid Objects You find Grid objects in the Create panel ➤ Helpers category. When creating an object, you can also create a temporary "AutoGrid" grid object that's tangent to an existing object surface at the point you click. To do this, turn on the AutoGrid on page 2819 check box in the Object Type rollout. You can save this grid by holding the Alt key before you click. Grid objects are named when you create them and are saved with the scene. You can delete them at any time. Like other objects created in 3ds Max, standard grid objects are placed on the grid of the current viewport. By default, this is a plane of the home grid, but can also be another activated grid object. For more information on grid object settings, see Grid on page 2878. Viewing Grid Objects An activated grid helper object on page 2878 creates a true plane in 3D space. No matter how small an activated grid object appears on the screen, its plane is effectively infinite, just as if it were a plane of the home grid. However, you can view a given grid object in different ways. Setting the Display Plane You can adjust the visible plane of a selected or activated grid object on the Modify panel. To set the display plane: 1 Open the selected grid. Modify panel to display the Parameters rollout for the Viewing Grid Objects | 2817 2 In the Display group, choose any of the three planes: XY, YZ, or ZX. The grid rotates in world space to display the corresponding plane, always based on the grid's local axis. You can move or rotate a grid, either before or after setting its display plane. Setting Grid Views You can set the view in any viewport to an orthographic view as well as the display view. To set grid view: 1 Activate the grid object. on page 2881 2 Click or right-click the Point-Of-View (POV) viewport label and from the POV viewport label menu on page 8712 choose Grid to display a submenu of possible views. 3 Choose Front, Back, Top, Bottom, Right, Left, or Display Planes. Display Planes corresponds to the current setting on the Parameters rollout (XY, YZ, or ZX). The viewport now shows this view of the grid. You can set different viewports to different views of the grid. Objects are always created on a view's orthographic grid, even if you rotate the angle of view. In other words, you can set up a convenient view and still construct on the chosen plane. Deactivating Grid Objects You can deactivate a grid object in any of the following ways: ■ Select and activate another grid object. ■ Choose Tools menu ➤ Grids And Snaps ➤ Activate Home Grid. ■ Delete the grid object. When you deactivate a grid object, any viewports based on that grid switch to the corresponding orthographic view. For example, a Grid (Front) viewport becomes a Front viewport. A Grid (Display Planes) viewport always switches to Top view, regardless of the currently displayed plane. 2818 | Chapter 11 Precision and Drawing Aids AutoGrid Create panel ➤ Any object category ➤ Object Type rollout ➤ AutoGrid check box Extras toolbar ➤ (AutoGrid) AutoGrid lets you automatically create, merge, or import objects on the surface of other objects by generating and activating a temporary construction plane based on normals of the face that you click. This serves as a more efficient way of stacking objects as you create them, rather than building objects and then aligning them as a separate step. AutoGrid | 2819 AutoGrid used to position the second block on top of the first You can use objects within an XRef scene as reference when AutoGrid is on. NOTE If the Smooth check box is turned on in the Parameters rollout of a parametric object, the construction plane is placed tangent to the face of the surface implied by any smoothing present on the surface, not the actual face of the surface. Procedures Example: To create a box aligned to another object using a temporary construction grid: 1 Create or load a scene containing an object to which you want to align a new box. 2 On the Create panel ➤ with (Geometry) active ➤ Standard Primitives ➤ Object Type rollout, click Box. 3 Turn on AutoGrid. 2820 | Chapter 11 Precision and Drawing Aids 4 Merge the object you want aligned. 5 Move your cursor over the object to which you want to orient the box you are about to create. The cursor includes an X,Y,Z tripod to help you orient the position of the new object. As you move over the object, the cursor aligns the Z axis to the surface normal. 6 When the orientation is as you want it, click and use the standard drag-release-move-click method to create the box. The box will be created on the designated surface. When you click, a temporary, automatic grid is created, and the newly created object is aligned to that grid. Interface Object Type rollout AutoGrid AutoGrid is available only after you select an object button (such as Box). When you turn AutoGrid on, the cursor includes an axis tripod to help you orient the grid. Before clicking and as you position the cursor over a visible mesh object, the cursor jumps to the nearest point on that surface. The tripod's X and Y axes form a plane tangent to the object surface (forming an implied construction grid), and the Z axis is perpendicular to the plane. After creating the object, 3ds Max places it on the temporary construction grid. When creating an object, if the cursor isn't over another object, 3ds Max places the object on the current active grid. TIP When you create an object that requires multiple clicks, AutoGrid applies only to the first click. So, for instance, if you want to create a Line spline on page 518 that snaps to the faces of a sphere, turn on Snaps on page 2833 (press the S key), and then open the Grid And Snap Settings dialog on page 2850 and turn on Face. AutoGrid | 2821 NOTE To make the grid permanent, hold down the Alt key before you click. The grid becomes active and 3ds Max turns AutoGrid off. Grid Commands Tools menu ➤ Grids and Snaps The Grids commands on the Tools menu ➤ Grids And Snaps submenu provide functions to manipulate the home grid on page 9184 and grid objects on page 9181. The Snaps system uses grids both as visual references and as physical snap references. In addition, grids serve as construction planes, because the objects you create are built on the active grid in the active viewport. As a default, 3ds Max uses a construction grid called the home grid. The home grid is the basic reference system, and is defined by three fixed planes on the world coordinate axes. It provides ready-to-use construction planes, intersecting at right angles through the origin. When the home grid is displayed, each orthographic viewport on page 9251 is coplanar (parallel) with one of the grid faces. A custom grid, or grid object, is a helper object that you can use in place of the home grid. While the home grid is three intersecting planes whose orientation is fixed in world space, a grid object is a free-floating, 2D grid that you can position anywhere and rotate freely, letting you construct objects at any angle in world space. You can also generate grids automatically on existing geometry when creating objects by using AutoGrid on page 2819. Show Home Grid Tools menu ➤ Grids And Snaps ➤ Show Home Grid Click or right-click the General viewport label (“[ + ]”). ➤ General viewport label menu on page 8707 ➤ Show Grids Keyboard ➤ G Show Home Grid toggles the display of the home grid on page 9184 in the active viewport. Grids are used both as visual references and as physical snap references by the Snap system. In addition, grids are construction planes, since the objects you create are built on the active grid in the active viewport. 2822 | Chapter 11 Precision and Drawing Aids As a default, there is a home construction grid called home grid. The home grid is the basic reference system, and is defined by three fixed planes on the world coordinate axes. It provides ready-to-use construction planes, intersecting at right angles through the origin. When the home grid is displayed, each orthographic viewport on page 9251 is coplanar (parallel) with one of the grid faces. Procedures To toggle the display of the home grid, do one of the following: 1 Choose Tools menu ➤ Grids And Snaps ➤ Show Home Grid. 2 Click or right-click the General viewport label (“[ + ]”) and choose Show Grids on the General viewport label menu on page 8707. 3 Press G on the keyboard. Activate Home Grid Activate a grid other than the Home grid. ➤ Tools menu ➤ Grids And Snaps ➤ Activate Home Grid This command activates the home grid on page 9184 as the construction grid, and deactivates the active grid object on page 9181. Procedures To return to the home grid, do one of the following: ■ Choose Tools menu ➤ Grids And Snaps ➤ Activate Home Grid. ■ Right-click the selected grid object, and choose Activate Home Grid from the quad menu. This deactivates the grid object and activates the home grid in all views. Activate Grid Object Select a grid object. ➤ Tools menu ➤ Grids And Snaps ➤ Activate Grid Object Grid Commands | 2823 This command activates the selected grid object on page 9181 as the construction grid and deactivates the home grid on page 9184. This menu item is available only when a grid object is selected. Procedures To activate a grid object: 1 Select a grid object. 2 Do one of the following: ■ Choose Tools menu ➤ Grids And Snaps ➤ Activate Grid Object. ■ Right-click the selected grid object and choose Activate Grid from the quad menu. The grid object changes to show its internal grid structure. Except for its main axes, the home grid disappears in all viewports. 3 Right-click the selected grid object and choose Activate Grid from the quad menu. The grid object changes to show its internal grid structure. Except for its main axes, the home grid disappears in all viewports. Align Grid to View Activate a grid object. ➤ Tools menu ➤ Grids And Snaps ➤ Align Grid to View This command aligns a grid object on page 9181 with the current view. The grid object is aligned so that it's coplanar with the view and oriented with the top of the grid at the top of the view. Procedures To align a grid object with a viewport: 1 Activate a grid object. 2 Click or right-click in a viewport. 3 Right-click to open the quad menu. 2824 | Chapter 11 Precision and Drawing Aids 4 In the Tools 1 quadrant, choose Align Grid to View. The grid object rotates to align itself with the selected view. The grid object is now planar, or parallel, with the viewport. 5 Choose Tools menu ➤ Grids And Snaps ➤ Align Grid to View. The grid object rotates to align itself with the selected view. The grid object is now planar, or parallel, with the viewport. Alignment 3ds Max provides a range of tools for aligning objects. This section includes a couple of brief introductory topics to alignment in 3ds Max; for specific information on the available alignment functions, see Align Flyout on page 905 and Clone and Align Tool on page 900. Aligning Objects You can align a selection consisting of one or more objects, called the source, with a target object. There are many uses for this feature. For precision, an important use is grid alignment. You can create a new grid object and align it to an existing object, either manually after creation or automatically during creation using the AutoGrid on page 2819 feature. Conversely, you can move an object onto a grid anywhere in your scene. Alignment | 2825 Aligning objects by the centers, bottoms, or tops of their bounding boxes Source and Target Objects Alignment involves two entities: one is the source object or selection set, where the process begins; the other is the target object, where the selection process ends. Source object Object or objects you want to move into alignment with another object. You select one or more source objects to begin the alignment process. Target object Object used to define the alignment. You select the target object during the alignment process. It cannot be selected beforehand. After selecting the source, choose Tools menu ➤ Align or click the Align button on the Main toolbar, and then select the target object. Next, the Align dialog appears. For discussion of the Align options, see Align on page 906. 2826 | Chapter 11 Precision and Drawing Aids Setting a Coordinate System The effects of alignment depend on the current reference coordinate system, such as View, World, or Local. You should decide which system you want to use before beginning alignment. Reference Coordinate System Determines the axes used for positional alignment and the size of the bounding box for maximum and minimum positions. To align objects using active grid axes: ■ Choose Grid as the reference coordinate system from the list on the toolbar. To align two objects using their own axes: ■ Choose Local as the reference coordinate system. Alignment is then strictly between the two objects. Object bounding boxes determine maximum and minimum positions. As a reminder to you during the alignment process, the current reference coordinate system appears in parentheses following the Align Position label in the Align Selection dialog. Basics of Aligning Objects Alignment controls are on a single dialog. As you make a setting, the object being aligned moves immediately to the new position. This lets you experiment with alignment until you get what you want. Settings can be made in any order. You can also work step-by-step, by applying position choices, for example, before deciding on final orientation. You can cancel at any time, returning the scene to its original state. You can also undo any alignment and start over. Aligning Objects | 2827 Aligning Multiple Objects Aligning multiple objects to the arrow object (each photo is adjusted in a different correction) When you select multiple objects for alignment, the same settings apply to all of them. However, the effect on each source object can be different. In practice, you're aligning separate objects at the same time with the same settings. To align a collection of objects as a single unit, select the objects and group on page 7909 them. The alignment now takes place relative to the pivot and bounding box of the entire group. Sub-Object Alignment You can use Align with any selection that can be transformed. The tripod axis becomes the source for alignment. You do this by accessing the sub-object level of the object before clicking Align. 2828 | Chapter 11 Precision and Drawing Aids Aligning Normals 3ds Max lets you align the normals between any two objects. In the case of mesh objects, the alignment is between individual faces, because each face has its own normal. See Normal Align on page 912. Normal on the front of the bolt is aligned with the normal of a face on the assembly. Basics of Aligning Normals Before you begin, select a view that lets you see both objects you want to align. If necessary, you can navigate the view after selecting the first normal. To see face normals clearly, work in a wireframe viewport. For details on the procedure and dialog settings, see Normal Align on page 912. Other Align Options The Align flyout on the main toolbar has other buttons that provide specialized alignments. Aligning Normals | 2829 Align Camera Orients a camera viewport to a selected face normal, with the normal in the center of the viewport and on the axis of the camera. See Align Camera on page 917. Align to View Orients a local axis of an object or sub-object selection with the current viewport. Options on the dialog are interactive, as they are on the Normal Align dialog. See Align to View on page 918. Place Highlight Orients a face normal to a light. See Place Highlight on page 915 and Lighting in 3ds Max on page 5686. Using Snaps Standard snaps give you control in creating, moving, rotating, and scaling objects. You access the 3ds Max snap features from buttons on the main toolbar. 2830 | Chapter 11 Precision and Drawing Aids Snapping to: endpoints, midpoints, edges You make most snap settings on Grid And Snap Settings, a modeless dialog with four panels. You can move this dialog to any convenient location on your screen and turn options on and off as you work. Panels are reset to defaults for each new session. You can also make commonly used snap settings on the Snaps toolbar on page 2851. In addition, a Snaps quad menu on page 8650 gives you quick access to some snap options. Snap settings are stored in the 3dsmax.ini on page 42 file rather than in the MAX file. This means that the state of the snap settings persists from session to session without your having to modify the maxstart.max file. Grid And Snap Settings Dialog and Snaps Toolbar The most commonly used grid and object snaps appear on the Grid and Snap Settings dialog on page 2850. This is the general sequence for using these snaps: Using Snaps | 2831 1 Turn on snapping by clicking (Snaps Toggle) on the main toolbar, and then right-click this button to display the Grid And Snap Settings dialog. Two sets of snap types are available: Standard (the default) and NURBS. Both are discussed in Snap Settings on page 2850. You can also make commonly used snap settings on the Snaps toolbar on page 2851. 2 Turn on OSNAPS on the status bar, then right-click this button to display the Grid and Snap Settings dialog. 3 By default, only the Grid Points snap type is active. Turn on other snap types to activate them. When you create or move objects, these snaps are now in effect anywhere in 3D space, and unaffected by the current transform coordinate system. As you move the cursor, each snap type is marked by a distinctive icon shown on the Snap panel. The current icon indicates the type and position of the next snap. Grid points and grid lines are secondary to the other snap types. For example, if both Grid Point and Vertex are active, 3ds Max snaps to a vertex in preference to an equally close grid point. 4 Turn snaps on and off as needed; the easiest way is by pressing the S key. For more information on snaps, see 2D Snap, 2.5D Snap, 3D Snap on page 2833 and Snap Settings on page 2850. Snap Override Snap Override bypasses currently selected snaps. You use a keyboard-mouse combination or a keyboard shortcut to define a new snap for the next click. You can override on the fly, one snap at a time. For example, while creating a spline between grid points, you might need to snap to a vertex or midpoint of an object. This is the general procedure: 1 As you use preset snaps to create or move an object, hold down Shift and right-click. This pops up a three-quadrant right-click menu, which you can use to override the current snap setting(s). 2832 | Chapter 11 Precision and Drawing Aids NOTE You can begin the creation or transformation process before accessing the override menu. This typically means that you'll be holding down the left button as you Shift+right-click. 2 From the Snap Override quadrant, choose the snap type you want to use. The cursor switches to this type. 3 Make the snap. After the snap, currently set snaps are back in effect. In addition, the Snap Override quadrant lets you reuse the last override you used (listed by name), and gives you an option for None. None turns off snapping entirely on the next click. The Snap quad menu also contains an Options quadrant, with toggles for snapping within current transform constraints (default=off) and snapping to frozen objects (default=off). Snap Commands Main toolbar ➤ Snap buttons Menu bar ➤ Tools menu ➤ Grids and Snaps submenu Snaps help you precisely control the dimensions and placement of objects when you create them or transform them. There is also a Spinner snap for controlling the entry of values. You can use objects within an XRef scene as snap references. The snap commands listed below and described in this section are found on the main toolbar (except for Ortho and Polar; see their topics for details). They’re also available from the Grids And Snaps submenu of the Tools menu. 2D Snap, 2.5D Snap, 3D Snap Main toolbar ➤ (2D Snap), Snap) on the Snaps Toggle flyout (2.5D Snap), or (3D Tools menu ➤ Grids and Snaps ➤ Snaps Toggle Keyboard ➤ S Snap Commands | 2833 The buttons on the Snaps Toggle flyout on page 9166 provide control over the range of 3D space where snaps are active. A wide variety of snap types is available from the Snaps dialog on page 2850, which you can use to activate different snap types as you work. 2D, 2.5D, 3D Snaps flyout Object Snapping Object snapping lets you snap to specific portions of existing geometry during creation and transforms of objects or sub-objects. You can also snap to the grid, and you can snap to tangents, midpoints, pivot points, face centers and other options. The mode you choose maintains its state when you switch levels. Transforming Around Snap Points When snapping is on and Auto Key on page 8679 is off, rotations and scales occur about the snap point. For example, if you're using Vertex snapping and you're rotating a box, you can rotate it about any of its corner vertices. See To use snaps to move an absolute distance: on page 2838 below. When Auto Key is on and either Select And Rotate or Select And Scale is active, the Snaps Toggle button is disabled, and rotation and scaling take place about the pivot point of the object. Snap Handle When Moving an Object When 2D, 2.5D, or 3D snaps are turned on and the Move tool is active, the Move gizmo on page 828 shows a small circle at its center. 2834 | Chapter 11 Precision and Drawing Aids A circle at the center of the Move gizmo shows that snaps are active. Not only does the circular handle indicate that snaps are active, it helps increase the accuracy of snaps, compared to releases prior to Autodesk 3ds Max 2011. You can use the gizmo controls as before, or drag the handle itself: In either case, 3ds Max shows the original position of the object, and by default a rubber-band line stretches from the original position to the new destination. When you drag the snap handle or the Move gizmo, the axis center is the start snap point. Snap Commands | 2835 The green line shows start and destination points. ■ When you drag the circular snap handle, axis constraints don’t apply, and Use Axis Constraints is automatically turned off. ■ When you drag an axis or a plane, axis constraints apply, and Use Axis Constraints is automatically turned on. ■ When you drag from a snap point other than the axis center (for example, a vertex), the state of Use Axis Constraints determines whether movement is constrainted or not. When start and destination points are snapped or aligned, the color of the snap points and rubber band changes from Snap Point Active (default=green) to Snap Point Snapped (default=yellow). NOTE You can customize the colors of the snap indicators: In the Customize User Interface dialog ➤ Colors panel on page 8860, choose Elements ➤ Snaps. Dragging from the snap handle is equivalent to using the snap option on page 2859 Use Axis Center As Start Snap Point that was available in versions of 3ds Max prior to Autodesk 3ds Max 2011. In addition, you can use other snap points on the object that you are moving. For example, when snapping to vertices, the following illustrations show that you can snap from a vertex on the object you are moving. 2836 | Chapter 11 Precision and Drawing Aids Vertex snap: Snapping from the upper-left corner of the box. Snapping the upper-left corner of the box to a vertex on the dodecahedron. Snap Commands | 2837 TIP When you snap from a location other than the snap handle (the axis center), be careful of two things: ■ Make sure the Move cursor is visible when you click. Otherwise, you might deselect the object you are trying to move. ■ If the vertex (or other snap location) is close to an axis of the Move gizmo on page 828, the move might be constrained along that axis. Using the snap handle or the Move gizmo corresponds to the toggle Use Axis Constraints on page 2863, or to (Snaps Use Axis Constraints Toggle) on the Axis Constraints toolbar on page 8627 being on. Using a snap point elsewhere on the moving object corresponds to the option being off. In Autodesk 3ds Max 2011, buttons on the toolbar update interactively, depending on which portion of the gizmo or geometry you use to move the object. Procedures To turn snap off during a transform: ■ Press S to toggle snapping off when it gets in the way. Press S again to turn it back on. To use snaps to move a relative distance: 1 Turn on Snaps with the S key, or by clicking (Snaps Toggle). 2 Lock your selection set by pressing the spacebar, or by clicking (Selection Lock Toggle) on the status bar. 3 Wherever you click in the viewport, the snap will stay relative to the distance of your cursor to the object. 2838 | Chapter 11 Precision and Drawing Aids To use snaps to move an absolute distance: 1 Turn on (Snaps Toggle). 2 Click the selection. Snap uses the point you click for the snap source. 3 Move to whatever target snap you desire. The object will snap to an absolute distance. Example: To rotate a box around a vertex using snaps: 1 Make sure 2 (Auto Key) is off. Select the box. 3 On the main toolbar, click (Select And Rotate). 4 Turn Snaps on by pressing S on the keyboard. 5 On the Tools menu, choose Grids And Snaps ➤ Grid And Snap Settings. Turn on Vertex and turn off Grid Points. 6 Lock your selection set by clicking status bar. (Selection Lock Toggle) on the 7 On the toolbar, choose (Use Transform Coordinate Center) (hold the mouse down on Use Pivot Point Center to open the flyout). 8 Move your cursor over any vertex in the box. The blue snap cursor will appear, and then you can rotate the box around that vertex. Interface There are three snap modes: Snap Commands | 2839 2D Snap The cursor snaps only to the active construction grid, including any geometry on the plane of that grid. The Z axis, or vertical dimension, is ignored. 2.5D Snap The cursor snaps only to the vertices or edges of the projection of an object onto the active grid. Suppose you create a grid object on page 9181 and make it active. You then position the grid object so you can see through the grid to a cube further off in 3D space. Now with 2.5D set, you can snap a line from vertex to vertex on the distant cube, but the line is drawn on the active grid. The effect is like holding up a sheet of glass and drawing the outline of a distant object on it. 3D Snap This is the default tool. The cursor snaps directly to any geometry in 3D space. 3D snapping lets you create and move geometry in all dimensions, ignoring the construction plane. Right-click this button to display the Grid and Snap Settings dialog on page 2850, which lets you change snap categories and set other options. Angle Snap Toggle Main toolbar ➤ (Angle Snap Toggle) Tools menu ➤ Grids and Snaps ➤ Angle Snap Toggle Keyboard ➤ A Angle Snap Toggle determines the incremental rotation for a number of features, including the standard Rotate transform. As you rotate an object (or group of objects), the object moves around a given axis in the increment you set. Angle Snap Toggle also affects Pan/Orbit camera controls, FOV on page 9153 and Roll camera settings, and Hotspot/Falloff on page 9187 spotlight angles. 2840 | Chapter 11 Precision and Drawing Aids Procedures To turn angle snap on: ■ On the main toolbar, click (Angle Snap Toggle). When on, angle snap affects all rotational transforms. To rotate an object an even number of degrees: ■ Turn on (Angle Snap Toggle) and rotate the object. By default, the rotations take place in 5-degree increments. To rotate an object a precise degree of rotation, do one of the following: ■ Click (Select And Rotate), then right-click it to display the Transform Type-In dialog on page 835. Enter the exact rotation you want. ■ Right-click to see the quad menu, then click the settings button next to Rotate to open the Transform Type-In dialog on page 835. Enter the exact rotation you want. ■ Right-click (Angle Snap Toggle), then on the Grid And Snap Settings dialog, click the Options tab. Set the Angle value in the General group to the precise degree of rotation you need, then rotate the object. Rotation snaps to the angle increment you specified. Interface The angle increment is set on the Options panel of the Grid and Snap Settings dialog on page 2850. Right-click the Angle Snap Toggle button to display the Options panel of the Grid and Snap Settings dialog. The default is 5 degrees. Snap Commands | 2841 Percent Snap Toggle Main toolbar ➤ (Percent Snap Toggle) Tools menu ➤ Grids and Snaps ➤ Percent Snap Toggle Keyboard ➤ Shift+Ctrl+P Percent Snap Toggle increments scaling of objects by the specified percentage. Interface The snap percent increment is set in the Grid And Snap Settings dialog. The default is 10 percent. Right-click the Percent Snap Toggle button to display the Grid and Snap Settings dialog on page 2850. This is a general-purpose snap system that applies to any operation involving a percentage, such as scaling or squashing. Spinner Snap Toggle Main toolbar ➤ (Spinner Snap Toggle) Spinner Snap Toggle sets the single-click increment or the decrement value for all of the spinners in 3ds Max. Procedures To set and toggle spinner snap: 1 Do one of the following: ■ Choose Customize menu ➤ Preferences. ■ Right-click the Spinner Snap Toggle button on the main toolbar. Either method opens the Preference Settings dialog ➤ General panel. The two controls for spinner snap are in the Spinners group on this panel. 2 Set a value in the Snap field. 2842 | Chapter 11 Precision and Drawing Aids 3 Turn on Use Snap. When you exit the dialog, the Spinner Snap Toggle button is turned on. 4 As you work, use the Spinner Snap Toggle button to toggle the alternate setting. Interface The amounts for Spinner Snap are controlled by settings on the General panel on page 8887 of the Preferences dialog. Default=1.0. Ortho Snapping Mode By default, Ortho Snapping Mode is not directly accessible in the 3ds Max user interface. To add it as a button on the Snaps toolbar, follow this procedure on page 2844. When drawing a Line spline on page 518 or Wall object on page 425, Ortho Snapping Mode constrains line creation to the horizontal or vertical directions relative to the active grid. That is, with Ortho on, you can draw only lines that are parallel to lines of the active grid. Ortho is particularly useful for drawing plans where all lines must be at 90 degrees to each other, such as a house plan. To constrain line-drawing to other angle increments, use Polar Snapping Mode on page 2845 instead. The following provisions apply to using Ortho: ■ Use of Ortho is mutually exclusive of use of the Polar Snapping Mode toggle on page 2845; only one can be active at a time. ■ Ortho Snapping applies primarily to the creation of line splines and wall objects. It can be used while creating other objects, but results are likely to be unsatisfactory. Ortho mode displays a compass which gives a readout of the current angle of the input relative to the positive direction of the local X axis. NOTE If you hold down the Alt key in Ortho mode, the next point becomes doubly constrained by both the previous point and the first point of the current object. This allows you to close splines precisely. In this mode, two compasses are displayed; one each at the first and previous points. Snap Commands | 2843 Procedures To add Ortho Snapping Mode to the Snaps toolbar: 1 Open the Snaps toolbar, if necessary. To do so, right-click an empty part of the main toolbar, such as the area directly below one of the drop-down lists, and choose Snaps. 2 Drag the right end of the toolbar to the right to make room for a new button. 3 Choose Customize menu ➤ Customize User Interface. This opens the Customize User Interface dialog. 4 On the dialog, click the Toolbars tab. 5 Scroll down the Action list on the dialog to the Ortho Snapping Mode item. You can jump to the O section by clicking any item in the list and then pressing O on the keyboard. 6 Drag the Ortho Snapping Mode item from the list to the empty section of the Snaps toolbar. This adds the button to the toolbar. 7 Close the Customize User Interface dialog. 3ds Max automatically saves the toolbar in its revised state and makes the new button a permanent part of the user interface. To use Ortho: 1 Turn on (Ortho Snapping Mode). 2 Begin to draw a Line spline. An orange compass appears where you place the first point, along with a red number indicating the angle of the current line segment with the positive direction of the local X axis. 3 Move the mouse cursor around in the viewport. The line jumps to 90-degree angle increments on the local X axis, while the compass reading updates to show the current angle. 4 Click to place the next vertex. 5 Repeat steps 3 and 4 until you're ready to complete the shape. 2844 | Chapter 11 Precision and Drawing Aids 6 Do either of the following: ■ To finish the shape at the most recent vertex without closing it, right-click anywhere. ■ To finish the shape by closing it, position the mouse cursor close to the first point and then click. A small dialog opens asking if you want to close the spline; click Yes. Polar Snapping Mode By default, Polar Snapping mode is not directly accessible in the 3ds Max user interface. To add it as a button on the Snaps toolbar, follow this procedure on page 2846. When drawing a Line spline on page 518 or Wall object on page 425, Polar Snapping Mode constrains line creation to angle increments determined by the Angle Snap setting relative to the active grid. To change the Angle Snap setting, right-click the Angle Snap Toggle button on the main toolbar and in the Options panel ➤ General group, edit the Angle setting. Polar is particularly useful for drawing plans where angles between all lines must conform to specific angle increments, such as 45 degrees. If all lines must be at 90-degree angles to each other, use the Ortho Snapping Mode toggle on page 2843 instead. The following provisions apply to using Polar: ■ Use of Polar is mutually exclusive of use of the Ortho toggle; only one can be active at a time. ■ Polar applies primarily to the creation of line splines and wall objects. It can be used while creating other objects, but results are likely to be unsatisfactory. Polar mode displays a compass that provides a readout of the current angle of the input relative to the positive direction of the local X axis. NOTE If you hold down Alt in Polar mode, the next point becomes doubly constrained by both the previous point and the first point of the current object. This allows you to close splines precisely. In this mode, two compasses are displayed; one each at the first and previous points. Snap Commands | 2845 Procedures To add Polar Snapping Mode to the Snaps toolbar: 1 Open the Snaps toolbar, if necessary. To do so, right-click an empty part of the main toolbar, such as the area directly below one of the drop-down lists, and choose Snaps. 2 Drag the right end of the toolbar to the right to make room for a new button. 3 Choose Customize menu ➤ Customize User Interface. This opens the Customize User Interface dialog. 4 On the dialog, click the Toolbars tab. 5 Scroll down the Actions list on the dialog to the Polar Snapping Mode item. You can jump to the P section by clicking any item in the list and then pressing P on the keyboard. 6 Drag the Polar Snapping Mode item from the list to the empty section of the Snaps toolbar. This adds the button to the toolbar. 7 Close the Customize User Interface dialog. 3ds Max automatically saves the toolbar in its revised state and makes the new button a permanent part of the user interface. To use Polar: 1 Turn on (Polar Snapping Mode). 2 Begin to draw a line spline. An orange compass appears where you place the first point, along with a red number indicating the angle of the current line segment with the positive direction of the local X axis. 3 Move the mouse cursor around in the viewport. The line jumps to specific angle increments from the X-axis, while the compass reading updates to show the current angle. You set the angle increment in the Grid And Snap Settings dialog ➤ Options panel on page 2859 ➤ General group, which you can access by right-clicking the Angle Snap Toggle button on the main toolbar. 4 Click to place the next vertex. 2846 | Chapter 11 Precision and Drawing Aids 5 Repeat steps 3 and 4 until you're ready to complete the shape. 6 Do any of the following: ■ To finish the shape at the most recent vertex without closing it, right-click anywhere. ■ To finish the shape by closing it, position the mouse cursor close to the first point and then click. A small dialog opens asking if you want to close the spline; click Yes. ■ To finish the shape by closing it while constraining the line to the polar snap, first position the mouse cursor close to the first point, press and hold Alt to constrain the mouse by both the previous point and the first point, and then click. This vertex is automatically placed at the current angle increment from the first point, so that you need only click the first point to close the shape. Setting Snap Options You can access a number of snap features from the Options tab of the Grid And Snap Settings dialog. Right-click any of the snap buttons on the main toolbar to display the Grid And Snap Settings dialog or choose Tools menu ➤ Grids And Snaps ➤ Grid And Snap Settings, then click the Options tab. Setting Snap Options | 2847 See also: ■ Snap Options on page 2859 ■ Snaps Shortcut Menu on page 8650 Display and General Settings Marker settings Determine the color and size of the snap cursor. To prevent the snap cursor from appearing, turn off Display. Snap Radius settings Determines how close the cursor needs to approach a snap point before the snap preview or actual snap takes place. These are global settings, affecting all snap interactions, and are measured in terms of the pixels in a "search region" around the active point of the cursor. Snap to Frozen Objects Normally, if an object is frozen you can't snap to it; this option lets you snap to frozen objects. Settings for Angle and Percent Snap The following Options settings are for two snap buttons that operate independently of standard snaps. Angle (deg) A global setting, in degrees, that determines the angle of rotation for a number of features in 3ds Max, including the standard Rotate transform. As you rotate an object (or group of objects), the object moves around a given axis in the increment you set. Angle snap also affects the following: ■ Pan/Orbit camera controls ■ FOV and Roll camera settings ■ Hotspot and Falloff light angles For more information, see Angle Snap on page 2840. Percent Sets a percentage increment during a scaling operation. For more information, see Percent Snap on page 2842. 2848 | Chapter 11 Precision and Drawing Aids Rotating and Scaling with Snaps The effect of rotating and scaling with snaps depends on whether Auto Key on page 8679 is on or off: ■ With (Auto Key) on, snap toggles are disabled, while Angle and Percent snaps remain active. Rotation and scaling occur around the pivot point of the object. ■ With (Auto Key) off, rotations and scales occur around the snap point. For example, using Vertex snap, you can rotate a box about any of its corners. Translation Options By default, the Use Axis Constraints on page 847 option is off. In Autodesk 3ds Max 2011, buttons on the Axis Constraints toolbar update interactively, depending on which portion of the gizmo or geometry you use to move the object. The Translation group also lets you toggle display of a rubber band line between the start and end points during a snap operation. Settings for Spinner Snap You set the spinner snap on the General panel on page 8887 of the Preferences dialog. Right-click the Spinner Snap button on the main toolbar to display this panel. Spinner snap Sets a numerical increment for spinner fields. If you’re using generic units of 1 inch, a setting of 12 would let you resize objects by one foot with every click, or add 12 segments to a sphere. The same setting applies to all spinner fields. Since spinner snap is a toggle, you can easily turn it on when needed and use the default at other times. Spinner snap has no effect on dragging a spinner, only on single clicks. For more information, see Spinner Snap on page 2842. Setting Snap Options | 2849 Grid and Snap Settings Tools menu ➤ Grids and Snaps ➤ Grid and Snap Settings Right-click any snap button Shift+right-click a viewport. ➤ Snaps shortcut (quad) menu on page 8650 ➤ Snap Options quadrant ➤ Grid and Snap Settings This command displays the Grid and Snap Settings dialog. This modeless dialog establishes settings and options for snaps, the home grid on page 9184, and user-defined grids. Controls on the Grid And Snap Settings dialog determine which snap settings are used when you activate snaps by clicking 3D Snap Toggle. Adjusting any of these snap settings does not automatically turn on snaps. You can use objects within an XRef scene as snap references. Procedures To change grid and snap settings: 1 Choose Tools menu ➤ Grids And Snaps ➤ Grid And Snap Settings and click the appropriate tab. 2 Choose the type of snap you want (Standard or NURBS). 3 Select the snap settings. Snap Settings Tools menu ➤ Grids and Snaps ➤ Grid And Snap Settings ➤ Grid And Snap Settings dialog ➤ Snaps tab Main toolbar ➤ Right-click a snap button Keyboard ➤ Hold Shift+right-click ➤ Snaps quadrant Keyboard ➤ S (toggles snaps on and off) Snapping gives you additional control when creating, moving, rotating, and scaling objects by causing the cursor to “jump” to specific portions of existing geometry and other scene elements during creation and transformation of objects or sub-objects. The controls in this dialog set the snap strength and other characteristics such as the snap target. 2850 | Chapter 11 Precision and Drawing Aids NOTE Snapping functionality includes several features that enhance ease of use. For details, see the General Group section of the Snap Options topic on page 2862. You can specify the portion of the geometry where you will snap. For example, when Vertex is the active snap type, creating and transforming objects snaps to the vertices of existing geometry. You can specify any combination of active snap types to provide multiple snapping points. For example, if Vertex and Midpoint are active, snapping occurs at both vertices and edge midpoints. The default snap type is Grid Points. NOTE Snapping is not on by default. You can toggle snapping by pressing the S key at any time, even in the middle of a transform. In this way you can combine snapping with free positioning. Snapping works at sub-object levels. For example, you can use snaps to position a gizmo to the object on which you're working, or snap it to other objects in the scene. You must activate a viewport in order to use snaps. Also, the Z-axis constraints don't apply to the home grid or grid objects, since grids don't have a Z axis. Settings are stored in the 3dsmax.ini on page 42 file. The state of the snap settings persists from session to session. Snaps and Axis Constraints Snaps take precedence over axis constraints on page 847. If you activate an axis constraint, such as Restrict to X, you can move the object only in X. But if you then turn on snaps, Restrict to X is suspended and not used. You can override this by turning on Snaps Use Axis Constraint Toggle on the Axis Constraints toolbar on page 8627, or by turning on Use Axis Constraints in Snap Options on page 2859. The Snaps Toolbar The most common Snaps settings are available from an optional toolbar. To toggle display of the Snaps toolbar, right-click an empty area of the main toolbar, such as the section under the Reference Coordinate System drop-down, Grid and Snap Settings | 2851 and choose Snaps. The toolbar buttons are shown next to the relevant commands, below and in the Snap Options topic on page 2859. The same settings are also available from the snap quad menu, available with Shift+right-click. Procedures To set grid and snap settings: 1 Turn on (3D Snap Toggle). 2 Choose Tools menu ➤ Grids And Snaps ➤ Grid And Snap Settings to display the Grid and Snap Settings dialog. 3 In the Snaps tab, select one or more of the types of snaps you want active. 4 Create an object or transform an object. Snap markers appear when the mouse cursor is over existing geometry or on a grid, depending on the active snap types. Each snap type has a different display; clicking when the snap-specific display is visible snaps to that spot. To display the Snaps shortcut menu: ■ Hold Shift and right-click anywhere in any viewport. The quad menu that opens gives you access to various snap settings including Snaps Use Axis Constraints and Snap To Frozen Objects. To use both constraint and snaps, do one of the following: 1 In the Grid and Snap Settings dialog ➤ Options tab ➤ Translation group, turn on Use Axis Constraints. 2 Hold Shift and right-click in the viewport, and then choose Options ➤ Transform Constraints from the Snap quadrant. Example: To use 3D snaps and rotation transformations together: 1 Create a box. 2852 | Chapter 11 Precision and Drawing Aids 2 Select the box and turn on 3 On the toolbar, turn on (Select And Rotate). (Selection Lock Toggle). (3D Snaps Toggle), then click 4 From the Use Center flyout on the main toolbar, choose Transform Coordinate Center on page 871). (Use 5 Activate the Perspective viewport and move the cursor over the grid. A blue icon displays when the cursor passes over a grid point. 6 When the blue icon displays, click and drag to rotate the box around the selected grid point. You can rotate around anything you can snap to. To turn snaps on and off during an operation: ■ Use the S keyboard shortcut to turn snap on and off. TIP You can select something with snap off, and then turn snap on to snap it to a snap target. Alternately you might want to snap to something, then position it freely wherever you want. Interface Use these check boxes on the Snaps tab to turn on any combination of snap settings. After setting snaps, close the dialog using the Close button in the dialog's upper-right corner. Do not click the Clear All button, or you'll turn off all the snaps. Override This label changes to display the temporary snap type used by the Override system. For more information, see Snap Override on page 2856. Clear All Turns off all of the Snaps check boxes. Grid and Snap Settings | 2853 NOTE The layout of the Grid And Snap Settings dialog is generated at runtime. Because of this, it might appear slightly different than the illustrations shown here. Standard snaps These are the standard snap types used for grids, mesh, and shape objects. Non-grid snap types, when active, take priority over Grid Points and Grid Lines snaps: if the mouse is equally near a grid point and some other snap type, it will choose the other snap type. NOTE The button images shown below are from the Snaps toolbar on page 2851. Grid Points Snaps to grid intersections. This snap type is on by default. Keyboard shortcut=Alt+F5. Grid Lines Snaps to any point on a grid line. Pivot Snaps to pivot points of objects. Keyboard shortcut=Alt+F6. Bounding Box Snaps to one of the eight corners of an object's bounding box. 2854 | Chapter 11 Precision and Drawing Aids Perpendicular Snaps to the perpendicular point on a spline, relative to the previous point. Tangent Snaps to a tangent point on a spline, relative to the previous point. Vertex Snaps to vertices of mesh objects or objects that can be converted to editable meshes. Snaps to segments on splines. Keyboard shortcut=Alt+F7. Endpoint Snaps to the end points of edges on meshes or spline vertices. Keyboard shortcut=Alt+F8 Edge/Segment Snaps anywhere along edges (visible or invisible) or spline segments. Keyboard shortcut=Alt+F10. Midpoint Snaps to the middle of edges on meshes and spline segments. Keyboard shortcut=Alt+F9. Face Snaps anywhere on the surface of a face. Back faces are culled, so they have no effect. Keyboard shortcut=Alt+F11. Center Face Snaps to the center of triangular faces. NURBS snaps Grid and Snap Settings | 2855 These options snap to objects or sub-objects in a NURBS model on page 9239. The NURBS snaps settings are aids for creating and transforming objects, and are not constraints. 3ds Max does not maintain the relationship between the NURBS object and other objects you create or transform. CV Snaps to a CV sub-object on page 9128 in a NURBS curve on page 9239 or NURBS surface on page 9240. Point Snaps to a point sub-object on page 9270 in a NURBS model. Curve Center Snaps to the center of a NURBS curve. The center of a NURBS curve is calculated parametrically, and might not be the same as the curve's apparent visual center. Curve Normal Snaps to a point normal to a NURBS curve. This snap operates only while you are creating a new object that requires two or more clicks to create. Curve Tangent Snaps to a point tangent to a NURBS curve. This snap operates only while you are creating a new object that requires two or more clicks to create. Curve Edge Snaps to the edge of a NURBS curve (the current object moves or is created to lie along the curve). Curve End Snaps to the end of a NURBS curve. Surf Center Snaps to the center of a NURBS surface. The center of a NURBS curve is calculated parametrically, and might not be the same as the curve's apparent visual center. Surf Normal Snaps to a point on a NURBS surface normal to previous point. This snap operates only while you are creating a new object. Surf Edge Snaps to the edge of a NURBS surface. Snap Override Any viewport ➤ Hold down Shift and right-click. ➤ Snaps shortcut (quad) menu on page 8650 ➤ Snap Override ➤ Standard ➤ Choose snaps type. Any viewport ➤ Hold down Shift and right-click. ➤ Snaps shortcut (quad) menu on page 8650 ➤ Snap Override ➤ NURBS ➤ Choose snaps type. Tools menu ➤ Grids and Snaps ➤ Grid and Snap Settings ➤ Snaps tab 2856 | Chapter 11 Precision and Drawing Aids Snap Override lets you supersede all the currently selected snap types and temporarily use only one, or none, of the snap types currently selected on the Grid And Snap Settings dialog. For example, you might be creating a spline while snapping to grid points, but then need to snap one of its vertices to the midpoint of an object. TIP You can choose the override by cycling through active snap types via a keyboard shortcut instead of using the quad menu. Press Alt+S repeatedly to choose the override snap type. If the Grid and Snap dialog is displayed, the "Override OFF" label changes to display the selected snap type. Procedures To use Snap Override (keyboard shortcut method): 1 Activate all the snap types you want to use or override with. 2 Make sure the Grid And Snap Settings dialog is open to the Snaps panel, so you can easily track the override type. Alternatively, if you're using only snap types available on the Snaps toolbar on page 2851, you can keep the toolbar open instead. 3 While creating or moving an object with Snap on, press Alt+S repeatedly. The Grid And Snap Settings dialog ➤ "Override OFF" label changes to display the first available override snap type, chosen from the active snap types. If the Snaps toolbar is open, and the override snap type is available on the toolbar, the override snap type is visible there as well. 4 Press Alt+S repeatedly. 3ds Max cycles through all the active snap types for the override type. The benefit of this method is that it's fast and easy; you don't have to use the quad menu. But if you want to override with a snap type that isn't currently active, it's necessary to use the standard override method, which is described in the next procedure. To use Snap Override (standard method): 1 While creating or moving an object with Snap on, hold down Shift and right-click in a viewport. 2 Select one of the snap types from the sub-menus in the Snap Override quadrant to make it the only active snap type. If the Grid And Snap Settings dialog is open to the Snaps panel, the "Override OFF" label changes to display the active snap override type. Grid and Snap Settings | 2857 When you complete the mouse action, "Override OFF" is again displayed in the dialog, and the previously active snap types are active again. To use Snap Override during a drag operation: 1 Left-click, press Shift, and then right-click to display the menu. 2 Release the left mouse button, and then left-click to select the snap you want. 3 Release the Shift key, right-click, and continue the drag operation (the geometry remains locked to the mouse). 4 Left-click to complete the operation. Interface In addition to the available snap types, the snap quad menu contains these items: Snap Options quadrant Lets you set the following options: ■ Grid and Snap Settings: Toggles display of the Grid And Snap Settings dialog. ■ Snaps To Frozen Objects: Turn this on to enable snapping to frozen objects. Default=off. ■ Snaps Use Axis Constraints: Turn this on to use the current transform constraints. For example, if you're moving a vertex with Restrict To XY Plane on and want to snap the vertex to a point removed on the Z axis, turn this off, if necessary. Default=off. Snap Override quadrant Lets you set the following options: NURBS/Standard Let you choose a snap type for one-time use. This applies to the next snap only. None Turns off all snap types for the next mouse action. (This item is unavailable if the Snap Toggle is off.) [last] Displays the last snap override type you chose from the NURBS or Standard submenu, letting you easily reuse that type. Snap Toggles quadrant Lets you set six of the most common snap types on an ongoing basis. These remain in effect until you turn them off; it's the same as setting them on the Grid And Snap Settings dialog. 2858 | Chapter 11 Precision and Drawing Aids Snap Options Tools menu ➤ Grids and Snaps ➤ Grid and Snap Settings ➤ Grid and Snap Settings dialog ➤ Options panel Main toolbar ➤ Right-click 3D Snap Toggle ➤ Grid and Snap Settings dialog ➤ Options panel The Options panel of the Grid And Snap Settings dialog lets you set options related to snapping. Procedures To set snap options: 1 Choose Tools menu ➤ Grids And Snaps ➤ Grid And Snap Settings. 2 Click the Options tab. 3 Set the options as desired. Example: To use Snap Preview: The Snap Preview Radius setting lets you preview a snap before it actually happens. The Snap Radius setting determines when actual snapping occurs, providing the same functionality as Snap Strength in previous versions. This procedure also demonstrates how to cycle through available snap/preview points with the keyboard shortcut. 1 Reset 3ds Max, and then maximize the Perspective viewport. To maximize the Perspective viewport, make sure it's active (yellow border), and then press Alt+W. 2 Zoom in a bit so the grid squares are relatively large. Snap and Snap Preview measure in pixels, so if the grid points are relatively far apart, it's easy to see the difference between Snap Preview and Snap. 3 On the main toolbar, click (Snaps Toggle) to turn on snapping, and then right-click the button to open the Grid And Snap Settings dialog to the Snaps panel. Grid and Snap Settings | 2859 The default Snaps setting is Grid Points only; if this is not the case, make it so. A grid point is the intersection of two grid lines. 4 On the dialog, click the Options tab. In the General group, Snap Preview Radius is set to 30 pixels and Snap Radius is set to 20 pixels. You can leave this dialog open while you use snaps. 5 On the Create panel, click Type rollout ➤ Line. (Shapes), and then click Object You're now in line-creation mode. 6 Click anywhere in the viewport to start creating a line-type spline object. 7 Move the cursor around the viewport. As you do so, a rubber-band line connects the mouse cursor to the start point. 8 Position the mouse cursor near a grid point, but not too close, so that the snap cursor (cyan box + crosshairs) appears at the grid point, but the line endpoint remains attached to the mouse cursor. This shows the snap preview; you'll see its purpose in the next step. 9 Click the left mouse button. The second line vertex is created not where you clicked but at the grid point indicated by the snap preview. Snap preview lets you see where a snap will occur before it actually happens. 10 Move the cursor toward another grid point. At the Snap Preview Radius distance (30 pixels), the snap cursor appears at the grid point. 11 Continue moving the cursor toward the grid point. After you move it 10 pixels closer (the difference between Snap Preview Radius and Snap Radius), the line endpoint jumps from the mouse cursor to the grid point. This is the legacy snap functionality. 12 Click to accept the snap. 13 Complete the line, and then zoom out so the grid points are closer together. Start another line, and then position the mouse cursor in the 2860 | Chapter 11 Precision and Drawing Aids center of a grid square, so the preview snap point appears at one of the grid points. 14 On the keyboard, press and hold Alt+Shift and then press S repeatedly to cycle through the remaining nearby grid points. If nothing happens, try zooming out more or increasing the Snap Preview Radius value. By default, 3ds Max uses the closest snap point as the preview location. This keyboard shortcut lets you choose other qualifying snap points. Interface NOTE The layout of the Grid And Snap Settings dialog is generated at runtime. Because of this, it might appear slightly different than the illustration shown here. Marker group Provides settings that affect the visual display of the snap points. Display Toggles the display of the snap guides. When off, the snaps still function, but there's no display. Size Sets the size, in pixels, of the snap "hit" point. This is the small icon that indicates either the source or target snap point. Color Click the color swatch to display the Color Selector, where you can set the color of the snap display. Grid and Snap Settings | 2861 General group Snap functionality includes several features that enhance ease of use. When using Snap, if the cursor comes within distance of a potential snap point that's less than the Snap Preview Radius distance but greater than the Snap Radius distance, the snap cursor jumps to that point as a preview of where the snap will occur, but no actual snapping occurs. To use the preview point as the snap point, click or release the mouse button, depending on the context. If, instead, you then continue to move the cursor toward the potential snap point so that it comes within a distance equal to or less than the Snap Radius value, the snap takes place. TIP For best results, keep the Snap Preview Radius value 10 pixels or more higher than the Snap Radius value. This lets you preview any snap before it actually occurs. Snap Preview Radius When the cursor is a distance from a potential snap-to point between the Snap Preview Radius value and the Snap Radius value, the snap marker jumps to the closest potential snap-to point, but no snap occurs. Default=30. When a snap-to preview point is highlighted, release or click the mouse button (depending on the context) to snap the current selection to that location. Alternatively, before using the displayed snap point, you can cycle though any other available preview and snap points by pressing and holding Alt+Shift and then press S repeatedly. NOTE The Snap Preview Radius value should generally be set higher than the Snap Radius value, so that previewing occurs before snapping. If you attempt to set the Snap Preview Radius value lower than the Snap Radius value, 3ds Max lowers the latter so that the two are equal. This effectively turns off previewing, so that only snapping is in effect. Snap Radius Sets the size of the area around the cursor, in pixels, within which snapping occurs automatically. Default=20. NOTE The Snap Radius value should generally be set lower than the Snap Preview Radius value, so that previewing occurs before snapping. If you attempt to set the Snap Radius value higher than the Snap Preview Radius value, 3ds Max raises the latter so that the two are equal. This effectively turns off previewing, so that only snapping is in effect. Angle Sets the increment at which objects are rotated about a given axis (degrees). Percent Sets the percentage increment for scale transforms. 2862 | Chapter 11 Precision and Drawing Aids Snap to Frozen Objects When on, snapping to frozen objects is enabled. Default=off. This option is also available from the Snaps shortcut menu, accessed when you hold Shift and right-click in any viewport, as well as from the Snaps toolbar on page 2851. Keyboard shortcut=Alt+F2. Translation group Use Axis Constraints Constrains the selected object to move only along the axes specified on the Axis Constraints toolbar on page 8627. When off (the default), the constraints are ignored, and snapped objects can be translated in any dimension (assuming 3D snapping is used). In Autodesk 3ds Max 2011, buttons on the Axis Constraints toolbar update interactively, depending on which portion of the gizmo or geometry you use to move the object. This option is also available from the Snaps shortcut menu, accessed when you hold Shift and right-click in any viewport, as well as from the Snaps toolbar on page 2851 and the Tools menu ➤ Grids And Snaps submenu. Keyboard shortcut=Alt+F3 or Alt+D. Display rubber band When on and you move an selection, a rubber-band line appears between the original location and the mouse position. Use this visual aid for greater accuracy when fine-tuning Default=on. NOTE In Autodesk 3ds Max 2011, the option Use Axis Center As Start Snap Point is no longer present: This is always the default behavior. See Snap Handle When Moving an Object on page 2834 for more information. Home Grid Settings Tools menu ➤ Grids and Snaps ➤ Grid And Snap Settings ➤ Home Grid panel Main toolbar ➤ Right-click 3D Snaps Toggle. ➤ Grid And Snap Settings ➤ Home Grid panel The Home Grid panel of the Grid And Snap Settings dialog sets the spacing and other characteristics of the home grid on page 9184. Choosing useful home Grid and Snap Settings | 2863 grid settings can simplify the construction process. The home grid provides a visual reference for creating objects in a scene. In 3ds Max, grids have these primary uses: ■ An aid in visualizing space, scale, and distance. ■ Construction planes where you create and align objects in your scene. ■ A reference system for using grid snaps. Procedures To set grid spacing for unit measure: 1 From the menu bar, choose Tools menu ➤ Grids And Snaps ➤ Grid And Snap Settings. 2 Click the Home Grid tab. 3 Adjust the value for Grid Spacing, which is in current units. For example, if you have units set to centimeters, you might make one grid space equal to 1.000 (one unit, or one centimeter in this case). To set major grid divisions for multiple units: 1 From the menu bar, choose Tools menu ➤ Grids And Snaps ➤ Grid And Snap Settings. 2 Click the Home Grid tab. 3 Adjust the Major Lines Every Nth Grid Line value, which is the number of grid squares between major lines. The minimum is 2. For example, if you use a grid spacing of one centimeter, you might use a value of 10 so the major grid divisions represent one decimeter. In perspective viewports, you can set a fixed size for the displayed home grid. If Inhibit Perspective View Grid Resize is turned off however, the grid size adjusts as you zoom in or out. To set view update options: 1 From the menu bar, choose Tools menu ➤ Grids And Snaps ➤ Grid And Snap Settings. 2 Click the Home Grid tab. 2864 | Chapter 11 Precision and Drawing Aids 3 Under Dynamic Update, choose either Active Viewport (the default) or All Viewports. To allow subdivision below grid spacing: 1 From the menu bar, choose Tools menu ➤ Grids And Snaps ➤ Grid And Snap Settings. 2 Click the Home Grid tab. 3 Turn off Inhibit Grid Subdivision Below Grid Spacing. When you turn off this box, you can zoom indefinitely "deep" into any plane of the home grid. Each grid square subdivides into the same number of smaller grid spaces. Interface NOTE The layout of the Grid And Snap Settings dialog is generated at runtime. Because of this, it might appear slightly different than the illustration shown here. Grid and Snap Settings | 2865 Grid Dimensions group Grid spacing Grid spacing is the size of the grid's smallest square. Use this spinner to adjust the spacing (which is in current units), or enter the value directly. For example, if you have units set to centimeters, you might make one grid space equal to 1.000 (one unit, or one centimeter in this case). Major Lines every Nth Grid Line The home grid displays heavier or "major" lines to mark groups of grid squares. Use spinner to adjust the value, which is the number of grid squares between major lines, or you can enter the value directly, the minimum is 2. For example, if you use a grid spacing of one centimeter, you might use a value of 10 so the major grid divisions represent one decimeter. Perspective View Grid Extent Sets the size of the home grid in the Perspective viewport. This value is specified in terms of the Grid Spacing value, and represents the length of half the grid along an axis. This means that if Grid Spacing=10.0 and Perspective View Grid Extent=7, you will have a grid that is 140 x 140 units in size. _____ Inhibit Grid Subdivision Below Grid Spacing Causes 3ds Max to treat the grid as a fixed set of lines when you zoom in on the home grid. In effect, the grid stops at the grid space setting. If you keep zooming, the fixed grid is lost from view. Zooming out is not affected. When you zoom out, the home grid expands indefinitely to maintain the major grid divisions. Default=on. When this is turned off, you can zoom indefinitely into any plane of the home grid. Each grid square subdivides into the same number of smaller grid spaces. For a grid spacing of one centimeter and a major division of 10, the next level down subdivides into millimeter spaces, and so on. Inhibit Perspective View Grid Resize Causes 3ds Max to treat the grid in the Perspective viewport as a fixed set of lines when you zoom in or out. In effect, the grid maintains one size, no matter how much you zoom. Default=on. When this is turned off, the grid in the Perspective viewport will subdivide to adjust its size when you zoom in or out. Dynamic Update group Dynamic Update By default, only the active viewport updates as you change values for Grid Spacing and Major Lines every Nth. The other viewports update 2866 | Chapter 11 Precision and Drawing Aids after you have completed changing the values. Choose All Viewports to have all viewports update as you change the values. User Grid Settings Tools menu ➤ Grids and Snaps ➤ Grid And Snap Settings ➤ Grid And Snap Settings dialog ➤ User Grids tab The User Grids panel controls automatic activation of grid objects on page 2878 and settings for AutoGrid on page 2819. Interface NOTE The layout of the Grid And Snap Settings dialog is generated at runtime. Because of this, it might appear slightly different than the illustration shown here. Grid object automation group Determines if 3ds Max automatically makes grids active upon creation. Activate grids when creating Turn on to automatically activate the grid you created. TIP If not turned on, you can activate the grid by selecting the grid, then right-clicking and choosing Activate Grid. AutoGrid group AutoGrid allows you to automatically create grids on the surface of objects. The task of creating objects that are aligned to other object surfaces has been simplified. Turn on AutoGrid in the Object Type rollout of a command panel. Grid and Snap Settings | 2867 When you turn on AutoGrid, 3ds Max uses the setting in the User Grids dialog for world or object space. World space Aligns grids to world space. Object space Aligns grids to object space. Helpers Create panel ➤ (Helpers) Create menu ➤ Helpers Helper objects play a supporting role, like stagehands or construction assistants. Several categories of helpers are available from the drop-down list on the Create panel: Standard helpers on page 2870 Atmospheric Apparatuses on page 7694 Camera match on page 5976 Assembly Head Helper Object on page 7936 ■ Character Assembly on page 7920 ■ Luminaire Helper Object on page 7937 Manipulator Helper Objects on page 2892 Particle Flow helpers on page 3079 VRML97 Helper Objects on page 8389 reactor on page 4255 Other helper objects might be available, depending on your configuration. Select And Manipulate Main Toolbar ➤ (Select And Manipulate) 2868 | Chapter 11 Precision and Drawing Aids The Select And Manipulate tool lets you edit the parameters of certain objects, modifiers, and controllers by dragging "manipulators" in viewports. NOTE Unlike Select And Move and the other transforms, this button's state is non-exclusive. As long as Select mode or one of the transform modes is active, and Select And Manipulate is turned on, you can manipulate objects. However, you must turn off Select And Manipulate before you can select a manipulator helper. You can add these custom manipulators to your scene: Cone Angle Manipulator on page 2893 Plane Angle Manipulator on page 2896 Slider Manipulator on page 2900 These features have manipulators built in, which you can use to change parameters on these objects: IK Solver Properties Rollout (HI Solver) on page 3735 Reaction Controllers on page 3559 Target Spotlight on page 5758 Target Directional Light on page 5764 mr Area Spotlight on page 5780 Free Spotlight on page 5761 Spotlight Parameters on page 5799 UVW Map Modifier on page 1883 Primitives on page 318 with a Radius parameter have a built-in manipulator for the radius. Caddy Manipulators When Select And Manipulate is active, the caddy on page 2339 appears in certain sub-object contexts for convenient access to settings. These include: ■ ■ Vertex Weight on page 2057 Edge Weight and Crease on page 2066 Select And Manipulate | 2869 ■ Set Flow on page 2091 ■ Loop Shift on page 1296 ■ Ring Shift on page 1294 ■ When Soft Selection is active, the caddy manipulator includes settings for Falloff, Pinch, and Bubble on page 1971. TIP You can toggle the availability of any individual setting in the caddy manipulator with a check box setting that drops down from the respective ribbon control. Standard Helper Objects Create panel ➤ (Helpers) ➤ Standard ➤ Object Type rollout Create menu ➤ Helpers Helper objects play a supporting role, like stage hands or construction assistants. The helpers in this section serve mainly as precision and drawing aids, while you can find links to other kinds of helpers in the See Also list, following. 2870 | Chapter 11 Precision and Drawing Aids See also: ■ Container on page 7855 ■ Crowd Helper on page 5515 ■ Delegate Helper on page 5507 ■ Atmospheric Apparatuses on page 7694 ■ CamPoint Helper on page 5976 ■ Assembly Heads Helper on page 7937 ■ Manipulator Helper Objects on page 2892 ■ Particle Flow helpers on page 3079 ■ VRML97 Helper Objects on page 8389 ■ reactor Helpers on page 4281 Dummy Helper Create panel ➤ ➤ Dummy (Helpers) ➤ Standard ➤ Object Type rollout Create menu ➤ Helpers ➤ Dummy A Dummy helper object is a wireframe cube with a pivot point at its geometric center. It has a name but no parameters, you can't modify it, and it doesn't render. Its only real feature is its pivot, used as a center for transforms. The wireframe acts as a reference for transform effects. Standard Helper Objects | 2871 The dummy object is used primarily in hierarchical linkages. For example, you can use a dummy object as a center of rotation by linking a number of different objects to it. When you rotate the dummy, all of its linked children rotate with it. A dummy is often used this way to animate linked motion. Another common usage of a dummy object is in the animation of target cameras. You can create a dummy and position a target camera within the dummy object. Then you can link both the camera and its target to the dummy, and animate the dummy with a path constraint. The target camera will follow the dummy along the path. Dummy objects are always created as cubes. You can change the proportions of dummies by using non-uniform scaling, but avoid this on dummies that are within a hierarchical linkage; this can introduce unexpected results. Procedures To create a dummy object: ■ Click Dummy and drag a cube to any convenient size. Interface Dummy objects don't have any parameter rollouts or settings. Expose Transform Helper Create panel ➤ ➤ ExposeTm (Helpers) ➤ Standard ➤ Object Type rollout Create menu ➤ Helpers ➤ Standard ➤ ExposeTm The Expose Transform helper exposes values of non-keyed objects for use in expressions and scripts. This lets riggers and animators access a select set of transforms for an object, and between an object and its parent, such as a bone in an IK chain. For example, using the Expose Transform helper, you could write a script or use parameter wiring that tests the angle of an character's arm bone that's controlled by IK (thus, has no keys), and once it exceeds a specific value, rotate the corresponding clavicle bone to deform the shoulder area. In the viewports, the Expose Transform helper object looks just like a Point helper on page 2884. 2872 | Chapter 11 Precision and Drawing Aids Procedures To use the Transform helper: 1 Click ExposeTm and choose the appearance characteristics from the Display rollout. 2 Adjust the size of the helper object by using the Size spinner on the Display rollout. Default=20.0 3 Click anywhere in your scene to add the helper object. The helper object's position has no bearing on its functionality. 4 On the Modify panel ➤ Parameters rollout, click the Expose Node button (default label: None) and select the object whose transform values you want to expose. The object's name appears on the button, and its transform values appear in the fields on the Expose Values rollout. 5 Optionally, turn off Parent and choose a Local Reference Node object. This option is used by the Local Euler Angles, Distance To Reference, and Angle parameters. If the object has no parent and you don't specify a Local Reference Node object, these fields use the world center (0,0,0) as the reference node. 6 To use a transform value in a script or expression, first click the M button next to the parameter value. This copies the transform name, using MAXScript notation, to the copy buffer. 7 Paste the contents of the buffer to your script or expression. A sample result of this is “$ExposeTransform01.localPositionX”. 3ds Max interprets this as the local position, on the X axis, of the Expose Node object. Standard Helper Objects | 2873 Interface Parameters rollout These settings let you specify the exposed node, a reference object other than the parent, and rotation and timing parameters. Expose Node The object from which the values are generated. Click the button, and then select the object. Thereafter, the object name appears on the button. Local Reference Node The object whose relationship with the Expose Node object is used to generate local data for rotation, distance, and angle. Click the button, and then select the object. Available only when Parent is off. By default, this is the parent object, but you can turn off Parent and then specify a different object. Parent When on, the Local Reference Node is set automatically to the parent of the Expose Node. When off, you can pick an object to refer to for local data. Default=on. 2874 | Chapter 11 Precision and Drawing Aids This is used by the Local Euler Angles, Distance To Reference, and Angle parameters. If the object has no parent and you don't specify a Local Reference Node object, these fields use the world center (0,0,0) as the reference node. Rotation Order These three settings determine the order in which the Expose Transform helper will look for an Euler rotation. This parameter corrects for anomalies that can be introduced when a local rotation value is generated in relation to other rotation values. For example, when Z Order is set to XYZ, the Z value is generated in reference to X and then Y. Or when X Order is set to ZXY, the Z value is generated directly in reference to the parent, regardless of X and Y rotations. Strip NU Scale When on, removes any non-uniform scaling that could influence the rotation data. It does not strip non-uniform scaling from the object; only from the values generated. Use Time Offset When on, lets you specify a frame other than the current one from which to gather data. The Offset value is added to the current frame to derive the frame from which data is gathered. For example, if the current frame is 20 and you wish to gather data from frame 15, turn on Use Time Offset and set Offset to -5. Display rollout Lets you specify how the helper object appears in the viewports. By default, the display type is set to Cross only, and Size is set to 20.0. You can activate multiple display settings if you like. Center Marker Displays a small X marker at the center of the helper object. Standard Helper Objects | 2875 Axis Tripod Displays a tripod axis indicating the position and orientation of the helper object. Cross Displays an axis-aligned cross. Box Displays a small axis-aligned box at the center of the helper object. Size Sets the size for the helper object. Use this setting to minimize the helper object, or increase its size to aid in locating it. Default=20.0. Constant Screen Size Keeps the size of the helper object constant, regardless of how much you zoom in or out. Draw On Top Displays the helper object on top (or in front) of all other objects in the scene. 2876 | Chapter 11 Precision and Drawing Aids Exposed Values rollout This rollout provides readouts of values for all transform values of the Expose Node object. Each value has a button labeled “M” next to it; click this button Standard Helper Objects | 2877 to copy the MAXScript associated with the value to the clipboard, which you can then paste into a script. Display Exposed Values When on, transform values for the Expose Node object appear on this rollout, and update as the values change. When off, values don't appear, but the M buttons still function normally. Local Euler Angles Rotation values with respect to the parent or Local Reference Node object. World Euler Angles Rotation values in the world coordinate system. Local Position Position values with respect to the Expose Node object's local coordinate system. World Position Position values in the world coordinate system. Bounding Box The maximum dimensions of the object. Distance to Reference The distance between the Expose Node object and its parent or the designated Local Reference Node object. If neither exists, this shows the distance to the world center (0,0,0). Angle The angle between the Expose Node object and its parent or the designated Local Reference Node object. Grid Helper Create panel ➤ (Helpers) ➤ Standard ➤ Object Type rollout ➤ Grid Create menu ➤ Helpers ➤ Grid The grid, also called User Grid or Custom Grid, is a 2D parametric object with adjustments for overall size and grid spacing. You can move and orient user grids anywhere in world space. You can create any number of grid objects in your scene. You name them when you create them and save them with the scene. You can delete them at any time. Like other objects you create in 3ds Max, grid objects are placed on the grid of the current viewport. By default, this is a plane of the home grid, but it can also be another activated grid object. 2878 | Chapter 11 Precision and Drawing Aids NOTE You can use AutoGrid on page 2819 to create a temporary or permanent user grid off the surface of any object. Using the Grid Object You can use the grid object as a construction plane on all three orthographic planes in both directions. Here's how it works: In the Parameters rollout of each grid object is a Display group with three options: XY Plane, YZ Plane, and ZX Plane. These determine which of the three planes of the grid object is displayed in the viewport. When you activate a grid object, the displayed plane is the construction plane for all viewports. When you create a grid viewport, you can choose from one of six orthographic views (Front, Top, Left, and so on), or you can choose a special Display Planes grid viewport. (When you press the G key to create a grid viewport, the Display Planes type becomes the default.) The Display Planes type of grid viewport always displays the plane chosen by the three option buttons under Display. Thus, as you switch between XY Plane, YZ Plane, and ZX Plane, the view through the grid viewport switches accordingly, and objects created in that viewport are created on the displayed plane. When you use the Point-Of-View (POV) viewport label menu on page 8712 (or go to the Layout tab of the Viewport Configuration dialog), you can choose six additional types of grid viewports, based on the six orthographic views. These are available by a cascading Grid menu that provides Left, Right, Front, Back, Top, Bottom, and Display Planes. Each of the orthographic directions is local to the grid object, regardless of its orientation in the scene. When you choose a specific orthographic grid viewport (as opposed to the Display Planes viewport), the construction of objects in that viewport is on the plane specified in the viewport title regardless of the displayed plane of the grid object. You can create more than one viewport based on the same grid object, with each using a different plane. For example, you can have a Grid (Front) viewport and a Grid (Top) viewport, as well as a Grid (Display Planes) viewport. When you deactivate a grid object, its remaining viewports show the assigned orthographic view. Thus, a Grid (Front) viewport becomes a Front viewport, for example. A Grid (Display Planes) viewport always reverts to a Top view, regardless of the currently displayed plane. Scaling Not Advised As a rule, don't use scaling to resize a grid object. Scaling enlarges or reduces the apparent size of the grid object but has no effect on grid spacing. A sphere Standard Helper Objects | 2879 20 units in radius created on a grid object appears smaller than another 20-unit sphere created on a scaled-up version of the same grid. If you want to change the actual size of the grid object, select it and go to the Modify panel ➤ Parameters rollout ➤ Grid Size group, and change the Length and Width settings. Locating Grid Tools Grid tools are available throughout the 3ds Max interface. ■ On the Tools menu ➤ Grids And Snaps submenu are the commands to activate home and user grids. The same tools are available by right-clicking anywhere in the viewport when a grid helper is selected. ■ Right-click in the viewport while a grid object is selected and the Tools1 quadrant of the quad menu provides commands to activate the home and user grids. ■ Choose Tools menu ➤ Grids And Snaps ➤ Grid And Snap Settings to display the Grid and Snap Settings dialog on page 2850. Two tabs are devoted to Grid tools, one for home, another for user grids. You can change parameters of any active grid using the Modify panel. See also: ■ Viewing Grid Objects on page 2817 Procedures To create a grid object: 1 Do one of the following: ■ Click Create panel ➤ Type rollout ➤ Grid. (Helpers) ➤ Standard ➤ Object ■ Choose Create menu ➤ Helpers ➤ Grid. The Parameters rollout appears on the Create panel. 2 In a viewport, drag out a rectangle and release the mouse button. This creates and selects a grid object, which appears in white wireframe, divided into four quadrants with coordinate axes at the center. 2880 | Chapter 11 Precision and Drawing Aids While the newly created grid object is still selected, you can change its settings on the Parameters rollout. You can also create a grid object during object creation. Turn on AutoGrid, then press Alt during object creation. A grid is created at the same time as the object and remains displayed and active. See AutoGrid on page 2819 for more information. To activate a grid object: A grid object requires activation before use. Standard selection doesn't activate it unless you turn on the option to do so (see User Grids on page 2867). Only one grid can be active for construction at a time, whether it's the home grid or a grid object. Activating a user grid "deactivates" the home grid. Activating a grid object enables options to reactivate the home grid on the Tools menu ➤ Grids And Snaps submenu and the Quad menu. If you have more than one grid object in your scene, you have to activate each one separately. Select the grid object you want to make active and follow the same procedure. Activating another grid object deactivates the current one. 1 Select a grid object. 2 Do one of the following: ■ From the Tools menu, choose Grids And Snaps ➤ Activate Grid Object. ■ Right-click the selected grid object and choose Activate Grid from the quad menu. The grid object changes to show its internal grid structure. Except for its main axes, the home grid disappears in all viewports. To reactivate the home grid, do one of the following: ■ From the Tools menu, choose Grids And Snaps ➤ Activate Home Grid. ■ Right-click the selected grid object and choose Activate Home Grid from the quad menu. This deactivates the grid object and returns the home grid in all views. If you delete an activated grid object, the home grid also reactivates. Standard Helper Objects | 2881 You can assign a keyboard shortcut to Activate Home Grid in the Keyboard panel on page 8837 of the Customize User Interface dialog. This is useful if you need to move back and forth between different grids. To use a grid object as construction plane: When activated, a grid object replaces the home grid as the frame of reference for creating objects. An activated grid object creates a true plane in 3D space. No matter how small an activated grid object appears on screen, its XY plane is effectively infinite, just as if it were the XY plane of the home grid. 1 Activate the grid object. 2 Create any category of object. 3ds Max creates the object directly on the plane of the grid object, with the object's Z axis perpendicular to the plane. 3 Use Application menu on page 8579 ➤ Import ➤ Merge to import an object. 3ds Max creates the object directly on the plane of the grid object, with the object's Z axis perpendicular to the plane. See Align on page 906 for details on aligning objects and grids. Like other objects in 3ds Max, you can move and rotate grid objects freely using standard transformation methods. These transforms, along with alignment, are essential in positioning a construction plane in 3D space. To nudge a grid object up or down: 1 Activate the grid object. 2 Use Customize User Interface on page 8837 to specify controls for the Nudge Grid Down and Nudge Grid Up actions. For example, you could set the + and − keys on the numeric keypad to move the grid object up and down. Adjust the nudge strength with the Grid Nudge Distance on page 8899 setting on the Viewports panel of the Preferences dialog. 2882 | Chapter 11 Precision and Drawing Aids Interface Grid Size group Sets the overall size of the grid object. This size determines the extents of a viewport set to the grid object. It doesn't affect the useful limits of the grid, which extend infinitely. Length/Width Specifies the length and width of the grid. Grid Spacing group Grid Specifies the size of the smallest square in the visible grid. This setting appears on the status line when the grid is activated. Standard Helper Objects | 2883 NOTE You can set Grid Spacing when a grid is selected, but you won't see the grid spacing until the grid is activated. Active Color group Determines the color used to draw the grid in viewports when it's not selected. Gray The active grid object is two shades of gray. Object Color The main grid lines use the assigned object color, while the secondary lines use a lighter intensity. Home Color The grid object uses the home grid color assigned via the Customize User Interface dialog on page 8837. Home Intensity The grid object uses the grid intensity settings assigned to the home grid in the Customize User Interface dialog on page 8837. Display group XY Plane, YZ Plane, ZX Plane Determines which of the three planes of the grid object are displayed in the viewport. Point Helper Create panel ➤ ➤ Point (Helpers) ➤ Standard ➤ Object Type rollout Create menu ➤ Helpers ➤ Point Point provides a specific location in 3D space that can be used as a reference or by other program functions. Procedures To create a point in space: 1 Click Point and check the type of display from the Parameters rollout. 2 Adjust the size of the point object by using the Size spinner in the Parameters rollout. Default=20.0 3 Left-click and drag anywhere in your scene. 2884 | Chapter 11 Precision and Drawing Aids The point follows the cursor until you release the mouse button, indicating the current location of the point object. 4 Move the cursor to where you want the point object and release the mouse button. The point object appears using the display setting you chose. You can move and rotate the point as needed using standard transformation methods. Interface Center Marker Displays a small X marker at the center of the point object. Axis Tripod Displays a tripod axis indicating the position and orientation of the point object. The axis remains visible when the point object is no longer selected. Cross Displays an axis-aligned cross. Box Displays a small axis-aligned box at the center of the point object. Size Sets the size for the point object. Use this to minimize the point object, or increase its size to aid in locating it. Default=20. Constant Screen Size Keeps the size of the point object constant, regardless of how much you zoom in or out. Standard Helper Objects | 2885 Draw On Top Displays the point object on top of all other objects in the scene. NOTE You can also choose to activate multiple display settings. Tape Helper Create panel ➤ (Helpers) ➤ Standard ➤ Object Type rollout ➤ Tape Create menu ➤ Helpers ➤ Tape Measure Tape provides an on-screen "tape measure" for determining and setting distances. The tape is composed of two named objects, in the same way targeted lights and cameras are. By default, these are named Tape## and Tape##.Target. The tape and target icons are connected by a line representing the current distance between them. Using a tape helper to measure the distance from floor to window frame. 2886 | Chapter 11 Precision and Drawing Aids You can drag a length (the default), or enter a specific length by turning on Specify Length. You can snap or align either end of the tape or link to objects in your scene. Deleting either end deletes the tape. NOTE When you add a Tape helper object, 3ds Max automatically assigns a Look At controller on page 3533 to it, with the tape's target object assigned as the Look At target. You can use the controller settings on the Motion panel to assign any other object in the scene as the Look At target. Selection You can select a tape-measure object from either end, or from the middle. When you click the connecting line, both ends of the tape object become selected so you can move them as one. Note that the same is true of target cameras and lights. NOTE Line selection is available only when clicking with the mouse. Region selection doesn't work for this. TIP The Length readout of the tape object is displayed in the Modify panel only when you select the tape end of the object (as opposed to the target or link line). You can lock the Length display by activating the Pin Stack button while the tape end is selected, and then proceed to adjust any part of the tape object or any other object in your scene. See also: ■ Measure Distance Tool on page 2913 Procedures To measure a distance: 1 Click Tape and drag from one point to create the tape, and then drag to a second point and release the mouse button to create the target. The distance between tape and target appears in the Length field. The number in the Length field is gray to indicate that this is a read-only measurement. NOTE To snap the tape ends to object vertices, edges and so on, turn on Snap on page 2833 with the appropriate snap settings activated. Standard Helper Objects | 2887 2 Move either end to a new location. The line between stretches to the new distance, shown in the Length field. NOTE For accurate results when moving a tape endpoint with Snap, you must turn on Pivot in the Snap Settings panel as well as the types of sub-object you want to snap to; see Snaps on page 2850. This is because the endpoints are actually pivots. To set a distance: ■ Turn on Specify Length in the Parameters rollout, enter a length, and then create the tape. The connector line is the length you specified, although you can still set the target to any offset by dragging. You can reorient this line as required. NOTE Clearing Specify Length will adjust the connector line length to meet the target and the new length appears in the Length field. Interface 2888 | Chapter 11 Precision and Drawing Aids Parameters rollout Length Specifies the length of the tape object. You must select the Specify Length check box to enable this option. Specify Length Activates the Length parameter setting. Otherwise the tape object's length will be specified by clicking and dragging in the viewport. World Space Angles group To X/Y/Z Axis Displays the angle of the tape object relative to each axis in world space. To XY/YZ/ZX Plane Displays the angle of the tape object relative to each of these home planes. Protractor Helper Create panel ➤ ➤ Protractor (Helpers) ➤ Standard ➤ Object Type rollout Create menu ➤ Helpers ➤ Protractor Protractor measures the angle between a point and any two objects in your scene. The names of the two objects appear above their respective buttons, and the angle formed at the protractor object between the pivot points of the two objects is displayed in the Angle field. Lines are drawn between the protractor and the two selected objects. NOTE The line to the first selected object uses the Target Line color, and the line for the second selected object uses the color of the protractor. The Target Line color is set with Customize User Interface dialog ➤ Colors panel on page 8860 ➤ Elements drop-down list ➤ Gizmos group. The Protractor color is set by choosing the Tape Object in Customize User Interface dialog ➤ Colors panel on page 8860 ➤ Elements drop-down list ➤ Objects group. You can reselect the protractor at any time, enter the Modify panel on page 8773, and pick new objects to measure. You can move either of the two objects or the protractor itself to change the angle. Standard Helper Objects | 2889 NOTE If you need to watch the Angle readout while moving either of the objects, first select the protractor, then click the Pin Stack button on the Modify panel. You can now select and move the other objects while the stack remains pinned to display the protractor angle. Procedures To use the protractor: 1 After selecting Protractor in the Create panel ➤ Helpers section, click in the viewport to place and create the protractor icon. You can also drag to move it before releasing the mouse button. 2 Click the Pick Object 1 button, and then select one of the objects in the scene. The name of the selected object appears above the button. 3 Click Pick Object 2, and then select a second object in the scene. The Angle parameter shows the angle formed by lines from the protractor object to the two picked objects. Interface Parameters rollout Pick Object 1 Click this and select the first of the two objects whose angle you want to measure. 2890 | Chapter 11 Precision and Drawing Aids Pick Object 2 Click this and select the second of the two objects whose angle you want to measure. Angle Displays the angle formed by the lines from the protractor to the two objects. Compass Helper Create panel ➤ ➤ Compass (Helpers) ➤ Standard ➤ Object Type rollout Create menu ➤ Helpers ➤ Compass Compass displays as a non-rendering compass rose, with indicators for North, South, East, and West. A compass is part of a Daylight or Sunlight system on page 5852; you create a compass automatically when you create sunlight. In a Sunlight system, the orientation of the compass indicates the orientation of the scene, relative to the path of the sun (the ecliptic). Use the Compass helper object if you want to create an orientation symbol in your scene, but don’t need to create a sunlight system. Procedures To create a compass object: 1 On the Create panel, activate (Helpers), then on the Object Type rollout, click the Compass button. 2 Click and drag to define the radius of the compass. 3 Select and rotate the compass object to orient it. Standard Helper Objects | 2891 Interface Parameters rollout Show Compass Rose Displays the non-rendering compass rose in the viewport. Radius Specifies the radius of the compass object. Manipulator Helper Objects Create panel ➤ (Helpers) ➤ Manipulators ➤ Object Type rollout Create menu ➤ Helpers ➤ Manipulators Manipulator helpers are objects you can create to manipulate other objects. They let you add customized controls to your scene that provide visual feedback in viewports. To control other objects, manipulators use the parameter wiring feature on page 3645. Manipulators can be especially useful when you create a scene that will be used by more than one animator. There are three kinds of manipulator helpers: Cone Angle, Plane Angle, and Slider. See also: ■ Wire Parameters on page 3645 ■ Parameter Wiring Dialog on page 3647 ■ Select And Manipulate on page 2868 2892 | Chapter 11 Precision and Drawing Aids Cone Angle Manipulator Create panel ➤ rollout ➤ Cone Angle button (Helpers) ➤ Manipulators ➤ Object Type Create menu ➤ Helpers ➤ Manipulators ➤ Cone Angle The Cone Angle manipulator is a cone whose base you can adjust. By wiring its Angle value to a parameter of another object, you can create a custom control, with visual feedback, within a scene. Cone angle manipulator Cone angle manipulators are used by a spotlight's Hotspot and Falloff controls. Procedures To create a cone angle manipulator: 1 On the Create panel, activate Manipulators from the drop-down list. (Helpers) and choose 2 Click to turn on Cone Angle. 3 Drag in a viewport, and then release the mouse. The cone angle manipulator is created along the negative Z axis of the viewport in which you drag. In other words, its initial position points away from you. Manipulator Helper Objects | 2893 To change the angle of a cone angle manipulator: 1 Turn on (Select And Manipulate). TIP If you are still in the Create panel, turn on (Select Object) before using the manipulator. Otherwise, it is too easy to create a new one. 2 In a viewport, move the mouse over the manipulator. The manipulator turns red when the mouse is over it and it is available to be manipulated. Also, a tooltip appears, showing the name of the manipulator and its current value. 3 Drag the base of the cone angle manipulator's cone. The Angle value changes as you drag the manipulator. This value can range between 0.0 and 180.0. To select a cone angle manipulator: 1 Turn on (Select Object). You can also use and 2 Turn off (Select And Move), (Select And Rotate), the scale options on a cone angle manipulator. (Select And Manipulate). If you don't turn off Select And Manipulate, you adjust the manipulator's Angle value without affecting its properties. 3 Adjust the properties of the selected manipulator. 2894 | Chapter 11 Precision and Drawing Aids To connect a cone angle manipulator so it controls another object: 1 Select the cone angle manipulator. NOTE (Select And Manipulate) must be off before you can select the manipulator. 2 Choose Animation ➤ Wire Parameters ➤ Wire Parameters. You can also right-click the manipulator and choose Wire Parameters from the Transform (lower-right) quadrant of the quad menu. A pop-up menu appears over the manipulator. 3 In the pop-up menu, choose Object (Cone Angle Manipulator) ➤ Angle. 4 Click the object you want to manipulate. A pop-up menu appears over the object. 5 In the pop-up menu, choose Object, then the name of the parameter you want to manipulate. 3ds Max opens the Parameter Wiring dialog on page 3647. 6 On the Parameter Wiring dialog, click the “control direction” arrow between the two upper lists that goes from the manipulator to the object (or both directions), and then click Connect. 7 Close the Parameter Wiring dialog. Now when you turn on (Select And Manipulate) and use the manipulator, the object updates under the manipulator's control. Manipulator Helper Objects | 2895 Interface Angle The initial angle of the manipulator. Distance The length of the manipulator, in 3ds Max units. Default=the distance of mouse drag when the manipulator was created. Use Square When on, the base of the cone is square or rectangular, rather than circular. Default=off. Aspect When Use Square is on, adjusts the aspect ratio of the rectangular cone base. Default=1.0. Plane Angle Manipulator Create panel ➤ rollout ➤ Plane Angle button (Helpers) ➤ Manipulators ➤ Object Type Create menu ➤ Helpers ➤ Manipulators ➤ Plane Angle The Plane Angle manipulator looks like a lever or joystick. By wiring its Angle value to a parameter of another object, you can create a custom control, with visual feedback, within a scene. 2896 | Chapter 11 Precision and Drawing Aids Plane angle manipulator at different angles Procedures To create a plane angle manipulator: 1 On the Create panel, activate Manipulators from the drop-down list. (Helpers) and choose 2 Click to turn on Plane Angle. 3 Drag in a viewport, and then release the mouse. Manipulator Helper Objects | 2897 The plane angle manipulator is always created vertically, along the Y axis of the viewport in which you drag. To change the angle of a plane angle manipulator: 1 Turn on (Select And Manipulate). TIP If you are still in the Create panel, turn on (Select Object) before using the manipulator. Otherwise, it is too easy to create a new one. 2 In a viewport, move the mouse over the manipulator. The manipulator turns red when the mouse is over it and it is available to be manipulated. Also, a tooltip appears, showing the name of the manipulator and its current value. 3 Drag the handle of the plane angle manipulator. The Angle value changes as you drag the manipulator. This value can range between –100000.0 and 100000.0. To select a plane angle manipulator: 1 Turn on (Select Object). You can also use and 2 Turn off (Select And Move), (Select And Rotate), the scale options on a plane angle manipulator. (Select And Manipulate). If you don't turn off Select And Manipulate, you adjust the manipulator's Angle value without affecting its properties. 3 Adjust the properties of the selected manipulator. 2898 | Chapter 11 Precision and Drawing Aids To connect a plane angle manipulator so it controls another object: 1 Select the plane angle manipulator. NOTE (Select And Manipulate) must be off before you can select the manipulator. 2 Choose Animation ➤ Wire Parameters ➤ Wire Parameters. You can also right-click the manipulator and choose Wire Parameters from the Transform (lower-right) quadrant of the quad menu. A pop-up menu appears over the manipulator. 3 In the pop-up menu, choose Object (Plane Angle Manipulator) ➤ Angle. 4 Click the object you want to manipulate. A pop-up menu appears over the object. 5 In the pop-up menu, choose Object, then the name of the parameter you want to manipulate. 3ds Max opens the Parameter Wiring dialog on page 3647. 6 On the Parameter Wiring dialog, click the “control direction” arrow between the two upper lists that goes from the manipulator to the object (or both directions), and then click Connect. 7 Close the Parameter Wiring dialog. Now when you turn on (Select And Manipulate) and use the manipulator, the object updates under the manipulator's control. Manipulator Helper Objects | 2899 Interface Angle The angle of the manipulator, from 0.0 to 360.0 (both values are perpendicular in the Y axis of the viewport where you created the manipulator, unless you have rotated the manipulator object). Default=0.0. Distance The length of the manipulator, in 3ds Max units. Default=the distance of mouse drag when the manipulator was created. Size The size of the manipulator's handle, in 3ds Max units. Default=1.0. Slider Manipulator Create panel ➤ rollout ➤ Slider button (Helpers) ➤ Manipulators ➤ Object Type Create menu ➤ Helpers ➤ Manipulators ➤ Slider The Slider manipulator is a graphic control that appears in the active viewport. By wiring its Value to a parameter of another object, you can create a custom control, with visual feedback, within a scene. Slider manipulator NOTE Because the slider manipulator is a custom control, its Value has no inherent unit. It takes on the unit of the parameter to which it is wired. When the minimum is 0.0 and the maximum is 100.0, the slider Value can represent a percentage. 2900 | Chapter 11 Precision and Drawing Aids Using a Slider Manipulator Slider manipulator components: 1. Label 2. Value 3. Move 4. Show/hide 5. Slider bar 6. Adjust value 7. Change width The slider appears in the same location in whichever viewport is active. You can adjust the slider's value by dragging the triangle below the slider bar. The triangle turns red when you move the mouse over it. It represents the slider's value, and the value changes as the triangle is dragged. You can also make the following changes without going into the Modify panel: ■ Dragging the small square at the left moves the slider. ■ Dragging the diamond at the right changes the width of the slider. ■ Clicking the plus sign (next to the move icon at the left) hides all of the slider except for the label and the move icon. Like the Value triangle, these components also turn red when you move the mouse over them. Manipulator Helper Objects | 2901 Procedures To create a slider manipulator: 1 On the Create panel, activate Manipulators from the drop-down list. (Helpers) and choose 2 Click to turn on Slider. 3 Click a viewport. The slider manipulator is created with its default width of 100 units. It will appear at the same viewport location in whichever viewport is active. To change the value of a slider manipulator: 1 Turn on (Select And Manipulate). The slider turns green. TIP If you are still in the Create panel, turn on (Select Object) before using the manipulator. Otherwise, it is too easy to create a new one. 2 In a viewport, move the mouse over the triangle below the slider bar. The triangle turns red when the mouse is over it and it is available to be dragged. 3 Drag the value triangle of the slider manipulator. The slider's value display changes as you drag the triangle. To move a slider manipulator: 1 Turn on (Select And Manipulate). 2 In the active viewport, move the mouse over the move icon, which is the small square at the left of the slider, below the sliders label (if there is one) and value display. The square turns red when the mouse is over it and it is able to be dragged. 3 Drag the box to move the slider. 2902 | Chapter 11 Precision and Drawing Aids Unlike angle manipulators, transforms have no effect on sliders. To connect a slider manipulator so it controls another object: 1 Select the slider. NOTE slider. (Select And Manipulate) must be off before you can select the 2 Choose Animation ➤ Wire Parameters ➤ Wire Parameters. You can also right-click the manipulator and choose Wire Parameters from the Transform (lower-right) quadrant of the quad menu. A pop-up menu appears over the manipulator. 3 In the pop-up menu, choose Object ➤ Value. 4 Drag to the object you want to manipulate, and click it. A pop-up menu appears over the object. 5 In the pop-up menu, choose Object, then the name of the parameter you want to manipulate. The Parameter Wiring dialog on page 3647 appears. 6 In the Parameter Wiring dialog, make sure the direction goes from the slider to the object (or both directions), and then click Connect. 7 Close the Parameter Wiring dialog. Now when you turn on (Select And Manipulate) and use the slider, the object updates under the slider's control. Manipulator Helper Objects | 2903 Interface Label The slider name that appears in viewports. Default=none. Value The value of the slider, based on the position of the slidable triangle. Default=0.0. Minimum The minimum possible value of the slider. Default=0.0. Maximum The maximum possible value of the slider. Default=100.0. When the minimum is 0.0 and the maximum is 100.0, the slider Value can represent a percentage. X Position The slider's X location in the active viewport. Default=Viewport X location you clicked when you created the slider. Y Position The slider's Y location in the active viewport. Default=Viewport Y location you clicked when you created the slider. Width The slider's width, in 3ds Max units. Default=100.0. Snap When on, the slider "snaps" to incremental values determined by the Snap Value setting. Default=on. Snap Value The increment used by the slider when Snap is on. Default=0.01. Hide When on, hides all of the slider except for the label and the move and show/hide components. Default=off. 2904 | Chapter 11 Precision and Drawing Aids Drawing Assistants The tools and utilities described in this section can help with drawing and precision. The xView toolset gives you visual feedback for a variety of mesh-object metrics. The Measure Distance tool lets you quickly calculate the distance between two points. The Measure utility returns the measurements of a selected shape or 3D object. And the Rescale World Units utility rescales either a selection or an entire scene. Access the xView submenu from the Views menu and the Shading viewport label menu. Measure Distance is available from the Tools menu. Access the Measure utility and Rescale World Units from the Utilities panel on page 8810. xView Views menu ➤ xView Shading Viewport Label menu on page 8719 ➤ xView ➤ Choose a command. Activate xView. ➤ Active viewport ➤ Click xView message (test name/result). xView analyzes mesh models, flags various potential problems and errors, and displays the results in the viewports both graphically and as text. Tests include isolated and overlapping vertices, open edges, various UVW statistics, and more. In addition, xView can convert its graphical display, such as highlighted vertices or edges, to a sub-object selection. And you can change the tolerance setting (distance) for relevant checks such as overlapping edges. While a test is active, its name appears at the top or bottom of the active viewport; you determine the position by toggling the Display On Top command on the xView menu. You can open the xView menu by clicking this text. The xView viewport display Next to the test name is a status message. If the test has been successful, the message indicates the results, such as “14 Vertices.” Otherwise, the message indicates a possible reason for the failure of the test, such as “No selection” Drawing Assistants | 2905 (xView works only on selected objects) or “Unsupported object type” (xView works only on editable mesh and poly objects). If the active test is configurable, the message “Click Here To Configure” appears on a second line after the test name. Typically the configurable parameter is a Tolerance setting that determines the maximum distance for the test, such as between vertices. To change the value, click the message or use the xView menu ➤ Configure command. Customizing xView Every command on the xView submenu is available from the Customize User Interface (CUI) on page 8837, so you can define keyboard shortcuts or a custom toolbar for frequently used functions. Also available in the CUI xView category are additional actions to cycle through the command list, toggle the viewport display, and more. Procedure To use xView: 1 Select the geometry to check; typically an Edit/Editable Mesh/Poly object. There is no need to access a sub-object level. 2 Choose the type of test to perform from the xView menu. By default, you can find this menu on the Shading Viewport Label menu on page 8719 (the rightmost viewport label menu) and the Views menu. The test is performed immediately and the results, if any, display in the viewports as green-highlighted sub-objects: vertices, edges, or faces. At the same time, the name of the test and its numerical results display at the bottom or top of the viewport. NOTE If any of the flagged sub-objects are already selected, they remain selected and display normally at the relevant sub-object level. Thus they are not highlighted in green when the relevant sub-object level is active. However, they’re still flagged and, if you deselect the sub-objects, retain the green highlighting. 2906 | Chapter 11 Precision and Drawing Aids 3 To convert the highlighted sub-objects to a sub-object selection, reopen the xView menu and choose Select Results. To use the selection, access the relevant sub-object level. Interface The xView functions work on editable/edit poly and mesh objects; most other object types (including primitives) are unsupported. All of the modes relate to sub-objects: vertices, edges, and faces (whether geometry or UVW). However, you need not be at a sub-object level for a checker to display its results. The checker results appear at the object level and at all sub-object levels. xView | 2907 Face Orientation Highlights the back side (see 2-Sided (Double Sided) on page 9079) of each face in the selection. This is useful for checking for inadvertently flipped faces. Overlapping Faces Highlights interpenetrating, coplanar faces. This should be avoided when possible to prevent rendering anomalies. Technically, this test checks for at least one vertex of one face lying in the plane of another, so if only edges of two faces overlap, the test won’t find them. The Tolerance value specifies the distance from the vertex to the plane of the overlapping face. Open Edges Edges that are not shared with any other polygons; that is, at the outer edge of a surface. Multiple Edges Checks for edges that are common to more than two faces. This doesn't happen in Edit/Editable Poly objects, but is possible in Edit/Editable Mesh objects. However, if you have any flipped polys in an Edit/Editable Poly, xView flags edges where they adjoin non-flipped polys as multiple edges. 2908 | Chapter 11 Precision and Drawing Aids NOTE Because of the underlying nature of Edit/Editable Mesh objects, an internal edge can show two different IDs on the Selection panel when selected twice in succession. However, this does not necessarily indicate a multiple edge, and the Multiple Edges test does not indicate such edges. Isolated Vertices Flags vertices that are not associated with any edges or faces. Overlapping Vertices Flags vertices that lie within a certain distance of each other. The configurable Tolerance parameter indicates the maximum distance in world units within which the test is performed. T-Vertices Flags vertices that lie at the intersection of three edges or faces. Applies to poly objects only. The T-Vertex is highlighted in green Missing UVW Coordinates Highlights faces that lack texture-mapping coordinates. 3ds Max has internal safeguards against this, but it might happen with certain imported geometry. Flipped UVW Faces Highlights texture-mapping faces whose normals point opposite the usual direction. Overlapped UVW Faces Highlights any texture-mapping faces that coincide with other texture-mapping faces. Select Results Selects sub-objects flagged and highlighted by the active test. To see the selection, go to the relevant sub-object level. See-Through Shows all highlighted sub-objects regardless of any intervening geometry. xView | 2909 Auto Update When on, xView automatically redraws the screen to show the result of parameter changes. Display On Top When on, the text display appears at the top of the active viewport. When off (the default), the text displays at the bottom of the viewport. Configure Opens a small dialog for setting the current test’s parameters, if there are any. If there are not, this option is unavailable. Measuring Distances 3ds Max provides several options for measuring various aspects of your scene. The tape, protractor and compass helpers measure distance, angles and direction respectively. The Measure utility has a floater to display various measurements of any selected object. You can quickly measure the distance between two points with the Measure Distance tool on page 2913. Helper Objects for Measurement Tape Helper You can create a Tape helper on page 2886 by dragging between any two points in 3D space, much like using a physical tape measure. You then read the length on the Parameters rollout. If you turn on Specify Length, the length field lets you enter a value in current units. This is like locking a tape measure to a set length. You can position the tape object and snap to its ends. 2910 | Chapter 11 Precision and Drawing Aids The pyramid icon is the tape helper object; the cube is the helper object's target. ■ To display length and angle settings, select only the tape helper object (the pyramid icon). ■ To move the entire tape including its target (the cube icon), select the connecting line. Two sets of World Space Angles give you current readouts to the three world axes (X, Y, Z) and the three world planes (XY, YZ, ZX). TIP When measuring with precision, it is helpful to use snaps to force the ends of the tape object to exact locations. If there are no specific points to snap to, you can use dummy or point helpers to set points. To measure with a tape helper using snaps: 1 Locate points in the scene to which you can snap to accurately make a measurement. If no points like this exist, create point objects on page 2884 at measurement extremes. 2 Choose 3D from the Snap Toggle flyout. 3 Right-click the Snap Toggle button to display the Grid And Snap Settings dialog. On the Snaps tab, set the snap type to the type you will use for measurement. For example, if you are going to use point objects for measurement, check the Pivot option so you can snap to the point objects' pivot points. Close the dialog. 4 On the Create panel, activate (Helpers), then click the Tape button. Move the cursor over the first measurement point until the snap cursor appears, then click and drag to the other measurement point. Measuring Distances | 2911 5 Read the length of the tape on the Parameters rollout. Protractor The Protractor helper on page 2889 measures the angle between pivot points of two objects and the protractor object. As with the tape helper, point objects and snap tools can be used to aid in precise measurement of angles. To measure an angle with a protractor: 1 On the Create panel, activate (Helpers), then click the Protractor button. Click in a viewport to place the protractor object. 2 On the Parameters rollout, click Pick Object 1 and then click an object in your scene. The name of the selected object appears above the pick button. A line connects the protractor to the center of the object. 3 Click Pick Object 2 and click a second object. The angle between the protractor and the two objects appears on the rollout. 4 To move either object while watching the Angle readout, turn on (Pin Stack) below the modifier stack. This locks the stack to the Protractor's Parameters rollout. Compass The Compass helper on page 2891 establishes an orientation for your scene. You create this object with a single click and drag to define the radius, usually in a Perspective or Top view. On its parameters rollout, you can adjust the apparent radius of the compass rose. Like all helper objects, this object is for reference only and does not render. Measure Utility The Measure Utility on page 2914 provides measurements of a selected object or shape. 2912 | Chapter 11 Precision and Drawing Aids To use the Measure utility: 1 On the rollout. 2 Utilities panel, click Measure to display the Measure Select any shape or object and read out the measurements. If you select multiple objects, the sum of the measurements is displayed. 3 Click New Floater to display a modeless Measure dialog with all the same information. 4 Use the Measure dialog to display the length of a spline, like a line or circle, as you create it. Measure Distance Tool The Measure Distance tool quickly calculates the distance between two points. To measure the distance between two points: 1 Choose Tools menu ➤ Measure Distance 2 Click in the viewport where you want to start measuring. 3 Click in the viewport where you want to measure to. A distance is returned in the Mini Listener. Additional information, detailing the distance along the X, Y, and Z coordinates is displayed in the status bar. Measure Distance Tool Tools menu ➤ Measure Distance The Measure Distance tool lets you quickly calculate the distance between two points, using just two clicks. The calculated distance is displayed in display units on page 8955 in the status bar. Measure Distance Tool | 2913 Procedures To measure the distance between two points: 1 Choose Tools menu ➤ Measure Distance. 2 Click in the viewport where you want to start measuring from. 3 Click again in the viewport where you want to measure to. A distance is returned in the status bar. Additional information, detailing the distance along the X, Y, and Z coordinates is displayed as well. Measure Utility Utilities panel ➤ Utilities rollout ➤ Measure button The Measure utility provides measurements of a selected object or shape. See also: Measure Distance Tool on page 2913 ■ Procedures To measure an object: 1 On the 2 Utilities panel, click the Measure button. Select the object you want to measure. If both an object and a shape are in the selection, information is displayed for both types. If several objects are in a selection, the sum of their measurements is displayed. 2914 | Chapter 11 Precision and Drawing Aids Interface Text display Displays the name of the object in the current selection. If more than one object is in the selection, Multiple Objects Selected is displayed. Lock Selected Prevents the displayed data from changing when you change selection. For example, you might need to select and manipulate another object that affects the currently selected object. Objects group Displays information about renderable mesh objects. Surface Area Displays the total surface area of all objects in the selection, in units squared. Measure Utility | 2915 Volume Displays the total volume of all objects in the selection, in units cubed. Note that objects with "holes" caused by missing faces can result in inaccurate volume values. When an object has one or more holes, an asterisk appears beside the Volume number. Center Of Mass Displays the world coordinates of the location of the center of mass for the object or the center of mass of the selected objects. Create Center Point Creates a point helper object on page 2884 at the center of mass. Shapes group Displays information about shape objects. Length Displays the sum of the length of all splines in all selected shapes. Dimensions group Displays the dimensions of the object, as they appear in world space. For example, if it were a box with the created dimensions of 15 x 10 x 25, and that box were scaled 200 percent, then this group would report dimensions of 30 x 20 x 50. Button set New Floater Launches a modeless Measure dialog that displays the same information found under the Objects, Shapes, and Dimensions groups on the Utilities panel. In addition, you can expand the dialog horizontally, in case the values are too long to be viewed in the default dialog size. TIP While the Measure floater is displayed, you can view the length of a spline while you're creating it. Close Closes the utility. Rescale World Units Utility Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Rescale World Units This utility rescales the world units of either the entire scene or selected objects in the scene. The Rescale World Units dialog controls scale factor and whether it is applied to the entire scene or the current selection. 2916 | Chapter 11 Precision and Drawing Aids Procedures To rescale an object: 1 Select an object in the viewport. 2 On the Utilities panel, click the More button, and on the Utilities dialog, choose Rescale World Units from the list. 3 On the Utilities panel, click the Rescale World Units button. 4 On the Rescale World Units rollout, click the Rescale button. 5 Set the Scale Factor to the desired scale. For example, setting the scale to a value of 2.0 doubles the size of the object that it’s applied to. 6 In the Affect group, choose the Selection option. 7 Click OK to apply the scale. Interface Rescale World Units rollout Rescale After selecting the objects you want to rescale, click this to display the Rescale World Units dialog. Rescale World Units Utility | 2917 Rescale World Units dialog Scale Factor Specifies the scaling factor. Affect ■ SceneApplies the scale to the entire scene. ■ SelectionApplies the scale only to the current selection. OK Applies the scale. Cancel Cancels the operation. 2918 | Chapter 11 Precision and Drawing Aids Space Warps and Particle Systems 12 Space warps and particle systems are additional modeling tools. Space warps are “force fields” that deform other objects, creating the effect of ripples, waves, blowing wind, and so on. Particle systems generate particle sub-objects for the purpose of simulating snow, rain, dust, and so on. (You use particle systems primarily in animations.) Left: Fountain spray created as a particle system Insets on right: Wind space warp changes the direction of fountain spray 2919 Space Warp Objects Create panel ➤ (Space Warps) Space warps are nonrenderable objects that affect the appearance of other objects. Space warps create force fields that deform other objects, creating the effect of ripples, waves, blowing wind, and so on. Space warps behave somewhat like modifiers, except that space warps influence world space, rather than object space, as geometric modifiers do. When you create a space warp object, viewports show a wireframe representation of it. You can transform the space warp as you do other 3ds Max objects. The position, rotation, and scale of the space warp affect its operation. Surfaces deformed by space warps Left: Bomb Right: Ripple Rear: Wave 2920 | Chapter 12 Space Warps and Particle Systems A space warp affects objects only when the objects are bound to it on page 2925. The warp binding appears at the top of the object's modifier stack. A space warp is always applied after any transforms or modifiers. When you bind multiple objects to a space warp, the space warp's parameters affect all the objects equally. However, each object's distance from the space warp or spatial orientation to the warp can change the warp's effect. Because of this spatial effect, simply moving an object through warped space can change the warp's effect. You can also use multiple space warps on one or more objects. Multiple space warps appear in an object's stack in the order you apply them. NOTE You can take advantage of the AutoGrid feature to orient and position new space warps with respect to existing objects. See AutoGrid on page 2819 for details. Space Warps and Supported Objects Some types of space warps are designed to work on deformable objects, such as geometric primitives, meshes, patches, and splines. Other types of warps work on particle systems such as Spray and Snow. Five space warps (Gravity, PBomb, Wind, Motor, and Push) can work on particle systems and also serve special purposes in a dynamics simulation. In the latter case, you do not bind the warps to objects, but rather assign them as effects in the simulation. On the Create panel, each space warp has a rollout labeled Supports Objects Of Type. This rollout lists the kind of objects you can bind to the warp. Basics of Using Space Warps Follow these general steps to use space warps: 1 Create the space warp. 2 Bind objects to the space warp. On the main toolbar, click (Bind To Space Warp), and then drag between the space warp and the object. The space warp has no visible effect on your scene until you bind an object, system, or selection set to it. 3 Adjust the space warp's parameters. Space Warp Objects | 2921 4 Transform the space warp with Move, Rotate, or Scale. The transforms often directly affect the bound object. You can animate space warp parameters and transforms. You can also animate space warp effects by animating transforms of an object bound to the warp. Particle Leakage and Deflector Space Warps A deflector is a space warp that acts as a barrier to particles in particle systems. Occasionally stray particles can leak through a deflector under the following circumstances: ■ When a particle happens to hit the deflector too near the end or beginning of a time interval, and numerical error in the solution doesn't report a hit ■ When a particle hits too near the edge of a face referenced by a UDeflector, and neither face finds it ■ When a particle is moving quickly and first appears too close to the deflector, so the very first update cycle within the particle system takes it past the deflector without the deflector ever seeing it Often this isn't a problem because the particles bounce off solid objects, so you don't see the errant particles. When it does cause problems, you can use a planar deflector instead of a UDeflector, a collection of planars to approximate the mesh, or a simple mesh to replace the planar. The solutions vary, so where one has a glitch the other might work just fine. If particles are moving fast and the deflector is in a particular position (for example, it might be too close to the emitter) many particles can leak through defectors. Sometimes you can fix this leakage by changing the particle system's Subframe Sampling setting or the particle speed. Other times you must reposition the deflector farther away from the emitter. In addition, particles imbued with bubble motion on page 3388 can leak through deflectors, particularly when set to high amplitudes. To avoid this, use alternative methods of implementing bubble-like motion, such as varying speed (see Particle Generation Rollout (PArray) on page 3369), setting a higher angle for the stream spread with spray systems (see Spray Particle System on page 3337, Super Spray Particle System on page 3346), or using larger particles with an animated texture map. Space Warp Categories There are four categories of space warps, available via the list on the Create panel's Space Warps category. 2922 | Chapter 12 Space Warps and Particle Systems Forces These space warps are used to affect particle systems and dynamics systems. All of them can be used with particles, and some can be used with dynamics. The Supports Objects of Type rollout indications which systems each space warp supports. Motor Space Warp on page 2931 Push Space Warp on page 2926 Vortex Space Warp on page 2936 Drag Space Warp on page 2941 Path Follow Space Warp on page 2953 PBomb Space Warp on page 2947 Displace Space Warp on page 2964 Gravity Space Warp on page 2958 Wind Space Warp on page 2960 Deflectors These space warps are used to deflect particles or to affect dynamics systems. All of them can be used with particles and with dynamics. The Supports Objects of Type rollout indicates which systems each space warp supports. PDynaFlect Space Warp on page 2975 POmniFlect Space Warp on page 2969 SDynaFlect Space Warp on page 2982 Space Warp Objects | 2923 SOmniFlect Space Warp on page 2980 UDynaFlect Space Warp on page 2985 UOmniFlect Space Warp on page 2983 SDeflector Space Warp on page 2988 UDeflector Space Warp on page 2991 Deflector Space Warp on page 2994 Geometric/Deformable These space warps are used to deform geometry. FFD(Box) Space Warp on page 2997 FFD(Cyl) Space Warp on page 3004 Wave Space Warp on page 3013 Ripple Space Warp on page 3018 Displace Space Warp on page 2964 Conform Space Warp on page 3022 Bomb Space Warp on page 3027 Modifier-Based These are space-warp versions of object modifiers (see Modify Panel on page 8773). Read more about these in Modifier-Based Space Warps on page 3030. Bend Modifier on page 1104 Noise Modifier on page 1490 Skew Modifier on page 1610 Taper Modifier on page 1757 Twist Modifier on page 1783 Stretch Modifier on page 1699 2924 | Chapter 12 Space Warps and Particle Systems Procedures To create a space warp: 1 On the Create panel, click (Space Warps). The Space Warps panel is displayed. 2 Choose a category of space warp from the list. 3 On the Object Type rollout, click a space warp button. TIP You can take advantage of the AutoGrid feature to orient and position new space warps with respect to existing objects. For details, see AutoGrid on page 2819. 4 Drag in a viewport to create the space warp. See the topics for the various space warps for further details. Bind to Space Warp Main toolbar ➤ (Bind to Space Warp) Use the Bind to Space Warp button to attach the current selection to a space warp on page 9312 or vice versa. Procedures To bind the current selection to a space warp: 1 2 Click Select an object (Bind To Space Warp). 3 Drag a line from the selected object to the space warp object. You can also press H to select the space warp by name. Bind to Space Warp | 2925 The space warp object flashes for a moment to show that the bind was successful. Forces Forces affect particle systems and dynamics systems. Push Space Warp Create panel ➤ rollout ➤ Push (Space Warps) ➤ Forces ➤ Object Type Create menu ➤ Space Warps ➤ Forces ➤ Push For particle systems, Push applies a uniform, unidirectional force. For dynamics systems, it provides a point force: like pushing something with your finger. 2926 | Chapter 12 Space Warps and Particle Systems Push disperses a cloud of particles The Push space warp applies a force to either particle systems on page 3032 or dynamics systems on page 4226. The effect is different, depending on the system: ■ Particles: Applies a uniform, unidirectional force in a positive or negative direction. A positive force moves in the direction of the pad on the hydraulic jack. The breadth of the force is infinite, perpendicular to the direction; you can limit it using the Range option. ■ Dynamics: Provides a point force (also called a point load) away from the pad of the hydraulic jack icon. A negative force pulls in the opposite direction. In dynamics, applying a force is the same as pushing something with your finger. Forces | 2927 Push viewport icon Procedures To create a Push space warp: 1 On the Create panel, click (Space Warps). Choose Forces from the list, then on the Object Type rollout, click Push. 2 Drag in a viewport to define the size. The Push warp appears as a hydraulic jack icon. 2928 | Chapter 12 Space Warps and Particle Systems Interface Timing group On Time/Off Time The numbers of the frames in which the space warp begins and ends its effect. Because Push moves the particles to which it's applied over time, no keyframes are created. Forces | 2929 Strength Control group Basic Force The amount of force exerted by the space warp. Newtons/Pounds This option specifies the units of force used by the Basic Force spinner. A pound is about 4.5 Newtons, and one newton is one kilogram-per-second-squared. When Push is applied to particle systems, these values have only subjective meaning because they depend on the built-in weighting factors and time scaling used by the particle system. However, when used in a dynamics system, the value listed is precisely the value used. Feedback On When on, the force varies depending on the speed of the affected particles relative to the specified Target Speed. When off, the force remains constant, regardless of the speed of the affected particles. Reversible When on, if the particle's speed exceeds the Target Speed setting, the force is reversed. Available only if you turn on Feedback On. Target Speed Specifies the maximum speed in units per frame before the Feedback takes effect. Available only if you turn on Feedback On. Gain Specifies how quickly the force adjusts to approaching the target speed. If set to 100 percent, the correction is immediate. If set lower, a slower and "looser" response occurs. Available only if you turn on Feedback On. NOTE Setting Gain above 100 percent can result in over-correction, but is sometimes necessary to overcome damping from other system settings, such as IK damping. Periodic Variation group These settings introduce variations into the force by affecting the Basic Force value randomly. You can set two waveforms to produce a noise effect. Enable Turns on the variations. Period 1 The time over which the noise variation makes a full cycle. For example, a setting of 20 means one cycle per 20 frames. Amplitude 1 The strength of the variation (in percent). This option uses the same types of units as the Basic Force spinner. Phase 1 Offsets the variation pattern. Period 2 Provides an additional variation pattern (a second wave) to increase the noise. 2930 | Chapter 12 Space Warps and Particle Systems Amplitude 2 The strength of the variation of the second wave (in percent). This option uses the same types of units as the Basic Force spinner. Phase 2 Offsets the variation pattern of the second wave. Particle Effect Range group Lets you restrict the Push effect's range to a specific volume. This affects particle systems only; it has no effect on dynamics. Enable When on, limits the range of the effect to a sphere, displayed as a tri-hooped sphere. The effect falls off increasingly as the particles near the boundary of the sphere. Range Specifies the radius of the range of the effect, in units. Display Icon group Icon Size Sets the size of the Push icon. This is for display purposes only, and does not alter the Push effect. Motor Space Warp Create panel ➤ rollout ➤ Motor (Space Warps) ➤ Forces ➤ Object Type Create menu ➤ Space Warps ➤ Forces ➤ Motor The Motor space warp works like Push on page 2926, but applies rotational torque to the affected particles or objects rather than a directional force. Both the position and orientation of the Motor icon affect particles, which swirl around the Motor icon. Forces | 2931 Motor disperses a cloud of particles When used in dynamics, the position of the icon relative to the affected object has no effect, but the orientation of the icon does. Motor viewport icon (with particle system on the left) 2932 | Chapter 12 Space Warps and Particle Systems Procedures To create a motor space warp: 1 On the Create panel, click (Space Warps). Choose Forces from the list, then on the Object Type rollout, click Motor. 2 Click and drag in a viewport to define the size. The Motor warp appears as a box-shaped icon with an arrow indicating the direction of the torque. Interface Timing group On Time/Off Time The numbers of the frames in which the space warp begins and ends its effect. Because Motor moves the objects to which it's applied over time, no keyframes are created. Strength Control group Basic Torque The amount of force exerted by the space warp. Forces | 2933 N-m/Lb-ft/Lb-in Specify the unit of measure for the Basic Torque setting, using common world measurements of torque. N-m stands for Newton meters, Lb-ft stands for pound-force feet, and Lb-in stands for pound-force inches. Feedback On When on, the force varies depending on the speed of the affected objects relative to the specified Target Speed. When off, the force remains constant, regardless of the speed of the affected objects. Reversible When on, if the object's speed exceeds the Target Speed setting, the force is reversed. Available only if you turn on Feedback On. Target Revs Specifies the maximum revolutions before the feedback takes effect. Speed is specified in units traveled per frame. Available only if you turn on Feedback On. RPH/RPM/RPS Specifies the units of measure for Target Revs in revolutions per hour, minute, or second. Available only if you turn on Feedback On. Gain Specifies how quickly the force adjusts to approaching the target speed. If set to 100%, the correction is immediate. If set lower, a slower and "looser" response occurs. Available only if you turn on Feedback On. NOTE Setting Gain above 100% can result in over-correction, but is sometimes necessary to overcome damping from other system settings, such as IK damping. 2934 | Chapter 12 Space Warps and Particle Systems Periodic Variation group These settings introduce variations into the force by affecting the Basic Torque value randomly. You can set two waveforms to produce a noise effect. Enable Turn on to enable the variations. Period 1 The time over which the noise variation makes a full cycle. For example, a setting of 20 means one cycle per 20 frames. Amplitude 1 The strength of the variation (in percent). This option uses the same types of units as the Basic Torque spinner. Phase 1 Offsets the variation pattern. Period 2 The next two spinners provide an additional variation pattern to increase the noise. Amplitude 2 The strength of the variation of the second wave in (percent). This option uses the same types of units as the Basic Torque spinner. Forces | 2935 Phase 2 Offsets the variation pattern of the second wave. Particle Effect Range group Lets you restrict the Motor effect's range to a specific spherical volume. This affects particles systems only; it has no effect on dynamics. Enable When on, limits the range of the effect to a sphere, displayed as a tri-hooped sphere. The effect falls off increasingly as the particles near the boundary of the sphere. Range Specifies the radius of the range of the effect, in units. Display Icon group Icon Size Sets the size of the Motor icon. This is for display purposes only, and does not alter the Motor effect. Vortex Space Warp Create panel ➤ rollout ➤ Vortex (Space Warps) ➤ Forces ➤ Object Type Create menu ➤ Space Warps ➤ Forces ➤ Vortex The Vortex space warp applies a force to particle systems on page 3032, spinning them through a whirling vortex, and then moving them down a long, thin spout or vortex well. Vortex is useful for creating black holes, whirlpools, tornadoes, and other funnel-like objects. The space warp settings let you control the vortex shape, the well characteristics, and rate and range of particle capture. The shape of the vortex is also affected by particle system settings, such as speed. 2936 | Chapter 12 Space Warps and Particle Systems Particle stream caught in a vortex Procedures To create a Vortex space warp: 1 On the Create panel, click (Space Warps). Choose Forces from the list, then on the Object Type rollout, click Vortex. 2 Determine which world axis you want the vortex to spiral around, and then drag in the appropriate viewport to create the space warp. For example, if you want the vortex to spin around the vertical world axis, create the space warp in the Top viewport. You can rotate the warp later to change the vortex direction, and animate the warp orientation. Forces | 2937 The Vortex warp appears as a curved-arrow icon in the plane you drag in, with a second, perpendicular arrow indicating the axis of rotation as well as the direction of the well. This second axis is called the drop axis. NOTE The position of the space warp plays an important role in the results. The vertical position affects the shape of the vortex, and the horizontal position determines its location. If you want the particles to spiral around the particle emitter, place both at the same location. 2938 | Chapter 12 Space Warps and Particle Systems Interface Timing group Time On/Time Off The frame numbers at which the space warp becomes active and becomes inactive. Forces | 2939 Vortex Shape group Taper Length Controls the length of the vortex, as well as its shape. Lower settings give you a "tighter" vortex, while higher settings give you a "looser" vortex. Default=100.0. Taper Curve Controls the shape of the vortex. Low values create a vortex with a wide, flared mouth, while high values create a vortex with nearly vertical sides. Default=1.0. Range=1.0 to 4.0. Capture and Motion group This group contains basic settings for Axial Drop, Orbital Speed, and Radial Pull, with Range, Falloff, and Damping modifiers for each. Unlimited Range When on, Vortex exerts full damping strength over an unlimited range. When off, the Range and Falloff settings take effect. Axial Drop Specifies how quickly particles move in the direction of the drop axis. Range The distance from the center of the Vortex icon, in system units, at which Axial Damping has its full effect. Takes effect only when Unlimited Range is turned off. Falloff Specifies the distance beyond the Axial Range within which Axial Damping is applied. Axial Damping is strongest at the Range distance, decreases linearly out to the limit of the Axial Falloff, and has no effect beyond that. Takes effect only when Unlimited Range is turned off. Damping Controls the degree to which particle motion parallel to the drop axis is restrained per frame. Default=5.0. Range=0 to 100. For subtle effects, use values of less than 10%. For more overt effects, try using higher values that increase to 100% over the course of a few frames. Orbital Speed Specifies how quickly the particles rotate. Range The distance from the center of the Vortex icon, in system units, at which Orbital Damping has its full effect. Takes effect only when Unlimited Range is turned off. Falloff Specifies the distance beyond the Orbital Range within which Orbital Damping is applied. Orbital Damping is strongest at the Range distance, decreases linearly out to the limit of the Orbital Falloff, and has no effect beyond that. Takes effect only when Unlimited Range is turned off. 2940 | Chapter 12 Space Warps and Particle Systems Damping Controls the degree to which orbital particle motion is restrained per frame. Smaller values produce a wide spiral, while larger values produce a thin spiral. Default=5.0. Range=0 to 100. Radial Pull Specifies the distance from the drop axis at which the particles rotate. Range The distance from the center of the Vortex icon, in system units, at which Radial Damping has its full effect. Takes effect only when Unlimited Range is turned off. Falloff Specifies the distance beyond the Radial Range within which Radial Damping is applied. Radial Damping is strongest at the Range distance, decreases linearly out to the limit of the Radial Falloff, and has no effect beyond that. Takes effect only when Unlimited Range is turned off. Damping Controls the degree to which Radial Pull is restrained per frame. Default=5.0. Range=0 to 100. CW/CCW Determines whether particles rotate clockwise or counterclockwise. Display group Icon Size Specifies the size of the icon. Drag Space Warp Create panel ➤ rollout ➤ Drag (Space Warps) ➤ Forces ➤ Object Type Create menu ➤ Space Warps ➤ Forces ➤ Drag The Drag space warp is a particle motion damper that reduces particle velocity by a specified amount within a specified range. The damping can be applied linearly, spherically, or cylindrically. Drag is useful for simulating wind resistance, transfers into dense media (like water), impacts with force fields, and other, similar situations. With each damping type, you can control the damping effect along several vectors. The damping is also affected by particle system settings, such as speed. NOTE To create a uniform drag effect, the default value for all directional parameters is 5.0%. Forces | 2941 Drag slows down a stream of particles. Procedures To create a Drag space warp: 1 On the Create panel, click (Space Warps). Choose Forces from the list, then on the Object Type rollout, click Drag. 2 Drag in a viewport to create the space warp. The space warp appears initially as a box within a box, indicating that it's using the default Linear Damping mode. 3 To apply the damping spherically or cylindrically, choose Spherical Damping or Cylindrical Damping in the command panel. 2942 | Chapter 12 Space Warps and Particle Systems NOTE The position and orientation of the space warp plays an important role for all three damping types. 4 Change the settings for the current damping type as necessary. Forces | 2943 Interface 2944 | Chapter 12 Space Warps and Particle Systems Timing group Time On/Time Off The frame numbers at which the space warp becomes active and becomes inactive. Damping Characteristics group This group lets you choose Linear Damping, Spherical Damping, or Cylindrical Damping, plus a set of parameters for each. Unlimited Range When on, Drag exerts full damping strength over an unlimited range. When off, the Range and Falloff settings for the current damping type take effect. ■ Linear DampingMotion for each particle is separated into vectors for the space warp's local X, Y, and Z axes. The area over which damping is exerted for each vector is an infinite plane whose thickness is determined by the corresponding Range setting. X Axis/Y Axis/Z Axis Specifies the percentage of particle motion along the local Drag space warp axis that's affected by the damping. Range Sets the thickness of the "range plane," or the infinite plane perpendicular to the specified axis. Takes effect only when Unlimited Range is turned off. Falloff Specifies the distance beyond the X, Y, or Z Range within which Linear Damping is applied. Damping is strongest at the Range distance, decreases linearly out to the limit of the Falloff, and has no effect beyond that. While Falloff takes effect only beyond the Range, it is measured from the center of the icon, and always has a minimum value equal to the Range value. Takes effect only when Unlimited Range is turned off. ■ Spherical DampingWhen Drag operates in Spherical Damping mode, its icon is a sphere within a sphere. Particle motion is broken up into radial and tangential vectors. Damping is applied for each vector within a spherical volume whose radius is set by the Range setting, when Unlimited Range is off. Radial/Tangential Radial specifies the percentage of particle motion toward or away from the center of the Drag icon that's affected by the damping. Tangential specifies the percentage of particle motion across the body of the Drag icon that's affected by the damping. Range Forces | 2945 Specifies the distance from the center of the Drag icon, in system units, within which damping is in full effect. Takes effect only when Unlimited Range is turned off. Falloff Specifies the distance beyond the Radial/Tangential Range within which Linear Damping is applied. Damping is strongest at the Range distance, decreases linearly out to the limit of the Falloff, and has no effect beyond that. While Falloff takes effect only beyond the Range, it is measured from the center of the icon, and always has a minimum value equal to the Range value. Takes effect only when Unlimited Range is turned off. ■ Cylindrical DampingWhen Drag operates in Spherical Cylindrical mode, its icon is a cylinder within a cylinder. Particle motion is broken up into radial, tangential, and axial vectors. Damping is applied within a spherical volume for the radial and tangential vectors and on a planar basis for the axial vector. Radial/Tangential/Axial Damping controls the percentage of particle motion toward or away from the center of the circular portion of the icon (Radial), across the radial vector (Tangential), or along the length of the icon's long axis (Axial) that's affected by the damping, on a per-frame basis. Range Specifies the distance from the center of the Drag icon, in system units, within which Radial and Axial damping are in full effect. Range also specifies the thickness of the infinite plane that governs the range of Axial damping. Takes effect only when Unlimited Range is turned off. Falloff Specifies the distance beyond the Radial/Tangential/Axial Range within which Linear Damping is applied. Damping is strongest at the Range distance, decreases linearly out to the limit of the Falloff, and has no effect beyond that. While Falloff takes effect only beyond the Range, it is measured from the center of the icon, and always has a minimum value equal to the Range value. Takes effect only when Unlimited Range is turned off. Display group Icon Size Specifies the size of the icon. 2946 | Chapter 12 Space Warps and Particle Systems PBomb Space Warp Create panel ➤ rollout ➤ PBomb (Space Warps) ➤ Forces ➤ Object Type Create menu ➤ Space Warps ➤ Forces ➤ PBomb The PBomb space warp creates an impulse wave to blow up a particle system, as distinguished from the Bomb space warp on page 3027, which blows up geometry. The PBomb is particularly well suited to the Particle Array (PArray) system with Particle Types set to Object Fragments. This space warp also applies an impulse as a dynamics effect. The general usage is as follows: ■ Create a particle system (recommended: a PArray system on page 3362 set to Object Fragments). ■ Create a PBomb and use Bind to Space Warp on page 2925 to bind it to a non-event-driven particle system. Be sure to bind the PBomb to the particle system and not to the distribution object. Or, if using Particle Flow, use a Force operator on page 3223 to apply the space warp to the particle system. ■ Adjust the parameters of both the PBomb and the particle system. Forces | 2947 Right: PBomb viewport icon Above: PArray particle system Below: Torus knot used as the PArray's distribution object 2948 | Chapter 12 Space Warps and Particle Systems Effect of blowing up the torus knot Procedures Example: To use PBomb with PArray: You can use the Particle Bomb bound to a Particle Array to blow an object into fragments. The following steps demonstrate the basic setup. Begin by binding a particle array to an object, and setting parameters. 1 Create the object you want to blow up. 2 Create a PArray and use Pick Object to assign the object to blow up as the PArray object-based emitter. 3 In the Basic Parameters rollout ➤ Viewport Display group, choose Mesh to display the fragments as mesh objects in the viewports. 4 On the Particle Generation rollout of PArray, set Speed and Divergence to 0.0. This prevents PArray from moving the particles, letting PBomb do the work. 5 On the Particle Generation rollout, set Life to the length of the active time segment, so that the fragments appear during the entire animation. Forces | 2949 6 In the Particle Type rollout ➤ Particle Types group, choose Object Fragments. In the Object Fragment Controls group, choose Number of Chunks, and set the Minimum to about 50, depending on your distribution object and the effect you want. Now create a particle bomb, and bind it to the particle array. 1 In the Space Warps panel ➤ Particles & Dynamics category, click the PBomb button and drag in a viewport to create the PBomb icon. 2 Use Bind to Space Warp to bind the PArray icon to the PBomb icon. (Don't bind the distribution object by mistake.) 3 Select the PBomb icon and move to the Modify panel. 4 In the Explosion Parameters group, set Blast Symmetry to Spherical, Start Time to 10, Duration to 1, and Strength to 1.0. Choose Linear, if it's not already chosen. 5 Drag the time slider between frames 9 and 20 to see the effect. 6 Go to frame 12 and try out various settings. Notice that increasing Strength expands the explosion effect at the current frame. If you decrease Range enough, the bomb no longer affects all or part of the object (depending on the placement of the PBomb icon). Test the three Blast Symmetry settings by placing the bomb in the center of the object and then seeing the different blast patterns. Once you get an explosive effect you like, you can return to the PArray settings, add spin or thickness to the fragments, and so on. 2950 | Chapter 12 Space Warps and Particle Systems Interface Blast Symmetry group These options specify the shape, or pattern of the blast effect. Spherical The blast force radiates outward from the PBomb icon in all directions. The icon looks like a spherical anarchist's bomb. Cylindrical The blast force radiates outward from and normal to the central axis, or core of the cylindrical icon. The icon looks like a stick of dynamite with a fuse. Planar The blast force radiates both up and down, perpendicular to the plane of the planar icon. The icon looks like a plane with arrows pointing up and down along the direction of the blast force. Chaos The blast forces vary for each particle or each frame, an effect similar to Brownian motion, with a rate of change in the direction of force equal to Forces | 2951 the rendering interval rate. Note: This setting is effective only when the Duration spinner is set to 0. Explosion Parameters group Start Time The frame number at which the impulse forces are first applied to the particles. Duration The number of frames, beyond the first, over which the forces are applied. This value should typically be a small number, such as between 0 and 3. Strength The change in velocity along the blast vector, in units per frame. Increasing Strength increases the speed with which the particles are blown away from the bomb icon. Unlimited Range The effects of the bomb icon reach all bound particles throughout the scene. This option ignores the Range setting (which specifies the distance of the PBomb effect). Linear The impulse forces decay linearly between the full Strength setting to a value of 0 at the specified Range setting. Exponential The impulse forces decay exponentially between the full Strength setting to a value of 0 at the specified Range setting. Range The maximum distance, in units, over which the PBomb icon affects the bound particle system. If the Range is large enough to reach only a portion of the particle system, only that part of the system is affected. If you turn on Range Indicator (see following), the extent of the range is indicated by a tri-hooped sphere. If you choose Unlimited Range, this parameter has no effect. Display Icon group These options affect the visual display of the PBomb icon. Icon Size Alters the overall size of the PBomb icon. Range Indicator Displays a wireframe sphere that indicates the volume of the particle bomb's influence. If you choose Unlimited Range, turning this on has no effect. 2952 | Chapter 12 Space Warps and Particle Systems Path Follow Space Warp Create panel ➤ rollout ➤ Path Follow (Space Warps) ➤ Forces ➤ Object Type Create menu ➤ Space Warps ➤ Forces ➤ Path Follow The Path Follow space warp forces particles to follow a spline path. Particles following a spiral path Procedures To create a Path Follow space warp: 1 On the Create panel, click (Space Warps). Choose Forces from the list, then on the Object Type rollout, click Path Follow. 2 Click and drag in a viewport to define the size. The Path Follow warp appears as a box-shaped icon containing curved lines that indicate hypothetical paths. To set up and use Path Follow: 1 Create a shape consisting of a single spline. (You can use shapes with multiple splines, but 3ds Max uses only one spline for the path.) 2 Create a particle system and set its parameters to emit particles over a range of frames. Forces | 2953 3 On the Create panel, click Path Follow, and drag in a viewport to create the Path Follow icon (a cube with wavy lines). The display and position of this icon don't affect the particles. 4 On the Basic Parameters rollout, click Pick Shape Object and select the spline you created earlier. 5 Bind the Path Follow icon to the particle system. 6 Adjust the Path Follow parameters to create the particle movement you want. NOTE You can further animate the particle effect by animating the spline vertices. TIP To adjust the position of the path or particle system while maintaining access to the Path Follow parameters, select the Path Follow space warp and then turn on (Pin Stack), below the modifier stack. If the particles don't follow the emitter after it's moved, then change any PathFollow parameter, and the motion will be corrected. 2954 | Chapter 12 Space Warps and Particle Systems Interface Forces | 2955 Current Path group Lets you choose the path for the particles, and specify the range of influence of the Space Warp. Object Displays the name of the currently assigned path. Pick Shape Object Click this, and then click a shape in the scene to select it as a path. You can use any shape object as a path; if you select a multiple-spline shape, only one the lowest-number spline is used. You can also use NURBS curves as paths. Unlimited Range When off, the range of influence of the space warp is limited to the value set in the Distance spinner. When on, the space warp influences all bound particles in the scene, regardless of their distance from the path object. Range Specifies the range of influence when Unlimited Range is off. This is the distance between the path object and the particle system. The position of the Path Follow space warp's icon is ignored. Motion Timing group These controls affect how long particles are influenced by Path Follow. Start Frame The frame at which Path Follow begins to influence the particles. Travel Time The time each particle takes to traverse the path. Variation The amount by which each particle's travel time can vary. Last Frame The frame at which Path Follow releases the particles and no longer influences them. Particle Motion group The controls in this area determine the motion of particles. Along Offset Splines The distance between the particle system and the path alter the effect of the particle motion. If the first vertex of the spline is at the birthplace of the particle, the particle follows the spline path. If you move the path away from the particle system, the particles are affected by the offset. Along Parallel Splines Particles follow a copy of the selected path, parallel to the particle system. In this mode, the position of the path relative to the particle system does not matter. The orientation of the path, however, affects the particle stream. Constant Speed When on, all particles travel at the same speed. 2956 | Chapter 12 Space Warps and Particle Systems Stream Taper Causes particles to converge or diverge toward the path over time, or to simultaneously converge and diverge. You specify the effect by choosing Converge, Diverge, or Both (see following). This provides a tapering effect over the length of the path. Variation The amount by which Stream Taper can vary for each particle. Converge When Stream Taper is greater than 0, the particles move in toward the path as they follow the path. The effect is that the stream tapers from larger to smaller over time. Diverge Provides the opposite effect of Converge. The particles diverge from the path over time. Both Splits the particle stream, causing some particles to converge and others to diverge. Stream Swirl Specifies the number of turns by which particles spiral about the path. In conjunction with Stream Taper, alters the diameter of the spiral. Stream Swirl is generally more effective when you choose Along Offset Splines. Variation The amount by which each particle can vary from the Spiral value. Clockwise Particles spiral in a clockwise direction. Counterclockwise Particles spiral in a counterclockwise direction. Bidirectional The stream is split so that particles spiral in both directions. Uniqueness group Provides a seed number for unique generation of the particle pattern. Seed Specifies the seed number for the current Path Follow. Display Icon group Affects the display of the Path Follow icon. Icon Size Specifies the size of the Path Follow icon. Does not alter the Path Follow effect. Forces | 2957 Gravity Space Warp Create panel ➤ rollout ➤ Gravity (Space Warps) ➤ Forces ➤ Object Type Create menu ➤ Space Warps ➤ Forces ➤ Gravity The Gravity space warp simulates the effect of natural gravity on particles generated by a particle system. Gravity is directional. Particles moving in the direction of the gravity arrow accelerate. Particles moving against the arrow decelerate. Particles falling because of gravity In the case of spherical gravity, motion is toward the icon. Gravity can also be used as an effect in dynamics simulations. See Dynamics Utility on page 4226. Gravity effect on snow 2958 | Chapter 12 Space Warps and Particle Systems Procedures To create gravity: 1 On the Create panel, click (Space Warps). Choose Forces from the list, then on the Object Type rollout, click Gravity. 2 Drag in a viewport. The Gravity icon appears. For planar gravity (the default), the icon is a wireframe square with a direction arrow on one side. For spherical gravity, the icon is a wireframe sphere. The initial direction of planar gravity is along the negative Z axis of the construction grid that is active in the viewport where you drag. You can rotate the gravity object to change the direction. Interface Force group Strength Increasing Strength increases the effect of gravity; that is, how objects move in relation to the Gravity icon's direction arrow. Strength less than 0.0 creates negative gravity, which repels particles moving in the same direction and attracts particles moving in the opposite direction. When Strength is set to 0.0, the Gravity space warp has no effect. Forces | 2959 Decay When Decay is set to 0.0, the Gravity space warp has the same strength throughout world space. Increasing the Decay value causes gravity strength to diminish as distance increases from the position of the gravity warp object. Default=0.0. Planar Gravity effect is perpendicular to the plane of the Gravity warp object throughout the scene. Spherical Gravity effect is spherical, centered on the Gravity warp object. This choice is effective for creating water fountain or planetary effects. Display group Range Indicators When on, and when the Decay value is greater than 0.0, icons in the viewports indicate the range at which the force of gravity is half the maximum value. For the Planar option, the indicators are two planes; for use the Spherical option, the indicator is a double-hooped sphere. Icon Size Size of the Gravity warp object icon, in active units. You set the initial size when you drag to create the Gravity object. This value does not change the gravity effect. Wind Space Warp Create panel ➤ rollout ➤ Wind (Space Warps) ➤ Forces ➤ Object Type Create menu ➤ Space Warps ➤ Forces ➤ Wind The Wind space warp simulates the effect of wind blowing particles generated by a particle system. Wind is directional. Particles moving in the direction of the wind arrow accelerate. Particles moving against the arrow decelerate. In the case of spherical wind, motion is toward or away from the icon. 2960 | Chapter 12 Space Warps and Particle Systems Wind changing the direction of the spray of a fountain Wind is similar in effect to the Gravity space warp, but has added parameters for turbulence and other features characteristic of wind in the natural world. Wind can also be used as an effect in dynamics simulations. See Dynamics Utility on page 4226. Wind effect on snow and spray Forces | 2961 Procedures To create wind: 1 On the Create panel, click (Space Warps). Choose Forces from the list, then on the Object Type rollout, click Wind. 2 Drag in a viewport. The wind icon appears. For planar wind (the default), the icon is a wireframe square with a direction arrow coming out of one side. For spherical wind, the icon is a wireframe sphere. The initial direction of planar wind is along the negative Z axis of the construction grid that is active in the viewport where you drag. You can rotate the wind object to change the direction. 2962 | Chapter 12 Space Warps and Particle Systems Interface Force group These settings are comparable to the Gravity parameters. Strength Increasing Strength increases the wind effect. Strength less than 0.0 creates a suction. It repels particles moving in the same direction and attracts particles moving in the opposite direction. When Strength is 0.0, the Wind warp has no effect. Decay When Decay is set to 0.0, the Wind warp has the same strength throughout world space. Increasing the Decay value causes wind strength to diminish as distance increases from the position of the Wind warp object. Default=0.0. Planar Wind effect is perpendicular to the plane of the Wind warp object, throughout the scene. Forces | 2963 Spherical Wind effect is spherical, centered on the Wind warp object. Wind group These settings are specific to the Wind space warp. Turbulence Causes particles to change course randomly as the wind blows them. The greater the value, the greater the turbulence effect. Frequency When set greater than 0.0, causes turbulence to vary periodically over time. This subtle effect is probably not visible unless your bound particle system generates a large number of particles. Scale Scales the turbulence effect. When Scale is small, turbulence is smoother and more regular. As Scale increases, turbulence grows more irregular and wild. Display group Range Indicators When the Decay value is greater than zero, icons appear in the viewports that represent the range at which the force of wind is half the maximum value. When you use the Planar option, the indicators are two planes; when you use the Spherical option, the indicator is a double-hooped sphere. Icon Size Size of the Wind warp object icon, in active units. You set the initial Icon Size value when you drag to create the wind object. This value does not change the wind effect. Displace Space Warp Create panel ➤ (Space Warps) ➤ Geometric/Deformable ➤ Object Type rollout ➤ Displace Create menu ➤ Space Warps ➤ Geometric/Deformable ➤ Displace The Displace space warp acts as a force field to push and reshape an object's geometry. Displace affects both geometry (deformable objects) and particle systems. 2964 | Chapter 12 Space Warps and Particle Systems Displace used to change the surface in the container There are two basic ways to use the Displace space warp: ■ Apply the gray scale of a bitmap to generate the displacement amount. Black areas of the 2D image are not displaced. Whiter areas push outward, causing a 3D displacement of geometry. ■ Apply displacement directly by setting displacement Strength and Decay values. The Displace space warp works similarly to the Displace modifier, except that, like all space warps, it affects world space rather than object space. Use the Displace modifier when you need to create detailed displacement of a small number of objects. Use the Displace space warp to displace particle systems, a large number of geometric objects at once, or an object relative to its position in world space. For geometry, the detail of the displacement depends on the number of vertices. Use the Tessellate modifier to tessellate faces you want to show in greater detail. Forces | 2965 Procedures To create a Displace space warp: 1 On the Create panel, click (Space Warps). Choose Geometric/Deformable from the list, then on the Object Type rollout, click Displace. 2 Drag in a viewport to create the Displace warp object, which appears as a wireframe. Its shape depends on the active mapping parameter settings. Regardless of the mapping, a single drag creates the space warp. 3 Bind the space warp to an appropriate object. To assign a bitmap to a displace space warp: 1 Select the Displace warp object. 2 In the Parameters rollout ➤ Displacement group, click the Bitmap button (labeled "None" by default). Use the selection dialog to choose a bitmap. 3 Set the Strength value. Vary the strength of the field to see how the bitmap displaces the object's geometry. 2966 | Chapter 12 Space Warps and Particle Systems Interface Displacement group These are the basic controls for Displace space warps. Forces | 2967 Strength When set to 0.0, the Displace warp has no effect. Values greater than 0.0 displace object geometry or particles away from the position of the Displace space warp object. Values less than 0.0 displace geometry toward the warp. Default=0.0 Decay By default, the Displace warp has the same strength throughout world space. Increasing Decay causes displacement strength to diminish as distance increases from the position of the Displace warp object. Default=0.0 Luminance Center By default, the Displace space warp centers the luminance by using medium (50%) gray as the zero displacement value. Gray values greater than 128 displace in the outward direction (away from the Displace warp object) and gray values less than 128 displace in the inward direction (toward the Displace warp object). You can adjust the default using the Center spinner. With a Planar projection, the displaced geometry is repositioned above or below the Planar gizmo. Default=0.5. Range=0 to 1.0. Image group These options let you choose a bitmap and map to use for displacement. Bitmap (Labeled "None" by default.) Click to assign a bitmap or map from a selection dialog. After you choose a bitmap or map, this button displays the bitmap's name. Remove Bitmap Click to remove the bitmap or map assignment. Blur Increase this value to blur or soften the effect of the bitmapped displacement. Map group This area contains mapping parameters for a bitmapped Displace warp. The mapping options are comparable to those options used with mapped materials. The four mapping modes control how the Displace warp object projects its displacement. The warp object's orientation controls where in the scene the displacement effect will appear on bound objects. Planar Projects the map from a single plane. Cylindrical Projects the map as if it were wrapped around the cylinder. Spherical Projects the map from a sphere, with singularities at the top and bottom of the sphere, where the bitmap edges meet at the sphere's poles. Shrink Wrap Truncates the corners of the map and joins them all at a single pole, creating one singularity. 2968 | Chapter 12 Space Warps and Particle Systems Length, Width, Height Specify the dimensions of the bounding box of the space warp gizmo. Height has no effect on planar mapping. U/V/W Tile The number of times the bitmap repeats along the specified dimension. The default value of 1.0 maps the bitmap once; a value of 2.0 maps the bitmap twice, and so on. Fractional values map a fractional portion of the bitmap in addition to copies of the whole map. For example, a value of 2.5 maps the bitmap two and one-half times. Flip Reverses the orientation of the map along the corresponding U, V, or W axis. Deflectors Deflectors are used to deflect particles or to affect dynamics systems. POmniFlect Space Warp Create panel ➤ rollout ➤ POmniFlect (Space Warps) ➤ Deflectors ➤ Object Type POmniFlect is a planar version of the omniflector on page 9246 type of space warp. It provides enhanced functionality over that found in the original Deflector space warp, including refraction and spawning capabilities. Deflectors | 2969 POmniFlect viewport icon Procedures To create a POmniFlect space warp: 1 On the Create panel, click (Space Warps). Choose Deflectors from the list, then on the Object Type rollout, click POmniFlect. 2 Drag in a viewport to create the planar icon. NOTE Because particles bounce off the icon, the size of the icon affects particle deflection. 3 Apply the deflector to the particle system using the appropriate method: ■ If using Particle Flow on page 3033, specify the deflector in the Collision test on page 3269 or Collision Spawn test on page 3274 parameters. ■ If using a non-event-driven particle system on page 3323, bind on page 2925 the particle system to the deflector icon. 2970 | Chapter 12 Space Warps and Particle Systems 4 Position the POmniFlect icon to interrupt the particle stream. 5 Adjust the POmniFlect parameters as necessary. Deflectors | 2971 Interface 2972 | Chapter 12 Space Warps and Particle Systems Timing group The two spinners specify the start frame and end frame of the deflection effect. Time On/Off Time On specifies the frame at which the deflection begins, and Time Off specifies the frame at which the deflection ends. Reflection group These options affect the reflection of particles from the space warp. The POmniFlect can reflect or refract particles, or perform a combination of the two. Reflects Specifies the percentage of particles to be reflected by the POmniFlect. See also Refracts, later in this topic, for methods of combining the two effects. Bounce This is a multiplier that specifies how much of the initial speed of the particle is maintained after collision with the POmniFlect. Using the default setting of 1.0 causes the particle to rebound with the same speed as it collides. A real-world effect would usually be less than 1.0. For a “flubber” effect, set greater than 1.0. Variation Specifies the variation of Bounce applied to the range of particles. For example, a Variation of 50% applied to a Bounce setting of 1.0 would result in randomly applied Bounce values ranging from 0.5 to 1.5. Chaos Applies a random variation to the bounce angle. When set to 0.0 (no chaos), all particles bounce off the POmniFlect surface perfectly (like banking pool balls). A nonzero setting causes the deflected particles to scatter. Refraction group These settings are similar to those in the Reflection group, but these affect the refraction of particles as they pass through the POmniFlect, causing the direction of the particles to change. Refracts Specifies the percentage of particles not already reflected that will be refracted by the POmniFlect. NOTE The Refracts value affects only those particles not already reflected because the reflected particles are processed before the refracted particles. Thus, if you set Reflects to 50% and Refracts to 50%, you would not get a 50/50 split of particles. Rather, half the particles would be reflected, and then half the remainder (25% of the total) would be refracted. The remaining particles either pass through without being refracted or are passed on to Spawn Effects. Deflectors | 2973 To get a 50/50 split of reflection and refraction, set Reflects to 50% and Refracts to 100%. Pass Vel Specifies how much of a particle’s initial speed is maintained after passing through the POmniFlect. The default setting of 1 retains the initial speed is retained, so there’s no change. A setting of 0.5 reduces the speed by half. Variation Specifies the variation of Pass Velocity applied to the range of particles. Distortion Controls the angle of refraction. A value of 0 means there’s no refraction. A value of 100% sets the angle of the particles to be parallel with the POmniFlect surface. A value of −100% sets the angle perpendicular to the surface. The Distortion effect is reversed when particles strike the POmniFlect from the back side. NOTE Distortion and Refraction do not work properly when particles strike the POmniFlect surface at exactly 90 degrees. In this case, any positive Distortion settings cause a scattering of particles, while negative values have no effect. Variation Specifies a range of variation of the Distortion effect. Diffusion Applies a diffusion effect to the refraction by randomly modifying each particle’s Distortion angle by the Diffusion angle. This effectively scatters the particles into a hollow cone. Variation Specifies a range of variation of the Diffusion value. Common group Friction The amount by which particles are slowed as they move along the deflector surface. A value of 0% means they're not slowed at all. A value of 50% means they're slowed to half their original speed. A value of 100% means they stop moving when they strike the surface. Default=0%. Range=0% to 100%. TIP To have particles slide along a deflector surface, set Bounce to 0. Also, unless influenced by a force such as Wind or Gravity, particles meant to slide should strike the surface at an angle other than 90 degrees. Inherit Vel (Velocity Inheritance) Determines how much of a moving POmniFlect’s speed is applied to reflected or refracted particles. For example, if Inherit Vel is 1.0, particles with no motion that are hit by a moving PomniFlect inherit the speed of the POmniFlect at the point of collision. 2974 | Chapter 12 Space Warps and Particle Systems Spawn Effects Only group These settings affect only particles set to Spawn On Collision that do not either reflect or refract from the omniflector. See Particle Spawn Rollout (PArray) on page 3389. The Spawns percentage spinner works like the Reflects and Refracts percentage spinners, but is the third in line to be processed. Thus, if either Reflects or Refracts are set to 100%, no particles are affected by these settings. Note also that reflective or refractive particles spawn upon collision, regardless of the settings in this group. Spawns Specifies the percentage of particles that can use spawn effects. Pass Vel Specifies how much of the particle’s initial speed is maintained after passing through the POmniFlect. Variation Specifies the variation of the Pass Velocity setting applied to the range of particles. Display Icon group Width/Height Specify the width and height of the POmniFlect icon. This is for display purposes only and does not influence the deflector effect. PDynaFlect Space Warp Create panel ➤ rollout ➤ PDynaFlect (Space Warps) ➤ Deflectors ➤ Object Type PDynaFlect (planar dynamics deflector) is a planar version of the dynaflector on page 9141, a special class of space warp that lets particles affect objects in a dynamics situation. For example, if you want a stream of particles to strike an object and knock it over, like the stream from a firehose striking a stack of boxes, use a dynaflector. NOTE You use dynaflectors in the same way as omniflectors; that is, you can use them as deflectors alone, with no dynamics simulation. Because they take physics into account, dynaflectors are slower than omniflectors. Therefore, it is recommended that you use dynaflectors only when a dynamics simulation is involved. Deflectors | 2975 PDynaflect viewport icon Procedures Many dynaflector parameters are the same as those for omniflectors. However, the procedure of associating the dynaflector with both the particle system and the object to be affected is more complex than the simple binding used by omniflector. To create a particle/dynamics system: 1 Create or load a scene containing a non-event-driven particle system on page 3323 and an object to be affected by the particles (hereafter called "the object"). Position and orient the two as desired so that the particles strike the object. ■ The icon for the particle system must be visible in at least one non-disabled viewport. ■ On the Basic Parameters rollout of the particle system, set Percentage of Particles to 100%. Otherwise, only those particles displayed in the viewport will be calculated. 2976 | Chapter 12 Space Warps and Particle Systems 2 On the Create panel, click (Space Warps). Choose Deflectors from the drop-down list, then on the Object Type rollout, click one of the dynaflector buttons (PDynaFlect, SDynaFlect, or UDynaFlect). Drag in a viewport to create the deflector. 3 Do either of the following: ■ If using a PDynaFlect or SDynaFlect, position the space warp icon where the particles strike (or will strike) the object. Resize and orient it as needed. Also, link the PDynaFlect or SDynaFlect as a child of the object. This step isn't absolutely necessary, but allows the deflector to follow the object as it moves. ■ 4 If using a UDynaFlect, go to the Modify panel ➤ Parameters rollout, click the Pick Object button, and then select the object. The position of the space warp icon doesn't matter, and it's not necessary to link the two. Bind the particle system to the dynaflector using the toolbar Bind to Space Warp button on page 2925. 5 Go to the Utilities panel and open the Dynamics utility. 6 On the Dynamics rollout, click New to create a new simulation. 7 Click Edit Object List, and add the object to the dynamics simulation. 8 Click Edit Object. On the Edit Object dialog, click Assign Object Effects and assign the dynaflector to the object. 9 On the Dynamics rollout, turn on the Update Display w/Solve check box above the Solve button. 10 Solve the simulation. Deflectors | 2977 Interface Timing group The two spinners specify the start frame and end frame of the deflection effect. Time On/Off Time On specifies the frame at which the deflection begins, and Time Off specifies the frame at which the deflection ends. 2978 | Chapter 12 Space Warps and Particle Systems Particle Bounce group These settings affect the reflection of particles from the space warp. Reflects Specifies the percentage of particles to be reflected by the PDynaFlect. This affects both the particles and the dynamics reaction of the object struck by the particles. The more particles that strike the affected object, the more force applied to that object. If set to 0.0, the particles have no effect on the object. Bounce This is a multiplier that specifies how much of the initial speed of the particle is maintained after collision with the PDynaFlect. Using the default setting of 1.0 causes the particle to rebound with the same speed as it collides. A real-world effect would usually be less than 1.0. For a "flubber" effect, set greater than 1.0. Variation Specifies the variation of Bounce applied to the range of particles. For example, a Variation setting of 50% applied to a Bounce setting of 1.0 would result in randomly applied Bounce values ranging from 0.5 to 1.5. Chaos Applies a random variation to the bounce angle. When you set Chaos to 0.0 (no chaos), all particles bounce off the PDynaFlect surface perfectly (like banking pool balls). A nonzero setting causes the deflected particles to scatter. Friction The amount by which particles are slowed as they move along the deflector surface. A value of 0% means they're not slowed at all. A value of 50% means they're slowed to half their original speed. A value of 100% means they stop moving when they strike the surface. Default=0%. Range=0% to 100%. TIP To have particles slide along a deflector surface, set Bounce to 0. Also, unless influenced by a force such as Wind or Gravity, particles meant to slide should strike the surface at an angle other than 90 degrees. Inherit Vel (Velocity Inheritance) Determines how much of a moving PDynaFlect’s speed is applied to reflected or refracted particles. For example, if Inherit Vel is 1.0, particles with no motion that are hit by a moving PDynaFlect inherit the speed of the PDynaFlect at the point of collision. Physical Properties group These options let you set the mass of each particle. Mass Specifies the mass based on the chosen unit. Deflectors | 2979 gram One gram equals 1/1000 kg or 22/1000 Lbm at a gravity of 1.0. Kg One kg (kilogram) equals 1000 grams or 2.2 Lbm at a gravity of 1.0. Lbm One Lbm (pounds-mass) equals 5/11 kg or 454 5/11 grams at a gravity of 1.0. (Pounds-mass, the amount of mass in one pound of weight, is dependent on gravity. For pounds-mass values at a gravity other than 1.0, multiply the pounds-mass value by the gravity factor.) Display Icon group Width/Height Specify the width and height of the PDynaFlect icon. This is for display purposes only and does not influence the deflector effect. SOmniFlect Space Warp Create panel ➤ rollout ➤ SOmniFlect (Space Warps) ➤ Deflectors ➤ Object Type SOmniFlect is the spherical version of the omniflector on page 9246 type of space warp. It provides more options than the original SDeflector. Most settings are the same as those in POmniFlect on page 2969. The difference is that this space warp provides a spherical deflection surface rather than the planar surface. The only settings that are different are in the Display Icon area, in which you set the Radius, instead of the Width and Height. NOTE Opposite sides of the deflectors reverse the distortion effect. Thus, a refracted particle passing through the SOmniFlect hits its outside surface first, and then its inside surface. A positive Distortion value warps the particles toward the perpendicular; then, as the particles pass through the inside surface, the same positive Distortion value warps them toward the parallel. 2980 | Chapter 12 Space Warps and Particle Systems SOmniFlect viewport icon Procedures To create an SOmniFlect space warp: 1 On the Create panel, click (Space Warps). Choose Deflectors from the list, then on the Object Type rollout, click SOmniFlect. 2 Drag in a viewport to create the spherical icon. NOTE Because particles bounce off the icon, the size of the icon affects particle deflection. 3 Apply the deflector to the particle system using the appropriate method: ■ If using Particle Flow on page 3033, specify the deflector in the Collision test on page 3269 or Collision Spawn test on page 3274 parameters. ■ If using a non-event-driven particle system on page 3323, on page 2925 the particle system to the deflector icon. bind Deflectors | 2981 4 Position the SOmniFlect icon to interrupt the particle stream. 5 Adjust the SOmniFlect parameters as necessary. SDynaFlect Space Warp Create panel ➤ rollout ➤ SDynaFlect (Space Warps) ➤ Deflectors ➤ Object Type The SDynaFlect space warp is a spherical dynaflector on page 9141. It’s like the PDynaFlect on page 2975 warp, except that it’s spherical, and its Display Icon spinner specifies the icon's Radius value. SDynaFlect viewport icon 2982 | Chapter 12 Space Warps and Particle Systems UOmniFlect Space Warp Create panel ➤ rollout ➤ UOmniFlect (Space Warps) ➤ Deflectors ➤ Object Type UOmniFlect, the universal omniflector on page 9246, provides more options than the original UDeflector. This space warp lets you use any other geometric object as a particle deflector. The deflections are face accurate, so the geometry can be static, animated, or even morphing or otherwise deforming over time. NOTE Some particle “leakage” can occur with this deflector, particularly when you use many particles and a complex deflector object. To avoid this, perform a test render to check for leaking particles, and then add POmniFlects to catch the strays. UOmniFlect viewport icon Deflectors | 2983 Procedures To use the UOmniFlect space warp: To use a universal omniflector, you need a minimum of three objects in the scene: 1 The particle system 2 The UOmniFlect space warp 3 The object used as the deflector 4 Add or select an object used as the deflector. 5 Create a particle system whose particles intersect the deflector object. 6 On the Create panel, click (Space Warps). Choose Deflectors from the list, then on the Object Type rollout, click UOmniFlect. 7 Click and drag in a viewport to place the space warp icon. NOTE The size and position of the UOmniFlect icon do not alter the effect. 8 Apply the deflector to the particle system using the appropriate method: ■ If using Particle Flow on page 3033, specify the deflector in the Collision test on page 3269 or Collision Spawn test on page 3274 parameters. ■ If using a non-event-driven particle system on page 3323, on page 2925 the particle system to the deflector icon. bind 9 On the Modify panel ➤ Parameters rollout ➤ Object-Based OmniFlector group, click Pick Object, and then select the object to use as a deflector. 10 Adjust the particle system and UOmniFlect parameters as necessary. Interface Parameters rollout The settings for the UOmniFlect are the same as those for POmniFlect on page 2969, with the following additions: 2984 | Chapter 12 Space Warps and Particle Systems Object-Based OmniFlector group Lets you choose the object to use as a deflector. Item Displays the name of the selected object. Pick Object Click this, and then select any renderable object to use as a deflector. Display Icon group Icon Size Specifies the size of one side of the square UOmniFlect icon. UDynaFlect Space Warp Create panel ➤ rollout ➤ UDynaFlect (Space Warps) ➤ Deflectors ➤ Object Type The UDynaFlect space warp is a universal dynaflector on page 9141 that lets you use the surface of any object as both the particles deflector and the surface that reacts dynamically to the particle impact. The procedures and options for using UDynaFlect are the same as for PDynaFlect on page 2975, with the following changes and additions. Deflectors | 2985 UDynaFlect viewport icon NOTE When you use UDynaFlect, you must indicate the object to be affected with the Pick Object button. Linking is not necessary. 2986 | Chapter 12 Space Warps and Particle Systems Interface Deflectors | 2987 Object-Based DynaFlector group Lets you choose the object to use as a deflector. Item Displays the name of the selected object. Pick Object Click this, and then select any renderable object to use as a deflector. Display Icon group Icon Size Specifies the size of the UDynaFlect icon. SDeflector Space Warp Create panel ➤ rollout ➤ SDeflector (Space Warps) ➤ Deflectors ➤ Object Type Create menu ➤ Space Warps ➤ Deflectors ➤ SDeflector The SDeflector space warp serves as a spherical deflector of particles. SDeflector viewport icon (with particle system on the left) 2988 | Chapter 12 Space Warps and Particle Systems SDeflector repelling particles Procedures To create an SDeflector: 1 On the Create panel, click (Space Warps). Choose Deflectors from the list, then on the Object Type rollout, click SDeflector. 2 Drag in a viewport to create the spherical icon. NOTE Because particles bounce off the perimeter of the spherical icon, the size of the icon affects particle deflection. 3 Apply the deflector to the particle system using the appropriate method: ■ If using Particle Flow on page 3033, specify the deflector in the Collision test on page 3269 or Collision Spawn test on page 3274 parameters. ■ If using a non-event-driven particle system on page 3323, on page 2925 the particle system to the deflector icon. bind 4 Position the SDeflector icon to interrupt the particle stream. Deflectors | 2989 5 Adjust the SDeflector parameters as necessary. Interface Particle Bounce group These settings determine how the deflector affects the bound particles. Bounce Determines the speed with which particles bounce off the deflector. At 1.0, the particles bounce at the same speed as they approach. At 0, they don't deflect at all. Variation The amount by which each particle can vary from the Bounce setting. Chaos The amount of variation from the perfect angle of reflection (found when Chaos is set to 0.0). 100% induces a variation in reflection angle of up to 90 degrees Friction The amount by which particles are slowed as they move along the deflector surface. A value of 0% means they're not slowed at all. A value of 50% means they're slowed to half their original speed. A value of 100% means they stop moving when they strike the surface. Default=0%. Range=0% to 100%. 2990 | Chapter 12 Space Warps and Particle Systems TIP To have particles slide along a deflector surface, set Bounce to 0. Also, unless influenced by a force such as Wind or Gravity, particles meant to slide should strike the surface at an angle other than 90 degrees. Inherit Vel (Velocity Inheritance) When the value is greater than 0, the motion of the deflector affects particles as well as the other settings. For example, to animate the SDeflector passing through a passive array of particles, turn up this value to affect the particles. Display Icon group This option affects the display of the icon. Diameter Specifies the diameter of the SDeflector icon. This setting also alters the effect of the deflection, because particles bounce off the perimeter of the icon. The scale of the icon also affects the particles. UDeflector Space Warp Create panel ➤ rollout ➤ UDeflector (Space Warps) ➤ Deflectors ➤ Object Type Create menu ➤ Space Warps ➤ Deflectors ➤ UDeflector The UDeflector is a universal deflector that lets you use any object as a particle deflector. Deflectors | 2991 Particles scatter when they strike a UDeflector object Procedures To create a UDeflector: 1 On the Create panel, click (Space Warps). Choose Deflectors from the list, then on the Object Type rollout, click UDeflector. 2 In a viewport, drag out a rectangle to add a UDeflector warp to the scene. 3 On the command panel, click the Pick Object button and select an object to be a particle deflector. 4 Apply the deflector to the particle system using the appropriate method: ■ If using Particle Flow on page 3033, specify the deflector in the Collision test on page 3269 or Collision Spawn test on page 3274 parameters. ■ If using a non-event-driven particle system on page 3323, on page 2925 the particle system to the deflector icon. 2992 | Chapter 12 Space Warps and Particle Systems bind 5 Position the UDeflector icon to interrupt the particle stream. 6 Adjust the UDeflector parameters as necessary. Interface Object-Based Deflector group Specifies the object to use as a deflector. Item Displays the name of the selected object. Pick Object Click this, and then click any renderable mesh object to be used as a deflector. Particle Bounce group Bounce Determines the speed with which particles bounce off the deflector. At 1.0, the particles bounce at the same speed as they approach. At 0, they don't deflect at all. Deflectors | 2993 Variation The amount by which each particle can vary from the Bounce setting. Chaos The amount of variation from the perfect angle of reflection (found when Chaos is set to 0.0). 100% induces a variation in reflection angle of up to 90 degrees. Friction The amount by which particles are slowed as they move along the deflector surface. A value of 0% means they're not slowed at all. A value of 50% means they're slowed to half their original speed. A value of 100% means they stop moving when they strike the surface. Default=0%. Range=0% to 100%. TIP To have particles slide along a deflector surface, set Bounce to 0. Also, unless influenced by a force such as Wind or Gravity, particles meant to slide should strike the surface at an angle other than 90 degrees. Inherit Vel (Velocity Inheritance) When greater than 0, the motion of the deflector affects particles as well as the other settings. For example, to animate the SDeflector passing through a passive array of particles, turn up this value to affect the particles. Display Icon group Icon Size This spinner displays and lets you change the size of the icon. Deflector Space Warp Create panel ➤ rollout ➤ Deflector (Space Warps) ➤ Deflectors ➤ Object Type Create menu ➤ Space Warps ➤ Deflectors ➤ Deflector The Deflector space warp acts as a planar shield to repel the particles generated by a particle system. For example, you can use Deflector to simulate pavement being struck by rain. You can combine a Deflector space warp with a Gravity space warp to produce waterfall and fountain effects. 2994 | Chapter 12 Space Warps and Particle Systems Two streams of particles striking two deflectors See also: ■ SDeflector Space Warp on page 2988 ■ UDeflector Space Warp on page 2991 Procedures To create a deflector: 1 On the Create panel, click (Space Warps). Choose Deflectors from the list, then on the Object Type rollout, click Deflector. 2 Drag in a viewport to define the deflection area. The deflector appears as a wireframe rectangle. 3 Apply the deflector to the particle system using the appropriate method: ■ If using Particle Flow on page 3033, specify the deflector in the Collision test on page 3269 or Collision Spawn test on page 3274 parameters. Deflectors | 2995 ■ If using a non-event-driven particle system on page 3323, on page 2925 the particle system to the deflector icon. bind Interface The deflector's effect is controlled mainly by its size and orientation in the scene, relative to the particle system that is bound to it. You can also adjust how strongly the deflector deflects particles. Bounce Controls the speed at which particles bounce off the deflector. At a setting of 1.0, particles bounce off the deflector at the same speed they struck it. At 0.0, particles do not bounce at all. At values between 0.0 and 1.0, particles bounce off the deflector at a speed reduced from their initial speed. At values greater than 1.0, particles bounce off the deflector at a speed greater than their initial speed. Default=1.0. Variation The amount by which each particle can vary from the Bounce setting. Chaos The amount of variation from the perfect angle of reflection (found when Chaos is set to 0.0). 100% induces a variation in reflection angle of up to 90 degrees 2996 | Chapter 12 Space Warps and Particle Systems Friction The amount by which particles are slowed as they move along the deflector surface. A value of 0% means they're not slowed at all. A value of 50% means they're slowed to half their original speed. A value of 100% means they stop moving when they strike the surface. Default=0%. Range=0% to 100%. TIP To have particles slide along a deflector surface, set Bounce to 0. Also, unless influenced by a force such as Wind or Gravity, particles meant to slide should strike the surface at an angle other than 90 degrees. Inherit Vel (Velocity Inheritance) When the value is greater than 0, the motion of the deflector affects particles as well as the other settings. For example, if you want an animated SDeflector passing through an array of particles to affect the particles, turn up this value. Width Sets the deflector's width. Length Sets the deflector's length. Geometric/Deformable These space warps are used to deform geometry. FFD(Box) Space Warp Create panel ➤ (Space Warps) ➤ Geometric/Deformable ➤ Object Type rollout ➤ FFD(Box) Create menu ➤ Space Warps ➤ Geometric/Deformable ➤ FFD(Box) Free-form deformations (FFDs) provide a method of deforming an object by adjusting the control points of a lattice. The offset position of the control points to the original lattice source volume causes the distortion of the affected object. The FFD(Box) space warp is a box-shaped lattice FFD object similar to the original FFD modifiers. This FFD is available as both an object modifier and a space warp. For information on the object-modifier version, see FFD (Box/Cylinder) Modifiers on page 1380. You create FFD space warps as separate objects similarly to the way you create standard primitives: by dragging the mouse in the viewport. The result is a lattice of control points. The source lattice of an FFD modifier is fitted to the Geometric/Deformable | 2997 geometry it's assigned to in the stack. This might be a whole object or a sub-object selection of faces or vertices. Because FFD space warps are separate objects, they carry their own adjustable dimension parameters among the creation parameters. You can apply object modifiers to space warp objects. For example, you can use the Linked XForm modifier with a space-warp FFD. 2998 | Chapter 12 Space Warps and Particle Systems Object and object surrounded by an FFD lattice Geometric/Deformable | 2999 Moving control points in the lattice deforms the object. Procedures To use the FFD(box) space warp: 1 On the Create panel, click (Space Warps). Choose Geometric/Deformable from the list, then on the Object Type rollout, click FFD(Box). 2 Drag in a viewport to create the base. Release the mouse button, and then move the mouse to define the height of the FFD lattice. Click to finish the lattice. 3 Bind the lattice to the object you want to deform. 4 Determine the relative placement of the lattice to the object. If the lattice is to be outside of the object, turn on All Vertices. To affect only those vertices inside the lattice, choose Only In Volume, and position the lattice accordingly. 3000 | Chapter 12 Space Warps and Particle Systems 5 In the modifier stack display, choose Control Points as the sub-object level for FFD(box). 6 Adjust the control points. NOTE The distortion effect of an FFD modifier is based on the positional offset of the control points from their original positions in the source volume. If you don't move control points, there is no effect on the target object. Keep this in mind when using space-warp version of the FFD. If you're using the Deform group ➤ All Vertices option, once you've distorted the object you can set the Falloff value to adjust how much the lattice affects the object, based on distance. This is particularly useful if the lattice is animated to approach or move away from the target object. When Falloff is set to 0, all the vertices are affected, regardless of distance. NOTE When you're at the base-parameters level of an FFD modifier in the Stack, the Show End Result button is turned off and spring-loaded, as it is in an Edit Mesh modifier. Geometric/Deformable | 3001 Interface 3002 | Chapter 12 Space Warps and Particle Systems This rollout lets you set the size and resolution of the lattice, and how it displays and deforms. Dimensions group These options let you adjust the unit dimensions of the source volume, and specify the number of control points in the lattice. Note that the point dimensions are displayed beside the modifier name in the Stack list. Length, Width, Height These three spinners display and let you adjust the length, width, and height of the lattice. To create the space warp, you drag the mouse in the same way that you would to create a standard Box primitive. Note that these spinners don't exist in the object-modifier version of the FFD. Label Displays the current number of controls points in the lattice (for example: 4x4x4). Set Number of Points Displays a dialog containing three spinners labeled Length, Width, and Height, plus OK/Cancel buttons. Specify the number of control points you want in the lattice, and then click OK to make the change. NOTE Make changes to the dimensions before you adjust the positions of the lattice control points. When you change the number of control points with this dialog, any adjustments you've already made to the control points are lost; however, you can undo this use of the dialog. Display group These options affect the display of the FFD in the viewports. Lattice When turned on, lines are drawn connecting the control points to make a grid. Although viewports can become cluttered when these extra lines are drawn, they help to visualize the lattice. Source Volume When on, the control points and lattice are displayed in their unmodified state. This display is helpful when you're adjusting the source volume to affect specific vertices that lie within or without it. See the All Vertices and Only in Volume options, later in this topic. Deform group These options provide controls that specify which vertices are affected by the FFD. Only In Volume Only vertices that lie inside the source volume are deformed. Vertices outside the source volume are not affected. Geometric/Deformable | 3003 All Vertices All vertices are deformed regardless of whether they lie inside or outside the source volume, depending on the value in the Falloff spinner. The deformation outside the volume is a continuous extrapolation of the deformation inside the volume. The deformation can be extreme for points far away from the source lattice. Falloff This spinner, enabled only when you choose All Vertices, determines the distance from the lattice that the FFD effect will decrease to zero. When this spinner is set to 0, it's effectively turned off, and there is no falloff; that is, all vertices are affected regardless of their distance from the lattice. The units of the Falloff parameter are specified relative to the size of the lattice: A falloff of 1 means that the effect will go to 0 for points that are a lattice width/length/height away from the lattice (depending on which side they are on). Tension/Continuity Lets you adjust the tension and continuity of the deformation splines. Although you can't see the splines in an FFD, the lattice and control points represent the structure that controls the splines. As you adjust the control points, you alter the splines (which move through each point). The splines, in turn, deform the geometry of the object. By altering the tension and continuity of the splines, you alter their effect on the object. Selection group These options provide additional methods of selecting the control points. You can toggle the state of any combination of the three buttons to select in one, two, or three dimensions at once. All X, All Y, All Z When one of these buttons is on and you select a control point, all control points along the local dimension specified by the button are selected as well. By turning on two buttons, you can select all control points in two dimensions. About Displays a dialog with copyright and licensing information. FFD(Cyl) Space Warp Create panel ➤ (Space Warps) ➤ Geometric/Deformable ➤ Object Type rollout ➤ FFD(Cyl) Create menu ➤ Space Warps ➤ Geometric/Deformable ➤ FFD(Cyl) 3004 | Chapter 12 Space Warps and Particle Systems Free-form deformations (FFDs) provide a method of deforming an object by adjusting the control points of a lattice. The offset position of the control points to the original lattice source volume causes the distortion of the affected object. The FFD(Cyl) space warp uses a cylindrical array of control points in its lattice. This FFD is available as both an object modifier and a space warp. For information on the object modifier version, see FFD (Box/Cylinder) Modifiers on page 1380. You create FFD space warps as separate objects similarly to the way you create standard primitives: by dragging the mouse in the viewport. The result is a lattice of control points. The source lattice of an FFD modifier is fitted to the geometry it's assigned to in the stack. This might be a whole object or a sub-object selection of faces or vertices. Because FFD space warps are separate objects, they carry their own adjustable dimension parameters among the creation parameters. You can apply object modifiers to space warp objects. For example, you can use the Linked XForm modifier with a space-warp FFD. Procedures Example: Create an animated tablecloth: Finished tablecloth using FFD (Cyl) space warp Geometric/Deformable | 3005 This example shows how to use the FFD(Cyl) space warp to create a tablecloth that flies in and drapes itself over a table. Begin by creating the table and tablecloth. 1 Create a table from two cylinders. Make the table top with a radius of 30 units, and a height of 2 units. Make the "table stand" cylinder with a radius of 3 and a height of 60. 2 Make a tablecloth from a box 100 units square and 0.5 units in height. Increase Length and Width Segments to 30, and keep Height Segments at 1. 3 Position the tablecloth so it's level with or slightly above the table top, and a little less than 100 units to the left of the table edge, as seen from the Top view. 4 Apply a nice wood grain to the table, and a checker to the tablecloth. (Set the checker tiling to about 15x15, and choose any color for the checkers.) Now, set up a cylindrical FFD space warp that will form the drape of the tablecloth over the table. 1 From the Create panel ➤ Space Warps ➤ Geometric/Deformable, choose FFD(Cyl). 2 In the Top viewport, create a cylindrical FFD space warp, centered on the table top, with a radius of 45 and a height of 5. 3 Click the Set Number of Points button and, in the Set FFD Dimensions dialog, set Side points to 12, Radial points to 5, and Height points to 2. 4 Move the entire FFD lattice up until it's just over the surface of the table, as seen from the Front viewport. 3006 | Chapter 12 Space Warps and Particle Systems Next, adjust the control points of the lattice to drape over the table. 1 Zoom Extents All Selected. 2 On the Modify panel, in the stack display (below "Modifier List"), click the FFD(cyl) item so it turns yellow. This means you've enabled direct access to the FFD space warps control point sub-objects. 3 In the FFD Parameters rollout ➤ Selection group, turn on All X. This lets you select control points around the perimeter of the FFD cylinder. 4 In the Top viewport, use the Select and Move tool on page 851 and region-select the two visible control points of the two outer rings of control points at the nine-o'clock position. (This is easier shown than described. You can actually region-select any number of vertices in the two outer concentric rings of vertices. Because All X is on, all control points for the two rings will be selected.) 5 On the status bar, click (Selection Lock Toggle) to lock the selection. In the Front viewport, drag the selected points halfway down the height of the table. 6 Unlock the selection, and then region-select any control point in the outer ring to select all points in the outer ring. Geometric/Deformable | 3007 7 Lock the selection and, in the Front viewport, drag the outer ring of points down to the floor. You now have a truncated cone shape over the table. 8 Unlock the selection. In the Top viewport, again select all the control points in the two outer rings. 9 Scale the selected control points in, until the radius of the inner ring of points is slightly larger than the table top. 10 Select only the outer ring of points, and scale them so their radius is slightly larger than the inner ring. If necessary, move the points, as seen from the Front viewport, down to touch the floor again. You now have a lattice of control points draped over the table. In this next series of steps, you'll bind the tablecloth to the FFD lattice, and then animate it to move over the table. 1 In the stack display, click the FFD(cyl) entry again to exit the sub-object level. It turns gray. 2 On the main toolbar, click the FFD and the tablecloth. (Bind To Space Warp), and drag between 3008 | Chapter 12 Space Warps and Particle Systems 3 Select the FFD lattice. 4 Choose Deform group ➤ All Vertices. The tablecloth is immediately deformed because all vertices are now affected, including those outside the lattice volume, and Falloff is set to 0. A falloff value of 0 means that the distance of the vertices from the lattice doesn't matter. Any number greater than 0, however, limits the effect. 5 Set the Falloff spinner to 0.4. No longer influenced by the FFD space warp, the tablecloth returns to its square shape. 6 Turn on (Auto Key), and go to frame 100. 7 In the Top viewport, select the tablecloth, and move it until it's centered over the table. 8 As the tablecloth nears the table, it droops down to the floor, sweeps up and over the table, and finally drapes itself over the table. 9 As you move the time slider back and forth and examine the animation, you might find that the bottom of the tablecloth is deformed to the point where it's hanging below the floor. To fix this, turn off Auto Key, go to frame 100, select the lower ring of control points, and move them up Geometric/Deformable | 3009 until the tablecloth is at the height you want it. You can also adjust the position of the other control points to create drapes, and so on. 10 On the Display command panel ➤ Hide by Category rollout, turn on Space Warps to hide the FFD space warp. 11 Turn off (Auto Key). 12 Set up appropriate lights and a camera, and 3010 | Chapter 12 Space Warps and Particle Systems play your animation. Interface This rollout lets you set the size and resolution of the lattice, and how it displays and deforms. Geometric/Deformable | 3011 Dimensions group These options let you adjust the unit dimensions of the source volume, and specify the number of control points in the lattice. Note that the point dimensions are displayed beside the modifier name in the Stack list. Radius, Height These two spinners display and let you adjust the length, width, and height of the lattice. To create the space warp, drag the mouse in the same way that you would to create a standard Cylinder primitive. Note that these spinners don't exist in the object-modifier version of the FFD. Label Displays the current number of controls points in the lattice (for example: 4x8x4). Set Number of Points Displays a dialog containing three spinners labeled Side, Radial, and Height, plus OK/Cancel buttons. Specify the number of control points you want in the lattice, and then click OK to make the change. Side The number of control points around the perimeter of the lattice. Radial The number of control points, radially, from the center to the outer perimeter of the lattice. Height The number of control points along the height of the lattice. NOTE Make changes to the dimensions before you adjust the positions of the lattice control points. When you change the number of control points with this dialog, any adjustments you've already made to the control points are lost; however, you can undo this use of the dialog. Display group These options affect the display of the FFD in viewports. Lattice When on, lines are drawn connecting the control points to make a grid. Although viewports can become cluttered when these extra lines are drawn, they help to visualize the lattice. Source Volume When on, the control points and lattice are displayed in their unmodified state. This display is helpful when you're adjusting the source volume to affect specific vertices that lie within or without it. See the All Vertices and Only in Volume options, later in this topic. Deform group These options provide controls that specify which vertices are affected by the FFD. 3012 | Chapter 12 Space Warps and Particle Systems Only In Volume When on, only vertices that lie inside the source volume are deformed. Vertices outside the source volume are not affected. This is the default choice. All Vertices When on, all vertices are deformed regardless of whether they lie inside or outside the source volume, depending on the value in the Falloff spinner. The deformation outside the volume is a continuous extrapolation of the deformation inside the volume. Note that the deformation can be extreme for points far away from the source lattice. Falloff This spinner, enabled only when you choose All Vertices, determines the distance from the lattice that the FFD effect will decrease to zero. When this spinner is set to 0, it's effectively turned off, and there is no falloff; that is, all vertices are affected regardless of their distance from the lattice. The units of the Falloff parameter are specified relative to the size of the lattice: A falloff of 1 means that the effect will go to 0 for points that are a lattice width/length/height away from the lattice (depending on which side they are on). Tension/Continuity Lets you adjust the tension and continuity of the deformation splines. Although you can't see the splines in an FFD, the lattice and control points represent the structure that controls the splines. As you adjust the control points, you alter the splines (which move through each point). The splines, in turn, deform the geometry of the object. By altering the tension and continuity of the splines, you alter their effect on the object. Selection group These options provide additional methods of selecting control points. You can toggle any combination of the three buttons to select in one, two, or three dimensions at once. All X, All Y, All Z When one of these buttons is on and you select a control point, all control points along the local dimension specified by the button are selected as well. By turning on two buttons, you can select all control points in two dimensions. About Displays a dialog with copyright and licensing information. Wave Space Warp Create panel ➤ Object Type rollout ➤ Wave (Space Warps) ➤ Geometric/Deformable ➤ Geometric/Deformable | 3013 Create menu ➤ Space Warps ➤ Geometric/Deformable ➤ Wave The Wave space warp creates a linear wave through world space. It affects geometry and behaves the same as the Wave modifier on page 1951. Use the Wave space warp when you want the wave to affect a large number of objects, or to affect an object relative to its position in world space. Using a wave to deform a box 3014 | Chapter 12 Space Warps and Particle Systems See also: ■ Ripple Space Warp on page 3018 Procedures To create a Wave space warp: 1 On the Create panel, click (Space Warps). Choose Geometric/Deformable from the list, then on the Object Type rollout, click Wave. 2 Drag in a viewport to define the initial size of the wave object icon. The icon is displayed as a flat mesh wireframe. 3 Release the mouse button to set the icon size; then move the mouse to define the initial amplitude of the wave. 4 Click to set the wave amplitude. Geometric/Deformable | 3015 Interface The initial amplitude sets both Amplitude 1 and Amplitude 2. Set these parameters to unequal values to create a cross wave. Wave group These options control the wave effect. Amplitude 1 Sets wave amplitude along the wave warp object's local X axis. Amplitude 2 Sets wave amplitude along the wave warp object's local Y axis. Amplitude is expressed in units. The wave is a sine wave along its Y axis and parabolic along its X axis. Another way to think of the difference between the amplitudes is that Amplitude 1 is at the center of the wave gizmo and Amplitude 2 is at the edge of the gizmo. Wave Length Sets the length of each wave along the wave's local Y axis, in active units. 3016 | Chapter 12 Space Warps and Particle Systems Phase Offsets the phase of the wave from its origin at the wave object's center. Whole values have no effect; only fractional values do. Animating this parameter makes the wave appear to travel through space. Decay When set to 0.0, the wave has the same amplitude or amplitudes throughout world space. Increasing the Decay value causes amplitude to diminish as distance increases from the position of the wave warp object. Default=0.0. Display group These options control the geometry of the Wave warp gizmo. In some cases, such as when the two Amplitude values differ, they change the effect of the wave. Sides Sets the number of side segments along the wave object's local X dimension. Segments Sets the number of segments along the wave object's local Y dimension. Divisions Adjusts the size of the wave icon without altering the wave effect as scaling would. Flexibility parameter (Modify panel) The Wave space warp also has a Flexibility parameter that you can adjust individually in each bound object's stack, at the Wave Binding level. The parameter belongs to each binding; it doesn't appear with the Wave warp parameters. Geometric/Deformable | 3017 Flexibility Makes the bound object more or less responsive to the wave by multiplying the amplitude by this value. Ripple Space Warp Create panel ➤ (Space Warps) ➤ Geometric/Deformable ➤ Object Type rollout ➤ Ripple Create menu ➤ Space Warps ➤ Geometric/Deformable ➤ Ripple The Ripple space warp creates a concentric ripple through world space. It affects geometry and behaves the same as the Ripple modifier on page 1598. Use the Ripple space warp when you want the ripple to affect a large number of objects, or to affect an object relative to its position in world space. 3018 | Chapter 12 Space Warps and Particle Systems Using a ripple to deform a surface See also: ■ Wave Space Warp on page 3013 Procedures To create a Ripple space warp: 1 On the Create panel, click (Space Warps). Choose Geometric/Deformable from the list, then on the Object Type rollout, click Ripple. 2 Drag in a viewport to define the initial size of the ripple object icon. The icon is displayed as a wireframe spider web. 3 Release the mouse button to set the icon size, and then move the mouse to define the initial amplitude of the ripple wave. 4 Click to set the wave amplitude. Geometric/Deformable | 3019 Interface The amplitude value set by dragging applies equally in all directions. The ripple's Amplitude 1 and Amplitude 2 parameters are initially equal. Set these parameters to unequal values to create a ripple whose amplitude varies relative to the local X and Y axes of the space warp. Ripple group Amplitude 1 Sets ripple amplitude along the ripple warp object's local X axis. Amplitude is expressed in active units. Amplitude 2 Sets ripple amplitude along the ripple warp object's local Y axis. Amplitude is expressed in active units. Wave Length Sets the length of each wave, in active units. Phase Offsets the phase of the wave from its origin at the ripple object's center. Whole values have no effect; only fractional values do. Animating this parameter makes the ripple appear to travel through space. 3020 | Chapter 12 Space Warps and Particle Systems Decay When set to 0.0, the ripple has the same amplitude or amplitudes throughout world space. Increasing the Decay value causes amplitude to diminish as distance increases from the position of the ripple warp object. Default=0.0. Display group The options control display of the Ripple warp object's icon. They don't change the effect of the ripple. Circles Sets the number of circles in the ripple icon. Segments Sets the number of segments (pie slices) in the ripple icon. Divisions Adjusts the size of the ripple icon without altering the ripple effect as scaling would. Flexibility parameter (Modify panel) The Ripple space warp also has a Flexibility parameter that you can adjust individually in each bound object's stack, at the Ripple Binding level. The parameter belongs to each binding; it doesn't appear with the Ripple warp parameters. Geometric/Deformable | 3021 Flexibility Makes the bound object more or less responsive to the wave by multiplying the amplitude by this value. Conform Space Warp Create panel ➤ (Space Warps) ➤ Geometric/Deformable ➤ Object Type rollout ➤ Conform Create menu ➤ Space Warps ➤ Geometric/Deformable ➤ Conform The Conform space warp modifies its bound object by pushing its vertices in the direction indicated by the space warp icon, until they hit a specified target object, or until the vertices move a specified distance from their original position. After creating a Conform space warp, you specify a target object in the Conform parameters, and then bind the Conform to the object you want to deform. You rotate the Conform icon to specify the travel direction (toward the target 3022 | Chapter 12 Space Warps and Particle Systems object). The vertices of the deformed object move until they hit the target object. There is also a Conform compound object on page 621 that provides additional methods of conforming one object to another. Conform viewport icon (a surface is below it) Procedures Example: Using the Conform space warp: Begin by making two objects. 1 Create a terrain by making a wide, flat box with plenty of Length and Width segments (or a quad patch). Apply a Noise modifier and adjust its parameters to result in a bumpy terrain (not mountainous, but low and irregular). 2 Create a short, wide cylinder whose radius is about one-eighth the area of the box (like a coin). You'll animate the cylinder to float diagonally over the surface of the terrain. 3 Set Cap Segments in the cylinder to 4, and position the cylinder to float over the terrain. 4 Set the object color of the cylinder to contrast with the color of the terrain. Geometric/Deformable | 3023 5 Move the cylinder inside one corner of the terrain as seen from the Top viewport. Turn on Animate, move to frame 100, and move the cylinder to the opposite corner of the terrain. The coin/disk moves from one corner of the terrain to the other. The terrain will become the target object, and the cylinder the deformed object. The next step is to create the Conform space warp and bind it to the cylinder. 1 On the Create panel, choose Space Warps, and then, from the drop-down list, choose Geometric/Deformable. Click the Conform button. 2 In the Top viewport, in the center of the terrain, drag outward to create the Conform space warp. 3 Click the Pick Object button, and then click the terrain box. 4 In the Front viewport, drag the space warp up until it's above the cylinder. As seen in the Front viewport, the terrain is at the bottom, the cylinder is between the terrain and the space warp, and the space warp is at the top. 5 Bind the space warp to the cylinder. The cylinder becomes a disk that seems to be painted on the surface of the terrain. 6 Drag the time slider to see the cylinder/disk move across the box, following the terrain. Because the vertices are pushed almost to the level of the terrain, the faces of the two object might intersect. In the following steps, you'll fix this by adjusting the standoff distance between the target surface and the pushed vertices. Then you'll go on to affect only selected vertices in the cylinder. 1 Select the Conform space warp, and open the Modify panel. 2 Set Standoff Distance to 3. You can now clearly see the surface of the disk above the terrain. 3 Set the Standoff Distance to 20. The disk floats 20 units above the terrain. Next, change the affected vertices. 4 Select the disk/cylinder. 3024 | Chapter 12 Space Warps and Particle Systems 5 In the modifier stack display, click the Cylinder item so it's highlighted in gray. 6 Apply a Mesh Select modifier. 7 At the Vertex sub-object level, in the Front viewport, region-select the bottom cap vertices of the cylinder. 8 Remain at the sub-object level, and in the stack display click the Conform Binding item. 9 In the viewport, select the Conform icon. 10 In the Modify panel, turn on Use Selected Vertices. Now that only the bottom cap vertices are selected, the rest of the cylinder is restored. If you adjust the viewing angle and play the animation, you'll see that the bottom face of the cylinder follows the terrain, while the rest of the cylinder retains its shape. Geometric/Deformable | 3025 Interface Wrap To Object group These options provide controls to select the target object. Pick Object Click this, and then select an object in the scene. The object you select becomes the barrier against which the bound object's vertices will be pushed. Object Displays the name of the picked object. Move Vertices group These options affect how the vertices are moved. Default Projection Distance The distance a vertex in the bound object moves from its original location if it does not intersect the target object. 3026 | Chapter 12 Space Warps and Particle Systems Standoff Distance The distance maintained between the vertex and the surface of the target object. For example, if set to 5, the vertices can be pushed no closer than 5 units from the surface of the target object. Use Selected Vertices When on, only the sub-object selection of vertices on the Stack are pushed. When off, all vertices in the object are pushed regardless of the Stack selection. Display group Icon Size Specifies the size of the icon. Bomb Space Warp Create panel ➤ (Space Warps) ➤ Geometric/Deformable ➤ Object Type rollout ➤ Bomb Create menu ➤ Space Warps ➤ Geometric/Deformable ➤ Bomb The Bomb space warp explodes objects into their individual faces. Right: Bomb viewport icon Left: Torus knot Geometric/Deformable | 3027 Effect of exploding the torus knot Procedures To create a Bomb space warp: 1 On the Create panel, click (Space Warps). Choose Geometric/Deformable from the list, then on the Object Type rollout, click Bomb. 2 Create mesh objects to be exploded. 3 On the main toolbar, click (Bind To Space Warp). 4 Drag the mouse between each object and the Bomb space warp. 5 Adjust Bomb parameters to achieve different effects. 3028 | Chapter 12 Space Warps and Particle Systems Interface Explosion group Strength Sets the power of the bomb. Larger values make the particles fly farther. The closer an object is to the bomb, the greater the effect of the bomb. Spin The rate at which fragments rotate, in revolutions per second. This is also affected by the Chaos parameter (which causes different fragments to rotate at different speeds), and by the Falloff parameter (which causes the force of the explosion to be weaker the farther the fragment is from the bomb). Falloff The distance from the bomb, in world units, of the effect of the bomb. Fragments past this distance are not affected by the Strength and Spin settings, but are affected by the Gravity setting. Geometric/Deformable | 3029 For example, this is useful for blowing up the base of a building, and having the top of the building topple. To see the effect, place a bomb at the base of a tall cylinder with many height segments, and adjust Falloff to be less than the height of the cylinder. Falloff On Turn on to use the Falloff setting. The falloff range appears as a yellow, tri-hooped sphere. Fragment Size group These two parameters define the number of faces per fragment. Any given fragment will have a number of faces, randomly determined, between the Min and Max values. Min Specifies the minimum number of faces per fragment to be randomly generated by the "explosion." Max Specifies the maximum number of faces per fragment to be randomly generated by the "explosion." General group Gravity Specifies the acceleration due to gravity. Note that gravity is always in the direction of the world Z axis. You can have negative gravity. Chaos Adds random variation to the explosion to make it less uniform. A setting of 0.0 is totally uniform; 1.0 is a realistic setting. A value greater than 1.0 makes the explosion extra chaotic. Range=0.0 to 10.0. Detonation Specifies the frame at which the bomb goes off. Bound objects are unaffected before this time. Seed Change to alter randomly generated numbers in the bomb. You can achieve a different bomb effect by changing Seed while maintaining the other settings. Although you can animate strength and gravity, the equations used for projectile motion assume they are constant. Therefore, the motion will not be physically correct, but it might look interesting. Also, if the bomb object is in motion during the blast, the result is not physically correct. Modifier-Based Space Warps Create panel ➤ (Space Warps) ➤ Modifier-Based 3030 | Chapter 12 Space Warps and Particle Systems Create menu ➤ Space Warps ➤ Modifier-Based Modifier-based space warps duplicate the effects of standard object modifiers. Like other space warps, they must be bound to objects, and they work in world space. They are useful when you want to apply effects such as Twist or Bend to a widely scattered group of objects. Creating Modifier-Based Space Warps You create modifier-based space warps the same way that you create other space warps. Modifier-based space warps are listed on the Create panel as a separate category under Space Warps. All the modifier-based space warps use a box-shaped (nonrenderable) object. When you create one, you use the mouse in the viewport as you do when creating a Box primitive. Unlike their modifier versions, these space warps do not have sub-object levels. Interface Gizmo Parameters rollout Modifier-Based Space Warps | 3031 Gizmo Size group Length/Width/Height Let you adjust the warp object's dimensions. Deformation group Decay When is set to 0, there is no decay, and the space warp affects its bound object regardless of its distance from the object. When you increase the decay, the effect on the bound object falls off exponentially. See the topics on the individual modifiers for more information. Parameter rollout The parameters for a modifier-based space warp are identical to those of the modifier on which the space warp is based: Bend Modifier on page 1104 Taper Modifier on page 1757 Noise Modifier on page 1490 Twist Modifier on page 1783 Skew Modifier on page 1610 Stretch Modifier on page 1699 Particle Systems Particle systems are useful for a variety of animation tasks. Primarily, they're employed when animating a large number of small objects using procedural methods; for instance, creating a snowstorm, a stream of water, or an explosion. 3ds Max provides two different types of particle systems: event-driven and non-event-driven. The event-driven particle system, Particle Flow on page 3033, tests particle properties, and, based on the test results, sends them to different events. Each event assigns various attributes and behaviors to the particles while they're in the event. In the non-event-driven systems on page 3323, particles typically exhibit consistent properties throughout the animation. 3032 | Chapter 12 Space Warps and Particle Systems IMPORTANT Particle systems can involve a great many entities, each of which is potentially subject to any number of complex calculations. For this reason, when using them for advanced simulations, you should have a very fast computer and as much memory as possible. Also, a powerful graphics card helps speed the display of particle geometry in the viewports. Even so, it’s still easy to overburden the system; if you encounter loss of responsiveness, wait for the particle system to finish its calculations, and then reduce the number of particles in the system, implement a cache, or use other methods to optimize performance. Which Particle System to Use? Having access to a wealth of particle systems in 3ds Max leads to the need to decide which system to use for a particular application. In general, for a simple animation, such as falling snow or a water fountain, setup is faster and easier with a non-event-driven particle system. With more complex animations, such as an explosion that generates different types of particles over time (for example: fragments, fire, and smoke), use Particle Flow for greatest flexibility and control. Particle Flow Particle Flow is a versatile, powerful particle system for 3ds Max. It employs an event-driven model, using a special dialog called Particle View on page 3049. In Particle View, you combine individual operators on page 9248 that describe particle properties such as shape, speed, direction, and rotation over a period of time into groups called events on page 9148. Each operator provides a set of parameters, many of which you can animate to change particle behavior during the event. As the event transpires, Particle Flow continually evaluates each operator in the list and updates the particle system accordingly. To achieve more substantial changes in particle properties and behavior, you can create a flow on page 9165. The flow sends particles from event to event using tests on page 9327, which let you wire on page 9349 events together in series. A test can check, for example, whether a particle has passed a certain age, how fast it's moving, or whether it has collided with a deflector. Particles that pass the test move on to the next event, while those that don't meet the test criteria remain in the current event, possibly to undergo other tests. NOTE Operators and tests are known collectively as actions on page 9081. See also: ■ Non-Event-Driven Particle Systems on page 3323 Particle Flow | 3033 How Particle Flow Works Particle View on page 3049 is the primary interface for building and modifying Particle Flow systems. The first event in the system is always a global event, whose contents affect all particles in the system. It has the same name as the Particle Flow source icon. By default, the global event contains a single Render operator that specifies rendering properties for all particles in the system. You can add other operators here to have them act globally, such as Material, Display, and Speed. When you use an operator globally, be sure not to use the same operator locally (that is, in any other events in the system) to avoid potential conflicts. The global event also serves as the Particle View representation of the particle system. You can create a new system by duplicating this event, or by adding an Empty Flow or Standard Flow. Conversely, if you clone the Particle Flow icon in a viewport, or add a new PF Source, the new system appears in Particle View as well. The second event is called the birth event, because it must contain a Birth operator. The Birth operator should exist at the top of the birth event, and in no other place. The default birth event also contains a number of operators that act locally to specify properties of particles while in that event. The default particle system provides a basic global event and birth event that serve as a useful starting point for creating your own system. If you like, you can instead start with an empty system that lets you build a particle system from scratch. 3034 | Chapter 12 Space Warps and Particle Systems 1. Event display 2. Particle diagram 3. Global event 4. Birth event 5. Depot To add an action to the particle diagram, you drag it to the event display from the depot (the area at the bottom of the Particle View dialog). If you drag an Particle Flow | 3035 action to an event, you can add it to the event or replace an existing action, depending on where you drop it. If you drop it in an empty area, it creates a new event. Then, to customize the action, you click its event entry, and then edit its settings in the parameters panel at the side of Particle View. To add complexity to the particle system, you can add a test to an event, and then wire the test to another event. You can adjust the test parameters to affect particle behavior, as well as determine whether specific conditions exist. When particles meet these conditions, they become eligible for redirection to the next event. Particle Flow provides a number of tools for determining where in the system particles currently reside, including the ability to change particle color and shape on an event-by-event basis. You can also easily enable and disable actions and events, and determine the number of particles in each event. To speed up checking particle activity at different times during the animation, you can cache particle motion in memory. Using these tools, plus the ability to create custom actions with scripting, you can create particle systems of a level of sophistication previously unachievable. The Life of a Particle Another way of looking at Particle Flow is from the perspective of an individual particle. Each particle first comes into existence, or is born, via the Birth operator on page 3087, which lets you specify when to start and stop creating particles, and how many to create. The particles first appear at an object called an emitter. By default, the emitter is the Particle Flow source icon using the Position Icon operator on page 3120, but you can alternatively use the Position Object operator on page 3123 to specify that particles should be born on the surface of or within any mesh object in the scene. After being born, particles can remain stationary at the emission point, or start moving in two different ways. First, they can move, physically, within the scene at a speed and in a direction specified by various actions. These are typically Speed operators, but other actions can also affect particle motion, including Spin on page 3133 and Find Target on page 3280. In addition, you can use the Force operator on page 3223 to affect their motion with outside forces. 3036 | Chapter 12 Space Warps and Particle Systems 1. Particle immediately after creation, with no speed. 2. The Speed operator sets the particle in motion. 3. The particle continues moving until acted upon by another action. The second way that particles move is logically, from event to event through the particle diagram, as constructed in Particle View on page 3049. Each event can contain any number of operators that can affect, in addition to motion, a particle's surface appearance, its shape and size, and others. The particles start out in the birth event, which typically is the first event after the global event. During a particle's residence in an event, Particle Flow evaluates each of the event's actions from top to bottom, once per integration step, and makes any applicable changes to the particle. If the event contains a test, Particle Flow determines whether the particle tests True for the test's parameters, such as whether it has collided with an object in the scene. If it does, and if the test is wired to another event, Particle Flow sends the particle to the next event. If it doesn't, the particle remains in the current event, and may be further acted upon by its operators and tests. Thus, each particle exists in only one event at a time. An action in an event can change the particle shape (1), or the particle spin (2), or spawn new particles (3). Particle Flow | 3037 Actions can also apply forces to particles (1), specify collision effects (2), and alter surface properties (3). In this way, the particle continues to travel through the system. Due to the flexible nature of schematic construction in Particle Flow, a particle may be redirected to the same event several times. But at some point, you might want the particle's life to end. For this purpose, you'd use the Delete operator on page 3101 or the Collision Spawn test on page 3274 or Spawn test on page 3313. Otherwise, the particle lives throughout the entire animation. Particle age can be used to kill a particle. As a particle moves through the system, it's accompanied by a number of channels. For example, each particle has a speed channel that defines how fast it moves, and a material ID channel that lets Particle Flow know which sub-material to apply to it. However, the material itself is not defined by a channel, but by a Material operator that acts locally or globally. Properties that are defined by channels persist, unless altered by an action. For example, the Material Dynamic operator on page 3202 can change a particle's material ID. In effect, by setting up a particle diagram and modifying how particles look and act during the animation, you’re deciding how channel values change based on events and animation keyframes. 3038 | Chapter 12 Space Warps and Particle Systems Particle Flow FAQ This topic offers answers to a number of questions users commonly ask when first learning to use Particle Flow. The first section contains links to all the questions, and the subsequent sections contain the questions and answers organized by category. Question List How does Particle Flow handle time? on page 3040 When I go to a different frame, 3ds Max sometimes seems to freeze for a while. What's going on? on page 3041 Is there a way to pre-calculate portions of a particle simulation, as in "baking" the animation? on page 3041 What else can I do to optimize performance? on page 3042 How do I use Particle Flow to make an object explode? on page 3042 How can I control the accuracy of the Particle Flow simulation? on page 3042 Can I use MAXScript to affect particles? on page 3042 Can I use more than one object as instanced geometry? on page 3043 How can I exclude particles from certain light sources? on page 3043 How do I open Particle View without clicking Particle View button on the command panel? on page 3043 Do I need multiple Particle Views to manage more than one particle system? on page 3043 Can I selectively disable or "turn off" portions of a particle system? on page 3043 I sometimes see events named “Action Recovery” in Particle View. Where did they come from? on page 3044 How do I animate action parameters? on page 3044 How can I synchronize an animated bitmap texture to particle age? on page 3044 Do I still need to bind my Particle Flow particles to space warps? on page 3044 How do I make particles follow a path? on page 3044 Can I use Snapshot or dynamics with Particle Flow? on page 3044 Particle Flow | 3039 How do I use motion blur with Particle Flow? on page 3045 How do I use the Particle Age and Particle MBlur maps with Particle Flow? on page 3045 I’m trying to apply Particle Flow to an animation created with a dynamics system. Why am I getting strange results such as unexpected spawning of particles? on page 3046 How can I make all particles appear in the first frame while giving them different ages? on page 3046 How can I specify the time frame in which animated parameters are applied to particles? on page 3046 How can I apply bubble motion to particles? on page 3046 How can I branch an event to several other events? on page 3047 Does it matter which order I put actions in an event? on page 3047 How can I tell which particles are in a certain event? on page 3048 Why do my particles lose their material when they move to another event? on page 3048 Can I have an event receive input from multiple events? on page 3048 I changed an operator setting, but it doesn't seem to have any effect on the particle system. on page 3048 Can an event be isolated in Particle View and not connected to anything? on page 3048 General How does Particle Flow handle time? Parameters that measure time in Particle Flow, such as Birth on page 3087 ➤ Emit Start/Stop and Age Test on page 3268 ➤ Test Value, are specified in frames. However, Particle Flow is always aware of the current system frame rate (fps), and if you change this rate, it adjusts all time-related parameters to keep the same timing. For instance, if you set Test Value to 60 when you're using the NTSC frame rate (30 fps), and then switch to PAL (25 fps), Particle Flow automatically changes the value to 50, so the age that's tested for is still two seconds. On the other hand, rate parameters, such as Speed, are measured in units per second, so they don't change when you go to a different frame rate. 3040 | Chapter 12 Space Warps and Particle Systems When I go to a different frame, 3ds Max sometimes seems to freeze for a while. What's going on? Most of the animation in Particle Flow is history dependent; that is, to be able to draw the particles in a particular frame, Particle Flow needs to know what happened in all previous frames. Normally, when you change a parameter value, Particle Flow needs to recalculate all frames between the start and the current frames. Or, if you go to a different frame, Particle Flow must recalculate one or more animation frames. If you go forward, it must calculate the frames between the current frame and the one you go to. So, for example, if you just go to the next frame, relatively little calculation is needed. But if you go backward, even only by one frame, it must calculate all frames from the start of the animation to the frame you go to. If a lot of calculation is needed, there is a delay. Meanwhile, 3ds Max displays a message like “PF Source 01 Update xx% (Press Esc to cancel)” in the status bar, so you can get an idea of how the recalculation is progressing. If, when you see this message, you press the Esc key, Particle Flow displays an alert with the message “Click OK to turn off PF Source 01.” If you click OK, the recalculation stops, giving you the opportunity to optimize the animation. For example, you could reduce the number of particles for testing purposes. You must turn the source back on to continue. If you click Cancel, the calculation continues. TIP An easy way to speed up recalculation and rendering of particles is by adjusting the total number of particles. To do this, select the Particle Flow source icon, and then go to the Modify panel ➤ Emission rollout ➤ Quantity Multiplier group. Here you can increase or decrease by percentage the total number of particles, separately for viewport display and rendering. TIP To speed up animation playback when you're not adjusting parameters, use the Cache operator (see the following item). Is there a way to pre-calculate portions of a particle simulation, as in "baking" the animation? Yes. Particle Flow's Cache operator on page 3213 lets you store all or part of a particle animation in memory, and then play back the animation from memory rather than having to recalculate particle motion. This makes it much faster to jump between different parts of the animation. You can even save the cached animation to disk as part of the scene file. Particle Flow | 3041 What else can I do to optimize performance? Particle Flow can place heavy processing and resource demands on your computer. For optimal performance, the most important thing you can do is to use the fastest available CPU. Also, when using particle systems with many particles, install as much memory as possible in your computer, especially if you're using caching. Other ways to improve performance include reducing the percentage of viewport particles with the Quantity Multiplier setting, and temporarily disabling flows and actions that you're not currently working with. When making parameter changes, return to the first frame and play forward, or set Particle View ➤ Options menu ➤ Update Type to Forward. That way, if you change a setting, the particle system is not forced to recalculate its state from the very beginning. The change will affect only animation from the current frame forward. On the other hand, the result could be misleading, because you wont be able to see the difference right away. Also, be cautious when using spawning; it can quickly create very large numbers of particles, especially when you use the By Travel Distance option in the Spawn test on page 3313. How do I use Particle Flow to make an object explode? Particle Flow doesn't have a fragmentation operator, but by utilizing the PArray particle system on page 3362 in a Birth Script operator, you can implement fragmentation in Particle Flow. You can find example scenes, with commented Birth Script operators, in the files on the second disc in the directory Samples\Scenes\Particle Flow\Fragments\. How can I control the accuracy of the Particle Flow simulation? On the command panel ➤ System Management rollout on page 3076 of the PF Source icon, you can adjust the integration step independently for viewport playback and rendering. The smaller the integration step, the more times Particle Flow calculates particle motion per frame, resulting in greater accuracy at the cost of calculation time. Can I use MAXScript to affect particles? Yes. Particle Flow includes a Script operator on page 3230 and test on page 3311, as well as a Birth Script operator on page 3090, that let you fully customize the particle system. Each scriptable action includes a sample script, which also lists all relevant scriptable functions. You can also control parameters of the Force operator on page 3223 and Keep Apart operator on page 3165 with script wiring, described in the respective topics. 3042 | Chapter 12 Space Warps and Particle Systems In addition, you can execute a script at each integration step, and another just before each frame is viewed or rendered; see Script rollout on page 3077. Can I use more than one object as instanced geometry? Yes. With the Shape Instance operator on page 3176, you can use groups, hierarchies, and objects consisting of multiple elements, with each members of the combined object constituting a separate particle. These objects can be emitted in a specific order, or in a random order. For example, you can use a text object, with the letters emitted in the order in which they appear in the text. How can I exclude particles from certain light sources? To prevent particles from being affected by a light source, use the light’s Exclude function, found on the General Parameters rollout (Modify panel), to specify any events containing particles to be excluded. Specifying the PF Source XX object (default name) has no effect; you must specify all objects listed as PF Source XX->Event XX. Particle View How do I open Particle View without clicking Particle View button on the command panel? Press the 6 key. It might be necessary to first turn on the Keyboard Shortcut Override Toggle. Do I need multiple Particle Views to manage more than one particle system? No: All particle systems appear in Particle View. You can scroll and zoom the event display to see the different systems. Can I selectively disable or "turn off" portions of a particle system? Yes. Particle View gives you a number of different ways of doing this. You can click an action's icon or an event's light-bulb icon to turn it off, or use the right-click menu, or use Edit menu's Turn On and Turn Off commands. Also, if you press Esc while Particle Flow is calculating, 3ds Max gives you the opportunity of turning off the entire particle system, thus immediately returning control of 3ds Max to you. You can then analyze the system to determine the area of slowdown, optimize or simplify the particle flow, and then recalculate the animation. Particle Flow | 3043 I sometimes see events named “Action Recovery” in Particle View. Where did they come from? When you merge a scene containing Particle Flow data, you can import entire events and isolated actions. If you merge an action without its events, Particle Flow places it in an event named “Action Recovery.” Animation How do I animate action parameters? Use the same Auto Key on page 3403 method as with animating any other parameter in 3ds Max. NOTE Avoid animating Particle Flow parameters with Set Key mode or with Shift+right-click. Also, to see animation keys for actions in the track bar, make sure the Particle Flow source icon is selected. How can I synchronize an animated bitmap texture to particle age? Use the Material Dynamic operator on page 3202 in conjunction with the Bitmap 2D map on page 6636. You'll find a procedure that describes the method in detail here on page 3203. Do I still need to bind my Particle Flow particles to space warps? No; you use the Collision test on page 3269, Collision Spawn test on page 3274, or Force operator on page 3223 to affect particle motion with 3ds Max space warps. The ability to do this on a global and local (per-event) basis gives you much greater control over how space warps affect the particles than with previous systems. How do I make particles follow a path? You can use the Speed By Icon operator on page 3146 or the Find Target test on page 3280, assigning the icon or target to a spline path. You'll find illustrative procedures in both topics. Can I use Snapshot or dynamics with Particle Flow? No. The Snapshot tool is not currently compatible with Particle Flow, nor is reactor or the legacy dynamics system. 3044 | Chapter 12 Space Warps and Particle Systems How do I use motion blur with Particle Flow? You can apply motion blur on a per-event basis by editing the event's object properties on page 221 with the right-click menu in Particle View, or on a global basis by editing the global event's object properties. In the Particle View dialog, highlight the event to edit and then right-click and choose Properties. On the Object Properties dialog, edit the Motion Blur group settings. Alternatively, you can apply motion blur to an entire Particle Flow system without the need to set properties by using the multi-pass motion blur effect on page 5955 with a camera. NOTE You can also use Object Properties to set other properties for events and the particle system, as with any object in 3ds Max. Do this only within Particle View, not using the source icon in the viewports (right-click menu ➤ Properties or Edit menu ➤ Object Properties). NOTE When using Object Motion Blur, if an event contains a Material Dynamic operator that uses a material with a Particle Age, Particle MBlur, or Bitmap map, the event should not also contain a Delete operator, or a Spawn or Collision Spawn test. Also, the event should not contain any tests that are wired to another event. The only exception to this is the Age Test operator when set to Absolute Time without any variation; that is, all particles leave the event at the same time. This applies to the use of Object Motion Blur only; there are no restrictions with Image Motion Blur. How do I use the Particle Age and Particle MBlur maps with Particle Flow? To use the Particle Age map with Particle Flow, you must use the Delete operator to give the particles a finite life span. For further information, see Delete Operator on page 3101. Also note the following: ■ Particle Age, Particle MBlur and a Bitmap map containing an animated bitmap can be used only with Material Dynamic operator on page 3202, with Same As Particle ID turned on. You'll find procedures for using Bitmap and Particle Age at this topic. ■ The particle material cannot be a submaterial; it must be the main material. ■ In the non-event-driven particle systems in 3ds Max, Particle MBlur is used with a control named Direction Of Travel\MBlur and an accompanying Stretch parameter. In Particle Flow, you can replicate the stretching effect by using a Scale operator, turning off Scale Factor ➤ Constrain Properties, and scaling the particle along one axis. Particle Flow | 3045 I’m trying to apply Particle Flow to an animation created with a dynamics system. Why am I getting strange results such as unexpected spawning of particles? The dynamics system probably generates rotation keys using the Euler XYZ controller. To avoid interpolation discontinuities, change the rotation controller for such objects to TCB Rotation. How can I make all particles appear in the first frame while giving them different ages? Use a negative frame range in the Birth operator on page 3087. For example, to get a particle-age spread of 30 frames, set Emit Start to -29 and Emit Stop to 0. How can I specify the time frame in which animated parameters are applied to particles? You can animate many of the Particle Flow parameter values with keyframing. In most actions, you can choose the time frame by which to apply this animation to the particles from a drop-down list labeled Sync By. You can apply this animation to particles in the time frame of the entire animation, or at a specific time of each particle's life (particle age), or based on the length of time the particle has been in the current event. See the individual operator and test topics for details. How can I apply bubble motion to particles? Although Particle Flow doesn't have the bubble motion option on page 3388 found in PArray, you can simulate the effect by following this procedure: 1 Add an object to serve as particle geometry and a dummy helper object on page 2871. 2 Position the dummy away from the center of the particle geometry object and link on page 3665 your particle geometry to the dummy so that the dummy is the parent object (that is, drag from the geometry object to the dummy). The distance between the pivots on page 3796 of the two objects determines the radius of the bubble motion. 3 In Particle View, add a Shape Instance operator on page 3176 and a Spin operator on page 3133 to the event in which the bubble motion is to occur. 4 Click the Shape Instance operator and specify the dummy object as the particle geometry object. 3046 | Chapter 12 Space Warps and Particle Systems 5 Click the Spin operator and set appropriate values for Spin Rate and Variation. For Spin Axis, keep the default setting of Random 3D. The result is particle motion in which the particles bob about while moving along their paths, similar to bubble motion. Events How can I branch an event to several other events? Particle Flow includes several Split tests, which let you send some particles to another event based on quantity, selection, or source. You can use any number of these in a single event to send parts of the particle stream to different events, and then use a Send Out test on page 3312 to redirect the remaining particles to another event. Keep in mind that any tests subsequent to the first can work only with particles remaining in the event, not necessarily all particles that begin in the event. Does it matter which order I put actions in an event? It depends. If an event contains two or more operators of the same type, such as Shape, the last one overrides the rest. If an event contains two or more tests, they are evaluated and particles redirected in the order in which the tests appear. However, if two actions in an event control the same properties, the interaction is more complex. An action that works on a continuous basis will typically prevail over one that affects particles only when they first enter the event. For example, both the Find Target test on page 3280 and Speed operator on page 3141 can control particle speed and direction, but the test works continuously, while the operator takes effect only once. If an event contains both, particle speed and direction will be primarily controlled by the test, in general, even if the operator comes after the test. However, the operator's settings will still have some influence over particle behavior, particularly if its Speed value is significantly higher than that of the test. For a list of actions’ effective time frames, see Action Time Frames on page 3081. Also, if you're testing for a specific condition that can be affected by other actions in an event, be sure to place the test after the actions. For example, in an event with a Force operator on page 3223 and a Collision test on page 3269, place the Collision test after the Force operator. This avoids the possibility of the force pushing particles past the deflector before Particle Flow can test for the collision, which would allow the particles to penetrate the deflector. In general, place tests at the end of the event. Particle Flow | 3047 How can I tell which particles are in a certain event? One way is to set the Type option for the Display operator on page 3220 in each event to a different choice. For example, the first event could use Ticks, the second Circles, and the third Lines. This way the particles change appearance in the viewports as they move from event to event. You can also use the Display operator to change particle colors, to further distinguish them. Another way is to select all particles in a certain event. Select the Particle Flow source icon, and then go to the Modify panel ➤ Selection rollout and click the Event icon. You can then click an event in the Select By Event list to highlight all of its particles in the viewports. Why do my particles lose their material when they move to another event? A material is a static property of an event. It does not travel along with the particles from event to event. A particle's material ID does, but its material does not. If you want particles always to use the same material, define the material in the global event on page 9178 with a Material operator on page 3190 or a Shape Instance operator on page 3176. Otherwise, you need to define it in each local event. Can I have an event receive input from multiple events? Particle Flow lets you wire any number of tests to a single event. I changed an operator setting, but it doesn't seem to have any effect on the particle system. A similar operator in the global event might be overriding your local operator. By default, Particle Flow evaluates local operators first, and then global operators. If a global operator affects the same property, such as speed, as a local one, the particle system will use the value set by the global operator. You can set local operators to override global ones by choosing Particle View ➤ Options menu ➤ Action Order ➤ Globals First. Can an event be isolated in Particle View and not connected to anything? Yes, but it won't affect the particle system at all. Particle Flow User Interface This section describes the various interface elements in Particle Flow. 3048 | Chapter 12 Space Warps and Particle Systems Particle View Select a Particle Flow source icon ➤ ➤ Click Particle View (or press 6). Modify panel ➤ Setup rollout Create panel ➤ (Geometry) ➤ Particle Systems ➤ Object Type rollout ➤ Click PF Source. ➤ Setup rollout ➤ Click Particle View (or press 6). Particle View provides the main user interface for creating and modifying particle systems in Particle Flow. The main window, known as the event display, contains the particle diagram, which describes the particle system. A particle system consists of one or more events wired together, each of which contains a list of one or more operators on page 3084 and tests on page 3266. Operators and tests are known collectively as actions. The first event is called the global event, because any operators it contains can affect the entire particle system. The global event always has the same name as the Particle Flow icon; by default, this is PF Source ## (starting with 01 and counting upward). Following this is the birth event, which must contain a Birth operator on page 3087 if the system is to generate particles. By default, the birth event contains this operator as well as several others that define the system's initial properties. You can add any number of subsequent events to a particle system; collectively, the birth event and additional events are called local events. They're called this because a local event's actions typically affect only particles currently in the event. You use tests to determine when particles are eligible to leave the current event and enter a different one. To indicate where they should go next, you wire the test to another event. This wiring defines the schematic, or flow, of the particle system. By default, the name of each operator and test in an event is followed by its most important setting or settings in parentheses. Above the event display is a menu bar, and below is the depot, containing all actions available for use in the particle system, as well as a selection of default particle systems. TIP The easiest way to open Particle View is by pressing the 6 key. It's not necessary to first select a Particle Flow icon. Particle Flow | 3049 1. Menu bar 2. Event display 3. Parameters panel 4. Depot 5. Description panel 6. Display tools Particle View comprises the following elements: ■ The menu bar on page 3051 provides functions for editing, selection, adjusting the view, and analyzing the particle system. ■ The event display on page 3062 contains the particle diagram, and provides functions for modifying the particle system. 3050 | Chapter 12 Space Warps and Particle Systems ■ The parameters panel contains rollouts for viewing and editing parameters of any selected actions. Basic functionality is identical to that of rollouts on the 3ds Max command panels, including usage of the right-click menu. To toggle display of the parameters panel, choose Display menu ➤ Parameters. ■ The depot contains all Particle Flow actions, as well as several default particle systems. To see an item's description, click its entry in the depot. To use an item, drag it into the event display on page 3062. The contents of the depot fall into three categories: operators on page 3084, tests on page 3266, and flows on page 3262. To toggle display of the depot, choose Display menu ➤ Depot. ■ The Description panel displays a brief description of the highlighted depot item. To toggle display of the description panel, choose Display menu ➤ Description. ■ The icon-based display tools in the bottom-right corner of the Particle View dialog let you pan and zoom the event display window. For descriptions, see Display menu on page 3057. Particle View Menu Bar Select a Particle Flow source icon. ➤ ➤ Click Particle View (or press 6). Modify panel ➤ Setup rollout Create panel ➤ (Geometry) ➤ Particle Systems ➤ Object Type rollout ➤ Click PF Source. ➤ Setup rollout ➤ Click Particle View (or press 6). The menu bar provides access to a number of important Particle View functions. Particle Flow | 3051 Procedures To render only particles in specific events: 1 In Particle View, highlight the events containing the particles you want to render. 2 Choose Select menu ➤ Assign Selection To Viewport. 3 Render using one of the Render Type on page 6992 ➤ Selected options. To bring a Particle Flow setup into a different scene: 1 In Particle View, highlight the events containing the particles you want to merge with a different scene. For example, to designate only a particular flow, you might highlight its global event, and then choose Select menu ➤ Select Downstreams. 2 Choose Select menu ➤ Save Selected, and use the file dialog to specify a file to save. NOTE Any scene objects on which Particle Flow depends are also saved. For instance, if a Shape Instance operator on page 3176 in one of the highlighted events refers to a certain object, that object is saved along with the designated events. 3 Open or create the scene with which the saved Particle Flow setup will be combined, and then use Merge on page 8101 to merge the file from step 2. 3052 | Chapter 12 Space Warps and Particle Systems Interface Edit menu Each of the first three commands on this menu presents a submenu containing all actions. Choose the command, and then choose an action from the submenu. NOTE The Undo and Redo commands are available from the main 3ds Max Edit menu, and their default keyboard shortcuts are the same: Ctrl+Z and Ctrl+Y, respectively. New Adds a new event containing the chosen action to the event display. Insert Before Inserts the chosen item above each highlighted action. Available only when one or more actions are highlighted. Append To Inserts the chosen item at then end of each highlighted event. Available only when one or more events are highlighted. Turn On All Turns on all actions and events. Turn Off All Turns off all actions and events. Turn On Selected Turns on any highlighted, turned-off actions or events. Available only when one or more highlighted items are turned off. Particle Flow | 3053 Turn Off Selected Turns off any highlighted, turned-on actions or events. Available only when one or more highlighted items are turned on. Make Unique Converts an instanced action to a copy that's unique to its event. Available only when one or more instanced actions are highlighted. Wire Selected Wires one or more highlighted tests to a highlighted event, or one or more highlighted global events to a highlighted birth event. Available only when one or more tests and a single event are highlighted, or when one or more global events and a single birth event are highlighted. Copy Copies any highlighted events, actions, and wires to the paste buffer. Keyboard equivalent: Ctrl+C. Paste Pastes the contents of the paste buffer to the event display. Keyboard equivalent: Ctrl+V. The result of copying and then pasting multiple items depends on what you copied: ■ If you copied multiple actions, pasting adds them all to a single new event, even if they originally came from different events. ■ Copying multiple events or wires pastes them exactly as copied. ■ If you copied a combination of actions and events, pasting creates a new event for each group of actions from a single event. For example, if you highlight event A, some actions from event B, and some actions from event C, copying and then pasting would add three events: a copy of event A, a second event with the actions from event B, and a third event with the actions from event C. Paste Instanced Pastes the contents of the paste buffer to the event display, making instances of any pasted actions and their originals. For the results of pasting multiple copied items, see Paste, above. Delete Deletes any highlighted items. Keyboard equivalent: Delete. Deleting an event also deletes all of its actions. Rename Lets you enter a new name for any single highlighted item in the event display. Available only when one action or test is highlighted 3054 | Chapter 12 Space Warps and Particle Systems Select menu By default, the Select tool is active when Particle View is open, as indicated by the arrow-shaped mouse cursor. You can use this tool to highlight, move, and copy events, actions, tools, and wires. You can also use the commands on this menu to highlight all elements, no elements, or elements by category. NOTE When you render using any of the Selected options, 3ds Max renders only events that are selected in the viewports. You can use the last three commands on this menu to manage and coordinate selection of events and flows between Particle View and the viewports. This also applies to use of the Views menu ➤ Shade Selected command. Select Tool Activates the Select tool. Choose this to return to the Select tool after using interactive tools for panning and zooming the event display. Alternatively, simply right-click anywhere in the event display to activate the Select tool. Select All Highlights all items in the event display. Particle Flow | 3055 Select None Deselects all items in the event display. Alternatively, click an empty area in the event display. Select Actions Highlights all operators and tests in the event display. Select Operators Highlights all operators in the event display. Select Tests Highlights all tests in the event display. Select Events Highlights all events in the event display. Select Wires Highlights all wires in the event display. Select Downstreams Highlights all events after currently highlighted events. Available only when one or more events are highlighted. Save Selected Saves only highlighted elements in the event display to a MAX file. You can then open this file, or combine it with an existing scene with Application menu on page 8579 ➤ Import ➤ Merge. NOTE The Particle View ➤ Save Selected command saves all items selected in Particle View and in the scene. So if a PF Source icon is selected in the scene, then this command will save its global event as well as any birth events associated with it. if you want to save only parts of a Particle Flow setup, first unselect everything in the scene. Also, if an action references an object (for example, a Shape Instance operator on page 3176 uses a geometry object), and the action or its parent event is highlighted when you use Save Selected, then the reference object is saved as well. Get Selection From Viewport Highlights global events whose source icons are selected in the viewports. Assign Selection To Viewport Transfers an event selection to the viewports. Use this to render only particles in specific events. First, in Particle View, highlight the events to render. Next, choose this command, and finally, render using one of the Render Type on page 6992 ➤ Selected options. Sync Source/Events Selection In Viewport Selects all events of any source icons selected in the viewports. You can then propagate this selection to Particle View with the Get Selection From Viewport command. Use this function to render a specific particle flow using one of the Render ➤ Selected options. 3056 | Chapter 12 Space Warps and Particle Systems Display menu The first five commands on this menu are also available as icons, in the Display tools section on the right side of the bottom border of the Particle View dialog. Each command's Display tools icon is shown below. Pan Tool Drag in the event display to move the view. The mouse cursor changes to a hand icon. You can also pan the view by dragging with the middle mouse button or wheel button held down. To exit this mode, right-click in the event view or choose the command again. Zoom Tool Drag in the event display to zoom the view. The mouse cursor changes to a magnifying-glass icon. Drag upward to zoom in, or downward to zoom out. To exit this mode, right-click in the event view or choose the command again. Zoom Region Tool Drag in the event display to define a zoom rectangle. The mouse cursor changes to the image of a magnifying glass inside a zoom region. When you release the mouse button, the display zooms to show only the area defined by the region. To exit this mode, right-click in the event view or choose the command again. Zoom Extents Sets the zoom to show the entire particle diagram in the event display. Particle Flow | 3057 No Zoom Sets the zoom to the default level. This is the level displayed when you first open Particle View in a given session. Parameters Toggles display of the parameters panel, on the right side of the Particle View dialog. Default=on. Depot Toggles display of the depot, below the Particle View dialog. Default=on. Description Toggles the Description panel, to the right of the depot. Default=on. The Description panel displays a brief description of any action highlighted in the depot. Options menu This menu contains a number of options useful in analyzing and debugging particle systems. Default Display Determines whether the Display operator is applied locally or globally to new particle systems and events. Default=Local. ■ GlobalWhen you create a new particle system, Particle Flow adds a single Display operator to the global event. It does not add a Display operator to each new event. ■ LocalParticle Flow adds a Display operator to each new event. This lets you easily distinguish particles in different events in the viewports. Action Order For predictable results, don't use similar actions in the global and local events. However, if comparable actions do exist in both the global event and other events, Particle Flow applies them to the system in the order specified here. Typically, the effect that's applied last is the one that's visible in the particle system. Default=Locals First. For example, consider a situation in which the global event contains a Shape operator set to Cube, and the other events in the same system contain Shape operators set to Tetra or Sphere. By default, Particle Flow applies the global 3058 | Chapter 12 Space Warps and Particle Systems Shape operator last at each integration step, overwriting any local shapes, so all particles would be cubes. But if you set Action Order to Globals First, the local shapes are applied last, and particles appear as tetrahedrons or spheres, depending on which event they're in. ■ Globals FirstAt each integration step, Particle Flow first applies actions in the global event, and then actions in the other (local) events. Typically, the result is that actions in the local events override comparable actions in the global event. ■ Locals FirstAt each integration step, Particle Flow first applies actions in the local events, and then actions in the global event. Typically, the result is that actions in the global event override comparable actions in the local events. Update Type This setting determines how Particle Flow updates the system when you change a parameter during playback. Because the state of the particle system at any given frame can depend on events in previous frames, using the Complete option can provide a more accurate depiction of the result of the change, at a cost in speed; it takes more time to recalculate the entire system starting at the first frame. Default=Complete. ■ CompleteWhen you change a setting during playback, Particle Flow updates the entire system, starting at the first frame. ■ ForwardWhen you change a setting during playback, Particle Flow updates the system starting at the current frame. Track Update Provides options for visualizing the particle system status in Particle View. ■ Particle CountAdds a tab above each event that shows the number of particles in the event. The global event's count shows the total number of particles in the particle system. Use this, in addition to the ability to display particles differently in each event, to trace particle progress through the system. ■ Update ProgressHighlights each action in color whenever Particle Flow evaluates it. The highlighting is very fast, but this option can add significant computational overhead to the particle system, with the result that real-time playback might skip a greater number of frames. To see all frames, turn off Time Configuration ➤ Real Time. Particle Flow | 3059 Use Dynamic Names When on, action names in events are followed by their most important setting or settings, in parentheses. When off, only the names appear. Default=on. Tools menu The Tools menu in Particle View provides several utilities for managing Particle Flow. Synchronize Layers Synchronizes Particle Flow geometry with source objects. Use this option after you move PF Source objects to different layers. The Synchronize Layers option does not change objects' layers, but rather synchronizes Particle Flow geometry with source objects so they will function correctly. ■ MAXScript particleFlowUtility.synchronizeLayers() Repair Cache System Repairs the cache system if it stops working. If a Cache operator ends up in a different event from the one it was originally placed in, whether through direct manipulation or from being merged into another Particle Flow system, the operator might stop functioning because of ID conflicts. In such cases, use this function to restore the cache to working condition. ■ MAXScript particleFlow.repairCacheSystem(bool doReport) Preset Manager Opens the Particle Flow Preset Manager dialog (see following). ■ MAXScriptparticleFlow.presetManager() 3060 | Chapter 12 Space Warps and Particle Systems Particle Flow Preset Manager dialog You can use the Preset Manager to save a scene as a preset for later retrieval via Preset Flow on page 3263 in Particle View. Keep in mind that all objects in the scene are saved as a part of the preset, regardless of whether they are part of the Particle Flow. This ensures that any Particle Flow reference objects are included in the preset. To save a new preset, enter a Preset Name and Preset Description, and then click Save Scene As Preset Flow. Preset Name Enter an identifying name for the new preset. Preset Description Enter a description for the new preset. Particle Flow | 3061 Presets A list of the current presets in the system. Click a preset to see its description. Save Scene as Preset Flow Saves the current scene as a preset. The preset is saved as a pair of files: preset_name.txt with the description of the preset; and preset_name.max file with the scene itself. Both files are saved in \plugcfg\Particle Flow Presets\ within the install folder. Since presets are saved as files, it is possible to exchange or modify the presets by manipulating the files. Particle View Event Display Select a Particle Flow source icon. ➤ ➤ Click Particle View (or press 6). Modify panel ➤ Setup rollout Create panel ➤ (Geometry) ➤ Particle Systems ➤ Object Type rollout ➤ Click PF Source. ➤ Setup rollout ➤ Click Particle View (or press 6). The event display on page 9150 in Particle View contains the particle diagram, and provides a complete range of intuitive functions for editing the particle system. NOTE A number of these functions are also available from the event display right-click menu on page 3066, as well as the menu bar on page 3051. Editing the Particle Diagram and Particle System Interactive functionality in event display includes the following: General ■ To add an action to the particle system, drag it from the depot to the event display. If you drop it in an empty area of the event display, it creates a new event. If you drag it to an existing event, the result depends on whether a red line or a blue line appears when you drop it. If a red line, the new action replaces the underlying action. If a blue line, the action is inserted in the list. ■ To edit an action's parameters, click its name in an event. The parameters appear on the right side of Particle View. If not, it means the parameters panel is hidden; to display it, choose Display menu ➤ Parameters. 3062 | Chapter 12 Space Warps and Particle Systems ■ To wire a test to an event, drag from its test output, the blue dot that by default sticks out to the left of the test, to the event's event input, which sticks out from the top, or vice-versa. Similarly, you can wire a global event to a birth event by dragging between the source output on the bottom of the global event and the event input. The mouse cursor changes to the first depicted image when you can begin this operation, and to the ■ second image when you can complete it. To pan or zoom the event display, use the controls available from the Display menu on page 3057, the right-click menu on page 3066, or as icons at the bottom-right of the dialog. Modifying Actions and Events in the Event Display ■ To change the color used by a Display operator, click its color swatch to the right of its name. ■ To toggle an operator (that is, turn it off and on), click its icon in the event. The mouse cursor changes to is possible. the depicted image when this action A turned-off operator does not affect the particle system, and appears as gray in the event list; however, its parameters are still available for editing. Toggling an instanced operator doesn’t affect its other instances. ■ To toggle an event (that is, turn it off and on), click the light-bulb icon next to its name in the title bar. Turning off an event is equivalent to turning off all of its operators and tests, although you cannot turn the operators and tests back on individually. The event's items do not affect the particle system, and appear Particle Flow | 3063 as gray in the event list. All particles entering a turned-off event are immediately passed on to the next event, if any. ■ To make a test result always True or False, click its icon's left or right side, respectively. The mouse cursor changes to the first image (with the left-pointing arrow) when you can click for always True, and to the second image (without the left-pointing arrow) when you can click for always False. The test icon changes to a green or red light bulb to indicate current functionality: green for always True, and red for always False. To return to the original functionality, click the icon again. The mouse cursor changes to the depicted image when this action is possible. Selecting, Moving, and Copying ■ To copy an action or event, first press and hold the Shift key and position the mouse cursor over the item to copy. When the plus sign (+) appears next to the mouse cursor arrow, drag the item to a new location. When you release the mouse button, the Clone Options dialog appears; choose Copy or Instance and click OK. In the Clone Options dialog, the Event And Particle System group is unavailable, as a reminder that you cannot instance these elements. Reference is not an option when cloning Particle System elements. Cloning an event or particle system simply creates a new event or particle system containing clones of the original's actions. Any instanced actions have identical properties. Changing one instance's values changes them all. On the other hand, copied actions can have different values. To clone multiple items, highlight them all before Shift+dragging. If you attempt to clone a combination of actions and events, or actions from different events, the result depends on where you start dragging from. If you drag a highlighted action, you'll clone only actions from that event. If you drag an event, only highlighted events are cloned. 3064 | Chapter 12 Space Warps and Particle Systems NOTE When you highlight an instanced action, Particle View indicates all of its other instances by changing their background color to a lighter shade of gray. ■ To move an event, drag its title bar, or the icon of any of its actions. If you drag the event to an edge of the display, and scrolling is possible, the display window will automatically scroll in that direction. ■ To resize an event, drag its right edge. ■ To highlight multiple items, drag a rectangle around them, or Ctrl+click them individually. ■ To delete an event, action, or wire, highlight it and then press Delete. Be sure the Particle Dialog is active, or you might inadvertently delete a selection in the scene instead. ■ To move an action, drag its name (not its icon) to the new location. If you drag the event to an edge of the display, and scrolling is possible, the display window will automatically scroll in that direction. If you drag an action to an event, you can insert the action or replace an existing action, depending on where you position the mouse cursor before releasing the button. A blue line (before releasing) indicates that it will be inserted at that location, and a red line indicates that it will replace the underlying action. If you drag the action to an empty space in the event display, it will form a new event, and, by default, the system will add a new Display operator. NOTE Particle Flow doesn't let you perform illegal operations. For instance, a Birth operator must always be the first item in a birth event on page 9106; the system doesn't let you position it elsewhere. You can place a Birth operator in an isolated event, but you can't then wire that event into a particle system, except in parallel with another birth event. For more information, see the Birth operator topic on page 3087. ■ To move a test output or switch it to the opposite side of the event, drag from just inside the test output to the desired new location. The mouse cursor changes to possible. the depicted image when this operation is Particle Flow | 3065 Getting Information ■ To see a renamed action's original type, position the mouse cursor over its event list entry until the tooltip appears. ■ To see a brief description of an action, click it in the depot. The description appears on the Description panel, to the right of the depot. Event Display Right-Click Menu Select a Particle Flow source icon. ➤ Modify panel ➤ Setup rollout ➤ Click Particle View (or press 6). ➤ Right-click in event display. Create panel ➤ (Geometry) ➤ Particle Systems ➤ Object Type rollout ➤ Click PF Source. ➤ Setup rollout ➤ Click Particle View (or press 6). ➤ Right-click in event display. The event display right-click menu provides handy access to a number of contextual commands. The contents of the menu, as well as the results of its commands, depend in some cases on where you click, in other cases on what's highlighted, and in still other cases, on both. In the following descriptions, “item” means an action or event, or, in some cases, a wire. Interface Insert Displays a submenu of all actions, and when you choose a new action, inserts it where you originally right-clicked. Available only when you right-click over an event or action. If you right-click over an action, and then insert an action, the inserted action replaces the old one. If you right-click above or below an action (no tooltip appears), the new action is added to the event at that location. If you right-click over an event, the action is inserted at the first available position. Append Displays a submenu of all actions, and when you choose a new action, inserts it at the end of the event. Available only when you right-click over an event or action. Turn On Turns on the event or action under the mouse cursor. Available only when the item under the mouse cursor is turned on. 3066 | Chapter 12 Space Warps and Particle Systems To affect an event, the mouse cursor must be over its title bar. Turning on a highlighted item affects all highlighted items. Turn Off Turns off the event or action under the mouse cursor. Available only when the item under the mouse cursor is turned off. To affect an event, the mouse cursor must be over its title bar. Turning off a highlighted item affects all highlighted items. Make Unique Converts an instanced action to a copy that's unique to its event. Available only when the mouse cursor is over an instanced action. If you right-click over a highlighted, instanced action, Make Unique affects all such actions. Wire Wires one or more highlighted tests to a highlighted event, or one or more highlighted global events to a highlighted birth event. Available only when one or more tests and a single event are highlighted, or when one or more global events and a single birth event are highlighted, and when you right-click over an eligible, highlighted item. Copy Copies any highlighted events, actions, and wires to the paste buffer. Available only when the mouse cursor is over an highlighted action, but affects all highlighted items. Paste Pastes the contents of the paste buffer to the event display at the mouse cursor. If the cursor is over a list, and you copied actions, the actions are added to the event. If the cursor is over an empty area of the event display, Particle Flow creates a new event containing the pasted actions. A copied event can be pasted only in an empty area of the event display. The result of copying and then pasting multiple items depend on what you copied and the position of the mouse cursor: ■ If you copied multiple actions, pasting adds them all to the event under the mouse cursor, or, if the cursor is over an empty area, to a new event, even if they originally came from different events. ■ Copying multiple events and/or wires pastes them exactly as copied, but in this case Paste is available only when the mouse cursor is over an empty area. ■ If you copied a combination of actions and events, you can paste them only when the mouse cursor is over an empty area. Pasting creates a new event for each group of actions from a single event. For example, if you highlight event A, some actions from event B, and some actions from event C, copying and then pasting would add three events: a copy of event A, a Particle Flow | 3067 second event with the actions from event B, and a third event with the actions from event C. Paste Instanced Pastes the contents of the paste buffer to the event display, making instances of any pasted actions and their originals. For the results of pasting multiple copied items, and the limitations based on mouse position, see Paste, above. New Add a new item to the event display from the submenu. The submenu contents are identical to that of the depot. Available only when the mouse cursor is over an empty area. Delete Deletes the item under the mouse cursor. Available only when the mouse cursor is over an item. If the mouse cursor is over a highlighted item, choosing Delete deletes all highlighted items. Rename Lets you rename the item under the mouse cursor. Enter a new name from the keyboard. Properties Opens the Object Properties dialog for the event under the mouse cursor. Available only when the mouse cursor is over the title bar of a highlighted event. Particle Flow lets you set object properties on a per-event basis. This lets you set attributes such as Hide, Renderable, and Motion Blur separately for each event. Alternatively, you can set properties for the entire particle system from the global event. For more information, see Object Properties on page 221. NOTE Set properties for events and the particle system only within Particle View, not via the source icon in the viewports (using the right-click menu ➤ Properties or Edit menu ➤ Object Properties). Use Script Wiring Lets you use a script to specify certain parameters in the Force operator on page 3223 and Keep Apart operator on page 3165. This command appears only when you right-click either of the specified, highlighted operators in an event. Comments Lets you add comments to each action and event, and view existing comments. Available only when the mouse cursor is over an action or the title bar of an event. Choosing Comments opens a window for entering text from the keyboard. Begin typing, and click OK to finish. A commented event or action has a red 3068 | Chapter 12 Space Warps and Particle Systems triangle near its name to indicate the presence of the comment. You can click this triangle to open the comment. Commented actions; click the triangle to view a comment. NOTE A comment is specific to the action or event to which it's applied. If you copy a commented event or action, the comment is not included in the copy, because it's probably not applicable to the copy. Pan Switches to the Pan tool. Drag in the event display to change the view; right-click to exit. Available only when you click over an empty area of the event display. Zoom Switches to the Zoom tool. Drag upward in the event display to zoom in, and downward to zoom out; right-click to exit. Available only when you click over an empty area of the event display. Zoom Region Switches to the Zoom Region tool. Drag a rectangle in the event display to specify the area to zoom into; right-click to exit. Available only when you click over an empty area of the event display. Particle Flow Source Add a Particle Flow system to the scene. ➤ Select a PF Source icon. ➤ Create panel Modify panel Particle Flow | 3069 Particle View on page 3049 ➤ Click a global event (title bar). ➤ Parameters panel The Particle Flow source is the viewport icon for each flow on page 9165, and also serves as the default emitter. By default, it appears as a rectangle with a central logo (see illustration), but you can change its shape and appearance using the controls described in this topic. When you select a source icon in the viewport, the Particle Flow emitter-level rollouts appear on the Modify panel. Alternatively, click the title bar of a global event in Particle View to highlight it, and to access the emitter-level rollouts from the parameters panel on the right side of the Particle View dialog. Use these controls for setting global attributes, such as icon properties and the maximum amount of particles in the flow. The particle source icon is roughly equivalent to the corresponding global event on page 9178 in Particle View. They have the same name, but selecting one does not select the other. If you delete a particle source icon from the scene, Particle Flow converts the global event to an isolated local event in Particle View, retaining its operators with their settings intact. Any other events in the system remain in Particle View, along with their wiring. However, if you delete a global event, Particle Flow also removes any local events used exclusively by that system, as well as the corresponding particle source icon. To retain the local events, first delete the wire from the global event, and then delete the global event. If you clone a particle source in a viewport with Shift+transform or Edit menu ➤ Clone, an equal number of copies of the global event appear in Particle 3070 | Chapter 12 Space Warps and Particle Systems View, each wired to the original birth event on page 9106. The Clone Options dialog offers only the Copy option. However, if you clone a global event in Particle View, the Clone Options dialog also lets you create instances of the cloned operators and tests. It's not possible to create instances of global and local events, so these options are unavailable in the Clone Options dialog, as a reminder. Also, global events cloned in Particle View are not automatically wired to the original birth event. Interface Modifier stack In the modifier stack, expanding the hierarchy of a Particle Flow source object provides access to two sub-object levels: Particle and Event. For further information, see Selection rollout on page 3074. Setup rollout Use these controls to turn the particle system on and off, and to open Particle View. NOTE This rollout appears only on the Create and Modify panels, not on the Particle View dialog ➤ parameters panel. Enable Particle Emission Turns the particle system on and off. Default=on. You can also turn off all particle flows in Particle View with Edit menu ➤ Turn Off All, or a specific particle flow by right-clicking its global event's title bar and choosing Turn Off. Particle View Click to open the Particle View dialog on page 3049. Particle Flow | 3071 Emission rollout Sets the physical characteristics of the emitter (particle source) icon, and the percentage of particles produced in the viewports and when rendering. Emitter Icon group Logo Size Sets the size of the Particle Flow logo, which appears at the center of the source icon, as well as the arrow that indicates the default direction of particle motion. By default, the logo size is proportional to that of the source icon; with this control, you can make it larger or smaller. This setting affects only the viewport display of the logo; changing it has no effect on the particle system. Icon Type Choose the basic geometry of the source icon: Rectangle, Box, Circle, or Sphere. Default=Rectangle. This choice matters only if you use the source icon as the particle emitter. The available size settings depend on which icon type you choose, and, again, are important only if you use the source icon as an emitter. The default icon type is Rectangle. If you add a particle system, and then change the icon type to Box, the icon continues to resemble a rectangle. To make it look like a box, increase the Height setting. Length/Diameter Sets the length of the Rectangle and Box icon types, and the diameter of the Circle and Sphere icon types. 3072 | Chapter 12 Space Warps and Particle Systems Width Sets the width of the Rectangle and Box icon types. Unavailable with the Circle and Sphere icon types. Height Sets the height of the Box icon type. Available only with the Box icon type. Show Logo/Icon Turns display of the logo (with arrow) and icon on and off, respectively. These settings affect only the viewport display of these items; they have no effect on the particle system. Quantity Multiplier group These settings determine the percentage of the total number of particles in each flow on page 9165 that are actually produced in the viewports and at render time. They don't affect the percentage of particles that are visible; those are determined by the Display operator on page 3220 and Render operator on page 3228. You can use them to quickly decrease or increase the number of particles consistently throughout all events in the particle system. The maximum setting, 10,000%, lets you multiply the number of particles generated by the flow by 100. The total number of particles is determined by the combined effects of the following operators and tests: Birth on page 3087, Birth Script on page 3090, Delete on page 3101, Collision Spawn on page 3274, and Spawn on page 3313. Scripted operators and tests can also affect this number. Viewport Sets the percentage of the total number of particles in the system produced in the viewports. Default=50.0. Range=0.0 to 10000.0. Render Sets the percentage of the total number of particles in the system produced at render time. Default=100.0. Range=0.0 to 10000.0. Particle Flow | 3073 Selection rollout Use these controls for selecting particles on a per-particle or event basis. Selection of particles at the Event level is for debugging and tracking purposes. Particles selected at the Particle level can be acted upon by the Delete operator on page 3101, the Group Selection operator on page 3112, and the Split Selected test on page 3321. You cannot directly manipulate selected particles with standard 3ds Max tools such as Move and Rotate. NOTE This rollout appears only on the Modify panel, not on the Create panel or Particle View dialog ➤ parameters panel. Particle Lets you select particles by clicking them or dragging a region. Event Lets you select particles by event. At this level, you can select all particles in one or more events by highlighting the event(s) in the Select By Event list on page 3075, or in the viewports with standard selection methods. To convert a selection from the Event level to the Particle level for use with the Delete operator or Split Selected test, use Get From Event Level on page 3075. 3074 | Chapter 12 Space Warps and Particle Systems Selected particles appear in the viewports in red (if not geometry), in the form designated by the Display operator ➤ Selected setting on page 3223. Select by Particle ID group Each particle has a unique ID number, starting with 1 for the first particle and counting up. Use these controls to select and deselect particles by their ID numbers. Available only at the Particle selection level. TIP You can display particle IDs in the viewports by turning on Display operator ➤ Show Particle IDs. ID Use this to set the ID number of the particle you want to select. You can set only one number at a time. Add After setting the ID number of a particle to select, click Add to add it to the selection. By default, selecting a particle doesn't deselect any others. Remove After setting the ID number of a particle to deselect, click Remove to remove it from the selection. Clear Selection When on, clicking Add to select a particle deselects all other particles. _____ Get From Event Level Click to convert an Event-level selection to the Particle level. Available only at the Particle level. _____ Select By Event This list shows all events in Particle Flow, and highlights selected events. To select all of an event's particles, click its list entry, or use standard viewport-selection methods. # Particles Selected Shows the number of selected particles. Particle Flow | 3075 System Management rollout Use these settings to limit the number of particles in the system, and to specify the frequency of updating the system. Particle Amount group Upper Limit The maximum number of particles the system may have. Default=100000. Range=1 to 10000000. TIP You can have more than 10,000,000 particles in a single system by using multiple particle sources and wiring them to the same birth event. Note, however, that Particle Flow is limited to sending a maximum of 5,000,000 particles per event to the renderer. Integration Step group At each integration step, Particle Flow updates the particle system, applying each active action to particles in its event. A smaller integration step can improve accuracy, at the cost of calculation time. These settings let you apply different integration steps to the particle animation in the viewports and at render time. In most cases, the default Integration Step settings work fine. One instance in which increasing the integration-step frequency might help is when fast-moving particles that should collide with a deflector penetrate it instead. Viewport Set the integration step for animation playback in the viewports. Default=Frame (once per animation frame). Range=1/8 Frame to Frame. Render Set the integration step at render time. Default=Half Frame (twice per animation frame). Range=1 Tick to Frame. There are 4,800 ticks in a second; thus, at the NTSC video rate of 30 frames per second, there are 160 ticks per frame. 3076 | Chapter 12 Space Warps and Particle Systems Script rollout This rollout lets you apply a script to the particle system at each integration step, as well as after the last integration step of each frame you view. Use an Every Step Update script to set up history-dependent properties, and a Final Step Update script to set up history-independent properties. Every Step Update group The Every Step Update script is evaluated at the end of each integration step, after all actions in the particle system are evaluated, and all particles are finally in their respective events. When, for example, you are setting up Material ID according to a particle index, it is important to be sure that particles are not about to jump to another event. When you set up history-dependent properties, such as speed, it is important to do that at every integration step, because otherwise the final position would be quite different. Enable Script Turn on to cause a script in memory to be executed at each integration step. You can modify this script by clicking the Edit button, or load and use a script file with the remaining controls in this group. The default script modifies particle speed and direction, causing particles to follow a wavy path. Edit Click this button to open a text-editor window with the current script. When Use Script File is off, this is the default Every Step Update script (3dsmax\scripts\particleflow\example-everystepupdate.ms). When Use Script File is on, this is the loaded script, if you've loaded one. If you haven't, clicking Edit displays the Open dialog. Particle Flow | 3077 Use Script File When on, you can load a script file by clicking the button below. [button] Click this button to display an Open dialog that lets you specify a script file to load from disk. After you load a script, the name of script file appears on the button. Final Step Update group The Final Step Update script is executed after the last integration step has been completed for each frame that you view (or render). For example, if you play the animation in the viewport with Real Time turned off, Particle Flow runs this script at each frame, immediately before the particle system is rendered to the viewport. However, if you simply jump to a different frame, the script is run once only, so if the script assumes a certain history, you might get unexpected results. For this reason, it's best to use the Final Step Update script to modify history-independent properties. For example, if no operators in the system depend on the material indices, you could use it to modify the material index. In this case there's no need to set those indices in every intermediate integration step. Also, you can set up a position channel in the Final Step Update script if you know the analytical expression for the position. Enable Script Turn on to cause a script in memory to be executed after the final integration step. You can modify this script by clicking the Edit button, or load and use a script file with the remaining controls in this group. The default script modifies particle speed and direction, causing particles to follow a bulb-shaped path. Edit Click this button to open a text-editor window with the current script. When Use Script File is off, this is the default Final Step Update script (3dsmax\scripts\particleflow\example-finalstepupdate.ms). When Use Script File is on, this is the loaded script, if you've loaded one. If you haven't, clicking Edit displays the Open dialog. Use Script File When on, you can load a script file by clicking the button below. [button] Click this button to display an Open dialog that lets you specify a script file to load from disk. After you load a script, the name of script file appears on the button. 3078 | Chapter 12 Space Warps and Particle Systems Particle Flow Helpers Create panel ➤ (Helpers) ➤ Particle Flow ➤ Object Type rollout Create menu ➤ Helpers ➤ Particle Flow In general, Particle Flow helpers take the form of icons that are automatically created in the scene when you add the associated test or operator. A special case is the Particle Paint helper, which must be added explicitly. With the exception of Particle Paint, when you add a Particle Flow helper to the scene, Particle Flow creates the associated action in Particle View. Interface SpeedByIcon on page 3146 Find Target on page 3280 Particle Paint on page 3231 Birth Texture on page 3091 Initial State on page 3103 Group Select on page 3112 Particle Flow Keyboard Shortcuts To use Particle Flow keyboard shortcuts, the Keyboard Shortcut Override Toggle on the main toolbar must be turned on. To view and customize these shortcuts, open the Customize User Interface dialog from the Customize menu, and then, from the Group drop-down menu, choose Particle Flow. Particle Flow Function Keyboard Shortcut Clean Up Particle View Alt+Ctrl+P Description Particle Flow | 3079 Particle Flow Function Keyboard Shortcut Description Copy Selected In Particle View* Ctrl+C Open Preset Manager Alt+Ctrl+M Particle Emission Toggle ; Toggles active status of all particle systems. Particle View Toggle 6 Toggles Particle View dialog. Paste In Particle View* Ctrl+V Repair Cache System Alt+Ctrl+C Reset Particle View* Alt+Ctrl+R Select All In Particle View* Ctrl+A Selects all events, actions, and wires. Selected Particle Emission Toggle Shift+; Toggles active status only of particle systems whose icons are selected in the viewports. Synchronize Particle Flow Layers Alt+Ctrl+L * These functions are specific to Particle View. It is recommended that you use Customize User Interface to change their keyboard shortcuts only, and not assign them to toolbars, quads, or menus. MAXScript/CUI-Only Tools Particle flow provides two commands for resetting Particle View and for cleaning up Particle Flow. These are available from Customize User Interface and MAXScript. Interface Reset Particle View Moves the Particle View dialog to its default position. If a scene is opened and saved on different computer systems with different resolutions, you might find that the Particle View dialog has been placed 3080 | Chapter 12 Space Warps and Particle Systems off-screen with regard to your system. Reset Particle View option restores the default position and makes the dialog visible on any computer system. ■ Customize User Interface (CUI) actionReset Particle View ■ ShortcutAlt+Ctrl+R ■ MAXScriptparticleFlowUtility.resetParticleView() Clean Up Particle Flow Removes items that can slow down rendering and editing. When a you create or modify a Particle Flow system, invisible items are sometimes created in the flow network. If you change the PF system during playback, these items allow the PF system to display changes immediately in viewports. However, the items might slow down rendering or editing. Clean Up Particle Flow deletes the invisible items safely, improving render speed and interactivity during Particle View editing. It is recommended that you use this option after editing Particle View wiring and before rendering or saving the scene. ■ ShortcutAlt+Ctrl+P ■ MAXScriptparticleFlow.cleanUpParticleFlow(bool doReport) Returns number of items removed (cleaned up) from Particle Flow. The bool doReport parameter specifies whether or not to show a message box with the report. Actions The Particle Flow components for creating particle systems are known collectively as actions. These are subdivided into three main categories: Operators, Flows, and Tests. Action Time Frames Most actions in Particle Flow operate on particles in either of two time frames: once, when the particle first enters the event, or on a continuous basis, potentially changing particle behavior at each integration step (that is, the whole time the particle is in the action’s event). Some actions can work only in one time frame, while others can work on an instantaneous or continuous basis, depending on their settings. The tables in this topic list each action with its time frame. Particle Flow | 3081 Operators Operator Time Frame Birth n/a Birth Paint Once, except continuous when Lock At Painted Objects ➤ Position or Rotation is on Birth Script n/a Birth Texture Once Delete n/a Force Continuous Group Once Group Selection Depends on Selection Update setting Initial State Once, except continuous when Lock To Icon TM ➤ Position or Speed is on Keep Apart Continuous Mapping Continuous Mapping Object Depends on Type setting Material Dynamic Continuous Material Frequency Once Material Static Once Placement Paint Depends on Data Update setting Position Icon Once, except continuous with Lock On Emitter Position Object Once, except continuous with Lock On Emitter 3082 | Chapter 12 Space Warps and Particle Systems Operator Time Frame Preset Flow n/a Rotation Once, except continuous with Speed Space Follow Scale Once, except continuous with Absolute and Relative options Script Operator Depends on script Shape Once, except continuous when Scale % or Variation % parameters are animated Shape Facing Continuous Shape Instance Once, except continuous with Animated Shape Shape Mark Once, except continuous with Align To Surface Animation Speed Once Speed By Icon Continuous Speed By Surface Depends on setting Spin Once, except continuous with Speed Space Follow Split Group Continuous n/a=not applicable Tests Most tests in Particle Flow function only as tests. At each integration step, they check each particle for the specified conditions, and then return the test result: True or False. So, as tests, they work on a continuous basis. For example, Age Test checks each particle's age at every integration step, because particles might not reach the specified age until remaining in the event for a while, Particle Flow | 3083 and also because another action in the event might change or reset particle age. The principal exceptions to this are the Split tests, which test each particle only when it first enters the event. That is, a Split test splits the particle stream only once for each particle that enters the event. Any particles that remain in the event are not subject again to being split off from the stream by the same test. Also, the Send Out test performs no test, but simply moves particles along to the next event. Some tests also function as operators, in that they directly affect particle behavior. These are the ones listed here, and the specified time frame is related to the operator functionality, not the test. Test Time Frame Collision Spawn Continuous Find Target Continuous Go To Rotation Continuous Script Test Depends on script Spawn Continuous, except once with Once Operators The operator is the basic element of the particle system: you combine operators into events to specify the particles' characteristics over a given period of time. Operators let you describe particle speed and direction, shape, appearance, and more. The operators reside in two groups in the Particle View depot, and within each group appear in alphabetical order. Each operator's icon has a blue background, except for the Birth operators, which have a green background. The first group contains operators that directly affect particle behavior, such as transformation. The second group, found at the end of the depot listing, contains four operators that serve more of a utility function: Cache, for optimizing particle-system playback; Display, for determining how particles appear in the viewports; Notes, for adding comments; and Render, for specifying render-time characteristics. 3084 | Chapter 12 Space Warps and Particle Systems The Particle Flow operators in the Particle View depot The primary operators in Particle Flow are: Birth Operator on page 3087 Birth Paint Operator on page 3256 Birth Script Operator on page 3090 Birth Texture Operator on page 3091 Delete Operator on page 3101 Force Operator on page 3223 Group operator on page 3110 Group Selection Operator on page 3112 Initial State operator on page 3103 Keep Apart Operator on page 3165 Mapping Object operator on page 3192 Mapping Operator on page 3210 Material Dynamic Operator on page 3202 Material Frequency Operator on page 3200 Material Static Operator on page 3197 Placement Paint operator on page 3258 Position Icon Operator on page 3120 Position Object Operator on page 3123 Particle Flow | 3085 Preset Flow on page 3263 Rotation Operator on page 3131 Scale Operator on page 3135 Script Operator on page 3230 Shape Operator on page 3171 Shape Facing Operator on page 3173 Shape Instance Operator on page 3176 Shape Mark Operator on page 3183 Speed Operator on page 3141 Speed By Icon Operator on page 3146 Speed By Surface Operator on page 3156 Spin Operator on page 3133 The utility operators are: Cache Operator on page 3213 Display Operator on page 3220 Notes Operator on page 3227 Render Operator on page 3228 See also: ■ Flows on page 3262 ■ Tests on page 3266 Birth and Death These operators control the creation of new particles and the elimination of particles that are no longer needed. See also: ■ Birth Paint Operator on page 3256 3086 | Chapter 12 Space Warps and Particle Systems Birth Operator Particle View on page 3049 ➤ Click Birth in an event or add a Birth operator to the particle system and then select it. The Birth operator enables creation of particles within the Particle Flow system using a set of simple parameters. In general, use Birth as the first operator in any event connected directly to a global event on page 9178; this is called the birth event on page 9106. You can specify a total number of particles, or a rate of particles born per second. You can also tell the system when to begin emitting particles, and when to stop. NOTE The Birth operator must always come at the beginning of a particle stream; the system doesn't let you position it elsewhere. You can place a Birth operator in an isolated event, but you can't then wire that event in series with a stream that already uses a Birth operator. However, you can wire multiple Birth operators, each in its own event, into a particle stream with an existing Birth operator, in parallel. The following procedure illustrates this. If you need to create particles midstream, use the Spawn Test on page 3313 or Collision Spawn Test on page 3274 test. See also: ■ Birth Script Operator on page 3090 Procedures To use the Birth operator: This procedure demonstrates the impossibility of using multiple Birth operators in series, and shows how to use multiple Birth operators in parallel. 1 Start or reset 3ds Max, and add a new PF Source object to the scene. 2 Press 6 to open Particle View. The default particle system contains a Birth operator as the first action in the birth event. 3 Try to drag the Birth operator elsewhere in Event 01. You can't. As you drag over the different actions in Event 01, a red line appears at the top of the event, showing that the Birth operator will be placed here, no matter where you release the mouse button. Particle Flow | 3087 4 Try to drag a new Birth operator from the depot to Event 01. As in the previous step, the only place you can drop the Birth operator is at the top of the event, replacing the existing Birth operator. 5 From the depot, drag the Birth operator to an empty area in the event display. Particle Flow creates a new birth event, Event 02, containing the Birth operator and a Display operator. 6 Wire the output of the global event, PF Source 01, to the event input of Event 02. Each birth event must be associated with a global event to be able to generate particles. 7 From the depot, add a Send Out test at the end of both Event 01 and Event 02. 8 Try to wire the test output of Event 02 to the event input of Event 01. Particle Flow doesn't let you, because this would result in two Birth operators in series. 9 Try to wire the test output of Event 01 to the event input of Event 02. Again, Particle Flow doesn't let you, because this would result in two Birth operators in series. 10 Drag a Speed operator to an empty area of the event display. Particle Flow creates a new event, Event 03. 11 Wire the test output of Event 01 to the event input of Event 03. 12 Wire the test output of Event 02 to the event input of Event 03. There's no problem wiring the two birth events to a single, third event. The birth events exist in the particle stream in parallel, each generating particles independently and then feeding its particle stream into a common event, where the two streams are combined. If the second birth event had its own global event, you could, at any point further downstream, separate the streams back out according to their origin using the Split Source test on page 3322. To do this, delete the wire from PF Source 01 to Event 02, add an Empty Flow on page 3265 to the system, and then wire it to Event 02. 3088 | Chapter 12 Space Warps and Particle Systems Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Emit Start The frame number at which the operator begins emitting particles. Emit Stop The frame number at which the operator stops emitting particles. NOTE The Emit Start and Emit Stop values are tied to the system frame rate. If you change the frame rate, Particle Flow automatically adjusts the Emit values accordingly. For example, if you set Emit Start to 120 and Emit Stop to 300 using the default NTSC frame rate (30 fps), and then switch to PAL (25 fps) using the Time Configuration dialog, you've reduced the frame rate to 5/6 of the original value. Thus, Particle Flow automatically uses the same ratio to adjust the Emit settings, resulting in an Emit Start value of 100 and an Emit Stop value of 250. This allows the particle system to retain the timing you specify, no matter which frame rate you use. NOTE With Subframe Sampling off, such adjustments are rounded off to the nearest integer frame number. With Subframe Sampling on, fractional frame values that result from such adjustments will be used, but not displayed. Amount To specify the total number of particles emitted by the operator, choose Amount, and then set the quantity of particles. Using the Amount option, the first particle is always emitted at the Emit Start frame, and the last particle is always emitted at the Emit Stop frame. Particles emitted between these endpoints appear at equal intervals within the emission period. For example, if you set Amount to 3, the second particle is emitted halfway through the emission period. To determine the number of particles emitted per frame when using Amount, divide the Amount value by the number of emission frames (Emit Stop-Emit Start+1). Particle Flow | 3089 Rate To specify the number of particles emitted per second, choose Rate, and then set the value. The operator emits this number of particles per second starting at the Emit Start frame and ending at the Emit Stop frame. If you specify a birth rate value that isn’t an integer multiple of the system frames-per-second value (set in the Time Configuration dialog), Particle Flow uses interpolation to determine when to emit particles. For example, if you use the system default rate of 30 frames per second, and set the birth rate to 4, the system would emit each particle at intervals of seven or eight frames if Subframe Sampling is off, or at intervals of 7.5 frames if Subframe Sampling is on. Total The calculated total number of particles emitted by the operator. Subframe Sampling Turning this on helps avoid particle "puffing" by emitting particles at a much higher subframe resolution (that is, throughout each frame), rather than using the relatively coarse frame resolution. Default=on. "Puffing" is the effect of emitting separate "puffs" or clusters of particles, rather than a continuous stream. This effect is especially noticeable when the emitter is animated. Turn off Subframe Sampling to cause particles to be emitted exactly at frame times. This makes it easier to sort particles by their age later. TIP If, when using the Collision on page 3269 or Collision Spawn test on page 3274, you experience an irregular particle stream, try turning off Subframe Sampling. Birth Script Operator Particle View on page 3049 ➤ Click Birth Script in an event or add a Birth Script operator to the particle system and then select it. The Birth Script operator enables creation of particles within the Particle Flow system using a MAXScript script. The script can use any program functionality available to MAXScript. The default script (3dsmax\scripts\particleflow\example-scriptbirth.ms) emits particles for 100 frames in a wavy, circular path. To see this, turn off or delete any Speed and Position operators in the event. See also: ■ Birth Operator on page 3087 3090 | Chapter 12 Space Warps and Particle Systems Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Edit Script Click this button to open the current script in a MAXScript Editor window. For detailed information about the MAXScript utility, open the MAXScript Help, available from Help menu ➤ MAXScript Help. Emit Start The frame number at which the operator begins emitting particles. Uniqueness group The Uniqueness setting provides a randomization seed that the script can use or ignore. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Birth Texture Operator Particle View on page 3049 ➤ Click Birth Texture in an event or add a Birth Texture operator to the particle system and then click it. The Birth Texture operator uses an animated texture to calculate the timing, location, and scale of particles. In general, Birth Texture causes particles to emit from the object where the texture is white or a bright color. The Birth Texture operator controls are available in two areas of 3ds Max. First, the Birth Texture rollout on page 3093, which appears in Particle View, regulates the overall timing of particles. Second, adding a Birth Texture operator to a Particle Flow system creates a 3D icon, or helper, that you can select in viewports. The icon is placed at the world origin (0,0,0). When you select this icon, the Parameters rollout on page Particle Flow | 3091 3094 opens on the Modify panel. These controls let you specify the timing, placement, and scaling of particles. You can also access the Birth Texture operator's parameters via the operator in Particle View, by clicking Initialization Parameters. Birth Texture icon Procedure To use the Birth Texture operator: 1 Create an object, and apply a material to it that includes an animated map with variations of light and dark colors. For example, you could apply a Checker map as the Diffuse map with an animated Offset parameter. 2 Create a PF Source. 3 In Particle View, replace the Birth operator with a Birth Texture operator. This creates the Birth Texture icon at the world center: 0,0,0. 4 On the Birth Texture rollout in Particle View, set Emit Stop to 100 (or any other value you prefer) and turn off Lock To Emitters. 5 Click Initialization Parameters. This selects the Birth Texture icon and opens the Modify panel. 6 On the Modify panel, in the Timing group of controls, set Stop to the value you used in step 4. 7 In the Emitter Objects group, select the object with the material as the emitter. 8 At the top of the Parameters rollout, click Initialize Particle Emission. 3092 | Chapter 12 Space Warps and Particle Systems This process runs through the animation, and places particle seeds (white) on the object's surface where white or light areas appear. TIP If no particles appear, try turning down the Whiteness setting in the Emission By group. This lowers the threshold of texture brightness required to emit particles. 9 In Particle View, remove or disable the Position Icon operator and then play the animation. The seeds turn into particles whenever the area under the seeds turns white; the particles then move away from the object. Interface Birth Texture rollout This rollout appears in Particle View when the Birth Texture operator is selected. Emit Start The frame at which the operator begins emitting particles. Emit Stop The frame at which the operator stops emitting particles. The exact timing of start and stop may vary due to the timing of individual particles, which depends on the emitter's animated texture. Reset To Original Timing Sets the Emit Start and Emit Stop values to the current values of Timing ➤ Start and Stop on page 3097 as initialized (that is, when you last clicked Initialize Particle Emission on page 3095). If Emit Start and Emit Stop differ from the original timing, the particle timing is scaled to fit into the emission interval. This lets you change the overall timing of the emission without the long process of pre-calculation. Particle Flow | 3093 Lock On Emitters Causes all particle pivot points to be "glued" to the emitter objects. This control is similar to the Lock On Emitter option of the Position Icon operator. It tells the Birth Texture operator to continue controlling particle position even after the particles are born. Total Particles This read-only value shows the total number of pre-calculated particles. The amount of particles actually generated depends on the Quantity Multiplier of the master PF Source object. If the multiplier value is less than 100%, the operator samples the pre-calculated particles. If the multiplier is greater than 100%, some particle seeds are able to generate multiple particles. Initialization Parameters Selects the Birth Texture icon and switches to the Modify panel to show controls related to the particle timing and placement pre-calculation (see following). Parameters rollout This rollout is available on the Modify panel when you select the Birth Texture icon or click Initialization Parameters (see preceding). 3094 | Chapter 12 Space Warps and Particle Systems [concentric color box] The color of this icon indicates the calculation status of particle seeds. When blue-green, the operator has generated particle seeds according to the current set of parameters, and is up to date. When red, parameters have been changed since the last initialization, and you must update the particle seeds by clicking Initialize Particle Emission. Initialize Particle Emission Click to calculate particle seed timing, placement and scaling according to the current set of parameters. If the emitters geometry or textures are complex, the initialization process can be lengthy. The overall progress of calculation is indicated as a percentage in the status bar. When calculation is complete, the Green/Red concentric color box turns green. This option is available only after you have picked at least one emitter in the Emitter Objects group. Quantity group The Birth Texture operator offers several methods for determining the quantity and placement of particle seeds. In general, each of these methods covers the emitter with the maximum number of particle seeds allowed for the chosen method, then the texture's coloring or brightness defines if and when a seed is converted to a particle. NOTE These parameters control particle seeds, not the particles themselves. A particle seed is converted to a particle based on the parameters in other rollouts, and on the color and brightness of the texture itself. Choose one option in this group: ■ AmountRandomly covers the emitter surface with the specified number of particle seeds. Then the animated texture is used to define if and when a seed generates a particle. This option can be used when you don’t want particles to be generated in the same place multiple times when the texture is animated. ■ Max. RateSets the maximum number of particles that can be generated per frame over the entire surface, when the texture color exceeds the Whiteness value. The rate is expressed in particles per frame. First, the emitter surface is randomly covered with seeds at the Max. Rate, starting with the Start frame. Then the texture for the current frame defines at that frame whether each seed generates a particle. The unused seeds are not used. At the next frame, a new set of particle seeds is generated. This option generates particle seeds in this manner from the Start frame to the Stop frame. This option can be used when it doesn't matter whether particles are generated in the same place multiple times. Particle Flow | 3095 ■ ■ SeparateSets the distance by which particle seeds are separated, in units. The emitters surface is evenly covered with particle seeds, and the seeds are placed in such a way that they are separated by the Separate value. Then the animated texture is used to define if and when a seed generates a particle. The Separate option guarantees the absence of dense clusters and overlapping particles. This option guarantees that particles will not be generated in the same place multiple times. When you choose Separate, two additional options become available: ■ Adjust By Scale FactorWhen the Separate option is chosen and you’ve specified a Scale Factor option on page 3100 other than None, this option adjusts the separation distance according to particle scale. In other words, when Adjust By Scale Factor is on, Particle Flow can place smaller particles closer together, while increasing the distance between larger particles. ■ Fast Approx. Separation Vertices/EdgesPlaces particle seeds on surface vertices. The total amount of particle seeds is defined by the number of vertices. ■ ■ SubdividePlaces particle seeds on visible edges as well as vertices. The seeds are distributed evenly along edges, spaced by a distance approximately equal to the Subdivide value. Then the animated texture is used to define if and when a seed generates a particle. The total amount of particle seeds is defined by the number of vertices, and the lengths of visible edges. FacesPlaces particle seeds at face centers. If the Subdivide option is on then each face is subdivided to a point when every faces edge is less then the Subdivide value, and a particle seed is placed at the center of the sub-faces. Then the animated texture is used to define if a seed generates a particle, and when. The total amount of particle seeds is defined by the number of faces and their size (if Subdivide is on). The Faces option with Subdivide on generates the most evenly distributed particles over the emitter surface, with some regular properties. If the Subdivide value is less then a particle size then the particles are able to cover the entire emitter surface without any holes. ■ SubdivideThe option is available for the Vertices/Edges and Faces amount types only. When On, edges and faces are subdivided to generate the greater amount of particles. 3096 | Chapter 12 Space Warps and Particle Systems Amount Limit This control is available if you choose Vertices/Edges or Faces and also turn on Subdivide. Small values of Subdivide can generate so many particle seeds that they exceed available memory: this value limits the number of seeds, so 3ds Max doesn’t hang. Range = 10 to 50000000 (fifty million). Default=1000000 (one million). Total Amount This read-only value shows the total number of particles pre-calculated for the emission. Because the animated texture might not reach required whiteness level over the emitter surface, this value is usually smaller then Amount or Max. Rate*(Stop-Start) values. Timing group These parameters determine the time interval over which particles are generated. The operator analyzes the emitter texture over the time interval, using the data to define the precise birth moment for each particle. The timing for each particle is stored as a floating-point value ranging from 0.0 to 1.0. This indicates its timing relative to the start (0.0) or end (1.0) of the interval and makes it possible to adjust the overall timing of the particle emission without recalculation. You can also adjust particle timing in Particle View by changing the Emit Start and Emit Stop values. Start The first frame of the interval over which particles are generated. Stop The last frame of the interval over which particles are generated. Delay Var Variation in particle emission, in frames. Latency Causes particle seeds to accumulate brightness over time, and to be converted to particles only if they accumulate a certain brightness value. The Latency value is multiplied by the Whiteness % on page 3099 value to determine the whiteness that needs to be achieved. Then particle seeds accumulate Luminance values for the texture at each frame, and are converted to particles when they achieve the multiplied whiteness value. Latency can be used to cause a sweep of particles to be generated over a gradient map without having to animate the map. For example, if Latency is off, Whiteness is 100%, and the texture where a particle seed resides is white [256,256,256], a particle will be generated. But if Latency is on and set to 3, the multiplied whiteness required to convert to a particle is 300%, which the particle seed accumulates after 3 frames. Particle Flow | 3097 Following are more examples of how adjusting Latency affects how particles are generated: ■ Texture color=[128,128,128] (50% brightness); Whiteness=100%; Latency=7: The particle seed requires 700% brightness to emit a particle, which would be achieved after 14 frames. ■ Texture color=[32,32,32] (12.5% brightness); Whiteness=50%; Latency=2: The particle seed requires 100% brightness to emit a particle, which would be achieved after eight frames. Precision The level of accuracy for particle timing calculation. If the texture has more than a single image per frame, to include the sub-frame images choose a sub-frame sampling method. The available choices are Frame, Half Frame, 1/4 Frame, 1/8 Frame. Emission By group Particle seeds are converted to particles when the particle seeds are located on an area of the texture that exceeds the Whiteness value. The parameters in this group define how Particle Flow interprets the texture information to see if it exceeds the Whiteness value. The Emission By choices are as follows: ■ MaterialGathers colors from the emitter's material. ■ Sub-MaterialGathers colors from a single sub-material, and generates particles only on faces with the specified sub-material ID (Material ID). The sub-material ID is set by the Sub-Mtl ID parameter (see following). ■ Sub-Mtl GlobalGathers colors from a single sub-material, and generates particles over the entire emitter surface regardless of the faces' Material IDs. The sub-material ID is set by the Sub-Mtl ID parameter (see following). ■ Vertex ColorGathers colors from the Vertex Color channel. ■ Vertex AlphaGathers colors from the Vertex Alpha channel. ■ Vertex IllumGathers colors from the Vertex Illum channel. ■ MappingGathers colors from a mapping channel. A mapping channel can be used by the Vertex Paint modifier to color vertices. The mapping channel index is defined by the Channel parameter. TIP For information about these channels, see the VertexPaint Modifier topic in the 3ds Max Help. 3098 | Chapter 12 Space Warps and Particle Systems R/G/B These buttons let you define the set of color channels to be considered for particle generation. For example, if only the R (red) button is active, then only the red color data is used to determine whether particles are generated. If more then one button is active, the average of the chosen channels is used. Sub-Mtl ID Specifies the sub-material ID when Emission By (see preceding) is set to Sub-Material or Sub-Material Global. Typically the sub-material is a component of a Multi/Sub-Object material, and you can find the IDs on the material’s Basic Parameters rollout. Whiteness % Sets the color trigger level. If a color at a particle seed location exceeds this threshold, then a particle is generated. A 0% Whiteness corresponds to RGB value (0,0,0), while a 100% Whiteness corresponds to the RGB value (255,255,255). Emitter Objects group Use these controls to assign objects to be used as particle emitters. Add Adds an object to the list. By List Opens the Select Emitter Geometry dialog where you can add multiple objects to the list. Remove Removes a highlighted object from the list. Animated Emitters Indicates that the emitter objects are animated, either with transforms or surface animation. This option affects the display of particle seeds, but doesn’t affect particle generation, because all particles are generated on the surface regardless of whether it is animated. Toggling this option does not affect calculation status. Surface Normal Offset When on, lets you specify an offset range from the emitter surface for particle placement. Negative values place particle seeds below the surface. Offset Min/Max When Surface Normal Offset is on, you can specify the range of offset distance from the object surface. The Min value cannot exceed the Max value, and the Max value cannot go below the Min value. Scale Factor group The operator can initialize particle scaling according to the characteristics of the texture the particles are generated from. So, for example, you can vary the sizes of particles emitted from different parts of the surface with a gradient map. The scale value calculation uses the texture's state at the current frame, disregarding any animation the texture has. Since a color has three Particle Flow | 3099 floating-point values, each value defines a different component of the scale vector. To have a uniform scale factor, use textures with no hue (black/gray/white gradients). Scale By Defines the source of color to calculate particle scaling. The available choices are: ■ NoneNo particle scaling is set. ■ Sub-MaterialUses a single sub-material to set the scale, and uses this scale over the entire emitter surface regardless of the faces' Material IDs. The sub-material ID is set by the Sub-Mtl ID parameter. ■ Vertex ColorUses the Vertex Color channel to define particle scale. ■ Vertex AlphaUses the Vertex Alpha channel to define particle scale. ■ Vertex IllumUses the Vertex Illum channel to define particle scale. ■ MappingDefines particle scale with a mapping channel that is used for vertex coloring by the Vertex Paint modifier. The mapping channel index is defined by the Channel parameter. TIP For information about these channels, see the VertexPaint Modifier topic in the 3ds Max Help. Sub-Mtl ID When Scale By (see preceding) is set to Sub-Material, specifies the sub-material ID. Typically the sub-material is a component of a Multi/Sub-Object material, and you can find the IDs on the material’s Basic Parameters rollout. Black Scale % Defines the scale value for particles that fall on pure black areas of the texture. This value should be used to set the scale percentage for the smallest particles in the range. The Black Scale % must be lower than or equal to the White Scale %. White Scale % Defines the scale value for particles that fall on pure white areas of the texture. For intermediate gray colors, the scale value is linearly interpolated between the Black Scale % and White Scale %. The Black Scale % and White Scale % can influence the particle distribution if the Separate option in the Quantity group is chosen, and Adjust By Scale Factor is on. Display group The operator is able to show the particles in interactive, non-history-dependent mode. Usually, if you want to see particle animation, you have to place the 3100 | Chapter 12 Space Warps and Particle Systems operator into an event that is wired to an active PF Source event. However, this might require heavy calculation for history-dependent particle animation. The parameters in the Display group give you the ability to see how particles will be created without the overhead of generating a particle system. Show Particles Displays calculated particle seeds as ticks. All / By Timing Defines the mode for showing particles: ■ AllAll pre-calculated particles are shown. ■ By TimingEach particle is displayed at the frame at which it will be born. The timing shown with the By Timing method might differ from the actual particle emission because the Emit Start and Emit Stop values in the Birth Texture operator can adjust the overall particle timing. Only When Selected When on, particle seeds appear in the viewports only when the Birth Texture icon is selected. When off, particle seeds always appear. Icon Size Sets the size of the 3D icon of the operator. The size of the icon has no effect on particle size or emission. Color Coordinated When on, the color of the 3D icon is synchronized with the color set by the Display operator in the same event as the corresponding Birth Texture operator. When off, the icon uses the standard Particle Flow operator color: blue. Uniqueness group The Uniqueness settings enable you to change the randomization of the particle generation where appropriate. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Delete Operator Particle View on page 3049 ➤ Click Delete in an event or add a Delete operator to the particle system and then select it. Use the Delete operator to remove particles from the particle system. By default, particles live “forever,” that is, for the duration of the animation. The Delete operator lets you give them a finite life span. This is useful for eliminating particles once they've served their purpose in the animation. Particle Flow | 3101 The Delete operator is also necessary when using the Particle Age map, which, when incorporated into the Material Dynamic operator, applies different materials to particles depending on their age. Because the map works on the basis of a percentage of the particle's life span, you need to use a Delete operator to define the particles' maximum age. For an example of usage, see Material Dynamic operator on page 3202. Interface The user interface appears in the Parameters panel, on the right side of the Particle View dialog. Remove group Choose whether to delete all particles, selected particles, or particles past a specific age. The Uniqueness setting enables randomization of maximum particle age using the By Particle Age ➤ Variation setting. All Particles Deletes all particles in the event immediately. Selected Particles Only Deletes particles selected at the Particle sub-object level in the event immediately. See Selection rollout on page 3074. By Particle Age Deletes particles in the event after they’ve existed for a specific length of time, with an optional random variation. Choosing this makes the Life Span and Variation settings available. ■ Life Span The number of frames of life allowed to the particles. After this period, they're deleted. Default=60. 3102 | Chapter 12 Space Warps and Particle Systems ■ Variation The maximum amount by which Life Span may vary. To get each particle's actual life span, this value is multiplied by a random number between –1.0 and 1.0, and then added to Life Span. Default=10. Uniqueness group The Uniqueness setting enables randomization of maximum particle age using the By Particle Age ➤ Variation setting. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Initial State Operator Particle View on page 3049 ➤ Click Initial State in an event or add an Initial State operator to the particle system and then click it. The Initial State operator is a birth operator that uses a snapshot of another particle system or other events as a starting point for a new event. The particle system or events from which the Initial State operator gets its snapshot must be different from those of the Initial State operator itself. The Initial State operator can make use of an icon in the scene, whose default size is 0.0. The icon is visible only if the Icon Size parameter is greater than 0. You can also use the Initial State helper object (in the Particle Flow category) to create an Initial State icon and a corresponding Initial State event at the same time. NOTE To avoid looping dependencies, create the Initial State operator after you create the particle system or events from which it obtains its initial state. Initial State Usage The Initial State operator is particularly useful when a large number of particles are generated before frame 0, and you want to use the state of particles at frame 0. In the following example, the left side of the image shows the original wiring without the Initial State operator. Because 1,000,000 particles are born starting at frame -750, a great deal of calculation is required to calculate the particles at frame 0. Particle Flow | 3103 In a particle system like this, you can save time by using the Initial State operator. In this case, you could set the Viewport Quantity Multiplier in the original system to 100%, and then let the system calculate the particles at frame 0, which could take 15 minutes or more. Then you would use the Calculate Initial State function in the Initial State operator to acquire the starting state of particles at frame 0. The first time you perform this operation, it will take as long as particle calculation without the Initial State operator. The advantage is that the initial particle state at frame 0 does not have to be calculated again unless you change parameters that affect the initial state. The original system generates particles from frame -750 to 144, but the Initial State operator captures the state at frame 0. Therefore, you would need an additional Birth operator to generate particles from frames 0 to 144. To determine how many particles to generate from frames 0 to 144, look at the Initial State operator to get the number of particles generated, and subtract this number from the original total; the result is the number of particles should be generated with the new Birth operator. In the example shown above, the amount is 1,000,000–834,000 = 166,000. If the original particle system has Position and Speed operators, be sure to instance them in the new event with the Birth operator. There is no need to instance these operators in the event that contains the Initial State operator, as this information is already included in the referenced event. All other operators can go into a common event where the Birth and Initial State events merge. 3104 | Chapter 12 Space Warps and Particle Systems Procedure To use Initial State: 1 Create a particle system. 2 Go to the frame where the particle system is in the desired initial state. 3 Drag the Initial State operator to a blank area of Particle View to create a new, separate event. Alternatively, you can use the Initial State helper to create an Initial State icon and a new event at the same time. 4 Decide if you want the whole particle system, or distinctive events for the initial state, and choose the appropriate option in the Initial State From group. 5 Select the particle system or events. 6 Click Calculate Initial State. The Initial State UI makes a snapshot at the current frame, and also reports the number of the particles in the initial state and the amount of memory used. 7 At this point, you can disable the original particle system if you like. 8 Drag an Empty Flow to a blank area of Particle View to create a new global event. 9 Wire the new global event to the event that includes the Initial State operator. Particle Flow | 3105 Interface 3106 | Chapter 12 Space Warps and Particle Systems Calculate Initial State Creates a snapshot of a particle system or selected events at the current frame. The snapshot uses only particles visible in the viewport, and is reflected by the Amount and the Memory Used statistics. This button becomes available after you specify a particle system or events. Initial State uses the Viewport % and Render % in the PF Source's Quantity Multiplier group. If Viewport % is set to 100, all particles in the snapshot are used. If Viewport % is less than 100, then only some particles of the original initial state are used. If Viewport % is greater than 100, the operator spawns particles from the original state to meet the percentage. The Initial State operator moves the particles apart in order to separate the spawns visually, and can modify the speed of the spawns. Emit Time All particles in the initial state are generated at the Emit Time. Auto Sync Emit Time Sets the Emit Time value to the current frame automatically when you click Calculate Initial State button. This action synchronizes the referenced particle system's timing with the operator. Amount Read-only field shows the number of particles in the initial state, which is the number of visible particles in the original particle system during the snapshot. Keep in mind that the operator grabs the viewport state of a particle system. What you have in the viewport at the snapshot frame is what you get for the initial state. Memory Used Read-only field shows the amount of system memory used to keep the initial-state data when the scene is saved into a file, in kilobytes. Initial State From Choose a source option for the initial state and then make settings as appropriate. ■ Particle SystemLets you derive the initial state from an entire particle system. Click the button to choose the particle system. You cannot use the particle system that contains the Initial State operator. ■ Selected EventsLets you choose any number of events to use for the initial state. To add events to the list, click Add. You cannot add the event the Initial State operator is in. To remove an event from the list, highlight the event and click Remove. Initial State Data group The options in this group serve two purposes: ■ Before you click Calculate Initial State, the settings define the types of data to get from the particle system or events for the initial state. Particle Flow | 3107 ■ After you click Calculate Initial State, the settings define the data to be used during particle generation. When you click Calculate Initial State, the operator reads the status of the check boxes in this group and acquires the indicated data from the particle system or events. If a check box is on and the data corresponding to that checkbox is available from the particle system or events, the checkbox text is black. Otherwise, it is gray. You can toggle a check box whether its text is black or gray. If the data is available (the checkbox text is black) and you turn off the check box, the data is not used when particles are generated. Age When off, all particles are born with age 0. When on, each particle retains its age as of the moment of the snapshot. Speed/Scale/Rotation/Spin/Shape When on, these options derive the corresponding type of data from the snapshot. Mapping Takes data from a Mapping operator. To make this option work properly, turn on Show Map in Viewport for the original Mapping operator. Material ID Takes the sub-material index assignment, To make this option work properly, turn on Assign Material ID and Show in Viewport for all Material operators. Script Data Takes the Script Float, Integer, Vector and Matrix data created by Script operators. This data can be used later by Script operators as well as by the Script Vector option of the Find Target test ➤ Point setting. Selection Takes particle selection data. Any selections in the Initial State operator’s particle system is overwritten by the snapshot selection. For Quantity Multiplier > 100% group The options in this group have an effect on particles only if the Viewport % (or Render %) in the PF Source's Quantity Multiplier group is greater than 100%. To meet the requirement of the Quantity Multiplier, the operator has to spawn the acquired particles. Position Variation Max. Spread The maximum offset of spawned particles’ placement from the original location. Speed Variation Magnitude % Variation in the speed magnitude for spawned particles. The variation is defined as the maximum percentage change from the original speed. For example, if the original speed is 100 units per second 3108 | Chapter 12 Space Warps and Particle Systems and Magnitude is 20%, then the spawned particle may have any speed from 80 to 120. Speed Variation Divergence Directional variation of the speed for the spawned particles, in degrees, with a range from 0 to 180. Lock To Icon TM group The options in this group are used to link initial particle placement and speed to the operators 3D icon. Position When on, you can modify the particles’ initial placement by moving, rotating, and scaling the operator icon. Speed Causes the particles’ initial speed after the snapshot to be affected by transform animation of the operators icon. Icon Size Sets the icon size. If you create the operator in Particle View, the default size is 0, and the icon is not visible in viewport. If you create the operator as a Particle Flow helper object, then the size is set when you drag in a viewport during the icon-creation process. Color Coordinated When this option is turned on, the color of the 3D icon is synchronized with the color of the Display operator in the same event. When this option is off, the icon has a standard Particle Flow operators color (blue). Uniqueness Group of Controls The Uniqueness setting enables changing the randomization of the position and speed variation when Quantity Multiplier is greater than 100% (see the For Quantity Multiplier ➤ 100% group). Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Groups The group actions in Particle Flow let you identify and act on subsets of particles, specified either explicitly or procedurally according to any of a number of different conditions. You can create as many groups as you like, and apply any event’s actions to any group. Particle Flow | 3109 Group Operator Particle View on page 3049 ➤ Click Group Operator in an event or add a Group Operator operator to the particle system and then click it. The Group Operator applies an entire event to the particles specified by one or more Group Selection operators on page 3112. The Group Operator is useful when you want to apply an event to a subset of particles, but you don't want to split the particles from the current event. It affects the selected particles only while they remain in the current event. This operator is useful when you want to apply a complex event to a subset of particles. It is also useful when you want to apply the same series of operators to different subsets of particles in different events. The Group Operator does not wire the external event to the current event, but rather, it refers the current event to the external event. Group operator is not wired to the event that it calls. 3110 | Chapter 12 Space Warps and Particle Systems In the Particle Flow network shown above, all particles in Event 01 that pass the Age test are directed to Event 02, but only those that were selected by the Group Selection operator in Event 02 will use the operators in the Rotation event. Then all particles that flowed to Event 02 (including both the particles selected with the Group Selection operator, and those not selected) are directed to Event 03 via the Spawn test. Interface Group Selection Operators Lists one ore more Group Selection operators that specify the particle selection(s) to which the event should be applied. To add one or more groups, click the Add button and use the Select Group Selection Operator dialog to specify the groups to add. To remove a group from the list, highlight its name and then click Remove Selection Condition When the Group Selection Operators list (see preceding) contains multiple entries, use this option to specify how to qualify particles in overlapping groups: ■ Selected In All GroupsA particle qualifies only if it belongs to all listed groups. ■ Selected In Any GroupA particle qualifies if it belongs to any listed group. ■ Selected In Single GroupA particle qualifies only if it belongs to only one of the listed groups. Particle Flow | 3111 Modify Particles By Event Specifies the event with operators/tests to be used on the selected particles. Click the button and then choose the event from the selection dialog. If the referred-to event has tests, the particles are not redirected to another event. All other operators in the event are performed on the specified particles. Group Selection Operator Particle View on page 3049 ➤ Click Group Selection in an event or add a Group Selection operator to the particle system and then click it. The Group Selection operator extends Particle Flow's ability to select particles. Originally in Particle Flow, you select a single group of particles explicitly that remains selected throughout the entire flow. With Group Selection, however, you can specify any number of groups according to various criteria: location, particle properties, at random, and more. You can divert selected particle groups to another event with the Split Group test on page 3118, or indicate an outside event to affect particles with the Group Operator on page 3110. The Group Selection icon can be scaled and transformed to change the particle selection dynamically over the course of the particle flow. You can instance the Group Selection operator in different events to define the same selection subset. If the particles converge into another event, the selection subsets are united, and a Group Operator works with the combined selection subset. The Group Selection operator doesn't change particle properties. It adds a data channel that indicates the selection status of a particle corresponding to the selection operator. To modify particles based on their selection status, use a Group Operator or Split Group test. Group Selection icon Adding a Group Selection operator to a Particle Flow system creates a 3D icon, or helper, that you can select in viewports. The icon is placed at the world origin (0,0,0). When you select this icon, the Parameters rollout opens on the Modify panel that provides the controls described in the following section. The position of the icon is used by Particle Flow when you choose the Inside Icon Volume on page 3115 option. 3112 | Chapter 12 Space Warps and Particle Systems Group Selection icon Particle Flow | 3113 Interface 3114 | Chapter 12 Space Warps and Particle Systems Selection Update Choose how to calculate the selection status: ■ OnceThe operator determines the selection status only once, at the time a particle enters the event. ■ ContinuousCalculates the selection status anew at every frame. Depending on other options, the Group Selection operator may detect the selection status change in between frames, on sub-frame sampling basis. Reverse Selection Inverts the particle selection. Selection Condition Determines the method the operator uses to select particles. The choices are as follows: ■ Entire Particle StreamSelects all particles in the event. Use this option if particle selections are merging in the current event, and in a later event you plan to separate particles with an instanced Group Selection operator. ■ By SnapshotSelects particles based on those currently selected in the PF Source sub-object level, or all particles present in the event at the current frame. The number of selected particles appears next to By Snapshot. To select the particles, choose one of the following sources from the dropdown menu and then click Generate Snapshot: ■ Selected in PF SourceSelects the particles currently selected at the Particle sub-object level of the PF Source. Before using this option, make sure both of the PF Source object's Quantity Multiplier settings (Viewport % and Render %) are the same. ■ All in Current EventSelects all particles in the event at the current frame. ■ Generate SnapshotClick to select the particles as specified by the choice in the drop-down list. The number of selected particles appears next to By Snapshot. Once you have generated a snapshot, you can change the frame or sub-object particle selection without affecting the selection in this Group Selection operator. Keep in mind that the selection is based on the particle IDs. Therefore, if the number of particles in the viewport and the rendering are different, the overall effect can differ drastically. To use this type of selection effectively, synchronize the percentage of particles in the viewport and renderer. ■ Inside Icon Volume Displays the Group Selection icon in the viewports, and selects all particles within the icon. If Selection Update (see preceding) is set to Once, only particles that are inside the icon at the start of the event are selected. If Selection Update is set to Continuous, particles are Particle Flow | 3115 members of the group only when present inside the icon volume; thus, the selection can change throughout the animation. ■ Icon TypeSets the overall shape of the icon: Box, Cylinder, or Sphere. The initial size of the icon is set by the Icon Size parameter, near the bottom of the rollout. To change the icon size and shape, change this parameter or use either uniform and non-uniform scaling . You can also move, rotate, and animate the icon to change the selection area. ■ Subframe SamplingWhen off, the motion of the icon or the reference object is considered to be linear between frames. If the icon or the object has fast, complex motion, turn on this option for greater precision in the calculation of the icon/object location. NOTE This setting also applies to the Inside Object option (see following). ■ Inside ObjectLets you designate an arbitrary object as the volume for selecting particles for the group. After choosing this option, click the “None” button and then select a reference object to use as a selection bounding area. All particles inside the reference object are selected. If the object doesn't define a closed space, the resulting selection might not be consistent. NOTE The Subframe Sampling option (see preceding) applies to Inside Object as well as Inside Icon Volume. ■ ■ Animated ShapeIf the reference object is animated in a way that changes its shape or volume, turn on this option. Select By Particle PropertyUses particle properties to define the selection set. This choice appears in parentheses in the event, after the operator name. From the Property list, choose one of the following: ■ AgeUses particle age to define the subset. All particles with ages in the From/To range become selected. Use the Variation parameter to vary the selection status. ■ Birth IDUses a unique particle ID is used to define the subset. All particles with IDs in the From/To range become selected. Use the Variation parameter to vary the selection status. NOTE The Birth ID property is not scalable in reference to the Quantity Multiplier parameters of the PF Source object. 3116 | Chapter 12 Space Warps and Particle Systems ■ DirectionUses the particle speed vector and the icon direction vector to determine the selection subset. Particles are selected if their speed vectors are close in direction to the icon vector. When this option is selected, the icon shows an arrow with a surrounding cone to show the effects of the Divergence parameter. All particles with a speed vector within the cone become selected. The Divergence and Variation parameters are expressed in degrees. ■ ScaleUses particle scale value to define the selection subset. Since the scale value is a vector, and From and To values are scalar, the maximum value of the scale components is used to define the range inclusion. ■ Script FloatUses a particle float data channel to define the selection subset. The Float data channel is usually controlled by a Script operator. ■ SizeUses particle size to define the selection subset. Particle size is controlled by Shape and Scale operator parameters. As with the Scale option, the operator uses the maximum value of the size vectors components to define the range inclusion. ■ SpeedUses particle speed to define the selection subset. The From, To, and Variation parameters are defined in units per second. ■ Uniform IndexA scalable particle ID parameter. If the Quantity Multiplier is set to 100%, then the Uniform Index is the same as the Birth ID index. If the Uniform Index parameter is used, then the area with selected particles is consistent regardless of the Quantity Multiplier parameters. ■ Randomly SelectedSelects particles at random. The Chance % parameter defines how many particles will be selected. 100% means that all particles are selected; 50% means that roughly half of the particles are selected. ■ Combine GroupsSelects particles using a combination of the selection subsets defined by other Group Selection operators. Buttons A and B define the other Group Selection operators. The available combinations are: ■ A and BA particle is selected if it is selected by both operators A and B. ■ A or BA particle is selected if it is selected by operator A or operator B. ■ A or B not bothA particle is selected if it is selected by operator A but not by operator B, or vice-versa. ■ A and not Ba particle is selected if it is selected by operator A but not by operator B. Particle Flow | 3117 Icon Size Sets the size of the 3D icon. Available only for the selection conditions Inside Icon Volume and Select By Particle Property: Direction. Logo Size Sets the logo size, which has no effect on particles. Color Coordinated When on, the color of the 3D icon is synchronized with the Display operator in the current event. When off, the icon has a standard Particle Flow operator color (blue). Uniqueness Group These controls set randomization for the Randomly Selected and Select By Particle Property selection conditions. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Split Group Test Particle View on page 3049 ➤ Click Split Group in an event or add a Split Group test to the particle system and then click it. The Split Group test splits the particle stream based on the particles’ selection status, as defined by a Group Selection operator on page 3112. 3118 | Chapter 12 Space Warps and Particle Systems Interface Group Selection Operators Lists the Group Selection operators holding the particle selection to split. If a single Group Selection operator exists in the event, that operator will be added to the list automatically. Use Proxy Particles When on, you can split the particles based on their selection status in a particle system other than the one that contains the Split Group test. Proxy Particle System To specify a proxy particle system, click this button and then select the proxy’s icon. If the current event contains particles that meet the “Test True if Particle” condition (see following) as specified by a Group Selection operator on page 3112 in the proxy system, Particle Flow will send those particles to the next event. Proxy Index --> Particle Index ■ MultiplierApplies a multiplier for index values of particles in the proxy system. So, for example, if Multiplier is set to 2.0 and the particles that test true in the proxy system have index values 4, 5, and 8, then the particles that actually get split off will be those with index values 8, 10, and 16. Particle Flow | 3119 ■ Index OffsetAdds the specified value to index values of particles in the proxy system. So, for example, if Index Offset is set to 5 and the particles that test true in the proxy system have index values 4, 5, and 8, then the particles that actually get split off will be those with index values 9, 10, and 13. Test True if Particle Lets you specify how to determine whether particles should pass the test and move on to the next event. The choices are: ■ Selected In All GroupsOnly particles that belong to all listed groups can pass the test. ■ Selected In Any GroupParticles that belong to any listed group can pass the test. ■ Selected In Single GroupOnly particles that belong to only one listed group can pass the test. ■ Not Selected In Any GroupOnly particles that belong to none of the listed groups can pass the test. Transforms Transform operators control particle position, rotation, scale, and angular velocity. See also: ■ Lock/Bond Test on page 3296 ■ Placement Paint Operator on page 3258 Position Icon Operator Particle View on page 3049 ➤ Click Position in an event or add a Position operator to the particle system and then select it. By default, particles are born, or emitted, from the Particle Flow icon. This topic uses the term emitter to refer to this icon. Use the Position Icon operator to control the initial placement of particles on the emitter. You can set the emitter to emit particles from its surface, volume, edges, vertices, or center. And, if you animate the emitter, you can cause its motion to be imparted to the particles it emits. 3120 | Chapter 12 Space Warps and Particle Systems Alternatively, you can use Position Object on page 3123 to emit particles from any other object. Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Lock On Emitter When on, causes all particles to remain at their initial positions on the emitter. In effect, they're “glued” to the emitter. When off, each particle's birth position is determined by the emitter's current location. Default=off. Inherit Emitter Movement When on, Particle Flow sets each particle's rate and direction of motion to that of the emitter at the time of birth. When off, the emitter movement doesn't affect that of the particles. Available only when Lock On Emitter is off. Default=off. NOTE If a Speed operator exists later in the event, it overrides any motion imparted by Inherit Emitter Movement. Multiplier Determines, as a percentage, the extent to which particles inherit the emitter's motion. Available only when Inherit Emitter Movement is on. Default=100. Particle Flow | 3121 To have the particles move half as fast as the emitter, set Multiplier to 50. To have them move the same speed, use the default setting of 100. To make the particles move twice as fast as the emitter, set Multiplier to 200. Location group The Location drop-down list lets you specify where on the emitter the particles appear. You can create a variety of emission behaviors by varying the icon type on page 3072, Location setting, and direction of emission. Default=Volume. ■ PivotEmits particles from the center of the icon. ■ VerticesFor the Box and Rectangle icon types, emits particles from the corners of the icon. For the Sphere icon type, emits particles from the six intersections of the three circles that define the sphere. For the Circle icon type, emits particles from the center. ■ EdgesEmits particles from random points along the edges of the icon. ■ SurfaceEmits particles from random points on the surface of the icon. ■ VolumeEmits particles from random points within the volume of the icon. Distinct Points Only Limits emission to a specific number of points (see Total, below) on the specified Location type. Emission points are still randomized; change the Uniqueness setting to alter these. Total Sets the number of emission points. Available only when Distinct Points Only is on. Default=10. _____ Subframe Sampling When on, the operator acquires animation of the emitter icon on a tick basis (every 1/4800th of a second) rather than a frame basis. This provides greater precision in allowing the particle positions to follow animation of the emitter icon. Default=off. Uniqueness group The Uniqueness setting lets you alter the randomization of emission points. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. 3122 | Chapter 12 Space Warps and Particle Systems Position Object Operator Particle View on page 3049 ➤ Click Position Object in an event or add a Position Object operator to the particle system and then select it. By default, particles are born, or emitted, from the Particle Flow icon. The Position Object operator lets you emit particles from any other object or objects in the scene instead. This topic uses the term emitter to refer to an object or objects used to emit particles with this operator. For example, use it to create a meteor's fiery trail. Use the Position Object settings to control the initial placement of particles on the emitter. You can set the emitter to emit particles from its surface, volume, edges, vertices, or pivot, or from a sub-object selection. You can also control particle emission with a material applied to the object. Alternatively, you can use the Position Icon operator on page 3120 to emit particles from the Particle Flow icon. NOTE Typically, you would use Position Object in a birth event, so the particles appear initially at the emitter object(s). If you use it in a non-birth event, the particles jump to the designated emitter(s) upon entering the event. This could be useful for a teleportation effect. TIP The default speed operator, Speed on page 3141, typically uses the Particle Flow icon to control the direction of the particle flow, so if the emitter object(s) and the icon aren't coincident and aligned, you might get unexpected results. For better control over the direction of particle movement when using Position Object, use the Speed By Surface operator on page 3156 instead and designate as Surface Geometry the same object(s) as with Position Object. Procedures To use Position Object: 1 Create a Particle Flow system and one or more mesh objects to use as emitters. Animate the emitter objects and set particle system parameters as necessary. 2 In Particle View, add a Position Object operator to the birth event, replacing the Position Icon operator if one exists. Click the operator to display its parameters. Particle Flow | 3123 3 In the Emitter Objects group, click Add, and then select an object to serve as the emitter. Alternatively, click By List and then use the Select Emitter Objects dialog to designate one or more objects as emitters. 4 Use the Location drop-down list to choose where the particles should appear on the emitter: surface, vertices, and so forth. 5 Set other options as necessary. For example, if you want the particles to use the same motion as the emitter at the time of emission, turn on Inherit Emitter Movement. Or if you're using an emitter object whose shape is animated, turn on Animated Shape. 3124 | Chapter 12 Space Warps and Particle Systems Interface Particle Flow | 3125 The user interface appears in the parameters panel, on the right side of the Particle View dialog. Lock On Emitter When on, causes all particles to remain at their initial positions on the emitter. In effect, they're “glued” to the emitter. When off, each particle's birth position is determined by the emitter's current location. Default=off. Inherit Emitter Movement When on, Particle Flow sets each particle's speed and direction of motion to those of the emitter at the time of birth. When off, the emitter movement doesn't affect that of the particles. Available only when Lock On Emitter is off. Default=off. NOTE If a Speed operator exists later in the event, it overrides any motion imparted by Inherit Emitter Movement. Multiplier Determines, as a percentage, the extent to which particles inherit the emitter's motion. Available only when Inherit Emitter Movement is on. Default=100. To have the particles move half as fast as the emitter, set Multiplier to 50. To have them move the same speed, use the default setting of 100. To make the particles move twice as fast as the emitter, set Multiplier to 200. Variation Determines, as a percentage, the extent to which inherited emitter motion can vary per particle. To determine the final multiplier for each particle, the Variation value is multiplied by a random number between -1.0 and 1.0, and then added to the Multiplier value. Default=0. Emitter Objects group Use these controls to assign objects to be used as particle emitters. The list in this group shows the objects, or reference geometry, that the operator uses as emitters. If you don't assign any objects, Particle Flow uses the world origin (0,0,0) as the emitter source. With more than one emitter object, the division of particles among the objects depends on which option you choose for Location. If you set Location to Pivot, then each object has one emission point and each object emits the same number of particles (total number of particles/number of objects). But if you set Location to any other option, each object emits a number of particles proportionate to the number of available emission points per object. For instance, if you set Location to Volume, then a larger object will emit more particles than a smaller one. Similarly, with Location set to Vertices, an object with 100 vertices will emit twice as many particles as an object with 50. 3126 | Chapter 12 Space Warps and Particle Systems If you delete from the scene an object designated as an emitter, its entry in the list is replaced with “ ”. Use the Add and Remove buttons to edit this list. Add Adds an object to the list. Click Add, and then click an object in the viewport. By List Adds multiple objects to the list. Click By List to open the Select Emitter Objects dialog. This works just like Select From Scene on page 184: Highlight the objects to use as emitters, and then click the Select button. Remove Removes an object from the list. Highlight the object in the list, and then click Remove. Animated Shape Turn on to allow particles to emit from the surface of an object whose form is animated by morphing or with modifiers. Subframe Sampling When on, the operator acquires animation of the emitter shape on a tick basis (every 1/4800th of a second) rather than a frame basis. This provides greater precision in allowing the particle positions to follow animation of the emitter object's form. Location group The Location drop-down list lets you specify where on each emitter the particles appear. This choice applies to all emitter objects. Default=Surface. The Selected Vertices/Edges/Faces options in this list let you emit particles from a specific part of the emitter object by using an existing sub-object selection. To create this selection, first convert the object to an editable mesh or poly, or apply a Mesh Select or Poly Select modifier (or equivalent), select the sub-objects that are to emit particles, and then choose the corresponding Location option. If Particle Flow doesn't find a sub-object selection, it uses all sub-objects of the indicated type. Pivot Emits particles from the original position of the emitter object's pivot. Moving the pivot does not affect this option. Vertices Emits particles from randomly selected vertices of the emitter objects. Edges Emits particles from random points along the edge sub-objects of the emitter objects. Surface Emits particles from random points on the surface of the icon. Volume Emits particles from random points within the volume of the icon. Selected Vertices Emits particles from the current vertex sub-object selection. Particle Flow | 3127 Selected Edges Emits particles from the current edge sub-object selection. Selected Faces Emits particles from the current face or polygon sub-object selection. _____ You can modify the Location choice with any combination of the following: Surface Offset Lets you specify a range of distances from the object surface for particle placement. Surface Offset is unavailable when Location is set to Pivot or Volume. Use the Min and Max parameters to set the range. NOTE Negative values offset the particles below the surface. Min/Max When Surface Offset is on, these let you specify the range of offset distances from the object surface. The Min value cannot exceed the Max value, and vice-versa. If you try to raise Min above Max, or lower Max below Min, both values change equally. Density by Material Varies emission over the emitter surface based on properties of the material applied to the emitter. For example, if the object is assigned a black-and-white checkered diffuse map and you choose the Grayscale option, particles are emitted only from the white checks. IMPORTANT For material-influenced emission to appear properly in the viewports, two conditions are required: ■ At least one viewport must be set to a shaded display mode. ■ The material or map must have Show Map In Viewport turned on in the Material Editor. The options are as follows: ■ GrayscaleParticle Flow internally converts the material-based coloring (diffuse) to grayscale, and then emits more particles in lighter areas and fewer in darker areas. 3128 | Chapter 12 Space Warps and Particle Systems The box emitter is mapped with a gradient. With Position Object set to Density By Material ➤ Grayscale, the particles appear with greater frequency in the lighter areas of the box. ■ OpacityParticles are more likely to appear on opaque areas than on transparent areas. ■ Grayscale & OpacityCombines the two: More particles appear on light, opaque areas than on dark, transparent areas. ■ Red/Green/BlueConsiders only the specified color channel. The higher its value at any given pixel, the more likely particles are to appear there. Use Sub-Material When on, uses a sub-material from the Multi/Sub-Object material assigned to the emitter to define density values. This option allows usage of “invisible” materials for particle placement. If the emitter uses a Multi/Sub-Object material but its geometry doesn't use the ID Particle Flow | 3129 that corresponds to one of the sub-materials, the sub-material doesn't appear. However, the operator can use it to calculate the density of particle placement. Particle Flow assumes the material to be applied to the entire object surface. Mtl ID Specifies the material ID of the sub-material to be used for particle emission. Separation When on, Particle Flow attempts to keep the particles apart by the amount specified in Distance. The likelihood of successfully separating particles depends on the number of particles, the specified distance, and the Attempts Max value. Distance Specifies the distance, in system units, by which Particle Flow should try to keep the particles separate. Default=1.0. Distinct Points Only Limits emission to a specific number of points (see Total, below) on the specified Location type. Emission points are still randomized; change the Uniqueness setting to alter these. Total Sets the number of emission points. Available only when Distinct Points Only is on. Default=10. If Location Is Invalid group Delete Particles When on, if Particle Flow cannot place a particle according to the current option, it deletes the particle. When off, particle placement is undefined; that is, it depends on other variables. Default=off. If the number of particles is more important than the position on the object, leave this off. However, if exact placement is of higher priority than the number of particles, turn Delete Particles on. Uniqueness group The Uniqueness setting enables randomization of placement on the emitters. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Attempts Max When using the Separation option, this specifies the maximum number of times Particle Flow will try to set particle positions that maintain the requested distance. If unsuccessful within this number of attempts, particles might be closer together than the requested distance. Also affects placement with Density By Material using either of the Grayscale options. 3130 | Chapter 12 Space Warps and Particle Systems Rotation Operator Particle View on page 3049 ➤ Click a Rotation operator in an event or add a Rotation operator to the particle system and then select it. The Rotation operator lets you set and animate particle orientation during an event, with optional random variation. You can apply orientation in any of five different matrices: two random and three explicit. For some options you can set a degree of random variation or divergence from the specified orientation. To cause particles to spin, use the Spin operator on page 3133. Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Particle Flow | 3131 Orientation Matrix group Orientation drop-down list The Orientation Matrix drop-down list includes options that give particles random orientations, or let you specify orientation in any of three different ways. Default=Random 3D. ■ Random 3DGives each particle an arbitrary, random 3D orientation. ■ Random HorizontalGives each particle an arbitrary, random 3D orientation about the Z axis only. Rotation about the X and Y axes doesn't change (unless Divergence is used), so the particles remain vertical. ■ World SpaceOrientation is specified in the world coordinate space. Use the X/Y/Z settings to specify the orientation for all particles. ■ Speed SpaceThe coordinate space for particle orientation is determined by the particles' direction upon entering the event. By default, using the Speed operator on page 3141 ➤ Along Icon Arrow option, particles are aimed straight down when born. Use the X/Y/Z settings to specify the orientation for all particles. ■ Speed Space FollowThe coordinate space for particle orientation is determined continually while the particles are in the event. Thus, by default, particles constantly reorient themselves to “aim” in the direction they're traveling. For example, if you add a Find Target test on page 3280 to the end of the default Event 01, move the target sideways, and set Rotation to Speed Space Follow, the particles start out pointing straight down, as oriented by the Speed operator, and then gradually reorient themselves to point in the direction they're traveling: toward the target. Use the X/Y/Z settings to specify the orientation for all particles. The Divergence setting is unavailable when using Speed Space Follow. X/Y/Z Set the basic orientation about the particles' local axes. Unavailable with the Random 3D and Random Horizontal options. Divergence Defines the range of variation (in degrees) for particle orientation. The actual deviation is calculated at random within this range. Unavailable with the Random 3D or Speed Space Follow option. Default=0.0. Restrict Diverg[ence] To Axis When on, lets you use the Divergence Axis controls to set the axis to which divergence will be applied. When off, Particle Flow uses a random axis for each particle. Unavailable with the Random 3D or Speed Space Follow option. Default=off. 3132 | Chapter 12 Space Warps and Particle Systems Divergence Axis Use the X/Y/Z settings to set the axis to which divergence will be applied. Default=1,0,0. Range=–1.0 to 1.0. To specify one of the world axes, set the corresponding parameter to any nonzero value, and the others to 0. A negative value flips the axis. The numeric values come into play when you want to use an axis that's not aligned with the X, Y, or Z axis. In that case, you specify multiple nonzero values whose effect is relative to one another. For example, if you want the axis to be oriented halfway between the positive X and Y axes, you would set X and Y to the same positive amount. The actual value doesn't matter. Similarly, to set the axis to 30 degrees (1/3 of the angle) from the X axis to the Y axis, you'd set the Y value to twice that of the X value. For example, X=0.2 and Y=0.4, or X=0.5 and Y=1.0. Uniqueness group The Uniqueness setting affects the randomization of orientation with the Random 3D and Random Horizontal options, and also Divergence. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Spin Operator Particle View on page 3049 ➤ Click a Spin operator in an event or add a Spin operator to the particle system and then select it. The Spin operator gives an angular velocity to particles in an event, with optional random variation. Spin is applied once per event per particle, except when using the Speed Space Follow option; however, the settings can be animated. To simply specify particle orientation, use the Rotation operator on page 3131. Particle Flow | 3133 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Spin Rate The rate of revolution in degrees per second. Variation The maximum amount, in degrees per second, by which the spin rate can vary. The actual variation is calculated once, at random, for each particle. Spin Axis group Spin Axis drop-down list The Spin Axis setting includes options that let you apply the spin on a random or specific axis, with optional random variation of the spin axis. Default=Random 3D. ■ Random 3DSpins each particle about an arbitrary, random 3D axis. ■ World SpaceThe spin axis is specified in the world coordinate space. Use the X/Y/Z settings to specify the spin axis. ■ Particle SpaceThe spin axis is specified in the local coordinate space of each particle. Use the X/Y/Z settings to specify the spin axis. ■ Speed SpaceThe coordinate space for particle orientation is determined by the particles' direction upon entering the event. 3134 | Chapter 12 Space Warps and Particle Systems The X axis is aligned with the particle direction, while the Z axis is perpendicular to the X axis and is pointed upward with respect to world space as much as possible. Use the X/Y/Z settings to specify the orientation for all particles. ■ Speed Space FollowThe coordinate space for particle orientation is determined by the particles' direction throughout the event. Use this option to allow particles that change direction during the event to keep the spin axis aligned with their direction. The X axis is aligned with the particle direction, while the Z axis is perpendicular to the X axis and is pointed upward with respect to world space as much as possible. Use the X/Y/Z settings to specify the orientation for all particles. X/Y/Z Use these to set the spin axis. Unavailable for the Random 3D option. Default=0,0,1. Range=–1.0 to 1.0. To specify a single axis, set the corresponding parameter to any nonzero value, and the others to 0. A negative value flips the axis, and reverses the direction of rotation. The numeric values come into play when you give more than one axis a nonzero value, in which case their effect is relative to one another. For example, if you want the spin axis to be oriented halfway between the positive X and Y axes, you would set X and Y to the same positive amount. The actual value doesn't matter. Similarly, to set the spin axis to 30 degrees (1/3 of the angle) from the X axis to the Y axis, you'd set the Y value to twice that of the X value. For example, X=0.2 and Y=0.4, or X=0.5 and Y=1.0. Divergence Defines the range of variation (in degrees) for spin-axis orientation. The actual deviation is calculated at random within this range. Unavailable for the Random 3D option. Default=0. Range=0 to 180. Uniqueness group The Uniqueness setting affects the randomization of spin rate variation, spin axis with the Random 3D option, and Divergence with the other options. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Scale Operator Particle View on page 3049 ➤ Click a Scale operator in an event or add a Scale operator to the particle system and then select it. Particle Flow | 3135 The Scale operator lets you set and animate particle size during an event, with optional random variation. Options for how scaling and animation are applied give this operator a great deal of flexibility. Procedures Example: To animate particle scale: This procedure gives an overview of animating particles to grow for 30 frames, remain at full size for the next 30 frames, and then shrink for 30 frames. It also gives an option for having the particles pulsate in size during the middle period. To follow this procedure, you should be familiar with the basic usage of Particle Flow and Track View. 1 Set up a default Particle Flow system. Set the Shape operator to Sphere, and set the Display operator to Geometry. 2 Add a Send Out test to Event 01. 3 Add a new Scale operator to the event display, creating a new event. Set the new event's Display operator to Geometry, and make sure it's a different color than the one in Event 01. 4 Wire the Send Out test in Event 01 to Event 02. 5 In the Event 02 ➤ Scale operator, set Type to Absolute, and animate the Scale Factor values from 10 to 100 over frames 0 to 30. In the Animation Offset Keying group, set Sync By to Event Duration. 6 Add an Age Test to Event 02. Set it to Event Age, set Test Value to 30, and Variation to 0. In this event, particles grow from 10 percent of their original size to full size over the first 30 frames of their existence, which is the same as their duration in the event. At that point, they'll be eligible to move to the next event. 7 Use a new Scale operator to create a new event, Event 03. Set the new event's Display operator to Geometry, and make sure it's a different color than the others. 8 Wire the Age Test in Event 02 to Event 03. 9 In the Event 03 ➤ Scale operator, Set Type to Absolute, and in the Animation Offset Keying group, set Sync By to Event Duration. 10 Copy and paste the Age Test as an instance from Event 02 to Event 03. 3136 | Chapter 12 Space Warps and Particle Systems Particles in Event 03 remain at full scale for 30 frames, and then move on to the next event. 11 Use a new Scale operator to create a new event: Event 04. Set the new event's Display operator to Geometry, and make sure it's a different color than the others. 12 Wire the Age Test in Event 03 to Event 04. 13 In the Event 04 ➤ Scale operator, set Type to Absolute, and animate the Scale Factor values from 100 to 10 over frames 0 to 30. In the Animation Offset Keying group, set Sync By to Event Duration. 14 Copy and paste the Age Test as an instance from Event 03 to Event 04. In this event, particles shrink from full size to 10 percent of their original size over 30 frames. 15 Play the animation. Next, you'll use a Noise controller to cause the particles in Event 03 to pulsate in size. 16 Add a second Scale operator to Event 03, below the existing Scale operator. Set it to Relative Successive, and set Sync By to Event Duration. The name of this operator should be Scale 04. 17 In Particle view, right-click the Scale Factor X % parameter field on the Scale 04 rollout, and choose Show In Track View. The Curve Editor opens with the X Scale Factor parameter highlighted. 18 Right-click the X Scale Factor item and choose Assign Controller from the menu. 19 In the Assign Float Controller dialog, double-click Noise Float. The Noise Controller dialog opens. 20 Set Strength to 200, and to the right of Strength, turn on the >0 check box. 21 Copy this controller, and then paste it as instances to Y Scale Factor and Z Scale Factor. Although the Scale operator defaults to constraining all scale factors to the same value, thus scaling particles uniformly, changing controllers in Track View works on a per-parameter basis. 22 Play the animation. Particle Flow | 3137 This time, the particles grow in size for 30 frames, then pulsate in size for the next 30 frames, and then shrink from the size at the end of Event 03 to 10 percent of that over the next 30 frames. Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Type The scaling Type setting includes options that let you scale particles once in an event or repeatedly, and apply scaling as an absolute or relative factor. Default=Overwrite Once. Overwrite Once Sets the scale one time only as an absolute percentage value, disregarding any previous scaling. 3138 | Chapter 12 Space Warps and Particle Systems To produce a range of different birth sizes, and specify the scaling explicitly, use Overwrite Once with animated scale factors. Inherit Once Sets the scale one time only as a percentage of existing scaling. The existing scaling should be specified with a previous Scale operator, the Scale setting in the Shape operator on page 3171, or a Shape Instance operator on page 3176. For instance, if you previously used Scale with Overwrite Once to scale particles' birth size within a range, and then want to scale them to half their previous size, use Inherit Once and set Scale Factor to 50%. Absolute Sets the scale continuously, while the particle is in the event, as an absolute percentage value, disregarding any previous scaling. Use Absolute if you want to animate the particles' scale explicitly. Relative First Sets the scale continuously, while the particle is in the event, as a percentage of existing scaling. The existing scaling should be specified with a previous Scale operator, or a Shape Instance. Use Relative First when you want to scale the particles relative to the scaling at which they enter the event, and optionally animate the scaling, or before a Relative Successive operator. Relative Successive Scales the particles continuously, relative to scaling set earlier in the same event. NOTE Always precede Relative Successive in the same event with an operator that modifies the scale channel all the time, such as a Scale operator set to Absolute or Relative First, or a Shape Instance operator with the Scale check box turned on (it's on by default). Scale Factor group The operator performs scaling on each particle's local axes. It can scale particles on a single axis or on any combination of axes. X/Y/Z Sets the scaling as a percentage of the particle's current size. To scale uniformly, turn on Constrain Proportions, and then change any axis setting. Range=0 to 10000000. Default=100. Constrain Proportions When on, retains the current ratio of scale factor settings, so that changing any axis setting changes all of them. Default=on. Particle Flow | 3139 Scale Variation group X/Y/Z Sets the scaling variation as a percentage of the particle's previous size. To scale uniformly, turn on Constrain Proportions, and then change any axis setting. Range=0 to 100. Default=0. Constrain Proportions When on, retains the current ratio of scale variation settings, so that changing any axis setting changes all of them. Default=on. Bias Lets you choose how to distribute the scaling variation within the specified range or ranges. Default=None. ■ NoneNo bias; scaling variation is distributed equally through the range. ■ CenteredScaling variation is concentrated near the middle of the range; that is, at 0.0%. With this choice, scaling will occur more frequently with low percentage values than with ones near the values you set. In other words, most scaling variants will be close to the specified scaling value. ■ Towards MinimumScaling variation is concentrated near the lower end of the range (base-variation); that is, most scaling variants will be smaller than the scaling value. ■ Towards MaximumScaling variation is concentrated near the upper end of the range (base+variation); that is, most scaling variants will be larger than the scaling value. Animation Offset Keying group If you animate the Scale Factor or the Scale Variation settings or both, Particle Flow can begin applying this animation to all particles as of the start frame of the animation or the first frame of the current event, or to each particle based on its age. For instance, if you set Sync By to Particle Age, and set Scale Factor keys at frames 0 and 30, then Particle Flow will animate the scaling factor for each particle between its birth and its 30th frame of existence, if the particle is in the scaling event or a prior event. Following this example, any particle that has already reached its 30th frame of existence before reaching the event will enter the event fully scaled. That is, Particle Flow will apply the Scale Factor value that you set at frame 30 to each particle aged 30 or above at the moment it enters the scaling event. However, any particle that leaves the scaling event before reaching age 30 will stop scaling as of its exit frame. In other words, with respect to particles in other events, animation of action parameters is retroactive, but not post-active. Alternatively, if you set Sync By to Absolute Time, the scaling is animated from frame 0 to frame 30 of the animation, regardless of particle age, and even 3140 | Chapter 12 Space Warps and Particle Systems if no particles are in the event at that time. Or, if you set Sync By to Event Duration, the scaling animation is applied to each particle as of the time that it enters the event. NOTE With the Overwrite Once and Inherit Once scaling types, scaling always occurs with respect to the entire animation; that is, in Absolute Time mode. Thus, when either of those scaling types is in effect, the Sync By setting is unavailable. Also, if you animate Scale Factor or Scale Variation when using Overwrite Once or Inherit Once, it doesn't cause scaling animation in the particles, but rather applies one-time scaling to particles born during that period. For instance, if you animate Scale Factor on all three axes from 100% to 200% over frames 0 to 30, particles born at frame 0 are normal size, particles born at frame 15 are one-and-one-half times normal size, and particles born at frame 30 (and thereafter) are twice normal size. Sync By Choose the time frame for applying animated parameters: ■ Absolute TimeAny keys set for parameters are applied at the actual frames for which they're set. ■ Particle AgeAny keys set for parameters are applied at the corresponding frames of each particle's existence. ■ Event DurationAny keys set for parameters are applied to each particle starting when it first enters the event. Uniqueness group The Uniqueness setting affects the randomization of scale variation. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Speed Speed operators control particle speed, direction, and some other aspects of particle movement. Speed Operator Particle View on page 3049 ➤ Click Speed in an event or add a Speed operator to the particle system and then select it. Particle Flow | 3141 This is the default Speed operator, which appears in the first event when you create a new Particle Flow icon. It provides basic controls over particle speed and direction. Directional controls provided by the Speed operator are based on the position and orientation of the Particle Flow icon. For best results when using other objects as emitters, use the Speed By Surface Operator on page 3156 operator instead. See also: ■ Speed By Icon Operator on page 3146 ■ Keep Apart Operator on page 3165 Procedures Example: To change particles' speed: The Speed operator works on an instantaneous basis: It sets each particle's speed once only, when it enters the event. Even if you animate the Speed value, each particle moves at a constant rate of speed, defined by the value at the time it enters the event. This procedure demonstrates a trick you can use to change particle speed with an animated Speed value, thanks to Particle Flow's looping ability. 1 Create a default particle system, and position it at the top of the Perspective viewport. 2 Play the animation. The particles fall downward at the default rate: 300 units per second. 3 Add a Send Out test at the bottom of Event 01. 4 Add a Speed operator to an empty area of the event display. This creates a new event. 5 Turn on (Auto Key), and move the time slider to frame 30. 6 In Particle View, click the new Speed 02 operator, and then in the Particle View parameters panel, set Speed to 0. This animates the Speed value from 300 at frame 0 to 0 at frame 30. 3142 | Chapter 12 Space Warps and Particle Systems 7 Turn off (Auto Key). 8 Wire the Send Out test in Event 01 to Event 02. 9 Play the animation. The particles born later move slower, but all still move at a constant rate of speed. 10 Add a Send Out test at the end of Event 02. 11 Create a new event using an Age Test. Click the Age Test to display its parameters, and then set the following: ■ Event Age ■ Test Value=1 ■ Variation=0 12 Wire the Send Out test in Event 02 to Event 03. 13 Wire the Age Test in Event 03 to Event 02. 14 Play the animation. All the particles slow down simultaneously and eventually come to a stop. Here's how it works: As each particle enters Event 02, its speed is set to the current Speed value in the Speed operator. Particle Flow then sends the particle immediately to Event 03, where it sits for one frame. Event 03 then returns the particle to Event 02, whose Speed value is now lower. Particle Flow perceives the returned particle as newly entering the event, so it changes its speed to the current Speed value. Thus, the particles continually return to Event 02 one frame later than before, and are assigned a progressively lower speed. If you wanted the particles to do something else after they stop, you could add a Speed Test to Event 02, above the Send Out test, set Test True If Particle Value to Is Less Than Test Value, and set Test Value to a very low value, such as 0.01. Then wire the Speed Test to a different event. Particle Flow | 3143 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Speed The particle speed in system units per second. Default=300. A positive Speed value moves the particles in the direction determined by the Direction setting; a negative Speed value moves the particles in the opposite direction. NOTE Speed sets each particle's speed once only: when the particle enters the event (or is born, in the case of a birth event). If you animate the Speed value, particle speed does not vary: rather, each particle is given a constant speed equal to the current Speed value when it enters the event. Variation The amount by which particle speed can vary, in system units per second. Default=0.0. To obtain each particle's speed, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then adds the result to the Speed value. For example, if Speed=300 and Variation=100, then each particle's speed would be between 200 and 400. Direction group The Direction drop-down list lets you specify which way the particles go after they're born. Default=Along Icon Arrow. In most cases, the actual direction also depends on the icon orientation. The primary exception is when Position ➤ Location is set to Pivot. 3144 | Chapter 12 Space Warps and Particle Systems Particle movement is always in a straight line unless influenced by other factors. Along Icon Arrow Particles move parallel to the icon arrow. Rotate the icon to change the direction. Icon Center Out Each particle moves along an imaginary line drawn between the particle's location and the icon center. With the flat icon types (Rectangle and Circle), this results in all the particles moving in one plane, unless you increase Divergence above 0.0. With icons that have height (Box and Sphere), the particles move outward in three dimensions. Particles at the center, as is the case when the Position operator's Location parameter is set to Pivot, arbitrarily move along the world X axis. Icon Arrow Out Each particle moves along an imaginary line drawn between the particle's location and the icon arrow. The line is perpendicular to the icon arrow, which is considered an infinite line for this purpose. With the flat icon types (Rectangle and Circle), this results in all the particles moving in one plane, unless you increase Divergence above 0.0. With icons that have height (Box and Sphere), the particles move outward in a cylindrical formation. Random 3D Particles move in all directions. This option is affected by the Uniqueness setting. Random Horizontal Each particle moves in a random horizontal direction; that is, parallel to the world XY plane. This option is affected by the Uniqueness setting. Inherit Previous Uses the current direction of motion. If you choose Inherit Previous but no direction was previously specified, the speed and direction are undefined; the particles don't move. Reverse When on, the direction is reversed. Default=off. Using Reverse is the equivalent of multiplying the Speed value by -1. This option is unavailable if Random 3D or Random Horizontal is chosen. Divergence When on, spreads out the particle stream. Use the numeric setting to define the extent of the divergence, in degrees. Range=0 to 180. Default=0. The value can be animated. This option is unavailable if Random 3D is chosen. Particle Flow | 3145 TIP For a fountain-like spray, set Position ➤ Location to Pivot, set Direction to Along Icon Arrow, set Divergence to the desired angle, and rotate the icon so its arrow points upward. Uniqueness group The Uniqueness setting enables randomization of speed variation, and randomization of direction with the Random 3D and Random Horizontal options. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Speed By Icon Operator Particle View on page 3049 ➤ Click Speed By Icon in an event or add a Speed By Icon operator to the particle system and then select it. Click a Speed By Icon operator icon in the viewport ➤ Create panel ➤ Modify panel (Helpers) ➤ Particle Flow ➤ SpeedByIcon The Speed By Icon operator lets you use a special, non-rendering icon to control particle speed and direction. Speed By Icon operator icon 3146 | Chapter 12 Space Warps and Particle Systems When you add a Speed By Icon operator to the particle system in Particle View on page 3049, the Speed By Icon operator icon icon, or helper, appears in the scene at the world origin (0,0,0). When animated, the operator icon's motion is imparted to the particles. If you delete the icon, Particle Flow also deletes the operator. NOTE If you add Speed By Icon from the Create panel, Particle Flow creates a separate event for the operator in the particle diagram. WARNING If you delete a Speed By Icon operator icon in the viewport, you also delete the corresponding operator in the Particle Flow system. See also: ■ Speed Operator on page 3141 ■ Speed By Surface Operator on page 3156 ■ Keep Apart Operator on page 3165 Procedures To use the Speed By Icon operator: 1 Add a Speed By Icon operator to an event. Be sure to add it after any existing Speed operators in the event. Alternatively, delete or turn off any existing Speed operators. The Speed By Icon operator icon appears at the world origin (0,0,0). 2 Animate the icon as you would any object. You can do this manually, or with a controller such as Path Constraint. See the following procedure for an example of this. The particles' motion is now under the influence of the animated icon. 3 Set the Speed By Icon parameters. With the icon selected, you can do this in the Modify panel. In general, the default Icon Animation ➤ Sync By setting, Event Duration, works best. It causes the icon animation to be applied to the particles within the time frame of the event containing the Speed By Icon operator. Particle Flow | 3147 Example: To send particles along a path: 1 Reset 3ds Max, and then add a Particle Flow system in the Perspective viewport. 2 On the Create panel, click Shapes. Choose Splines, then on the Object Type rollout, click Helix. In the Perspective viewport, at the center of the grid, create a helix shape. Then, on the Parameters rollout, set the following: ■ Radius 1=100 ■ Radius 2=20 ■ Height=20 ■ Turns=3 ■ Bias=0 This will serve as the particle path. 3 Move and rotate the Particle Flow source icon so that it's at the start of the helical path, and aimed along the path, as shown. Get the base of the arrow as close as possible to the start of the path. 3148 | Chapter 12 Space Warps and Particle Systems 4 Open Particle View (press 6). 5 In Event 01, click the Position Icon operator and set Location to Pivot. This causes the particles to be emitted in a thin stream. 6 Insert a Speed By Icon operator at the end of Event 01. The operator icon appears at the world origin. 7 Select the operator icon, and then, from the Animation menu, choose Position Controllers ➤ Path Constraint on page 3629. When you move the mouse cursor into the viewport, a rubber-band line joins the cursor to the icon. 8 Click the Helix object. The command panel switches to the Motion tab, and the controls indicate that 3ds Max has applied a Position List controller to the icon, Particle Flow | 3149 with the listed controllers being a Position XYZ and a Path Constraint. You can delete the former if you like, but it doesn't make any difference for the purposes of this procedure. 9 Close Particle View, and then drag the time slider back and forth between its extents a few times. TIP The best way to view the results is from the Top viewport. The particles follow the path fairly closely, but diverge noticeably at the end of the path, where the turns are tightest. Correcting divergence in tight turns typically requires an increase in the acceleration limit. The particle stream diverges from the path at its endpoint. 10 Stop at frame 100. This will let you see the results of changing the Speed By Icon parameters as you make the changes. 11 Go to the operator icon. Modify panel. If necessary, select the Speed By Icon 3150 | Chapter 12 Space Warps and Particle Systems The operator parameters appear on the Modify panel. This is the case with any action that uses a unique icon, and lets you adjust the parameters without using Particle View. 12 On the Parameters rollout, use the Accel Limit spinner to slowly increase the value as you observe the changes to the particle path. As you approach a value of 150, the end of the particle path comes closer and closer to the Helix. You shouldn't see much change above 150. The endpoints now coincide. 13 Drag the time slider again. The particle path remains similar to that of the Helix for the entire duration of the animation. With other setups, you might need to use different values for Influence %, and for paths with tight twists and turns, you might need to increase Accel Limit as well. You might be wondering why you didn't simply replace the default Speed operator with the Speed By Icon operator. To see why not, try this: 14 Go to frame 100, open Particle View, and click the Speed 01 operator's icon to turn it off. Play the animation. The entire particle path is offset from the Helix, so it's difficult to tell how closely it follows the latter's curves. Particle Flow | 3151 15 Try adjusting the Speed By Icon's Accel Limit and Influence % setting to get the particles to follow the helical path more closely. It's not easy. You get more reliable results using the Speed operator to set the initial speed, and then Speed By Icon to set the particle path. To use the Use Icon Orientation option: The Use Icon Orientation option applies arc-like motion to the particles based on rotation animation of the icon. To best understand how it works, it's necessary to isolate its influence by eliminating any potentially conflicting factors. 1 Reset 3ds Max, and then add a Particle Flow system in the Perspective viewport. Set its position to the world origin: (0,0,0). 2 Open Particle View and click the Birth operator. Set Emit Stop=0. This causes all particles to appear at frame 0. 3 Click the Speed operator and press the Delete key to delete it. 4 Drag a Speed By Icon operator from the Depot to the end of Event 01. The Speed By Icon operator icon appears at the world origin. 5 Select the Speed By Icon operator icon, and then right-click the icon and choose Rotate from the menu. Go to frame 20, turn on Key), and rotate the icon 180 degrees about the X axis. 6 Turn off (Auto (Auto Key). 7 Drag the time slider. The particles aren't affected by the icon animation. Because the Speed By Icon operator icon is selected, the operator's parameters appear on the Modify panel. 8 On the Modify panel, turn on Use Icon Orientation. Drag the time slider again. This time, the particles move in unison with the icon rotation, as if they were glued to an infinite plane coincident with the icon. 3152 | Chapter 12 Space Warps and Particle Systems 9 Go to frame 10, select the Particle Flow source icon (not the Speed By Icon operator icon), and then right-click the icon and choose Move from the menu. Move the icon straight up, on the Z axis, about 100 units. As you drag upward, the particles move away from the icon. 10 Drag the time slider again. This time the particles move in an arc around the icon. 11 Try moving and rotating the two icons, playing the animation each time you make a change. Also set Emit Stop back to 30. As you can see, the possibilities with just this simple setup are myriad. In combination with the many other variables and options in Particle Flow, they're endless. Interface Particle Flow | 3153 The user interface appears in the parameters panel, on the right side of the Particle View dialog. When the icon is selected, the parameters also appear on the Modify panel. Accel(eration) Limit The maximum amount, in system units per second per second, by which the particles' speed can change in order to match the speed of the operator icon. Default=100.0. If the operator icon changes speed or direction rapidly, increase this value to let the particles follow it more closely. TIP Use a lower Accel Limit value for smooth motion, and a higher value when greater accuracy is needed, such as when the particles should hit a small target. You can animate this setting (use Sync By ➤ Event Duration) to specify different appropriate values, depending on the required results. Influence % Determines the mix of the previous speed with the speed of the operator icon. Default=100.0. Range=0.0 to 100.0. At the default value of 100, the speed is controlled only by that of the icon. At 0, the icon speed doesn't affect particle speed at all. At in-between values, the mix proportion is determined by the Influence % value. Speed Variation Enables random variation of the particles' speed, so they don't all move at exactly the same rate as the icon. Turn this on, and then set the minimum and maximum percentages of variation. Default=off. Using Speed Variation can help keep the particles from bunching up as they travel along the animation path. Note, however, that each individual particle's speed doesn't vary; it travels at a constant speed. Min %/Max % Set the minimum and maximum percentages, respectively, of particle speed variation. Default=50.0 (Min %), 100.0 (Max %). For example, if you set Min % to 50 and Max % to 200, the particles will vary in speed between half and two times the speed of the icon. Use Icon Orientation Applies animation of the icon's orientation to the particles. By default, Speed By Icon controls particle motion only by animation of the icon's position. If you turn on Use Icon Orientation, Particle Flow also applies rotation of the icon to the particle motion. In essence, this motion is circular, and its extent depends on the distance between each particle and the icon. Default=off. The best way to understand how this works is by using it. To try out Use Icon Orientation, see this procedure on page 3152. 3154 | Chapter 12 Space Warps and Particle Systems Steer Towards Trajectory Particles farther away than the Distance value from the icon are moved directly toward the icon. Default=off. Distance Sets the distance between the particles and the operator icon beyond which Steer Towards Trajectory takes effect. Default=10.0. Parameters Animation group If you animate the operator settings, Particle Flow can begin applying this animation to all particles as of the start frame of the animation or the first frame of the current event, or to each particle based on its age. For instance, if you set Sync By to Particle Age, and set Speed Variation keys at frames 0 and 30, then Particle Flow will animate the speed variation for each particle born while the event is active between its birth and its 30th frame of existence. Alternatively, if you set Sync By to Absolute Time, the speed variation is animated from frame 0 to frame 30 of the animation, even if no particles are in the event at that time. Or, if you set Sync By to Event Duration, the speed variation animation is applied to each particle as of the time that it enters the event. For further information, see Animation Offset Keying group on page 3140. Sync By Choose the time frame for applying animated parameters: ■ Absolute TimeAny keys set for parameters are applied at the actual frames for which they're set. ■ Particle AgeAny keys set for parameters are applied at the corresponding frames of each particle's existence. ■ Event DurationAny keys set for parameters are applied to each particle relative to the frame at which it first enters the event. Icon Animation group Particle Flow can begin applying animation of the Speed By Icon operator icon to all particles as of the start frame of the animation or the first frame of the current event, or to each particle based on its age. For an explanation, see Animation Offset Keying group on page 3140. Sync By Choose the time frame for applying animation of the icon to the particles: ■ Absolute TimeAny keys set for icon motion are applied at the actual frames for which they're set. ■ Particle AgeAny keys set for icon motion are applied at the corresponding frames of each particle's existence. Particle Flow | 3155 ■ Event DurationAny keys set for icon motion are applied to each particle relative to the frame at which it first enters the event. _____ Icon Size Sets the size of the operator icon. This setting is for visibility only; it doesn't affect particle behavior. Uniqueness group The Uniqueness setting enables randomization of the speed variation range. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Speed By Surface Operator Particle View on page 3049 ➤ Click Speed By Surface in an event or add a Speed By Surface operator to the particle system and then select it. The Speed By Surface operator lets you control particle speed and direction with any object or objects in the scene. This is in contrast to the default Speed operator on page 3141, which uses the Particle Flow icon to control particle speed and direction. Speed By Surface also provides options for controlling speed by materials in the scene, and continuous speed control. Typically, you use Speed By Surface to assign speed and direction characteristics based on the objects used as emitters with the Position Object operator on page 3123. That is, you assign the same objects as emitters with Position Object and as Surface Geometry objects with Speed By Surface. TIP For greater control over particle motion on the surface, apply a Speed operator on page 3141 before the Speed By Surface operator in the same event. Use the Speed operator to specify particle direction on the surface, and the Speed By Surface operator to adjust the vertical component of the speed vector to follow the contour of the surface. See also: ■ Speed By Icon Operator on page 3146 ■ Keep Apart Operator on page 3165 3156 | Chapter 12 Space Warps and Particle Systems Procedures Example: To use Speed By Surface: The Speed By Surface operator offers a wealth of possibilities for usage. This procedure will lead you through several examples, but you're encouraged to explore the operator further on your own to learn more about it. 1 Start or reset 3ds Max, and add a Particle Flow system. Position the source icon at the world origin (X/Y/Z=0), and set the icon's Length and Width values both to 30. 2 Add a Cylinder primitive to the scene. Position it above the source icon: X/Y=0 and Z=30. Set Radius=20 and Height=40. 3 Play the animation, and then stop playback. The particles move downward, using the default starting setup. 4 Open Particle View and add a Speed By Surface operator to the end of Event 01. Click the operator in the event to display its parameters panel in Particle View. 5 In the Surface Geometry group, click Add, and then select the cylinder. 6 Play the animation again, and then stop. The particles still move downward. 7 Go to frame 15, so you can see the particles, and then slowly move the cylinder downward along the Z axis, while watching the particles in the Perspective and Front viewports. Stop when the emitter is above the cylinder. As the bottom of the cylinder passes below the emitter, more and more particles start moving on the XY plane rather than perpendicular to it. That's because they eventually become closer to one of the vertical sides of the cylinder, rather than the bottom, at which point they move perpendicular to the vertical sides. When the top becomes the closest side, the particles again move vertically, but upward instead of downward. Particle Flow | 3157 8 Move the cylinder back up until the emitter is at its vertical center. Then, on the Modify panel, click the lower part of the Sides spinner to decrease the number of sides, one at a time. Each time you click, the particle streams traveling outward change, to move perpendicular to the vertical sides as they change position. You might also try rotating the cylinder, and note that the particle streams also rotate, like the spokes of a wheel. 9 In the Speed By Surface parameters, change Direction to Out Of Surface, and then move the cylinder up and down. The overall behavior doesn't change much. Out Of Surface becomes more useful when you use the Control Speed Continuously option, as you'll observe shortly. 10 In the Speed By Surface parameters, change Direction to Parallel To Surface, and then move the cylinder up and down. Now the particle behavior is effectively opposite of that with the other two options. When the particles are closer to the top or bottom, they move along the XY plane, and when they're closer to the vertical sides, they move downward. If you want them to move upward instead, set Speed to a negative value. Next, you'll discover how the Control Speed Continuously option alters particle behavior. 11 In the Speed By Surface parameters, choose Control Speed Continuously, and then drag the time slider. The particles spread out from the emitter, and then start orbiting the cylinder in a roughly cylindrical overall formation. Particle Flow continually checks to see which side of the cylinder a particle is closest to, and, if necessary, changes its direction to make it travel parallel to that side. You can affect the size of the particles' orbits by changing their speed. Lastly, you'll see how to contain particle motion within the cylinder. 12 Make the cylinder considerably larger: Radius=60 and Height=90. Activate the Perspective viewport, if necessary, and then press F3 to set it to Wireframe view. 3158 | Chapter 12 Space Warps and Particle Systems 13 In Particle View, click the Speed 01 operator and set Direction to Random 3D. 14 Click the Speed By Surface operator. Set Speed to 300 if necessary. In the Direction group, choose Out Of Surface, and then drag the time slider. After exiting the emitter, the particles always move away from the nearest surface, with the result that they end up milling about in the center of the cylinder. 15 Gradually increase the Speed value, up to 1,000 or so. The particles start to spread out vertically, and eventually start moving so fast that they escape the cylinder. You can make them stay inside the cylinder by letting them accelerate more quickly, so they can turn before moving past the nearest surface. 16 Increase the Accel Limit setting until the particles no longer exit the cylinder. 17 Try giving the particles more room to move about in by increasing the size of the emitter. Also try changing other settings throughout the particle system to see their effects. The possibilities don't end here, and the more you experiment, the more you'll learn about how this powerful operator works. Particle Flow | 3159 Interface 3160 | Chapter 12 Space Warps and Particle Systems The user interface appears in the parameters panel, on the right side of the Particle View dialog. The first setting lets you choose whether the operator controls speed once or continuously. Set Speed Once The operator sets the speed for each particle once: when the particle enters the event. Control Speed Continuously The operator sets particle speed throughout the event. When you choose this option, the Continuous Speed Control group on page 3164 becomes available. Speed The particle speed in system units per second. Default=300. With the Control Speed Continuously option, you can turn off Speed. This causes Particle Flow to use the current particle speed. Using a negative Speed value causes particles to move in the opposite direction of that effected by a positive speed. Variation The amount by which particle speed can vary, in system units per second. Default=0.0. To obtain each particle's speed, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then adds the result to the Speed value. For example, if Speed=300 and Variation=100, then each particle's speed would be between 200 and 400. Surface Geometry group Use these controls to assign objects to affect particle speed and direction. The list in this group shows the objects, or reference geometry, that the operator uses to control speed and direction. If you don't assign any objects, the current particle speed and direction are not affected. You can assign multiple Surface Geometry objects, but if they're not all emitters as well, the results can be difficult to interpret. In general, assign the same objects as Surface Geometry that your system uses as emitters. TIP For optimal performance, when moving particles with respect to high-polygon objects, create a low-poly proxy version to use as surface geometry, link it as a child of the high-poly object if necessary, and then hide the low-poly proxy. Use the Add and Remove buttons to edit this list. Add Adds an object to the list. Click Add, and then click an object in the viewport. Particle Flow | 3161 By List Adds multiple objects to the list. Click By List to open the Select Surface Objects dialog. This works just like Select From Scene on page 184: Highlight the objects to use to control speed and direction, and then click the Select button. Remove Removes an object from the list. Highlight the object in the list, and then click Remove. Animated Shape Turn on to allow particles to follow the surface of an object whose form is animated by morphing or with modifiers. Subframe Sampling When on, the operator acquires animation of the Surface Geometry shape on a tick basis (every 1/4,800th of a second) rather than a frame basis. This provides greater precision in allowing the particle positions to follow animation of the Surface Geometry object's form. Speed by Material Varies particles' existing speed and direction based on properties of the material applied to each Surface Geometry object. For example, if an object is assigned a black-and-white checkered diffuse map and you choose the Grayscale Multiplier option, particles near the white-checked areas move faster than those from the black-checked areas. NOTE For material-influenced speed to appear properly in the viewports, two conditions are required: at least one viewport must be set to a shaded display mode, and the material or map must have Show Map In Viewport turned on in the Material Editor. The options are as follows: ■ Grayscale MultiplierLets material luminance control speed, with darker areas producing slower particles and lighter areas producing faster ones. Particle Flow multiplies the luminance of the material near each particle, converted to a percentage, by the particle's current speed. A luminance of 0 converts to 0%, of 128 converts to 50%, and of 255 converts to 100%. For example, if the speed of a particle traveling at 50 units per second is influenced by a pixel whose luminance is 90, the resulting speed is 90/255*50, or about 17.6 units per second. ■ Signed GrayscaleWorks like Grayscale Multiplier, but the multiplier can be negative as well, causing reversal of motion. Signed Grayscale uses a material luminance value of 128 as the midpoint, and assigns it a multiplier of 0%. Luminance values from 0 to 127 result in multipliers of -100% to about -1%, respectively, and values of 129 to 255 result in multipliers of about 1% to 100%, respectively. 3162 | Chapter 12 Space Warps and Particle Systems ■ RGB as World XYZ Mult.Works like Grayscale Multiplier, but uses the intensity of the material's red, green, and blue channels to affect particle speed on the world X, Y, and Z axes, respectively. So, for example, if the material pixel is pure red, that is, its RGB value is (255,0,0), then the particle will retain its current speed on the world X axis, but its speed on the Y and Z axes will be reduced to 0. Similarly, a medium-yellow pixel (128,128,0) will cause speed on the world X and Y axes to be reduced by half, and will cut speed on the Z axis to 0. ■ RGB as Local XYZ Mult.Works like RGB as World XYZ Mult., but uses the object's local coordinates rather than world coordinates. Use Sub-Material When on, uses a sub-material from the Multi/Sub-Object material assigned to the Surface Geometry object to define speed. This option allows usage of “invisible” materials for controlling particle speed. If the emitter uses a Multi/Sub-Object material but its geometry doesn't use the ID that corresponds one of the sub-materials, the sub-material doesn't appear. However, the operator can use it to calculate the density of particle placement. Particle Flow assumes the material to be applied to the entire object surface. Mtl ID Specifies the material ID of the sub-material to be used for particle speed control. Direction group The Direction drop-down list lets you specify which way the particles go after they're born. Default=Surface Normals. In most cases, the actual direction also depends on the icon orientation. The primary exception is when Position ➤ Location is set to Pivot. Particle movement is always in a straight line unless influenced by other factors. Surface Normals Each particle moves along a line perpendicular to the nearest face. The direction the surface faces doesn't matter. Out Of Surface Particles move away from the closest face. Particle Flow | 3163 TIP You can use this option to confine particles to the interior of an object. Position the emitter inside the object, designate the object as the Surface Geometry, choose Control Speed Continuously, and choose Out Of Surface. Each time a particle comes close to a surface, it turns to travel directly away from the surface. Control the particles' travel range with the Speed setting, but keep in mind that particles moving very fast might “escape” their container. If this happens, increase the Accel Limit setting; this lets the particles turn more quickly. Parallel To Surface Each particle travels parallel to the nearest face. To make particles orbit an object, use this with Control Speed Continuously, and set appropriate Continuous Speed Control values (see the following section). _____ Divergence When on, spreads out the particle stream. Use the numeric setting to define the extent of the divergence. Range=0 to 180. Default=0. The value can be animated. This option is unavailable if Control Speed Continuously is chosen. TIP For a fountain-like spray, set Position ➤ Location to Pivot, set Direction to Along Icon Arrow, set Divergence to the desired angle, and rotate the icon so its arrow points upward. Continuous Speed Control group When you choose the Control Speed Continuously option, these controls become available. Basically, these controls let the particles move about within the region of the Surface Geometry object rather than in a straight line away from the emitter. Accel Limit Sets the maximum acceleration. The higher this value, the more quickly particles can turn and change speed. TIP Use a lower Accel Limit value for smooth motion, and a higher value when greater accuracy is needed, such as when the particles should hit a small target. You can animate this setting (use Sync By ➤ Event Duration) to specify different appropriate values, depending on the required results. Unlimited Range When on, the surface controls speed and direction of particles at any distance. When off, particles must be within a specified range. Default=on. 3164 | Chapter 12 Space Warps and Particle Systems Range The maximum distance, in system units, between the particles and controlling surface. The Surface Geometry will not control particles beyond this distance. Falloff Zone The distance, in system units, beyond the Range value within which the Surface Geometry exerts partial control over particles. The degree of control diminishes from 100% at the Range distance to 0% at the Range+Falloff Zone distance. Animation Offset Keying group Choose the time frame for applying animated parameters. For an explanation, see Animation Offset Keying group on page 3140. Absolute Time Any keys set for parameters are applied at the actual frames for which they're set. Particle Age Any keys set for parameters are applied at the corresponding frames of each particle's existence. Event Duration Any keys set for parameters are applied to each particle starting when it first enters the event. Uniqueness group The Uniqueness setting enables randomization of speed variation, and randomization of direction with the Random 3D and Random Horizontal options. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Keep Apart Operator Particle View on page 3049 ➤ Click Keep Apart in an event or add a Keep Apart operator to the particle system and then select it. The Keep Apart operator, a member of the Speed operator family, lets you apply forces to particles to cause them to separate, in order to prevent or minimize collisions among particles. Alternatively, you can use a negative force to keep particles from separating too much. The operator works by controlling particle speed and acceleration. Particle Flow | 3165 NOTE Keep Apart doesn't use particle geometry; rather, it creates a spherical force field centered on the pivot of each particle. You can adjust the size of the force field by changing the particle size. TIP In certain cases, the default settings might not be sufficient to keep particles from interpenetrating. For increased separation, use higher values for Force and Accel Limit, choose Relative To Particle Size, and increase the Core % value. See also: ■ Speed Operator on page 3141 ■ Speed By Surface Operator on page 3156 ■ Speed By Icon Operator on page 3146 Script Wiring rollout This rollout appears in the parameters panel below the main operator rollout after you highlight the operator, right-click it, and then choose Use Script Wiring. Thereafter, a check mark appears next to the Use Script Wiring in the right-click menu, and the rollout appears whenever you highlight the operator. To turn off script wiring, choose Use Script Wiring again from the right-click menu. Script wiring lets you use a script to control the Force and Range parameters, which you normally specify in the operator's parameters. Place a Script operator on page 3230 before the Keep Apart operator in the event, and then use it to define values in the particleFloat and particleVector channels. For an example of a script that sets particleFloat values, see particleFloat Sample Script on page 3224. On the Script Wiring rollout, choose either of the following: Use Script Float As Choose either of the following: ■ Not UsedParticle Flow uses the Force setting on page 3169 specified in the Parameters rollout. ■ InfluenceParticle Flow applies the script particleFloat value to the Force value. 3166 | Chapter 12 Space Warps and Particle Systems Use Script Vector As Choose one of the following. Choosing Absolute Size Range or Relative Size Range makes the Range settings on the Parameters rollout unavailable. ■ Not UsedParticle Flow uses the Range on page 3169 settings specified in the Parameters rollout. ■ Absolute Size RangeParticle Flow applies the script particleVector values to the Absolute Size Range values. The X component of the vector value is used for the core radius, and the Y component for the falloff radius. ■ Relative Size RangeParticle Flow applies the script particleVector values to the Relative Size Range values. The X component of the vector value is used for the core percent, and the Y component for the falloff percent. Particle Flow | 3167 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. 3168 | Chapter 12 Space Warps and Particle Systems Force The amount of force applied to the particles. Use positive values to separate particles, or negative values to move them closer together. Default=100.0 Accel(eration) Limit When on, lets you set a maximum acceleration value that can be applied to particles' motion. When off, Particle Flow uses any necessary acceleration. Default=on, 1000.0. TIP Use a lower Accel Limit value for smooth motion, and a higher value when greater accuracy is needed, such as when the particles should hit a small target. You can animate this setting (use Sync By ➤ Event Duration) to specify different appropriate values, depending on the required results. Speed Limit When on, lets you set a maximum speed value that can be applied to particles' motion. When off, Particle Flow uses any necessary speed. Default=off, 600.0. Range group You can set a volume and falloff within which the force takes effect, either as absolute distances or relative to particle size. Default=Absolute Size. Absolute Size Choose this to set the core radius and falloff zone as absolute distances, in system units. Core Radius The distance from each particle's pivot point, in system units, within which the force is applied at full strength. Default=10.0 Falloff Zone The distance beyond the core radius, in system units, over which the force diminishes from full strength to 0. Default=10.0 Relative to Particle Size Choose this to set the core radius and falloff zone as percentages, relative to the radius of each particle. The particle radius is determined by measuring the distance from the pivot point to the farthest corner of its bounding box. Core % The distance from each particle, as a percentage of the particle radius, within which the force is applied at full strength. Default=200.0 Falloff % The distance beyond the core radius, as a percentage of the radius, over which the force diminishes from full strength to 0. Default=100.0 Variation % The amount by which range values can vary randomly, as a percentage of the specified values. Particle Flow uses the same random variation value for both Core and Falloff values, whether absolute or relative. Default=0.0 For example, if you choose Absolute Size, set Core Radius to 40 and Falloff Zone to 20, and set Variation % to 50, then each particle's actual core radius Particle Flow | 3169 will be a random number in the range 20 to 60, and the falloff zone a random number in the range 10 to 30. For each particle, Particle Flow uses the same Variation % value, so if Core Radius is determined to be 20, then Falloff Zone would be 10. Scope group By default, the Keep Apart force keeps particles only in the current event (that is, the event that contains the Keep Apart operator) apart from each other when used locally, or particles in each event in the current flow on page 9165 apart when used globally. These settings let you alternatively keep particles away from particles in other events or flows without affecting the behavior of latter. Default=Current Event. Current Event Keeps particles in the current event only away from each other. When used globally, keeps particles in each event in the current flow apart from each other, but not apart from particles in other events in the flow. Current Particle System Keeps particles in the current event away from each other, and away from all other particles in the current flow on page 9165. The particles not in the current event are not influenced by the Keep Apart operator. When used globally, keeps apart and influences all particles in the current flow. Selected Events Keeps particles in the current event away from all particles in the events highlighted in the list below this choice. Particles not in the current event are not influenced by the Keep Apart operator. When used globally, keeps all particles in the current flow apart from all particles in the events highlighted in the list below this choice, but influences only particles in the current flow. After choosing this option, click items in the list to highlight them. Selected Particle Systems Keeps particles in the current event away from all particles in the flows on page 9165 highlighted in the list below this choice. The particles not in the current event are not influenced by the Keep Apart operator. When used globally, keeps all particles in the current flow apart from all particles in the flows highlighted in the list below this choice, but influences only particles in the current flow. After choosing this option, click items in the list to highlight them. Uniqueness group The Uniqueness setting enables randomization of the Range on page 3169 ➤ Variation % calculations. 3170 | Chapter 12 Space Warps and Particle Systems Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Shape Shape operators control the geometry of particles. Shape Operator Particle View on page 3049 ➤ Click Shape in an event or add a Shape operator to the particle system and then select it. The new Shape operator, which replaces the original version, expands the choices of ready-made geometry for use in the particle system. You can specify particles in a number of different predefined 2D and 3D shapes, such as geometric primitives, alphanumeric characters, and musical notes, as well as particle size and scale. Primitive particles created with Shape have pivot points at their geometric centers. They also have UVW mapping assigned according to the vertex position in the local 3D particle space. 2D particles have zero thickness, and are invisible when the back of the particle faces the camera unless a double-sided material is assigned to the particles or emitter. See also: ■ Shape Instance Operator on page 3176 ■ Shape Facing Operator on page 3173 ■ Shape Mark Operator on page 3183 Particle Flow | 3171 Interface 2D/3D Makes available a drop-down list of pre-built 2D or 3D objects for use as a particle shape. The thumbnail image is color-coded to indicate its relative complexity to other pre-built objects. Simpler shapes are blue or green, while more complex shapes are purple or red. There are 20 shapes of each type. For sequential shapes, such as digits, letters, and notes, you can turn on Multi-Shape Random Order to produce a random sequence. Size Sets the overall size of the particles in system units. Default=10.0. Scale Turn on to set the size of the particles as a percentage of the Size value. Use the numeric field to set the Scale percentage value. Default=100.0. Scale is animatable, while Size is not. Turning on Scale creates scale data that Scale operators later in the flow can work with. Variation Available only if Scale is turned on. Adds variation to the overall particle scale. The resulting scale factor is set only once, when a particle enters the event. To control the scale factor continuously, use the Scale operator. Multi-Shape Random Order When on, assigns shapes to particles in random order. This option is available only for multi-shape forms. When off, the shapes are assigned in their natural order, such as A, B, C for letters, and 1, 2, 3 for digits. 3172 | Chapter 12 Space Warps and Particle Systems Uniqueness Group of Controls The options in the Uniqueness group are available only when Multi-Shape Random Order is turned on. Seed Specifies a randomization seed. New Calculates a new seed using a randomization formula. Shape Facing Operator Particle View on page 3049 ➤ Click Shape Facing in an event or add a Shape Facing operator to the particle system and then select it. The Shape Facing operator creates each particle as a rectangle that always faces a particular object, camera, or direction. For effects like smoke, fire, water, bubbles, or snowflakes, use Shape Facing with a material containing appropriate opacity and diffuse maps. By default, the particles' top and bottom sides are parallel to the horizontal plane. The Orientation setting lets you change this default alignment. NOTE For the Shape Facing operator to be able to calculate the particle orientation, it must know the current particle position. For this reason, always place the Shape Facing operator below a Position operator in an event. See also: ■ Shape Operator on page 3171 ■ Shape Instance Operator on page 3176 ■ Shape Mark Operator on page 3183 Particle Flow | 3173 Interface Look At Camera/Object group Use this control for defining the camera or object toward which the particle will face. This object is known as the Look At object. For the technically minded, the facing is maintained by keeping each particle's local Z axis pointed at the Look At object, or when Use Parallel Direction is on, aligned with the vector between the Particle Source icon and the Look At object. Name After picking a Look At object, its name appears here. Pick Camera or Object Click this button, and then select a camera or object in the scene to use as the Look At object. The mouse cursor changes to a cross shape when positioned over a valid object. 3174 | Chapter 12 Space Warps and Particle Systems Use Parallel Direction When off, all particles continuously rotate to stay facing toward the Look At object. Each particle's orientation varies because its location differs from those of the others. When on, all particles face in the same direction, defined by an imaginary line between the Particle Source gizmo center and the Look At object. Default=off. Size/Width group Use these settings to specify the coordinate system for setting the size, as well as the size parameters. The numeric settings in this group are not animatable. In World Space Sets the absolute size in system units, using the World coordinate system. Units With the In World Space option, sets the particle size in system units. Range=0 to 1000000000. Default=1. In Local Space Sets particle size relative to the existing size, in local space. Particle Flow uses the dimensions of the existing shape to determine the size of the “facing rectangle.” Inherited % Sets the facing particles' size as a percentage of the existing size. Range=0 to 100. Default=100. In Screen Space Sets the facing particles' size as a percentage of the screen width. The actual size of each particle changes as necessary throughout the animation, depending its distance from the camera, to maintain a constant size from the camera's point of view. This option is available only when the Look At object is a camera, and Use Parallel Direction is off. Proportion % Sets the particle size as a percentage of the screen width. Default=1. Variation % Sets the percentage by which particle size can vary. Default=0. _____ Pivot At Specifies the part of the particle around which rotation is performed when maintaining the facing direction. The choices, available from the drop-down list, are Top, Center, and Bottom. Default=Center. With Top and Bottom, the center of the corresponding side is used as the particle center for rotation. This option is useful, for example, when particles are lying on a surface, and each particle is an explosion. In this situation, you'd probably want the entire particle rectangle to appear above the surface, so you'd set Pivot At to Bottom. Particle Flow | 3175 W/H Ratio Defines the aspect (width-to-height) ratio of the shape rectangle. Adjust this ratio to that of the particle-map imagery. For the commonly used TV aspect ratio of 4:3, set W/H Ratio=1.33. The parameter is not animatable. Range=0.001 to 1000. Default=1 (square particles). This value is not animatable. Orientation Use this drop-down list to choose how particles rotate on the axes not specified by the Look At direction. Default=Align to Horizon. Align to Horizon Keeps the top edge aligned with the horizon (the world XY plane). Align to Speed Follow Uses the right side of each particle as the leading edge, so the top and bottom edges are aligned with the direction of particle motion. Random Orients the top edge at random. Allow Spinning To spin the particles, choose this option, and in the same event use a Spin operator on page 3133. In the latter, set Rotation Axis to Particle Space and use the default axis values: X=0, Y=0 , Z=1. Uniqueness group The Uniqueness setting enables changing the randomization of the size/width variation. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Shape Instance Operator Particle View on page 3049 ➤ Click Shape Instance in an event or add a Shape Instance operator to the particle system and then select it. Shape Instance lets you use any reference object on page 9282 in the scene as particles. You can effectively define only one reference object per event, but the object can comprise any number of sub-objects, each of which Particle Flow can treat as a separate particle. Also, using tests, you can divide the particle stream into multiple branches and define a different particle shape for each. As the name of the operator indicates, reference geometry is instanced into the particle system. Thus, any physical changes you make to the original 3176 | Chapter 12 Space Warps and Particle Systems geometry are reflected instantly in the particle system. If you hide the original geometry, the particles still appear. However, if you delete the original geometry, the particles are deleted as well. Using Transform-Animated Reference Objects You can create animated particle shapes by animating the reference object with modifiers, and then turning on Animated Shape on page 3182. However, Shape Instance ignores any rotational and positional transformations applied directly to the reference object; it uses only the pure scale component. For example, if you scale an object non-uniformly using the View reference coordinate system, the result might skew the object's shape. Because the skewing is the by-product of a rotational transform, it wouldn't be reflected in the particles' shape. However, modifiers and comparable functions that contain transformations applied to the reference object are reflected in the instanced particles. For example, if you want particles to use rotational transforms applied to the reference object, use the Reset XForm function on the reference object. Reset XForm is available from the Utilities panel. TIP Particle Flow can, however, use rotational and positional animation applied to descendant objects in a hierarchy, when you use the entire hierarchy as a single particle. To do this, create a hierarchy, animate the descendant objects, and then designate the parent as the reference object. Do not turn on Separate Particles For ➤ Object And Children. You'll find a procedure illustrating this, below. When using an animated reference object, it is recommended that you hide the reference object after instancing it in the particle system. See also: ■ Shape Operator on page 3171 ■ Shape Facing Operator on page 3173 ■ Shape Mark Operator on page 3183 Procedures Example: To use the reference object's rotational and positional animation in the particle system: 1 Create an object you want to use as the particle shape, such as a teapot, and a Dummy helper object. Particle Flow | 3177 2 Animate the teapot using the 3 Use the Move and Rotate tools. Align tool to center the teapot to the dummy. This step isn't necessary, but it can help to obtain more consistent results. 4 Link the teapot as a child of the dummy (drag from the teapot to the dummy). You can use any object as the parent, but using a dummy, which doesn't render, lets you animate all instanced particles visible in the final animation. 5 Create a default Particle Flow system. 6 In Particle View, delete the Rotation operator. 7 Replace the Shape operator with a Shape Instance operator. 8 In the Shape operator parameters, designate the dummy as the Particle Geometry Object. 9 Turn on Animated Shape. 10 For sequential animation, which can be more interesting visually, in Animation Offset Keying, set Sync By to Particle Age or Event Duration. 3178 | Chapter 12 Space Warps and Particle Systems Interface Particle Geometry group Use this control for defining the object to be used as the particle geometry. This object is known as the reference object. [button] Click this button, and then select a geometry object in the scene to be used as the particle shape. The mouse cursor changes to a cross shape when positioned over an object that's valid for use as a reference object. Valid objects include multi-shape objects such as groups and hierarchies; see Separate Particles For group on page 3180. Particle Flow | 3179 After picking a reference object, its name appears on the button. You can use almost any geometry object as a reference object. By default, the operator automatically converts closed splines to rendering geometry by “filling in” the area defined by the shape outline. To use the shape outline instead, select the original shape and, on the Modify panel ➤ Rendering rollout, turn on Display Render Mesh. You needn't turn on Renderable, but changes to all other Rendering rollout settings, such Thickness and Sides, are reflected in the rendered particles. Particle Flow does not automatically “fill in” open shapes such as Line (non-closed) and Arc. To render these shapes when using them as particles, turn on Modify panel ➤ Rendering rollout ➤ Display Render Mesh. If a Shape Instance operator is in effect for which the geometry object is not defined, and the viewport display type is set to Geometry, then the particles appear in the viewports as X characters. NOTE If a multi-shape object used as a reference object comprises objects both with and without materials applied, and Acquire Material is on, Particle Flow will apply the first available material to any objects without materials applied. NOTE You can use a NURBS surface as a reference object, but not a NURBS curve. To use a NURBS curve as particle geometry, first convert it to a surface using a method such as the Cap function. TIP For best results, when using an animated reference object, it's highly recommended that you hide the original object before rendering, or use Object Properties to turn off its Renderable check box. NOTE If using a group as a reference object, make sure the group is closed before selecting it. Selecting an open group will add only the group member you click, not the entire group. Separate Particles For group 3ds Max provides a number of methods for combining disparate objects into single entities, including grouping, building hierarchies with linking, and attaching. By default, when using such a multi-shape object as particle geometry, each particle comprises all member objects. Alternatively, you can instruct Particle Flow to treat each member object as a separate particle with these options. When on, Particle Flow uses each member object as a single particle, in left-to-right order according to its X-axis position, by default. So, for example, if you create text in the Front viewport, assign it as reference 3180 | Chapter 12 Space Warps and Particle Systems geometry, and turn on Object Elements, the letters come out in the proper order. You can vary the order randomly by turning on Multi-Shape Random Order on page 3182. You can turn on any combination of Separate Particles items. All are off by default. Group Members When on, group members are treated as separate particles. Object and Children When on, linked objects are treated as separate particles. Object Elements When on, element sub-objects of a single mesh object are treated as separate particles. _____ Vertices/Faces Show the number of vertices and triangles per particle. If the reference geometry is multi-shape and the appropriate check boxes in the Separate Particles are on, then these displays show an average vertex/face count. Number of Shapes Shows number of different particle shapes. This number is always 1 unless the reference geometry is multi-shape and the appropriate check boxes in the Separate Particles For group are on, in which case this displays the number of resulting different shapes. Scale (%) Specifies a uniform scaling factor for all particles. Range=0 to 100000. Default=on, 100. The center of scaling for multi-shape object members treated individually depends on how the objects are combined. For grouped and linked objects, the scaling is done about the objects' pivot points. For object elements, the scaling center is the geometric center of each object; that is, the averaged location of all the vertices. This value cannot be animated. To animate particle size, use the Scale operator on page 3135. Variation (%) Specifies a randomized percentage of scaling variation. Use the Uniqueness setting to change the randomization. Range=0 to 100. Default=0. This value cannot be animated. To animate scaling variation, use the Scale operator on page 3135. Acquire Mapping When on, all mapping data from the reference object is transferred to particles. Default=on. Particle Flow | 3181 Acquire Material When on, material data from the reference object is transferred to particles. Default=on. If the reference object is a group, with different materials applied to the group members, Particle Flow creates a new Multi/Sub-Object material containing all of the materials and uses it as the particle material. TIP Because materials are “sticky” in Particle Flow, if you turn off Acquire Material after specifying a reference object with an attached material, the material remains applied to the particles. To avoid applying the instanced shape's material to the particles, turn off Acquire Material before specifying the reference object. Multi-Shape Random Order When on, assigns shapes to particles in random order. When off, Particle Flow emits each shape in the multi-shape object as a single particle, in the order of the shape's X coordinate. In other words, the shape with the lowest X-axis coordinate is emitted first, then the one with the next highest, and so on. The option is available only if at least one of Separate Particles For group check boxes is on. Default=off. For example, if you want the particles to spell out a word or phrase, use extruded text created in the Front viewport as the reference object, turn on Separate Particles For ➤ Group Elements, but leave Multi-Shape Random Order off. Animated Shape When on, particles use any animation in the reference object, including cyclic animation applied with the Parameter Curve Out-of-Range Types controls. When off, the particles are not animated. With this option, you can use the Animation Offset Keying controls to specify how to synchronize the reference-object animation with the particles. See the next section. NOTE A particle that uses this option is animated only while in the event containing the Shape Instance operator. If it moves to another event that doesn't contain a shape operator, it keeps the same shape, but the animation stops. The easiest way to keep the animation going from event to event is to place the Shape Instance operator in the global event on page 9178. Otherwise, you need to place the operator in each event in which the particle should be animated. Acquire Current Shape When on, Particle Flow acquires the particle shape from the reference object as each particle enters the event. Thus, if the reference object is animated, particles that enter at different times get different shapes. However, these shapes are not animated. When the option is off, the shape is acquired from frame 0. Default=off. This option is available only when Animated Shape is off. 3182 | Chapter 12 Space Warps and Particle Systems Animation Offset Keying group These controls are available only when Animated Shape is on. Sync By Lets you choose how to synchronize reference-object animation with the particles. ■ Absolute TimeAll particles have the same shape at any given moment. ■ Particle AgeAnimation of the reference object is synchronized with particle age: Frame 0 of the reference-object animation corresponds to the frame of each particle's birth. ■ Event DurationFrame 0 of the reference-object animation corresponds to the moment the particle enters the event. Rand Offset When on, randomly varies the start of each particle's animation. Use the numeric setting to specify the number of frames by which the animation start can vary. _____ Update Particle Shape Refreshes instanced particle shapes from the reference object. Use this after changing an object in a hierarchical reference object. In most cases, Particle Flow automatically updates instanced particles when changes are made to the reference object. However, in some cases, when you change an object deep in a hierarchy, the particle instances might not be updated. In such a case, click Update Particle Shape to refresh the instances. Uniqueness group The Uniqueness setting enables changing the randomization of the scale variation, animation offset, and the multi-shape random order. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Shape Mark Operator Particle View on page 3049 ➤ Click Shape Mark in an event or add a Shape Mark operator to the particle system and then select it. Use the Shape Mark operator to replace each particle with either a rectangle or a box cut out from the particle geometry with an image mapped onto it. The image can be animated and the animation can be synchronized with particle events. Particle Flow | 3183 A typical application of Shape Mark would be to leave marks after particles impact objects in the scene. For example, when a torpedo hits a boat and explodes, you could use Shape Mark to leave scorch marks on the boat surface. TIP By default, the mark left by Shape Mark is always rectangular, no matter what shape the particles are. To leave a differently shaped mark, choose the Shape group ➤ Rectangle option, and use a material on page 3190 in the same event with transparent areas to define the mark's outline. For example, apply a Mask map to the material's Opacity channel, and to the map's Mask channel, apply a bitmap containing an alpha channel. On the Bitmap Parameters rollout, set Mono Channel Output to Alpha. NOTE With its default settings, the Shape Mark operator can generate coplanar faces, which the mental ray renderer cannot render well. If you want to use mental ray rendering with Shape Mark, adjust the operator's settings as follows: ■ In the Shape group, choose Box Intersection. ■ Set Surface Offset to 0.01. ■ Set Offset Variation to 0.005. ■ Set Vertex Jitter to 0.002. With these settings, faces are no longer coplanar, and the mental ray renderer gives better results. See also: ■ Shape Operator on page 3171 ■ Shape Instance Operator on page 3176 ■ Shape Facing Operator on page 3173 Procedures Example: To use Shape Mark: 1 Determine which object is to receive the marks; this will be the contact object. Apply a deflector to this object. 2 Set up your particle system with an event that causes particles to collide with the contact object deflector. 3 At the end of this event, add a Collision test on page 3269. 3184 | Chapter 12 Space Warps and Particle Systems 4 In the Collision test, designate the deflector from step 1. 5 Create a new event with the Shape Mark operator, and wire the Collision test to this event. 6 In the Shape Mark operator ➤ Contact Object group, designate the object from step 1. Change the other Shape Mark settings as necessary. Now, when the particles strike the contact object, they disappear, leaving marks on the object. If you want the particles to bounce after leaving marks, rather than disappearing, use a Collision Spawn test on page 3274 instead, and turn off its Delete Parent check box. The spawned particles become the marks, and the original particles remain in the first event. 7 Optionally, add a Material operator to define the surface characteristics of the marks. Particle Flow | 3185 Interface 3186 | Chapter 12 Space Warps and Particle Systems Contact Object group Use this control for defining the object on which marks are to be left. [button] Click this button, and then select an object in the scene to use as the contact object. The mouse cursor changes to a cross shape when positioned over a valid object. After picking a contact object, its name appears on the button. Align to Surface Animation When on, Shape Mark takes into account surface changes due to vertex animation of the contact object. If Shape on page 3188 is set to Rectangle, then the mark changes its orientation and position to appear be stuck to the surface of the contact object. If Shape is set to Box Intersection, then the mark changes shape along with that of the contact object. When off, only transformation of the contact object is taken into consideration. Default=off. Turn this on only if there is significant vertex animation at the contact point, such as with an animated water surface. WARNING This option requires significant CPU and memory resources. Orientation group Align To Depending on the setting for Shape on page 3188, Shape Mark creates either a rectangle or a box cutout on the contact geometry. The Orientation setting specifies how the shape is oriented. In the mark's local coordinate system, the X axis is Length, the Y axis is Width, and with the box cutout, Z is height. The Z axis is perpendicular to the surface of the object at the contact point. The alignment choices are as follows: ■ SpeedThe Length direction is parallel to the projection of the particles' speed vector onto the contact plane. ■ Particle X/Y/ZThe Length direction is parallel to the projection of the particle's local coordinate axis X, Y, or Z, respectively, as the particle moves toward the contact object. ■ RandomUses a random Length direction in the contact plane. Divergence Applies a range of random variation, in degrees, to the orientation of the Length direction. Unavailable when using the Random option. Particle Flow | 3187 Size group Use these settings to specify the coordinate system for setting the size of the mark, as well as the size parameters. The numeric settings in this group are not animatable. In World Space Sets the absolute size of the mark in system units, using the World coordinate system. Width/Length With the In World Space option, sets the particle dimensions in system units. Range=0 to 1000000000. Default=1.0. In Local Space Sets the mark size relative to the existing particle size, in local space. Particle Flow uses the dimensions of the existing shape to determine the size of the “facing rectangle.” Inherited % Sets the percentage of the mark size, relative to the existing particle size. Range=0 to 100. Default=100.0. Variation % Sets the percentage by which particle size can vary. Default=0.0. Impact Angle Distortion When on, increases the Length value of the mark according to the particle's angle of approach. This effectively stretches the mark shape if particle approaches the contact geometry at a low angle. Available only when Align To is set to Speed. Default=off. For example, if a drop of paint hits a surface perpendicularly, it creates a circular mark, but if it hits the surface at a lower angle, the resulting shape is an ellipse. Distor(tion) Max % Sets the maximum percentage by which Particle Flow may stretch the mark. Available only when Impact Angle Distortion is on. Default=1000. With very low angles of approach, the stretching factor can become very high. For example, value 500% means that the stretching factor cannot exceed 5. Shape group These settings let you specify the mark-making object as a rectangle or a box. Default=Rectangle. Rectangle The mark shape is a two-faced rectangle. When using a material with Shape Mark, always choose this option. Box Intersection With this option, Particle Flow creates a box for each particle that leaves a mark, and derives the mark shape from a Boolean intersection between the contact object and the box. 3188 | Chapter 12 Space Warps and Particle Systems Box Height Sets the height of the box used with the Box Intersection method. Available only with Box Intersection. Default=10.0. Allow Multiple Elements When on, particles can leave marks on all parts of contact objects that contain multiple elements. When off, a particle marks only the first element it collides with. Available only with Box Intersection. Default=off. Particles falling onto a two-element cylinder Left: Allow Multiple Elements is off; Right: Allow Multiple Elements is on. Continuous Update When on, the shape of the mark is recalculated at each frame, according to the current positions of the particle and the contact surface. This option can consume a great deal of CPU time. Available only with Box Intersection. Generate Mapping Coords. Allows correct application of the shape mark when using a mapped material. Default=on. If you're not using a mapped material, you can save memory by turning this off. _____ Pivot Offset % Shifts the position of the shape mark along its length dimension with respect to the pivot of the impacting particle. Default=0.0. Range=-50.0 to 50.0. By default, the center of the mark's length dimension coincides with the point where the particle's pivot strikes the contact object. This setting lets you offset the mark's position to anywhere along its length. NOTE The width dimension and the Box Intersection's height dimension are always centered at the intersection of the particle pivot and the contact object's surface. Particle Flow | 3189 Surface Offset Specifies the distance of the shape mark above the contact object's surface. Default=0.001. The mark is slightly elevated above the contact geometry to achieve the visual effect of the mark spot overlapping the contact geometry. This parameter is not animatable. Offset Variation Specifies the maximum extent of a random variation in the actual surface offset among particles. Default=0.0. Adjusting this value can help to alleviate rendering artifacts with overlapping marks. Vertex Jitter Specifies the maximum extent of a random variation in the positions of vertices of marks created using the Box Intersection method. Available only with the Box Intersection method. Default=0.0. Adjusting this value can help to alleviate rendering artifacts with overlapping marks. Uniqueness group The Uniqueness setting enables changing the randomization of the size/width variation. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Materials and Mapping in Particle View Particle Flow provides three operators for applying materials to particles. To give the same appearance to all particles throughout an event, use Material Static Operator on page 3197. If you're using a compound material such as Multi/Sub-Object on page 6542, you can assign different sub-materials to different particles with the Material Frequency operator on page 3200. And to assign materials that change in appearance over time, use the Material Dynamic operator on page 3202. Related to this is the Mapping operator on page 3210, which lets you give the same mapping coordinates to the entire surface of each particle in an event, thus using a single pixel from a material to color the particles. By animating the mapping coordinates, you can cause the particles to change color over time. This is particularly effective with a gradient material. The Bitmap map on page 6636, used in conjunction with Material Dynamic, lets you assign different frames from an image sequence to particles based on the particle age, among other effects. 3190 | Chapter 12 Space Warps and Particle Systems Following are some items to keep in mind when using materials with Particle Flow: ■ A material is a static property of an event. It does not travel along with the particles from one event to the next. A particle's material ID does, but its material does not. If you want particles always to use the same material, define the material in the global event on page 9178 with a Material operator or a Shape Instance operator on page 3176. Otherwise, you need to define it in each local event. ■ The primitive particle shapes available with the Shape operator on page 3171 do not have mapping coordinates. The Mapping operator on page 3210 applies the same mapping coordinates to each particle's entire surface, so it's not suitable in this situation. If you want to apply image-based materials to particles, use Shape Instance on page 3176 instead. ■ If you use a Material operator with Shape Instance on page 3176, be sure to apply mapping coordinates to the reference object(s) on page 9282. You can do this by making sure the object's Generate Mapping Coords option is on (if available), or applying a UVW Map modifier on page 1883 or Unwrap UVW modifier on page 1787. If you don't apply mapping coordinates, the system generates a Missing Map Coordinates warning when you render the scene. ■ If you use an object with a material already applied as a reference object on page 9282 for instanced particles, you don't need a Material operator in the same event. However, the material appears only in the event containing the Shape Instance operator on page 3176; it does not persist from event to event. ■ If you use the Cache operator on page 3213 with Update set to Always, toggling the Material Editor ➤ Show Map In Viewport switch causes Particle Flow to recalculate the cache. ■ You can drag a material from the Material Editor to a Particle Flow source icon, but the material will not have any effect on the system. You must use a Material operator or Shape Instance to apply materials to particles in Particle Flow. ■ Once you've assigned a material to a Material operator, the material shows up in the Material Editor as “hot”; that is, triangles appear in the corners of its sample slot. However, because of the nature of the Particle Flow data structure, the Material Editor functions Select By Material and Get Material ➤ Browse From Selected do not work correctly with Particle Flow systems. You can, however, use Get Material ➤ Browse From Scene. Particle Flow | 3191 Mapping Object Operator Particle View on page 3049 ➤ Click Mapping Object in an event or add a Mapping Object operator to the particle system and then click it. The Mapping Object operator assigns mapping to particles by taking mapping values from one or more reference objects. For every particle, the Mapping Object operator finds the closest point on reference geometry, takes the mapping values and material ID from this point, and then assigns these values to the particle. If a particle enters the event with mapping already assigned, you can blend the mapping values to avoid a jump in color. Blending can occur either by time or by distance from the reference geometry. 3192 | Chapter 12 Space Warps and Particle Systems Interface Particle Flow | 3193 Type Defines the timing used to acquire and apply the mapping. The options are: ■ Once on Event EntryAcquires the mapping once, from the closest point on the reference object geometry when the particle enters the event. Use this option if particles are locked to the reference surface. ■ ContinuousAcquires the mapping continuously during the time a particle is in the current event. If a particle changes location with regard to the reference object, mapping values change according to the closest point at any given time because, in this case, the closest point on the surface is not constant. This option takes significantly longer to calculate, as the closest point has to be computed for every particle on every frame. Use this option only when necessary. Acquire Sub-Material Index When on, the Mapping Object operator assigns the material ID from the nearest face to each particle. If the current event or a previous event has a material operator that uses the reference surface material, this option matches particle coloring to the reference surface. This allows you to blend particles to the reference surface for Multi/Sub-Object materials. TIP Place the Mapping Object operator below a Material operator in the same event. This way, Mapping Object has the final word in assigning the sub-material index to a particle. Uniform Color Per Particle When on, the whole particle gets the same mapping coordinates. As a result, the whole particle is of the same color since the mapping coords are the same across the particle shape. The mapping coordinates are taken from the surface point on the reference geometry nearest the particle pivot point. When off, a mapping for a particle is a linear approximation of the mapping at the nearest surface point. It's as though mapping from the reference geometry is projected onto the particle. As a result, vertices of a particle have different mapping coordinates, and a texture on a particle represents a patch of texture from the reference geometry. This method is slower because it requires more complex analysis of the reference geometry. Mapping From Objects group These controls let you assign reference objects, from which particles acquire mapping or material IDs. [list] Lists reference objects. 3194 | Chapter 12 Space Warps and Particle Systems Add Adds an object to the list. By List Displays a dialog where you can select multiple objects from a list. Remove Removes a highlighted object from the list. Static Objects Indicates that reference geometry is not animated in any way. In this case, the Mapping Object operator acquires mapping and material IDs only once. Animated Surface When on, the Mapping Object operator updates the surface data at every frame, which is necessary if the reference geometry has surface animation that causes it to change shape. If the object has transform animation only (move, rotate, scale), leave this option off. This option is available only when Static Objects is off. Mapping Channels Choose mapping channels to acquire from the reference surface and assign to particles. You can choose up to 32 channels. Vertex Color Channel Acquires the Vertex Color channel from reference geometry and assigns it to particles. Mapping Variation group U/V/W Var % Enables variation of the mapping values assigned. The variation value is a percentage of the standard 0.0-1.0 mapping space. For example, if the U Var % value is 20.0, then the U mapping assigned to a particle can vary by up to 0.2 from the reference geometry mapping U value. Exclude Tiling Clamps mapping values to the 0.0-1.0 range. Variations set by U/V/W Var % can cause mapping values to go below 0.0 or above 1.0. With non-tiling textures, this can cause a visual jump in coloring. When this option is on, if the original mapping value is below 1.0, then adding the variation won’t make it larger than 1.0. If the original mapping is above 0.0, adding the variation won’t make it smaller than 0.0. By default, the acquired mapping values are assigned to a particle as soon as it enters the event. If particles have been assigned mapping values in a previous event, a visual color jump can result. Use Blend Mapping By Time or Blend Mapping By Distance to cause particles to smoothly blend between previous mapping and mapping assigned by the Mapping Object operator in the current event. Blend Mapping By Time Causes particles to blend smoothly between previous and current mapping by time. NOTE When Blend Mapping By Time is on, Blend Mapping By Distance is unavailable. Particle Flow | 3195 Type This option defines the timing used for map blending. It is available only when Blend Mapping By Time is on. The types are: ■ Absolute TimeParticles finish the blending process by the time they reach the frame specified by the Finish At Time parameter. ■ Particle AgeParticles finish the blending process by the time they reach the age specified by the Finish At Age parameter. ■ Event DurationParticles will finish the blending process after they spend a specific period of time in the current event, as specified by the Finish At Time parameter. ■ Limited Change RateLimits the rate at which a particle can change its mapping. The Turnaround Time parameter defines the time interval required to change the mapping value from its previous value to the current value. The greater the Turnaround Time value, the longer it takes for a particle to change to the current mapping. Blend Mapping By Distance Causes particles to blend smoothly between previous and current mapping based on the distance from the reference geometry. At every frame, the operator calculates the distance to the closest surface point. As a particle approaches the reference surface, the blending process occurs. The blending is finished when a particle reaches the Finish Distance in relation to the reference surface. Use this option if particles are directed toward the surface upon entry into the event, as with a Find Target operator. NOTE When Blend Mapping By Distance is on, Blend Mapping By Time is unavailable. Show Map In Viewport Displays map coloring in viewports. Uniqueness Group of Controls The settings in this group change the randomization of the U Var, V Var, and W Var parameters in the Mapping Variation group. Seed Specifies a randomization value. New Generates a new seed using a randomization formula. 3196 | Chapter 12 Space Warps and Particle Systems Material Static Operator Particle View on page 3049 ➤ Click Material Static in an event or add a Material Static operator to the particle system and then select it. The Material Static operator lets you give particles material IDs that remain constant throughout the event. It also lets you assign a material to each particle based on its material ID. The operator can assign the same material ID to all particles, or different IDs to successive particles on a cyclical or random basis. The most common usage of this latter capability is with a Multi/Sub-Object material, for applying a different material to each particle. See also: ■ Materials and Mapping in Particle View on page 3190 ■ Material Frequency Operator on page 3200 ■ Material Dynamic Operator on page 3202 Interface Particle Flow | 3197 The user interface appears in the parameters panel, on the right side of the Particle View dialog. Assign Material When on, the operator assigns a material to the particles. Default=on. [button] Use this button to assign a material to the operator. Click the button and then use the Material/Map Browser to choose the material. Alternatively, drag the material from a Material Editor sample slot to the button. After you assign a material to the operator, its name appears on the button. Assign Material ID When on, the operator defines a material ID number for each particle. Default=off. Show In Viewport When on, the material is shown applied to the particles in the viewports. Assignment Method The Material Static operator gives you a choice of three different methods for assigning Material IDs to particles: Material ID Assigns the same material ID to all particles. Use the numeric field to set the ID value. Cycle Assigns each particle a material ID in the range 1 to N, where N=# Sub-Materials, in increasing sequential order. The first ID assigned is 1, then 2, then ..., then N, then 1 again, and so on. Random Assigns each particle a random material ID in the range 1 to N, where N=# Sub-Materials. # Sub-Materials The highest ID number assigned to particles using the Cycle or Random option. In general, set this to the same number of sub-materials in the Multi/Sub-Object material. If you set it to a smaller number, the operator will use only that many sub-materials, starting with the first and counting upward. NOTE Particle Flow automatically sets this value to the number of sub-materials in the material, once only, the first time you apply the material to the operator. Any subsequent changes in the material itself, or applying a different material to the operator, will not change or update the setting. Rate group These settings let you choose the basis on which the operator changes material ID assignments, and specify the rate of change. 3198 | Chapter 12 Space Warps and Particle Systems Per Second Sets the number of times per second that the assigned material ID is incremented. If this value is the same as the rate at which particles enter the event, then one ID is assigned per particle. If it's lower, then multiple particles are given the same ID, or if it's higher, then Particle Flow increments the assigned ID faster than 1 per particle. For instance, if particles enter the event at intervals of 1/60 of a second, and Per Second=30, then each pair of particles will be assigned the same ID. Or if particles enter the event at intervals of 1/15 of a second, and Per Second=30, then the ID is incremented (or changed randomly) twice per particle. Per Particle Sets the number of particles that must appear before material ID assignment changes. For example, If you set Per Particle=3, the material ID changes every three particles. If you set Per Particle to a number less than 1.0, Particle Flow then moves through the sub-material list more rapidly than one (or more) particle per ID. That is, Particle Flow divides this value into 1.0, and adds the result to the current material ID to obtain the next one. For example, with eight sub-materials, if you set Per Particle=0.33, and use the Cycle option, the following series of IDs will result: 1, 4, 7, 2, 5, 8, 3, 6, 1, ... In general, this option is useful only with the Cycle option. _____ Loop When on, and the last ID has been assigned, Particle Flow loops back around to the first ID and continues the cycle. When off, Particle Flow assigns the last cycle ID to all subsequent particles. Available only with the Cycle assignment method. Default=on. For example, say you want the first eight particles that enter the event to use different materials, and all subsequent particles to use a ninth material. To do so, you would create a nine-sub-material Multi/Sub-Object material and assign it to the Material Static operator. Turn on Assign Material ID, choose the Cycle assignment method, and set # Sub-Materials=9. For Rate, use the default settings of Per Particle and 1.0. Lastly, turn off Loop. Uniqueness group The Uniqueness setting varies the sequence of assigned IDs with the Random option. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Particle Flow | 3199 Material Frequency Operator Particle View on page 3049 ➤ Click Material Frequency in an event or add a Material Frequency operator to the particle system and then select it. The Material Frequency operator lets you assign a material to an event, and specify the relative frequency with which each sub-material appears on the particles. Typically, the material is a Multi/Sub-Object or other compound material, and you specify the frequency by setting a percentage for each of up to 10 different sub-materials (or material ID). Particle Flow assigns IDs to particles in a random sequence, based on these percentages. You can also use other materials that use sub-materials, such as Double Sided and Top/Bottom. See also: ■ Materials and Mapping in Particle View on page 3190 ■ Material Static Operator on page 3197 ■ Material Dynamic Operator on page 3202 3200 | Chapter 12 Space Warps and Particle Systems Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Assign Material When on, the operator assigns a material to the particles. Default=on. [button] Use this button to assign a material to the operator. Click the button and then use the Material/Map Browser to choose the material. Alternatively, drag the material from a Material Editor sample slot to the button. After you assign a material to the operator, its name appears on the button. Assign Material ID When on, the operator defines a material ID number for each particle, and enables the remaining parameters. Default=on. In general, this should remain on. Particle Flow uses the material ID with compound materials to know which sub-material to assign to a particle. Particle Flow | 3201 Show In Viewport When on, the material is shown applied to the particles in the viewports. # Sub-Materials Displays the number of sub-materials in the assigned material. Material ID #1–10 Specifies the relative likelihood of particles to be assigned the corresponding material ID. Assign values for all IDs, or sub-materials, in the material that you want to have applied to the particles. So, for example, with a Multi/Sub-Object material containing five sub-materials, you'd set values for Material IDs #1-5. This value is not absolute, but relative to the other settings. To follow the previous example, if you wanted all five materials to appear with equal frequency, you'd set the same nonzero value for Material IDs #1-5; the actual value wouldn't matter. On the other hand, if you wanted the materials to appear with decreasing frequency, you'd set the lower Material ID settings to relatively higher values; say 100, 80, 50, 33, and 10. In this case, each particle would twice as likely to be assigned material ID 1 as it would material ID 3, and one-tenth as likely to be assigned ID 5 as it would ID 1. The actual sequence of material ID assignments is random, and can be varied by changing the Uniqueness Seed setting. Uniqueness group The Uniqueness setting varies the random sequence of assigned IDs. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Material Dynamic Operator Particle View on page 3049 ➤ Click Material Dynamic in an event or add a Material Dynamic operator to the particle system and then select it. The Material Dynamic operator lets you give particles material IDs that can vary during the event. It also lets you assign a different material to each particle based on its material ID. When used with an animated texture on page 9090, this lets you assign a different frame or map to each particle based on its total age or the amount of time it has spent in the current event. In this context, one example of an animated texture is a material that uses a multi-frame bitmap, such as an AVI file, as the Diffuse Bitmap map on page 6636. Other examples of animated textures are materials that use the Particle Age map on page 6726 or the Particle MBlur map on page 6728. Alternatively, you can use different sub-materials from a compound material such as Multi/Sub-Object. 3202 | Chapter 12 Space Warps and Particle Systems NOTE When using Object Motion Blur, if an event contains a Material Dynamic operator that uses a material with a Particle Age/MBlur/Bitmap map, the event should not also contain a Delete operator, or a Spawn or Collision Spawn test. Also, the event should not contain any tests that are wired to another event. The only exception to this is the Age Test operator when set to Absolute Time without any variation; that is, all particles leave the event at the same time. This applies to the use of Object Motion Blur only; there are no restrictions with Image Motion Blur. See also: ■ Materials and Mapping in Particle View on page 3190 ■ Material Static Operator on page 3197 ■ Material Frequency Operator on page 3200 Procedures Example: To assign animation frames to particles based on age: 1 Prepare a file to be used as the animated bitmap. This can be a multiple-frame format such as AVI, or an image file list (IFL file) that points to a sequence of still images. With the latter, you can use images in a format such as Targa that contain predefined alpha channels to specify particle opacity selectively. 2 Open the map. Material Editor, and assign a Bitmap map as the Diffuse 3 Use the Select Bitmap Image File dialog to assign the file from step 1 as the bitmap. This dialog appears automatically when you first assign a Bitmap map; alternatively, click the Bitmap button on the map's Bitmap Parameters rollout. 4 On the map's Time rollout, turn on Sync Frames To Particle Age. 5 If you want to use the image background or alpha channel to define transparency, on the Maps rollout, copy this map to the Opacity slot, and set the parameters accordingly. Particle Flow | 3203 6 At the material level, turn on (Show Standard Map In Viewport). 7 Add a camera to the scene and set it up as desired. Activate the Perspective viewport and press the C key to set the viewport to show the camera view. 8 Create a default Particle Flow system. 9 Open Particle View. 10 Replace the Shape operator with a Shape Facing operator. Using this operator makes it easier to see the animation. 11 Click the Shape Facing operator, and in its rollout, click the Look At Camera/Object button, and then select the camera. 12 In the Size/Width group, increase In World Space ➤ Units to about 15. 13 Add a Material Dynamic operator to Event 01, and assign it the material from the beginning of this procedure. 14 Turn on Show In Viewport. 15 In the Animated Texture group, make sure Same As Particle ID is chosen, and turn on Reset Particle Age. Always choose Same As Particle ID with an animated texture, and one of the Sub-Material Rotoscoping options when using a compound material. Turning on Reset Particle Age causes Particle Flow to set particles to age 0 as they enter the event. In this example, the particles are born in the event, so technically it's not necessary to turn on Reset Particle Age. However, it's a good habit to get into to ensure that the animation always plays from the first frame. 16 Play the animation. In the viewport, the bitmap animation advances as the particles move, but all the particles show the same frame, regardless of age. This is anomalous behavior related to the limitations of viewport interactivity. The particles render correctly, however. 17 Render the animation. 3204 | Chapter 12 Space Warps and Particle Systems As each particle is born, it begins displaying the animation from the first frame. At each frame, each particle's age is incremented, and it displays the next frame from the applied map. Example: To use the Particle Age map: The Particle Age map on page 6726 applies up to three different colors or maps to particles throughout their life span, gradually changing from one to the next as the particles age. This effect can be used, for example for sparks flying from a fire: At first they're yellow; then, as they cool down, they turn red, and finally they become gray ashes. In order for Particle Age to know how far a particle has progressed through its life span, the particle has to be given a finite life. You do this using the Delete operator on page 3101. 1 Start or reset 3ds Max, and add a Particle Flow system. 2 Open Particle View and the by side. Material Editor. Position them side 3 In Particle View, add a Material Dynamic operator and a Delete operator to Event 01. For Particle Age to work, the Delete operator must be in the same event as the Material Dynamic operator. Alternatively, you can add the Delete operator to the global event on page 9178 so that it affects every event. 4 Click the Delete operator, and in the parameters panel, choose By Particle Age, and set Life Span=100 and Variation=0. This gives each particle a life span of 3 1/3 seconds. 5 Click the Material Dynamic operator. 6 In the Material Editor, assign a Particle Age map as the Diffuse map. On the Particle Age Parameters rollout, set three different colors, such as red, green, and blue. Also change the Age percentage values as necessary. For example, if you want each particle to show the second color a third of the way through its life instead of halfway, change Age #2 to 33. 7 Drag the active material from its sample slot to the material button on the Material Dynamic parameters rollout in Particle View. When the Instance (Copy) dialog appears, click OK to accept the default choice: Instance. 8 In the Material Dynamic parameters, make sure Assign Material ID is on. Particle Flow | 3205 If it isn't, the particles all change color at the same time. There's no need to turn on Show In Viewport; the Particle Age map doesn't appear in the viewports. 9 Render the animation, or a few representative frames. As each particle falls, it gradually changes color, with the oldest particles changing first. TIP You needn't actually delete the particles to use this method. There are several ways to avoid this. You could set Life Span to a higher number than the length of the animation, and then, in the Particle Age map parameters, lower the Age #2 and Age #3 settings. Or, if you're using a local Delete operator, you could use an Age test on page 3268 to move the particles into another event just before they're scheduled to be deleted. In that case, to avoid an abrupt color change, you might want to add to subsequent events a Material Static operator on page 3197 with a material that uses the same final color or map as the Particle Age map. 3206 | Chapter 12 Space Warps and Particle Systems Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Assign Material When on, the operator assigns the specified material (see next parameter) to the particles. Default=on. [button] Use this button to assign a material to the operator. Click the button and then use the Material/Map Browser to choose the material. Alternatively, drag the material from a Material Editor sample slot to the button. After you assign a material to the operator, its name appears on the button. Assign Material ID When on, the operator defines a material ID number for each particle. Default=on. Particle Flow | 3207 In general, this should remain on. Particle Flow uses the material ID with the Particle Age map to find the particle's other properties, including its life span and current age. And it uses the material ID with compound materials to know which sub-material to assign to a particle. Show In Viewport When on, the material is shown applied to the particles in the viewports when the particles are displayed as geometry. Assignment Method The Material Dynamic operator lets you assign Material IDs to particles in several different ways, depending on whether you're using an animated texture or a compound material. Default=Same As Particle ID. Animated Texture group Same As Particle ID Assigns the same material ID to a particle as its particle ID. Choose this when using a material containing an animated texture, such as a Bitmap, Particle Age, or Particle MBlur map. NOTE Particle Flow assigns Particle IDs consecutively to particles at birth, starting with 0. Although the highest possible Particle ID is over 2,000,000,000, the highest possible material ID is 65535. Thereafter, the numbering sequence starts again at 0. Thus, when using a Particle Age map in a material assigned to the Material Dynamic operator, for best results, use a total of 65,536 particles or fewer. Reset Particle Age When on, sets each particle's age to 0 when it enters the event. When using an animated material with a Bitmap map, turn this on to ensure that the animation always plays from the first frame. Randomize Age Offset When on, Particle Flow varies the difference between the particle age and the starting material ID at random. The maximum difference is determined by the Max Offset parameter. Max Offset The maximum number of frames by which Particle Flow can randomly vary particle age. Sub-Material Rotoscoping group These settings let you choose the basis on which the operator changes material ID assignments when using a compound material such as Multi/Sub-Object, and specify the rate of change. Material ID Assigns the same material ID to all particles. Use the numeric field to set the ID value. 3208 | Chapter 12 Space Warps and Particle Systems Cycle Assigns each particle a material ID in the range 1 to N, where N=# Sub-Materials, in increasing sequential order. The first ID assigned is 1, then 2, continuing to increment each by 1 until N; then 1 again, and so on. Random Assigns each particle a random material ID in the range 1 to N, where N=# Sub-Materials. # Sub-Materials The highest ID number assigned to particles using the Cycle or Random option. In general, set this to the same number of sub-materials in the Multi/Sub-Object material. If you set it to a smaller number, the operator will use only that many sub-materials, starting with the first and counting upward. NOTE 3ds Max automatically sets this value to the number of sub-materials in the material, once only, the first time you apply the material to the operator. Any subsequent changes in the material itself, or applying a different material to the operator, will not change or update the setting. Rate Per Sec(ond) Sets the number of times per second that the assigned material ID is incremented. If this value is the same as the rate at which particles enter the event, then one ID is assigned per particle. If it's lower, then multiple particles are given the same ID, or if it's higher, then Particle Flow increments the assigned ID faster than 1 per particle. For instance, if particles enter the event at intervals of 1/60 of a second, and Per Second=30, then each pair of particles will be assigned the same ID. Or if particles enter the event at intervals of 1/15 of a second, and Per Second=30, then the ID is incremented (or changed randomly) twice per particle. Loop When on, and the last ID has been assigned, Particle Flow loops back around to the first ID and continues the cycle. When off, Particle Flow assigns the last cycle ID to all subsequent particles. Available only with the Cycle assignment method. Default=off. For example, say you want the first eight particles that enter the event to use different materials, and all subsequent particles to use a ninth material. To do so, you would create a nine-sub-material Multi/Sub-Object material and assign it to the Material Dynamic operator. Choose the Cycle assignment method, and set # Sub-Materials=9. Set the Rate Per Sec value to the rate at which particles enter the event. Lastly, turn off Loop. Sync By Choose the time frame for applying animated parameters. Available only with the Material ID and Cycle options. ■ Absolute TimeAny keys set for parameters are applied at the actual frames for which they're set. Particle Flow | 3209 ■ Particle AgeAny keys set for parameters are applied at the corresponding frames of each particle's existence. ■ Event DurationAny keys set for parameters are applied to each particle starting when it first enters the event. Rand Offset When on, Particle Flow varies the difference between the particle age and the assigned material ID at random. The maximum difference is determined by the numeric parameter. Available only with the Material ID and Cycle options. Uniqueness group The Uniqueness setting varies the sequence of assigned IDs with the Random option, and the offset with the Randomize Age Offset option. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Mapping Operator Particle View on page 3049 ➤ Click Mapping in an event or add a Mapping operator to the particle system and then select it. The Mapping operator lets you assign a constant UVW mapping to the entire surface of the particles. It works in conjunction with a map specified in a material operator in the current event. By animating the mapping coordinates, you can vary the location on the material map from which the particle color is taken, thus changing the particle color in a predictable way over time. The Mapping operator was designed primarily to be used with gradient maps, although you can use it with any map you like. The procedure below describes a recommended method for using the Mapping operator. See also: ■ Material Static Operator on page 3197 ■ Material Frequency Operator on page 3200 ■ Material Dynamic Operator on page 3202 3210 | Chapter 12 Space Warps and Particle Systems Procedures Example: To animate particle coloring using the Mapping operator: 1 Open the Material Editor, and create a material that uses Gradient Ramp as the Diffuse map. 2 On the map's Gradient Ramp Parameters rollout, make sure Gradient Type is set to Linear. 3 Create a colorful gradient. The Mapping operator uses the colors in left-to-right order as the U value increases from 0.0 to 1.0. 4 Add a Particle Flow Source object to the scene. 5 Open Particle View. 6 In Event 01, click the Speed operator and set Speed to 100. 7 In Event 01, click Display and set Type to Geometry. 8 Add a Material Static operator to Event 01, and then click the operator in the event. 9 Drag the material you created from its Material Editor sample slot to the button (labeled “None”) on the Material Static parameters rollout in Particle View. 10 Add a Mapping operator to Event 01, and then click the operator in the event. 11 On the Mapping rollout in Particle View, turn on Show Map In Viewport. 12 Go to frame 100 and turn on (Auto Key). 13 On the Mapping rollout in Particle View, set Map Values ➤ U=1.0. 14 For Sync By, choose Particle Age. 15 Turn off (Auto Key), and click (Play Animation). As each particle is born and falls, its U mapping coordinate gradually changes from 0.0 to 1.0, while its color changes to match the corresponding position across the Gradient Ramp map. Particle Flow | 3211 To vary the effect, try changing the Gradient Type setting, and animate the V and W values as well. Or, for more sophisticated effects, assign animation controllers such as Noise Float to the Mapping coordinate values, or wire them to other changing parameters in the scene (Animation menu ➤ Wire Parameters ➤ Parameter Wire Dialog). TIP In the Material Editor, it's easier to see the result of the Gradient Type choice if you set Sample Type to Cube. Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Map Values group U/V/W Set the coordinates on the map from which the particle color is taken. One pixel from this location is used to color the entire particle. In general, U and V represent the horizontal and vertical dimensions, respectively, beginning at the upper-left corner of the map, and W is useful only with three-dimensional maps, in which context it specifies depth. Sync By Choose the time frame for applying animated parameters. For further information, see Animation Offset Keying group on page 3140. ■ Absolute TimeAny keys set for parameters are applied at the actual frames for which they're set. 3212 | Chapter 12 Space Warps and Particle Systems ■ Particle AgeAny keys set for parameters are applied at the corresponding frames of each particle's existence. ■ Event DurationAny keys set for parameters are applied to each particle starting when it first enters the event. Channel group The Channel setting determines whether the mapping is applied to a map channel or to a vertex color channel. Map Channel The mapping is applied to the specified map channel. Vertex Color Channel The mapping is applied to the particles' vertex color channel. _____ Show Map In Viewport The map coloring is visible in the viewports. Additional Operators The operators described in this section are utilities to help you manage Particle Flow systems. Cache Operator Particle View on page 3049 ➤ Click Cache in an event or add a Cache operator to the particle system and then select it. The Cache operator records and stores particle states to memory. This is particularly useful with large or complex particle systems, where playback, and particularly backtracking, are slow because of the large amount of processing required. When Cache is in effect, the first time you play or go to a frame, the particle motion up to and including the frame is calculated and recorded in the cache. Thereafter, playing the frame or any previous frames uses the data in the cache, rather than recalculating the particle action. With caching on, the particle system needs to be calculated only once for each frame, and thereafter playback and moving among frames is significantly faster. To cache an entire flow, add a Cache operator to the global event. To cache an individual local event, add a Cache operator to it. Particle Flow | 3213 To determine how best to implement caching in your particle system, turn on Particle View ➤ Track Update ➤ Update Progress, and then play the animation or go to a frame relatively distant from the current frame. Observe the particle diagram, and watch for events with actions that highlight longer than a fraction of a second, or events with more activity than the rest. Any such events could benefit from caching. NOTE Use no more than one Cache operator per event, unless you’re using two: one set up for viewports, and the other for rendering. Similarly, don’t use global and local Cache operators in the same flow, unless one is set up for viewports, and the other for rendering. TIP When using real-time playback, if playback isn't fast enough, you can use the Cache operator to speed it up. For best results, set the Viewport integration step to the same value as the real-time playback speed, and set cache sampling to Integration Step. For example, if the real-time playback speed is set to 1/4x, then the Viewport Integration Step for viewport should be also set to 1/4 Frame, and the Cache operator Sampling parameter should be set to Integration step. Thus, because real-time playback is showing four times as many frames per second, and the Cache operator has stored four times as many frames per second, the two are synchronized. If the real-time playback speed is set to 2x or 4x, set the Viewport Integration Step to Frame. Procedures Example: To use the Cache operator: 1 Start or reset 3ds Max, and then add a Particle Flow system. 2 Open Particle View. 3 In Particle View, go to Options menu ➤ Track Update and turn on Update Progress. This lets you monitor calculation of the particle system by highlighting actions in Particle View as the system executes them. 4 In Particle View, Add a Keep Apart operator on page 3165 to Event 01. Keep Apart is a fairly calculation-intensive operator. 5 Go to frame 100 by clicking the right end of the time slider track. There is a delay as the system calculates all particle motion between frames 0 and 100. This is necessary because Particle Flow is a history-dependent system. At the same time, the actions in the system highlight briefly in Particle View as they're executed at each frame. 3214 | Chapter 12 Space Warps and Particle Systems 6 Go to frame 50 by clicking the center of the time slider track. There is a another delay as the system calculates all particle motion between frames 0 and 50. 7 In Particle View, drag a Cache operator from the depot to Event 01. Insert it anywhere in the event. When you release the mouse button, there is a delay as the Cache operator automatically caches particle motion from the start of the animation to the current frame. Meanwhile, each action highlights briefly at each frame. 8 Go to frame 20 or so. The only operators that highlight are Cache (very fast) and Display; there is no delay for calculation. All frames between 0 and 50 have been cached. 9 Go to frame 100. The delay this time is a result of caching particle motion for frames 50 to 100. 10 Jump to different frames, and drag the time slider. All particle motion is now cached, so no delays occur. But if you change a setting's value, the Cache operator automatically recalculates and stores the particle motion. 11 Go to frame 100, and then, in Particle View, click the Keep Apart operator and use the keyboard to change the Falloff Zone value to 8.0. By default, the Cache operator automatically updates the cache when you change any parameters it stores. Thus, when you change the Falloff Zone value at frame 100, it recalculates and recaches the entire animation. Next, you'll briefly explore how manual caching works. 12 Click the Cache operator and set Update to Manually. The Cache operator no longer updates the stored data automatically when you change a parameter. 13 Click the Keep Apart operator, change the Falloff Zone value to 9.0, and then drag the time slider. There is no delay, because the animation is still playing back from the cached data. However, the cached data is now invalid, because you changed a parameter in the particle system. 14 Click the Cache operator, and in the Manual Update group, click Update. Particle Flow | 3215 3ds Max closes Particle View, updates the cache for the active segment, and then reopens Particle View. The cached data is now accurate. Other manual update options let you update the cache for the entire animation or a custom frame range. As you can see, the Cache operator is quite powerful. When present and active, by default it overrides recalculation of the particle system, except when you change any action parameters, whereupon it automatically updates the cached data. Used appropriately, it can save a good deal of time in setting up and testing particle systems. Interface 3216 | Chapter 12 Space Warps and Particle Systems The user interface appears in the parameters panel, on the right side of the Particle View dialog. Use At Caches particle motion when playing back in the viewports, or at render time, or both. Default=Viewport. IMPORTANT Choose the Viewport/Render option only when using the same number of particles in the viewports and for rendering (see Quantity Multiplier group on page 3073). Otherwise, unpredictable results can occur. Update If you change a parameter in the particle system, the cached data might become invalid. This setting determines whether Particle Flow should update the cache automatically, or let you do it manually. Default=Always. ■ AlwaysChanging any parameter under the Cache operator's purview causes it automatically to update stored data from the start of the current range (see next parameter) to the current frame. ■ ManuallyUpdating occurs only when you click the Update button, or clear the cache and then move to a different frame. Range Sets the frame range within which the Cache operator operates. Default=Active Segment. ■ CompleteParticle Flow caches the entire animation. ■ Active SegmentParticle Flow caches only frames in the active segment, as defined by the Start Time and End Time settings on the Time Configuration dialog. This is the frame range shown on the track bar. You can also change the active segment by holding down Alt and Ctrl and dragging the track bar with the left, middle, or right mouse button. ■ CustomParticle Flow caches only frames in the custom range, as defined by the Cache operator's Start Time and End Time settings (see following). NOTE If you cache only part of the animation, Particle Flow calculates particle behavior in subsequent, non-cached frames using the cached data. For example, if you cache frames 0 to 50, and then jump to frame 60, Particle flow will calculate frame 51 based on the cached data, and frames 52 to 60 based on each previous frame. Start/End Time The first and last frames of the range considered for caching when Range=Custom (see above). Default=0, 30. Particle Flow | 3217 NOTE The frame range time frame is in absolute time; that is, in terms of the entire animation. If you use a Cache operator locally, and specify a frame range during which no particles are present in the event, Particle Flow won't use the cache. Sampling Determines how often the Cache operator samples and caches the animation. Default=Every Frame. ■ Every FrameParticle Flow caches animation data once per frame. ■ Integration StepParticle Flow caches animation data at each integration step, using the Integration Step setting as specified in the Use At setting (see above). If Use At is set to Viewport/Render, it uses lower of the two Integration Step values. For example, if Viewport is set to Half Frame, and Render to 1/8 Frame, the sampling rate would be eight per frame. ■ Every Nth FrameParticle Flow caches animation data at frame intervals specified by the N value, below. N Determines the frame interval for caching when Sampling (above) is set to Every Nth Frame. Default=5. For example, with N set to the default value of 5, the cache stores animation data for every fifth frame. Cache Test Results When caching particle data, this caches the results of test actions as well. Default=on. This is important if Cache is used as a local operator, and the next event doesn’t have a Cache operator. For the next event to work properly, it should receive particles from the current event. Those particles result from the activity of a test action. The Cache operator can record the test activity to play it back later. If the Cache operator is used as a global operator, there is no need to cache the test results. This is because the system has cache data for every event, and is able to jump to an arbitrary frame without the need for test results. Save Cache with File When on, Particle Flow Includes the cached data with scenes that you save to disk. This can significantly increase the size of saved files, but saves the time of recalculating the particle motion upon reloading the file. Default=off. Normally, the cached data is saved only in disk files that you create with the Save or Save As commands. You can also instruct 3ds Max to include cached data with other types of files using the two following options. Save Cache with Hold Saves cached data in the Hold file, created with Edit menu ➤ Hold. Default=off. 3218 | Chapter 12 Space Warps and Particle Systems Manual Update group These controls let you update or clear the cache manually within a frame range, or clear the entire cache. Update Calculates particle motion within the current range (defined below) and stores it in the cache, replacing any existing cached data. Available only when Range is set to Active Segment or Custom. During the update, 3ds Max temporarily closes Particle View and displays a Cache Update Progress bar, while moving the time slider through the cached range. At the same time, by default, the animation plays in the viewports. To prevent this, and speed calculation, turn off Update Viewports. If the cache runs out of memory during a manual update, Particle Flow halts the update operation and displays an alert. Click OK to continue, and then, if possible, increase the Limit value before updating the cache again. Clear Deletes any cached data. After you clear the cache buffer, if you go to a different frame or change any action parameters, Particle Flow automatically caches particle motion even if Update is set to Manually. Range Sets the frame range within which the Cache operator recalculates data when you click Update. Default=Active Segment. ■ CompleteParticle Flow clears the cache for the entire animation. Choosing Complete makes the Update button unavailable; this option is for clearing the cache only. To update the entire animation, set the active segment or the custom range to encompass all frames, and then use the corresponding choice and click Update. ■ Active SegmentParticle Flow updates the cache only for frames in the active segment, as defined by the Start Time and End Time settings on the Time Configuration dialog. This is the frame range shown on the track bar. You can also change the active segment by holding down Alt+Ctrl and dragging the track bar with the left, middle, or right mouse button. ■ CustomParticle Flow updates the cache only for only frames in the custom range, as defined by the Start Time and End Time settings (see following). Start/End Time The first and last frames of the range that's updated when Range=Custom (see above). Defaults=0, 30. Update Viewports When on, the animation plays in the viewports during manual updating of the cache. Turn this off to disable playing the animation Particle Flow | 3219 in the viewports during manual caching; this can speed up the caching process, especially with large or complex particle systems. Default=on. Memory Used (K) group The Cache operator stores data in system memory; you can specify an upper limit for the amount of memory it uses. If the Limit setting and the amount of cached data exceeds the available free memory, the computer system might use virtual (hard disk-based) memory instead, which slows down the caching. If Particle Flow fills the cache, any remaining frames are calculated on the fly. This group also lets you monitor the amount of memory used for caching data. Limit The maximum amount of system memory used to cache particle data, in kilobytes. Default=100,000, or 97.6 MB. Total The amount of memory currently used by the cached data, in kilobytes. Read-only. NOTE Even animation frames with no particles will probably consume a certain amount of cache memory. The reason for this is that the cache also stores states for randomly calculated values such as Variation, to ensure that particle activity is consistent across a rendering network, and with machines that might not have regular access to all frames. Current Frame The amount of memory used by the data cached for the current frame, in kilobytes. Read-only. Display Operator Particle View on page 3049 ➤ Click Display in an event or add a Display operator to the particle system and then select it. The Display operator lets you specify how particles appear in the viewports. The default display mode is Ticks, which is the simplest, and thus the fastest to display. It's useful for animations that use a large number of particles. At the opposite end of the complexity spectrum is the Geometry option, which lets 3ds Max depict particles as their actual shapes. In addition, the Display operator provides a variety of simple shapes that provide fast feedback in testing animation, as well as the ability to easily distinguish among particles in different events. It also lets you set the percentage of visible particles. By default, Particle Flow automatically inserts a new Display operator in each local event you add to the system. Alternatively, you can choose Particle View 3220 | Chapter 12 Space Warps and Particle Systems ➤ Options menu ➤ Default Display ➤ Global. With this option, Particle Flow automatically inserts a Display operator in new global events, but does not add one to new local events. Particles in any local event that doesn't contain a Display operator don't appear in the viewports, unless an associated global event contains a Display operator (that is, a global Display operator). If a particle is affected by multiple Display operators (for example, both global and local operators) simultaneously, 3ds Max generates all viewport particle representations at the same time. See also: ■ Render Operator on page 3228 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Type Choose how particles appear in the viewports. The two-dimensional particle markers depict position only. Geometry shows how particles will actually render, in three dimensions; Lines shows speed and direction of motion; and Bounding Boxes reflects scale and orientation. In the following list, each choice's description is preceded by the number of dimensions used by each particle representation: ■ NoneParticles do not appear in the viewports. ■ Dots(0D) Each particle appears as a single pixel. ■ Ticks(2D) Each particle appears as a + sign. ■ Circles(2D) Each particle appears as a small circle. Particle Flow | 3221 ■ Lines(1D) Each particle appears as a line, one pixel thick. The line's length indicates particle speed, and its orientation reflects the direction of motion. Use this option for fast, accurate feedback when experimenting with the Speed operators. TIP When using the Lines display type with the OpenGL display driver, slow-moving particles might not appear properly in the viewports. In such cases, to see all particles, add a second Display operator in the same event and set its Type to Dots. ■ Bounding Boxes(3D) Each particle appears as a bounding box. Use this option for a good representation of the final animation, at a slight cost in computational speed. ■ Geometry(3D) Each particle appears as its actual geometry. Use this option for the best representation of the final animation, at the greatest cost in computational speed. ■ Diamonds(2D) Each particle appears as a diamond. ■ Boxes(2D) Each particle appears as a small square. ■ Asterisks(2D) Each particle appears as an asterisk (*). ■ Triangles(2D) Each particle appears as a small triangle. Visible % Specifies the percentage of particles visible in the viewports. This option lets you speed up viewport redrawing by reducing the number of visible particles. Show Particle IDs When on, each particle's unique index number is visible in the viewports. Particles are numbered in the order of their birth, starting with 1 for the first particle born. [color swatch] Shows the color for particles displayed using options other than Geometry, as well as for the particle IDs. Particle Flow chooses a different color at random for each Display operator added to the system. In addition to the Type options, using different colors helps to distinguish among particles in different events. To change the color, click the color swatch and use the Color Selector dialog to choose a new color. If a system has a global Display operator, and you select its Source icon in a viewport, then you can change the color of the global Display operator from the color swatch on the Modify panel. However, changing the global Display 3222 | Chapter 12 Space Warps and Particle Systems operator's color in Particle View does not change the color of the swatch on the Modify panel. NOTE When a Particle Flow source icon is selected, all of its non-selected particles, other than those shown as geometry, are colored white in the viewports. To see all assigned particle colors, deselect the particle system. Selected Choose how selected particles on page 3074 appear in the viewports. The choices are the same as for Type, above. Force Operator Particle View on page 3049 ➤ Click a Force operator in an event or add a Force operator to the particle system and then select it. The Force operator lets you influence particle motion with one or more space warps from the Forces category. Use this operator along with different forces to simulate the effects of wind, gravity, and so on. The following force space warps work with the Force operator: ■ Displace on page 2964 ■ Drag on page 2941 ■ Gravity on page 2958 ■ Motor on page 2931 ■ PBomb on page 2947 ■ Push on page 2926 ■ Vortex on page 2936 ■ Wind on page 2960 NOTE By default, the influence of these space warps on Particle Flow particles is equivalent to their influence on the 3ds Max 2 particle systems: PArray, Super Spray, Blizzard, and PCloud. To obtain an influence on Particle Flow particles equivalent to that of the 3ds Max 1 particle systems Snow and Spray, set Influence on page 3226 to 100.0. Particle Flow | 3223 TIP To make the particles follow a path, use the Speed By Icon operator on page 3146 and use Path Constraint to assign its icon to the path. For a procedure, see Example: To send particles along a path: on page 3148. To employ deflectors for particle dynamics, with or without the Force operator, use the Collision test on page 3269 and Collision Spawn test on page 3274. Script Wiring rollout This rollout appears in the parameters panel below the main operator rollout after you highlight the operator, right-click it, and then choose Use Script Wiring. Thereafter, a check mark appears next to the Use Script Wiring in the right-click menu, and the rollout appears whenever you highlight the operator. To turn off script wiring, choose Use Script Wiring again from the right-click menu. Script wiring lets you use a script to control parameters that you normally specify in the operator's parameters. Place a Script operator on page 3230 before the Force operator in the event, and then use it to define values in the particleFloat channel. You'll find an example script below. Use Script Float As Choose either of the following: ■ Not UsedParticle Flow uses the Influence setting on page 3226 specified in the Parameters rollout. ■ InfluenceParticle Flow applies the script to the Influence setting. particleFloat Sample Script NOTE See this topic in the online User Reference for the particleFloat sample MAXScript code. Procedures To affect particle motion with force space warps: 1 Add one or more force space warps to the scene, and set them up as necessary. 2 In Particle View, add a Force operator to any events in which particles are to be affected by the forces. To affect particles in all events, add the Force operator to the PF Source instead. 3 Highlight the Force operator, and then use the Add or By List button to apply the force space warps to the operator. 3224 | Chapter 12 Space Warps and Particle Systems Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Force Space Warps group This group displays the forces currently in effect, and let you add and remove forces. [List] Shows the forces that apply to this operator. If more than three forces apply, a scroll bar appears at the right side of the list. If you delete a listed space warp from the scene, its name is replaced in the list by the entry “ ”. NOTE Particle Flow applies the forces to particle motion in the order in which the space warps appear in the list; the effect is cumulative in top-to-bottom order. First, the topmost space warp is applied to particle motion, then the second space warp is applied to the result of the first space warp, and so on. Changing the order can alter the final result. Add Click this button, and then select a force space warp in the scene to add it to the end of the list. Particle Flow | 3225 By List Click this button, and then use the Select Force Space Warps dialog to add one or more space warps to the list. The space warps must already exist in the scene. Particle Flow adds space warps to the list in same order in which they appear in the dialog. To effect a different order, use the Add button to add them one at a time. Remove Highlight a space warp in the list, and then click this button to remove it from the list. Any removed space warps remain in the scene. Force Field Overlapping Determines how multiple forces that occupy the same volume of space affect the particles. With Additive, the forces are combined according to their relative strengths. With Maximum, only the force with the greatest strength affects the particles. For example, you might apply Wind and Gravity space warps to particles, and set their Strength parameters to 1.5 and 1.0, respectively. If you choose Additive, the Wind space warp will have approximately 50 percent more influence over the particles than the Gravity space warp. But if you choose Maximum, only the Wind space warp will affect the particles. Influence Specifies the strength with which the force or forces are applied to the particles as a percentage. Default=1000.0. A negative Influence value reverses the force effects. NOTE By default, the influence of the Force space warps on Particle Flow particles is equivalent to their influence on the 3ds Max 2 particle systems PArray, Super Spray, Blizzard, and PCloud. To obtain an influence on Particle Flow particles equivalent to that of the 3ds Max 1 particle systems Snow and Spray, set Influence=100.0. Offset Influence group Choose the time frame for applying animated parameters. For an explanation, see Animation Offset Keying group on page 3140. Sync By Choose the time frame for applying animated parameters: ■ Absolute TimeAny keys set for parameters are applied at the actual frames for which they're set. ■ Particle AgeAny keys set for parameters are applied at the corresponding frames of each particle's existence. ■ Event DurationAny keys set for parameters are applied to each particle starting when it first enters the event. 3226 | Chapter 12 Space Warps and Particle Systems Notes Operator Particle View on page 3049 ➤ Click Notes in an event or add a Notes operator to the particle system and then select it. The Notes operator lets you add a textual comment to any event. It doesn't have any direct effect on the particle system, but it helps you keep track of the overall function of each event. NOTE You can also add a comment directly to an event or action by right-clicking it and choosing Comments. Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. The interface is a simple text box. Click in the box and enter your text. Particle Flow | 3227 Render Operator Particle View on page 3049 ➤ Click a Render operator in an event or add a Render operator to the particle system and then select it. The Render operator provides controls related to rendering particles. You can specify the form that rendered particles are to take, and how to convert the particles to individual mesh objects for rendering purposes. Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Type Lets you render particles as bounding boxes or geometry, or disable the particle system at render time, or enable the particle system but prevent it from sending renderable particles to the 3ds Max renderer. Default=Geometry. ■ NoneThe particle system (or event, if used locally) is considered non-renderable, and therefore is never evaluated during render. ■ BoundingBoxParticles render as boxes whose sizes represent the particle geometry extents. Use this option with complex particle systems to speed up test renders. ■ GeometryParticles render with their actual geometry. Use this option with simpler particle systems, and for the final render. ■ PhantomUse this option when you want Particle Flow to function normally, calculating the animation at each frame, but not to render geometry directly. An example would be when you're using a Final Step Update script on page 3078 to pass data from the particle system to other objects in the scene. 3228 | Chapter 12 Space Warps and Particle Systems Visible % The percentage of particles that render. Range=0 to 100. Default=100. Lower this value for faster rendering of complex particle systems. You can also reduce the number of particles in the system at render time with the Quantity Multiplier ➤ Render setting on page 3073. Render Result group These settings determine how the system converts particles to mesh format for rendering. By default, 3ds Max renders all particles as a single mesh per event, which provides for the most efficient operation under most conditions. However, in some situations each particle should be converted to an individual mesh object by turning on Mesh Per Particle. For example, with particles each of whose face count exceeds 10,000, it's most efficient to render a mesh per particle. Alternatively, you can opt to combine particles into multiple meshes by specifying a face count and number of particles per mesh. Certain renderers might require a non-default setting for Render Result. Consult the renderer documentation for further information. NOTE The number of particles Particle Flow can handle per frame is limited only by system resources, but each single mesh is allowed a maximum of 5,000,000 faces or vertices. If the total number of faces or vertices in a mesh exceeds 5,000,000, Particle Flow ignores particles beyond this limit. Single Mesh Sends the renderer one mesh object comprising all particles in the system. Multiple Meshes Sends the renderer the specified number of mesh objects, each containing the specified number of particles. If the result of dividing the total number of particles by the Particles p/Mesh value is less than the specified Mesh Count value, some of the meshes might contain few or no faces. This is a compromise method of operation, and can be used with renderers that cannot handle all particles in a single mesh, but can deal with groups of particles of a certain size. Mesh Count The maximum number of mesh objects that Particle Flow will send to the renderer. Particles p/Mesh The number of particles that each mesh object will comprise. Mesh Per Particle Sends the renderer a separate mesh for each particle. This is the least efficient method of operation, but might be required by certain renderers. Particle Flow | 3229 NOTE With the default scanline and mental ray renderers, this method does not support rendering of particles born after the start of the rendered frame sequence. In general, use Mesh Per Particle only with renderers that require it. Script Operator Particle View on page 3049 ➤ Click Script Operator in an event or add a Script Operator to the particle system and then select it. The Script operator enables control of particles within the Particle Flow system using a MAXScript script. The script can use any program functionality available to MAXScript. When you add a new Script operator, it contains a default script that slows particles, and then, when they are slow enough, splits off the first 50 particles into a stream traveling in a negative direction on the world X axis, and the remainder traveling in the opposite direction. TIP You can use MAXScript to align particle scale with the underlying bitmap, thus providing a “scale bitmap” function. This requires a sandwich with three operators: two Script operators, and a Speed By Surface operator in between. The first Script operator reads the current speed vector into the MXVector channel, thus caching the current speed. The Speed By Surface operator changes the speed according to the underlying bitmap. And the second Script operator reads the speed channel into a temporary variable, restores the speed from the MXVector channel (the cached value), and uses the temporary variable to define the scale. This way, the original speed is restored, and the scale value is defined by the bitmap. Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Edit Script Click this button to open the current script in a MAXScript Editor window. 3230 | Chapter 12 Space Warps and Particle Systems For detailed information about the MAXScript utility, open the MAXScript Help, available from Help menu ➤ MAXScript Help. Uniqueness group The Uniqueness setting provides a randomization seed that the script can use or ignore. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Painting Particles Particle Flow includes the ability to generate particles from specific locations by “painting” particle generators, or seeds, on object surfaces. The toolset for doing so includes the Particle Paint helper and the Placement Paint operator. Particle Paint The Particle Paint toolset lets you use a spray-paint metaphor to specify arbitrary areas of object surfaces for emitting particles. To paint particles, you first apply particle “seeds” to one or more objects with the Particle Paint helper, and then use other controls to specify how the seeds should generate particles. Particle Paint Helper Create panel ➤ (Helpers) ➤ Particle Flow ➤ Particle Paint The Particle Paint helper enables you to apply particle seeds with a specific pattern and timing onto the surface of one or more objects. Particle seeds painted with the Particle Paint helper are not particles, but are seeds that can be turned into particles with the Birth Paint or Placement Paint operators in Particle Flow. You can spray particle seeds with a freehand painting tool, or by using 3ds Max splines to define the pattern. Particle Paint works in any orthogonal viewport such as a Front or Top view. It sprays directly into the viewport (that is, perpendicular to the plane of view), and plants particle seeds on the surface of first object that it hits. Particle Flow | 3231 Particle Paint Icon To create the Particle Paint icon, click Create panel ➤ Helpers ➤ Particle Flow ➤ Particle Paint, and then drag in a viewport. The Particle Paint icon is composed of two parts: a circle and a spray can icon. Particle Paint helper icon The Particle Paint helper uses the metaphor of a real-world airbrush to spray-paint particle seeds onto a surface. When you use the Freehand paint tool, particle seeds are sprayed through a virtual nozzle, as with an airbrush. The circle in the Particle Paint icon represents the size of the nozzle. If, on the other hand, you use stroke splines, the particle seeds are sprayed along the spline. The Particle Paint icon does not have to sit in front of or on the objects on which you plan to paint particle seeds, nor does it have to be created in the viewport in which you plan to paint. Deleting the Particle Paint icon deletes all particle seeds and strokes associated with it. Strokes The Particle Paint helper works with particle groupings called strokes. With a real-world airbrush, each time you depress the nozzle, spray, then release the nozzle, you create a stroke. With the freehand tool, you can drag across objects several times to create strokes. With the spline method, you can pick several splines to create different strokes. Each set of strokes stored with the Particle Paint helper can be used as a series of birth instructions with the “Birth Paint” on page 3256 and “Placement Paint” on page 3258 operators in Particle Flow. You can work with each stroke separately 3232 | Chapter 12 Space Warps and Particle Systems to adjust its timing, delete some of its particles, and perform other operations. To edit particle seeds and strokes after creating them, select the Particle Paint helper and then access the Editing rollout on the Modify panel. You can undo the creation of strokes, and you can also delete particle seeds or change particle seed timing with the options on the Editing rollout. You can also restart by deleting the Particle Paint helper and creating a new one. Procedures Example: To create strokes with freehand painting: 1 Create a sphere in the Top viewport. 2 Click Create panel ➤ (Helpers). Choose Particle Flow, then on the Object Type rollout, click Particle Paint. Drag in any viewport to create the Particle Paint helper. 3 With the Particle Paint helper selected, go to the Modify panel. 4 On the Setup rollout, click Freehand Paint. 5 In the Front viewport, position the mouse cursor over the sphere. A set of nozzle crosshairs appear, indicating that Particle Paint is ready to paint. NOTE You can create freehand strokes only in orthographic viewports. 6 Drag the nozzle crosshairs over the sphere for a few seconds, then release. After you release, the particle seeds appear as +-shaped tick marks on the object surface. You have just created one stroke. 7 Move the time slider to a later frame. 8 Drag the nozzle over a different part of the sphere to create another stroke. 9 Click the Freehand Paint button to turn it off. 10 On the Editing rollout, turn on Show Particle Timing. 11 Drag the time slider to see the particle timing. Particle Flow | 3233 As you drag the time slider, the particle seeds change color as they become eligible for birth. You will see the second stroke begin at the frame to which you moved the time slider before making the stroke. To create strokes with splines: 1 Create a 3D object in any viewport. 2 In the Front viewport, create two splines, such as a line and a circle. Place the splines so they overlap the 3D object when viewed in the Front viewport. The splines don't have to actually be in front of the 3D object in 3D space. But because Particle Paint will project the splines onto the object to create particle seeds, the splines must overlap the 3D object when viewed in the viewport. 3 Click Create panel ➤ Helpers ➤ . Choose Particle Flow, then on the Object Type rollout, click Particle Paint. Create the Particle Paint helper in any viewport. 4 With the Particle Paint helper selected, go to the Modify panel. 5 On the Setup rollout, click Pick Stroke Spline. 6 Activate the Front viewport. 7 With the time slider at frame 0, click one of the splines in the Front viewport. This creates the first stroke. 8 Move the time slider to a later frame, and click another spline. This creates a second stroke, starting at the current frame. 9 Click Pick Stroke Spline again to turn it off. 10 On the Editing rollout, turn on Show Particle Timing. 11 Drag the time slider to see the particle timing. As you drag the time slider, the particle seeds change color as they become eligible for birth. You will see the second stroke begin at the frame to which you moved the time slider before picking the second spline. 3234 | Chapter 12 Space Warps and Particle Systems Interface The controls on the Setup, Orientation, and Mapping rollouts set parameters for particle seeds upon creation. These settings go into effect when you create the particle seeds with the freehand or spline tool. Changing the parameter values after you create particle seeds has no effect on the seeds. After particle seed creation, you can change some aspects of seeds and strokes with the Editing rollout settings. The Particle Paint rollouts are as follows: Setup Rollout (Particle Paint) on page 3235 Layout Rollout (Particle Paint) on page 3242 Orientation Rollout (Particle Paint) on page 3246 Mapping Rollout (Particle Paint) on page 3247 Editing Rollout (Particle Paint) on page 3249 Setup Rollout (Particle Paint) Select a Particle Paint helper. ➤ Modify panel ➤ Setup rollout The parameters on the Setup rollout determine the density and placement of particle seeds as well as stroke timing. IMPORTANT For these parameters to affect the strokes or seeds, you must set them before you create particle seeds. Changing values after creating particle seeds has no effect on the existing strokes or seeds. Particle Flow | 3235 Interface 3236 | Chapter 12 Space Warps and Particle Systems Particle Flow | 3237 Freehand Paint Activates a freehand paint tool, allowing you to drag anywhere in an orthographic viewport to set particle seeds. The timing of the drag across an object determines the base timing for particle birth when used with the Birth Paint or Particle Paint operators. This option is available only on the Modify panel. IMPORTANT To use the freehand paint tool, you must work from one of the orthographic viewports such as Top or Front. You cannot use this tool in Perspective, Camera, or Spotlight viewports. Each time you release the mouse while using this tool, you create an individual stroke. You can create as many strokes as you like for each Particle Paint helper. Particle timing and other options for each stroke are governed by the other settings on the Setup rollout. To stop creating strokes, right-click in the active viewport or click the Freehand Paint button again. Pick Stroke Spline Allows you to pick one or more standard splines as paths for the particle seeds. Particles are then placed along this spline, but are projected on to 3D surfaces into the orthogonal viewport. The splines do not have to be in front of the surfaces in the orthographic viewport; Particle Paint will project from splines to surfaces as if the splines were in front of the objects regardless of their actual positions in 3D space. The picked splines can be either open or closed splines. NURBS curves cannot be used as spray splines. You can pick as many splines as you like, and each spline picked is considered to be a separate stroke. The stroke starts from the spline's first vertex, and continues along the spline until it reaches the end of the spline (or the first vertex, in the case of closed splines). Total Particle Seeds The total number of particle seeds that have been generated. Strokes The number of strokes created by the Particle Paint helper. Brush Radius Adjusts the spray emitter's nozzle size. The change in size is reflected in the Particle Paint icon. This value determines the distance around the center of the nozzle by which particle seeds spread when using either method to generate particle seeds. This value can be animated over time. Paint Density group These controls set the particle seeds' area of distribution within the emitter nozzle. 3238 | Chapter 12 Space Warps and Particle Systems Center (%) Percentage of particle seeds that spray at the center of the nozzle. Sides (%) Percentage of particle seeds that spray at the edges of the nozzle. Higher percentages result in wider bands of particles. Paint Flow Rate group These controls determine how many particle seeds are emitted and how fast they are emitted over the course of a single stroke. For the freehand paint method, a stroke is defined by the time you press the mouse button to start the stroke, until you release the mouse button. For a spline, one stroke is distributed over each spline picked. Stroke Limit Sets the overall number of particle seeds that can be emitted per stroke when using the freehand or spline methods. So if Seeds p/sec is 25.0 and Stroke Limit is 100.0, you can spray for four seconds before running out of particle seeds with that one stroke. This parameter is overridden by the Stroke spray rate type, selected under Type (see following). Type Sets the spray rate type. The available choices are Time, Length, and Stroke. Each one works with one of the later parameters to set the spray rate. ■ TimeSets the spray rate by particle seeds per second. ■ LengthSets the spray rate by spatial movement of the nozzle. ■ StrokeSets the spray rate with a specific number of particle seeds per stroke, regardless of stroke length. This option overrides the Stroke Limit parameter (see preceding). [rate value] Depending on the Type setting (see preceding), one of these is available to set the number of seeds created when painting. ■ Seeds p/secThe number of particle seeds emitted per second as you draw in viewports. Higher values cause more seeds to be emitted. This option is available only for the Time spray rate type (see preceding). ■ Paint StepThe distance the nozzle center must move between emitting individual particle seeds. Higher values cause fewer seeds to be emitted during a stroke. This option is available only for the Length spray rate type. ■ Total AmountDetermines the total number of particle seeds per stroke, regardless of the stroke length in units or time. Seeds are evenly distributed over the stroke time. This option is available only for the Stroke spray rate type. Particle Flow | 3239 Brush Adjustment group These controls are used for fine-tuning the Brush Radius and Flow Rate with regard to stroke timing. Radius Provides for varying the seed-painting radius over the course of each stroke. Alternatively, you can animate the Brush Radius parameter to vary the brush size, but that animation occurs in absolute time (that is, within a specific frame range). Use this option to adjust the brush radius within a single stroke regardless of its start and end times. Clicking Radius opens the “Brush Radius Graph (Particle Paint)” on page 3252. The settings on the graph are in effect when the Radius option is on. Rate Provides for varying the seed-painting rate over the course of each stroke. Alternatively, you can animate the Seeds p/sec parameter to vary the rate, but this animates the rate in absolute time (that is, within a specific frame range). Use the Rate option to adjust the seed painting rate within a single stroke regardless of its start and end times. Clicking Rate displays the “Paint Flow Rate Graph (Particle Paint)” on page 3254. The settings on the graph are in effect when the Rate option is on. _____ Display Type This drop-down list gives you the choice of how to display the particles in the viewports. You can choose Ticks or Flags as the display type. The Flags type gives more information about each seed’s rotational data. The pole of a flag marker is aligned with its seed’s local Z axis, while the banner points in the direction of the local X axis. Particle Size Sets the size of the flag markers. Available for the Flags type only. Stroke Start group The settings in this group determine the start frame for particle seeds generated by a stroke. These timing values can be used later by the Birth Paint on page 3256 and Placement Paint on page 3258 operators for precise timing of every particle emitted. Stroke Start Choose either of the following: ■ Current FrameStarts the stroke timing at the current frame. ■ FixedStarts the stroke timing at the indicated frame. 3240 | Chapter 12 Space Warps and Particle Systems Stroke Stop group These settings specify the method for determining the duration or stop frame of the stroke. Stroke Stop Choose one of the following: ■ Real-Time OffsetDefines stroke time by the actual time taken for drawing the stroke. If you created a stroke by picking a spline, then the default time for the stroke is one second. Use the Time Scale % parameter to define the correspondence between the animation time (frames of animation) and the real-world time when a stroke is drawn. For example, a value of 100.0 means that one second of actual time corresponds to 30 frames of animation (for NTSC), while a value of 50.0 means that one second of stroke drawing corresponds to 15 frames of animation. NOTE Adjusting the Time Scale % value changes the effective flow rate of the painting, since the Seeds p/sec on page 3239 parameter uses animation time, not drawing time. ■ FixedStops the stroke at the specified frame, in absolute time. ■ DurationSets the stroke length in frames. Auto Adjust Current Frame Aligns the start of each successive stroke automatically with the stop time of the previous one. If you turn on this option for an exsisting stroke, the time slider is adjusted to the stop moment of the stroke. This option is available only if Stroke Start is set to Current Frame and Stroke Stop is set to either Real-Time Offset or Duration. Auto Adjust Global Timing Adjusts emission timing of the related Birth Paint operator automatically. The Birth Paint operator has its own parameters that define when particles start and stop emission. When this switch is off, Particle Flow fits the timing of the strokes into the Birth Paint operator’s Start/Stop interval. However, when this option is on, Particle Paint allows the related Birth Paint operator to adjust its emission timing to the timing of the strokes. Icon Size Adjusts the overall size of the helper icon, but does not affect the nozzle radius. Paint Spread Uniqueness group These settings randomize particle-seed distribution over a stroke. If you pick the same spline for a stroke, the helper generates the same placement for seeds. Particle Flow | 3241 To generate varied particle placement for the same spline, change the Seed value. Seed Specifies a randomization value. Not otherwise related to particle seeds. New Generates a new Seed value. Layout Rollout (Particle Paint) Select a Particle Paint helper. ➤ Modify panel ➤ Layout rollout The settings on this rollout determine how the particles are placed on objects in the scene. The Layout settings affect all particle seeds associated with the Particle Paint helper, either before or after they are created. 3242 | Chapter 12 Space Warps and Particle Systems Interface Particle Flow | 3243 [paint option] Choose a painting option: ■ Paint on All ObjectsAllows particle painting on any object in your scene. ■ Paint on Objects ListedAllows particle painting only on listed objects. Click Add to pick objects from viewports, or By List to choose from a dialog. The names of paintable objects appear in the list. To delete an object from the list, highlight it and then click Remove. Animated Objects If the object on which particle seeds are placed is animated, the original stroke placement might not be at the same place as the animated surface at the time particles are born. If you want particles painted on animated objects to be born from the animated surface regardless of the surface's position, orientation, or shape by the time the particles are born, turn on this option. The Particle Paint helper works with any animated object, whether animated by transforms or another method, such as sub-object animation, morphing, or skinning operations. If the surface animation involves a change in the number of faces (as with the Optimize modifier), Particle Paint might fail because the seeds are linked to specific faces by face indices. Include Children Allows painting on linked children of listed objects. Include Group Members For groups in the list, allows painting on all group members. Use Mask Objects Lets you use a mesh or patch object as a mask or frisket to block particles from being sprayed in that area. Click Add to pick objects from viewports, or By List to choose from a dialog. The names of selected objects appear in the list. To delete an object from the list, highlight it and then click Remove. NOTE Mask objects block painting only where their geometry is above (or closer to the viewpoint than) the painted surface in the viewport in which the painting occurs. Also, mask objects cannot receive particle seeds. Include Children Linked children of listed objects also mask the painting. Include Group Members For groups in the list, all group members mask the painting. Selection Filter Restricts painting to selected areas of geometry. Choose one of the following: ■ NoneNo restriction. ■ Selected Faces OnlyPaints particle seeds only at the geometry's selected faces. 3244 | Chapter 12 Space Warps and Particle Systems ■ Soft SelectionUses Soft Selection on a selection of the geometry's vertices or faces. Fewer particle seeds will be placed areas where the selection falls off. Particle Location group These controls determine how to distribute particle seeds on the geometry. Particle Location This drop-down list lets you choose where particle seeds will be deposited. The choices are: ■ At SurfaceParticle seeds will reside on the surface of any objects on which they are painted. ■ Above SurfaceParticle seeds will be placed above the surface of objects on which they are painted. Set the distance above the surface with the Distance parameter. ■ Below SurfaceParticle seeds will be placed below the surface of any objects on which they are painted. Set the distance below the surface with the Distance parameter. ■ Above And Below SurfaceParticle seeds will be placed both above and below the surface of any objects on which they are painted. Set the distance from the surface with the Distance parameter. Distance The distance above or below the surface that particles seeds are placed. This value is expressed in units. Variation Adds variation to the distance from the surface that particle seeds are placed. Separation When on, Particle Paint attempts to keep particle seeds apart by the specified distance, expressed in 3ds Max units. Max Attempts When Separation is on, Particle Paint attempts to separate particles by generating seeds repetitively until the desired separation is achieved. The Max Attempts parameter sets the number of times Particle Paint will generate seeds to attempt separation. If the Distance value is low and Separation is high, the desired separation might not be achieved even after many attempts. In this case, turn on Stack Up For Separation (see following). Stack Up For Separation When on, instead of using repetitive seed generation to attempt to separate particles, the separation conflict is resolved by moving the conflicting seed away in the direction of the surface normal. Particle Flow | 3245 Orientation Rollout (Particle Paint) Select a Particle Paint helper. ➤ Modify panel ➤ Orientation rollout The Orientation rollout controls the way particle seeds are oriented on surfaces. The orientation information can be used by the Birth Paint and Placement Paint operators to rotate particles in space. These options are useful when you plan to use instanced shapes with a visible orientation as particles. IMPORTANT To have these settings affect the particle seeds, set these parameters before you create the seeds. Changing these parameter values after creating particle seeds has no effect on the existing seeds' orientation. Interface Generate Rotational Comp. Enables control over the orientation of particle seeds. The remaining settings on this rollout are available only when this check box is on. X-Axis and Z-Axis groups Priority Axis Sets the axis as the primary axis. When the X axis is chosen as the Priority Axis, each particle first aligned by its local X axis in the manner specified in the drop-down list, and then the local Z axis is used. If the Z axis is chosen as the Priority Axis, each particle is aligned first by its local Z axis, and then its X axis. 3246 | Chapter 12 Space Warps and Particle Systems Reverse Reverses the direction of the Priority Axis. This has the effect of rotating particles by 180 degrees so they point in the opposite direction. [orientation list] Use this drop-down list to specify how Particle Flow orients particles with respect to the surface of the painted object. ■ RandomOrients the particles on the surface at random, according to the chosen axis. ■ Align to Surface NormalAligns particles to the surface normal of the object upon which they were painted. For example, if X is selected as the Priority Axis, the local X-axis for a particle is aligned with the surface normal. This option is suitable for placing instanced grass or hair objects on a surface. ■ Align to World X/Y/Z-AxisAligns the particles along the respective world axis. ■ Look at ViewportForces all particles to align with the active viewport. ■ Look at Particle Paint IconForces all particles to face the Particle Paint Icon. ■ Follow StrokeAligns particles along the spray path in the direction in which the stroke was drawn. ■ Align to U/V/W Map VectorAligns particles along the U/V/W mapping direction on the surface of the painted object. Divergence Sets the maximum degree of variation off the chosen Priority Axis, expressed in degrees. Mapping Rollout (Particle Paint) Select a Particle Paint helper. ➤ Modify panel ➤ Mapping rollout The Mapping rollout determines how particles are mapped. To use mapping with particle seeds, add a Material operator to the event, and assign a material that has mapping. IMPORTANT To have these settings affect the particle seeds, set these parameters before you create the seeds. Changing the parameter values after creating particle seeds has no effect on existing seeds' mapping. Particle Flow | 3247 Interface Acquire Sub-Material Index Causes each particle seed to acquire the sub-material index (Material ID) of the nearest point of the surface painted. Generate Mapping Coords. Creates mapping coordinates for each particle seed according to the Type selection. If you use this option, do not use a Mapping operator with the Birth Paint or Placement Paint operator, because doing so will override the mapping generated by the Particle Paint helper. Assign To Mapping Channels Defines the mapping channels to which mapping values are assigned. You can choose more than one channel for assignment. Available only when Generate Mapping Coords. is on. Type Lets you specify how Particle Paint assigns mapping to particles. These mapping types work with numeric parameters to set mapping on particle seeds. For example, with a planar map the bottom-left corner has UVW values of 0,0,0, while the top-right corner has UVW values of 1,1,0. These mapping types correlate these values to the stroke. ■ Stroke DependentSpreads mapping values from the Start Value to the End Value over the course of the stroke. The first particle in the stroke receives the Start Value, the last particle of the stroke receives the End Value, and intervening particles receive values interpolated between the two. The same value is assigned to U, V, and W. ■ Time DependentAssigns mapping values according to time. The first particle in the stroke is given the Start Value, and the timing of each successive particle (in relation to the first particle) receives an incremented value according to the Offset p/Sec parameter and the number of seconds elapsed. For example, if Offset p/Sec is 0.25 (the default value), then a four-second stroke covers the 0-1 range of UV mapping values. 3248 | Chapter 12 Space Warps and Particle Systems ■ Index DependentAssigns mapping values incrementally regardless of the stroke time. The first particle in the stroke is given the Start Value, and each successive mapping value increments by the Offset p/Particle value. For example, if Offset p/Particle is 0.01 (the default value) and a stroke has 101 particles, then particles in the stroke receive the incremental mapping values 0.0, 0.01, 0.02, 0.03, ... 0.98, 0.99, 1.0. ■ From Object PaintedParticle seeds take their mapping from their placement on the painted object. A particle acquires the mapping values at the nearest point of the object surface. To acquire mapping values from several mapping channels of the object, activate multiple buttons in the Assign To Mapping Channels group. Editing Rollout (Particle Paint) Select a Particle Paint helper. ➤ Modify panel ➤ Editing rollout The Editing rollout lets you delete unwanted particle seeds or whole strokes, adjust stroke/particle timing, and select particles/strokes and pass the selection data to the Birth Paint and Placement Paint operators. You cannot directly manipulate selected particle seeds with standard 3ds Max tools such as Move and Rotate. This rollout appears only on the Modify panel. Particle Flow | 3249 Two levels of sub-objects are available for selection: Particles and Strokes. The As with other sub-object types in 3ds Max, each level remembers its selection. Selected particles are red. Particle Lets you select particle seeds by clicking them or dragging a region. Event Lets you select entire strokes. At this level, you can select all particle seeds in one or more strokes with standard selection methods. Show Particle Timing When on you can scrub the time slider to see particle timing in the viewports. Particles start out with the color specified by the 3250 | Chapter 12 Space Warps and Particle Systems Show Particle Timing color swatch. As you scrub the time slider, each particle turns white when it reaches its emission time. The particle timing displayed with this option is taken from the current stroke timing settings stored in the Particle Paint helper. This timing might differ from the timing set by a Birth Paint operator. Available only when not at a sub-object level (Particles or Strokes). Delete Selected Items Deletes selected particles or strokes. You can also use the Delete key. Combine Into Single Stroke Combines selected strokes into a single stroke. The particle seeds are intermixed according to their relative timing. You can use this tool to combine short or single-particle strokes into a larger stroke. Available only at the Stroke sub-object level when multiple strokes are selected. Equalize Particle Timing Evens out the distribution of particle timing within a stroke. This tool is useful for evening out strokes where some particles have been deleted. Available only at the Stroke sub-object level. Auto Sync Timing by Sel. When on, sets Start At, Stop At, and Duration (see following) to the current start frame, stop frame, and duration of the currently selected stroke. This option takes effect only if a single stroke is selected. Current Start Shows the start frame of the currently selected stroke(s). If multiple strokes with different start times are selected, then the value shown is . Start At The start time for selected strokes. If you change this value, the new time goes into effect when you click Adjust Stroke Timing. Current Stop Shows the end frame of the currently selected stroke(s). If multiple strokes with different end times are selected, then the value shown is . Stop At The end time for selected strokes. If you change this value, the new time goes into effect when you click Adjust Stroke Timing. You can choose either this method or the Duration method for changing the length of the stroke. Cur. Duration Shows the duration of the currently selected stroke(s). If multiple strokes with different durations are selected, then the value shown is . Particle Flow | 3251 Duration The duration of selected strokes. A change to this value goes into effect when you click Adjust Stroke Timing. You can choose either this method or the Stop At method for changing the length of the stroke. Auto-Adjust Global Timing When on, changing the stroke timing automatically changes the timing in any related Birth Paint operators on page 3256 in Particle Flow. This option has an effect only if a Birth Paint operator that references the Particle Paint helper is present in the scene. Adjust Stroke Timing Adjusts the timing of selected strokes to match the values for Start At, and Stop At or Duration. Total Particles Displays the total number of particle seeds associated with the Particle Paint helper. Total Strokes Shows the total number of strokes in the Particle Paint helper. Selected Particles Shows the number of selected particles. At the Particles sub-object level, it shows the number of selected particles. At the Strokes sub-object level, it show the total number of particles in the selected strokes. At the object level, it displays the number of selected particles at the Particles sub-object level. Selected Strokes Shows the number of selected strokes. The value changes for different sub-object levels. At the Particles level it shows the number of strokes that have selected particles. At the Strokes level it shows the number of directly selected strokes. At the Object level it shows the same amount as in the Strokes level. Selected Stroke # Shows the sequence number of the currently selected stroke. Strokes are stored in the order in which they are made. Brush Radius Graph (Particle Paint) Select a Particle Paint helper. ➤ Modify panel ➤ Setup rollout ➤ Brush Adjustment group ➤ Turn on Radius. ➤ Click Radius. The Brush Radius Graph appears when you click the Radius button on the Setup rollout of a “Particle Paint helper” on page 3231. It allows you to animate the brush radius over the time of a single stroke. 3252 | Chapter 12 Space Warps and Particle Systems The left end of the graph represent the start of the stroke, while the right end represents the end of the stroke. The values in the left column represent the brush radius in units. Move the existing control points, or add and move more control points, to change the curve over the length of the stroke. The controls on this dialog are similar to those on the loft deformation dialogs in 3ds Max. Moves control points in any direction. The exceptions are the start and end control points, which can be moved only vertically. Moves control points horizontally only. This button is available from the main Move button flyout. Moves control points vertically only. This button is available from the main Move button flyout. Scales selected control points with respect to the 0 value. Inserts a Corner point on the graph. Particle Flow | 3253 Inserts a Bezier point on the graph. This type of point has handles that you can adjust for a smooth curve. This button is available from the Corner point button flyout. Deletes a control point. Pans the graph. Zoom Extents, Zoom Hoifrizontal Extents, and Zoom Vertical Extents zoom the graph in or out to fit in the window. Interactive zoom controls zoom horizontally or vertically, zoom the entire window, or zoom to a selected region. Paint Flow Rate Graph (Particle Paint) Select a Particle Paint helper. ➤ Modify panel ➤ Setup rollout ➤ Brush Adjustment group ➤ Turn on Rate. ➤ Click Rate. The Paint Flow Rate Graph appears when you click the Rate button on the Setup rollout of a “Particle Paint helper” on page 3231. It allows you to animate the particle paint rate over the time of a single stroke. 3254 | Chapter 12 Space Warps and Particle Systems The left end of the graph represent the start of the stroke, while the right end represents the end of the stroke. The values in the left column represent particles per second. To change the curve over the length of the stroke, move control points, or add and move control points. The controls on this dialog are similar to those on the loft deformation dialogs in 3ds Max. Moves control points in any direction. The exceptions are the start and end control points, which can be moved only vertically. Moves control points horizontally only. This button is available from the main Move button flyout. Moves control points vertically only. This button is available from the main Move button flyout. Scales selected control points with respect to the 0 value. Inserts a Corner point on the graph. Inserts a Bezier point on the graph. This type of point has handles that you can adjust for a smooth curve. This button is available from the Corner point button flyout. Deletes a control point. Pans the graph. Zoom Extents, Zoom Hoifrizontal Extents, and Zoom Vertical Extents zoom the graph in or out to fit in the window. Interactive zoom controls zoom horizontally or vertically, zoom the entire window, or zoom to a selected region. Particle Flow | 3255 Birth Paint Operator Particle View on page 3049 ➤ Click Birth Paint in an event or add a Birth Paint operator to the particle system and then click it. The Birth Paint operator uses a Particle Paint helper on page 3231 as a reference for creating particles. With the Particle Paint helper, you place particle seeds on an object with a specific pattern and timing. The Birth Paint operator creates particles from these seeds, initializing particle position, rotation, mapping and selection status. TIP If the Particle Paint helper does not generate a sufficient number of particles, but you want to use the overall particle birth pattern and rate set by the Particle Paint helper, use the Spawn test on page 3313 after Birth Paint in the event to spawn additional particles at each particle seed's location. See also: ■ Placement Paint Operator on page 3258 Interface 3256 | Chapter 12 Space Warps and Particle Systems Particle Paint Helper group [button] Choose a Particle Paint helper as the source for particle seeds by clicking the button, labeled “None” by default, and then selecting a helper. After doing so, the helper name appears as the button label. Total Particles Shows the total number of particles in the Particle Paint helper. The amount of particles actually generated depends on the Quantity Multiplier of the master PF Source object. If the multiplier value is less than 100%, the Birth Paint operator samples the particles from the helper. If the multiplier is greater than 100%, some particle seeds from the helper generate multiple particles. Total Strokes The total number of strokes in the Particle Paint helper. Emit Start The frame number at which particles start to emit, beginning with particle seeds at the start of the first stroke. Emit Stop/Duration Choose either of two methods of setting the length of time particles are emitted: ■ Emit StopSets the frame number at which particles stop emitting. The time to emit all strokes in the Particle Paint helper is scaled to fit the time between Emit Start and Emit Stop. ■ DurationSets the duration of the emission in frames. If the Duration value is not the same as the stroke time, particle emission timing is scaled to fit the Duration value. Reset To Stroke Time Adjusts the Emit Start, Emit Stop, and Duration values to the timing of the Particle Paint helper's strokes. The Emit Start value is set to the earliest start time of the strokes, and the Emit Stop time is set to the latest stop time of the strokes. Subframe Sampling When on, particles are emitted on the sub-frame timing as defined by the strokes timing and the Emit Start and Emit Stop values. This can help avoid particle clumps. When off, the particle creation time is clamped to the nearest whole frame value. Lock At Painted Objects group This group of controls tells the Birth Paint operator how to continue controlling particle position/rotation after particles are born. These options apply only if objects painted with the Particle Paint helper are animated, and the Animated Objects on page 3244 option on the Particle Paint helper's Layout rollout is on. Position Causes all particle pivot points to stick firmly to the painted objects. Particle Flow | 3257 Rotation Causes all particles to retain their original orientations. Even if the painted object has surface animation, particles retain the same normal orientation they had at the moment of generation. Acquire Selection Uses the Particle Paint helper selection. This selection overwrites the PF Source particle selection, if any. Choose the sub-object selection Particles or Strokes (see Editing Rollout (Particle Paint) on page 3249). Placement Paint Operator Particle View on page 3049 ➤ Click Placement Paint in an event or add a Placement Paint operator to the particle system and then click it. The Placement Paint operator uses a Particle Paint helper on page 3231 to acquire particle seeds from which to generate particles. Placement Paint sets particle positions, rotation, and mapping. For more information about painting particles, see Particle Paint on page 3231. Using Placement Paint Both Placement Paint and Birth Paint allow placing particles as painted with the Particle Paint helper. Birth Paint combines Birth operator functionality with limited placement options. If you prefer to use birth options not provided in Birth Paint, you can use a different Birth operator with Placement Paint placed immediately after the Birth operator in the event. Another case for using Placement Paint would be a situation in which you would like to paint particle positions to which particles should be sent by the Find Target operator. In that case the event would look something like this: ■ Birth (any) ■ Placement Paint ■ Script operator (to copy particle positions to Script Vector) ■ Position operator (any) ■ Find Target (set to use Script Vector) This the way particles are directed to the positions defined by the painted particle seeds. 3258 | Chapter 12 Space Warps and Particle Systems See also: ■ Birth Paint Operator on page 3256 Interface Particle Flow | 3259 Particle Paint Helper Click the button to specify a Particle Paint helper on page 3231 as the reference for particle seeds. Total Particles The total number of particles in the Particle Paint helper. How the particles seeds correspond to the particles in the current event depends on the Quantity Multiplier of the PF Source object and the option Obey Quantity Multiplier. Total Strokes The total number of strokes in the Particle Paint helper. Data Update Lets you choose how the operator controls positions and rotation: ■ OnceSets the positions and rotation for each particle once, when the particle enters the event. ■ ContinuousSets particle positions and rotation throughout the event. Acquire Paint Data group These controls tell the Placement Paint operator which data to get from the Particle Paint helper, how to interpret the data, and how to use it for particle control. Paint Position To When on, Particle Flow uses position data from the Particle Paint helper to control particle position or speed. Choose either of the following: ■ PositionThe particle seeds’ position data is translated into particle position. If Data Update is set to Continuous, particle speed is controlled to ensure that particles are locked to the particle seeds location. This is similar to the Lock On Emitter option of the Position Icon operator. ■ Script VectorThe particle seeds’ position data is translated into the particle script vector channel (as used by the Script operators and Find Target test). If Data Update is set to Continuous, the script vector channel is updated continuously while the particles are in the event. Most commonly, the Find Target test uses the Script Vector data to direct particles at the target defined by the script vector. However, Find Target controls particles only until they reach the target. To overcome this and keep particles on target, you can use the following option. Snap If Close Available for the Script Vector option only. If a particle is directed close to the target point as defined by the Paint Position value (written to the Script Vector channel), then the operator starts controlling the particle position directly, as with the option Position. With this technique you can use the Find Target test to direct particles to the Paint seeds’ location, and then switch back to direct control of particle position (similar to Lock On 3260 | Chapter 12 Space Warps and Particle Systems Emitter operation). Keep in mind that the operator continues to write the data into the script vector channel even after the snap moment. Snap Distance Defines distance in 3ds Max units when control shifts from directing particles toward a target to snapping to the target, as defined in the Snap If Close description. Rotation When turned on, Particle Flow uses rotation data from the Particle Paint helper to control particle rotation or spin. ■ Blend-in RotationAvailable when Data Update is set to Continuous, Paint Position To is set to Script Vector, and Rotation is on. In this case, particles move toward the position as defined by the Particle Paint helper. When on, the operator modifies particle rotation to allow smooth blending from the current particle rotation to the rotation by Particle Paint while particles are approaching their target position. ■ Near/Far DistanceAvailable when Blend-in Rotation is On. The Far Distance value indicates the distance from the target point to the current particle position when the blend-in rotation process starts. The Near Distance value indicates the distance when the blend-in process should be finished, meaning a particle eventually assumes the rotation value as defined by the Particle Paint helper. Mapping When on, uses the mapping data from the Particle Paint helper for particle mapping. Material ID When on, defines a material ID for each particle. The ID is defined by the Particle Paint operator as sub-material index at the closest face of the painted object to the particle seed. Selection When on, uses the Particle Paint helper selection to set up the selection qualities of particles. Any selection made at a PF Source sub-object level is overwritten by the selection from the helper. Since selection in the helper can be done at two different sub-object levels, you must choose the selection level: Particles or Strokes. Index Order group These controls associate particle quantity and timing in the event with particle seeds in the Particle Paint helper. Type Indicates the method the operator uses to select particle seeds from the Particle Paint helper for conversion to particles. The choices are: ■ RandomSelects particle seeds for conversion to particles at random, without regard to stroke timing. If the number of particles exceeds the number of Particle Flow | 3261 particle seeds and Stop If Count Overflow is off, all particle seeds are used each time Placement Paint cycles through the seeds. ■ Paint TimingUses the timing of particles and strokes in the Particle Paint helper to define the order of emission. Stop If Count Overflow Causes Placement Paint to stop creating particles when the number of particles in the event reaches the number of particle seeds in the Particle Paint helper. When this option is turned off, Placement Paint cycles through the particle seeds as many times as necessary to create the required quantity of particles. Obey Quantity Multiplier Uses the Quantity Multiplier parameter from the PF Source object to adjust the correspondence between particles in the event and particle seeds in the helper. For example, if Quantity Multiplier is set to 50%, then only half the particle seeds in the Particle Paint helper are used. If Quantity Multiplier is greater than 100%, then some or all particle seeds will be used to generate more than one particle. Separate Streams Indexing Causes particles from different events to be treated as separate streams with regard to particle seed correspondence. When on, particles retain their correspondence to their original seeds. When off, particles coming into the event can be associated with any seed from the entire pool of seeds. Uniqueness group These parameters initialize randomness for particle sequence when Random is selected as the Type in the Index Order group. Seed Specifies a randomization value. New Generates a new randomization value. Flows The flows category contains operators for creating three different kinds of initial particle-system setups. These are: Preset, Empty Flow, and Standard Flow. See also: ■ Operators on page 3084 ■ Tests on page 3266 3262 | Chapter 12 Space Warps and Particle Systems Preset Flow Particle View on page 3049 ➤ Depot ➤ Preset Flow Particle View ➤ Edit menu ➤ New ➤ Particle System ➤ Preset Flow Preset Flow merges a previously saved Particle Flow setup into the current scene. It allows you to use the flow as an event within your current flow, or as a starting point for a new particle system. Before you can merge a scene with Preset Flow, you must save it with the Preset Manager on page 3060. A preset can include Particle Flow elements as well as standard 3ds Max objects. To add a Preset Flow, drag Preset Flow into the event map of Particle View. The Select Preset Flow dialog opens. Highlight a preset and then click OK, or simply double-click a preset name. When you drag a Preset Flow in Particle View, the global event appears where you drop the flow, and additional events appear in the same spatial relationship as when they were saved in the preset (if you add the Preset Flow from the Edit menu, it appears where it was saved from). All items that were added by Preset Flow are selected in the scene and in Particle View. To revert the merge, activate the 3ds Max window (by clicking outside a viewport, right-clicking a viewport, or closing Particle View) and then press the Delete key. If the Preset Flow contains geometry, operators, or other items with names identical to those in your current scene, the standard 3ds Max Duplicate Name dialog appears and prompts you to change the names or skip the items. If you skip the PF source item, the preset will not merge. NOTE Preset Flow flushes the Undo/Redo buffer. See also: ■ Empty Flow on page 3265 ■ Standard Flow on page 3265 Particle Flow | 3263 Interface Presets Lists the current presets in the system. Add a preset either by double-clicking its name or by highlighting it and then clicking OK. Preset Description Displays the description for the highlighted preset. To scroll a description that is too long to fit into the visible space, place the cursor in the description area and use the Down Arrow and Up Arrow keys. OK Adds the selected preset. 3264 | Chapter 12 Space Warps and Particle Systems Cancel Cancels the merging of presets. Empty Flow Particle View on page 3049 ➤ Depot Empty Flow provides a starting point for a particle system consisting of a single global event containing a Render operator. This lets you build a system completely from scratch, without having first to delete the default operators provided by the Standard Flow system. To use Empty Flow, drag it from the depot to the event display. In Particle View, this creates a global event containing a single Render operator. If the Global default display option is active in the Particle View ➤ Options menu, the global event will also contain a Display operator. Adding an Empty Flow also creates a Particle Flow Source icon in the viewports, at the world origin (0,0,0). NOTE If an orthographic viewport is active when you add an Empty Flow to the system, 3ds Max orients the new source icon parallel to the plane of the active viewport, with the default emission direction pointing forward. For example, if the Front viewport is active, the icon is oriented parallel to the XZ plane in the world coordinate system, with the default emission direction along the positive Y axis. If a Camera or Perspective viewport is active, Particle Flow uses the default orientation: parallel to the XY plane, pointing in the negative Z direction. See also: ■ Preset Flow on page 3263 ■ Standard Flow on page 3265 Standard Flow Particle View on page 3049 ➤ Depot Standard Flow provides a starting point for a particle system consisting of a global event containing a Render operator, wired to a birth event containing a Birth, a Position, a Speed, a Rotation, a Shape, and a Display operator, with all parameters set to default values. This is the same system that 3ds Max creates automatically when you add a Particle Flow icon to the viewport. Particle Flow | 3265 To use Standard Flow, drag it from the depot to the event display. In Particle View, this creates the particle system described above. If the Global default display option is active in the Particle View ➤ Options menu, the global event will also contain a Display operator. Adding a Standard Flow also creates a Particle Flow Source icon in the viewports, at the world origin (0,0,0). NOTE If an orthographic viewport is active when you add a Standard Flow to the system, 3ds Max orients the new source icon parallel to the plane of the active viewport, with the default emission direction pointing forward. For example, if the Front viewport is active, the icon is oriented parallel to the XZ plane in the world coordinate system, with the default emission direction along the positive Y axis. If a Camera or Perspective viewport is active, Particle Flow uses the default orientation: parallel to the XY plane, pointing in the negative Z direction. See also: ■ Empty Flow on page 3265 ■ Preset Flow on page 3263 Tests The basic function of a test in Particle Flow is to determine whether particles satisfy one or more conditions, and if so, make them available for sending to another event. When a particle passes a test, it is said to “test True.” To send eligible particles to another event, you must wire the test to that event. Particles that don't pass the test (“test False”) remain in the event and are repeatedly subjected to its operators and tests. Or, if the test isn't wired to another event, all particles remain in the event. You can use several tests in an event; the first test checks all particles in the event, and each test after the first checks only particles that remain in the event. One test, Spawn, doesn't actually perform a test, but simply creates new particles from existing ones, and sets the new particles' test result to True so they're automatically eligible for redirection to another event. And the Send Out test simply sends all particles to the next event by default. Some tests can also serve as operators, in that they contain parameters that modify particle behavior. If you don't wire a test to another event, it functions only as an operator; the test aspect doesn't affect particle flow. 3266 | Chapter 12 Space Warps and Particle Systems TIP Always place a test at the end of its event, unless you have specific reasons for placing it elsewhere. That way, all preceding actions can take effect during each integration step before the test is evaluated. All the tests are grouped together in the Particle View depot, and are listed in alphabetical order. The icon for all tests is a yellow diamond, usually containing a simplified diagram of an electrical switch. The Particle Flow tests in the Particle View depot See also: ■ Split Group Test on page 3118 ■ Operators on page 3084 ■ Flows on page 3262 Particle Flow | 3267 Age Test Particle View on page 3049 ➤ Click Age Test in an event or add Age Test to the particle system and then select it. Age Test lets the particle system check whether a specific amount of time has passed since the start of the animation, or how long a particle has existed, or how long a particle has been in the current event, and branch accordingly. Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. The first interface element is a drop-down list that lets you choose the type of age to test. Default=Particle Age. ■ Absolute AgeTests the current frame number in the animation. ■ Particle AgeTests the current age of each particle in frames. This is the default test type. ■ Event AgeTests the current duration of the current event in frames. Test True if Particle Value Lets you specify whether the test passes particles on to the next event if the age test succeeds or fails. Default=Is Greater Than Test Value By default, Age Test returns True if the value tested for exceeds the Test Value quantity, but you can alternatively choose Is Less Than Test Value. For example, 3268 | Chapter 12 Space Warps and Particle Systems if you use the Absolute Age test type and set Test Value=60 and Variation=0, and choose Is Less Than Test Value, then particles will move to the next event only until frame 60. After frame 60, any remaining particles stay in the current event unless another test returns True. Test Value The specific frame number, particle age (in frames), or event duration (in frames) to test for. Default=30. This value cannot be animated. Variation The number of frames by which the value tested for can vary randomly. Default=5. This value cannot be animated. To obtain the actual test value for each particle, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then adds the result to the Test Value setting. For example, if Test Value=300 and Variation=10, then tested value for each particle would be between 290 and 310. Subframe Sampling Turning this on helps avoid particle "puffing" when passing particles to the next event by testing the time at a much higher subframe resolution (that is, throughout each frame), rather than using the relatively coarse frame resolution. Default=on. "Puffing" is the effect of creating separate "puffs" or clusters of particles, rather than a continuous stream. Turn off Subframe Sampling to cause the test to be executed exactly at frame times. Uniqueness group The Uniqueness setting enables randomization of the test value variation. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Collision Test Particle View on page 3049 ➤ Click Collision in an event or add Collision to the particle system and then select it. Collision tests for particles that collide with one or more specified Deflector space warps. It can also test whether a particle has slowed down or sped up after one or more collisions, has collided more than once, and even whether it will collide with a deflector in a specified number of frames. Particle Flow | 3269 The Collision test supports all deflector space warps except the DynaFlect deflectors: ■ POmniFlect on page 2969 ■ SOmniFlect on page 2980 ■ UOmniFlect on page 2983 ■ SDeflector on page 2988 ■ UDeflector on page 2991 ■ Deflector on page 2994 TIP When testing for collisions with multiple deflectors, for best results, place all the deflectors in a single Collision test. This tests for collisions with all the deflectors simultaneously, and helps avoid possible missed collisions. See also: ■ Collision Spawn Test on page 3274 Procedures Example: To test for particles slowing down after one or more collisions: In the real world, particles bouncing repeatedly against a surface lose kinetic energy at each collision, and slow down gradually. Rather than testing for a specific number of bounces, you can use the Is Slow After Collision(s) to test whether particle speed has sunk below a specific level. 1 Start or reset 3ds Max. Set the animation length to 500 frames. 2 Add a Gravity space warp and a Deflector space warp. Decrease the deflector's Bounce setting below 1.0, and increase the Variation and Chaos values above 0.0. Set the deflector's Width and Length to 500. 3 Create a default Particle Flow system. Position the emitter directly above the deflector. 4 Add a Force operator on page 3223 to the end of Event 01 and add the Gravity space warp to the Force operator. 5 Create a new event with a Display operator on page 3220, and change the display type to a different choice than is used in Event 01. 3270 | Chapter 12 Space Warps and Particle Systems 6 Add a Collision test to Event 01, below the Force operator, and wire it to the new event. 7 In the Collision test settings, add the deflector. Choose Is Slow After Collision(s), and set Speed Min=100 (assuming you're using the default initial speed of 300). 8 Play the animation. You might need to adjust one or more settings before seeing the expected behavior. After several bounces, the particles change in appearance and move steadily away from the deflector, indicating that they've entered the second event. Of course, you can set any behavior you like in this event. In the next step, you'll see what happens when actions in an event are not in the right order. 9 In Event 01, move the Collision test above the Force operator, and then play the animation. Quite a few particles leak through the deflector. This happens because Particle Flow first tests the particles for a collision, and then applies the Gravity force. The particles that are approaching the deflector and are very close to it are being tested for a collision, which tests False because they haven't actually struck the deflector yet. Particle Flow then applies the gravity, which pushes them past the deflector, making them no longer eligible for testing for collision. Generally speaking, it is best to keep Force operators above Collision tests in each event to ensure that particles don't leak through the deflector. Particle Flow | 3271 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Deflectors group This group displays the deflectors currently in effect, and let you add and remove deflectors. [list] Shows the deflectors that apply to this operator. If more than three deflectors apply, a scroll bar appears at the right side of the list. If you delete a listed space warp from the scene, its name is replaced in the list by the entry “ ”. 3272 | Chapter 12 Space Warps and Particle Systems Add Click this button, and then select a Deflector space warp in the scene to add it to the list. By List Click this button, and then use the Select Deflectors dialog to add one or more space warps to the list. The space warps must already exist in the scene. Remove Highlight a deflector in the list, and then click this button to remove it from the list. Any removed space warps remain in the scene. Test True If Particle group Choose the condition under which the test will pass particles on to the next event, and then adjust the associated setting or settings. Default=Collides. Collides Choose this option, and then set Speed according to how particle speed should be affected by the collision. Speed Choose one of the following. Default=Bounce. ■ BounceThe speed and direction after collision is determined by the deflector properties. ■ ContinueParticle speed and direction are unaffected by the collision. ■ StopParticle speed is set to 0 after the collision. ■ RandomParticles bounce off the deflector in random directions. Is Slow After Collision(s) The test succeeds if, after collision, particle speed is less than the Speed Min value. With this choice, particle behavior with respect to the deflector(s) is the same as with the Collides ➤ Bounce option. Speed Min Particles traveling at less than this speed, in system units per second, test True and become eligible for moving to the next event. Default=1.0. Is Fast After Collision(s) The test succeeds if, after collision, particle speed is greater than the Speed Max value. With this choice, particle behavior with respect to the deflector(s) is the same as with the Collides ➤ Bounce option. Speed Max Particles traveling faster than this speed, in system units per second, test True and become eligible for moving to the next event. Default=1000.0. Particle Flow | 3273 Collided Multiple Times The test becomes True after a particle collides a specific number of times. The particle is moved to the point of the last collision and then redirected to the next event. # Times The number of times a particle must collide in order to test True. Speed Determines speed and direction after the specified number of collisions. See above for explanations of the choices. Will Collide Particle Flow extrapolates particle motion in a linear fashion, based on the current direction and speed, and the test becomes True if the results suggest that the particle will collide with the deflector during a specified time interval. The particle is redirected to the next event without updating its speed or position. # Frames The number of frames ahead during which Particle Flow looks for an impending collision. Uniqueness group The Uniqueness setting enables randomization of the Random options in the Speed drop-down lists. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Collision Spawn Test Particle View on page 3049 ➤ Click Collision Spawn in an event or add Collision Spawn to the particle system and then select it. Collision Spawn creates new particles from existing ones that collide with one or more Deflector space warps. You can specify different post-collision behavior for the colliding particles and their offspring. Each spawned particle is born at the same location as its parent, and has the same orientation and shape. Collision Spawn can give the spawned particles a different speed and scaling factor. If you wire the Collision Spawn test to another event, spawned particles are sent to that event, where you can specify different properties for the new particles. Examples of Collision Spawn usage include marks or explosions resulting from collisions between particles and objects. To achieve these effects, you can use Collision Spawn in conjunction with the Shape Mark on page 3183 and Shape Facing on page 3173 operators. 3274 | Chapter 12 Space Warps and Particle Systems The Collision Spawn test supports all deflector space warps except the DynaFlect deflectors: ■ POmniFlect on page 2969 ■ SOmniFlect on page 2980 ■ UOmniFlect on page 2983 ■ SDeflector on page 2988 ■ UDeflector on page 2991 ■ Deflector on page 2994 TIP When testing for collisions with multiple deflectors, for best results, place all the deflectors in a single Collision Spawn test. This tests for collisions with all the deflectors simultaneously, and helps avoid possible missed collisions. See also: ■ Collision Test on page 3269 ■ Spawn Test on page 3313 Particle Flow | 3275 Interface 3276 | Chapter 12 Space Warps and Particle Systems The user interface appears in the parameters panel, on the right side of the Particle View dialog. In the context of Collision Spawn, a parent is the original particle from which new particles are spawned. Test True for group These check boxes let you specify which particles, if any, should become eligible for redirection to the next event upon satisfaction of the test conditions. NOTE After a particle tests True, the Collision Spawn test no longer tests the particle for collision. If you simply want particles to spawn every time they collide, turn either or both of these off and use a different test for redirection. Parent Particles When on, parent particles qualify for redirection when the test conditions are met. Default=on. When using the Spawn On First Collision option on page 3278, Parent Particles is available only when Delete Parent is off. This option is also available when using the Spawn On Each Collision option on page 3278. In this case, parent particles test True only after colliding the number of times specified by the Until # value. Spawn Particles When on, spawned particles qualify for redirection when the test conditions are met. Default=on. Deflectors group This group displays the deflectors currently in effect, and let you add and remove deflectors. [list] Shows the deflectors that apply to this operator. If more than three deflectors apply, a scroll bar appears at the right side of the list. If you delete a listed space warp from the scene, its name is replaced in the list by the entry “ ”. Add Click this button, and then select a Deflector space warp in the scene to add it to the list. By List Click this button, and then use the Select Deflectors dialog to add one or more space warps to the list. The space warps must already exist in the scene. Remove Highlight a deflector in the list, and then click this button to remove it from the list. Any removed space warps remain in the scene. Particle Flow | 3277 Spawn Rate And Amount group Use these settings to specify when particles are to spawn and other values related to how many particles are spawned. Spawn On First Collision Particles spawn only the first time they collide with a deflector. Delete Parent When on, deletes each original particle from which a new one is spawned. Available only with the Spawn On First Collision option. Spawn On Each Collision Particles spawn on each of multiple collisions, up to a limit specified with the Until # parameter. Until # The maximum number of collisions by the parent particles that produce spawned particles. Available only with the Spawn On Each Collision option. Default=3. When Test True For ➤ Parent Particles is on, parent particles test True only after colliding the number of times specified by the Until # value. Spawnable The percentage of particles in the current event that will spawn new particles. This is determined once for each particle, when it enters the event. However, the parameter is animatable. Default=100.0. For values other than 100.0, Spawnable uses a randomized selection process, which is affected by the Uniqueness Seed value. For example, with five parent particles, Offspring #=1, and Spawnable=80.0, you might get any number of spawned particles between two and five for each collision. The average per spawning would be four, however. Offspring # The number of new particles the system creates from each parent particle for each spawning event. Default=1. Variation The amount by which the Offspring # value can vary randomly. Default=0.0. To obtain the actual test value for each particle, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then applies the result as a percentage of the Offspring # setting. For example, if Offspring #=20 and Variation=10, then the actual number of offspring for each particle would be between 18 and 22. Sync By Choose the time frame to use when animating Offspring # and Variation: ■ Absolute TimeAny keys set for parameters are applied at the actual frames for which they're set. 3278 | Chapter 12 Space Warps and Particle Systems ■ Particle AgeAny keys set for parameters are applied at the corresponding frames of each particle's existence. ■ Event DurationAny keys set for parameters are applied to each particle starting when it first enters the event. _____ Restart Particle Age When on, sets the age of each newly spawned particle at 0. When off, each spawned particle inherits its parent's age. Default=on. Speed group Lets you specify the behavior of spawned particles, as well as their speed in absolute terms or relative to the parents' speed, with optional random variation. The direction of a spawned particle is always in relation to that of its parent, but you can set a Divergence so they eventually spread out. Default=Inherited. Parent Specify the parent's behavior. Available only when Delete Parent is off. ■ BounceThe speed and direction after collision is determined by the deflector properties. ■ ContinueParticle speed and direction are unaffected by the collision. Offspring Specify the behavior of the newly spawned particles. ■ BounceThe speed and direction of offspring after collision is determined by the deflector properties. ■ ContinueSpeed and direction of offspring are unaffected by the collision. In Units Choose this to specify the speed of spawned particles in system units per second. Default=100.0. A positive value inherits the parent's direction; a negative value reverses it. Inherited Choose this to specify each spawned particle's speed as a percentage of its parent's speed. Default=100.0 A positive value inherits the parent's direction; a negative value reverses it. Variation The amount by which a spawned particle's speed can vary randomly. Default=0.0. To obtain the actual speed for each spawned particle, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then adds the result to the particle's speed as specified or inherited. For example, if a Particle Flow | 3279 particle's speed is 100 units/second and Variation=20, then the tested value for each particle would be between 80 and 120 units/second. Divergence When on, spreads out the stream of spawned particles. Use the numeric setting to define the extent of the divergence in degrees. Range=0 to 180. Default=12.0. Size group Scale Factor The amount of uniform scaling to apply to each spawned particle, as a percentage of its parent's size. Default=100.0. Variation The amount by which a spawned particle's scale can vary randomly. Default=0.0. To obtain the actual scaling for each spawned particle, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then adds the result to the Scale Factor value. For example, if Scale Factor=100 and Variation=20, then each spawned particle would be between 80 and 120 percent of its parent's size. Uniqueness group The Uniqueness setting enables randomization of the Spawnable result, when less than 100.0, as well as of the Variation values. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Find Target Test Particle View on page 3049 ➤ Click Find Target in an event or add Find Target to the particle system and then select it. Select a Find Target icon in the viewport. ➤ Parameters rollout Create panel ➤ Modify panel ➤ (Helpers) ➤ Particle Flow ➤ Find Target By default, Find Target sends particles to a specified target or targets. Upon reaching a target, the particles become eligible for redirection to another event. You can specify that the particles should use a particular speed or time frame 3280 | Chapter 12 Space Warps and Particle Systems in moving toward the target. You can also specify where on the target the particles should go. Alternatively, you can use Find Target as a simple proximity test: If a particle comes within a certain distance of its target, it becomes eligible for redirection to the next event. Find Target icon When you add a Find Target test to the particle system in Particle View on page 3049, a spherical Find Target icon, or helper, appears in the scene at the world origin (0,0,0). You can use this icon as a target, or you can use one or more mesh objects in the scene as targets. To display the Find Target parameters on the Modify panel, select the icon. If you delete the icon, Particle Flow also deletes the test. NOTE If you add Find Target from the Create panel, Particle Flow creates a separate event for the test in the particle diagram. TIP In a particle loop, all particles end up at their respective starting positions, enabling seamless repetition of the resulting animation. You can make particle loops with Particle Flow using a Script operator and a Find Target operator. At the start of the loop, the Script operator should read all particle positions and write them into the MXS Vector channel. Then, at the end of the loop, set the Find Target operator to Control by Time, set Timing to Absolute Time, set Time to the end of the loop, and in the Target group, set Point to By Script Vector. Particle Flow will direct particles to the previously cached position at the specified frame. Particle Flow | 3281 Script Operator Example NOTE See this topic in the online User Reference to view the script operator sample MAXScript code. 3282 | Chapter 12 Space Warps and Particle Systems Interface Particle Flow | 3283 The user interface appears in the parameters panel, on the right side of the Particle View dialog. Control By ... The drop-down list at the top of the parameters panel lets you choose whether to send particles to a target by specifying the speed and acceleration, or by specifying the amount of time they should take. Alternatively, by choosing No Control, you can test particles' distance from a target. ■ Control By SpeedSpecify speed and acceleration settings for the particles to follow while traveling to the target. Use the Control By Speed group to set the parameters. ■ Control By TimeSpecify time-based settings for the particles to follow while traveling to the target. Use the Control By Time group to set the parameters. ■ No ControlWith this option, Find Target functions only as a proximity test. When a particle comes within the specified distance of the target, the particles become eligible for redirection to the next event. NOTE When you choose No Control, the Find Target test does not affect particle speed or direction. Test True If Distance To group These settings let you choose which distance the Find Target test measures and specify the measured distance. You can choose Target Pivot or Target Point, and specify a distance with the Is Less Than setting. Target Pivot Measures the distance between the particle and the target pivot. If the particles are directed to the outside of the target and the Is Less Than value is small, this condition might never be satisfied. Target Point Measures the distance between the particle and the target point on page 3288. Is Less Than When particles are closer than this distance from target pivot or point, they test True and become eligible for redirection to the next event. Measured in scene units. NOTE If you set Is Less Than to 0, the particles might never test True. This might be desirable for an animation of, for example, bees buzzing around a flower but not landing on it. In this case, you might want to use a low value for Accel Limit so the bees don’t circle too close to the flower. 3284 | Chapter 12 Space Warps and Particle Systems Control By Speed group Use these settings to specify speed and acceleration parameters when using Control By Speed or Speed Then Time. This group is available only when using Control By Speed. Use Cruise Speed When on, Particle Flow gives you explicit control over particle speed and speed variation. When off, Particle Flow calculates particle speed automatically using the Accel Limit value. Default=on. Speed Particle speed in scene units per second. Default=300.0. Variation The amount by which the actual Speed value can vary randomly. Default=0.0. To obtain the actual speed for each particle, the system multiplies the Variation value by a random number between –1.0 and 1.0, and then applies the result as a percentage of the Speed setting. For example, if Speed=200 and Variation=10, then the actual speed for each particle would vary randomly between 190 and 210. Accel Limit Sets the acceleration limit. This value impacts the inertia and speed of the particles. Default=1000.0. The default acceleration limit value is based on the default Speed value of 300.0. If you change the Speed value, it is recommended that you also change the Accel Limit value proportionately. TIP Use a lower Accel Limit value for smooth motion, and a higher value when greater accuracy is needed, such as when the particles should hit a small target. You can animate this setting (use Sync By ➤ Event Duration) to specify different appropriate values, depending on the required results. Ease In % Controls the rate by which particles slow down when it approaches the target point. Particle Flow calculates the final speed with this formula: (100% – Ease In) * Speed. Therefore, if the Ease In value is 100%, a particle should approach the target with a speed of 0, and if Ease In is 0%, the particle doesn't slow down at all when approaching the target. At intermediate values, the speed is calculated according to the distance to the target point, as linear interpolation between the initial (cruise) speed, and the final speed. When a particle enters the event, the distance to the target point is calculated and later used for the interpolation. Default=0.0. Particle Flow | 3285 Sync By Choose the time frame to use when animating Speed, Variation, and Accel Limit: ■ Absolute TimeAny keys set for parameters are applied at the actual frames for which they're set. ■ Particle AgeAny keys set for parameters are applied at the corresponding frames of each particle's existence. ■ Event DurationAny keys set for parameters are applied to each particle starting when it first enters the event. Control By Time group Lets you specify the amount of time particles should take to reach the target. This group is unavailable when using Control By Speed. Timing Determines how Particle Flow applies the specified timing, defined by the Time and Variation values. The possible options are: ■ Absolute TimeTime refers to the overall time of the system. Each particle will reach its target at the frame number specified by Time. ■ Particle AgeTime refers to the time elapsed since the birth of the particle. Each particle will reach its target when its age reaches the value specified by Time. ■ Event DurationTime refers to the time elapsed since the particle entered the current event. Each particle will reach its target when it has been in the current for the number of frames specified by Time. Time The number of frames particles should take to reach the target. Default=60. Variation The number of frames by which Time can vary randomly. Default=5. 3286 | Chapter 12 Space Warps and Particle Systems To obtain the actual time to the target for each spawned particle, the system multiplies the Variation value by a random number between –1.0 and 1.0, and then adds the result to the Time value. For example, if Time=60 and Variation=20, then the time to target for each particle would be between 40 and 80 frames. Subframe Sampling Turning this on helps avoid particle "puffing" by timing particles at a much higher subframe resolution (that is, throughout each frame), rather than using the relatively coarse frame resolution. Default=on. "Puffing" is the effect of clustering particles, rather than producing a continuous stream. This effect is especially noticeable when the emitter is animated. Use Docking Speed Lets you specify particles' speed when they reach the target. A particle might be required to reach the target from a specific direction at a specific speed. When Use Docking Speed is off, Particle Flow calculates a path for particles to reach the target in the shortest distance with the least acceleration along the path. When Use Docking Speed is on, Particle Flow calculates particles' final speed when they reach the target using the Speed and Variation parameters. Therefore if you want a “smooth landing,” set Speed to 0.0. Default=off. Speed The speed of particles when they reach the target in scene units per second. Default=100.0. Variation The amount by which the actual Speed value can vary randomly. Default=0.0. Target group By default, Find Target uses its own target icon, but you can use these controls to designate other scene objects as targets instead. Icon Use the Find Target icon as the target. Each Find Target test has its own target icon. Even if you don't use it as a target, it still influences particle behavior if you set the docking type to Parallel, Spherical, or Cylindrical. Mesh Objects Use one or more scene mesh objects as targets. Choose this to make the list and list-management buttons available. If you designate more than one target, the target used by each particle is determined by the choice in the Object drop-down list on page 3289 in this group. [list] Shows the mesh objects used as targets. If more than three target objects apply, a scroll bar appears at the right side of the list. Particle Flow | 3287 Add Click this button, and then select a mesh object in the scene to add it to the list as a target. By List Click this button, and then use the Select Target Objects dialog to add one or more mesh objects to the list. The objects must already exist in the scene, and the dialog shows only eligible objects. Remove To remove a target object from the list, first highlight it and then click this button. Any removed objects remain in the scene. Sync By Choose the time frame to use when sending particles toward animated objects when using Animated Shape or Follow Target Animation: ■ Absolute TimeAnimation derived from the target is applied to particles immediately. ■ Particle AgeAnimation derived from the target is applied to particles at the corresponding frames of each particle's existence. ■ Event DurationAnimation derived from the target is applied to particles is applied to each particle starting when it first enters the event. Animated Shape Turn on to allow particles to target the surface of an object whose form is animated by scaling, by morphing, or with modifiers. This requires more computation, because the destination must be updated at every integration step. Follow Target Animation Turn on to allow particles to follow a moving target; that is, a target whose location is animated. This requires more computation, because the destination must be updated at every integration step. Point Lets you specify where on its target a particle should land. ■ RandomEach particle targets a random point on the target. ■ Closest SurfaceEach particle targets the nearest point of the target’s surface. ■ By Script VectorThe target point or points are defined using a Script operator that defines values in the particleVector channel. The Script operator can be anywhere upstream of the Find Target test. NOTE When using By Script Vector to target absolute positions, such as vertex locations, be sure to set Target to Icon. If you set it to Mesh, the positions specified by the script will be relative to the position of the mesh object. This latter option is useful for placing scripted targets on the surface of a moving object. 3288 | Chapter 12 Space Warps and Particle Systems Object With multiple mesh targets, lets you specify how Particle Flow should choose among them. Available only when targeting more than one object. ■ RandomFor each particle, Particle Flow chooses a target object at random. ■ Closest PivotFor each particle, Particle Flow chooses as its target the object whose pivot is nearest to the particle. ■ Closest SurfaceFor each particle, Particle Flow chooses as its target the object whose surface is nearest to the particle. ■ Least DeviationFor each particle, Particle Flow chooses as its target the object that requires the least change in its current direction (or resteering) to reach. ■ By Script IntegerFor each particle, the choice of a targeted object is defined by a script operator that sets an index. This index corresponds to a target-object entry position in the target list. See Script Operator Example on page 3282. Lock On Target Object When on, Particle Flow calculates each particle's target object once: when the particle enters the event. Thereafter, the particle is “locked on” to its target object. When off, Particle Flow can continually recalculate the target object for each particle. Available only when multiple target objects are designated. For example, if you set particles to target the closest surface, due to the target animation and particle movement, the definition of the closest surface is constantly changing. Thus the particle may change the target object due to the circumstances. NOTE Each time Find Target sets a target object, it “locks on” to a specific point on that object. This point can change only if the target object changes. Thus, with a single target object, the target point always remains constant relative to the target object. That is, if the target object or its surface is animated, and Follow Target Animation or Animated Shape is on, the absolute coordinates of the target point may change. NOTE When Lock On Target Object is off, more calculation is required because the system might have to recalculate each particle's optimal target point in each frame. Particle Flow | 3289 Docking Direction group Docking type Lets you specify from which direction particles should approach targets. ■ None SpecifiedNo docking constraints. Particles reach their targets in the most efficient way, based on their assigned parameters and their current attributes. ■ Along Icon ArrowThe final direction is the same as the Find Target icon arrow. NOTE When using this option, arrows appear on the Find Target icon to indicate the direction particles will use for docking. You can change the docking direction by reorienting the icon. This applies even when using mesh objects as targets. ■ Icon SphericalThe final direction points toward the center of the operator icon. NOTE When using this option, arrows appear on the Find Target icon to indicate the directions particles will use for docking. You can change the docking directions by reorienting the icon. This applies even when using mesh objects as targets. ■ Icon CylindricalThe final direction points toward the icon arrow as a line, thus forming a cylindrical field with the arrow as the cylinder's main axis. NOTE When using this option, arrows appear on the Find Target icon to indicate the directions particles will use for docking. You can change the docking directions by reorienting the icon. This applies even when using mesh objects as targets. ■ Surface NormalsEach particle reaches its target point from a direction perpendicular to the surface at that point. NOTE When using this option, arrows appear on the Find Target icon to indicate that particles will use surface normals for docking; the actual directions they will use depends on the target surface. This applies even when using mesh objects as targets. Distance The distance from the target at which particles begin docking behavior. This includes the docking direction, and, when using Control By Time, the docking speed. 3290 | Chapter 12 Space Warps and Particle Systems _____ Icon Size Set the size of the Find Target icon. This affects particle behavior when using the icon as the target. Color Coordinated When on, the Find Target icon uses the color of the event containing the test as defined by its local Display operator, if one exists. This applies even if the Display operator is turned off. When off, the Find Target icon uses the default Test Gizmos color as defined in Customize User Interface ➤ Colors ➤ Particle Flow. Default=on. Turn on Color Coordinated to make it easier to spot the Find Target icon, because the particles in the event use the same color as the icon. Uniqueness group The Uniqueness setting enables randomization of the Random options and the Variation options. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Go To Rotation Test Particle View on page 3049 ➤ Click Go To Rotation in an event or add Go To Rotation to the particle system and then select it. The Go To Rotation test enables a smooth transition in the rotational component of a particle, so that the particle can gradually rotate to a specific orientation over a specific period. An example of its usage would be with falling leaves, which spin chaotically as they fall, but land on a flat side rather than an edge. The test aspect lets you direct the particle to a new event when the transition period ends. To set a target orientation, place the Go To Rotation test before an orientation-type operator (Rotation on page 3131 or a Script operator on page 3230 if it defines the rotation channel) in the same event. In this situation, the Go To Rotation test can grab the particle rotational component before the orientation-type operator overwrites it. The Go To Rotation operator modifies the particle orientation and spinning in the post-evaluation cycle. For an example, see the procedure below. WARNING The Go To Rotation test is not compatible with the Spin, Shape Facing, and Shape Mark operators. Do not use any of these operators in the same event with a Go To Rotation test. Particle Flow | 3291 NOTE You can define the transition period only in terms of time. You cannot set the test to come to a specific rotation by the time of another test, such as a collision test. Also, limited control is provided over the axis of spinning when a particle comes to the final rotation. Procedures Example: To make falling particles land smoothly, face up: This procedure assumes a basic knowledge of Particle Flow usage. 1 In the Perspective viewport, add a Particle Flow system and raise its icon about 80 units on the Z axis. 2 In Event 01, make the following changes: ■ Birth ➤ Amount=50 ■ Speed=100 ■ Shape=Cube (or use Shape Instance with a custom object, such as a coin-shaped cylinder) ■ Display ➤ Type=Geometry This reduces the number of particles and slows them down, making it easier to see what's going on. 3 Add a Spin operator on page 3133 to Event 01, and set both Spin Rate and Variation to 150. This gives the particles random spinning behavior as they fall. 4 Add an Age test to the end of Event 01, and set Test Value=15. This allows each particle to fall and tumble for 15 frames before Go To Rotation takes effect. 5 From the Depot, drag a Go To Rotation test to an empty area in Event Display. Set Duration=15 and keep all other default settings. 6 Insert a Rotation operator immediately after the Go To Rotation test. Choose Random Horizontal as the orientation matrix. Keep the other default settings. The Go To Rotation test will use this as the final orientation for the particles. 7 Use a Speed event to create a third event. Set Speed=0.0. This stops the particles at the end of the animation. 3292 | Chapter 12 Space Warps and Particle Systems 8 In both new events, set Display ➤ Type=Geometry. 9 Wire the Age Test in Event 01 to Event 02, and then wire the Go To Rotation test in Event 02 to Event 03. 10 Play the animation. The particles tumble chaotically as they fall for about 30 frames, and then come to a smooth stop, facing up. Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Particle Flow | 3293 Test True When group Transition Period Ends When on, the particles test True at the end of the specified transition period, and become eligible for redirection to the next event. When off, particles will not go to the next event, even if wired. Turn off to disable the test aspect of Go To Rotation. Default=on. Transition By group Determines how Particle Flow applies the specified timing, defined by the Time and Variation values. Default=Event Duration. The possible options are: ■ Absolute TimeTime refers to the overall time of the system. Each particle will reach its target orientation at the frame number specified by Time. ■ Particle AgeTime refers to the time elapsed since the birth of the particle. Each particle will reach its target orientation when its age reaches the value specified by Time. ■ Event DurationTime refers to the time elapsed since the particle entered the current event. Each particle will reach its target orientation when it has been in the current for the number of frames specified by Time. Duration The number of frames particles should take to reach the target orientation. Default=30. Variation The number of frames by which Duration can vary randomly. Default=0. To obtain the actual time to the target orientation for each particle, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then adds the result to the Duration value. For example, if Duration=60 and Variation=20, then the time to target orientation for each particle would be between 40 and 80 frames. Target Rotation group When you use an orientation-type operator with Go To Rotation, this setting lets you determine whether the test sets the target orientation on a one-time or ongoing basis. Default=Constant. Constant Defines that the orientation-type operator sets a constant orientation for a particle. 3294 | Chapter 12 Space Warps and Particle Systems For example, when using a Rotation operator set to an orientation matrix other than Speed Space Follow, the Go To Rotation operator would acquire the target orientation only once, and then use it as its goal. Changing Defines that the orientation-type operator sets a changing rotation for a particle. At each frame the desirable final rotation may be different. For example, if you use the test with a Rotation operator set to Speed Space Follow, the test will adjust the particle rotation constantly to aim at the changing final rotation. Target Rotation Spin group Defines the angular velocity for each particle when it reaches the target orientation. Match Initial Spin Sets the angular velocity at the end of the transition period to the same as the angular velocity when particle enters the event. NOTE The axis of rotation might still be different, because it is calculated on the fly to let the particle come to the target orientation. Spin Rate Defines each particle's angular velocity, in degrees per second, when it reaches the target orientation. Available only when Match Initial Spin is off. Default=0.0. For a smooth transition to the target orientation, set to 0.0. Variation Defines a random variation in the Spin Rate value when a particle reaches the target orientation. Default=0.0. To obtain the final angular velocity for each particle, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then adds the result to the Spin Rate value. For example, if Spin Rate=6.0 and Variation=1.0, then the final angular velocity for each particle would be between 5.0 and 7.0 degrees per second. Ease In % Defines a curve in achieving the final spin rate. Default=0.0 When set to 0.0, the test produces a linear interpolation between the initial and final spin rate, and when set to 100.0, the final spin rate is achieved earlier. For the smoothest approach to the target orientation, set Spin Rate and Variation to 0.0, and Ease In to 100.0. Transition End group Stop Spinning When on, halts particle rotation when it reaches the target orientation. Default=on. Particle Flow | 3295 Even with Spin Rate spinner set to 0.0, we recommend that you keep this check box on to avoid slow spinning at the end, due to computational averaging and marginal errors. Uniqueness group The Uniqueness setting enables randomization of the Variation options. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Lock/Bond Test Particle View on page 3049 ➤ Click Lock/Bond in an event or add a Lock/Bond test to the particle system and then click it. The Lock/Bond test attaches particles to objects, and can keep them attached even as the object animates. Particles can move over an object's surface and the bond can be broken, causing particles to fly or break off from the object. The standard Position Object operator is also able to lock particles to an object, but because it chooses particle positions at random on the object's surface, particles can drift when the object is animated. The Position Object operator's main limitation is that it cannot be applied to particles that have already established their positions. Because the Position Object operator generates new particle positions regardless of the old ones, it can create the illusion that each particle shifts to a new location instantaneously. With Lock/Bond, you can force particles to maintain their original positions with respect to an animated surface. Lock/Bond can also fix particle orientation. This means that particles with a perceivable orientation, such as darts or arrows, can maintain their orientation to the object even as it rotates. You can also limit particles' rotation from their original orientations for fine control over wind and gravity effects. You can also dampen particle motion to simulate air, fluid, or friction as particles move across a surface or through the air. While Lock/Bond functions mainly as an operator, applying various attributes to particles while they’re in the same event, it also serves as a test for particles breaking off from the object. For information on the test performed, see the parameter Break Off When Exceeds on page 3302. For more information on Lock/Bond, see Using the Lock/Bond Test on page 3303. 3296 | Chapter 12 Space Warps and Particle Systems Interface Particle Flow | 3297 Lock On Objects group The controls in this group set the starting point for the Lock/Bond test. Here you specify the objects to which to attach the particles, and choose the method for placing particles as they enter the event. When the Lock/Bond test starts, each particle is locked to a specific point in the scene, usually on the object's surface. This point is referred to as the particle's lock point. If the object is animated, the lock points animate along with the object. When Snap To Surface is turned on, the lock point is on the surface. When Snap to Surface is off, the lock point is exactly at the point where the particle is located at the moment when it enters the event. This location is translated to the local coordinates of the reference object, and maintained throughout the animation of the reference object. [list] Shows all objects referenced by the test. Add Adds an object to the list. By List Allows you to add multiple objects to the list. Remove Removes highlighted objects from the list. [locking method] Choose a method for locking particles to objects in the list: ■ Lock To ObjectLocks particles to the object's local coordinate space. This option takes less processing time than Lock To Surface. ■ Lock To SurfaceLocks particles to the closest point of the object's surface at the moment when the particle enters the event. By default, this option maintains the distance each particle had from the surface upon entering the event. When used in conjunction with Snap To Surface, this option locks particles to the actual object surface. Lock to Surface takes more processing time than Lock to Object because the software has to find the closest point on the surface for each particle. Animated Surface Locks particles to a changing surface. Use this option when the object's surface changes shape or detail over time, such as with animated sub-objects or parameters, morphing, or a skinning modifier. If the object is animated through transforms only (position/rotation/scale), you can save processing time by leaving this option off. When on, the operator acquires the surface data at every frame. When off, the operator acquires the surface data only once, and uses transformation data as needed to calculate the surface location at every frame. Available only when Lock To Surface is on. 3298 | Chapter 12 Space Warps and Particle Systems Snap To Surface Causes particles to jump to the object's surface as they enter the event. This option differs from Lock To Surface, which locks particles to the surface but maintains each particle’s distance from the surface upon entering the event. Snap To Surface forces particles to lie on the object's surface. If you turn on Snap To Surface but not Restrict To Surface (see following), particles jump to the surface upon entering the event, but don't stay on the surface if Force in the Position Lock/Bond group is less than 100% and other forces such as the Speed operator or Force operator are applied. Available only when Lock To Surface is on. Position Lock/Bond group These options control the movement of particles from their lock points after they enter the event. Restrict To Surface Forces particles to stay on the object's surface as they move. When the Force parameter is less than 100%, particles can move from their original positions based on Speed and Force operators within the event. In this case, turning on Restrict to Surface forces the particles to move only to other parts of the surface without leaving the surface itself. For more information on how Restrict to Surface works with the Force parameter, see Force, following. Offset Limit The maximum distance a particle can move from its lock point, in units. When off, particles are not limited in their movement. If the object or surface is animated, particles might need to move quickly to keep up with the lock point's animation and stay within the Offset Limit distance. If Offset Limit is on and particles cannot keep up with the lock point's movement, particles will be limited to be within the Offset Limit distance to the lock point (to the Offset Limit) even if Force is less than 100%. In addition, if Speed Limit is on, particles can exceed the speed limit to maintain the specified offset. In other words, the Offset Limit parameter, when on, overrides the Speed Limit parameter. Speed Limit The maximum speed a particle can travel, in units per frame. If Speed Limit is on and particles cannot keep up with lock points on an animated object, particles are limited to the Speed Limit even if Force is 100%. In other words, the Speed Limit parameter, when on, overrides the Force % parameter. Force % Sets the amount of force holding the particle to its lock point. A Force % value of 100.0 attempts to keep particles stuck to their lock points. If the Force % value is less than 100.0, particles can move off their lock points based on Speed and Force operators in the event. The lower the Force % value, the more influence Speed and Force operators have on the particles. Particle Flow | 3299 If Force % is less than 100.0 and Restrict To Surface is on, particles move along the object's surface. If Force % is less than 100.0 and Restrict To Surface is off, particles move off the surface but retain their relationships to lock points. In either case, particle movement is based on Speed and Force operators, and is restricted by Offset Limit and Speed Limit if those parameters are on. When Force %=100.0 and Restrict To Surface is on, particles are locked strictly to the object or surface, and do not move. If Force %=100.0 and Restrict To Surface is off, particles are locked to the object unless Break Off When Exceeds is on and the object is animated at a sufficient speed to break off particles. NOTE Offset Limit and Speed Limit, when enabled, can override a 100% Force setting. Dampening Defines how particles are slowed down, whether moving on the object's surface or off it. Dampening simulates the effect of various resistance forces. ■ NoneNo dampening is applied, other than the default dampening on oscillating forces from Speed and Force operators. ■ FrictionSimulates a surface friction effect, which gradually slows particles until they stop moving. The total slowdown is proportional to the travel distance of a particle. The number of seconds in which a particle loses its speed is equal to initial speed divided by the Friction value. For example, if the initial speed of a particle is 300.0 and the Friction value is 100.0, then the particle gradually comes to a halt over three seconds. ■ Air/FluidSimulates the resistance of a medium such as air or water, which slows particles but never stops them completely. The resistance is proportional to the speed squared, making the resistance very high for fast-moving particles, but quite low for slow-moving particles. For example, if one particle is moving at a speed of 100.0 and another at 200.0, the resistance for the faster particle will be four times larger than for the slower particle. The Resistance value defines the resistance force for a particle with speed equal to the Speed Unit value. ■ BothCombines both forces: Friction and Air/Water. If you want the overall effect of air resistance, but you want particles to stop moving eventually, use this option. In this case, a small Friction value stops slow-moving particles. No Force In Central Zone group The central zone is a volume around a lock point. Each particle has its own central zone defined by the Radius parameter in this group. 3300 | Chapter 12 Space Warps and Particle Systems When Force % is less than 100.0, particle movement is influenced by Force and Speed operators, where forces are oscillated and particles gradually slow down until they come to rest. If you want particles to wander around the lock point rather than coming to rest, you can use these settings to disable forces in each particle's central zone. This will keep a particle wandering indefinitely if its location is within the Radius of its lock point. Acceleration When on, turns off acceleration forces in each particle's central zone. This prevents the particle from slowing down to a stop. Dampening When on, turns off dampening in each particle's central zone. This prevents particles from being slowed by friction and coming to a stop. Rotation Lock/Bond group Use these options to control the rotation of particles. In this section, mentions of the Force % parameter refer specifically to the one in this group. Offset Limit The maximum number of degrees by which a particle can deviate from its lock point's rotation. For example, the maximum number of degrees a particle can lean or bend when affected by Wind or Gravity. If the object or surface is animated, particles might need to rotate quickly to keep up with the lock point's rotation and still remain within the Offset Limit. If Offset Limit is on and particles cannot keep up with the lock point's rotation, particles will be limited to the Offset Limit even if Force % is less than 100.0. In addition, if a Spin Limit is set (see following), particles can exceed the Spin Limit to maintain the specified offset. In other words, the Offset Limit, when on, overrides the Spin Limit. Spin Limit The maximum number of degrees per frame that a particle can rotate. If Spin Limit is on and particles cannot keep up with lock points that are rotating, particles will be limited to the Spin Limit even if Force %=100. In other words, the Spin Limit, when on, overrides the Force % setting. Force % The amount by which the particle's rotation is forced to match its lock point's rotation. When Force %=100.0, particles maintain their original orientations, unless limited to rotate by Spin Limit settings. When Force % is less than 100.0, particles can be rotated with Force operators. The lower the Force value, the more a particle can be influenced by Force operators and inertial properties of a particle. Dampening % The amount of resistance that prevents a particle from catching up with the lock point's rotation. A value of 0.0 creates no dampening, while 100.0 keeps the particle from rotating at all. If Offset Limit is on, Dampening cannot cause the particle rotation to deviate from the lock point's rotation by Particle Flow | 3301 more than the Offset Limit amount, even if Dampening % is set to 100.0. In other words, the Offset Limit setting overrides the Dampening value. Induced By Speed Change Causes particle rotation to occur even when particles' positions are locked to their lock points. For example, a field of grass particles would not move, but could rotate when wind is applied to them. This option also works with particles locked to animated surfaces, such as hair or fur particles on an animal's body. Usually particles are rotating because the underlying surface is rotating, and particles are trying to catch up with the "lock" orientation. This option lets you simulate the effect of a particle with a springy attachment to a surface. Since the center of gravity of a particle doesn't coincide with the lock point, any movement of the underlying surface initiates a rotational movement of a particle. Inertial Size The distance between the pivot point of a particle and the particle’s center of gravity. For example, the inertial size of a blade of grass is half the length of the strand. Smaller values induce a stronger rotation. Available only when Induced By Speed Change is turned on. Break Off When Exceeds Causes particles to be released from an object's surface when they achieve a specific speed or acceleration. This option works only when particles are glued to the object's surface and have no speed of their own, and any speed or acceleration comes from animation of the object itself. Particles that break off from the object become available to the Lock/Bond test output, which you can wire to another event. You can use either of the following settings with this option: ■ SpeedThe particle speed at which a particle breaks off the object. ■ Accel.The particle acceleration at which a particle breaks off the object. Break If Outwards Only Causes particles to break off only when the particle's motion is directed away from the object's surface, in the direction of the nearest surface normal. Particles that would penetrate the object when breaking off are not released from the object. Available only when Lock to Surface is chosen and Break Off When Exceeds is on. Parameters Animation group You can animate Lock/Bond parameters. When you do, Particle Flow can begin applying the animation to particles at different times, depending on the settings in this group. 3302 | Chapter 12 Space Warps and Particle Systems Sync By Choose the time frame for applying animated parameters: ■ Absolute TimeAny keys set for parameters are applied at the actual frames for which theyre set. ■ Particle AgeAny keys set for parameters are applied at the corresponding frames of each particle’s existence. For example, suppose you set keys for the Offset Limit parameter at frames 0 and 30. With the Particle Age option, the settings for the first key would be applied to particles at birth, and the second key would be applied 30 frames later. ■ Event DurationAny keys set for parameters are applied to each particle relative to the frame at which it first enters the event. Use this option when particles are entering from another event. If particles are born in the current event, this option has the same effect as the Particle Age option. Uniqueness Group These controls set randomization for the Randomly Selected and Select By Particle Property selection conditions. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Using the Lock/Bond Test The Lock/Bond test is a versatile tool for locking particles to objects. By combining its controls in different ways, as described in this topic, you can create a variety of effects. How Lock/Bond Works Lock/Bond has three main functions: ■ Attaching particles firmly to an object, either at the start of an animation or as a result of a collision ■ Moving particles along or near an object's surface with a flexible attachment ■ Ejecting particles from an animated object In setting up these effects, you will find that the four most important parameters are Lock To Surface, Snap To Surface, Restrict To Surface, and Force. Different settings for these parameters, along with a few other parameters and operators, can create a variety of effects with Lock/Bond. Particle Flow | 3303 Attaching Particles to an Object When particles enter an event containing a Lock/Bond test with the Snap To Surface option enabled, each particle is locked to a specific point on the selected object's surface. This point is referred to as the particle's lock point. If the object is animated, the lock points animate along with the object. With Lock/Bond, particle attachment is controlled largely by the Force % parameter in the Position Lock/Bond group. In general, when Force %=100.0, particles stay firmly stuck to their lock points, even on an animated object. For firm attachment, the Lock/Bond test should be the last action in the event. If there are other operators below Lock/Bond that modify speed, then the overall attachment might not be as firm as desired. All parameters in the Lock/Bond test are animatable. Therefore, you can animate Force % to lock down particles gradually or loosen them from their locked positions. Position Object vs. Lock/Bond The standard Position Object operator can generate particles randomly on the surface of an object. Position Object is useful for some types of animation, but is limited in its functionality. The Lock/Bond test overcomes many of these limitations, as described in the following points: ■ When an object to which particles are attached is rotated, the Position Object operator does not rotate the particles along with it. The effects of this limitation are not necessarily visible with tiny or round particles, but it becomes obvious when using directional-type particle instances such as arrows or darts. Lock/Bond rotates the particles along with the object to which they are locked. ■ When particles are passed to a new event that has a Position Object operator and the particles are meant to land on the object's surface, particles do not necessarily lock to the exact spot on which they land. This is because Position Object generates particles randomly on the surface, and they are not "glued down" to a specific spot on a specific face or vertex. Lock/Bond attaches each particle to a specific location on the object's surface so particles don't drift in relation to the surface. The Position Object operator can be useful in conjunction with the Lock/Bond test. For example, you can use Position Object to cover an object with particles before locking them down with Lock/Bond, as described in the following section. 3304 | Chapter 12 Space Warps and Particle Systems Covering an Object in Particles To cover an object in particles, add a Position Object operator to the same event as the Lock/Bond test. The Position Object operator places particles randomly on the surface, while the Lock/Bond test locks or animates them with Lock/Bond forces and parameters. To cover the object with particles, make sure the Amount setting in the Birth operator is high enough to create the necessary quantity of particles. The Birth Texture operator generates complete, even coverage when using Face subdivision. After the object is covered in particles, you can lock them to the surface as the object animates, make them drift over the surface, or fling them off the object. Locking Particles to an Animated Surface An animated surface is one that deforms, or changes shape, over time. Examples of animated surfaces are objects with: ■ Parameter animation ■ Sub-object animation (animated vertices or faces) ■ Morphed objects ■ Surfaces animated with skinning modifiers such as Skin and Physique Transform animation (position, rotation, scale) at the object level is not considered an animated surface. Use these parameters to lock particles to an animated surface: Parameter Value Lock To Surface On Animated Surface On Snap To Surface On Offset Limit Off Speed Limit Off Force % 100.0 Particle Flow | 3305 When Force %=100.0, particles stay firmly stuck to their lock points. The exception is when Speed Limit is on and the object is animated. In that case, particles stick to their lock points only if they can keep up with them without exceeding the specified velocity (Speed Limit). If this parameter is off, there is no distance or speed limit, and particles stay firmly stuck to their lock points. A Force % value of 100.0, coupled with Offset Limit and Speed Limit off, forces the particles to stay on the surface. Moving Particles Along or Near an Object's Surface To allow particles to move along an object's surface, Restrict To Surface must be on and the Force % parameter in the Position Lock/Bond group must be set to a value lower than 100.0. Any Speed or Force operators in the event will then act on the particles to move them along the surface. These forces are applied in such a way that they cause the particles to oscillate with and against the force, gradually slowing down (dampening). You can control the amount of dampening in the particles' motion with the Dampening parameters in the Position Lock/Bond group. When Restrict To Surface is on, all Force and Speed operators should be above the Lock/Bond test, while Collision and Spawn tests should be below the Lock/Bond test. Moving Particles Along a Surface If you want particles to drift along the surface of an object, use the following settings: Parameter Value Lock To Surface On Snap To Surface On Restrict To Surface On Force % 50.0 (or any value lower than 100.0) Add Speed and Force operators to the event to make the particles move in a particular direction. For example, you can use a Wind space warp with a Force operator to push all the particles onto one end of the object. 3306 | Chapter 12 Space Warps and Particle Systems Drifting Particles Lock/Bond can also cause particles to drift slightly but always stay a short distance from their lock points. The area around each particle's lock point is called the central zone. Each particle has its own central zone, which extends to a specified radius around the lock point. Parameter Value Lock To Surface On Snap To Surface On Restrict To Surface Off Force % 50.0 (or any value lower than 100.0) In the No Force In Central Zone group, turn on For Acceleration or For Dampening, and set Radius to the distance around each lock point in which the particle can freely move. The Radius setting determines the central zone. Ejecting Particles from an Animated Object Lock/Bond can also cause particles to be ejected, released, or flung from an object's surface when they achieve a specific speed or acceleration. Ejecting Particles from a Fast-Moving Object Use this technique when particles are glued to the object's surface and have no speed of their own, and any speed or acceleration comes from animation of the object itself. Examples include a fast-spinning or fast-moving object, or one with sub-object animation that moves one part of the object at a fast speed. Use these parameters to cause particles to break off a fast-moving object: Parameter Value Lock To Surface On Snap To Surface On Restrict To Surface Off Force % 100.0 Particle Flow | 3307 Parameter Value Break Off When Exceeds On Under Break Off When Exceeds, choose either Speed or Acceleration, and set the speed or acceleration where particles should break off. Use the Acceleration method to simulate an object shaking off particles. When the object suddenly stops shaking the particles will fly off the object. Particles that break off pass the Lock/Bond test and can be passed to another event. Use a Force operator in the next event to specify how the particles will behave after they are released from the object. Ejecting Particles When They Reach a Specific Speed To cause particles to break off an object as they move along the surface and achieve a specific speed of their own, use the settings described in the preceding section Moving Particles Along a Surface, and use a Speed Test operator to test particle speed and break to a new event. Scale Test Particle View on page 3049 ➤ Click Scale Test in an event or add Scale Test to the particle system and then select it. Scale Test lets the particle system check particle scaling, or particle size before or after scaling, and branch accordingly. The test provides a variety of axis options for measuring scale or size. You can use this test to cause a change in behavior based on size. For example, a bubble could grow to a certain size, and then pop. Or an object could shrink in size until it falls under the influence of a force, like wind. 3308 | Chapter 12 Space Warps and Particle Systems Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Type Choose the type of measurement to test. You can test actual scaling, or the size before or after scaling. Default=Scale. For example, if the X-axis size of a particle's bounding box starts out at 10 system units, and you then use the Scale operator to scale it by 150% on the X axis, the pre-scale size is 10, and the post-scale size is 15. And, of course, the scale is 150. NOTE Particle Flow measures particle size based on each particle’s bounding-box dimensions in the particle's local coordinate space. With the low-polygon Shape options Tetra and Sphere, the result of this measurement might not be the same as the Shape operator’s Size value. ■ PreScale SizeTests the size before scaling. Particle Flow | 3309 ■ PostScale SizeTests the size after scaling. ■ ScaleTests the scaling percentage. Axis Choose the axis to measure. Default=Average. ■ AverageObtains an average measurement by adding the sizes on all three axes and then dividing by three. ■ MinimumUses the smallest dimension. ■ MedianUses the middle dimension in order of size. For example, if the particle dimensions are X=5, Y=6, Z=12, then the number compared to Test Value would be 6. ■ MaximumUses the largest dimension. ■ X/Y/ZUses the specified dimension. Test True if Particle Value Lets you specify whether the test passes particles on to the next event if the speed test succeeds or fails. Available for all tests except True When Accelerates/Decelerates. Default=Is Greater Than Test Value. By default, Scale Test returns True if the value tested for exceeds the Test Value quantity, but you can alternatively choose Is Less Than Test Value. For example, if you set Type to Scale and set Test Value=150 and Variation=0, and choose Is Less Than Test Value, a particle will move to the next event only when its scaling factor is less than 150%. Size group These settings are available when Type is set to PreScale Size or PostScale Size. Test Value The specific size to test for. Default=10.0. Variation The amount by which the value tested for can vary randomly. Default=0.0. To obtain the actual test value for each particle, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then adds the result to the Test Value setting. For example, if Test Value=10 and Variation=5, then the tested value for each particle would be between 5 and 15. Scale group These settings are available when Type is set to Scale. Test Value The specific scaling factor to test for. Default=100%. 3310 | Chapter 12 Space Warps and Particle Systems Variation The amount by which the value tested for can vary randomly. Default=0.0%. To obtain the actual test value for each particle, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then adds the result to the Test Value setting. For example, if Test Value=100% and Variation=10%, then the tested value for each particle would be between 90% and 110%. Test Value Offset Keying group Sync By Choose the time frame to use when animating Test Value and Variation: ■ Absolute TimeAny keys set for parameters are applied at the actual frames for which they're set. ■ Particle AgeAny keys set for parameters are applied at the corresponding frames of each particle's existence. ■ Event DurationAny keys set for parameters are applied to each particle starting when it first enters the event. Uniqueness group The Uniqueness setting enables randomization of the test value variation. Available only when either Variation value exceeds 0.0. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Script Test Particle View on page 3049 ➤ Click Script Test in an event or add a Script Test operator to the particle system and then select it. Script Test lets you test particle conditions using a MAXScript script. The script can use any program functionality available to MAXScript. The default test script tests for the presence of all particles within a spherical volume of radius 20. Particle Flow | 3311 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Edit Script Click this button to open the current script in a MAXScript Editor window. For detailed information about the MAXScript utility, open the MAXScript Help, available from Help menu ➤ MAXScript Help. Uniqueness group The Uniqueness setting provides a randomization seed that the script can use or ignore. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Send Out Test Particle View on page 3049 ➤ Click Send Out in an event or add Send Out to the particle system and then select it. The Send Out test simply sends all particles to the next event, or, conversely, keeps all particles in the current event. Use Send Out when you simply want to send particles to another event without any conditions. TIP You can temporarily convert any test to Send Out. To specify that a test should send all particles out without any conditions, click the left side of its icon in Particle view; the icon changes to a green light bulb to indicate that all particles automatically test True. Or, if you click the right side of the icon, it changes to a red light bulb, indicating that all particles test False and thus will stay in the current event. To revert to the test's original function, click its icon again. 3312 | Chapter 12 Space Warps and Particle Systems Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Test True For Lets you specify whether the test passes all particles on to the next event or keeps them in the current event. Default=All Particles. ■ All ParticlesAll particles are passed on to the next event. ■ No ParticlesAll particles are retained in the current event. Spawn Test Particle View on page 3049 ➤ Click Spawn in an event or add Spawn to the particle system and then select it. Spawn creates new particles from existing ones. Each spawned particle is born at the same location as its parent, and has the same orientation and shape. Spawn can give the spawned particles a different speed and scaling factor. If you wire the Spawn test to another event, spawned particles are sent to that event, where you can specify different properties for the new particles. Spawn is a test only in that it sends the spawned particles to another event (if wired); it doesn't actually test any properties. All particles that encounter Spawn are immediately affected by it. Thus, if you want particles to spawn based on the results of a test, use a different test that branches to an event containing the Spawn. In such a case, you might want to then send the spawned particles to yet another event, or the particles will continually respawn. Alternatively, to spawn particles after a collision, use Collision Spawn Test on page 3274. See also: ■ Collision Spawn Test on page 3274 Particle Flow | 3313 Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. In the context of Spawn, a parent is the original particle from which new particles are spawned. Spawn Rate And Amount group Use these settings to specify how often particles are to spawn, the measurement system to use, and other values related to how many particles are spawned. 3314 | Chapter 12 Space Warps and Particle Systems Once Particles spawn one time only. For each existing particle, one new one is born. Delete Parent When on, deletes each original particle from which a new one is spawned. Available only with the Once option. Per Second Lets you specify a number of particles to spawn every second. For example, if you use the default Rate setting of 10.0, at 30 fps a new particle is born every three frames. Rate The number of particles to spawn per second. Available only with the Per Second option. By Travel Distance Lets you spawn new particles at regular intervals over the path of a moving parent particle. Step Size The system spawns a new particle every time the parent moves this distance, in system units. Spawnable The percentage of particles in the current event that will spawn new particles. This is determined once for each particle, when it enters the event. However, the parameter is animatable. Default=100.0. For values other than 100.0, Spawnable uses a randomized selection process, which is affected by the Uniqueness Seed value. For example, with five parent particles, Offspring #=1, and Spawnable=80.0, you might get any number of spawned particles between two and five. The average per spawning would be four, however. Offspring # The number of new particles the system creates from each parent particle for each spawning event. Default=1. Variation The amount by which the Offspring # value can vary randomly. Default=0.0. To obtain the actual test value for each particle, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then applies the result as a percentage of the Offspring # setting. For example, if Offspring #=20 and Variation=10, then the actual number of offspring for each particle would be between 18 and 22. Sync By Choose the time frame to use when animating Rate, Step Size, Offspring #, and Variation: ■ Absolute TimeAny keys set for parameters are applied at the actual frames for which they're set. ■ Particle AgeAny keys set for parameters are applied at the corresponding frames of each particle's existence. Particle Flow | 3315 ■ Event DurationAny keys set for parameters are applied to each particle starting when it first enters the event. _____ Restart Particle Age When on, sets the age of each newly spawned particle at 0. When off, each spawned particle inherits its parent's age. Default=on. Speed group Lets you specify the speed of spawned particles in absolute terms or relative to the parents' speed, with optional random variation. The direction of a spawned particle is always in relation to that of its parent, but you can set a Divergence so they eventually spread out. Default=Inherited. In Units Choose this to specify the speed of spawned particles in system units per second. Default=100.0. A positive value inherits the parent's direction; a negative value reverses it. Inherited Choose this to specify each spawned particle's speed as a percentage of its parent's speed. Default=100.0 A positive value inherits the parent's direction; a negative value reverses it. Variation The amount by which a spawned particle's speed can vary randomly. Default=0.0. To obtain the actual speed for each spawned particle, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then adds the result to the particle's speed as specified or inherited. For example, if a particle's speed is 100 units/second and Variation=20, then the tested value for each particle would be between 80 and 120 units/second. Divergence When on, spreads out the stream of spawned particles. Use the numeric setting to define the extent of the divergence in degrees. Range=0 to 180. Default=20.0. Size group Scale Factor The amount of uniform scaling to apply to each spawned particle, as a percentage of its parent's size. Default=100.0. Variation The amount by which a spawned particle's scale can vary randomly. Default=0.0. To obtain the actual scaling for each spawned particle, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then adds the result to the Scale Factor value. For example, if Scale Factor=100 and 3316 | Chapter 12 Space Warps and Particle Systems Variation=20, then each spawned particle would be between 80 and 120 percent of its parent's size. Uniqueness group The Uniqueness setting enables randomization of the Spawnable result, when less than 100.0, as well as of the Variation values. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Speed Test Particle View on page 3049 ➤ Click Speed Test in an event or add Speed Test to the particle system and then select it. Speed Test lets the particle system check particle speed, acceleration, or the rate of circular travel, and branch accordingly. The test provides a number of variants that let you test speed or acceleration on specific axes, or simply whether the particle is accelerating or decelerating. Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Particle Flow | 3317 The first interface element is a drop-down list that lets you choose the type of measurement to test: ■ Velocity MagnitudeTests the particle velocity, in system units per second, without consideration of direction. This is the default test type. ■ Velocity X/Y/ZTests the particle velocity on the specified axis, in system units per second, using the world coordinate system. An example of this option would be with fireworks: As the particles move upward, their velocity on the world Z axis is positive. When the reach the top of their trajectory and begin to move downward, their velocity on the world Z axis slows to 0, and then becomes negative. If you choose Velocity Z and Is Less Than Test Value, and set Test Value to 0.0, you can send particles to another event at the moment they begin to move downward. ■ Acceleration MagnitudeTests the particle acceleration (change in velocity), in system units per second per second, without respect to direction. ■ Acceleration X/Y/ZTests the particle acceleration (change in velocity) on the specified axis, in system units per second per second, using the world coordinate system. ■ Steering RateTests the circular component of particle travel in degrees per second, without consideration of rotation or spinning. For example, if a particle travels along a parabolic path, its motion has both linear and circular components. The circular component is greatest at the top of the parabola. If a particle travels in a full circle in one second, the rate is 360; if it travels in a half circle, the rate is 180. Potential usage: When a particle is forced to turn too sharply, it might explode or change its type of movement. For example, missiles chase a jet fighter, which maneuvers to elude the missiles. The missiles are forced to change their course rapidly, but the missile construction cannot stand the fast change in steering, so the missiles blow up or disintegrate. TIP You can test steering rate by setting the particle speed with Speed By Icon on page 3146, and linking the Speed By Icon operator icon to a circular path. ■ True When AcceleratesReturns a True value when the particle velocity is increasing in value. ■ True When DeceleratesReturns a True value when the particle velocity is decreasing in value. 3318 | Chapter 12 Space Warps and Particle Systems Test True if Particle Value Lets you specify whether the test passes particles on to the next event if the speed test succeeds or fails. Available for all tests except True When Accelerates/Decelerates. Default=Is Greater Than Test Value. By default, Speed Test returns True if the value tested for exceeds the Test Value quantity, but you can choose Is Less Than Test Value as well. For example, if you use the Velocity Magnitude test type and set Test Value=200 and Variation=0, and choose Is Less Than Test Value, then particles will move to the next event only when they travel faster than 200 units per second. Any particles traveling 200 units per second or slower stay in the current event unless they later exceed that speed or another test returns True. Test Value The specific speed or acceleration to test for. The unit of measurement depends on the type of test; see above. Default=300.0. Variation The amount by which value tested for can vary randomly. Default=0.0. To obtain the actual test value for each particle, the system multiplies the Variation value by a random number between -1.0 and 1.0, and then adds the result to the Test Value setting. For example, if Test Value=300 and Variation=10, then tested value for each particle would be between 290 and 310. Sync By Choose the time frame to use when animating Test Value and Variation. For further information, see Animation Offset Keying group on page 3140. ■ Absolute TimeAny keys set for parameters are applied at the actual frames for which they're set. ■ Particle AgeAny keys set for parameters are applied at the corresponding frames of each particle's existence. ■ Event DurationAny keys set for parameters are applied to each particle starting when it first enters the event. Uniqueness group The Uniqueness setting enables randomization of the test value variation. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Particle Flow | 3319 Split Amount Test Particle View on page 3049 ➤ Click Split Amount in an event or add Split Amount to the particle system and then select it. The Split Amount test lets you send a specific number of particles to the next event, keeping all remaining particles in the current event. You can split the particle stream by a specific number or percentage, or by every Nth particle. With a specific number of particles, the splitting takes place once per event, but you can animate the percentage and “every Nth” values to vary the amount of split-off particles over time. Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Test True For group Lets you choose how to split the particle stream. Default=Fraction Of Particles, 50%. Fraction Of Particles Split the particle stream on a percentage basis, specified with the Ratio value. With Ratio greater than 0.0, whether a particular particle is split off depends on a randomization factor; change this with the Uniqueness Seed value. 3320 | Chapter 12 Space Warps and Particle Systems Ratio Specify the percentage of particles that will test True. Animatable. Default=50.0. Available only with the Fraction Of Particles option. Every Nth Particle Splits off a regular sample of particles. N Specify how often to split off a particle. Animatable. Default=3. For example, enter 8 to split off every eighth particle. Available only with the Every Nth Particle option. First N Particles Splits off the number of particles specified as the N value (below), starting with the first particle to enter the event, and retains the rest. Particles After N First Splits off all particles starting with the first one after N particles, as specified with the N parameter (below). All particles starting with the first to enter the event up to N are retained in the event. N Specify the number of particles to split off, with First N Particles, or to retain in the event, with Particles After N First. Available only with the First N Particles or the Particles After N First option. Per Emission Source When on, Particle Flow applies the N value for the options First N Particles and Particles After N First separately for each emission source. Use this option with multiple Particle Flow sources converging into a single Split Amount test. Uniqueness group The Uniqueness setting enables randomization of particle retention with the Fraction Of Particles option. Seed Specifies a randomization value. New Calculates a new seed using a randomization formula. Split Selected Test Particle View on page 3049 ➤ Click Split Selected in an event or add Split Selected to the particle system and then select it. The Split Selected test lets you split the particle stream based on particles' selection status. For information about selecting particles, see Selection rollout on page 3074. Particle Flow | 3321 NOTE This test considers only particles selected at the Particle sub-object level. To use all particles in an event at a specific frame, go to that frame, go to the Event sub-object level, and highlight the event. Then go to the Particle sub-object level, and on the Selection rollout, click Get From Event Level. Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Test True If Particle group Lets you choose how to split the particle stream. Default=Is Selected. Is Selected All selected particles are eligible for redirection to another event. Is Not Selected All non-selected particles are eligible for redirection to another event. Split Source Test Particle View on page 3049 ➤ Click Split Source in an event or add Split Source to the particle system and then select it. The Split Source test lets you split the particle stream based on particles' origin. You can specify that particles from one or more specific Particle Flow sources should or should not be eligible for redirection to the next event. 3322 | Chapter 12 Space Warps and Particle Systems Interface The user interface appears in the parameters panel, on the right side of the Particle View dialog. Test True If Particle group Lets you choose how to split the particle stream. Default=Is From Selected Source. Is From Selected Source All particles from sources highlighted in the Selected Emission Sources list are eligible for redirection to another event. Is Not From Sel(ected) Source All particles from sources not highlighted in the Selected Emission Sources list are eligible for redirection to another event. _____ Selected Emission Sources Lists all emission sources in the system. Highlight the sources to be considered by the test. Non-Event-Driven Particle Systems Create panel ➤ (Geometry) ➤ Particle Systems Create menu ➤ Particles Non-event-driven particle systems provide relatively simple, straightforward methods for generating particle sub-objects over time for the purpose of simulating snow, rain, dust, and so on. You use particle systems primarily in Non-Event-Driven Particle Systems | 3323 animations. 3ds Max provides six built-in, non-event-driven particle systems: Spray, Snow, Super Spray, Blizzard, PArray, and PCloud. Fountain spray created as a particle system TIP You can take advantage of the AutoGrid feature to orient and position new particle systems with respect to existing objects. For details, see AutoGrid on page 2819. See also: ■ Particle System Usage on page 3326 ■ Creating a Particle Emitter on page 3327 ■ Particle Flow on page 3033 3324 | Chapter 12 Space Warps and Particle Systems Interface Snowstorm created as a particle system This topic describes only the general properties of particle systems. Other plug-in particle systems might be available in your configuration. The built-in particle systems share these controls: Emitter Specifies where in the scene the particles are generated. The emitter is the particle system's main sub-object. It doesn't render. Particles appear on the surface of the emitter and fall (or drift, drop, flurry, spray) from the emitter in a particular direction. Timing The timing parameters control the dynamics of particles in the system. They specify how quickly particles appear, how quickly they disappear, whether the emission rate is constant, and so on. Particle-specific parameters These parameters are specific to the kind of particle system. Examples are particle size and speed. Rendering properties These parameters are also specific to the kind of particle system. There are options for displaying particles in viewports and rendering them in scenes and animations. Particles do not necessarily appear the same in renderings as they do in viewports. You can modify and animate particle system parameters. You can also affect particle system behavior with space warps on page 2920. In addition, you can deform particle systems with the Mesher compound object on page 729. NOTE Particles can participate in dynamics simulations. Non-Event-Driven Particle Systems | 3325 Particle System Usage You create particle systems when you want to model an object or effect that can best be described as a large collection of similar objects behaving in a similar fashion. Obvious examples of such effects include rain and snow, but other equally valid examples include water, smoke, ants, and even crowds of people. On the Create panel, click Spray, Snow, Super Spray, Blizzard, PArray, or PCloud to create a particle system. Spray and Snow exist primarily for compatibility with earlier releases of 3ds Max, and are superseded by Super Spray and Blizzard. To create a particle system, first choose Create menu ➤ Particles ➤ Spray or Snow. These are the basic steps for creating a particle system: 1 Create a particle emitter. All particle systems require an emitter. Some particle systems use the particle system icon as the emitter while others use an object you select from the scene as the emitter. 2 Determine the number of particles. You set parameters such as birth rate and life span to control how many particles can exist at any given time. 3 Set particle shape and size. You can select from many standard particle types (including metaballs) or you can select an object to be emitted as a particle. 4 Set initial particle motion. You can set the speed, direction, rotation, and randomness of particles as they leave the emitter. Particles can also be affected by animation of the emitter. 5 Modify particle motion. You can further modify the motion of particles after they leave the emitter by binding the particle system to a space warp in the Forces group, such as Path Follow, or make them bounce off a deflector in the Deflectors space warp group, such as UDeflector. IMPORTANT When you use forces and deflectors together, always bind the forces before the deflectors. TIP If the particles don't follow the emitter after it's moved, then change any Path Follow parameter on page 2953. The motion will be applied to the particles. 3326 | Chapter 12 Space Warps and Particle Systems Rain and Snow Create rain and snow using Super Spray on page 3346 and Blizzard on page 3350. These particle systems are optimized for droplet (Super Spray) and tumbling flake (Blizzard) effects. Add space warps such as Wind on page 2960 to create spring rains or winter storms. Bubbles Create bubbles by using the Bubble Motion options of Super Spray on page 3346. If you require good rendering speed, consider using constant or tetra particles. If you require bubble detail, consider using opacity-mapped facing particles, instanced spheres, or metaparticles. Flowing Water You generate flowing liquid effects by setting Super Spray on page 3346 to generate closely packed metaparticles. The metaparticles blob together forming a stream. Add a Path Follow on page 2953 space warp to send the stream down a trough. Explosions Particle Array (PArray) on page 3362 uses another object as its particle emitter. You can set the particle type to use fragments of the emitter object to simulate the object exploding. Volume Effects Particle Cloud (PCloud) on page 3355 constrains its particles within a specified volume. You can use Particle Cloud to generate bubbles in a glass of soda, or bees buzzing inside a jar. Crowds Super Spray on page 3346, Blizzard on page 3350, Particle Array on page 3362, and Particle Cloud on page 3355 can use instanced geometry as their particle type. You can create a stream of ants, a flock of birds, or a cloud of dandelion seeds using instanced geometry particles. Creating a Particle Emitter After you choose a particle system type to add, you create the particle system icon in the scene. The icon serves different purposes depending on the type of particle system. Non-Event-Driven Particle Systems | 3327 As an emitter: The icon defines the starting location and direction of the particles. Spray, Snow, Super Spray, Blizzard, and Particle Cloud use the icon as the particle emitter. As a placeholder: The icon serves only to hold the parameters for the particle system. The particles are emitted from another selected object. Particle Array and Particle Cloud use the icon as a placeholder. You can choose whether Particle Cloud uses its icon or another selected object as the emitter. Procedures To create emitter icons: ■ Drag in a viewport to set the size and orientation of the particle emitter icon for Spray, Snow, Super Spray, Blizzard, and Particle Cloud. Spray, Snow, Blizzard, and Particle Cloud use the icon size as the area of particle emission. Super Spray emits particles from its center regardless of its icon size. All particle systems align the particle direction with the Z axis of the creation grid. To create placeholder icons: 1 Drag in a viewport to set the size of the placeholder icon for Particle Array and Particle Cloud. The size and location of the particle system icon has no effect on the particles. 2 After placing the particle system icon, click Pick Object on the Basic Parameters rollout to select the object to use as the particle emitter. Using Materials with Particle Array There are a few different options for applying a material to a particle system. The material that appears on the particles comes from one of three places: ■ The particle system itself ■ The material assigned to the distribution object (PArray only) ■ The material assigned to the instanced objects 3328 | Chapter 12 Space Warps and Particle Systems Non-Event-Driven Particle Systems | 3329 Particles with various materials assigned to them You make this choice in the Material Mapping and Source group near the bottom of the Particle Type rollout. Choose Icon to use the material assigned to the particle system, choose Picked Emitter to use the material assigned to the distribution object, or choose Instanced Geometry to use the material assigned to the instanced objects. Note that this third option is available only when Instanced Geometry is the current particle type (selected in the Particle Types group at the top of the Particle Type rollout). NOTE SuperSpray and Blizzard don't have distribution objects. PCloud has a distribution object but you can't get the material from it. In these cases, a radio button lets you use the material from the instanced geometry. Only PArray lets you get the material from the distribution object. IMPORTANT A particle-system object, like any other object, can carry only a single material at any time. Thus, if you choose either Picked Emitter or Instanced Geometry, an instance of the chosen material is actually copied to the particle system, overwriting the material assigned to the emitter. If you want to restore the emitter material, choose Icon, and then reassign the material from the Material Editor or the Browser. No matter what choice you make, if the material used is not mapped, then all particles take on the surface properties of the material, regardless of which object is used as the source of the material. 3330 | Chapter 12 Space Warps and Particle Systems Achieving Particle Motion Blur Particle motion blur is actually the result of varying the opacity and the length of particles based on their speed. To accomplish this requires coordination between material assignment and the settings in the particle systems. Follow these instructions: ■ Use the Particle MBlur map on page 6728 in the material that you assigned to the particles. For best results, assign it as an opacity map. ■ Make sure that the particle system, PArray, PCloud, and Super Spray, or Spray, supports the Particle MBlur map. ■ Choose Rotation and Collision rollout ➤ Spin Axis Controls group ➤ Direction of Travel/Mblur option. ■ In this same group, set the Stretch spinner greater than 0 to stretch the particles as a percent of their length based on the particle Speed setting. ■ Use the correct type of particle. MBlur works on all particle types except Constant and Facing. NOTE Instanced objects with multi/sub-object materials cannot be image motion blurred. Using Mapped Materials with Particle Systems Mapped materials affect particles differently, depending on the source of the material. Non-Event-Driven Particle Systems | 3331 Particles with a diffuse-mapped material When you choose Icon, the mapping coordinates of the material are applied across the V (vertical) axis, from V=0 (the bottom edge of the map) to V=1 (the top edge of the map). The bottom edge of the map is applied at the birth of the particle, and the top edge at either the death of the particle (if Time is on) or the distance of the particle at its death (if Distance is on). The Time spinner specifies the number of frames from birth that it takes to complete one mapping of a particle. Thus, if set to 15, the particle uses the bottom edge of the map at its birth, and moves through to the top edge of the map at frame 15. The Distance spinner specifies the distance, in units, from birth that it takes to complete one mapping of a particle. Thus, if set to 50, as the particle moves along the normal vector, it displays the bottom edge of the map at birth, and the top edge at 50 units along the normal vector. The one exception to this is when you use the Tetra particle type. In this case, each particle is always constantly mapped with V=0 at the head and V=1 at the tail. When you choose Picked Emitter, the particles take on the color of the object at the point at which they're created. If the mapped surface is yellow where the particle emerges, then the particle is yellow. Again, Tetra particles are an exception and the distribution-object material is mapped from head to tail. 3332 | Chapter 12 Space Warps and Particle Systems Fragment particles use the same technique, with additional options when the Thickness setting is greater than 0. When Thickness is 0, all faces in the fragment are mapped the same as the portion of the object surface from which they're derived. When Thickness is greater than 0, the outer faces of the fragment copy the surface of the distribution object, and are assigned the material ID specified in the Outside ID spinner in the Particle Type rollout ➤ Fragment Materials group. The thickness edges use the Edge ID number, and the inner faces use Backside ID. Thus, by assigning a multi/sub-object material to the object-based emitter, you can specify a different material for the outer fragment surfaces, the edges, and the inner surfaces. Note that the Outside ID spinner defaults to a value of 0, which means "use whatever material is currently assigned." Change this to a specific sub-material number to assign a sub-material to the outside edges of the fragments. Using Multi/Sub-Object Materials with Particle Systems If the assigned material is a Multi/Sub-Object material, the source of the material affects how particles are rendered. ■ Icon: In most cases, each particle, at its birth, is assigned a different sub-material, cycling through each available sub-material. For example, if there are only three sub-materials, the first particle receives sub-material #1, the second #2, the third #3, the fourth #1, and so on. The exceptions to this are as follows: ■ MetaParticles use only the first sub-material. ■ Object fragments are born at once, so all of them use only the first sub-material. ■ Picked Emitter: When used with object fragments as particles, each particle uses the three ID numbers in the Fragment Materials group. If this source is used with the other particle types, the particles are assigned sub-materials in the same way as when Icon is chosen. ■ Instanced Geometry: When used with Instanced Geometry particles, each particle is assigned a sub-material in exactly the same way as the source object, so each particle looks just like the source object. When used with other particle types, the particles are assigned sub-materials in the same way as when Icon is chosen. Non-Event-Driven Particle Systems | 3333 NOTE Instanced objects with Multi/Sub-Object materials cannot be image motion blurred. Particles with a Multi/Sub-Object material Using Spawned Particles The examples in this topic demonstrate a very simple spawning using the Super Spray particle system. Example: Setting up the particle system: 1 In the Perspective viewport, create a pyramid that's 5 units in all dimensions. 2 Create a cylinder with a radius and height of 3, and 6 sides. 3 In the center of the Perspective viewport, create a Super Spray emitter. 4 Set Speed in the Particle Motion group (Particle Generation rollout) to 3.0. 5 On the Particle Type rollout, choose Instanced Geometry, then in the Instancing Parameters group click Pick Object, and select the pyramid. 6 In the Viewport Display group of the Basic Parameters rollout, choose Mesh and set the Percentage of Particles to 100. 3334 | Chapter 12 Space Warps and Particle Systems 7 On the Particle Generation rollout, choose Use Rate, and set the spinner to 1. 8 Set Emit Start and Emit Stop to 0, set Display Until to 100, set Life to 10, and leave Variation at 0. 9 Under Particle Size, set Grow For and Fade For to 0. 10 Drag the time slider between frames 0 and 15. A single pyramid particle emerges from the emitter, moves up, and then dies and disappears at frame 10. Example: Adding spawning effects: 1 On the Particle Spawn rollout, choose Spawn on Death. 2 Leave Spawns spinner at 1, and set the Multiplier to 2. 3 Set the Direction Chaos spinner to 50. 4 Drag the time slider slowly over frames 8 to 25 (approximately). At frame 10, two pyramids appear at the death of the original particle (because of the Multiplier setting), and move off in different directions (because of the Direction Chaos setting). All particles die after frame 20 because only one generation of spawned particles is specified. 5 Set Spawns to 4, and the Multiplier to 4. 6 Drag the time slider over frames 8 to 50. With each spawned generation the particles increase exponentially. Example: To mutate the objects: 1 In the Object Mutation Queue group, click Pick Object, and then select the cylinder. The name of the cylinder appears in the list window. 2 Click Pick Object and click the pyramid. Then click Pick Object again, and click the cylinder. Your list now reads: Cylinder01, Pyramid01, Cylinder01. 3 Drag the time slider over frames 0 to 50. Non-Event-Driven Particle Systems | 3335 The pyramid appears over frames 0 to 10, then changes to four cylinders at frame 11, then 16 pyramids at the next spawning, and so on. Using Interparticle Collision You can set up particles to detect collisions with each other. This can be useful when the particles are meant to model solid objects such as marbles. Particles colliding and then rebounding Procedures Example: To create particles that collide with each other: 1 Create a Super Spray particle emitter, and place a Deflector space warp on page 2994 a short distance from it with the surface of the deflector perpendicular to the stream of the particles. Bind the deflector to the Super Spray. 2 Set the Super Spray values as follows: ■ Off Axis: 1, Spread: 1, Off Plane: 180, Spread: 180 3336 | Chapter 12 Space Warps and Particle Systems ■ Mesh: chosen, Percent of Particles: 100 ■ Particle Quantity: Use Rate chosen and set to: 1 ■ Speed: 3, Variation: 100% ■ Emit Start: 0, Emit Stop: 5, Display Until: 100, Life: 100 ■ Size: 4.0, Grow For: 0, Fade For: 0 ■ Particle Type: Sphere 3 Drag the time slider so you can see the particle spheres bounce off the deflector. Note that the rebounding particles move through each other. 4 On the Rotation & Collision rollout, turn on Enable in the Interparticle Collisions group. View the animation again. This time, the particles bounce off each other. TIP InterParticle Collisions, Deflector Binding, and Bubble Noise do not get along well together. Particles may leak through the deflector when these three are used together. Instead of bubble motion use animated mapping. Use facing particles with an animated map of a bubble, where the bubble is smaller than the map size. The bubble is animated moving around the map. This simulates bubble motion at the map level. Spray Particle System Create panel ➤ (Geometry) ➤ Choose Particle Systems from the drop-down list. ➤ Object Type rollout ➤ Spray Create menu ➤ Particles ➤ Spray Spray simulates water drops such as rain, a fountain, the spray from a garden hose, and so on. Non-Event-Driven Particle Systems | 3337 Kinds of Spray NOTE SuperSpray on page 3346 is a more powerful and advanced version of Spray. It provides all the functionality of Spray, plus additional features. TIP To animate particles following a path through space, use the Path Follow space warp on page 2953. Procedures To create spray: 1 On the Create panel, make sure (Geometry) is active and Particle Systems is chosen in the object category list, then click Spray. 2 Drag in a viewport to create the Spray emitter; see Creating a Particle Emitter on page 3327. The emitter's direction vector points in the negative Z direction of the active construction plane. For example, if you create the emitter in the Top viewport, the particles will move downward in the Front and Left viewports. 3338 | Chapter 12 Space Warps and Particle Systems Interface Particles group Viewport Count Maximum number of particles displayed in viewports at any given frame. TIP Setting the viewport count less than the render count can improve viewport performance. Non-Event-Driven Particle Systems | 3339 Render Count Maximum number of particles that can appear in a single frame when you render it. Works in combination with the particle system's timing parameters. ■ When the number of particles reaches the Render Count value, particle creation is suspended until some particles die. ■ When enough particles die, particle creation resumes until Render Count is reached again. Drop Size Size of a particle in the active units. Speed Initial velocity of each particle as it leaves the emitter. Particles travel at this speed unless they are affected by a particle system space warp. Variation Varies the initial speed and direction of particles. The greater the Variation, the stronger and broader the spray. Drops, Dots, or Ticks Choose how particles are displayed in viewports. The display setting does not affect how particles are rendered. Drops are streaks that appear like raindrops, dots are points, ticks are small plus signs. Render group Tetrahedron Particles are rendered as long tetrahedrons, with the length you specify in the Drop Size parameter. Tetrahedron is the default setting for rendering. It provides a basic simulation of water drops. Facing Particles are rendered as square faces whose width and height equals the Drop Size. Facing particles always face the camera (or the user's perspective). They are provided especially for use with material maps. Use with an appropriate opacity map for bubbles or snowflakes. NOTE Facing works correctly only in a perspective or camera view. Timing group Timing parameters control the "birth and death" rates of emitted particles. At the bottom of the Timing group is a line that displays the maximum sustainable rate. This value is based on the Render Count and the lifetime of each particle. To be precise: maximum sustainable rate=Render Count/Life Because the number of particles in a frame never exceeds Render Count, if the Birth Rate exceeds the maximum rate, the system will run out of particles, 3340 | Chapter 12 Space Warps and Particle Systems pause until some die off, and then start again, generating particles in bursts or spurts. Start Number of the first frame where particles appear. Life The lifetime of each particle, in number of frames. Birth Rate The number of new particles born per frame. If this is less than or equal to the maximum sustainable rate, the particle system generates an even flow of particles. If it is greater than the maximum rate, the particle system generates particles in bursts. You can animate the Birth Rate parameter. Constant When on, Birth Rate is unavailable and the birth rate used equals the maximum sustainable rate. When off, Birth Rate is available. Default=on. Turning Constant off does not mean that the birth rate varies automatically; the birth rate remains constant unless you animate the Birth Rate parameter. Emitter group The emitter specifies the area where particles appear in the scene. It has a geometry you can display in viewports, but it isn't renderable. The emitter is displayed as a rectangle with a vector pointing out of one side. The vector shows the direction in which the system emits particles. Width and Length You implicitly set the initial value of these parameters when you drag in a viewport to create the emitter. You can adjust the values in the rollout. The space occupied by the particle system at any given time is the result of a combination of its initial parameters (such as size of the emitter, and speed and variation of emission) and any space warps that have been applied. Hide Turn on to hide the emitter in viewports. When Hide is off, the emitter is displayed in viewports. The emitter is never rendered. Default=off. Snow Particle System Create panel ➤ (Geometry) ➤ Choose Particle Systems from the drop-down list. ➤ Object Type rollout ➤ Snow Create menu ➤ Particles ➤ Snow Non-Event-Driven Particle Systems | 3341 Snow simulates falling snow or confetti. The snow system is similar to Spray, but it has additional parameters to generate tumbling snowflakes, and its rendering options are different. Kinds of Snow NOTE Blizzard on page 3350 is a more powerful and advanced version of Snow. It provides all the functionality of Snow, plus additional features. TIP To animate particles following a path through space, use the Path Follow space warp on page 2953. Procedures To create snow: 1 On the Create panel, make sure (Geometry) is active and Particle Systems is selected from the object category drop-down list, then click Snow. 2 Drag in a viewport to create the Snow emitter; see Creating a Particle Emitter on page 3327. The emitter's direction vector points in the negative Z direction of the active construction plane. 3342 | Chapter 12 Space Warps and Particle Systems Interface Particles group Viewport Count Maximum number of particles displayed in viewports at any given frame. TIP Setting the viewport count less than the render count can improve viewport performance. Non-Event-Driven Particle Systems | 3343 Render Count Maximum number of particles that can appear in a single frame when you render it. Works in combination with the particle system's timing parameters. ■ When the number of particles reaches the Render Count value, particle creation is suspended until some particles die. ■ When enough particles die, particle creation resumes until Render Count is reached again. Flake Size Size of a particle in the active units. Speed Initial velocity of each particle as it leaves the emitter. Particles travel at this speed unless they are affected by a particle system space warp. Variation Varies the initial speed and direction of particles. The greater the Variation, the broader the area of snowfall. Tumble Amount of random rotation for snowflake particles. This parameter can range from 0 to 1. At 0, flakes do not rotate; at 1, they rotate the most. The axis of rotation is generated randomly for each particle. Tumble Rate Speed at which snowflakes rotate. The greater the Tumble Rate, the faster the rotation. Flakes, Dots, or Ticks Select how particles are displayed in viewports. The display setting does not affect how particles are rendered. Flakes are star-shaped snowflakes, dots are points, ticks are small plus signs. Render group Six Point Each particle is rendered as a six-pointed star. Each side of the star is a face to which you can assign a material. This is the default setting for rendering. Triangle Each particle is rendered as a triangle. Only one side of the triangle is a face to which you can assign a material. Facing Particles are rendered as square faces whose width and height equals the Drop Size. Facing particles always face the camera (or the user's perspective). They are provided especially for use with material maps. Use with an appropriate opacity map for bubbles or snowflakes. NOTE Facing works correctly only in a perspective or camera view. Timing group Timing parameters control the "birth and death" rates of emitted particles. 3344 | Chapter 12 Space Warps and Particle Systems At the bottom of the Timing group is a line that displays the maximum sustainable rate. This value is based on the Render Count and the lifetime of each particle. To be precise: maximum sustainable rate=Render Count/Life Because the number of particles in a frame never exceeds Render Count, if the Birth Rate exceeds the maximum rate, the system will run out of particles, pause until some die off, and then start again, generating bursts or spurts of particles. Start Number of the first frame where particles appear. Life The lifetime of a particle, in number of frames. Birth Rate The number of new particles born per frame. If this is less than or equal to the maximum sustainable rate, the particle system generates an even flow of particles. If it is greater than the maximum rate, the particle system generates particles in bursts. You can animate the Birth Rate parameter. Constant When on, Birth Rate is unavailable and the birth rate used equals the maximum sustainable rate. When off, Birth Rate is available. Default=on. Turning Constant off does not mean that the birth rate varies automatically; the birth rate remains constant unless you animate the Birth Rate parameter. Emitter Group The emitter specifies the area where particles appear in the scene. It has a geometry you can display in viewports, but it isn't renderable. The emitter is displayed as a rectangle with a vector pointing out of one side. The vector shows the direction in which the system emits particles. You set emitter parameters in the Emitter group of the particle system's Parameters rollout. Width and Length You implicitly set the initial value of these parameters when you drag in a viewport to create the emitter. You can adjust the values in the rollout. The space occupied by the particle system at any given time is the result of a combination of its initial parameters (size of the emitter, and speed and variation of emission) and any space warps that have been applied. Hide Turn on to hide the emitter in viewports. When off, the emitter is displayed in viewports. The emitter is never rendered. Default=off. Non-Event-Driven Particle Systems | 3345 Super Spray Particle System Create panel ➤ (Geometry) ➤ Choose Particle Systems from the drop-down list. ➤ Object Type rollout ➤ Super Spray Create menu ➤ Particles ➤ Super Spray Super Spray emits a controlled spray of particles. This particle system is like the simple Spray particle system with the added power provided by all the newer particle systems. 3346 | Chapter 12 Space Warps and Particle Systems TIP To animate particles following a path through space, use the Path Follow space warp on page 2953. Super Spray viewport icon (emitter) Particles emerging from a super spray system Non-Event-Driven Particle Systems | 3347 Procedures To create a super spray particle system: 1 On the Create panel, make sure (Geometry) is active and Particle Systems is chosen in the object category list, then click Super Spray. 2 Drag in any viewport to create the Super Spray emitter icon; see Creating a Particle Emitter on page 3327. The icon appears as an intersecting plane and circle with an arrow. The initial direction of the spray (based on the orientation of the emitter icon and indicated by the icon arrow) depends on the viewport in which you create the icon. Generally, the particles spray toward you when created in an orthographic viewport, or spray upward when created in a Perspective viewport. 3 Adjust the various parameters to alter the spray effect. Interface NOTE This section describes the Particle Formation group in the Basic Parameters rollout, and the Particle Motion group in the Particle Generation rollout. These are the only controls unique to Super Spray. The other Super Spray rollouts and their contents are identical with those in Particle Array, except that Object Fragments and associated settings are not available on the Particle Type rollout. See PArray Particle System on page 3362 for details or choose from the following list for rollout information. Particle Generation Rollout (PArray) on page 3369 Particle Type Rollout (PArray) on page 3373 Rotation and Collision Rollout (PArray) on page 3383 Object Motion Inheritance Rollout (PArray) on page 3386 Bubble Motion Rollout (PArray) on page 3388 Particle Spawn Rollout (PArray) on page 3389 Load/Save Presets Rollout (PArray) on page 3395 3348 | Chapter 12 Space Warps and Particle Systems Basic Parameters rollout > Particle Formation group These items control the direction and spread of particles. Off Axis Affects the angle of the particle stream off the Z axis (along the plane of the X axis). Spread Affects the spread of the particles away from the emission vector (along the plane of the X axis). Off Plane Affects the angle of emission about the Z axis. This has no effect if Off Axis is set to 0. Spread Affects the spread of the particles about the Off Plane axis. This has no effect if Off Axis is set to 0. Non-Event-Driven Particle Systems | 3349 Particle Generation rollout > Particle Motion group Speed The speed of the particle at birth, in units per frame. Variation Applies a percentage of variation to the speed of emission for each particle. Blizzard Particle System Create panel ➤ (Geometry) ➤ Choose Particle Systems from the drop-down list. ➤ Object Type rollout ➤ Blizzard Create menu ➤ Particles ➤ Blizzard This is an advanced version of the original Snow particle system. 3350 | Chapter 12 Space Warps and Particle Systems TIP To animate particles following a path through space, use the Path Follow space warp on page 2953. Blizzard viewport icon (emitter) Snowflake particles in a blizzard Non-Event-Driven Particle Systems | 3351 Procedures To create a blizzard particle system: 1 On the Create panel, make sure (Geometry) is active and Particle Systems is chosen in the object category list, then click Blizzard. 2 Drag in a viewport to create the Blizzard emitter; see Creating a Particle Emitter on page 3327. The icon appears as a plane with a perpendicular line pointing in the direction of emission. 3 Adjust the various parameters on the command panel. Interface This section describes the Display Icon group in the Basic Parameters rollout, the Particle Motion group in the Particle Generation rollout, and the Material Mapping and Source group in the Particle Type rollout. These are the only controls unique to Blizzard. The other Blizzard rollouts and their contents are identical with those in Particle Array, except that Object Fragments and associated settings are not available on the Particle Type rollout. See PArray on page 3362 for details or choose from the following list for rollout information. Particle Generation Rollout (PArray) on page 3369 Particle Type Rollout (PArray) on page 3373 Rotation and Collision Rollout (PArray) on page 3383 Object Motion Inheritance Rollout (PArray) on page 3386 Particle Spawn Rollout (PArray) on page 3389 Load/Save Presets Rollout (PArray) on page 3395 3352 | Chapter 12 Space Warps and Particle Systems Basic Parameters rollout > Display Icon group The emitter specifies the location where particles are generated in the scene. It has a geometry you can display in viewports, but it isn't renderable. The emitter is displayed as a rectangle with a vector pointing out of one side. The vector shows the direction in which the system emits particles. You set emitter parameters on the particle system's Basic Parameters rollout, in the Display Icon group. Width and Length You implicitly set the initial value of these parameters when you drag in a viewport to create the emitter. You can adjust the values on the rollout. The space occupied by the particle system at any given time is the result of a combination of its initial parameters (such as size of the emitter, and speed and variation of emission) and any space warps that have been applied. Emitter Hidden Hides the emitter in viewports. When off, the emitter is displayed in viewports. The emitter is never rendered. Default=off. Non-Event-Driven Particle Systems | 3353 Particle Generation rollout > Particle Motion group Specifies the number, size, and motion of particles. Speed The speed of the particle at birth, in units per frame. Variation Applies a percentage of variation to the speed of emission for each particle. 3354 | Chapter 12 Space Warps and Particle Systems Tumble Amount of random rotation of the particles. Tumble Rate Speed at which the particles rotate. Particle Type rollout > Mat'l Mapping and Source group Emitter Fit Planar Maps particles at birth, based on their point of emission from the rectangular Blizzard emitter icon. The UV range of the mapped material runs from 0 to 1 over the width and length of the emitter. PCloud Particle System Create panel ➤ (Geometry) ➤ Choose Particle Systems from the drop-down list. ➤ Object Type rollout ➤ PCloud Create menu ➤ Particles ➤ PCloud Non-Event-Driven Particle Systems | 3355 Use the PCloud (or Particle Cloud) particle system when you want a "cloud" of particles that fill a specific volume. PCloud can provide a flock of birds, a starfield, or a troupe of soldiers marching over terrain. You can confine the particles using basic supplied volumes of a box, sphere, or cylinder, or you can use any renderable object in the scene as a volume as long as that object has depth. Two-dimensional objects do not work with PCloud. TIP There is no automatic way to hide the object chosen as the object-based emitter. Hide it by using Hide Selected on the Display panel, or by applying a Hide key in Track View. PCloud viewport icon (default emitter) 3356 | Chapter 12 Space Warps and Particle Systems PCloud viewport icon (object-based emitter) PCloud used to form a school of fish (each fish is a particle) Non-Event-Driven Particle Systems | 3357 Procedures To create a particle cloud: 1 On the Create panel, make sure (Geometry) is active and Particle Systems is chosen in the object category list, then click PCloud. 2 Drag in a viewport to create the PCloud emitter; see Creating a Particle Emitter on page 3327. Adding a PCloud emitter works the same way as creating a box primitive: First drag out the length and width, then release the mouse button and move the mouse vertically to set the height, and then click to finish. The emitter appears with a letter "C" representing the particle cloud. 3 Adjust the various parameters on the command panel. Interface This section describes the Object-Based Emitter, Particle Formation, and Display Icon groups in the Basic Parameters rollout, and the Particle Motion group in the Particle Generation rollout. These are the only controls unique to PCloud. The other PCloud rollouts and their contents are identical with those in Particle Array, except that Object Fragments and associated settings are not available on the Particle Type rollout. See PArray on page 3362 for details or choose from the following list for rollout information. Particle Generation Rollout (PArray) on page 3369 Particle Type Rollout (PArray) on page 3373 Rotation and Collision Rollout (PArray) on page 3383 Object Motion Inheritance Rollout (PArray) on page 3386 Bubble Motion Rollout (PArray) on page 3388 Particle Spawn Rollout (PArray) on page 3389 Load/Save Presets Rollout (PArray) on page 3395 3358 | Chapter 12 Space Warps and Particle Systems Basic Parameters rollout Object-Based Emitter group This button lets you select a renderable mesh object to use as a particle emitter. This object is used only when the Object-Based Emitter option is chosen in the Particle Formation group. Pick Object Click this, and then select a renderable mesh object to be used as a custom emitter. Object Displays the name of the picked object. Non-Event-Driven Particle Systems | 3359 Particle Formation group These options let you specify the shape of the emitter. Box Emitter Chooses a box-shaped emitter. Sphere Emitter Chooses a sphere-shaped emitter. Cylinder Emitter Chooses a cylindrical emitter. Object-Based Emitter Chooses the object selected in the Object-Based Emitter group. NOTE With regard to animation of the object-based emitter, the particles will properly fill a deformed object at frame 0, but they can't stay with the emitter while it's moving. If the emitter moves in a straight line, this can give the appearance of the cloud moving with the emitter. Display Icon group These options let you adjust the dimensions of the emitter icon when a custom object is not used as an emitter. When a custom object is used you can still resize the "Fill" icon using these options. Rad/Len Adjusts the radius of a spherical or cylindrical icon, and the length of a box icon. Width Sets the width of a box emitter. Height Sets the height of a box or cylindrical emitter. Emitter Hidden Hides the emitter. 3360 | Chapter 12 Space Warps and Particle Systems Particle Generation rollout > Particle Motion group Speed The speed of the particle at birth along the normal, in units per frame. NOTE For the correct volume effect, Speed should be set to 0. Variation Applies a percentage of variation to the speed of emission for each particle. Random Direction One of three options that affect the direction of the particles. This option emits particles in random directions. Direction Vector Specifies the direction of the particles by a vector defined by the three X, Y, and Z spinners. X/Y/Z Displays the particle direction vectors. Reference Object Emits particles in the direction of the local Z axis of a specified object. Object Displays the name of the picked object. Non-Event-Driven Particle Systems | 3361 Pick Object Click this, and then select an object in the scene to use as a reference object. This button is available only when you choose Reference Object. Variation Applies a percentage of variation to the direction when you choose either the Direction Vector or Reference Object option. This spinner is unavailable and has no effect when you choose Random Direction. PArray Particle System Create panel ➤ (Geometry) ➤ Choose Particle Systems from the drop-down list. ➤ Object Type rollout ➤ PArray Create menu ➤ Particles ➤ PArray The PArray (Particle Array) particle system can distribute particles on a geometric object. You can also use it to create sophisticated object explosions. TIP A good way to create explosions with PArray is to set the particle type to Object Fragments and then apply a PBomb space warp on page 2947. When you use PArray to emit particles using a selected geometric object as the emitter template (or pattern) for the emission, the object is referred to as the distribution object. 3362 | Chapter 12 Space Warps and Particle Systems Basket used as a distribution object for random particles over its surface How particles can be distributed on an object: Left: Edges Non-Event-Driven Particle Systems | 3363 Center: Vertices Right: Faces See also: ■ Particle System Usage on page 3326 ■ Using Materials with Particle Array on page 3328 ■ Achieving Particle Motion Blur on page 3331 ■ Using Mapped Materials with Particle Systems on page 3331 ■ Using Multi/Sub-Object Materials with Particle Systems on page 3333 ■ Using Spawned Particles on page 3334 ■ Using Interparticle Collision on page 3336 Procedures To set up a particle array: 1 Create an object that will become the distribution object, providing the emitter pattern (or exploded object) for the particle array. 2 On the Create panel, make sure (Geometry) is active and Particle Systems is chosen in the object category list, then click PArray. 3 Drag anywhere in a viewport to create the particle-system object; see Creating a Particle Emitter on page 3327. 4 On the Basic Parameters rollout, click Pick Object, and then click the object to use as the distribution object. 5 Adjust the various options in the Particle Array rollouts to achieve the effect you want. The distribution object can be any object containing renderable faces. The particle-system object does not appear in the rendered scene. Its placement, orientation or size in the scene has no influence on the particle effect. To access the Particle Array parameters after creation, open the Modify panel and select the particle-system object (or click any visible particles in the viewport). To transform or otherwise modify the distribution object, select the distribution object itself. 3364 | Chapter 12 Space Warps and Particle Systems Also, you can share a single distribution object among more than one particle-system object. The distribution object merely provides the template for the particles, which are actually generated by the particle system. Example: To assign three different mapped materials to fragments: 1 Apply mapping coordinates to the distribution object, either by turning on Generate Mapping Coords, if necessary, or by applying a UVW Map modifier on page 1883. 2 Assign a Multi/Sub-Object material on page 6542 to the distribution object. 3 Set up the first three sub-materials to be mapped materials. 4 Select the PArray icon. 5 On the Particle Type rollout in the Mat'l Mapping And Source group, choose Picked Emitter. 6 In the Particle Type rollout ➤ Particle Types group, turn on Object Fragments. 7 Make sure the three spinners in the Fragment Materials group are set to 1, 2, and 3, respectively (or match the numbers with the sub-materials you've assigned in your multi/sub-object material). TIP Using a complex distribution object for object-fragment particles can really slow down viewport interaction. You can use a simple stand-in object as the distribution object, and then later use the File/Replace command to replace the distribution object with a more complex object of the same name. Basic Parameters Rollout (PArray) Create panel ➤ (Geometry) ➤ Choose Particle Systems from the drop-down list. ➤ Object Type rollout ➤ Parray ➤ Basic Parameters rollout The items on the Basic Parameters rollout let you create and adjust the size of the particle system, and pick the distribution object. In addition, they let you Non-Event-Driven Particle Systems | 3365 specify the initial distribution of the particles in relation to the geometry of the distribution object, and the initial velocity of the particles from the distribution object. From here, you can also specify how the particles appear in the viewport. Interface Object-Based Emitter group Pick Object After you create the particle-system object, the Pick Object button becomes available. Click this button, and then click to select an object in your scene. The selected object becomes the object-based emitter, and is used either 3366 | Chapter 12 Space Warps and Particle Systems as the source geometry over which particles form, or the source geometry used to create particles that appear to be fragments of the object. Object text field Displays the name of the picked object. Particle Formation group These options determine how standard particles are initially distributed over the surface of the object-based emitter. These controls are available only when the picked object is used as a distribution grid for standard particles, MetaParticles, or instanced geometry; see Particle Type rollout on page 3373. When Object Fragments is chosen in the Particle Type rollout, these controls are unavailable. Over Entire Surface Emits particles randomly over the entire surface of the object-based emitter. This is the default choice. Along Visible Edges Emits particles randomly from the visible edges of the object. At All Vertices Emits particles from the vertices of the object. At Distinct Points Places a specified number of emitter points randomly over the surface of the object. Total Specifies the number of emitter points used when At Distinct Points is chosen. At Face Centers Emits particles from the center of each triangular face. Use Selected SubObjects With mesh-based emitters, and to a limited extent with patch-based emitters, limits the source of the particle stream to the sub-object selection passed up the modifier stack in the object-based emitter. For example, if your emitter object is a cylinder converted to an editable mesh, and the top cap of that cylinder is selected at the Face or Polygon sub-object level, if Use Selected SubObjects is on and Particle Formation group ➤ At Face Centers is on, the particles will stream only from the top cap of the cylinder. Default=off. The type of particle formation you specify determines the type of sub-object geometry used, as follows: ■ Over Entire SurfaceFaces ■ Along Visible EdgesEdges ■ At All VerticesVertices ■ At Distinct PointsFaces Non-Event-Driven Particle Systems | 3367 ■ At Face CentersFaces If you’ve converted your object to an editable mesh, and selected different sub-object sections of it with vertex, edge, and face selection, as you switch particle formation options, you’ll see the particles emit from different areas of the object. NOTE Use Selected SubObjects is applicable to patch object emitters only at the patch and element sub-object levels, and is not applicable NURBS objects used as emitters. TIP You can best see the emission patterns by first setting Speed on the Particle Generation rollout ➤ Particle Motion group to 0. Move to a frame in which the particles appear, and then choose the various particle formation options. Display Icon group Adjusts the display of the particle-system icon in the viewports. (The particle-system icon is usually called the "emitter." In this case, however, it doesn't actually emit particles, so we're avoiding the term.) Icon Size Sets the overall size of the icon, in units. Icon Hidden When on, the PArray icon is hidden in the viewports. Note that the icon does not render, in any case. Default=off. Viewport Display group Specifies how the particles are displayed in the viewports. Dots Displays the particles as dots. Ticks Displays the particles as crosses. Mesh Displays the particles as mesh objects. This results in slower viewport redraws. BBox For instanced geometry only, this displays each instanced particle, whether a single object, a hierarchy, or a group, as a bounding box. Percentage of Particles This spinner specifies the number particles displayed in the viewports as a percentage of the number of rendered particles. Default=10 percent. Set the display percentage to 100 percent if you want to see the same number of particles as will be rendered in your scene. However, this can considerably slow viewport display. 3368 | Chapter 12 Space Warps and Particle Systems Particle Generation Rollout (PArray) Create panel ➤ (Geometry) ➤ Choose Particle Systems from the drop-down list. ➤ Object Type rollout ➤ SuperSpray/Blizzard/Parray/PCloud ➤ Particle Generation rollout Select a SuperSpray/Blizzard/Parray/PCloud emitter. ➤ ➤ Particle Generation rollout Modify panel Items on this rollout control when and how quickly particles form, how particles move, and the size of the particles over time. Non-Event-Driven Particle Systems | 3369 Interface Particle Quantity group In this group, you can choose one of two methods by which the number of particles is determined over time. These settings are unavailable if you set Particle Type (in the Particle Type rollout on page 3373) to Object Fragments. 3370 | Chapter 12 Space Warps and Particle Systems Use Rate Specifies a fixed number of particles emitted per frame. Use the spinner to set the number of particles formed per frame. Use Total Specifies a total number of particles formed over the life of the system. Use the spinner to set the number of particles formed per frame. The life of the system, in frames, is specified by the Life spinner in the Particle Timing group, described later in this topic. TIP Generally, Use Rate is best for a continuous flow of particles, like a trail of pixie dust, while Use Total is better for bursts of particles over a short period of time. Particle Motion group These spinners control the initial particle velocity, which is directed along the surface, edge, or vertex normals (interpolated for each emitter point). Speed The velocity of the particle at birth, along the normal, in units traveled per frame. Variation Applies a percentage of variation to the speed of emission for each particle. Divergence Applies an angular degree of variation by which each particle's velocity can vary from the emitter normal. NOTE The initial direction for a fragment cluster is the normal of the cluster's seed face. Clusters are created by choosing a single face (the seed face), and then creating a cluster outward from that face, depending on the method chosen in the Object Fragment Controls group on the Particle Type rollout. Particle Timing group These options specify when particle emission starts and stops, and the lifespan of the individual particles. Emit Start Sets the frame at which particles begin to exist in the scene. Emit Stop Sets the last frame at which particles are emitted. This setting has no effect if you choose the Object Fragments particle type. Display Until Specifies the frame at which all particles will disappear, regardless of other settings. Life Sets the lifespan in number of frames of each particle from the frame of creation. Non-Event-Driven Particle Systems | 3371 Variation Specifies the number of frames by which the life of each particle can vary from the norm. Subframe Sampling Turning on any of the three check boxes below helps avoid particle "puffing" by sampling particles at a much higher subframe resolution, instead of the relatively coarse frame resolution. Depending on your needs, you can do this over time, over motion, or over rotation. "Puffing" is the effect of emitting separate "puffs" or clusters of particles, rather than a continuous stream. This effect is especially noticeable when the emitter is animated. ■ Creation TimeEnables the addition of a time offset to the equations of motion that prevents puffing in time. This setting has no effect with the Object Fragments particle type. Default=on. ■ Emitter TranslationIf the object-based emitter is moving in space, particles are created at integral times at positions along the geometry's path between renderable positions. This prevents puffing in space. This setting has no effect if Object Fragment particle type is on. Default=on. ■ Emitter RotationIf the emitter is rotating, turn this on to avoid puffing and produce smooth spiral effects. Default=off. IMPORTANT Each additional subframe sampling check box that you turn on progressively increases the necessary computation. In addition, the methods are listed in order of least amount of computation to most. Thus, Emitter Rotation is more costly than Emitter Translation, which is more costly than Creation Time. Particle Size group These spinners specify the size of the particles. Size This animatable parameter specifies the target size for all particles in the system, depending on the type of particle: ■ Standard ParticlesThe major dimension of the particle. ■ ConstantThe dimension, in rendered pixels, of a Constant type of particle. ■ Object FragmentsNo effect. Variation The percentage by which the size of each particle may vary from the norm. This is applied to the Size value. Use this parameter to get a realistic mix of large and small particles. 3372 | Chapter 12 Space Warps and Particle Systems Grow For The number of frames over which the particle grows from being very small to the Size value. The result is subject to the Size/Variation value, since Grow For is applied after Variation. Use this parameter to simulate natural effects such as bubbles growing as they reach the surface. Fade For The number of frames over which the particle will shrink to 1/10th its Size setting prior to its death. This is also applied after Variation. Use this parameter to simulate natural effects such as sparks fading to ash. Uniqueness group By changing the Seed value in this spinner, you achieve different results using otherwise identical particle settings. New Randomly generates a new seed value. Seed Sets a specific seed value. Particle Type Rollout (PArray) Create panel ➤ (Geometry) ➤ Choose Particle Systems from the drop-down list. ➤ Object Type rollout ➤ SuperSpray/Blizzard/Parray/PCloud ➤ Particle Type rollout Select a SuperSpray/Blizzard/Parray/PCloud emitter. ➤ ➤ Particle Type rollout Modify panel The controls on this rollout let you specify the type of particle used and the type of mapping performed on the particles. Non-Event-Driven Particle Systems | 3373 Left: A stream from a fountain Right: The same stream with various types of particles 3374 | Chapter 12 Space Warps and Particle Systems Interface Non-Event-Driven Particle Systems | 3375 Particle Types group These options specify one of four categories of particle type. Depending on which option you choose, different controls become available in the lower portion of the Particle Type rollout. Standard Particles Uses one of several standard particle types, such as triangle, cube, tetra, and so on. MetaParticles Uses Metaball particles. These are particle systems in which the individual particles blend together in blobs or streams. Object Fragments Creates particles out of fragments of an object. Object Fragments is available only with Particle Array. Choose it when you want to fracture the particle emitter object and use the pieces as particles. This option is useful for animating explosions and shattering collisions. The fragments are created at the Emit Start frame. The Use Rate, Use Total, Emit Stop, and Particle Size parameters are unavailable. Instanced Geometry Generates particles that are instances of either an object, a linked hierarchy of objects, or a group. The object is selected in the Instancing Parameters group on the Particle Type rollout. Choose Instanced Geometry when you want particles to be identical instances of another object in your scene. Instanced geometry particles are extremely effective for creating crowds, flocks, or flows of very detailed objects. Here are a few examples: ■ Instance a red blood cell and use Super Spray to animate blood flowing in an artery. ■ Instance a bird and use Particle Cloud to animate a flock of birds flying. ■ Instance a rock and use Particle Cloud to animate an asteroid field. NOTE Only one type of particle can be used for the particle system. However, you can have more than one particle array bound to a single object, and each particle array can emit a different type of particle. TIP Image motion blur, described in Object Properties on page 221 ➤ Motion Blur group, is known not to work properly with instanced particles. Use object motion blur with instanced particles, or use image motion blur with standard particles. 3376 | Chapter 12 Space Warps and Particle Systems Standard Particles group When you choose Standard Particles in the Particle Types group, the options in this group become available. Choose one of the following options to specify the particle type: Triangle Renders each particle as a triangle. Use Triangle particles with noise opacity for steam or smoke. Cube Renders each particle as a cube. Special Each particle consists of three intersecting 2D squares. These are effective when you use a face-map material, described in Shader Basic Parameters Rollout on page 6390, optionally along with an opacity map, to create the effect of a three-dimensional particle. Facing Renders each particle as a square that always faces the view. Use with an appropriate opacity map for bubbles or snowflakes. Constant Provides a particle that remains the same size, in pixels, specified in the Size spinner. This size never changes, regardless of its distance from the camera. IMPORTANT You must render either a camera or a perspective view for Constant particles to render correctly. Tetra Renders each particle as a mapped tetrahedron. Use Tetra particles for raindrops or sparks. The default alignment of the tetra particles depends on the particle system type and emitter setup. To specify an alignment, use controls in the Rotation and Collision rollout on page 3383. SixPoint Renders each particle as a six-pointed, two-dimensional star. Sphere Renders each particle as a sphere. MetaParticle Parameters group When you choose the MetaParticles option in the Particle Types group, the options in this group become available, and metaballs are used as particles. Metaparticles take extra time to render but are very effective for spraying and flowing liquid effects. Tension Determines the tightness of the particles, with regard to their tendency to blend with other particles. The higher the Tension, the harder the blobs, and the harder it is for them to merge. Variation Specifies the percent of variation of the Tension effect. Non-Event-Driven Particle Systems | 3377 Evaluation Coarseness Specifies how accurately the metaparticle solution is calculated. The higher the coarseness values, the less calculation. However, if the coarseness is too high, there may be little or no metaparticle effect at all. Conversely, if the coarseness is set too low, the time for calculation can become extremely long. Render Sets the coarseness for metaparticles in the rendered scene. This option is unavailable when Automatic Coarseness is on. Viewport Sets the coarseness for the viewport display. This option is unavailable when Automatic Coarseness is on. Automatic Coarseness A general rule is to set the Coarseness value between 1/4 and 1/2 the size of the particles. When this item is on, the rendering coarseness is automatically set, based on the size of the particles, and the viewport coarseness is set to about twice that of the rendering coarseness. One Connected Blob When off (the default), all particles are calculated; when on, a shortcut algorithm is used that calculates and displays only those particles that are adjoining or contiguous to each other. NOTE One Connected Blob mode speeds particle calculations, but you should use it only when your metaparticles form one connected blob, as the label indicates. That is, all particles' blobs must be touching. For example, if you were to use One Connected Blob on a stream of particles containing a mass of 10 contiguous particles followed by a space, then 12 contiguous particles followed by another space, and finally 20 contiguous particles, one of the particles will be chosen, and only the mass connected to that particle will be displayed and rendered. TIP When in doubt, leave this option off. If you think all your particles are contiguous and want to save time, turn on One Connected Blob, and then display various frames to see if everything appears. Object Fragment Controls group With a particle array, when you choose the Object Fragments particle type, the items in this group become available, and the object-based emitter is exploded into fragments, rather than being used to distribute particles. NOTE To see the fragments in the viewports, choose Mesh in the Viewport Display group near the bottom of the Basic Parameters rollout on page 3365. The items in this group include a Thickness spinner, along with three option buttons that determine how the fragments are formed. 3378 | Chapter 12 Space Warps and Particle Systems TIP There is no automatic way to hide the distribution object that explodes into fragments. To create the illusion that an object is exploding, you must either set the original object to be invisible at the start of the explosion, as described in Add Visibility Track on page 3944, or move or scale the original object so it doesn't remain in view. Thickness Sets the thickness of the fragments. At 0, the fragments are single-sided with no thickness. When greater than 0, the fragments are extruded, at fragmentation time, by the amount specified. The outer and inner surfaces of the fragment use identical smoothing, which is picked up from the object-based emitter. The edges of the fragments are not smoothed. The three options that follow specify how the object fragments. All Faces Each face of the object becomes a particle. This results in triangular particles. Number of Chunks The object breaks into irregular fragments. The Minimum spinner, below, specifies the minimum number of fragments that will appear. The method of calculating the chunks may result in more fragments than specified. Minimum Determines a number of "seed" faces in the geometry. Each seed face collects connecting faces surrounding it until all available faces are exhausted. Any leftover faces become unique particles, thus increasing the minimum number of fragments. Smoothing Angle The fragments are broken based on the angles between face normals, as specified in the Angle spinner. Generally, the higher the Angle value, the fewer the number of fragments. Angle Sets the amount of smoothing angle. Non-Event-Driven Particle Systems | 3379 Instancing Parameters group 3380 | Chapter 12 Space Warps and Particle Systems These options are used when you specify Instanced Geometry in the Particle Types group. They let you generate each particle as an instance of either an object, a linked hierarchy of objects, or a group. NOTE Instanced objects can be animated, providing the animation incorporates one or more of the following types: ■ Animation of object geometry parameters, such as a sphere's Radius setting. ■ Animation of object-space modifiers, such as the Angle setting of a Bend modifier on page 1104. ■ Transform animation of a hierarchical object's children. Transform animation of the top-level parent and non-hierarchical objects is not supported. For example, if you use the toolbar Select and Rotate function on page 852 to animate a box rotating, and then use the box as instanced geometry with a particle system, the system will not use instanced box's keyframed animation. Object Displays the name of the picked object. Pick Object Click this, and then select an object in the viewport to be used as a particle. If you select an object that's part of a hierarchy and Use Subtree Also is on, then the picked object and its children become a particle. If you pick a group, all objects in the group are used as a particle. Use Subtree Also Turn this on when you want to include the linked children of the picked object in the particle. If the picked object is a group, all children of the group are included. Note that you can turn this on or off at any time to alter the particles. Animation Offset Keying Because the instanced objects can be animated, the options here let you specify the timing of the animations for the particles. None Each particle duplicates the timing of the original object. As a result, the animation of all particles will be identically timed. Birth The firstborn particle is an instance of the current animation of the source object at the moment of that particle's birth. Each subsequent particle then uses the same start time for the animation. For example, if the animation of the source object is a bend from 0 to 180 degrees, and the first particle is born at frame 30, when the object is at 45 degrees, then that particle, and all subsequent particles will be born starting at a bend of 45 degrees. Random This option is the same as None when Frame Offset is set to 0. Otherwise, each particle is born using the same animation as the source object Non-Event-Driven Particle Systems | 3381 at the time of birth, but with a random offset of frames, based on the value in the Frame Offset spinner. Frame Offset Specifies an offset value from the current timing of the source object. Mat'l Mapping and Source group Specifies how a mapped material affects the particles, and lets you specify the source of the material assigned to the particles. A detailed description of how materials affect particles is in the topic Using Mapped Materials with Particle Systems on page 3331. Time Specifies the number of frames from the birth of the particle that it takes to complete one mapping of the particle. Distance Specifies the distance, in units, from the birth of the particle that it takes to complete one mapping of the particle. NOTE Tetra particles are an exception. They always have their own local mapping from head to tail, as described in the following section. Get Material From Updates the material carried by the particle system, using the source specified by the option buttons below this button. IMPORTANT Remember to click Get Material From whenever you choose a different source option button, or whenever you assign a new material to the specified source. Only a single material (or multi/sub-object material) is carried by the particle-system object at any time. Thus, when you change sources, you actually overwrite the currently assigned material with an instance of the source material. Icon The particles use the material currently assigned to the particle system icon. NOTE The Time and Distance options are available only when you choose this option. Picked Emitter The particles use the material assigned to the distribution object. Instanced Geometry The particles use the material assigned to the instanced geometry. This option is available only when you choose Instanced Geometry in the Particle Types group. 3382 | Chapter 12 Space Warps and Particle Systems IMPORTANT When you turn on either Picked Emitter or Instanced Geometry, an instance of the material from the chosen source is copied to the emitter icon, overwriting the material originally assigned to the icon. Thus, if you've assigned a material to the particle emitter, and then switch to Picked Emitter, the material originally assigned to the icon is replaced by an instance of the material carried by the picked object. If you then return to the Icon option, the particle system does not revert to the material that was assigned the icon, but retains the material taken from the picked object. Fragment Materials group These spinners let you assign different material ID numbers to outside surfaces, the edges and the back sides of fragment particles. You can then assign different materials to the front, edge and back of the fragments by using a multi/sub-object material. Outside ID Specifies which face ID number is assigned to the outside faces of the fragments. This spinner defaults to 0, which is not a valid ID number, forcing the outside of the particle fragments to use whatever material is currently assigned to the associated faces. Thus, if your distribution object already has several submaterials assigned to its outer faces, these materials are retained by using ID 0. If you want a single, specific submaterial, you can assign it by changing the Outside ID number. Edge ID Specifies which submaterial ID number is assigned to the edges of the fragments. Backside ID Specifies which submaterial ID number is assigned to the back sides of the fragments. Rotation and Collision Rollout (PArray) Create panel ➤ (Geometry) ➤ Choose Particle Systems from the drop-down list. ➤ Object Type rollout ➤ SuperSpray/Blizzard/Parray/PCloud ➤ Rotation and Collision rollout Select a SuperSpray/Blizzard/Parray/PCloud emitter. ➤ ➤ Rotation and Collision rollout Modify panel Non-Event-Driven Particle Systems | 3383 Particles often move at high rates of speed. In such cases, you might want to add motion blur to the particles to enhance their motion. Also, real-world particles typically rotate as they move, and collide with each other. The options on this rollout affect the rotation of the particles, provide motion blur effects, and control inter-particle collisions. Interface 3384 | Chapter 12 Space Warps and Particle Systems Spin Speed Controls group Spin Time The number of frames for one rotation of a particle. If set to 0, no rotation takes place. Variation The percent of variation of the Spin Time. Phase Sets the initial particle rotation, in degrees. This has no meaning for fragments, which always begin with zero rotation. Variation The percent of variation of the Phase. Spin Axis Controls group These options determine the spin axis for the particles, and provide a partial method of applying motion blur to the particles. Random The spin axis for each of the particles is random. Direction of Travel/Mblur (Not available with the Blizzard particle system.) Rotates the particles about a vector formed by the direction in which they're moving. This option also lets you apply a form of motion blur to the particles by using the Stretch spinner. For further information, see Achieving Particle Motion Blur on page 3331. Stretch When greater than 0, the particles stretch along the travel axis, depending on their speed. Specifically, the Stretch value specifies the percent of their length per each unit of the Speed setting (in the Particle Motion group). Thus, if you set Stretch to 2 while Speed is set at 10, the particles are stretched 20 percent longer than their original size along the axis of their travel. This spinner is available only when you choose Direction of Travel/Mblur. NOTE For best results when using Stretch, you should also assign the Particle MBlur map as an opacity map of the material assigned to the particle system. User Defined Uses a vector defined in the three X, Y, and Z axis spinners. X/Y/Z Axis Specifies the spin vector of the X, Y, or Z axis, respectively. These spinners are available only when User Defined is chosen. Variation The amount, in degrees, by which the spin axis of each particle may vary from the specified X Axis, Y Axis, and Z Axis settings. This spinner is available only when you choose User Defined. Non-Event-Driven Particle Systems | 3385 Interparticle Collisions group These options enable collisions between particles, and control how the collisions occur. Note that this involves intensive calculation, particularly when large numbers of particles are involved. Enable Enables inter-particle collisions in the calculation of the particle movements. Calc Intervals Per Frame The number of intervals per rendering interval, during which an inter-particle collision test is conducted. The higher the value, the more accurate the simulation, but the slower the simulation will run. Bounce The degree to which speed is recovered after a collision. Variation The percentage of random variation of the Bounce value, applied to the particles. Object Motion Inheritance Rollout (PArray) Create panel ➤ (Geometry) ➤ Choose Particle Systems from the drop-down list. ➤ Object Type rollout ➤ SuperSpray/Blizzard/Parray/PCloud ➤ Object Motion Inheritance rollout Select a SuperSpray/Blizzard/Parray/PCloud emitter. ➤ ➤ Object Motion Inheritance rollout Modify panel Each particle's position and direction of movement are determined by the position and orientation of the emitter at the time the particle is created. If the emitter is moving through the scene, particles are scattered along the emitter's path. Use these options to affect the motion of the particles by the motion of the emitter. Procedures Example: To observe object motion inheritance: 1 Create a Super Spray particle system. 3386 | Chapter 12 Space Warps and Particle Systems 2 Animate the emitter moving sideways (perpendicular to the direction of the particle stream) between frames 1 and 15. 3 Play the animation while observing it from the Top viewport. The emitter stops at frame 15, while the particles it has emitted up to that point continue moving along the diagonal between the emitter's path and that of the particles. The remaining particles move straight out from the emitter. 4 On the Object Motion Inheritance rollout, set Influence to 50. 5 Play the animation again. This time, only some of the particles inherit the emitter's motion, while the rest move straight out from the emitter. Note that the latter form a diagonal stream because each particle emerges at a subsequent point on the emitter path. Interface Influence The percent of particles that inherit the motion of the object-based emitter at the moment of particle formation. For example, when this is set at 100 (the default), all particles travel along with a moving object; when it's set at 0, none of the particles are affected by the translation of the object and fall behind its movement. Multiplier Modifies the amount by which the emitter motion affects the particle motion. This can be a positive or negative number. Variation Provides a percentage of variation of the Multiplier value. Non-Event-Driven Particle Systems | 3387 Bubble Motion Rollout (PArray) Create panel ➤ (Geometry) ➤ Choose Particle Systems from the drop-down list. ➤ Object Type rollout ➤ SuperSpray/Parray/PCloud ➤ Bubble Motion rollout Select a SuperSpray/Parray/PCloud emitter. ➤ Bubble Motion rollout Modify panel ➤ Bubble motion provides the wobbling effect you see in bubbles rising underwater. Typically, it's used when the particles are set to rise in thin streams. Bubble motion is similar to a waveform, and the Bubble Motion parameters let you adjust the amplitude, period, and phase of the bubble "wave." NOTE The bubble motion is not affected by space warps, so you can use a space warp to control the direction of the particle flow without altering the local, wobbling bubble effect. TIP InterParticle Collisions, Deflector Binding, and Bubble Noise do not get along well together. Particles may leak through the deflector when these three are used together. Instead of bubble motion, use animated mapping. Use facing particles with an animated map of a bubble, where the bubble is smaller than the map size. The bubble is animated moving around the map. This simulates bubble motion at the map level. Interface Amplitude The distance the particle moves off its usual velocity vector as it travels. 3388 | Chapter 12 Space Warps and Particle Systems Variation The percent of Amplitude variation applied to each particle. Period The cycle time for one complete oscillation of a particle through the bubble "wave." A recommended value might be 20 to 30 intervals. NOTE Bubble motion is measured in time, not in rate, so a very large Period value means the motion takes a long time to complete. Thus, there is no motion, effectively. Period is therefore set to a very large default value so that the default motion of this type is none. Variation The percent of Period variation for each particle. Phase The initial displacement of the bubble pattern along the vector. Variation The percent of Phase variation for each particle. Particle Spawn Rollout (PArray) Create panel ➤ (Geometry) ➤ Choose Particle Systems from the drop-down list. ➤ Object Type rollout ➤ SuperSpray/Blizzard/Parray/PCloud ➤ Particle Spawn rollout Select a SuperSpray/Blizzard/Parray/PCloud emitter. ➤ ➤ Particle Spawn rollout Modify panel The options on the Particle Spawn rollout let you specify what happens to particles when they die, or when they collide with a particle deflector. Using the options on this rollout, you can have particles generate additional generations of particles upon collision or death. Non-Event-Driven Particle Systems | 3389 Interface Particle Spawning Effects group Choose one of these options to determine what happens to the particles at either collision or death. 3390 | Chapter 12 Space Warps and Particle Systems None Uses none of the spawning controls, and the particles act as they normally would. That is, upon collision, they either bounce or stick, depending on Particle Bounce settings in the deflector, and on death they disappear. Die After Collision Particles disappear when they strike a deflector to which they're bound, such as the SDeflector. Persist The life, in frames, that the particle will persist after the collision. Setting this to 0 (the default) causes particles to vanish immediately after the collision. Variation Varies the Persist value of each particle, when Persist is greater than 0. This lets you "feather" the dying off of particle density. Spawn on Collision Spawn effects take place upon collision with a bound deflector. Spawn on Death Spawn effects take place at the end of each particle's life. Spawn Trails Particles are spawned from existing particles at each frame of that particle's life. The Multiplier spinner specifies the number of particles that are spawned from each particle. The base direction of the spawned particles is opposite that of the parent's velocity. The Scale, Direction, and Speed Chaos factors are applied to that base direction. NOTE If the Multiplier is greater than 1, at least one of the three Chaos factors must be greater than 0 in order to see the additional spawned particles. Otherwise, the multiples will occupy the same space. WARNING This option can produce many particles. For best results, begin by setting Particle Quantity on the Particle Generation rollout to Use Rate and to 1. Spawns The number of spawns beyond the original particle generation. For example, if this is set to 1, and you're spawning at death, one spawning will occur beyond the original lifespan of each particle. Affects Specifies the percentage of particles that will spawn. Reducing this reduces the number of particles that produce spawned particles. Multiplier Multiplies the number of particles spawned at each spawning event. Variation Specifies a percentage range by which the Multiplier value will vary, frame by frame. Non-Event-Driven Particle Systems | 3391 Direction Chaos group Chaos Specifies the amount by which the direction of the spawned particle can vary from the direction of the parent particle. A setting of 0 means no variance. A setting of 100 causes the spawned particle to travel in any random direction. A setting of 50 causes the spawned particle to deviate from its parent's path by up to 90 degrees. Speed Chaos group These options let you vary the spawned particles' speed randomly in relation to their parents' speed. Factor This is the range of a percentage of change in the speed of the spawned particle relative to its parent. A value of 0 means no change. Slow Applies the speed factor randomly to slow the speed of the spawned particles. Fast Randomly speeds up particles based on the speed factor. Both Some particles speed up, while others slow down, based on the speed factor. Inherit Parent Velocity Spawned particles inherit the speed of their parents, in addition to the effect of the speed factor. Use Fixed Value Uses the Factor value as a set value, rather than as a range applied randomly to each particle. 3392 | Chapter 12 Space Warps and Particle Systems Scale Chaos group These options apply random scaling to the particles. Factor Determines a random percentage range of scaling of the spawned particles relative to their parents, and dependent on the options below. Down Randomly scales down spawned particles to be smaller than their parents, based on the Factor value. Up Randomly scales up spawned particles to be larger than their parents. Both Scales spawned particles both larger and smaller than their parents. Use Fixed Value Uses the Factor value as a fixed value, rather than a range of values. Lifespan Value Queue group These options let you specify a list of alternative lifespan values for each spawned generation of particles. The spawned particles use these lifespans Non-Event-Driven Particle Systems | 3393 rather than the lifespan specified for the original particles in the Life spinner on the Particle Generation rollout on page 3369. List window Displays a list of lifespan values. The first value on the list is used for the first generation of spawned particles, the next value is used for the next generation, and so on. If there are fewer values on the list than there are spawnings, then the last value is used repeatedly for all remaining spawnings. Add Adds the value in the Lifespan spinner to the list window. Delete Deletes the currently highlighted value in the list window. Replace Lets you replace a value in the queue with a value in the Lifespan spinner. To use, first place a new value in the Lifespan spinner, then select the value in the queue you want to replace, and click the Replace button. Lifespan Use this to set a value, and then click the Add button to add the value to the list window. Object Mutation Queue group The options in this group let you switch between instanced-object particles with each spawning (as set with the Spawns spinner). These options are available only if Instanced Geometry is the current particle type. List window Displays a list of objects to be instanced as particles. The first object on the list is used for the first spawning, the second for the second spawning, and so on. If there are fewer objects on the list than there are spawnings, then the last object on the list is used for all remaining spawnings. Pick Click this, and then select an object in the viewport to add to the list. Note that the type of object you use is based on the settings in the Instancing Parameters group of the Particle Type rollout. For example, if you've turned on Subtree in that group, you can pick object hierarchies. Likewise, if you've picked a group, you can use groups as your spawned particles. Delete Deletes the currently highlighted object in the list window. Replace Replaces an object in the queue with a different object. Select an object in the queue to enable the Replace button. Click Replace, and then pick an object in the scene to replace the highlighted item in the queue. 3394 | Chapter 12 Space Warps and Particle Systems Load/Save Presets Rollout (PArray) Create panel ➤ )Geometry) ➤ Choose Particle Systems from the drop-down list. ➤ Object Type rollout ➤ SuperSpray/Blizzard/Parray/PCloud ➤ Load/Save Presets rollout Select a SuperSpray/Blizzard/Parray/PCloud emitter. ➤ ➤ Load/Save Presets rollout Modify panel These options let you store preset values that can be used in other, related particle systems. For example, after setting parameters for a PArray and saving it under a specific name, you can then select another PArray system, and load the preset values into the new system. Interface Preset Name An editable field in which you can define a name for your settings. Click the Save button to save the preset name. Saved Presets Contains all the saved preset names. A number of presets are included with 3ds Max; to see what they do, create a particle system, load a Non-Event-Driven Particle Systems | 3395 preset, and play back the animation. Some of the presets, such as Particle Array's Shimmer Trail, are most effective with moving particle systems. Load Loads the preset currently highlighted in the Saved Presets list. Alternatively, double-click the preset name in the list to load it. Save Saves the current name in the Preset Name field and places it in the Saved Presets window. Delete Deletes the selected items in the Save Presets window. NOTE Animated parameter values subsequent to frame 0 are not stored. 3396 | Chapter 12 Space Warps and Particle Systems Animation 13 3ds Max gives you a variety of different ways to create animation, and a wealth of tools for managing and editing animation. A spacefighter model is animated by following a path. See also: ■ Saving and Loading Animation on page 4141 ■ Animation Layers (Layer Controller) on page 3496 ■ Animation and Time Controls on page 8677 3397 ■ Animation Quad Menu on page 8646 Animation Concepts and Methods With 3ds Max, you can create 3D computer animation for a variety of applications. You can animate characters or vehicles for computer games, or you can animate special effects for film or broadcast . You can create animation for serious purposes such as medical illustration or forensic presentation in the courtroom. Whatever reason you have to animate, you'll find 3ds Max a capable environment for achieving your goals. The basic way to animate is quite simple. You animate the transform parameters of any object to change its position, rotation, and scale over time. Turning on the Auto Key on page 8679 button, then moving the time slider places you in a state in which any changes you make will create animation for the selected objects in the viewport. Animation is used throughout 3ds Max. You can animate the position, rotation, and scale of an object, and almost any parameter setting that affects an object's shape and surface. You can link objects for hierarchical animation, using both forward and inverse kinematics, and you can edit your animation in Track View on page 3827. This section discusses the basics of creating animation. It looks briefly at a comparison between computer animation and classic hand-drawn animation, and then describes the creation of keyframed animation. Animation Concepts Animation is based on a principle of human vision. If you view a series of related still images in quick succession, you perceive them as continuous motion. Each individual image is referred to as a frame. 3398 | Chapter 13 Animation A frame is a single image in an animated film. Traditional Animation Method Historically, the main difficulty in creating animation has been the effort required of the animator to produce a large number of frames. One minute of animation might require between 720 and 1800 separate images, depending on the quality of the animation. Creating images by hand is a big job. That’s where the technique of keyframing comes in. Most of the frames in an animation are routine, incremental changes from the previous frame directed toward some goal. Traditional animation studios realized they could increase the productivity of their master artists by having them draw only the important frames, called keyframes. Assistants could then figure out what belonged on the frames in between the keyframes. The in-between frames were called tweens. Once all of the keyframes and tweens were drawn, the images had to be inked or rendered to produce the final images. Even today, production of a traditional animation usually requires hundreds of artists to generate the thousands of images needed. Animation Concepts | 3399 The frames marked 1,2, and 3 are key frames. The other frames are tweens. The 3ds Max Method This program is your animation assistant. As the master animator, you create the keyframes that record the beginning and end of each animated sequence. The values at these keyframes are called keys. 3ds Max calculates the interpolated values between each key to produce the completed animation. 3ds Max can animate just about any parameter in your scene. You can animate modifier parameters, such as a Bend angle or a Taper amount, material parameters, such as the color or transparency of an object, and much more. Once you have specified your animation parameters, the renderer takes over the job of shading and rendering each frame. The result is a high-quality animation. 3400 | Chapter 13 Animation The object's position at 1 and 2 are the keyframed models at different times. The computer generates the in-between frames. Comparing Frames and Time Traditional animation methods, and early computer animation programs, are rigidly locked to the concept of producing animation frame by frame. This is okay if you always work in a single format or do not need to specify an animated effect at a precise time. Unfortunately, animation comes in many formats. Two of the more common formats are film at 24 frames per second (FPS) and NTSC video on page 9238 at 30 FPS. Also, the need for accurate time-based animation versus frame-based animation is critical as animation becomes more common for scientific and legal presentation. Animation Concepts | 3401 Different animation formats have differing frame rates. 3ds Max is a time-based animation program. It measures time, and stores your animation values, with an internal precision of 1/4800 of a second. You can configure 3ds Max to display time in a format best suited for your work, including traditional frames format. See Time Configuration on page 8696. Many of the examples in the following sections describe time using the frames method for the sake of tradition and familiarity. Keep in mind that you are really animating using a very precise time-based method, and frames aren’t created until you instruct 3ds Max to render your animation. Identifying Animation Tools You can locate the basic animation tools in the following areas of the interface: 3402 | Chapter 13 Animation Track View Provides detailed animation editing capabilities in several floating or dockable windows. See Track View on page 3827. Track Bar Provides quick access to keyframes and interpolation controls. Can be expanded for function curve editing. See Track Bar on page 8659. Motion Panel Use this panel to adjust transform controllers that affect all position, rotation, and scale animation. See Working with Controllers on page 3421. Hierarchy Panel Use this panel to adjust all parameters governing the linkage of two or more objects. These include inverse kinematics parameters and pivot point adjustments. See Hierarchy Panel on page 8801. Time Controls Use these controls to move through time in the viewport displays. You can move to any point in time, and play animations in the viewports. The time controls, documented in Animation and Time Controls on page 8677, include: ■ Time slider on page 8656 ■ Auto Key button on page 8679 ■ Set Key buttons on page 8682 ■ Animation playback buttons on page 8691 ■ Current frame field on page 8694 ■ Key Mode toggle on page 8694 ■ Time Configuration button on page 8696 To get started with animation, see Using Auto Key Mode on page 3403. Using Auto Key Mode Start creating an animation by turning on the Auto Key button, setting a current time, and then changing something in your scene. You can change the position, rotation, or scale of an object, or change almost any setting or parameter. When you make a change, a key storing the new value for the changed parameter is created at the current time. If that key was the first animation key created for the parameter, a second animation key is also created at time 0 to hold the parameter’s original value. Using Auto Key Mode | 3403 Keys are not created at time 0 until you create at least one key at another time. After that, you can move, delete, and re-create keys at time 0. Turning Auto Key on has the following effects: ■ The Auto Key button, the time slider, and the border of the active viewport turn red to indicate you are in animation mode. ■ Whenever you transform an object or change an animatable parameter, 3ds Max creates keys at the current frame, as indicated by the time slider position. To begin animating an object: 1 Click (Auto Key) to turn it on. 2 Drag the time slider to a time other than 0. 3 Do one of the following: ■ Transform an object. ■ Change an animatable parameter. For example, if you have a cylinder that has not been animated yet, it has no keys. If you turn on Auto Key, and at frame 20 you rotate the cylinder 90 degrees about its Y axis, rotation keys are created at frames 0 and 20. The key at frame 0 stores the original orientation of the cylinder, while the key at frame 20 stores the animated orientation of 90 degrees. When you play the animation, the cylinder rotates 90 degrees about its Y axis over 20 frames. TIP To change the default start frame to 1, or to disable automatic start-frame recording, use the Animation Preferences ➤ Auto Key Default Frame controls on page 8937. Modeling Without Animating Just as you can animate at any time by turning Auto Key on, you can also model at any time in your animation without creating animation keys. 3404 | Chapter 13 Animation The results of changing an object or any other parameters with Auto Key off varies according to whether or not the object or parameters have been animated yet. ■ If you create a new object, or change an object parameter that has not been animated yet, you can work at any time with Auto Key off. The changes you make are constant through the entire animation. For example, you might animate an object bouncing around your scene and then decide to create pads for the object to land on. To do that, you drag the time slider to a time when the bouncing object hits the ground, and make sure Auto Key is off before you proceed. You can then create a pad under the bouncing object and repeat the process at the next time where it hits the ground. Because Auto Key is off, the frame at which you create the pad objects does not matter. They remain present and inanimate through the entire animation. ■ If you change an object or parameter that is already animated, while Auto Key is off, the amount of change is applied equally across all the animation keys. For example, you might animate a sphere’s radius to be 15 at frame 0, 30 at frame 10, and 50 at frame 20. If you drag the time slider to frame 10, turn Auto Key off, and increase the sphere’s radius from 30 to 40, the change in the radius is applied to the other two keys as well. Because you increased the radius by 10 units with Auto Key off, all radius keys are increased by 10 units. The sphere’s radius is now 25 at frame 0, 40 at frame 10, and 60 at frame 20. If Auto Key had been on when you changed the radius, it would have been an animated change applied only to the key at frame 10. Identifying What Can Be Animated Because most parameters in 3ds Max can be animated, the easiest way to find out if something can be animated is just to try it. Usually, if you want to animate a parameter, it can be animated. Sometimes you need to know in advance if you can animate a parameter. If so, you can use Track View on page 3827. The Track View Hierarchy list displays every parameter that can be animated. You might also need to add a controller on page 3454 to a track before it can be animated. Using Auto Key Mode | 3405 Using Set Key Mode The Set Key animation method is designed for the professional character animator who wants be able to try out poses and then commit those poses to keyframes intentionally. It can also be used by any animator to set keys on specific tracks of objects. The Set Key method allows more control than the Auto Key method, because it gives you the chance to try out ideas and discard them quickly without having to undo work. It lets you transform objects and selectively key certain tracks on certain objects through the use of Key Filters and Keyable tracks in Track View. NOTE Although the following information uses the example of animating a character, it also applies to animating a complex mechanical assembly. Straight-Ahead and Pose-to-Pose Traditional animation is created one of two ways, either straight-ahead animation or pose-to-pose animation. Straight-ahead animation is drawn starting from the beginning and then additional frames are drawn sequentially thereafter, moving straight ahead in time. Pose-to-pose animation is created by drawing the important frames first (extremes and breakdowns), and then the intervening frames are filled in later. Once a character has been correctly drawn for a specific frame, pose-to-pose animation requires that all the keyable tracks needs to be keyframed. This creates a pose of the character that will not be affected if animation for the character is edited at other points in time. If all the animatable tracks are keyed in the extremes, the in-betweening work will not destroy any of those poses. Set Key and Pose-to-Pose Animation The number of objects and tracks that require keying for a character, even a simple character, is not something that can be easily handled manually. Set Key makes this process easier by listing all the tracks that are parts of the character that have to be keyed when you want to fix a pose and create a snapshot in time. Keyable tracks let you determine which tracks can be keyed, then Key filters let you work on them selectively, placing keys on only the tracks you want. Differences Between Set Key and Auto Key Modes Set Key mode differs from Auto Key in a number of ways. 3406 | Chapter 13 Animation In Auto Key mode, the workflow is to turn on Auto Key, move to a point in time, then transform objects or change their parameters. All changes register as keyframes. When you turn off Auto Key mode, you no longer are creating keys. Changes made to objects when Auto Key mode is off are applied globally to the animation. This is referred to as Layout mode. In Set Key mode, the workflow is similar, but the behavior is fundamentally different. Turn on Set Key mode, then move to a point in time. Before you transform or change object parameters, you determine the tracks you want to set keys on using Keyable icons in Track View and Filters. Once you know what you plan to key, you try out poses in the viewport (transform the objects, change parameters, and so forth). When you like what you see, click the large Set Keys button or press K on the keyboard to set a key. If you don't do this, no keys are set. If you move to another point in time, your changes are lost and have no effect on your animation. For example, if you find that you have a posed character, but at the wrong frame in time, you can hold down Shift and the right-mouse button and drag the time slider to the correct frame without losing your pose. Using Set Key with Inverse Kinematics Choosing IK Parameters in Key Filters allows you to use Set Key to keyframe inverse kinematics. This lets you set keys for IK goals and end effectors using Set Key as well as other IK parameters such as Swivel Angle or Twist. As always, when using Set Key, you can selectively keyframe tracks by combining Keyable icons in Track View with Key Filters. Set Key doesn't currently support IK/FK Enabling, so don't try to keyframe the Enable button using the Set Key button or the keyboard shortcut. Use the Auto Key method when you want to work with IK/FK blending. Using Set Key with Materials If you select Materials in Key Filters, you can use Set Key to create keys for materials. Be forewarned that you need to use Keyable Icons to limit the tracks which get keyed. If you simply turn on Materials and set a key, you will place keys on every Material track, something you probably don't want to have happen. Using Set Key Mode | 3407 Using Set Key with Modifiers and Object Parameters When you want to set a key on an object's parameters, and you have the Object Parameters Key Filter selected, every parameter will receive a key, unless you have turned off the parameter track in the Controller window of Track View using Keyable icons. It might be easier to simply Shift+right-click the parameter spinner to set the key. Also make sure both Modifiers and Object Parameters are turned on in the Filters dialog on page 3922 when you are keyframing a modifier gizmo. Additional Set Key Tools Additional Set Key Tools are found in the Customize User Interface dialog on page 8837. On the Keyboard panel, choose Set Key Tools from the Category field. Here, you can set keyboard shortcuts to clear the Set Key buffer, as well as create keys on just a single axis for a transform. Using Set Key with Sub-Object Animation When using Set Key with sub-object animation, you must first assign a controller before creating a key. Sub-objects do not have a default controller assigned upon creation. The controller is assigned by animating at the sub-object level. Other Methods to Set Keys You can also set position, rotation, and scale keys by right-clicking the Frame Indicator of the time slider. To set keys on parameters that have spinners, hold down the Shift key and right-click to set a key using the existing parameter value. Procedures To use Set Key animation: 1 Turn on the (Set Key). The button turns red to show you are now in Set Key mode. In this mode, you can try out ideas before you commit to them. 2 Open Track View (either Curve Editor or Dope Sheet). 3408 | Chapter 13 Animation 3 On the Track View toolbar, click (Show Keyable). 4 Turn off all the tracks you don't want to keyframe. The red key means the track will be keyed. If you click the red key, it turns to a gray key, which means that track will not be keyed. TIP You can toggle multiple tracks as keyable by using the Controller menu ➤ Keyable command. When you are finished, minimize or close Track View. 5 Click the Key Filters button, and turn on the filters to choose the tracks you want keyframed. Position, Rotation, and Scale are on by default. So is IK Parameters. You can use the Key Filters button to work on individual tracks selectively. For example, if you are in Track View and the Rotation and Position tracks of a character's arm are keyable, you can use the key filters to turn off the Position filter and only work on the Rotation tracks. 6 Move the time slider to another point in time, transform your objects or adjust parameters in the command panels to create animation. This does not yet create keyframes. 7 Click (Set Keys) or press K on the keyboard to set a key. When the button turns red, it sets a key which appears on the time ruler. The keys are color coded to reflect which tracks are being keyed. Using Set Key Mode | 3409 If you don't click Set Keys and you move to another point in time, the pose is lost. TIP To move the pose to another point in time, use the right mouse button to press and drag the time slider. This lets you move to another frame number without losing the pose. To animate a vertex using Set Key: 1 Create an editable spline. 2 Select a vertex. 3 Turn on (Set Key). 4 Move the selected vertex. 5 Click (Set Keys). Now a controller has been assigned to the vertex. From this point forward, you can animate. To set a key on every keyable track of an object: 1 Select the object for which you need to set keys. 2 Turn on (Set Key). 3 On the Key Filters dialog, click All. 3410 | Chapter 13 Animation 4 Click (Set Keys) or press K on the keyboard. Spinner Right-Click Menu To open the spinner right-click menu, right-click the editable field of an animatable parameter. This menu provides options for cutting, copying, and pasting values, wires, and animation tracks between various object parameters. It also allows you to show the parameter in Track View on page 3827 or in the Parameter Wiring dialog on page 3647. Interface With the exceptions of Undo and Select All, each of the following commands takes effect on the parameter you right-click. It's not necessary to first click in the value field. Undo Reverses the effect of the last action. Cut Removes highlighted text to be pasted elsewhere. Copy Copies highlighted text to be pasted elsewhere. Spinner Right-Click Menu | 3411 Paste Inserts cut or copied text into the editable field. Delete Removes highlighted text. Select All Highlights all text within the active editable field. NOTE In order for Select All to work, the text cursor must be active in the field that you right-click to open the menu. For best results, first click in the field, and then right-click the field and choose Select All. Copy Animation Copies the animation controller, including all animation keys, to a buffer, which you can then assign elsewhere by pasting. Paste Animation - Copy Assigns a copy of animation controller in the buffer to the right-clicked field. Paste Animation - Instance Assigns an instance on page 9195 of the copied animation controller to the right-clicked field. Paste Animation - Wire Opens a Parameter Wiring dialog on page 3647 with the copied parameter and the paste destination parameter selected. This is equivalent to creating a wire parameter on page 3645 in the viewport between two parameters. Edit Wire Opens the Parameter Wiring dialog on page 3647 expanded and positioned to show the wire controller assigned to the selected parameter. NOTE Edit Wire is available only if a two-way connection on page ?is currently applied on the right-clicked parameter. Show in Track View Opens a Track View - Curve Editor window, titled “Selected,” expanded and positioned to show the selected parameter. This is very useful for fast access to a particular curve or track. Show in Parameter Wire dialog Opens a Parameter Wiring dialog expanded and positioned to show the selected parameter. Viewing and Copying Transform Keys The viewports display white brackets around objects that have transform keys at the current time. These key brackets only appear in viewports using the wireframe shading method. Use the Track View to view all key types. You can also see all keys for the current selection in the track bar on page 8659. 3412 | Chapter 13 Animation For example, suppose you animate a sphere by moving it at frame 20, and scale and rotate it at frame 50. When you drag the time slider, white brackets appear around the sphere at frames 50, 20, and 0, and keys appear at the same frames in the track bar. If you then apply a modifier such as Bend, and animate its Angle setting at frame 40, you won't see a white bracket around the sphere at frame 40, but track bar displays a key for the Bend animation. Controlling Key Bracket Display Animation panel of the Preference Settings dialog You can control the display of key brackets using options in the Preference Settings dialog ➤ Animation panel on page 8933. Creating Transform Keys with the Time Slider You can use the time slider on page 8656 to create transform keys by copying transform values from one time to another. To specify the type of key to create and the source and destination time for the key values, right-click the time slider to display the Create Key dialog. Viewing and Copying Transform Keys | 3413 You set parameters in the Create Key dialog: Source Time Specifies the time from which transform values will be copied. Destination Time Specifies the time where the key will be created. Position, Rotation, Scale Determine which transform key values will be copied to the destination time. When you click OK, new keys for the specified transforms are created at the destination time, using values from the source time. Keys do not have to exist at the source frame, because the interpolated values at the frame are used. You might find it easier to create and manipulate keys with the track bar on page 8659. When Auto Key mode is on, you can right-click and drag the time slider at the same time. When you do this, the Source time uses the frame number that you were on when you pressed the mouse button, and the Destination time accepts the frame number that you move the time slider to. When Set Key mode is on, you can right-click and drag the time slider to move to another frame in time, without losing your character pose. If you find you have posed your character on the wrong frame, simply right-click and drag the time slider, and the pose will be copied to the new frame. Click Set keys to set keys for the pose on the new frame. Creating Position Lock Keys and Rotation Lock Keys Creating a lock key creates a key with Linear interpolation. If you create the lock key while an existing key is selected, it changes that key's interpolation from Smooth to Linear. (Different types of interpolation are described in Bezier Controllers on page 3462.) You can create a lock key for position or for rotation. 3414 | Chapter 13 Animation Lock keys are useful when you want an object to be stationary, but smooth interpolation is causing it to "wobble" on its stationary spot. To create a lock key: 1 From the Customize menu, choose Customize User Interface. 2 On the Customize User Interface dialog, click the Quads tab, and then, from the drop-down list at the upper right of the dialog, choose Animation. 3 Click the top-left quadrant of the four gray squares that comprise the quad menus. The quad turns yellow. 4 In the Action list to the left, find Create Position Lock Key. Drag it to the window on the right below any menu item. Choose Save and click OK to apply this and close the dialog. 5 (Optional.) Select a key. 6 Alt+right-click the object you're animating. NOTE The Auto Key button need not be on. 7 From the quad menu that appears, choose Create Position Lock Key . You can also create keyboard shortcuts for these two commands. Create Position Lock Key and Create Rotation Lock Key are main user interface shortcuts. See Keyboard Shortcuts on page 9007. Controlling Time You create animation by changing your scene over time. You can exercise great control over time, including: how time is measured and displayed; the length of the active time segment (the part of the animation in which you’re currently working); and how much time is covered by each rendered frame of your animation. Other time issues described in the topics that follow include how to move through time, and how to view animation in the viewports. Controlling Time | 3415 Choosing the Time Display Format When you start 3ds Max, the default time display is in frames, but you can use alternative time-display formats. For example, you might want to see time in seconds and minutes. You can specify different time-display formats using the Time Configuration dialog on page 8696 ➤ Time Display group settings. When you change the time display format, you not only change the way that time is shown in all parts of 3ds Max, but you also change the method with which you access time. You can use these time display formats: 3416 | Chapter 13 Animation Frames Displays time in whole frames. This is the default display mode. The amount of time covered by a single frame depends on your choice for the current frame rate. For example, in NTSC video each frame represents 1/30th of a second. SMPTE Displays time using the Society of Motion Picture and Television Engineers format. This is the standard time-display format for most professional animation work. From left to right, the SMPTE format displays minutes, seconds, and frames, delineated by colons. For example, 2:16:14 represents 2 minutes, 16 seconds, and 14 frames. FRAME:TICKS Displays time using frames and the 3ds Max internal time increment, called "ticks." There are 4,800 ticks per second, so you can actually access time intervals as small as 1/4800 of a second. MM:SS:TICKS Displays time in minutes (MM), seconds (SS), and ticks, delineated by colons. For example, 2:16:2240 represents 2 minutes, 16 seconds, and 2,240 ticks. Setting Time Segments The active time segment specifies a block of working time. You might think of it as a window in time that you use to focus on a specific part of your animation. Specifying an Active Time Segment You specify the active time segment by setting the Start Time and End Time for the segment on the Time Configuration dialog on page 8696. You can change the active time segment whenever you want without affecting the keys you've already created. For example, if you have keys scattered over a range of 1000 frames, you can narrow your active time segment to work only on frames 150-300. Changing the active time segment has the following effect: ■ Restricts the range of time you can access using the time slider on page 8656. ■ Restricts the range of time displayed when using the animation playback buttons. Setting Time Segments | 3417 The default setting for the active time segment runs from frames 0 to 100, but you can set it to any range. You can also increase the active time segment using the track bar on page 8659. Rescaling the Active Time Segment You use the Re-scale Time button on the Time Configuration dialog on page 8696 to change your entire animation based on the active time segment. Use Re-scale Time as follows: ■ Scale all animation in the active time segment to fit within a new time range. ■ Move the entire animation to a new time. Click Re-scale Time and then enter new Start Time and End Time values on the Re-scale Time dialog. When you click OK all the animation in the active time segment is moved and scaled to fit the new Start Time and End Time settings. Any animation outside the active time segment is moved to match the new active time segment boundaries. For example, say you have an animation from frame 0 to frame 300 and an active time segment starting at frame 100 and ending at frame 200. Use Re-scale Time to set the new Start Time to frame 200 and the new End Time to frame 250. Clicking OK gives you the following result: ■ Animation in the active time segment moves forward 100 frames and shrinks to a length of 50 frames. The new active time segment is from frames 200 to 250. ■ Animation in the frames preceding the original active time segment moves forward 100 frames to connect to the start of the new active time segment. ■ Animation in the 100 frames after the original active time segment moves forward 50 frames to connect to the end of the new active time segment. You can also rescale the active time segment using the track bar on page 8659. Moving Through Time You can move to any time in your active time segment by using either the time slider on page 8656, or the Current Frame field on page 8694 in the time controls area. You can also move through time using the playback control buttons. 3418 | Chapter 13 Animation Using the Time Slider The time slider shows you the current time, and lets you move to any time in your active time segment. To change the current time using the time slider, do one of the following: 1 Drag the time slider. 2 Click in the empty track to either side of the time slider. 3 Click the increment arrows at either end of the time slider. When you click in the slider track, the time slider jumps to the time where you clicked. This is a faster method of moving through time than dragging the time slider. The time slider displays the current time, followed by a slash (/), followed by the total time in the active time segment. For example 25/100 means frame 25 of 100 frames. The current time also appears in the current time field. If your scene has been animated, it’s played back in all viewports as you drag the time slider. You can use the < and > keys on the keyboard to advance the time slider a frame at a time. When Key mode is on, this will advance to the next keyframe. Moving to an Exact Time The Current Time field always displays the current time. You can also enter a time value and press Enter to move to that time. Using the Time Control Buttons You use the Time Control buttons to move forward and backward in time and to play your animation in one or more viewports. They work like VCR controls that you use to move through frames and to start and stop animation playback. The Time Control buttons include four buttons for moving through time and a center flyout for controlling animation playback: Go To Start on page 8690 Previous Frame/Key on page 8690 Play/Stop on page 8691 Next Frame/Key on page 8693 Go To End on page 8694 Moving Through Time | 3419 They work like VCR controls that you use to move through frames and to start and stop animation playback. Choosing a Frame Rate and Playback Speed The frame rate of an animation is expressed in frames per second (FPS). This is the number of frames 3ds Max displays and renders for every second of real time. Because 3ds Max stores your animation keys using real time using an internal precision of 1/4800 of a second, you can change the frame rate for your animation at any time without affecting your animation timing. For example, if you create three seconds of animation using the NTSC video frame rate of 30 FPS, you will have a 90-frame animation. If you later discover you need to output to PAL video, at 25 frames per second, you can switch to that frame rate, and your animation is now set to 75 frames of output. No change in the timing of your animation has occurred. Only the number of frames that 3ds Max will display and render has changed. Setting the Frame Rate You use the settings in the Time Configuration dialog on page 8696 ➤ Frame Rate group to switch back and forth between frame rates at any time. NTSC: U.S. and Japanese video standard of about 30 frames per second. PAL: European video standard of 25 frames per second. Film: Movie standard of 24 frames per second. Custom: Frame rate set in the FPS parameter. Configuring Animation Playback You use settings in the Time Configuration dialog on page 8696 ➤ Playback group to specify the playback speed, and the number of viewports that play the animation. Real Time: Animation plays at the selected playback speed, skipping frames, if necessary, to maintain the correct speed. Turn this off and the animation will play every frame without trying to maintain the correct speed. The different playback speeds are also useful when using the Motion Capture utility on page 4174. Active Viewport Only: Animation plays only in the active viewport. Turn this off and the animation will play in all four viewports at once. 3420 | Chapter 13 Animation Speed: Choose one of these options to multiply the frame rate by the selected speed. Direction: When Real Time is off you have the option to change the direction of the animation playback. Choosing Reverse will play the animation from end to start. Choosing Pingpong will play the animation from start to end, and then end to start. Loop: When Loop is turned off, the animation will play once and stop. Viewport Playback Speed The ability of 3ds Max to play your animation at a specified rate depends on many things, including the complexity of the scene, the number of objects moving in the scene, the geometry display mode, and so on. The worst case is a camera move in shaded mode, in which the viewport is filled with detailed geometry. In such cases, it’s best to simplify the viewport display, using either wireframe display or, in extreme cases, box display mode. Naturally, it takes more computing power to display your animation in four viewports, and playback smoothness is reduced. When Active Viewport Only is on, you can switch active viewports during playback either by clicking the label of an inactive viewport, or by right-clicking in an inactive viewport. Working with Controllers Everything you animate in 3ds Max is handled by a controller. A controller is a plug-in that handles the storage and interpolation of all animated values. The default controllers are: ■ Position: Position XYZ ■ Rotation: Euler XYZ ■ Scale: Bezier Scale TIP For fast access to key info or controller parameters, double-click a controller track name on the Motion panel or Track View hierarchy window . This productivity enhancement can help speed your work when fine-tuning animation. Although 3ds Max has many different types of controllers, much of the animation is handled by the Bezier controller on page 3462. Bezier controllers interpolate between keyframes in a smooth curve. You can adjust the key interpolation of these interpolations through the keys on the track bar or in Working with Controllers | 3421 Track View. This is how you can control acceleration, hesitation and other types of motion. The default controller for Rotation is Euler XYZ, which breaks the rotation down into three individual Bezier Float tracks. The default controller for Position is Position X,Y,Z. The Scale controller default is Bezier. NOTE If you load files made in earlier versions of 3ds Max, their existing controllers will be maintained. WARNING Be aware that Euler rotations behave differently than TCB rotations. If you are used to using TCB controllers, you can reassign TCB Rotation as the controller and you will get the same behavior you are used to. 3ds Max has a specialized type of controller, called a constraint, that is commonly used to help automate the animation process. A constraint can be used to control an object’s position, rotation, or scale through a binding relationship with another object. You apply constraints and controllers using commands on the Animation menu. When you assign a controller from this menu, a weighted list controller is automatically applied, with the controller you've selected appearing first in the list. The weighted list controller gives you the ability to blend controllers, similar to a nonlinear animation system. If you assign a controller through the Motion panel or Track View, it replaces the existing controller, rather than creating a list controller. You can do that manually if you are working in the Motion panel or Track View. This section explains techniques for working with controllers. For details about the parameters and use of each individual controller type, see Animation Controllers on page 3454. Understanding Controllers Controllers are plug-ins that handle the animation tasks in 3ds Max. Specifically, a controller can: ■ Store animation key values. ■ Store procedural animation settings. ■ Interpolate between animation key values. 3422 | Chapter 13 Animation Most animatable parameters don't receive a controller until you animate them. As soon as you change an animatable parameter at any frame other than 0 with the Auto Key button on, or click the parameter track to choose Curve Editor ➤ Add Keys, 3ds Max assigns a default controller to the parameter. Accessing Controllers You can work directly with controllers in two different places: ■ Track View: Controllers are indicated in the Hierarchy list by the various controller icons. Each controller has its own individual icon. Using Track View, in either Curve Editor or Dope Sheet mode, you can view and work with the controllers for all objects and all parameters. See Track View on page 3827. ■ Motion panel: Contains special tools for working with transform controllers. The Motion panel contains many of the same controller functions as the Curve Editor, plus controls necessary for working with special controllers such as IK Solvers. Using the Motion panel you can view and work with the transform controllers of a single selected object. See Motion Panel on page 8802. Categories of Controllers There are two main categories of controllers. These categories are easy to identify when looking at the Track View - Curve Editor Hierarchy list. Single-Parameter Controllers: Control animation values of a single parameter. Regardless of whether the parameter has a single component, such as the number of sides of a cylinder, or multiple components, such as the RGB values of a color, the controller is handling a single parameter. Compound Controllers: Combine or manage multiple controllers. Compound controllers include high-level Transform controllers, such as PRS on page 3557, the Euler XYZ Rotation controller on page 3482, the Transform Script controller on page 3585, and the List controller on page 3528. A compound controller appears in the Hierarchy list as a controller icon with subordinate-level branches of other controllers. Understanding Controllers | 3423 Controllers and Constraints In addition to controllers, 3ds Max can animate using constraints. These items are located in the Animation ➤ Constraints menu. The constraints include the following: Attachment, Surface, Path, Link, Position, Orientation, and LookAt. When you assign a controller in the Motion panel or in Track View, you will see these constraints appearing in the list of available controllers. You can assign them the same as the other controllers, but they are also assignable from the Animation ➤ Constraints submenu. For more information, see Animation Constraints on page 3607. NOTE If you assign a controller using the Animation ➤ Controller submenu, a list controller is automatically applied to the object, with the selected controller applied beneath the list controller. This is different than controllers that are applied via the Motion panel. Viewing Controller Types You can view the controller type assigned to a parameter in both the Curve Editor and in the Motion panel. Before you can view the controller types in Track View, you must do the following: 1 On the Curve Editor toolbar, click the Filters icon. Then in the Filters dialog ➤ Show group, turn on Controller Types. You can then see the name of the Controller type in the Hierarchy view. 2 Assign controllers to parameters. You can do this on the Assign Controller rollout of the Motion panel, or through the right-click menu in the Hierarchy list in Track View. The Parameters mode of the Motion panel always displays the transform controller types for the selected object. Reading Controller Types You can tell a lot about how a parameter is animated by looking at the controller type. 3424 | Chapter 13 Animation Parameter Name: Is always visible and is always to the right of the controller icon. It tells you what is animated. Interpolation Type: Usually follows the parameter name. It tells how animation values are calculated. The label Diffuse: Bezier Color indicates a Diffuse color parameter using Bezier interpolation with Color data. Data Type: Usually follows the interpolation type. It tells what type of data is used. The label Height: Linear Float indicates a Height parameter using Linear interpolation with a floating point value. Changing Controller Properties Certain controllers, including procedural ones like Noise on page 3550, do not use keyframes. For this type of controller, you can analyze and change your animation by editing controller parameters by means of a Properties dialog. The controller type determines whether or not the controller displays a properties dialog and the type of information displayed. Using Curve Editor you can view controller properties dialogs for multiple tracks simultaneously. The following rules govern viewing multiple controller properties dialogs: ■ Each track displays only one properties dialog in each Track View window. ■ When properties dialogs for multiple tracks are visible, only one dialog can be active. ■ Properties dialogs for tracks that use keys are disabled unless keys are selected. Changing Controller Properties Some controllers do not use keys, using instead a properties dialog that affects the entire animation. Such controllers are usually parametric controllers like Noise, or compound controllers like List. To view controller properties in Curve Editor: Do one of the following: ■ Highlight the label for a parametric or compound controller, right-click the label, and then choose Properties from the shortcut menu to display the properties dialog. The dialog title identifies the controller type, the item or object name, and the parameter. For example: Noise Controller:-Box01\Position Changing Controller Properties | 3425 Double-click the label. ■ You can also view global properties for some transform controllers in the Motion panel. The same controls described above apply. Controller properties can also be viewed from the track bar on page 8659. Right-click any key and choose Controller Properties. Changing Controller Key Information Some controllers interpolate between keys that you set on specific frames. Such controllers are always single parameter controllers such as a Bezier Float controller for Height or TCB for Rotation. These controllers use a Key Info dialog that contains settings for one of more selected keys. To view key information in the Curve Editor: Right-click a key to display the Key Info dialog. If more than one key is highlighted, Key Info displays common information for all of the selected keys. Settings that contain values indicate values common to all of the selected keys. Settings that are blank indicate values that change from key to key. ■ Viewing key information in the Motion panel always displays the settings for a single transform key. To view key information for transform controllers in the Motion panel: 1 Select an object. 2 On the Motion panel, click Parameters, if it's not already active. 3 Click Position, Rotation, or Scale on the Parameters rollout. If the transform controller uses keys, Key Info rollouts appear below the Parameters rollout. To view key information for transform controllers in the track bar: 1 Select an animated object. 3426 | Chapter 13 Animation 2 Right-click any key in the track bar. 3 From the right-click menu, choose the property to inspect (e.g., Sphere01: X Position), or, if available, choose Controller Properties. Changing Controllers That Do Not Display Properties Some controller types do not display any properties in Track View or the Motion panel. You change the animation values of these controllers using the Auto Key button in the viewports and using the tools in the Curve Editor Keys and Curves menus, and in the track bar. Assigning Controllers Every parameter has a default controller type that gets assigned the moment the parameter is animated. You can choose from multiple controller types for any parameter and change controllers after the parameter is animated. Assigning Controllers in Track View You can assign controllers to any animatable parameter in the Curve Editor by selecting controller items and then choosing Assign Controller on the Controller menu. You can also assign controllers to any animatable parameter in the Track View — Curve Editor by selecting the parameter in the Hierarchy List then right-clicking and choose Assign Controller from the quad menu. You can also assign the same controller type to a selection of multiple parameters as long as all the selected parameters can use the same type of controller. For example, you could select the Length, Width, and Height parameters for multiple Box objects and assign the same controller type to all of them. This is because they all use controllers that work on floating point data. If a parameter has already been animated, then assigning a new controller has one of the following effects: ■ The existing animation values are recalculated to produce a similar animation with the new controller. For example, replacing TCB Position with Bezier Position closely preserves the animation. ■ The existing animation values are discarded. For example, replacing Smooth Rotation with Noise Rotation discards the Smooth Rotation animation values. Assigning Controllers | 3427 Assigning Controllers on the Motion Panel You can assign controllers on the Motion panel on page 8802 by selecting an object and then, on the Assign Controller rollout, choosing a controller and clicking (Assign Controller). You can change the controllers of only one selected object at a time. Assigning Controllers Using the Animation Menu You can assign controllers using the Animation menu. All the controllers and constraints are available by going to the menu bar and choosing Animation, and then selecting the type of Controller you want and picking the controller from the submenu that displays. When you assign a controller in this method, a list controller is automatically assigned, and the controller you have selected appears as the first entry in the list. This automatic list controller assignment does not occur if you assign controllers using the Motion panel or Track View. Weighted list controllers allow you to blend between various tracks by animating the weights. TIP You can use the Animation menu to assign the same type of controller or constraint to several different objects at once. Just select the objects and then choose the controller or constraint from the Animation menu. NOTE If an assigned constraint requires designating an additional subject, such as a Path constraint, a rubber-band line extends from the first selected object to the mouse cursor after choosing the constraint. To complete the assignment, position the cursor over a qualifying target object and click. Copying and Pasting Controllers Right-click any blank area on the Track View toolbars, then choose Show Toolbars ➤ Controllers: Track View. This displays the Controller toolbar with buttons for quick access to controller tools. Click Copy and Paste on the Track View toolbar to copy and paste controllers. For a general discussion of using Copy and Paste, see Copying and Pasting Items on page 3981. To copy and paste controllers in the Curve Editor, select the controller track to copy, then right-click and choose Copy from the Track View quad menu. 3428 | Chapter 13 Animation Navigate the Hierarchy list to the target object, select the track, right-click and choose Paste. Rules for using Copy and Paste are as follows: ■ You can copy only single controllers. Compound controllers like List or PRS Transform controllers are considered single controllers for Copy and Paste operations. ■ You can paste a copied controller into one or more controllers using the same data type. ■ You can choose to make an instance or a copy of the pasted controller. ■ You can choose to convert other controller instances in the scene automatically. Clicking Paste displays the Paste dialog, with three controls for determining how the Paste operation is carried out. Copy Pastes the controller as a copy. Instance Pastes the controller as an instance of the source controller. Any change you make to either controller will affect the other. For example, you can paste a box's Length controller as an instance into its Height and Width parameters. This makes the box a cube. Changing either of the Length, Width, or Height parameters changes the other two. Paste Target: Replace All Instances When selected, all instances of the target controller receive the paste controller, whether or not they are selected. This keeps all instances of the target controller as instances. When off, the target controller is made unique and the remaining instances are unchanged. Specifying Default Controllers You can specify the permanent defaults for controller types and controller settings to match the way you prefer to work. The following defaults are written to the 3dsmax.ini file: ■ The default controller used for each data type ■ The default controller settings Specifying Default Controllers | 3429 Specifying Default Controllers You specify default controllers by choosing Controller ➤ Assign from on the Track View menu (see Assigning Controllers on page 3427). When you choose a controller in the Assign Controller dialog you have the option to click Make Default before clicking OK. Clicking Make Default assigns the chosen controller as the default for all parameters using that data type. It has the following effects: ■ The default controller is listed at the bottom of the Assign Controller dialog. ■ Many different parameters might share the same data type. For example, selecting the Length parameter of a Box and specifying Linear Float as the default sets the default controller for all parameters that use the Float data type. This includes, Width, Camera FOV, and Scale Deformation Curves. ■ Default controller choices are written to the 3dsmax.ini file and become the default for all new scenes. ■ Previously assigned controllers are not affected. Specifying Default Controller Values You can specify the default settings for many controller types, or reset controllers to their factory settings on the Preferences dialog. To specify default controller settings: 1 Choose Customize menu ➤ Preferences. 2 In the Preferences dialog ➤ Animation panel ➤ Controller Defaults group, click Set Defaults to display the Set Controller Defaults dialog. 3 From the list of available controllers, choose a controller type and click the Set button to display the default settings supported by the selected controller. For example, with a Bezier controller you can set the In and Out tangents. NOTE The default Rotation controller is Euler XYZ, not TCB (Quaternion) as in earlier versions of 3ds Max. The default Position controller is now Position XYZ, instead of TCB Position. Only Scale is still Bezier as a default. Euler XYZ Rotation behaves quite differently from TCB. It gives you three function curves to manipulate, but does not allow rotations of greater than 180 degrees between keys. If you are used to working with TCB controllers, you can change the default rotation controller back to TCB. 3430 | Chapter 13 Animation Once you click OK, the controller defaults are changed. Changes to the controller default settings are written to your 3dsmax.ini file and become the defaults for all newly assigned controllers and all new scenes. You can also revert to the original program defaults for all controllers by clicking Preference Settings dialog ➤ Animation panel ➤ Controller Defaults group ➤ Restore To Factory Settings. General-Purpose Controllers The controllers described in this topic are general purpose in that you can apply them to parameters of different data types, yet they behave in essentially the same way for those different parameters. Within certain general-purpose controllers there might be variations according to the data type used by a parameter. See Animation Controllers on page 3454 for detailed descriptions of controller properties. Bezier Controllers Bezier controllers on page 3462 interpolate between keys using an adjustable spline curve; they are the default controller for most parameters. Use Bezier controllers to provide fully adjustable interpolation between keys. Bezier controllers support the following options: ■ Adjustable tangent handles. ■ Step tangents for abrupt changes from one key to the next. ■ Constant velocity control. You can adjust the key interpolation by choosing among different tangent types in the Key Info dialog. . TCB Controllers The TCB controller on page 3595 produces curve-based animation like Bezier controllers. However, TCB controllers use fields to adjust the Tension, Continuity, and Bias of the animation. Use TCB controllers when you want adjustable, curved interpolation between keys, and you want to use TCB style controls. General-Purpose Controllers | 3431 Linear Controllers The Linear on page 3526 controller interpolates between animation keys by evenly dividing the change from one key value to the next by the amount of time between the keys. For a rigid, mechanical motion, use Linear controllers. Noise Controllers The Noise on page 3550 controller produces random, fractal-based animation over a range of frames. Noise controllers are parametric; they do not use keys. Noise controllers have many possible uses, as in the following examples: ■ Use Noise whenever you need completely random animation around a given value. For example, use a Noise Rotation controller when you want an object to wobble in place. A common use for a noise controller is the creation of camera shake. ■ Use Noise in a List controller to apply variations to the result of another controller. For example, use a List controller to combine Noise Position with Bezier Position. The Bezier controller moves the object while the Noise controller makes the object shake and stray a little from the trajectory. XYZ Controllers The XYZ controllers such as Euler XYZ on page 3482 and Position XYZ on page 3555 are specifically designed so that you have three separate curves, one for each axis. This allows you to independently view and control the curves individually. This has advantages over rotation controllers like TCB that do not display function curves at all. XYZ controllers are now the default for rotation animation. You can adjust the interpolation between keys using the Key Info dialog. Audio Controllers The Audio controller on page 3455 converts the amplitude of a recorded sound file or real-time sound wave into values that can be used by an animated parameter. Use the Audio controller to synchronize parameter values with a sound file. For example, use an Audio controller for a Multiplier Curve to scale a parameter in sync with a sound. 3432 | Chapter 13 Animation Special-Purpose Controllers The controllers described in this topic are applied to parameters of different data types, like general-purpose controllers, but they are used for special purposes. List Controllers The List controller on page 3528 combines multiple controllers into a single effect. It is a compound controller with tools for managing the order in which its internal controllers are calculated. List controllers are weighted, by animating the weights of the different layers you can create an effective non-linear animation system. Use List controllers to combine controllers as in the following examples: ■ Combine Noise Rotation and TCB Rotation controllers to introduce random orbital motion as an object rotates. ■ Combine Bezier Position and Path Constraint to make an object follow a path with manually keyframed variation away from the path. When you apply any controller from the Animation menu, a list controller is automatically placed on the object and the selected controller placed first in the list. Expression/Script Controllers You write custom code for Expression controllers on page 3486 and Script controllers on page 3584 in an Expression or Script controller dialog. You specify parameters using mathematical expressions, functions, and variables. The code can include values based on the controllers of other objects in the animation. NOTE You can replicate some functions of Expression and Script controllers without having to write code by using parameter wiring or Reaction controllers. See Parameter Wiring Dialog on page 3647 and Reaction Controllers on page 3559. See also Expression Controller Techniques on page 3492 Trigonometric Functions on page 282 Vectors on page 285 Special-Purpose Controllers | 3433 Motion Capture Controllers A Motion Capture controller controls parameters in real time from the input of external devices. Currently supported devices are mouse, keyboard, MIDI device and joystick. Each device has specific properties that must be set: ■ After assigning the motion-capture controller, open the controller Properties dialog and bind the type of peripheral device and set device parameters. ■ Use the Motion Capture utility on page 4174 to test and record captured motion. Explicit Axis Keys The XYZ controllers assign an individual track to the X, Y, and Z components of the position, rotation, or scale of an object. However, the controllers always assign three keys (one for each axis), by default. In previous versions of 3ds Max, you had to manually edit the keys in order to create explicit axis keys. However, there are now actions available from the Customize User Interface dialog on page 8837 that let you create explicit keys with the touch of a button. When an explicit key is created on an axis, any keys on the two remaining axes (at the selected time) will be deleted. An explicit axis key can only be assigned to objects that already have an XYZ controller assigned to their position, scale, or rotation tracks. You can also use Keyable Icons to turn on or off tracks for editing. This allows you to set keys on only specified PRS X, Y or Z axes as well. See Keyable Icon on page 3898. See also: ■ Position XYZ Controller on page 3555 ■ General-Purpose Controllers on page 3431 ■ Euler XYZ Rotation Controller on page 3482 ■ Scale XYZ Controller on page 3582 3434 | Chapter 13 Animation Interface NOTE These commands are not available in the default user interface. You can use the Customize User Interface dialog to assign a keyboard shortcut to them or add them to your toolbars or menus if you want to use them. Key Position X, Y, or Z Creates an explicit key on the designated position axis. Key Rotation X, Y, or Z Creates an explicit key on the designated rotation axis. Key Scale X, Y, or Z Creates an explicit key on the designated scale axis. Float Controllers The controllers described in this topic are available only for parameters that use the Float data type. On/Off Controller An On/Off controller on page 3553 controls parameters using binary on and off values. The On/Off track displays a solid blue color in frames that are on, and the background in frames that are off. The on/off state of the parameter switches every time you add a key. Use for binary parameters such as the Smooth object parameter, or for Visibility tracks. Boolean Controller The Boolean Controller is a variation on the On/Off controller. It provides a similar functionality, but with one significant difference. The on/off state of the parameter does not switch automatically every time you add a key. This allows you to effectively add keys in the middle of a sequence without creating unintended drastic changes. Waveform Controller A Waveform controller on page 3598 generates values by combining periodic waveforms. You can specify different types of waveforms and add waveforms together to create complex animation. Waveform was originally created to control blinking lights. Use it for any value that you want to vary in a regular, oscillating pattern. Float Controllers | 3435 Controlling Transforms Transform controllers are compound controllers. They set the type and behavior of the controllers used for Position, Rotation, and Scale. You assign Transform controllers using either Track View — Curve Editor or the Motion panel. Compound Transform controllers do not display properties in Track View. You can access the parameters of Transform controllers only in the Motion panel. Position/Rotation/Scale Controller The Position/Rotation/Scale (PRS) controller on page 3557 is a simple Transform controller applicable for most objects. When applied the PRS Transform controller sets up default Bezier Position, TCB Rotation, and Bezier Scale controllers. Use a PRS controller whenever you want a standard transform set up or when you want single function curve control over the Position, Rotation, and Scale controllers. NOTE PRS controller is no longer the default controller applied to all objects. The latest version of 3ds Max uses Position XYZ and Euler XYZ as the new default controllers for position and rotation transforms. Transform Script Controller The Transform Script controller on page 3585 contains all of the information contained in a PRS Controller in one scripted matrix value. Instead of having three separate tracks for position, rotation, and scale, all three values can be simultaneously accessed from one script controller dialog. Because the transform values are defined by a script, they are easier to animate. The value of the controller script must be a matrix3 value. A matrix3 value is a 4x3 3D transformation matrix. For more information, see the Matrix3 Values topic in the MAXScript Help. XRef Controller The XRef controller on page 3602 lets you externally reference any type of Transform controller from another scene file. When you assign this controller to your object, it nests the source controller, making it only accessible for playback. You can use the XRef controller either on its own, or combine it with an XRef Object on page 7971. 3436 | Chapter 13 Animation Controlling Position The Position controller is a component of the Transform controller. Position is a data type that can use most of the standard controllers such as Bezier, TCB, and Noise. The controllers described in this topic can be used only as position controllers. XYZ Controller The XYZ controller breaks a Position controller into three separate Bezier Float controllers. Each of the X, Y, and Z components of position receives its own track. Use the XYZ controller when you want to have separate key patterns or controller types for each position component. See Euler XYZ Rotation Controller on page 3482, Position XYZ Controller on page 3555, and Scale XYZ Controller on page 3582. Controlling Rotation The Rotation controller is a component of the Transform controller. Rotation is a data type that can use most of the standard controllers such as TCB, Linear, and Noise. Rotations in 3D are very complex. Even the standard controller types behave differently when used for rotation. The most common way of calculating rotations in 3D animation uses four components to define rotation about an arbitrary axis. This is the quaternion method. The benefits of using quaternion rotation include: ■ It produces a direct one-to-one relationship between the quaternion values and how objects interactively rotate in the scene. ■ It produces smoother rotation than other methods. The drawbacks of using quaternion rotation include: ■ Rotation values in key information can be difficult to understand. ■ Quaternion rotation controllers do not display function curves in Track View — Curve Editor. For this reason Euler XYZ is now the default rotation controller assigned to all objects. You can use the following controllers only as rotation controllers. Controlling Position | 3437 Smooth Rotation Use Smooth Rotation on page 3590 when you want rotation to have a smooth and natural look. Smooth rotation uses nonadjustable curved interpolation, and has the following characteristics: ■ You can move keys in Track View to change timing. ■ You can directly rotate objects in the viewports to change rotation values. ■ You cannot display controller or key properties, or function curves. Euler XYZ Rotation Use the Euler XYZ Rotation controller on page 3482 when you want individual function curve control for each axis of rotation. Euler XYZ is a compound controller that combines separate, single-value float controllers to specify an angle of rotation about each of the X, Y, and Z axes. Euler XYZ Rotation is the default controller applied to all objects. Euler XYZ is not as smooth as quaternion rotation, but it is the only rotation type that you can use to edit rotation function curves. Euler angles are well suited for animating mechanical rotations. They can also be a good choice for an object in an inverse kinematics chain because IK Rotational joints are defined as Euler angles. X, Y, and Z function curves displayed by this controller in Track View represent rotations in "world" or "parent" space which is the rotation system used by most 3D animation packages. Customers upgrading from earlier versions of 3ds Max might find some difficulty in adapting to using Euler XYZ rotation controllers. If you find yourself experiencing unexpected rotation behavior, this might be the reason. Reassign TCB rotation as the default rotation controller and you will be able to regain your customary workflow. Controlling Colors You can animate colors in 3ds Max just as you can animate most other parameters. Two data types are available for controlling colors: ■ Point3: A general-purpose, three-component data type that works with RGB color values. It uses most of the standard controllers. 3438 | Chapter 13 Animation ■ Color: A special data type designed specifically for working with RGB and HSV color values. Color uses the Bezier and RGB controllers. Color Point3 Controller You can assign any of a variety of Point3 controllers to a material's color channels, including Point3 Expression, Point3 List, Color RGB (described later in this topic), and so on. When using Point3 controllers for color parameters, an important issue is behavior of the Key Value fields, labeled X, Y, Z. They store color values using only the RGB color model. ■ The X value field stores Red color values. ■ The Y value field stores Green color values. ■ The Z value field stores Blue color values. The Point3 Key Value fields do not clamp at the valid color range of 0 to 255. Values that drop below 0 or exceed 255 are ignored by the color parameter but are still displayed in Track View. Bezier Color Controller The Bezier Color controller (see Bezier Controllers on page 3462) is a data type that uses Bezier key interpolation. You can use RGB or HSV color models with the Bezier Color controller. The choice of color model is global for all keys used by the controller. You can switch between color models anytime and color key values are correctly converted. The Color Value fields are limited to a range of 0 to 255. You can drag the color keys above 255 in Track View Curve Editor, but the values are clamped at 255. Color RGB Controller Assign a Color RGB controller on page 3480 to break a Color controller into three separate Bezier Float controllers. Each of the R, G, and B components of color uses its own track. Use the Color RGB controller when you want to have separate key patterns or controller types for each color component. Controlling Colors | 3439 Morph Controllers You can choose from two morph controllers: Cubic and Barycentric; they manage how morph targets blend from one target to another. Morphing can also be achieved by applying a Morpher modifier on page 1464 to an object. Cubic Morph Controller A Cubic Morph controller is a TCB-style controller. It uses Tension, Continuity, and Bias controls much like the generic TCB controller. The Cubic Morph controller manages only the interpolation from one morph target to the next. If you want to add Morph keys or change the morph target, you must use the Pick Targets and Current Targets rollouts on page 600 in the Modify panel. Barycentric Morph Controller The Barycentric Morph controller on page 3459 is also a TCB controller like the Cubic Morph controller, except that instead of each key representing a single target, each key represents a series of weights for all targets. A Barycentric Morph key represents a new object which is a blending of all targets. You can adjust each morph key to percentages of the available morph targets, creating subtle adjustments in the animation. You can also click Add Keys in Track View to create new Barycentric Morph keys. The added keys contain interpolated values for all targets. Motion Panel Commands Controls for assigning and adjusting controllers appear on the Motion panel. NOTE You can also work with controllers in Track View on page 3827. Trajectories Select an object ➤ Motion panel ➤ Trajectories The Trajectories rollout displays the path an object travels over time. Controls to convert splines into trajectories, trajectories into splines, and to collapse 3440 | Chapter 13 Animation any transform controller into editable keys are also available by choosing Motion panel ➤ Trajectories. Scooter following a trajectory NOTE The state of the Trajectory check box under Display in the Object Properties dialog on page 221 (and on the Display panel ➤ Display Properties rollout) controls whether trajectories will be visible for an object. Using trajectories, you can do the following: ■ Display the 3D path for selected object’s position tracks. ■ Insert and delete keys from the path. ■ Move, rotate, and scale keys on the path. ■ Convert the path to a spline object. ■ Derive a new path from a spline object. ■ Collapse transforms. Motion Panel Commands | 3441 Values under Sample Range are used in the Spline Conversion and Collapse Transform functions. NOTE You can assign the four principal Trajectories functions to keyboard shortcuts and other custom UI items. The following actions are available via Customize User Interface on page 8837: ■ Trajectory Add Key Mode Toggle: Enters and exits Add Key mode on page 3444. ■ Trajectory Delete Key: Activates the Delete Key on page 3444 function on a one-time basis. ■ Trajectory Key Mode Toggle: Enters and exits the Keys sub-object level for direct editing of animation keys via transformation of the trajectory keys. ■ Trajectory Toggle: If one or more objects are selected, this enters and exits Trajectories mode on the Motion panel. Procedures To display an object’s trajectory: 1 Select an animated object that moves over time. 2 Right-click the object and choose Properties. Trajectory is not available. 3 In the Display Properties group, click By Layer to change this button to By Object. Skip this step if By Object is already displayed. Trajectory becomes available. 4 Turn on Trajectory, then click OK. The Trajectory is displayed as a red line with white squares and dots. The white squares are keys, the white dots are in-betweens. To add a key to a trajectory: 1 Select an object. 3442 | Chapter 13 Animation 2 Display the trajectory by following the previous steps. 3 On the Motion panel, click Trajectories. 4 Click Sub-Object to activate Keys and enable editing. 5 Click Add Key. The button highlights. 6 Click the trajectory. Wherever you click the trajectory a key will be added. 7 Right-click the key and select Key Info from the right-click menu. In the Key Info dialog, you can change the In and Out values for the in-betweens on either side of the key. This allows you to use the trajectory key to create the illusion of hesitation or acceleration. You can click repeatedly to add many keys in this mode. To delete a key from a trajectory: 1 Select a key on a trajectory. You can click it, or use window selection. 2 On the turned off. Motion panel ➤ Trajectories rollout, be sure Add Key is 3 On the Motion panel ➤ Trajectories rollout, click Delete Key. 3ds Max deletes the key. To transform keys on a trajectory: 1 2 On the Select one or more objects. Motion panel, click Trajectories. 3 Click Sub-Object to activate Keys and enable editing. Motion Panel Commands | 3443 4 Select one or more keys and use the transform tools on the Main toolbar to move, rotate, or scale the selected keys. Interface Sub-Object Enables key editing. Use the Move, Rotate, and Scale transforms to change the location of a key(s) displayed on a trajectory. Trajectories rollout Delete Key Deletes the selected key(s) from the trajectory. Add Key Adds key(s) to the trajectory. This is a modeless tool. When you click this button once, you can then add any number of keys by clicking the trajectory line in the viewport one or more times in succession. To exit Add Key mode, click the button again. Sample Range group Start Time/End Time Specifies the interval for the conversion. If you're converting from position keyframes to a spline object, this is the time interval for which the trajectory will be sampled. If you're converting from a spline object to position keys, this is the interval over which the new keys will be placed. Samples Sets the number of samples for the conversion. When converting in either direction, the source is sampled at regular intervals, and keys or control points are created on the target object. 3444 | Chapter 13 Animation Spline Conversion group Convert To/Convert From Converts keyframe position tracks to and from spline objects. This enables you to create a spline trajectory for an object and then convert that spline to keyframes for that object's position track in order to do various keyframe-specific functions (such as applying constant velocity to the keys and normalizing the time). Or, you can convert an object's position keyframes into a spline object. TIP Convert To and Convert From can be used to move an object along a path without using a path constraint. Collapse Transform group Generates keys based on the current transformation of the selected object. You can apply this for any type of transform controller assigned to an object, but the main purpose of this function is to "collapse" a parametric transform effect, such as one generated by a Path constraint, into standard, editable keys. Collapse Collapses the transform of the selected object. Position, Rotation, Scale Specifies which transforms you want to collapse. You must choose at least one check box to activate the Collapse button. Motion Panel Commands | 3445 PRS Parameters Rollout Select an object ➤ rollout Motion panel ➤ Parameters ➤ PRS Parameters The PRS Parameters rollout provides tools for creating and deleting keys. PRS stands for the three basic transform controllers: Position, Rotation, and Scale. Procedures To create a PRS transform key: 1 Select an object in the viewports. 2 Drag the time slider to the frame where you want to place a key. 3 On the Motion panel, choose Parameters ➤ PRS Parameters rollout. 4 Click one of the following buttons under Create Key PRS Parameters rollout: ■ Click Position to create a Position key. ■ Click Rotation to create a Rotation key. ■ Click Scale to create a Scale key. If a particular Position, Rotation, or Scale controller doesn't use keys, then that button is not available under Create Key. For example, you can’t create Position keys if you're using a Noise Position controller. 3446 | Chapter 13 Animation Interface Create Key/Delete Key Creates or deletes a move, rotate, or scale key at the current frame. These buttons become active or inactive depending on the existence of a key type at the current frame. For example, if you're on a frame containing a Scale key, the Scale button is inactive in the Create column because a key already exists. At the same time, the Position and Rotation buttons are inactive in the Delete column because there are no keys of that type to delete. Position/Rotation/Scale Determines the contents of the Key Info rollouts that appear below the PRS Parameters rollout on the Motion panel. Key Info (Basic) Rollout/Dialog Select an animated object ➤ Info (Basic) rollout Motion panel ➤ Parameters ➤ Key Select an animated object. ➤ Right-click a key on the track bar. ➤ Choose a controller track. Make a selection. ➤ (Basic) rollout Hierarchy panel ➤ IK button ➤ Key Info Curve Editor ➤ Right-click a key. Parameter Collector on page 260 ➤ Click a Properties button. Motion Panel Commands | 3447 The Key Info (Basic) rollout or dialog changes the animation value, time, and interpolation methods of one or more selected keys. The following parameters are available with the Bezier controller, which is the default position controller. The Key Info controls for a TCB position controller are different. See also: Key Info (Advanced) Rollout/Dialog on page 3451 ■ Procedures To set the tangent type for a key: 1 Select an object and open the Key Info (Basic) rollout. 2 Use the arrows in the upper-left corner of the dialog to select a key. 3 Choose a tangent type from the In or Out tangent flyouts. Interface Key number Shows the current key number. Click the right or left arrows to go to the next or previous key. Time Specifies at what time the key occurs. Time Lock Prevents horizontal key movement in Track View Edit modes. 3448 | Chapter 13 Animation Value Adjusts the position of the selected object at the current key. NOTE In the Key Info dialog for the Bezier Scale controller, a Lock button is displayed beside the X Scale spinner. If you click Lock X, only the X value affects all three axes of scale. The Y and Z values are ignored and their function curves are not displayed. When X is locked, the Y and Z values aren't affected by changes in the X value. If you click Lock X when all three axes are at identical values, alter the X value, and then unlock X. The Y and Z values remain where they were while X retains its new value. Key Tangent Flyouts With Bezier controller types, sets the interpolation properties of the In tangent and Out tangent of the key. For details, see Tangent Types on page 3449. Tangent Copy buttons Use the arrow buttons at either side of the Key Tangent flyouts to copy the tangent type between the tangents of the current key or between the tangents of the previous and next key. ■ The left arrow of the In tangent copies to the Out tangent of the previous key. ■ The right arrow of the In tangent copies to the Out tangent of the current key. ■ The left arrow of the Out tangent copies to the In tangent of the current key. ■ The right arrow of the Out tangent copies to the In tangent of the next key. Tangent Types Key Info (Basic) dialog/rollout on page 3447 ➤ In/Out Tangent Type flyouts Status bar ➤ Animation controls ➤ Default In/Out Tangents For New Keys flyout Select an animated object ➤ Info (Basic) rollout Motion panel ➤ Parameters ➤ Key Motion Panel Commands | 3449 You can adjust the tangent type of the Bezier transforms. This means you can adjust the interpolation between keyframes to create particular motion effects. By manipulating tangent types, you can make something hesitate, speed up, slow down, or even stand still. Each key has two tangents: one to define the interpolation before the key, and a second to define interpolation following the key. TIP You can also set the default tangent type through the Default In-Out Tangents For New Keys on page 8687 flyout. By doing so, each new key created with Set Key Mode or Auto Key Mode follows the curve interpolation set by the default tangent type. Smooth Creates smooth interpolation through the key. Linear Creates linear interpolation at the key. A linear tangent affects the curve near the key only. Full linear interpolation between two keys occurs only when the Out tangent of the first key and the In tangent of the next key both use a linear tangent. Step Creates binary interpolation from one key to the next. Step tangents require a matched set between the Out tangent of one key and the In tangent of the next key. Choosing Step for the In tangent of the current key also sets the Out tangent of the previous key to Step. Likewise, choosing Step for the Out tangent of the current key also changes the In tangent of the next key to Step. Using Step tangents, the outgoing value of a key is held constant until the time of the next key is reached. The value then abruptly jumps to the value of the next key. Use this tangent when you want to animate On/Off switching or instantaneous changes from one value to the next. 3450 | Chapter 13 Animation Slow Causes the interpolated rate of change to slow down around the key. A slow In tangent decelerates as it approaches the key. A slow Out tangent begins slow and accelerates as it leaves the key. Fast Causes the interpolated rate of change to speed up around the key. The effect is the opposite of using slow. A fast In tangent accelerates as it approaches the key. A fast Out tangent begins fast and decelerates as it leaves the key. Custom Displays adjustable tangent handles at the key in Function Curves mode in 3ds Max. Flat Tangent Displays a smooth interpolation type designed to eliminate overshoot with no editable handles. Tangent slopes automatically take the most direct route to the next key value. See also: ■ Default In/Out Tangents For New Keys on page 8687 Key Info (Advanced) Rollout/Dialog Select an animated object. ➤ Info (Advanced) rollout Make a selection. ➤ (Advanced) rollout Motion panel ➤ Parameters ➤ Key Hierarchy panel ➤ IK button ➤ Key Info Motion Panel Commands | 3451 Select an animated object in the viewport. ➤ Right-click a key in track bar. ➤ Choose the name of the controller track such as Sphere01: Z Position. ➤ Key Info dialog ➤ Click Advanced. Parameter Collector on page 260 ➤ Click a Properties button. ➤ Key Info dialog ➤ Click Advanced. The Key Info (Advanced) rollout or dialog contains additional key settings. With the Key Info (Advanced) settings, you can control velocity in three ways: ■ You can specify the absolute velocity at a key using the In/Out fields. ■ You can average velocity over a time period using Normalize Time. ■ With certain controller types, you can force constant velocity from one component key to the next using Constant Velocity. If you are creating Path animation, you can force constant velocity by placing a Normalize Spline modifier on page 1500 on the spline used as a path. See also: Key Info (Basic) Rollout/Dialog on page 3447 ■ Procedures To set normalize time for a key: 1 Select an object and choose a key to Normalize. You can use the arrows in the Key Info (Basic) rollout to step through Keyframes. 2 In the Key Info (Advanced) rollout, click Normalize Time. The key is moved in time to average the velocity through the key. 3452 | Chapter 13 Animation Interface In/Out The In field is the rate of change as the parameter approaches the key. The Out field is the rate of change as the parameter leaves the key. ■ These fields are active only for keys using the Custom tangent type on page 3449. ■ The number in the field is the rate of change expressed as parameter units per tick. By changing the two values for X, Y, and Z you are changing the length and angle of the tangent handle. Lock button Changes one Custom tangent by changing the other an equal but opposite amount. For example, if you click the Lock button and the In value is 0.85, then the Out value is -0.85. Normalize Time Averages the position of the keys in time and applies them to any consecutive blocks of selected keys. Useful if you have an object that speeds up and slows down repeatedly, and you want to smooth out the motion. Constant Velocity When on, interpolates values between the key and the next one so that the object moves at a constant velocity across that curve segment. Available only with certain controller types, such as Bezier. Free Handle Used for automatically updating the length of the tangent handle. When this is turned off, the length of the tangent is at a fixed percentage from its neighboring key. As you move a key, the handles adjust to stay the same percentage away from the neighboring keys. When this is turned on, the handle lengths are based on time lengths. Motion Panel Commands | 3453 Animation Controllers Track View ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Choose a controller in the dialog. Animation menu ➤ Constraints/Transform Controllers/Position Controllers/Rotation Controllers/Scale Controllers ➤ Choose a controller. Select an object. ➤ Motion panel ➤ Assign Controller rollout ➤ Select a track. ➤ Assign Controller ➤ Choose a controller in the dialog. Controllers, like constraints on page 3607, handle the animation tasks in a scene. They store animation key values and procedural animation settings, and they interpolate between animation key values. An object or parameter doesn't receive a controller until you animate it. As soon as you change an animatable parameter with Auto Key on, or add a key on page 3951 in Track View - Dope Sheet on page 3827, 3ds Max assigns a controller to the parameter. 3ds Max chooses a default type for the controller, depending on the animation. You can change the default controller to another type. The animation controllers are organized in the following categories: ■ Float controllers: for animating floating-point values ■ Point3 controllers: for animating three-component values such as colors or 3D points ■ Position controllers: for animating positions of objects and selection sets ■ Rotation controllers: for animating rotation of objects and selection sets ■ Scale controllers: for animating the scale of objects and selection sets ■ Transform controllers: for animating general transforms (position, rotation, and scale) of objects and selection sets To change an assigned controller, use Assign Controller on page 3930 in Track View or on the Motion panel on page 8802. See also: ■ Working with Controllers on page 3421 ■ Animation Constraints on page 3607 3454 | Chapter 13 Animation ■ Inverse Kinematics (IK) on page 3696 Audio Controller Main toolbar ➤ Curve Editor (Open) ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Audio Graph Editors ➤ Track View - Curve Editor ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Audio Use the Audio controller to drive the animation of almost any parameter in 3ds Max. The Audio controller converts the amplitude of a recorded sound file or real-time sound wave into values that can animate an object or parameter. With the Audio controller, you have full control over sound channel selection, base threshold, oversampling, and parameter range. The Audio controller works with most parameters in Track View, including: ■ Transforms ■ Float values ■ Point3 values (color) Audio controller assigned to the scale track of this object Procedures Example: To animate the Z axis scale of a box using a sound file: 1 Create a box. 2 In the Track View hierarchy, select the Scale track. 3 On the Track View menu, click Controller ➤ Assign, and choose the AudioScale controller. Audio Controller | 3455 The Audio Controller dialog appears. 4 Select Choose Sound, and select a .wav file. 5 In the Base Scale group, set the Z field to 0. 6 In the Target Scale group, set the Z field to 600. 7 Close the Audio Controller dialog and play the animation. The box scale is animated along the Z axis. TIP If you want to hear the sound as the animation plays, include the same audio file in the Sound Track on page 3868. (Sound Track in the Track View hierarchy) In the Time Configuration dialog, turn on Real Time. Interface See Audio Controller Dialog on page 3456 Audio Controller Dialog Track View or Motion panel ➤ Highlight a track using the Audio controller in the Track View hierarchy. ➤ Right-click the track. ➤ Properties Track View or Motion panel ➤ Double-click a track using the Audio controller in the Track View hierarchy. ➤ Properties Adding a sound track to your animation allows you to synchronize animation to sound. Add a sound track to lip-sync a character speaking, for example. 3456 | Chapter 13 Animation Interface Audio File group Use this group to add and remove sound files from the controller, and to adjust amplitude. Choose Sound Displays a standard file selector dialog. You can choose WAV and AVI files. Remove Sound Removes any sound file associated with a controller. Absolute Value Controls the interpretation of sound amplitude. The value returned by the Audio controller is sample amplitude divided by maximum amplitude. Value=(sample amp.)/(maximum amp.) When Absolute Value is turned on, the maximum amplitude equals the maximum sampled amplitude from the waveform. This ensures that potential for the output value reaches the target value. When off, the maximum amplitude equals the maximum potential amplitude of the waveform. Output reaches the target value only if the waveform reaches its maximum potential amplitude. Audio Controller | 3457 The maximum potential amplitude for an 8-bit file is 128; for a 16-bit file, it's 32768. Real Time Control group Use this group to create interactive animation that's driven by sound captured from an external audio source, such as a microphone. Use these options only for interactive presentations. You can't save the real-time sound or save the animation produced by the controller. Enable Real Time Device Sets whether sound is captured from an external audio source. This option is inactive if a sound capture device is not installed in your system. When on, any selected audio file is ignored, and the controller uses sound captured by the selected device. When off, the controller uses the selected audio file. Real Time device list Displays all available real-time sound devices installed in your system. Select the device you want to use for real time sound capture. Sample group This group contains controls to filter out background noise, smooth out the waveform, and control display in Track View. Threshold Sets the bottom cut-out level as a percentage of total amplitude. Any amplitude below the threshold drops to 0.0. Threshold range is from 0.0 to 1.0. A Threshold of 0.0 has no effect on amplitude output values. A Threshold of 1.0 drops all amplitude output values to 0.0. You can use low threshold values to filter out background noise from the controller. Oversampling Smoothes the waveform. Multiple samples are averaged to remove peaks and valleys. Enter a number in the Oversampling field to calculate the average Fast Track View Controls the display of oversampling. When turned on, oversampling is ignored for the Track View display. When turned off, oversampling is applied to the Track View display. High oversampling values can slow the display of the waveform. 3458 | Chapter 13 Animation Base & Target Scale groups Here you enter minimum and maximum parameter values returned by the controller. The fields you see vary by the type of parameter using the Audio controller. Float parameters are displayed in the Controller Range group with Min. and Max. fields. Vector parameters (3 components), such as Transforms, display Base and Target groups with fields for X, Y, and Z values. Base Scale Defines the float value or X, Y, and Z values returned for an amplitude of 0.0. Target Scale Defines the float value or X, Y, and Z values returned for maximum amplitude. Channel group With this group you select which channel drives the controller output value. These options are only available if you have chosen a stereo sound file. Left Uses the left channel amplitude. Right Uses the right channel amplitude. Mix Combines the two channels so that the returned amplitude is the greater value of either channel. Barycentric Morph Controller Select an object. ➤ ➤ Morph Create panel ➤ Geometry ➤ Compound Objects The Barycentric on page 9102 Morph controller is automatically applied when a morph object is created in Create ➤ Geometry ➤ Compound Objects ➤ Morph. Morph targets are selected and keys are created at different times to morph the original object into the shape of the Morph Targets. Barycentric Morph Controller | 3459 NOTE The Morpher modifier provides an alternative to the Morph controller to morph objects. The Barycentric Morph controller represents each key as a series of weights for all targets. One barycentric key represents a new object which is a blending of all targets. You can adjust each morph key to various percentages of the available morph targets. This lets you create subtle adjustments in the animation. You can add keys between existing morph keys. The added keys contain interpolated values for all targets. To access the key properties dialog, select the Morph track, select one of its keys, and click Properties to display the Key Info dialog. See also: ■ Morph Compound Object on page 600 ■ Morpher Modifier on page 1464 Procedures See Morph Compound Object on page 600 and Barycentric Morph Controller Key Info Dialog on page 3461 Interface After assigning the Barycentric Morph controller in Create panel ➤ Compound Objects ➤ Morph, then morph parameters for the controller display in the Modify panel and in the Barycentric Controller Key Info dialog, which is displayed by right-clicking over a morph key in Track View Dope Sheet or the track bar. See Morph Compound Object on page 600 for Morph parameters. 3460 | Chapter 13 Animation Barycentric Morph Controller Key Info Dialog Select a Morph object ➤ Track View - Dope Sheet ➤ Right-click a morph key. ➤ Barycentric Morph Controller Key Info dialog You can change morph target weighting using controls in the Barycentric Morph Controller Key Info dialog. Interface Current Key Specifies the current key that you're adjusting. Time Specifies where, in time, the current key is placed. Tension/Continuity/Bias Adjusts the TCB parameters of the key spline interpolation. TCB Spline Displays the key interpolation spline. Targets Lists all morph targets for the object, along with the percentage of their influence at the current key. The total percentage of all targets is displayed Barycentric Morph Controller | 3461 below the window. You can select any target in this window, and then adjust its percentage of influence using the spinner at right. Percentage Sets the percentage of influence for the target selected in the list window. Percentage values can be negative as well as greater than 100 percent. Constrain to 100% Limits total weight of all targets to 100 percent. As you increase or decrease the percentage of a selected target, the other targets adjust accordingly. The adjustment takes the form of balancing all of the target percentages so that their relative weights remain the same. When this check box is turned off, you can adjust the weight of each target without affecting the others, and create a total that's greater or less than 100 percent. Totals greater than 100 percent cause the morph object to scale up in size, while totals less than 100 percent cause the morph object to scale down. Note that this check box is global, and not confined to a single key or track. Bezier Controllers Main toolbar ➤ Curve Editor (Open) ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Bezier Graph Editors ➤ Track View Curve Editor ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Bezier The Bezier controller is the most versatile controller available in 3ds Max. Bezier controllers interpolate between keys using an adjustable spline curve. They are the default controller for most parameters. Use Bezier controllers whenever you want fully adjustable interpolation between keys. Bezier is the only controller that supports the following: ■ Dragging tangent handles ■ Step tangents for abrupt changes from one key to the next ■ Constant velocity controls 3462 | Chapter 13 Animation Procedures To set the tangent type for a key: 1 Select an object that has some animation keys, and open the Motion panel ➤ Key Info (Basic) rollout. 2 Use the arrows to select a key. 3 Choose a tangent type from the In or Out tangent flyouts. To normalize time for a key: 1 Select an object, and then choose a key to normalize. You can use the arrows in the Key Info (Basic) rollout to step through keyframes. 2 On the Motion panel ➤ Key Info (Advanced) rollout, click Normalize Time. The key is moved in time to average the velocity through the key. Interface Motion panel > Parameters > Key Info (Basic) rollout A Key Info dialog with identical parameters to this rollout is available by right-clicking a key in Track View or the track bar. Bezier Controllers | 3463 Key number Shows the current key number. Click the right or left arrows to go to the next or previous key. Time Specifies when in time the key occurs. Time Lock Controls dragging the key horizontally in Track View edit modes. X/Y/Z Adjusts the position of the selected object at the current key. Key Tangent Two flyouts set the interpolation properties of the in tangent and out tangent of the key. Choosing Bezier Tangent Types Sets the tangent types for one or more keys in the same track using the In and Out tangent flyouts. See Tangent Types on page 3449 for detailed information on each of the available tangent choices. Tangent Copy Copies the tangent type between the tangents of the current key or between the tangents of the previous and next key. Use the arrow buttons on either side of the Key Tangent flyouts. The left arrow of the In tangent copies to the Out tangent of the previous key. The right arrow of the In tangent copies to the Out tangent of the current key. The left arrow of the Out tangent copies to the In tangent of the current key. The right arrow of the Out tangent copies to the In tangent of the next key. Choosing Bezier Tangent Types Sets the tangent types for one or more keys in the same track using the In and Out tangent flyouts. 3464 | Chapter 13 Animation Bezier Scale Controller (Lock X) Causes the X value to affect all three axes of scale. The Y and Z values are ignored and their function curves are not displayed. When X is locked, the Y and Z values are not affected by changes in the X value. If you lock X when all three axes are at identical values, alter the X value, and then unlock X, the Y and Z values remain where they were while X retains its new value. Motion panel > Parameters > Key Info (Advanced) rollout Controls in the rollout affect velocity in three ways: ■ Control the absolute velocity at a key using the In/Out values ■ Average velocity over a specified amount of time using Normalize Time ■ Force constant velocity from one component key to the next using Constant Velocity In/Out The In field displays the rate of change as the parameter approaches the key. The Out field displays the rate of change as the parameter leaves the key. These fields are active only for keys using the Custom tangent type. Bezier Controllers | 3465 The number in the field is the rate of change expressed as parameter units per Tick. By changing the two values for X, Y, and Z you are changing the length and angle of the tangent handle. Lock button When on, changing one Custom tangent changes the other by equal but opposite amount. For example, if the Lock button is on and the In value is 0.85, then the Out value is -0.85. Normalize Time Averages the position of the keys in time and is applicable to any consecutive blocks of selected keys. Useful if you want to smooth out the motion and have an object that speeds up, slows down, speeds up, and slows down. Constant Velocity Interpolates values between a key and the next one in a way that makes the object move at a constant velocity across that curve segment. Free Handle Used for automatically updating the length of the tangent handle. When this is turned off, the length of the tangent is at a fixed percentage from its neighboring key. As you move a key, the handles adjust to stay the same percentage away from the neighboring keys. When this is turned on, the handle lengths are based on time lengths. Create Position Lock Key / Create Rotation Lock Key Makes the incoming handle of the current key linear, and the out going handle of the previous key linear. This is to prevent overshoot from the spline interpolation. To use these two features, you must first create a keyboard shortcut in Customize ➤ Customize User Interface. Look for Create Position Lock Key and Create Rotation Lock Key in the keyboard shortcut list and assign a key. Or you can also add these commands to the quad menu. Block Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Expand Global Tracks in the Track View hierarchy. ➤ Block Control Graph Editors ➤ Track View - Curve Editor ➤ Expand Global Tracks in the Track View hierarchy. ➤ Block Control A Block controller is a global List controller on page 3528 that allows you to combine several tracks from multiple objects over a range of time, and group them as "Blocks." These Blocks are then used to re-create the animation 3466 | Chapter 13 Animation anywhere in time. Blocks can be added, removed, scaled, moved graphically in Track View, and saved. Blocks can represent either absolute or relative animation. For example to animate a hand forming a guitar chord, all the rotations of the fingers and hand can be saved as a block. This block can then be used to recreate the hand and finger position, rotation, and animation whenever the chord is played in an animation. Essentially, block controllers allow you to build up libraries of animations and apply them to objects as you choose. TIP Euler Rotations will give you better results than TCB Rotation controllers when you are working with blocks. Block controllers blend clips in a relative repeat manner. If your motions do not loop exactly, your rotations start to drift. Also note that block controllers only work with Keyframe controllers (non-procedural). Master Block Parameters Dialog After assigning a Master Block, right-click the MasterBlock track to display the Master Block Parameters dialog on page 3474. This is the first step in creating a block. With this dialog, you can save blocks and then load them later. Blocks are saved as BLK files. Track View Pick Dialog The Track View Pick dialog on page 3477 is displayed when track selection is necessary; for example, when you click Add in the Master Block Parameters dialog. Select tracks in the dialog to include in a block. Valid tracks are shown as darker. Block Controller | 3467 Block Parameters Dialog After you create a block by clicking Add in the Master Block Parameters dialog and then selecting tracks in the Track View Pick dialog, clicking OK in the Track View Pick dialog displays the Block Parameters dialog on page 3473. Attach Controls Dialog (Loading Blocks) The Attach Controls dialog on page 3471 is displayed when you click Load in the Master Block Parameters dialog. Tracks in blocks saved previously can be mapped to tracks in the current scene. Slave Parameters Dialog (Slave Controller) Every time a block is created, all tracks within the block are assigned a slave controller, which allows the MasterBlock to transfer key data. The slave controller tracks appear with the original tracks you used to create the block. See Slave Parameters dialog on page 3475. MasterBlock Subtracks Below the main MasterBlock track are subtracks. The first of these is always Blend. The remaining subtracks are initially copies of the tracks used to create the block. Blend track Lets you animate the influence of the block. You can reduce the block's influence by creating Blend keys with values less than 1.0. Default=1.0. Block-specific subtracks Display the block name and its associated tracks. Initially these are copies of the tracks used to create the block. You can edit keys on these tracks to change the block's behavior. Block Key Properties Dialog 3468 | Chapter 13 Animation Relative Motion Toggles between relative and absolute motion. Start, End Set the first and last frames for this instance of the block (this scales the block instance). Procedures Example: To create a block: 1 Animate two objects moving in the viewports. Make the final keyframe for the objects frame 10. 2 Open Track View - Dope Sheet. 3 On the Track View hierarchy, expand Global Tracks, expand Block Control, and then select Available. Available is the track below the Block Control track. 4 From the Track View toolbar, choose Controller menu ➤ Assign, select Master Block in the dialog, and then click OK. The Master Block Parameters dialog automatically displays. 5 Click Add on the Master Block Parameters dialog. 6 On the Track View Pick dialog, expand the tracks for the two animated objects. 7 While holding down Ctrl, click the X,Y,Z Position tracks for both objects, and then click OK. 8 On the Block Parameters dialog, type a name in the name field. Choose a name that will remind you of the animation in this block. 9 Set the End value to 10, and then click OK. The Block will contain animation between frame 0 and frame 10. 10 Click OK to close the Master Block Parameters dialog. The block has been created, and you can now use it. ■ Once a block is added, a slave controller is added to the controllers on the original tracks. This enables communication between the track and the Block controller. ■ With the Blend track (below the MasterBlock track in the Track View hierarchy) you can animate how much of the block animation will be in effect. Negative values reverse the animation. Block Controller | 3469 ■ Controllers that each block uses are listed under the block name. This allows you to adjust the data for a particular block. Example continued: To use a block: 1 In the Dope Sheet Key window, right-click the MasterBlock track. A pop-up menu displays the name of blocks already created. 2 Select the name of the block you created earlier. The Block is displayed in the Key window. 3 Drag the Block to start at frame 20, and click Play. The animation repeats at frame 20. You can create a number of blocks for different periods of an object's animation, and use them at different locations in the MasterBlock track. To move an inserted block: ■ In the Key window, select the block and then drag it left or right. To scale (resize) an inserted block: ■ Select the key at the lower left or right corner of the block, and then drag left or right. To create a copy of a block: ■ Hold down Shift, and draft the block. This creates a new instance of the block, which you can place at a different time. To remove an inserted block: ■ Click to select the block, then press Delete. 3470 | Chapter 13 Animation Interface Inserted blocks appear in the Key window to the right of the MasterBlock controller in the hierarchy under Global Tracks. Block Control track Displays in Track View under Global Tracks. To create a MasterBlock Control, expand Block Control, select Available, and choose Controller ➤ Assign. MasterBlock Track Displays in Track View after you assign a Master Block controller to an available track. You can right-click the track in the Key window. This displays a pop-up menu that shows the name of blocks that have been created. Choosing a block inserts the block into the MasterBlock track. The dialog also has an entry, Properties, that displays the Master Block Parameters dialog. In the MasterBlock track, inserted blocks display as colored rectangles. The name of the block appears at the center. In the lower left and right corners are keys that indicate the beginning and end of the block's animation. Below the name of the block is the letter “R” for relative, or “A” for absolute. Click and drag the center of a block to move it in time. Select a key in the corner of a Block to move one edge of the block (scale time). Right-click an inserted lock to display the Block Key Properties dialog (described below). Attach Controls Dialog (Block Controller) Track View ➤ Global Tracks ➤ Block Control ➤ Click and then right-click MasterBlock track. ➤ Properties ➤ Load ➤ Choose a file. ➤ OK ➤ Attach Controls dialog Block Controller | 3471 Track View ➤ Global Tracks ➤ Block Control ➤ Double-click MasterBlock track. ➤ Properties ➤ Load ➤ Choose a file. ➤ OK ➤ Attach Controls dialog 3ds Max opens this dialog when you click Load in the Master Block Parameters dialog on page 3474. Tracks in blocks previously saved can be mapped to tracks in the current scene. The Incoming Controls list on the left contains all the incoming tracks. The Copy To list on the right contains all the tracks in the current scene that you will attach to. Interface Add Selects tracks in the current scene in the Track View Pick dialog on page 3477. Add Null Allows a space to be taken if you don’t want to use a particular track. Match by Node Select tracks on the left that you want to match. Click Match By Node. Then select a group of tracks that you want to match to. The system attempts to match the controls based on their names. 3472 | Chapter 13 Animation Delete Deletes a track from the list. Move Up, Move Down Move tracks up and down to align them before attaching them. OK Imports the tracks and closes the dialog. Cancel Cancels the Load operation. Block Parameters Dialog (Block Controller) Track View ➤ Global Tracks ➤ Block Control ➤ Click and then right-click MasterBlock track. ➤ Properties ➤ Master Block Parameters dialog ➤ Add ➤ Choose tracks in Track View Pick dialog ➤ Click OK. ➤ Block Parameters dialog Track View ➤ Global Tracks ➤ Block Control ➤ Double-click MasterBlock track. ➤ Properties ➤ Master Block Parameters dialog ➤ Add ➤ Choose tracks in Track View Pick dialog ➤ Click OK. ➤ Block Parameters dialog After clicking Add in the Master Block Parameter dialog and selecting tracks in the Track View Pick dialog to create a Block, clicking OK in the Track View Pick dialog opens the Block Parameters dialog. Interface Name Field Names the block. Start, End Set the range of the block in frames. Color Selects a color for the Block. Displays a color selection dialog. OK Saves the parameters and closes the dialog. Cancel Closes the dialog without saving the parameters. Block Controller | 3473 Master Block Parameters Dialog (Block Controller) Track View ➤ Global Tracks ➤ Block Control ➤ Master Block ➤ Click and then right-click the Master Block track. ➤ Master Block Parameters dialog Track View ➤ Global Tracks ➤ Block Control ➤ Master Block ➤ Double-click the Master Block track. ➤ Master Block Parameters dialog After assigning a Master Block, right-click the Master Block track to open the Master Block Parameters dialog. This is the first step in creating a block. Interface Add Opens the Track View Pick dialog. Use the dialog to choose tracks to include in a Block. Valid tracks are displayed in darker text. Add Selected Creates a block using the tracks already selected in the Track View hierarchy. Any invalid tracks are ignored. Select the tracks (include the Master Block track), and then right-click Master Block in the Track View hierarchy. Replace Replaces the currently selected block. Remove Remove the selected block from the list. 3474 | Chapter 13 Animation Load Loads a block from disk. Displays the Attach Controls dialog. Map incoming tracks to tracks in your scene using controls in the Attach Controls dialog. Save Saves the current block to disk. Slave Parameters Dialog (Block Controller) Track View ➤ Click and then right-click a slave track in the Track View hierarchy. ➤ Properties ➤ Slave Parameters dialog Track View ➤ Double-click a slave track in the Track View hierarchy. ➤ Properties ➤ Slave Parameters dialog Every time you create a block, all tracks within the block are assigned a Slave controller, which allows the Master Block to transfer key data. The Slave controller can be assigned without being connected to a Master Block controller. Controls in the Slave Parameters dialog allow you to attach the slave to a master. If the slave is not attached to a master, a dialog is displayed listing the available master controls you can attach to. The Track View Pick dialog on page 3477 is displayed, listing the tracks you can add. Right-click a Slave controller in the Track View hierarchy to display the Slave Parameters dialog. The list window displays any assigned tracks. Block Controller | 3475 Interface Add New Link Adds a link. Displays the Add New Link dialog with available tracks. Click a track and then click OK. Remove Link Removes the highlighted link. Collapse Control Collapses the Slave controller to a standard controller. Existing keys are copied to the new controller. OK Closes the dialog. 3476 | Chapter 13 Animation Track View Pick Dialog (Block Controller) Track View ➤ Global Tracks ➤ Block Control ➤ Click and then right-click MasterBlock track. ➤ Properties ➤ Master Block Parameters dialog ➤ Add ➤ Track View Pick dialog Track View ➤ Global Tracks ➤ Block Control ➤ Double-click MasterBlock track. ➤ Properties ➤ Master Block Parameters dialog ➤ Add ➤ Track View Pick dialog 3ds Max opens this dialog when track selection is necessary; for example, when you click Add in the Master Block Parameters dialog on page 3474. Select tracks in the dialog that you want to include in a Block. Valid tracks are darker. Interface Cancel Exits the Track View Pick dialog with no changes. If tracks are highlighted in the Hierarchy list, then the Block Parameters dialog on page 3473 is displayed when you click OK, to allow you to set the duration for the Block. Block Controller | 3477 Boolean Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Select a track containing a float value in the Track View hierarchy ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Boolean controller Graph Editors ➤ Track View - Dope Sheet ➤ Select a track containing a float value in the Track View hierarchy ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Boolean controller The Boolean controller is similar to the On/Off controller on page 3553. By default, it is assigned to tracks (such as an object's Visibility track) that provide only binary on and off control. NOTE The Boolean controller is useful for controlling the Enabled state in the History Independent (HI) IK system on page 3730. It differs from the On/Off controller in two ways: first, each key has its own float value, either 1.0 or 0.0, signifying its on or off state. This enhancement leads to the second component that differentiates the Boolean controller from its On/Off cousin: the ability to lay down sequential keys without inadvertently changing the on/off state of any keys downstream. The Boolean controller can be assigned to any parameter that would normally be controlled by a float or boolean class controller, such as a sphere's Hemisphere or Smooth track. 3478 | Chapter 13 Animation Boolean controller key values can be changed in on of two ways: through Track View's Dope Sheet editor or through MAXScript. NOTE Although the Boolean controller displays a function curve in Track View's Curve Editor, it does not display keys. Key time and value must be changed in the Dope Sheet editor. Procedures To assign a Boolean controller and add keys: 1 Open Track View's Dope Sheet editor and select any track that would normally be assigned a float or boolean class controller. 2 Right-click and select Assign Controller. Pick the Boolean controller from the Assign Controller dialog, and click OK 3 On the main Track View toolbar, click anywhere on the selected track. (Add Keys) and then click New keys with a value of 0.0 are added. To change Boolean controller key values in Track View: 1 Open the Track View Dope Sheet editor and select a track that contains a Boolean controller. 2 Select any key and type 1.0 or 0.0 into the key value field at the bottom of the Track View dialog. NOTE Values greater than 0.0 will automatically be clamped to 1.0 To change Boolean controller key values via MAXScript: ■ Enter the following into either the MAXScript Listener or Mini Listener: . .keys[ ].value = where is the object containing the Boolean-controlled Boolean Controller | 3479 parameter (for example, $Sphere01, is the parameter itself (for example, Smooth, is the actual sequential number of the key in the key array, and is either 1.0 or 0.0. Color RGB Controller (Point3 XYZ Controller) Main toolbar ➤ (Curve Editor (Open)) ➤ Select a material color track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Color RGB Graph Editors ➤ Track View - Curve Editor ➤ Select a material color track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Color RGB The Color RGB controller splits the R, G, and B components into three separate tracks. You can use this controller with color tracks. By default, each track is assigned a Bezier Float controller. The Bezier Float controller is a single parameter controller. NOTE The Color RGB and the Point3 XYZ controllers are identical in function, except that the labels of their tracks are RGB and XYZ respectively. Point3 XYZ controllers can be used for functions such as Noise Strength, and the FFD modifier. 3480 | Chapter 13 Animation Procedures Example: To animate the background color of a rendered animation: 1 Open Track View - Curve Editor. 2 In the Track View hierarchy, expand the Environment track and then select Background Color. 3 On the Track View menu, click Controller ➤ Assign and select the Color RGB controller. 4 Expand the Background Color track. 5 On the Track View toolbar, click (Add Keys). 6 Add three keys along the red track at frames 0, 50, 100. 7 Right-click one of the keys to display the Bezier Float dialog. Change the key values to 0, 400, and 0, respectively. To see the background color change, move the time slider to the same frame as the key that is being adjusted and render the scene. To see the color change in an animated fashion, you must render the animation. Although you can set values over 255 in the value field, the actual color value stops at 255. Interface Bezier Float controller properties. See Bezier Controller on page 3462 for a description of these parameters. Color RGB Controller (Point3 XYZ Controller) | 3481 Euler XYZ Rotation Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Select a rotation track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Euler XYZ Graph Editors ➤ Track View Curve Editor ➤ Select a rotation track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Euler XYZ Select an object in the viewport ➤ Motion Panel ➤ Assign Controller rollout ➤ Select the rotation track. Euler XYZ is assigned as the default controller. The Euler XYZ Rotation controller is a compound controller that combines separate, single-value float controllers to specify an angle of rotation about each of the X, Y, and Z axes. Euler XYZ is not as smooth as quaternion rotation (used by the TCB Rotation controller), but it is the only rotation type that you can use to edit rotation function curves. The Euler XYZ Rotation controller assigns individual tracks to the X, Y, and Z components of position, rotation, and scale transforms. However, the controller assigns three keys (one for each axis), by default. To avoid this, you can use Customize User Interface on page 8837 actions to create explicit axis keys. These are available in the Main UI group ➤ Set Key Tools category. The Gimbal reference coordinate system on page 865 is intended for use with this controller. With other coordinate systems, rotating about one axis always changes at least two tracks. With Gimbal rotation, rotating about one axis changes only one track, making it easier to edit function curves. 3482 | Chapter 13 Animation Euler versus TCB Rotation Euler rotation offers several advantages over the TCB Rotation controller, which was the default rotation controller prior to 3ds Max 5. Euler rotation provides function curves, while TCB does not. Euler rotation allows for three separate curves that can be manipulated in the Curve Editor. TCB rotations can be controlled only with tension, continuity, and bias settings, making it difficult to keyframe and manipulate X, Y, and Z rotation independently. On the other hand, TCB rotation allows for rotation greater than 180 degrees on a given keyframe. If you turn on the Rotation Windup on page 3598 option, you can get rotation values greater than 360 degrees. TIP If you’re used to working with TCB rotation, you might find it difficult to adapt to the Euler workflow. In that case, you might want to assign TCB as the default rotation controller. See Specifying Default Controllers on page 3429. Euler Rotation and the Waveform Float Controller Because the Euler Rotation controller uses radians, unit adjustments should be made when other controllers are applied to Euler axes. For example, the Waveform Float controller has a default amplitude of 100 in the Characteristic Graph. When the Waveform Float controller is applied to an Euler axis, the default amplitude is 100 radians. This sets the Amplitude setting to 5729.598 (the number of degrees in 100 radians). Euler Rotation and the Noise Float Controller When a Noise Float controller is applied to an Euler axis, the default Strength setting is 286.479 or 50 percent of 10 radians in degrees (maximum deflection). Euler Rotation and the MIDI Motion Capture Controller When a MIDI Motion Capture controller is applied, the Parameter Scaling is taken in radians so that the Max. default setting of 1.0 results in an upper boundary of 57.2958 degrees. Procedures Example: To use Euler XYZ Rotation: 1 Create a box. 2 Go to the Motion panel and make sure the assigned rotation controller is Euler XYZ. If not, highlight the Rotation track in the Assign Euler XYZ Rotation Controller | 3483 Controller rollout list, click (Assign Controller), and then choose Euler XYZ in the Assign Controller dialog list. Click OK. 3 Turn on (Auto Key). 4 At the bottom of the PRS Parameters rollout, click Rotation. 5 On the Euler Parameters rollout, click the X rotation axis button, if necessary. 6 In the Create Key group of the PRS Parameters rollout, click Rotation. 3ds Max creates a rotational key. 7 Move the time slider to frame 50. 8 Again, in the Create Key group of the PRS Parameters rollout, click Rotation. 9 On the Key Info (Basic) rollout, enter 500 in the Value field. 10 On the Euler Parameters rollout, click the Z rotation axis button and then enter 90 in the Value field of the Key Info (Basic) rollout. Play the animation. The box rotates 500 degrees around the X axis and 90 degrees around the Z axis. In this case the X-axis rotation takes place first, and then Z-axis rotation. To use Euler XYZ with List controllers for local rotation control: You can mimic the local Euler rotation controller (available in earlier versions of 3ds Max) by combining a list controller with an Euler XYZ rotation controller. 1 Select the object for which you want to have local rotational control. For example, create a teapot and a dummy. 2 Animate the dummy. 3 Open the 3484 | Chapter 13 Animation Motion Panel. 4 On the Assign Controller rollout, select the Rotation transform, then assign a LookAt controller to teapot, with the dummy assigned as the LookAt Target. You now have an object with rotation controlled through the dummy. 5 With the Rotation: LookAt controller selected in the window, again click (Assign Controller) and pick Rotation List. Now there is a list controller, with the LookAt Constraint applied as the first rotation controller in the list. 6 Scroll down in the window and select the entry labelled Available, then again click Assign Controller. 7 Choose Euler XYZ. You now have a list controller with a LookAt Rotation as the first controller and an Euler XYZ as the second controller. 8 In the Rotation List rollout, highlight Euler XYZ in the Layers window, then click Set Active. 9 In the Euler Parameters rollout, change the Axis Order to ZYX. Now you can animate the rotation independent of the LookAt rotation control. It should now behave the same as the Local Euler controller that was available in versions 4 and earlier. Interface Euler parameters are displayed in the Motion panel. The Euler parameters rollout is displayed when Rotation is selected in the PRS Parameters rollout on page 3557. Axis Order Selects the order that rotations are calculated. The default is X,Y,Z order, where the X axis is rotated first. X Displays controller properties for X axis rotation angle. Euler XYZ Rotation Controller | 3485 Y Displays controller properties for Y axis rotation angle. Z Displays controller properties for Z axis rotation angle. Each axis uses its own independent controller using the float data type. For example, the X and Y Rotation axes could use Bezier Float controllers, while the Z rotation axis uses a Noise Float controller. Expression Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Expression Graph Editors ➤ Track View - Curve Editor ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Expression Animation menu ➤ Position or Scale controller ➤ Expression Interface on page 3490 Procedures on page 3487 The Expression controller lets you use mathematical expressions to control these animation aspects: object parameters such as length, width, and height; and transform and modifier values such as an object's position coordinates. You can constrain values by basing them on the controller values of other objects in the scene. An expression is a mathematical function that returns a value. 3ds Max evaluates the expression once for each frame of an animation, generating values that can change from frame to frame. 3486 | Chapter 13 Animation You can create and manage Expression controllers in Track View on page 3827 and on the Motion panel on page 8802. You can assign expressions to the following kinds of scene elements: Scene element Controller Creation parameters Any numeric creation parameter Transforms Position [X, Y, Z] X Rotation Y Rotation Z Rotation Scale [X%, Y%, Z%] Modifiers Any numeric modifier parameter (including creation parameters) Materials Colors [R, G, B] Any numeric material parameter NOTE Expression controllers can work only with the individual XYZ components of Euler rotation. You can't assign an expression to TCB Rotation or other kinds of rotation controllers. See also: ■ Expression Techniques on page 273 ■ Expression Controller Techniques on page 3492 ■ Trigonometric Functions on page 282 ■ Vectors on page 285 Procedures To assign a constant value to a variable: 1 Highlight the variable name in the Scalars or Vectors list. 2 Click Assign To Constant. 3ds Max opens a new dialog. 3 On the dialog, enter the new value (or, in the case of a vector, values) for the constant, and then click OK. Expression Controller | 3487 To assign a controller to a variable: 1 Highlight the variable name in the Scalars or Vectors list. 2 Click Assign To Controller. 3ds Max opens the Track View Pick subdialog, showing the track hierarchy. The dialog display is similar to the Track View hierarchy. 3 Highlight the track for the variable to use, and then click OK. Example: To create an expression that moves a sphere in a precise circle: 1 Create a sphere with Radius=15.0. You'll use Track View to create the Expression controller. 2 In the active viewport, right-click the sphere and click Curve Editor. 3 In the Hierarchy list, scroll down to the Objects branch and, if necessary, expand the Sphere01 branch so the sphere's Position track is visible. Click the Position label to highlight it. 4 In the Hierarchy list, right-click the Position label and then click Assign To Controller. 3ds Max opens the Assign Controller dialog. 5 Choose Position Expression from the list of controller types, and then click OK. 3ds Max opens the Expression Controller dialog. NOTE You can also open the Expression Controller dialog with Track View ➤ Controller menu ➤ Properties. 6 Replace the default expression by typing the following position expression in the Expression field: [100*cos(360*NT), 100*sin(360*NT), 0] The expression specifies a circular path for the sphere. NT is a variable that means normalized time. Movement based on NT happens exactly once per the active time segment, regardless of how many frames are in the animation. 7 Click Evaluate. 3488 | Chapter 13 Animation 8 Play the animation. The sphere moves in a circle about the world origin (0,0,0). The radius of the circular path is 100 units. Example continued: To change the radius of the circle: The two 100s in the position expression from the previous procedure specify the radius. To adjust the radius of the circle's path, create a symbolic variable to represent the radius. The variable has a constant value that is easy to edit. 1 Reopen Track View and the Expression Controller dialog if necessary. 2 In the Name field of the Expression Controller dialog, type radius Make sure Scalar is chosen, and then click Create. The variable name "radius" appears in the Scalars list of the dialog. 3 Click Assign To Constant. 3ds Max opens a dialog titled "radius". 4 Enter 150 in the Value field, and then click OK. The radius variable is now 150. Next you'll use the new variable in the expression. Example continued: To replace the literal value with the variable name: 1 In the Expression field, change 100 to radius in both places. The expression should now look like this: [ radius*cos(360*NT), radius*sin(360*NT), 0] 2 Click Evaluate. 3 Play the animation. The sphere moves in a circle about the world origin (0,0,0). The radius of the circular path is 150 units. Example continued: To make the sphere rotate about a box: 1 Create a box about 40 units square, and animate its position over three or four keyframes. Expression Controller | 3489 2 Select the sphere. 3 In the Name field of the Expression Controller dialog, enter boxposn. Choose Vector, and then click Create. The name "boxposn" is displayed in the Vectors list in the lower-left area of the dialog. Variable names are case sensitive; the variable name should be lower case. 4 Click Assign to Controller. The Track View Pick dialog is displayed. It shows the object hierarchy as it appears in the left side of Track View-Dope Sheet. 5 In the Hierarchy list, highlight the Position controller for Box01 and then click OK. 6 In the Expression field, add boxposn as an offset: [radius * cos(360*NT), radius * sin(360*NT), 0]+boxposn. 7 Click Evaluate, and then click Close. Play the animation again. The sphere moves in a circle around the box and follows the box wherever it moves. Interface 3490 | Chapter 13 Animation TIP You can resize the dialog by dragging an edge or a corner. Create Variables group Name The variable name. Scalar/Vector Choose the type of variable to create. Create Creates the variable and adds it to the appropriate list. You must enter a name and specify a type before clicking Create. Delete Deletes the highlighted variable in the Scalar or Vector list. Rename Renames the highlighted variable in the Scalar or Vector list. First highlight the variable in the list; this places the name in the Name field. Edit the name in the Name field, and then click Rename; the new name replaces the previous one in the list. Variable Parameters group Tick Offset Contains an offset value. A tick is 1/4800 of a second. If a variable has a non-zero tick offset, that value is added to the current time. Expression window Type an expression in the Expression box. The expression must be a valid mathematical expression. The result is either a three-value vector for a vector expression (position, scale, or point3) or a scalar value for a float expression. Description window Type text in this window to document an expression. For example, you can describe user-defined variables. _____ Function List Displays a list of Expression controller functions. In the list, p, q, and r represent scalar values or scalar expressions; V and W represent vector values or vector expressions. Save Saves an expression. Expressions are saved as files with a ..xpr file name extension. Load Loads an expression. Expression Controller | 3491 A saved expression does not include variable definitions or values. After loading the expression, you need to redefine them. Debug Displays the Expression Debug window. This window shows the values of all variables, and the value of the expression. When you change the variables or move the time slider, the Debug window automatically updates so you can interactively view what's happening with the expression. The values for frames (F), normalized time (NT), secs (S), and ticks (T) are also displayed. Evaluate Evaluate the expression for each frame in the animation. There is no explicit assignment (= or := operator) as in a conventional programming language; the assignment is implicit and takes place over time. If the expression has a syntax error, an error message is displayed. The error message is the first part of the expression itself. The last character in the error message is the point of the error. This is usually where the error actually is, unless the problem is that opening and closing parentheses (or the braces for vectors) don't match. In this case, evaluation can proceed further before the error is detected. Close Closes the Expression Controller dialog. Expression Controller Techniques This topic summarizes some useful expression techniques. See also: ■ Trigonometric Functions on page 282 ■ Vectors on page 285 Commonly Used Expressions This topic lists some expressions that you might find useful in situations when you animate. Circular Path [ Radius * cos(360*Time), Radius * sin(360*Time), 0 ] where Time is one of the predefined time variables such as NT or S. If you make the two Radius values unequal, you get an elliptical path. 3492 | Chapter 13 Animation If you specify a nonzero Z component, the path is no longer planar. Following Another Object [X, Y, Z] + Position where Position is the Position controller of the second object. The vector [X, Y, Z] can be an offset from the second object. (If it’s [0,0,0], the two objects occupy the same position.) It can also be a vector expression that specifies some movement in itself. Keeping an Object Between Two Objects (Position1 + Position2) / 2 where Position1 and Position2 are the Position controllers of two objects. The divisor 2 constrains the object to be halfway between the two other objects. Other values constrain the object to other locations. Bouncing Between Other Objects (1+sin(360*Time))/2 * (Pos1-Pos2) + Pos2 where Time is one of the predefined time variables such as NT or S; Pos1 and Pos2 are the Position controllers of two other objects. The subexpression (1+sin(360*Time))/2 is a value that oscillates between 0 and 1 over time. (Pos1-Pos2) is the vector between the two other objects. Multiplying the two and then adding Pos2 as an offset locates the object along this vector. Changing the Number of an Object’s Segments Based on Camera Distance This expression varies the number of segments in a cylinder based on the distance of a camera. It is assigned to the cylinder’s Segments creation parameter. if ( (length(Camera-Myself) > 35), 3 + (50*Height) / length(Camera-Myself), MaxSegs) where Camera is the position controller of the camera; Myself is the cylinder’s position controller; Height (= 70) is the cylinder’s height; MaxSegs (=100) is the maximum number of segments. Expression Controller | 3493 When the camera is closer, more segments make the cylinder smoother; when the camera is distant, the smoothing is less important and fewer segments render more quickly. The if() function returns its second argument if the first argument is true; otherwise, it returns its third argument. In this example, if the camera is more than 35 units away from the cylinder, the expression calculates the number of segments; if the camera is 35 units away or closer, the number of segments is the MaxSegs constant. The values in the second argument are chosen so that as the distance decreases toward the threshold of 35, the number of segments increases toward MaxSegs. The addition "3+" ensures that the cylinder always has at least three segments, even when the division rounds to zero (Segments is an integer). NOTE To the expression, it doesn’t matter whether the camera is moving, or the cylinder, or both. Layer Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Highlight a Layer controller track and right-click ➤ Properties Select layer-enabled object. ➤ Position/Rotation/Scale Motion Panel ➤ Parameters ➤ The Layer Controller dialog provides commands and options related to the Layer controllers in your scene, which the system automatically assigns for you when you enable animation layers on page 3496 on an object. Unlike other controllers, you cannot assign a Layer controller explicitly to a track; you first need to enable layers via the Animation Layers toolbar on page 8632 or the Controller menu of the Curve Editor. The Layer controller dialog has similarities to the List controller on page 3528 dialog. You can refer to it for complementary information on some of the options. 3494 | Chapter 13 Animation NOTE This section concerns itself with using layers in general animation; for information about using layers with biped animation, see Layers Rollout on page 5087. Animation Layers and Autodesk VIZ Although the Animation Layers feature is not available in Autodesk VIZ, VIZ can load and save objects that use this feature without any data loss. The Layer controllers continue to exist in VIZ, and can even be viewed and edited in Track View, although editing of the animation-layer data is not recommended if the objects are to be returned to 3ds Max. TIP For best results with objects that are to be brought into Autodesk VIZ, collapse on page 3511 any animation layers before saving the objects. Interface The dialog for a Layer controller depends on whether you’re using it with a position or scale track (left, following), or with a rotation track (right, following). Layer Controller dialog with position and scale tracks Layer Controller dialog with Rotation tracks TIP In general, for ease of use we recommend you use the work with layers using the Animation Layers toolbar on page 3496 rather than this dialog. List Window Displays all Layer controllers for the selected object, along with their respective weight value. Layer Controller | 3495 Set Active Determines on which layer your animation keys are set. The active controller is marked with an arrow in the list. TIP You can also switch between active layers from the drop-down list on the Animation Layers toolbar on page 3496 . Delete Deletes the highlighted controller. A confirmation dialog prompts you before. Copy Copies the highlighted controller's data and enables Paste. Paste Puts the copied content onto the highlighted controller. Weight Sets the effects of the highlighted Layer controller Average Weights When on, the weight values of all the controllers in the list. Available only when you assign a Layer controller to a position track. Default=off. Pose to Pose Enables blending among controllers in the list. Available only when you assign a Layer controller to a rotation track. Default=off. Refer to the List controller on page 3528 for more information on this option. Blend Euler As Quat When on, exposes the rotation axis order for blending the Euler controllers, which can prove useful for controlling gimbal on page 860. Available only when you assign a Layer controller to a rotation track. Default=off. X/Y/Z Order Sets the order in which the system calculates each rotation axis. Available only when Blend Euler As Quat is on. Disable Removes the Layer controller from the select object and reverts the animation keys on the Base Layer to the original controller. NOTE You have to delete or collapse (available on the Animation Layers on page 3496 toolbar) all layers above the Base Layer before you can disable it. Animation Layers (Layer Controller) Right-click an unused area of any toolbar. ➤ Animation Layers Animation menu ➤ Animation Layers Animation layers let you combine multiple animation tracks on the same object. You can use layers to store your animation experiments as you try 3496 | Chapter 13 Animation them out, turning them on or off to your liking. To enable, add, and control layers, use commands from the Animation Layers toolbar. Using animation layers is comparable to using both the List Controller on page 3528 and biped layer system on page 5087, while it is more flexible and simpler for the animators to use. Enabling Animation Layers When you enable animation layers on page 3509 for a selected object by turning them on in the Enable Anim Layers dialog, 3ds Max assigns a Layer controller on page 3494 to the animation tracks. When 3ds Max adds a Layer controller, it copies the original controller into its first layer (called Base Layer), preserving any animation data it may already contain. NOTE The Base Layer is not a new layer; it is on the same level as any other controller track. Layer Controller | 3497 NOTE If you layer-enable a controller but do not see a Layer controller appear in the Track View hierarchy window, open and close the Enable Anim Layers dialog again. The original controller before you enable animation layers The Layer controller nests the original controller in its Base Layer. To revert from a Layer controller to the original controller, click Disable Anim Layer on page 3511 on the Animation Layers toolbar. However, if your object contains more than one animation layer, you first need to either delete or collapse them before you can disable the Base Layer. TIP You can also disable a Layer controller through the Layer Controller dialog on page 3494. NOTE Turning off a track in the Enable Anim Layers dialog does not disable it. You can assign a Layer controller either at the leaf level of a controller track (such as a material's Diffuse Color track), or at a branch level (such as a Position track). The Layer controller affects a point 3 branch. 3498 | Chapter 13 Animation The Layer controller affects a leaf track. If the selected object already has a list controller track when you enable layers, that list controller is preserved within the Base Layer of the new Layer controller. The original List controller The new Layer controller nests the List Controller. NOTE You cannot nest a Layer controller within a List controller or another Layer controller. Working with Animation Layers The animation layers list works as follows (Refer to the procedure section below on page 3502 for common workflow examples): ■ The list displays all existing layers for the selected object. If the object isn't layer-enabled, “(Enable Layers)” appears instead. ■ By default, the Base Layer is the active layer when you first layer-enable an object. This means that it stores all future animation keys. ■ Every subsequent layer you create becomes the new active layer and appears after the previous one in the list. ■ When you select an object, its active layer is automatically chosen. When expanded, the drop-down list highlights the active layer. Layer Controller | 3499 ■ When you select multiple objects that have different active layers, “(Multiple Active Layers)” appears. The drop-down list displays all common layers (that is, with the same name); layers not common to all are unavailable. When you select multiple objects, layers not common to all are unavailable on the drop-down list. ■ You can turn on or off any layer in the expanded list by clicking its light bulb icon. Turning off a layer hides its animation without deleting it. To toggle a layer, click its light bulb icon. ■ You can include or exclude any layer from the output track by clicking its plus/minus sign icon. The output track contains the sum of all included layers. You can use this track to control other objects' tracks via MAXScript and parameter wiring. To toggle a layer's inclusion in the output track, click the plus/minus sign icon. 3500 | Chapter 13 Animation TIP For a procedure that demonstrates how to use this option, see Example: To link two objects with wire parameters using the Layer Controller's output track: on page 3505. ■ You can lock and unlock a layer by clicking its lock icon. If a layer is locked, you cannot manipulate any object properties that the layer controls (such as motion) when the layer is active. To toggle the ability to change animation in a layer, click the lock icon for the layer. Each animation layer has a global weight value which, when changed, impacts every controller within that active layer. Similar to the List controller on page 3528, you can animate a layer's weight and toggle the visibility of the resulting keys in the Track Bar using the Track Bar Filter menu on page 8665. When you add a new animation layer on page 3513, you can pick a name already in use by an existing layer; this links both layers' weight track, which is now instanced. Using Merged or XRef Scenes Containing Layers When you merge on page 8101 or externally reference on page 7999 a source scene (or object) containing layers into your master scene, the system adds the incoming layers to the master scene's layer list. Layer Controller | 3501 NOTE All animations within an incoming XRef object or scene is preserved within an XRef controller on page 3602. You cannot edit them unless you merge the XRef object or XRef controller into your master scene. If a layer name from the merged or XRef scene matches one from the master scene, both layers become synchronized ; that is, the weight track is instanced to both of them. Collapsing Layers Collapsing a layer merges keys if any of these conditions are met: ■ the two controllers are of similar types (Bezier, Float, TCB, etc.). ■ they have the same tangent type. ■ the Blend Euler As Quat option of the Layer Controller dialog on page 3494 is turned off. However, many factors can cause a collapse per frame (that is, setting a key on every frame): ■ If one controller type is TCB (Quaternion) and the other is Bezier (Euler). ■ If the Blend Euler As Quat option of the Layer Controller dialog on page 3494 is turned on, and both rotation controllers are Euler-driven. ■ If the Blend Euler As Quat option of the Layer controller is turned off, and both rotation controllers are Euler-driven, but both have different tangent types. ■ If either controller is non-keyable. Procedures: Integrating Animation Layers in a Workflow The following sequence of procedures illustrate how you can use animation layers in your workflow to quickly create and combine different animation tracks together for the same object. You should be familiar with the basics of animation and key creation before going through the following steps. Example: To enable layers: 1 Create a teapot, and then turn on (Auto Key) and move the teapot at frames 15 and 30 to create a short animation. 3502 | Chapter 13 Animation By default, this also creates a key at frame 1. Your start key might be at frame 0 instead; for the purposes of this example, it’s immaterial. 2 On the main toolbar, choose Animation ➤ Animation Layers. This opens the Animation Layers toolbar. 3 Make sure the teapot is selected, then click (Enable Anim Layers). 4 On the Enable Anim Layers dialog, turn on only the Position track, and click OK. The new Layer controller now nests your teapot's animation. Example: To add a layer and change its controller type: This continues from the previous procedure, in which you enabled layers for an animated object. 1 On the Animation Layers toolbar, click (Add Anim Layer). 2 On the Create New Animation Layer dialog, enter "Noise Layer” as name, and click OK. The teapot now has two animation layers, each of which can contain a separate animation that you can control independently of the other. 3 Right-click the teapot, and from the context menu choose Curve Editor on page 3841. In the hierarchy list on the left, scroll down to the Teapot01 object. Expand the hierarchy as follows: Teapot01 ➤ Transform ➤ Position. Under Position you’ll see Base Layer, Noise Layer, two Weight Tracks, and Output 4 Highlight Noise Layer and right-click it. 5 From the context menu, choose Assign Controller and pick a Noise Position controller. 6 This opens the Noise Controller dialog. Leave the options as they are and close the dialog. Two different controllers are now driving the teapot's position. Layer Controller | 3503 7 Play the animation to see the teapot jitter as it moves along the original animation path. Example: To turn a layer on and off: This procedure discusses turning existing layers on and off. It continues from the previous procedure. 1 On the Animation Layers toolbar, expand the drop-down list. The list currently contains both the original base layer and Noise Layer from the previous procedure. 2 Move your cursor across the list and click the light bulb icon next to Noise Layer. This turns off the layer and hides the Noise controller track from the rest of the tracks. 3 Drag the time slider and notice how the teapot does not shake anymore. 4 Try turning on and off both layers in the list to see the results. When finished, turn both layers on. Example: To lock and unlock a layer: This procedure discusses locking and unlocking layers. It continues from the previous procedure. 1 If the Base Layer isn’t already active, on the Animation Layers toolbar, expand the drop-down list and choose the Base Layer. 3504 | Chapter 13 Animation 2 Make sure (Auto Key) is on, then go to frame 20 and move the teapot to set a new animation key. Now when you play the animation, the new key is included. 3 On the Animation Layers toolbar, expand the drop-down list. On the list entry for the Base Layer, click the lock icon so it appears to be locked. 4 With the Base Layer still active, try to move the teapot. You can’t, because the layer is locked. This protects the animation on that layer from inadvertent changes. 5 Open Track View and find the Position ➤ Base Layer track for the teapot and expand it. Highlight the X Position track (or Y Position or Z Position), then right-click the highlighted track and from the top-left quadrant of the quad menu, choose Unlock. The “(Locked)” text no longer appears after the Base Layer tracks. 6 Go back to the Animation Layers dialog and check the Base Layer lock icon. It is no longer locked. This shows that locking and unlocking a track in an animation layer affects all tracks controlled by that layer. Example: To link two objects with wire parameters using the Layer Controller's output track: This procedure refers to a simple way to use the output track to control a cube's position through wire parameters. It continues from the previous procedure. 1 Make sure both layers listed on the Animation Layers toolbar are on, as indicated by the light bulb icons. 2 Create a box next to the teapot. 3 Right-click it and choose Wire Parameters from the quad menu. Layer Controller | 3505 4 Navigate through the pop-up menu and choose Z Position. 5 A dashed line appears. Click the teapot and choose the X Output Track from the pop-up menu. 6 3ds Max opens the Parameter Wiring dialog on page 3647, with the two parameters highlighted. Click the left directional arrow button to control the cube's position using the teapot's animation. 3506 | Chapter 13 Animation 7 Click Connect and close the dialog. Drag the time slider and notice how the cube's position in Z matches the teapot's layered animation in X. 8 Select the teapot and expand the layer list from the Animation Layers toolbar. 9 Click the plus-sign icon next to the Noise Layer. This excludes the layer from the output track. 10 Drag the time slider again. The cube doesn't move erratically like the teapot. Try including and excluding both layers in the list to see the results. Layer Controller | 3507 Example: To copy and paste a layer and update an active layer: This procedure continues from the previous procedure and focuses solely on the teapot. 1 Make sure the teapot is selected and choose Base Layer from the animation layers list to make it active. 2 On the Animation Layers toolbar, click this layer and the data it contains. (Copy Anim Layer) to buffer 3 Click (Paste New Layer). On the Rename Anim Layer dialog, enter “Changes on Z axis” as name and click OK. This new layer becomes the active layer. 4 While frames 5 and 20. (Auto Key) is on, move the teapot on the Z axis at This animation update only affects the position tracks of the active layer. Example: To collapse a layer: This procedure continues from the previous procedure. 1 In the animation layers list, turn off Noise Layer. Then choose Changes on Z axis to make it active. 2 On the Animation Layers toolbar, click (Collapse Anim Layer). This merges the layer onto the next available one (Base Layer), skipping Noise Layer, which is off. 3508 | Chapter 13 Animation 3 Turn Noise Layer back on in the list. Interface Enable Anim Layers Assigns a Layer controller to tracks you specify. NOTE Enabling animation layers does not create a new layer, but rather transfers all chosen controller tracks to the Base Layer. This opens the Enable Anim Layers dialog, which, similar to the Set Key Filters dialog on page 3406, lets you turn on tracks you want to assign a Layer controller to. The Position, Rotation, and Scale tracks are on by default. You can still animate attributes other than those enabled on this dialog, but they are not subject to control by the Layer controller. NOTE Once you turn on a track, you can turn it off only by disabling the respective Layer controller. If you enable animation layers for an object that has animation loaded in the Motion Mixer on page 4036, the following dialog opens: Layer Controller | 3509 Remapping is necessary in this case because enabling Animation Layers causes the full controller names to change. For example, if a sphere's X position track before enabling Animation Layers is Sphere01\Transform\Position\X Position, then after enabling animation layers it might change to Sphere01\Transform\Position\Base Layer\X Position (the layer name is inserted into the controller name). If you accept the default dialog option, to create the new map files automatically, 3ds Max automatically generates any necessary XMM files on page 4147 with the same names as the XAF files and places them in the same directory as the original map files, or if no map files exist, in the same directory as the XAF files. Thereafter, when you open this scene file the map file is loaded automatically and no additional mapping is required. However, if you turn off Automatically Create The New Map Files? before clicking OK, no map files are generated, and the next time you open the scene file you're prompted to create map files. Without map files, the animation doesn't appear correctly. Select Active Layer Objects Selects all objects in your scene containing the active layer. [animation layer list] Displays all existing layers for the selected object. Each layer in the list contains toggle icons to turn it on or off, as well as include or exclude it from the controller's output track. See Working with Animation Layers on page 3499 for more details. [weight] Sets a global weight for the active layer, which affects If the active layer is shared by several objects (ex. Base Layer), changing its weight affects them all. Anim Layer Properties Opens the Layer Properties dialog on page 8548, which lets you set global options for layers. 3510 | Chapter 13 Animation Add Anim Layer Opens the Create New Animation Layer dialog on page 3513, which lets you specify settings related to the new layer. This adds a new layer to every track that has a Layer controller. Delete Anim Layer Removes the active layer, along with the data it contains. A confirmation dialog prompts you before deletion. NOTE You cannot delete the Base Layer. Alternatively, Click Disable Anim Layer on page 3511 to removes the Layer controller entirely. Copy Anim Layer Copies the active layer's data and enables Paste Active Anim Layer and Paste New Layer. Paste Active Anim Layer Overwrites the active layer's controller type and animation keys with the copied data. NOTE You cannot paste a copied layer from one object onto another'. Paste New Layer Creates a new layer with the copied layer's controller type and animation keys. Opens the Rename Anim Layer dialog, in which you can use the default layer name or enter your own. Collapse Anim Layer Collapses the active layer to the one below it, as long as it is not turned off. If it is, the collapsed layer cycles through the list until it finds an available layer. NOTE Collapsing a layer does not remove the Layer controller. Click Disable Anim Layer to remove it. Disable Anim Layer Removes the Layer controller from the selected object. The animation keys on the Base Layer revert to the original controller. A dialog prompts for confirmation. NOTE Before you can disable the Base Layer, you have to delete or collapse all layers above. Layer Controller | 3511 Layer Properties Dialog (Layer Controller) Right-click an unused area of any toolbar. ➤ Animation Layers ➤ Create New Animation Layer This dialog provides global options in regards to collapsing animation layers on page 3496 and isolating the active layer from the rest. Interface Collapse To Sets the controller type for when you collapse a controller track onto a non-keyable controller track, such as a Noise controller. ■ Bezier or EulerOn collapse, the resulting track is assigned either a Position XYZ controller (for a Position track), a Bezier Scale controller (for a Scale track), or an Euler XYZ controller (for a Rotation track). ■ Linear or TCBOn collapse, the resulting track is assigned either a Linear controller (for Position and Scale tracks) or a TCB controller (for a Rotation track). ■ DefaultOn collapse, the resulting track is assigned a default controller based on the original controller track. Refer to Specifying Default Controllers on page 3429 for more details. Per Frame Collapse Range Sets the range to cover when you collapse a layer. 3512 | Chapter 13 Animation NOTE For best results, turn off Collapse to Keys Only, When Possible; otherwise, based on the collapsed layer's controller and tangent type, the system might collapse to keys instead. ■ CurrentWhen chosen, a key is set on every frame of your scene's animation range when you collapse a layer. ■ RangeWhen chosen, a key is set on every frame of the animation range you specify. Start/End Sets the collapse range boundaries. Collapse To Keys Only, When Possible When you collapse a layer, the keys are merged only when the respective controllers are of the same type, same tangent types, and Blend Eulers As Quats is on. Default=on. Mute Layers Above Active Layer When on, you see the effects of the layers only up to the active layer, inclusively. This is similar to the Visible Before/After options of the biped Layers rollout on page 5087. Create New Animation Layer Dialog (Layer Controller) Right-click an unused area of any toolbar. ➤ Animation Layers ➤ Create New Animation Layer This dialog lets you choose both the name and controller type of the new layer. Interface Layer Name Lists all available layers in your scene. You can use the default name, enter a custom name, or pick one from the list. If you choose an existing layer from the list, it inherits that layer's name and weight properties. Refer to Working with Animation Layers on page 3499 for more details. Layer Controller | 3513 TIP You can rename a layer after it is added from the Layer Controller dialog on page 3494. NOTE All animation layer names persist in the Layer Name list even after you delete their host object. Resetting the scene clears the list. [controller type] Determines the controller type to assign to each track within the animation layer. ■ Duplicate the Active Controller TypeThe new layer's controller type becomes the same as the one from the active layer, on a per-track basis. For example, if a track in the active layer has a Noise controller, adding a new layer copies that controller type. ■ Use Default Controller TypeWhen chosen, the new layer's controller does not take into account the active layer's controller type and instead uses the original track's type. Limit Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Highlight a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Float Limit Graph Editors ➤ Track View - Curve Editor ➤ Highlight a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Float Limit The Limit controller lets you specify upper and lower limits to available controller values, thus restricting the potential value range of the controlled track. For example, in a character rig you could use this to restrict rotation on finger joints so the fingers can't bend backward. Basically, once a track is limited, and the limit is active, you can't set a value for the track beyond the limit. You can apply a Limit controller to any other type of controller; the limited controller (that is, the original controller) then appears as a child of the Limit controller in the Track View hierarchy. The Limit controller lets you specify upper and lower limits to available controller values, thus restricting the potential value range of the controlled track. For example, in a mechanical assembly you could use this to restrict 3514 | Chapter 13 Animation rotation on a part so that it doesn't rotate beyond its standard range of motion. Basically, once a track is limited, and the limit is active, you can't set a value for the track beyond the limit. You can apply a Limit controller to any other type of controller; the limited controller (that is, the original controller) then appears as a child of the Limit controller in the Track View hierarchy. Because the Limit controller doesn't change the original controller, you can easily switch back and forth between the original and the limited animation by toggling the limits. But if you collapse on page 3884 the Limit controller, the result is the limited animation, and the original animation is no longer available. Use of the Limit controller makes it faster to set up and create animation. It eliminates the need for expressions or scripts to do the same thing, this improving the ease with which you can set up automation in hierarchies and rigs, creating effects such as avoiding collision, FK joint limits, etc. For example, a Technical Director might want to assign limits to float values that animators will adjust to make posing easier, enforce standards, or prevent inconsistencies and mistakes. A TD could use limits for: ■ light intensity ■ finger rotation ■ position extents for sliding drawers ■ camera field-of-view ■ limiting patch resolution to that supported by the game engine Character riggers can use limits to create complex relationships or shortcuts in rigs. Examples include: ■ Wire wrist-twist bones to the rotation of the hand, but limit the rotation of the wrist-twist or hand to stop short of any flipping that might occur. ■ Prevent unnatural translation of a spline IK helper by causing limit values for its local position tracks to react to the angle or distance of the helper from surrounding helpers. ■ React to when IK is disabled, and match the limits of the solver in FK. ■ Limit the position of the IK chain swivel-angle target for the knee so that it can never go behind the character. That is, the target is linked to character’s root. Limit Controller | 3515 Use Cases Following is a brief list of examples of specific uses for the Limit controller: ■ Select the Y Rotation tracks of all finger bones in a character's hands and assign a Limit controller. Use Set Key mode to pose the fingers at the extremes of their ranges of motion and then use the right-click menu on page 3525 ➤ Set Upper/Lower Limit commands to limit the fingers' motion. NOTE Limits are included for Set Key via the Other category. ■ You apply a Noise controller to the X Rotation track of a window shutter object to make it rattle, but the object intersects the building at the lower end of its motion range. Apply a Limit controller to the track and set the Lower Limit value to prevent the intersection. ■ Following from the previous example, say the wind tears the window shutter from the building at frame 100. If the Noise controller is in a Float List with a Bezier Float, you can weight the noise to 0 at frame 100, when the shutter is torn from the building by the wind, at which point the animator will key the animation. Limits are unnecessary after frame 100. At frame 99, you'd use Set Lower Limit. Then, at frame 100, you'd edit the Lower Limit value to set the limit to much lower, essentially removing the limit. Finally, you would set keyframes to animate its movement past frame 100. Limitations of the Limit Controller It's important to be aware of the following limitations of Limit controllers: ■ Limit controllers do not limit IK joints. All IK solvers use their own limits, and ignore Limit controllers. Interactive IK uses the current controllers, but it also has its own limits, so using Limit controllers with interactive IK will produce unpredictable results. ■ The Limit controller currently supports only Float controllers. Thus, the Limit controller is currently available only under the name Float Limit. ■ Upper and lower limits values are expressed in the same units or coordinates as those used by the limited controller. Thus, for example, Float limits on an X Position track are in local coordinates, not in global coordinates. 3516 | Chapter 13 Animation Procedures Example: To use the Limit controller: 1 Start with an animated object, and open the Curve Editor. In this example, the teapot position was animated on the X axis between extents of about –45 to 40, and on the Y axis between extents of about –80 and 54. 2 Assign the Float Limit controller to a track. In this example, we'll assign it to the X Position track. This opens the Float Limit Controller dialog, where you can set limits and other values, but you might find it easier to do this interactively, so for now just accept the defaults by closing the dialog. The track retains its original name (X Position, in this example), but the icon has changed to indicate that it's now a Limit controller, and is expandable (see illustration in following step). 3 Expand the track. Limit Controller | 3517 The hierarchy contains a child track, named Limited Controller, and a new, expandable child branch named Limits. 4 Click the X Position track and then the Limited Controller track to compare them. Because the original X-axis movement falls within the default limits, the two tracks are identical. 5 Scrub the animation until the X-axis position is where you want to set a limit. In this example, the position is about -20, where we'll set a lower limit. 6 Highlight the X Position track, and then right-click and from the right-click menu choose Limit Controller ➤ Set Lower Limit. 3518 | Chapter 13 Animation The graph curve is now clipped below the lower limit. When you scrub the animation, the object doesn't move beyond that position. 7 Again scrub the animation, stop where you want to set the upper limit, right-click the X Position track, and choose Limit Controller ➤ Set Upper Limit. Limit Controller | 3519 In this example, we've set it at about 13. The graph curve is now clipped above the upper limit and below the lower limit. The resulting motion is likewise constrained. 8 Scrub the animation. The motion on the X axis is limited at both extremes; wherever the object originally moved beyond the limits, it now behaves as though it's hitting a wall. 9 Again compare the two tracks. The Limit Controller (X Position) track clearly shows the upper and lower clipping, while the Limited Controller track shows the original motion. The original motion still exists as the Limited Controller track; you can restore it temporarily by toggling the Limit controller. 10 Highlight the X Position track, and then right-click and choose Limit Controller ➤ Toggle Limit. Now, when you scrub the animation, the object moves as before. 11 Choose Limit Controller ➤ Toggle Limit again to restore the limits You can copy the Limit controller in two ways: the limits only, or the limits and motion combined. First, you'll copy the limits only. 12 Highlight the Y Position track and note how its curve differs from that of the X Position track. 3520 | Chapter 13 Animation 13 Highlight the X Position track, and then right-click and choose Limit Controller ➤ Copy Limit Only. 14 Highlight the Y Position track, and then right-click and choose Limit Controller ➤ Paste Limit Only. When the Paste dialog opens, click OK to confirm the paste as a copy. Now the Y Position track is also limited, using the same extents as the X Position track, but retaining its original underlying motion. To verify this, compare the Y Position track with its child Limited Controller track. Next, you'll copy the entire limited X Position track to the Z Position track, including motion and limits. The Z Position track currently is not animated. 15 Highlight the X Position track, and then right-click and choose Copy. 16 Highlight the Z Position track, and then right-click and choose Paste. Compare the X and Z Position tracks and both their child Limited Controller tracks. Each corresponding pair of curves is identical. The motion appears as though the object is hitting the inside edge of a box. Finally, we'll cover the Smoothing Buffer settings. By default, sharp corners are created wherever a curve is limited, causing abrupt changes in motion. You can smooth off these corners with the Smoothing Buffer parameters, resulting in more natural-looking motion. 17 Highlight the X Position track, and then right-click it and choose Properties. This reopens the Float Limit Controller dialog. 18 Use the Upper Limit group ➤ Smoothing Buffer spinner to increase the Smoothing Buffer value as far as it can go. As you increase the value, the corners of the upper limit on the graph become smoother. Limit Controller | 3521 Note that there's an upper limit to this value; in this case, it's 34.973. This limit is determined by the values of the other three settings on the dialog. 19 Try increasing the Lower Limit group ➤ Smoothing Buffer. It's not possible with the upper smoothing value at its maximum. 20 Decrease the upper smoothing value, and then increase the lower smoothing value. Now you get smoothing at both the upper and lower limits. Interface The Limit Controller interface comprises the Float Limit Controller dialog and several-right-click menu items. 3522 | Chapter 13 Animation Float Limit Controller dialog The Float Limit Controller dialog opens when you first assign the Limit controller, or when you right-click a highlighted Limit-controller track and choose Properties. Enable Toggles the Limit controller. When off, the original values of the limited track are in effect. When on, the original values are limited by the Upper Limit and Lower Limit values. NOTE You can enable and disable all Limit controllers in the scene simultaneously with the Toggle Limits command, available from the 3ds Max Animation menu. If some Limit controllers are on and the rest are off, Toggle Limits turns them all on. Upper Limit Group Enable Toggles the upper limit set by the controller. When off, no upper limit is imposed. Default=on. [Upper Limit value] The highest value permitted by the Limit controller. Any values above this value in the original controller are clipped; that is, they're set to this value, unless smoothing is in effect. Default=1000.0. You can animate this value via keyframing and other standard methods, and manipulate this animation in Track View via the Upper Limit track in the controller's Limits branch. Limit Controller | 3523 Smoothing Buffer Specifies a smoothing value, so that clipped values at the beginning and end of a clipped range gradually increase and decrease instead of leveling off abruptly. The maximum total smoothing is determined by the Upper and Lower Limit values. (Upper Limit ➤ Smoothing Buffer value) + (Lower Limit ➤ Smoothing Buffer value) cannot exceed this total. For the smoothest possible results at the upper and lower extents of the clipping, set either Smoothing Buffer value to the maximum amount, and then back it off to half that value and set the other Smoothing Buffer to the same amount. You can animate the Smoothing Buffer value via keyframing and other standard methods, and manipulate this animation in Track View via the Upper Smoothing track in the controller's Limits branch. Lower Limit Group Enable Toggles the lower limit set by the controller. When off, no lower limit is imposed. Default=on. [Lower Limit value] The lowest value permitted by the Limit controller. Any values below this value in the original controller are clipped; that is, they're set to this value, unless smoothing is in effect. Default=-1000.0. You can animate this value via keyframing and other standard methods, and manipulate this animation in Track View via the Lower Limit track in the controller's Limits branch. Smoothing Buffer Specifies a smoothing value, so that clipped values at the beginning and end of a clipped range gradually decrease and increase instead of leveling off abruptly. The maximum total smoothing is determined by the Upper and Lower Limit values. (Upper Limit ➤ Smoothing Buffer value) + (Lower Limit ➤ Smoothing Buffer value) cannot exceed this total. For the smoothest possible results at the upper and lower extents of the clipping, set either Smoothing Buffer value to the maximum amount, and then back it off to half that value and set the other Smoothing Buffer to the same amount. You can animate the Smoothing Buffer value via keyframing and other standard methods, and manipulate this animation in Track View via the Lower Smoothing track in the controller's Limits branch. 3524 | Chapter 13 Animation Limit Controller right-click menu To access the Limit Controller right-click menu, highlight a Limit Controller track in the Track View hierarchy, and then right-click the track and move the cursor to the Controllers quadrant ➤ Limit Controller menu item. NOTE After using Copy Limit Only on a Limit controller track, you can apply a new Limit controller with the same limits to any track by invoking Paste Limit Only. Toggle Limit Turns the Limit controller on and off. This is the same as the Enable check box on page 3523 on the Float Limit Controller dialog. Set Upper Limit Sets a value/key in the Upper Limit track at the current frame equal to the value at the current frame of the limited track. If there is only one key, the value of the limit is constant over time. Limit Controller | 3525 Set Lower Limit Sets a value/key in the Lower Limit track at the current frame equal to the value at the current frame of the limited track. If there is only one key, the value of the limit is constant over time. Remove Limit Deletes the Limit controller, restoring the original controller without limits. Copy Limit Only Copies only the Limit values and ignores the limited controller of the highlighted track. Paste Limit Only Applies only the copied Limit values, or adds a Limit controller with the copied values if one doesn't exist, while retaining the values of the original limited track. As with pasting copied controller tracks, you can paste the Limit values as a copy or an instance of the copied Limit controller, with the option to replace all instances of the paste target. Linear Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Linear Graph Editors ➤ Track View - Curve Editor ➤ Select a track in the Track View hierarchy. ➤ Track View toolbar ➤ Controller menu ➤ Assign ➤ Linear Animation menu ➤ Position, Rotation or Scale controllers ➤ Linear The Linear controller interpolates between animation keys by evenly dividing the change from one key value to the next by the amount of time between the keys. Linear controllers do not display a properties dialog. The only information stored in a linear key are the time and animation values. 3526 | Chapter 13 Animation Use Linear controllers whenever you want a very regular, even transition from one key to the next. For example, use a Linear controller for: ■ A color parameter to change from one color to another at a constant rate of change. ■ Transforms to produce mechanical, robot-like motion. Procedures To assign a Linear controller: 1 Select an animated object. 2 On the Motion panel ➤ Parameters ➤ Assign Controller rollout, select the Position track in the list window. 3 Click (Assign Controller), and then select Linear Position in the Assign Controller dialog. The animated object has a mechanical motion. You can also assign this controller in Track View. Interface No Properties dialog is available for Linear controllers. You can, however, move keys in Track View to change the animation. Time Change linear key time. Move keys horizontally in Track View Edit Keys or Function Curves mode. Value Change linear animation values by moving keys vertically in Track View Function Curves mode, change the parameter value in the viewport with Auto Key on. Linear Controller | 3527 List Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ List Graph Editors ➤ Track View - Curve Editor ➤ Select a track in the Track View hierarchy. ➤ Track View toolbar ➤ Controller menu ➤ Assign ➤ List Select an object in the viewport ➤ Motion panel ➤ Assign Controller rollout ➤ Highlight either Position, Rotation or Scale controller ➤ (Assign Controller) ➤ Choose Position List, Rotation List or Scale List. The List controller combines multiple controllers into a single effect. It is a compound controller with tools for managing how its component controllers are calculated. Controllers are evaluated in top-to-bottom order. In addition, you can specify a Weight setting for each controller in the list to determine its relative influence. When you assign a List controller to a parameter, the current controller is moved one level below the List controller; it becomes the first controller in the list. A second parameter, named Available, is added below the List controller. This is an empty placeholder for the next controller you add to the list. By default, each listed controller's Weight setting is set to 100.0. This setting can be changed to increase or decrease the effect the controller has on an object. When you assign a controller using the Animation menu, a list controller is automatically assigned as a default, with the chosen controller placed first in 3528 | Chapter 13 Animation the list. This behavior differs from when you assign a controller in the Motion Panel or Track View, where only the specified controller is assigned. You can animate List controller weights to achieve the equivalent of a non-linear animation system. Each list controller track can hold different values from frame to frame that you can turn on or off, or blend between by animating the weights. Wired and Expression-based Animation The List controller is particularly useful when employing parameter wiring or expressions to animate members of a hierarchy. If an object has only one controller, animating it (or the first controller in a list) via wiring or an expression always uses the parent object’s coordinate system, which, if the object has no parent, is the World coordinate system. However, most such situations call for animation in the object’s Local coordinate system. The latter requires wiring to (or using an Expression controller as) the second controller in a controller list. TIP You can use the Freeze Transform on page 8648 command to apply a List controller to multiple objects simultaneously, which is not possible with the standard Assign Controller feature. “Freezing” an object’s transform creates a two-controller list of which the second controller is the default for its transform, so it then becomes easy to wire to the second controller. Procedures Example: To use the List controller to combine two controllers: 1 Create a box, and then turn on (Auto Key on page 8679). 2 Create a simple animation containing three position keys. 3 On the Motion panel ➤ Parameters ➤ Assign Controller rollout, click the position track to highlight it. 4 Click (Assign Controller). 5 Click Position List on the Assign Position Controller dialog. Click OK. 6 Click the plus sign in the Position track to expand the track. A Position XYZ track and a track labeled Available are now visible. List Controller | 3529 7 Click the track named Available and then click the Assign Controller button. 8 Choose Noise Position in the Assign Controller dialog, and then click OK. The Noise Controller dialog opens. 9 Play the animation. The box follows the original animated path while vibrating randomly. Experiment with different Weight settings for each controller and see the results. Interface Motion panel > Parameters > List rollout List Window Displays all the controllers in a list, with evaluation order from top to bottom. The controller at the top of the list is evaluated first; lower controllers are layered onto the result of higher controllers. Set Active Determines which controller is affected by interactive changes in the viewport. The current active controller is marked with an arrow in the list. 3530 | Chapter 13 Animation For example, you have an object using a Position List, with Noise Position and Bezier Position in the list. The Bezier Position controller handles the general motion path of the object, while the Noise Position controller adds a random shake to the motion. ■ If Bezier Position is the active controller, you can freely move the object in the scene. ■ If Noise Position is the active controller, you cannot move the object because Noise is not an interactive controller. Delete Deletes the selected controller. Cut Removes the selected controller and stores it in a temporary clipboard. The clipboard contents are only held until you paste the controller, close the List Controller dialog, or exit the Motion panel. Paste Puts the contents of the controller clipboard in the position above the selected controller. The clipboard is empty after pasting. Weight Exaggerate or minimize the effects of a controller by increasing or decreasing its weight value. Default=100.0. Average Weights When on, the weight values of all the controllers in the list are averaged. Available only for the Position List and Scale List controllers. Default=off. Pose to Pose Enables blending among controllers in the list. Available only for the Rotation List controller. Default=off. When off, the List controller weights each rotation individually and adds up the weighted rotations for the final effect. You animate by stacking layers on top of layers, and then weighting in and out their effect. This is the default behavior. When on, each pose is blended with the results from the previous controllers in the list. This method is not additive, but is instead true pose-to-pose blending. Adjusting the weight of a controller in the list will blend to and from that pose (controller in list). If the last weight is 100.0, then adjusting the weights of the previous poses in the list won't have any effect because the last pose has full effect. This is a stack-based approach that is best used for nonlinear animation (NLA) effects. You can paste motion clips or even single-frame poses onto new layers and use the weights to blend the poses together. Editable Name Field Select one of the controllers in the list window of the Controller list, and then enter a descriptive name in this field. This field lets you rename the controller so it's easier to identify. List Controller | 3531 Local Euler XYZ Rotation Controller This controller is no longer available. You can, however, still edit objects that were assigned this controller in previous versions. The Local Euler Rotation controller is similar to the Euler XYZ Rotation controller on page 3482, but the angles are with respect to the rotated object's local coordinate system. With the standard Euler Rotation controller, angles are with respect to parent coordinates. Parameters for this controller are displayed in the Motion panel. The Local Euler XYZ Rotation controller has three rotation tracks to control rotation on the X, Y, and Z axes. Setting an X axis rotation key will not create keys in the Y and Z tracks on the same frame; each track can be keyed independently. The rotation order of the axes is set in the Motion panel. Interface The Local Euler parameters are displayed in the Motion panel. Euler Parameters rollout This rollout is displayed when you select Rotation in the PRS Parameters rollout on page 3557. Axis Order Sets the order that rotations are calculated in the list. The default is X,Y,Z order, where the X axis is rotated first. X Displays controller properties for X axis rotation angle. Y Displays controller properties for Y axis rotation angle. Z Displays controller properties for Z axis rotation angle. Each axis uses its own independent controller using the float data type. For example, the X and Y rotation axes could use Bezier Float controllers, while the Z Rotation axis uses a Noise Float controller. 3532 | Chapter 13 Animation Look At Controller Create or select an object that contains a Target component, such as a target spotlight or camera. ➤ Motion panel ➤ Look At Parameters rollout The Look At controller is automatically assigned as a transform animation controller upon creation of objects that contain targets, including Target Camera, targeted lights (including IES Sun/Sky) and the Tape helper. It cannot be assigned by the user. To assign the equivalent of a Look At controller to an object, use a LookAt constraint on page 3619. NOTE A targeted object's pitch and heading are adjusted by moving the target, so the only orientation setting that can be controlled directly by the user is Roll, or bank. Example: To prevent flipping of targeted objects during rotation: 1 Add a Target Camera object on page 5917. 2 Activate the Move tool and use the coordinate display on page 8669 to position the camera and target at 0,0,0 and 80,0,0, respectively. 3 Add a Dummy object on page 2871 and position it at 0,0,0. 4 Use (Select And Link) to link the camera to the dummy, and then link the camera target to the dummy. At this point, the dummy is parent to both the camera and its target. 5 Rotate the dummy about its Y axis, and watch the camera. As the target passes through the zenith and nadir of its orbit, the camera flips. 6 Select the camera and go to the Motion panel. On the Look At Parameters rollout, turn on Use Target As Up Node. Look At Controller | 3533 7 Again, rotate the dummy about its Y axis. The camera no longer flips. Interface After you create or select an object that contains a Target component, you can access the object's Look At properties on the Motion panel. In this rollout you can change the target, create and delete animation keys, set the axis, and adjust other, related parameters. Create Key Sets a position, roll (orientation), or scale key at the current frame, depending on which button you click. Delete Key Deletes a position, roll (orientation), or scale key at the current frame, depending on which button you click. 3534 | Chapter 13 Animation Pick Target Lets you set a target other than the default Target object. Click this button, and then select the new object to use as a target. Thereafter, the new target controls the object's orientation. The original target remains in the scene, and can be deleted or used as a Dummy helper. Axis Specifies the local axis that looks at the target. The Flip check box is used to flip the directions of the axis. Use Target as Up Node When turned on, the controller forces the object on which it acts (source node) to keep one of its local axes aligned with the look-at direction (the vector between the source node and the target node). it also prevents the source node from rotating around the look-at direction, to avoid flipping about the object's local Z axis. The flipping behavior is most commonly seen when the line between a targeted object and its target is close to vertical; that is, their positions on the World Z axis are nearly the same. The option works by aligning one of the source node's local axes with one of the target node's local axes. These axes are picked automatically by 3ds Max. NOTE This feature lets you properly manipulate Luminaire assemblies . It also provides for trouble-free operation when you i-drop on page 8172 manufacturer luminaire assemblies. TIP In some cases, the object will flip 90 or 180 degrees even when the Use Target As Up Node option is turned on. This behavior occurs due to the fact that the axis alignment is automatic. To resolve this, apply a roll angle to the object with the coordinate display. Position/Roll/Scale These three buttons let you specify the other rollouts that appear for this controller. In all three cases, the Key Info (Basic) on page 3447 and Key Info (Advanced) on page 3451 rollouts appear. When Position is active, an additional Position XYZ Parameters rollout lets you specify the position axis. Master Point Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Expand tracks on an object with animated vertices or vectors in the Track View hierarchy. ➤ Master Point Controller Master Point Controller | 3535 Graph Editors ➤ Track View - Curve Editor ➤ Open Track View ➤ Expand tracks on an object with animated vertices or vectors in the Track View hierarchy. ➤ Master Point Controller The Master Point controller controls point sub-objects within editable splines, editable surfaces, and FFD (free-form deformation) modifiers. The Master Point controller is assigned automatically whenever control points, vertices, or vectors (tangent handles) are animated in the sub-object mode of an Editable Spline, Editable Patch, Editable Mesh, Editable Poly, NURBS surface, or FFD (Free-Form Deformation). By allowing you to select and move all the sub keys, visually correlate keys to points in the viewports, and change key properties quickly, this controller helps to manage the numerous tracks created when animating vertices, control points, and vectors. The Master Point controller is displayed as a track with green keys in Track View. Sub tracks below the Master track contain all the animated vertices, control points, and vectors. Procedures Example: To animate vertices, viewing the Master Point controller track: 1 In the Front viewport, create a sphere. 2 Right-click the sphere and from the quad menu, choose Convert To ➤ Convert To Editable Mesh. 3 On the Editable Mesh ➤ Selection rollout, click (Vertex). 4 On the Editable Mesh ➤ Soft Selection rollout, click Use Soft Selection. 5 Turn on 6 In the viewports, (Auto Key), and drag the time slider to frame 10. select and move some vertices on the sphere. A key appears on the track bar at frame 10. 7 Right-click the sphere, and from the quad menu, select Curve Editor. 3ds Max opens the Track View - Curve Editor. At the top of the Controller window, you can see the tracks for the sphere. 3536 | Chapter 13 Animation 8 Change the Track View mode to Dope Sheet and expand all the sphere tracks in the Track View hierarchy. Track View displays the Master Point Controller track, with tracks for the animated vertices below it. Interface Master Track Keys While in the Track View – Dope Sheet, selecting a master key (green) selects all the sub keys at that frame. If hundreds of vertices are animated, collapse the master track so that only the master track is visible. Moving the green keys will move all the sub keys. Master Track Key Info dialog Right-click a green master key in Track View to display the Master Track Key Info dialog on page 3537. Master Track Key Info Dialog (Master Point Controller) Track View - Dope Sheet ➤ Right-click a master track key in the Dope Sheet Key window. ➤ Master Track Key Info dialog With Track View in Dope Sheet mode, right-click a green master key of a Master Point controller on page 3535 to open the Master Track Key Info dialog. Master Point Controller | 3537 Interface [key arrows] Moves to the next or previous key. Time Moves the master key to a different frame or time. Sub Keys list window Displays all the animated sub-object keys at a particular frame or time. Select Point Select a node in the List Window and the corresponding node in the viewports is selected, if the corresponding sub-object level is active. 3538 | Chapter 13 Animation Key Frame Properties Displays and lets you adjust interpolation and position. See Bezier Controller on page 3462. Motion Capture Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Select a track in the Track View hierarchy. ➤ Track View toolbar ➤ Controller menu ➤ Assign ➤ Motion Capture Graph Editors ➤ Track View - Curve Editor ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Motion Capture You can control an object's position, rotation, or other parameters using an external device with the Motion Capture controller. NOTE Rotation Motion Capture uses Euler rotations with an X, Y, Z axis order and is subject to the limitations of Euler rotations. See Euler XYZ Rotation Controller on page 3482. The Motion Capture System To use motion capture in 3ds Max, you follow these steps: 1 In Track View — Dope Sheet or the Motion panel, you assign motion capture animation controllers to the specific tracks you want controlled by external devices. 2 After assigning the motion capture controller, you open the Properties dialog for the track and bind the type of peripheral device(s) that you want. Currently supported devices are mouse, keyboard, MIDI device, and joystick. Each device has specific properties. Motion Capture Controller | 3539 3 After binding the devices, adjust their settings and parameters in the lower portion of the Track Properties dialog. These controls vary depending on the type of device. 4 In the Utilities panel, access the Motion Capture utility. You can test and record your motion for any combination of tracks over any range of frames. 5 When you assign a Motion Capture controller, the previously assigned controller is maintained as a child of the Rotation controller. You can continue to adjust the rotation of the object using standard transform controls, while still making motion-capture control available. Procedures To use your mouse as an input device to animate the position of a box: 1 Create a box. 2 On the Motion panel ➤ Assign Controller rollout, select the position track for the box in the list window, and then click Controller). (Assign 3 In the Assign Position Controller dialog, select Position Motion Capture, and then click OK. 4 In the Motion Capture dialog, select X Position, select mouse input device, and then click OK. NOTE You can open the Motion Capture dialog by selecting the Position track in the Assign Controller list window, and then right-click and select Properties. 5 In the Mouse Input Device rollout, make sure that horizontal is turned on and Scale is set to 1. 6 On the Utilities panel ➤ Motion Capture rollout, click Box01 ➤ Position in the Track list window. Click Start in the Record Controls group. 3540 | Chapter 13 Animation Real-time recording is in effect; move the mouse horizontally back and forth. The box moves back and forth along the X axis. Play the animation to view the recorded movement. By default, 3ds Max generates a key at every frame. Interface Right-click the transform track in the Track View - Dope Sheet hierarchy to display the Motion Capture Properties dialog. Position Motion Capture rollout X, Y, Z Position Click an axis's button to display a Choose Device dialog, which lets you pick a motion-capture device from a list of alternatives: keyboard, joystick, mouse, or MIDI. Choose Device dialog Select a device from a list of devices. Edit Bindings XYZ Displays device controls in the device rollout in the lower part of the Motion Capture dialog. If no device has been assigned to an axis, this option is not available. Track Name Names the Motion Capture Data track. This overrides the default naming convention. Motion Capture Controller | 3541 Mouse Input Device rollout This rollout controls animation using the horizontal or vertical motion of the mouse. The available settings include: Horizontal/Vertical Specifies which mouse motion drives the animation. Scale Scales the relative effect of the mouse movement to the animation response. Spinner Value=float, 0 to 999,999 Flip Flips the direction of the response relative to the mouse movement. For example, if moving the mouse horizontally to the right produces a clockwise effect on a Rotation controller, activating Flip will reverse the rotation to counterclockwise. Keyboard Input Device rollout This rollout lets you assign most keyboard keys to drive the animation. 3542 | Chapter 13 Animation Assign Click and then press any key. The assigned key is displayed in the list window at right. List Open the list to select a key. Envelope Graph group The Envelope Graph group displays a representation of the amplitude curve over time. Envelope Parameters group These options specify the time the envelope of the action takes effect. This relates to the duration of pressing and releasing the key. Attack Specifies the time, after pressing the key, for the value to reach its maximum level. Decay Specifies the time, after having reached maximum, for the value to fall to that specified by the Sustain spinner. Sustain After the Attack and Decay, specifies the value sustained until you release the key. Motion Capture Controller | 3543 Release After releasing the key, specifies the time for the value to fade out to zero. Parameter Scaling group Provides controls for setting the scale of the envelope and the range of the output value. Time Specifies the scale of the Attack, Decay, and Release parameters. The value represents the number of seconds for 1 unit. For example, if this value is 1.0, then an Attack value of 1.0 equals 1 second. Range Sets the maximum output value of the controller. NOTE This controller ignores the state of the Ctrl, Alt, and Shift keys. Joystick Input Device rollout The Joystick Input Device driver was designed for the Microsoft Sidewinder joystick, which contains more controls than the standard joystick. You can use this device driver for standard joysticks as well. X, Y, Z Specifies which joystick direction drives the animation. (Standard joysticks provide X and Y axes only. The Sidewinder provides the Z axis when you twist the joystick.) Throttle On the Sidewinder, this is a slider next to the stick. Scale Scales the relative effect of the joystick action to the animation response. Spinner Value=float, 0 to 999,999 Flip Flips the direction of the response. Accumulate When off, the joystick position represents an absolute position, and you're limited to the "rectangle" defined by the limits of the joystick. When the joystick returns to its rest position, the value generated returns to zero. When on, the joystick represents a change in the current position. Moving the joystick forward, for example, can cause an object to start moving, and it will continue to move until you return the joystick to its rest position. 3544 | Chapter 13 Animation Joystick Buttons group Point-of-View Hat (Left-Right, Up-Down) A mini joystick on the tip of the main joystick that specifies the direction of the animation 1, 2, 3, 4 Specifies one of four buttons in the Sidewinder joystick. They work similarly to the Point-of-View Hat, except that each button increases a direction value only while pressed. When you release the button, the value returns to zero (centered). Inc./Dec One of three options that are only available when one of the numbered joystick button options is turned on. This option (Increment/Decrement) means that the value is incremented when the button is down, and decremented when the button is up. Inc When on, the value increments when the button is down, and stays at that value when the button is released. Absolute When on, the assigned parameters jumps to the value set in the Speed spinner when the button is down, and then jumps back to zero when the button is released. Use this for on/off animations, such as blinking lights. Speed Controls the rate at which the value changes when using either the Point-of-View Hat or the four buttons. When using a button option and the Absolute option, this specifies the value that's output when the button is pressed. Spinner Value=float, -999,999 to 999,999 Increment Based On Direction group Motion Capture Controller | 3545 This group provides controls that let you derive the direction of movement from a Rotation controller. These options are used primarily when you're animating a first-person flythrough such as when you're controlling a camera. NOTE The items in this group are only available when Accumulate is selected in the Joystick Axis group. Controller Assigns a Rotation Motion Capture controller where the direction will be derived. Typically, this would be the Rotation controller of the camera you're moving. NOTE You can only use a Rotation Motion Capture controller here. Clear Removes the assigned controller. Direction X/Y/Z Specifies the local axis that will be used as the direction. For a Free Camera, for example, this would be Z, because the camera points in the Z direction. However, if you had a car that pointed along its Y axis, you'd use Y. Component X/Y/Z Specifies which edit binding to use. Match this to the Edit Binding button in the Device Bindings group. For example, if the Y Edit Binding button is selected, choose the Y Component option. 3546 | Chapter 13 Animation MIDI Device rollout MIDI Channel group This group contains 16 buttons. You can assign a channel to your MIDI device. MIDI Trigger group Here, you define the type of MIDI event (message) that will drive the motion. There are four options; Note, Velocity, Pitch Bend and MIDI controller. Motion Capture Controller | 3547 NOTE Turn on to let the note number or pitch define the output value. The value is derived from where the note falls within the Note Range, specified in the group below. When the note is at the bottom of the range, the value takes on the Min value specified in the Parameter Scaling group. When the note is at the top of the range, the value takes on the Max value from the same group. Anything in between is interpolated between the Min and Max values. (Note that Min doesn't have to be less than Max.) The generated value will slide around as different keys are pressed. The harder a key is pressed, the faster the value changes. Speed Defines how fast the value changes as keys are pressed. Velocity Determines the output value based on the velocity that the note pressed. The notes set in the Note Range group specify which notes are valid to press. The value takes on the Min value until a key within the Note Range is pressed. When the key is pressed, the value approaches the Max value based on how hard the key was pressed. (The value actually travels along a parabola toward the Max value.) Sustain Defines how long it takes the value to move through the parabola. Variable Sustain duration is scaled by how hard the key is pressed. Pitch Bend Value is defined by the MIDI instrument's pitch bend knob. The Note Range doesn't apply in this case and is not available. MIDI Controller Specifies a note event when you're hooked up to a different type of MIDI controller than the typical keyboard. For example, if you're using a MIDI slider box, you would select the MIDI Controller option, and then use the # spinner to specify the note event for the specify slider. Note Range group Turn on Note or Velocity, and then set the note range here. A value is derived from where the note falls within the Note Range. Low Note Set a note and octave for the lower range. High Note Set a note and octave for the higher range. See Note parameter in the MIDI Trigger group, above. Parameter Scaling group Contains the Min and Max spinners, which specify the range of generated values. See Note and Velocity above. 3548 | Chapter 13 Animation MIDI Channel Viewer Displays a dialog that lets you test your MIDI device to see which MIDI channel is receiving events and which notes are being triggered. Midi Viewer Dialog MIDI Channel group Provides a column of 16 buttons and progress bars representing the 16 MIDI channels. Select the channel where you want to view note activity. The channel progress bars light up when any channel has an event. Motion Capture Controller | 3549 MIDI Note group The 11 Octave buttons let you select which octave you want to view. When a note is played in that octave, a corresponding progress bar lights up in the Note column. MIDI Controller When using a different type of MIDI controller, such as a slider box, you can specify a note event, and then watch the corresponding progress bar light up when you activate that event. (You can find the correct note number by activating the event while watching the Note Number field in the group below.) Channel Displays the currently selected channel. This is one of four text fields that display all of the values being generated by the MIDI device as you activate an event. Event Displays the type of MIDI event being sent. For example: Note On: 9 Note Off: 8 Pitch Bend: 14 MIDI Controller: 11 Velocity Displays the velocity, which has a different meaning depending on the event. For the most common event, a note being pressed, this value represents the velocity at which the key was struck. Other events, however, might generate a continuous value. For example, a pitch bend event transmits the position of the pitch bend. Note Number Displays the corresponding note number for the event. When you're using a non keyboard MIDI device, such as a slider box, you can use this to identify the note number of a specific slider. Noise Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Noise Graph Editors ➤ Track View - Curve Editor ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Noise 3550 | Chapter 13 Animation The Noise controller produces random, fractal-based animation over a range of frames. Noise controllers are parametric: they work on a range of frames, but do not use keys. When you assign a Noise controller in Track View or the Motion panel, it is initially applied to all frames in the current time segment. You can change the range of frames by dragging the Noise range bar in Track View. ■ Use Noise whenever you need completely random animation around a given value. For example, use a Noise Rotation controller when you want an object to wobble in place. ■ Use Noise as part of a compound List controller to apply noise variations to the result of another controller. For example, use a List controller to combine Noise Position with Bezier Position. The Bezier controller moves the object through your scene while the Noise controller makes the object shake and stray a little from the path. Procedures Example: To apply a Noise controller to a rotation track: 1 Create a box in any viewport. 2 On the Motion panel ➤ Parameters ➤ Assign Controller rollout, select the rotation track in the list window. 3 Click (Assign Controller). 4 Select Noise rotation from the list of controllers. 3ds Max opens the Noise Controller dialog. 5 Play the animation. Noise Controller | 3551 The box rotates randomly around all three axes. Because the non-modal Noise Controller dialog is still open, you can adjust parameters and see the results in real time. Interface Characteristic Graph Shows a stylized graph of how changing Noise properties affects the Noise curve. Seed Starts the noise calculations. Changing the seed creates a new curve. Frequency Controls the peaks and valleys of the noise curve. The useful range is from 0.01 to 1.0. High values create jagged, heavily oscillating noise curves. Low values create soft, gentle noise curves. Strength fields Sets the value range for noise output. These values can be animated. The number and meaning of the fields vary with different parameter data types. Some typical field arrangements are: ■ XYZ fields for Position and Point3 keys ■ XYZ percentage fields for Scale keys ■ A single value field for Float keys >0 Value constraint Forces Noise values to stay positive. Each strength field has its own >0 constraint. 3552 | Chapter 13 Animation When on, the application of the Strength field is changed. Noise values will range from 0 to the value of Strength; most values will hover around Strength/2. Ramp In Sets the amount of time Noise takes to build to its full strength. A value of 0 causes Noise to start immediately at full strength at the start of its range. Any other value causes Noise to start at 0 strength and then build to full strength by the elapsed time set in the Ramp In field. Ramp Out Sets the amount of time Noise takes to fall to 0 strength. A value of 0 causes Noise to stop immediately at the end of its range. Any other value causes Noise to fall off to 0 strength by the end of its range. The value in the Ramp Out field sets the amount of time before the end of the range that Noise begins to fall off. Fractal Noise Generates noise using a fractal Brownian motion. The main value of using Fractal Noise is that it activates the Roughness field. Roughness Changes the roughness of the Noise curve (when Fractal Noise is turned on). Where Frequency sets the smoothness of the overall Noise effect, Roughness changes the smoothness of the Noise curve itself. On/Off Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ On/Off Graph Editors ➤ Track View - Curve Editor ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ On/Off The On/Off controller provides binary on and off control. It is similar to the Boolean controller on page 3478. For example, you can apply an On/Off controller to the Visibility track of an object. On/Off Controller | 3553 You can view the curve for this controller in the Function Curve display, but it's not editable. In addition, there's no Properties dialog for this controller. NOTE When you load a scene from version 1.x of 3ds Max that contains a Visibility controller, the controller is automatically converted to an On/Off controller. See also: ■ Boolean Controller on page 3478 Procedures Example: To use the On/Off controller to control an object's visibility: 1 Create a cylinder, then open Track View. 2 In Track View, select the Cylinder track and click Tracks ➤ Visibility Track ➤ Add. Track View adds a Visibility track. 3 Select the track named Visibility . 4 From the Track View toolbar ➤ Controller menu ➤ Assign and select On/Off in the Assign Controller dialog. Click OK. If you change the mode to Dope Sheet, notice that the entire track region is filled by a blue bar. 3554 | Chapter 13 Animation 5 In the Track View - Dope Sheet, click at frame 20. (Add Keys), and add a key The blue bar stops at frame 20. 6 Add another key at frame 60. The track is now blue again following frame 60. 7 Add some additional keys in the Visibility Track. Each added key reverses the on/off blue pattern following the added key. TIP You can select two or more keys and copy them to different positions. This allows you to create even intervals for the On/Off effect. Interface You assign the On/Off Controller in Track View. The On/Off track displays a solid blue color in frames that are On, and no blue in frames that are Off. When you add a key to an On section of the track, the section following that key is turned off. When you add a key to an Off section, the following section is turned on and colored blue. Position XYZ Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Select a position track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Position XYZ The Position XYZ controller splits the X, Y, and Z components into three separate tracks (similarly to the Euler XYZ Rotation controller on page 3482). This provides separate control of the three tracks when referenced from Expression controllers. Position XYZ Controller | 3555 The Position XYZ controller assigns three keys (one for each axis), by default. In earlier versions of 3ds Max, you had to edit the keys manually in order to create explicit axis keys. However, there are now actions available from the Customize User Interface dialog on page 8837 that let you create explicit axis keys using Set Key Mode on page 3406. Procedures Example: To use the Position XYZ and Noise controller together: 1 Create a sphere. 2 On the Motion panel ➤ Parameters ➤ Assign Controller rollout, select the Position track of the sphere. 3 Click (Assign Controller) and choose Position XYZ. 4 Turn on (Auto Key) and create three keys that the sphere on the XY plane. move 5 On the Assign Controller rollout, expand the position track and select Z Position. 6 Click 7 (Assign Controller), and then select Noise Float. Play the animation. The sphere moves around the keys that were created earlier. The random up and down movement in the Z axis is generated by the noise controller on the Z track. 3556 | Chapter 13 Animation This effect can also be created using the List Controller to combine controllers. Interface Motion panel > Parameters > Position XYZ Parameters rollout X Displays controller properties for X axis transformation. Y Displays controller properties for Y axis transformation. Z Displays controller properties for Z axis transformation. When you select an axis, a Key Info (Basic) and Key Info (Advanced) rollout is available to change values. A Bezier Float Controller is assigned to each track by default. Use Key Info (Basic) and Key Info (Advanced) to control how the keys behave. See Bezier Controller on page 3462. PRS Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Select a transform track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Position/Rotation/Scale Graph Editors ➤ Track View - Curve Editor ➤ Select a transform track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Position/Rotation/Scale The Position/Rotation/Scale (PRS) controller is the default Transform controller for most objects. Use it for all general-purpose transforms. PRS Controller | 3557 Procedures To create PRS Transform keys: 1 Select an object. Click Motion panel ➤ Parameters. 2 3 Drag the time slider to the frame where you want to place a key. 4 On the PRS Parameters rollout, in the Create Key group, click one of the following: ■ Click Position to create a Position key. ■ Click Rotation to create a Rotation key. ■ Click Scale to create a Scale key. If a particular Position, Rotation, or Scale controller does not use keys, then that button is not available in the Create Key group. For example, you cannot create Position Keys if a Noise Position controller is being used. Interface Motion panel > PRS Parameters rollout Create Key/Delete Key The six buttons in the PRS Parameters rollout let you create or delete a transform key at the current frame. These buttons become active or inactive depending on the existence of a key type at the current frame. 3558 | Chapter 13 Animation For example, if you're on a frame containing a Scale key, the Scale button is inactive in the Create column, because a key already exists. At the same time, the Position and Rotation buttons are inactive in the Delete column because there are no keys of that type to delete. Position/Rotation/Scale Determines the contents of the Key Info rollouts that appear below the PRS Parameters rollout in the Motion panel. Reaction Controllers Track View ➤ Highlight a track in the Track View hierarchy. ➤ Assign a Reaction-type controller (for example, Position Reaction). Select an object. ➤ Motion panel ➤ Assign Controller rollout ➤ Highlight a track. ➤ Click (Assign Controller). ➤ Choose a Reaction-type controller (for example, Position Reaction). The Reaction controller is a procedural controller that lets a parameter react to changes in any other parameter in 3ds Max. Typically, most of the setup involving Reaction controllers is done with the Reaction Manager dialog on page 3565. You use the dialog to define a master, which is an object that controls other objects, and, for each master, any number of slaves, which are objects the master controls. Alternatively, you can assign a Reaction controller directly to a slave object using Track View or the Motion panel (as you would any other controller), and then use Reaction Manager to specify its master and other parameters. Reaction controllers come in five different types: Position Reaction, Rotation Reaction, Point3 Reaction, Scale Reaction, and Float Reaction. You can assign a Reaction controller to any animatable track in the scene. Reaction is not Reaction Controllers | 3559 based on time, but rather on other variables in your scene such as position or rotation. You can use a Reaction controller to turn on a light as an object nears a given point. Muscles can bulge as an arm bone rotates. A ball can squash automatically as the ball's Z position nears the ground plane. Feet can rotate as their heels are lifted from the floor. A particle system can be triggered by any given event. Morph target percentages can be controlled by events. NOTE The Reaction controllers replace the Reactor controllers found in previous versions of 3ds Max. If you load a file containing a Reactor controller into this version of 3ds Max, the Reactor controller is converted to a Reaction controller, with all settings and reactions fully intact. See also: ■ Using Manipulators with Reaction Controllers on page 3580 Procedures Example: To make the position of a sphere react to the position of a box: This procedure shows an alternate way to use a Reaction controller. The recommended workflow is to do most of the setup in the Reaction Manager dialog: See Example: To use the Reaction Manager dialog: on page 3565. NOTE Objects don't need to be animated to use Reaction controllers. This procedure starts with animation to make the reaction easier to see. 1 On the left side of the Top viewport, create a box about 30 units on a side. 2 Animate the box from position (-100,0,0) at frame 0 to position (100,0,0) frame 100. 3 In the Front viewport, create a sphere slightly above the box. Position the sphere at (–100,0,50). 4 Go to the Motion panel, and on the Assign Controller rollout, click the Position track to highlight it. 3560 | Chapter 13 Animation 5 On the Assign Controller rollout, click (Assign Controller). 6 On the Assign Position Controller dialog, click Position Reaction to highlight it, and then click OK. This opens the Reaction Manager dialog on page 3565. The Reactions list shows that the sphere is assigned as a slave, but no master is assigned. A Reaction controller uses a master's motion to control any number of slaves. 7 Right-click the “Unassigned” line at the top of the Reactions list. From the menu, choose Replace Master. This places you in a Pick mode where you can choose a motion track from any object in the scene to act as master. 8 In any viewport, click the box (Box01). A pop-up menu appears. 9 From the pop-up menu, choose Transform ➤ Position ➤ X Position. Reaction Controllers | 3561 The “Unassigned” text is replaced by a master track labeled “Box01 / X Position”. Also, a new state, State01, appears in the States list. This is an example of the basis of the control mechanism used by the Reaction controller: For each master/slave combination, you can specify any number of states defined by values for the master and slave tracks. The first state, created automatically when you added the master, specifies that when the box is at –100 on the X axis, the sphere should be at (–100,0,50). In this case, you're controlling three parameters (the sphere position on all three axes) with one (the box position on the X axis). More typically you'd use one-to-one master/slave-parameter ratios. NOTE Reaction Manager also defines a state automatically when you assign a new slave to a master. Next you'll create a second state that tells the sphere how to move on multiple axes as the box moves on one. 10 Drag the time slider to frame 50. The box moves to the midpoint of its animated trajectory. The sphere remains where it is. 11 On the Reaction Manager dialog, click (Create State). This creates a new state (State02) using the current positions of the box and sphere. 12 Try moving the sphere in the Front viewport. You can't move the sphere because it's under the full control of its master, the box. Similarly, you can't change its position using the Coordinate Display fields on the status bar. However, you can change the sphere's position using the Reaction Manager's editing tools. 13 On the Reaction Manager dialog, click the Sphere01 / Position entry to highlight it, if necessary, and then click the Edit Mode button. 3562 | Chapter 13 Animation 14 Position the sphere at (0,0,100). The position updates in the Sphere01 / Position line under State02. Also, the Reaction Manager graph shows the change in values of the slave's (sphere) X and Z position values as the master box's X position changes. On the graph, as in Track View, red=X, green=Y, and blue=Z. 15 Click the Edit Mode button again to turn it off, and then scrub the time slider. As the box moves between frames 0 and 50, the sphere rises to the position specified in the second state. For the third and final state, you'll have the slave move in a different direction over the second half of the master's motion. 16 Go to frame 100, and then create a new state. 17 In the States list, click the new state or its slave track to highlight it. 18 Turn on Edit Mode. Position the sphere at (0,–100,100), and then turn off Edit Mode. 19 Scrub the time slider between frames 0 and 100. Reaction Controllers | 3563 Over the first 50 frames, the sphere moves between the first two states, and over the second half of the animation, the sphere moves between the second and third states. To conclude the procedure, you'll demonstrate that the sphere is responding only to the box's X position, regardless of animation. 20 Go to frame 0. Select the box, and then press and hold the Alt key and right-click the box. This opens the Animation quad menu. 21 From the Set (lower-right) quadrant, choose Delete Selected Animation. This command deletes all animation keys for the current selection. 22 Now move the box in all three dimensions. Any change in the Y or Z position has no effect on the sphere. However, moving the box between –100 and 100 on the X axis, no matter what the Y or Z position, results in changing the sphere's position as specified in the Reaction controller. 3564 | Chapter 13 Animation This procedure gives you a hint of the Reaction controller's power. You can find another procedure showing additional aspects of the Reaction Manager in: Example: To use the Reaction Manager dialog: on page 3565. Interface After assigning a Reaction controller, right-click the track and then choose Properties, or choose Animation ➤ Reaction Manager, to open the Reaction Manager dialog on page 3565. Reaction Manager Dialog Animation menu ➤ Reaction Manager Track View ➤ Highlight a track in the Track View hierarchy. ➤ Assign a Reaction-type controller (e.g., Position Reaction). Select an object. ➤ Motion panel ➤ Assign Controller rollout ➤ Highlight a track. ➤ Click (Assign Controller). ➤ Choose a Reaction-type controller (for example, Position Reaction). Use the Reaction Manager dialog for setting up and modifying Reaction controllers on page 3559. Reaction Manager lets you add and delete masters and slaves, define states for reactions, use a graph to view and modify reactions with curves, and more. NOTE If you assign a Reaction controller while Reaction Manager is open, the dialog closes. To reopen it, choose Animation menu ➤ Reaction Manager. If you use Reaction Manager often, it's recommended that you assign a keyboard shortcut to the command. Procedures Example: To use the Reaction Manager dialog: The purpose of this procedure is to show you different ways to use Reaction Manager. Before trying it, we suggest that you first follow the introductory Reaction Controllers | 3565 procedure in the Reaction Controllers topic: Example: To make the position of a sphere react to the position of a box: on page 3560. 1 Start or reset 3ds Max. 2 In the Perspective viewport, add a box and a sphere object. Also add a Slider manipulator on page 2900, and give it the label Slider. The viewport should resemble the following illustration: You'll use the slider to control two slaves separately: Negative values for the box X position, and positive values for the sphere's Hemisphere parameter. 3 On the 100.0. Create panel ➤ Parameters rollout, set Minimum to The slider's current value is 0. 4 Open the Reaction Manager dialog from the Animation menu, and position it so you can see the Perspective viewport. At this point, the dialog is empty. 3566 | Chapter 13 Animation 5 On the upper toolbar, click (Add Master), and then click the Slider manipulator in the Perspective viewport. 6 On the pop-up menu that appears, choose Object (Slider) ➤ value. In the Reactions list, the master entry Slider01 / value appears. 7 On the upper toolbar, click the Perspective viewport. (Add Slave), and then click the box in 8 On the pop-up menu that appears, choose Transform ➤ Position ➤ X Position. In the Reactions list, the slave entry Box01 / X Position appears under the master entry. Also, a new state appears in the States list for the newly added slave track. This simply says that, when the slider value is 0, the box's X position should be what it is currently. However, a reaction needs at least two states to be meaningful. You'll learn how to accomplish this shortly. Next, you'll discover a different way to add a slave track. 9 In the Perspective viewport, 10 On the upper toolbar, click select the sphere. (Add Selected). This causes the pop-up menu to appear at the mouse cursor. 11 From the pop-up menu, choose Object (Sphere) ➤ Hemisphere. The sphere's Hemisphere track is added as a slave of the slider, and a new state for the two is added to the States list. You now have two states in the States list, but in both cases the state value (that is, the slider value) is the same, so you really need only one. You can resolve this by adding the Hemisphere slave track to the first state and then eliminating the second state. 12 In the Reactions list, click the Sphere01 / Hemisphere entry, and in the States list, click the State01 entry. Reaction Controllers | 3567 13 On the center toolbar, above the States list, click (Append Selected). This adds the Hemisphere track to State01. Now you can delete the second, superfluous state. 14 In the States list, click the State02 entry, and then on the toolbar above the States list, click (Delete State). State02 goes away. Currently, the box is where you created it, but you might want it to start out at a different location. However, because the box is a slave of the slider, you can't move it freely on the X axis. You'll use the Reaction Manager to set the X position of the box to a specific value. 15 In the States list, position the click and hold the mouse cursor over the Box01 / X Position ➤ Value entry. 3568 | Chapter 13 Animation NOTE Your value probably differs from that shown in the illustration. 16 Drag upward to increase the value, or downward to decrease the value. Change the value to about –50.0. You might find it difficult to set an exact value by dragging, which changes only the tenths (and higher) value. You can use the keyboard to specify a more exact value. 17 Double-click the value. The value highlights and becomes a keyboard-editable field. 18 Enter –50 and press Enter or Tab. The value now displays as –50.000. You can use the same mouse and keyboard methods to change state (master) values as well. Next, you'll learn how to use Create Mode to create new states freely. First, you'll set a new state to move the box leftward for negative slider values. 19 Try moving the box on the X axis. You can't do it, because it's slaved to the slider value. 20 Above the States list, click the Create Mode button. When Create Mode is on, you can change master and slave properties and use the current properties to create new states. Reaction Controllers | 3569 21 On the main toolbar, click (Select And Manipulate), and then drag the slider pointer all the way to the left, so the slider value reads –100.0. 22 In the Reactions (upper) list, click the Box01 / X Position entry to highlight it, and then move the box about –50 units on the X axis, to about X=–100. Highlighting the slave entry lets you manipulate the slaved value interactively in the viewport while Create Mode is on. Then, when you click Create State, a new state is created for that slave only. If you highlight the master instead, you can manipulate all slaves freely, but then clicking Create State creates a new state for all slaves. Reaction Manager is a complex tool, so in general it's best to keep the data as simple as possible. 23 Click (Create State). The Reaction Manager adds a new state, State02, with the state (slider) value at –100.0, and the box at its new X position. 24 Turn off Create Mode. Move the slider left and right to see how this affects the box position. Next, you'll set a new state so the right half of the slider range affects the sphere's Hemisphere value. 25 Select the sphere and go to the Modify panel. The Hemisphere parameter is unavailable, because it's slaved to the slider value. 26 Turn on Create Mode, and then and in the Reactions list, click the Sphere01 / Hemisphere entry. The Hemisphere parameter is now available. 27 On the 3570 | Chapter 13 Animation Modify panel, set Hemisphere to 0.75. 28 In the Perspective viewport, drag the slider all the way to the right. 29 Click (Create State). The Reaction Manager adds a new state with the state (slider) value at 100.0, and the Sphere01 / Hemisphere value at 0.750. Also, if you click Slide01 / Value in the Reactions list, you can see in the graph showing the slider value on the horizontal axis and the two reactions on the vertical axis. The scale between the two differs greatly, so the Hemisphere reaction on the right side of the graph looks like a straight line, but if you click the Sphere01 / Hemisphere slave entry in the Reactions list, the graph shows a steady rise from 0.0 to 0.75. 30 Turn off Create Mode. Drag the slider in both directions. Over the left half of the slider range, the box moves along the X axis. Over the right half of the range, the sphere's Hemisphere value changes. To finish the procedure, you'll experiment with using the graph to change a reaction. 31 If you haven't already, click the Sphere01 / Hemisphere slave entry in the Reactions list, and then click (Zoom Extents) below the graph. 32 Click (Add Point), and then click the middle of the graph curve (it's the red, diagonal line). This adds a new point to the curve and a new state in the States list. 33 Click (Move), and then drag the new point upward so it's above the right-hand endpoint. 34 Drag the slider again. Reaction Controllers | 3571 As the slider moves from 0 to 100, the Hemisphere value increases so much that the sphere disappears, and then decreases so you can see the upper fourth of the sphere. This has been a brief tour of some of the capabilities of the Reaction Manager dialog. For further information, consult the “Interface” section, below. Interface 3572 | Chapter 13 Animation The Reaction Manager dialog interface consists of three parts: the Reactions list, the States list, and the graph. Each has its own toolbar or toolbars. Each list contains rows and columns; the column headings employ standard Windows functionality. To resize a column, drag the divider to the right of its heading, or auto-size a column to fit its widest entry by double-clicking the right-side heading divider. To change the vertical size of a list section, drag the horizontal divider at the bottom of the list, and to scale all three sections proportionally, drag the bottom of the dialog. You can also resize the dialog by dragging a corner or a side. You can use standard methods to highlight list items for further actions. Highlight a single item by clicking it. Highlight multiple consecutive items by clicking the first item and then Shift+clicking the last. Use Ctrl+click to highlight non-contiguous items and to toggle highlighting of a single item. In most cases, if a cell in the Reactions list or the States list contains a single numeric value, you can change the value by dragging vertically on the cell. Click and hold on the number in the cell, and then move the mouse upward to increase the value or downward to decrease it. The exception to this are the Start and End values for master objects; you can change these values only by modifying a slave's Start or End value. You can also modify a one-value field by double-clicking it and then editing it with the keyboard. If a field contains multiple numeric values, you must manipulate the object directly in the viewports or the appropriate dialog. The dialog also has a right-click menu on page 3579 for managing reactions and states, available by right-clicking anywhere on the dialog except in the graph section. NOTE A master is an object that you can use to control other objects via Reaction controllers, and a slave is an object controlled by a master. Reactions list The Reactions list displays a hierarchical view of the master-slave relationships of objects with Reaction controllers in the scene. You can use its controls to Reaction Controllers | 3573 add and delete masters and slaves, change start and end frames, and toggle usage of the graph curve. These controls are available both on the toolbar above the list and in the list itself. Add Master Places you in Add Master mode. Click an object in a viewport, and then use the pop-up menu to choose an animation track to use as master. Alternatively, choose a track in Track View or from the Motion panel ➤ Assign Controller rollout list. Using the pop-up menu, you can choose only a track at the end of the menu hierarchy; for example, Transform ➤ Position ➤ X Position. If you choose the object name from the top of the menu, Reaction Manager lists it as World Space Position, so that you can use its three-dimensional position in the World coordinate system to control its slaves. To use a Position or Rotation track for the master, click Add Master and then click the track in Track View or the Motion panel ➤ Assign Controller rollout list. In the latter case, the object must already be selected in the viewports before clicking Add Master in order for it to show up on the Assign Controller rollout list. If using Track View, you can open the Track View dialog before or after clicking Add Master. TIP If you use Track View or Motion panel to assign a Reaction controller to an animation track, the object shows up in Reaction Manager without a master (“Unassigned”). To assign a master, right-click the highlighted “Unassigned” label, and then choose Replace Master from the context menu. Finally, choose the master track. Add Slave Places you in Add Slave mode, letting you assign a slave track to the currently highlighted master in the Reactions list. Highlight a master and then click Add Slave. Click an object in a viewport, and then use the pop-up menu to choose an animation track to use as slave. Alternatively, choose a track in Track View or from the Motion panel ➤ Assign Controller rollout list. Available only when a master is highlighted in the Reactions list. To add multiple slaves, click Add Slave and then press H to open the Pick Object dialog. Highlight the objects to add, and then click Pick. The pop-up menu then appears, prompting you to choose an animation track to use as slave. The same track is used from each object. Alternatively, select the objects and then use Add Selected (see following). If multiple masters are highlighted when you add a slave or slaves, the slave is added to the first master in the list. 3574 | Chapter 13 Animation If any states are highlighted in the States list, the new slave or slaves are added to the highlighted states. If no states are highlighted in the States list, Reaction Manager creates a new state with the added slave or slaves. Add Selected Lets you add slave tracks to the current master for any selected objects in the viewports. Opens a pop-up menu from which you can choose a track. If multiple objects are selected, this track is added as a slave for each selected object. Available only when a master is highlighted in the Reactions list and at least one object is selected in the viewports. If multiple masters are highlighted, the slaves are added to the first master in the list. If any states are highlighted in the States list, the new slave or slaves are added to the highlighted states. If no states are highlighted in the States list, Reaction Manager creates a new state with the added slave or slaves. Delete Selected Deletes any items highlighted in the Reactions list. If you delete a slave, any related state definitions are deleted from the States list, although the states themselves remain. If you delete a master, all of its slaves and any related states are also deleted. Show Selected When on, displays data in the Reactions list only for objects selected in the viewports. This lets you restrict display reaction setups to objects of immediate interest, without having to scroll through long lists of parameters. When off, shows all objects and states, regardless of viewport selection status. If the master is selected in the viewport, Show Selected shows all slaves in the Reaction list whether or not they're selected. Update Selection Refreshes the list contents based on the current selection. Available only when Show Selected is on and the viewport selection has changed. Start/End These columns show the first and last animation frames for which the master-slave relationship is in effect. These default to the active time segment on page 9082. Use standard methods on page 3573 to change these values. If multiple slaves assigned to the same master have different Start or End values, the master's Start and End fields are blank. Curve This column shows an X when the graph curve on page 3578 is used to modify Strength, Influence, and Falloff. To specify these numerically in the States list, click the field to toggle the X. Available for slaves only. Reaction Controllers | 3575 States list A state describes interaction between a master and its slaves. In each state, you specify a value or values for the master track, and corresponding values for each slave. Then, as a master-track value changes in the scene, the slaved values follow along according to the states' specifications. The States list shows all states for the highlighted reaction in the Reactions list. Any member of a reaction (master and/or slaves) can be highlighted in the Reactions list for its states to appear in the States list. If members of multiple reactions are highlighted, the States list reflects values for the first highlighted reaction only. You can use tools in the States list to add and modify states and their names. To change a state name, click the text twice, slowly (don't double-click). Or, if the state name already highlighted, just click it once. The text highlights and a box appears around it to show that you can now edit it. You can rename only state names, not the indented slave tracks. You can change values for single-numeric-value slaves in this list by dragging vertically on the value. The following reference describes changing values interactively in the viewports using the States list controls. Other controls are described in the introduction to this topic. Create Mode Use primarily to create new states interactively. To use it, turn on Create Mode, adjust values for the current reaction (master and slaves) in the viewports, and then click Create State. You can repeat this to create any number of new states quickly and efficiently. The difference between creating a state in or out of Create mode is that, in Create mode you can manipulate the reaction tracks for all objects, whereas with it off you can manipulate the reaction track only for the master. 3576 | Chapter 13 Animation Create State Adds a new state to the States list for the current reaction, using the current values for the master and slave parameters. When you create a state, 3ds Max gives it a default name (State##) and lists its slave tracks, indented, under the state name. The contents of the new state depend on what's highlighted in the Reactions list. If the master is highlighted, a new state specifies values for the state (i.e., master track) and all of its slaves. If one or more slaves are highlighted in the Reactions list, the new state specifies values for the master and only the highlighted slaves. Append Selected Adds a slave or slaves to a state in which they don't currently participate. To use, highlight one or more slave tracks in the Reactions list, highlight a state in the States list, and then click Append Selected. Edit Mode When on, you can change slave values interactively in the current state by manipulating slave objects in the viewports or by editing their values on a rollout. Available only when at least one item in the States list is highlighted. If you highlight a slave name, you can edit its value for the current state. If you highlight a state name and then click Edit Mode, you can edit any of its slave tracks. To exit this mode and test the new values, click Edit Mode again. As you manipulate the object, the value is updated immediately and the new value is displayed in the States list. If slaves in multiple states are highlighted, values are updated for those in the first state only. Set State Updates the highlighted state (master track) to its current value. To use this option, highlight the master track in the Reactions list and the state in the States list. Manipulate the master object in the viewports, and then click Set State to update the state value. Available only when a state is highlighted in the States list. Delete State Deletes any items highlighted in the States list. _____ Value This column shows the current value or values for the state: the master parameter(s) on the State## line and the slave parameter(s) on each slave line Reaction Controllers | 3577 within a state. You can edit a single value (not groups of three in parentheses) by dragging vertically on the value in the table. _____ The following three parameters, which appear as columns in the States list, apply to slaves and are normally controlled via the graph curve. They're available only if the slave has Curve turned off in the Reactions list. These parameters are based on the fact that states can influence one another, so that you get a blending between them. Strength This is a biasing factor that affects a state's relative influence when one or more states overlap. A greater Strength value influences a value towards a state and a smaller one influences the value away from it. Influence The distance from the master state’s value to the maximum extent of its range of influence. Falloff The rate of change in the slave state (its speed) as the master goes from a state to the maximum extent of its range of influence. Graph Reaction Manager's graph displays curves that graph the master values on the horizontal axis and slave values on the vertical axis. It shows data of all states for items highlighted in the Reactions list. If a master is highlighted, the graph shows states curves for all its slaves. If one or more slaves are highlighted, but the master isn't, the graph shows data for those slaves only. You can edit data using the graph by dragging points. The graph controls are similar to those found in other graphs in 3ds Max, such as the Material Editor Output rollout on page 6613. The toolbar above the graph offers functions for moving and scaling points on the graph, as well as inserting new ones (that is, new states). The same functions are available by 3578 | Chapter 13 Animation right-clicking the graph, and if you right-click a graph point, you can set it to Corner and two different Bezier types. If you select a Bezier point, you can reshape the curve by moving its handles. You can drag a region to select multiple points, and then edit them together. Use the toolbar under the graph for panning and zooming the graph. Right-click menu Reaction Manager's right-click menu provides quick access to a number of commonly used functions. It also contains the Replace Master function, which is unavailable elsewhere in the dialog interface. To open the right-click menu, right-click anywhere on the Reaction Manager dialog except in the graph section. Add Master Places you in Add Master mode. Click an object in a viewport, and then use the pop-up menu to choose an animation track to use as master. Alternatively, choose a track in Track View or from the Motion panel ➤ Assign Controller rollout list. For more information, see Add Master on page 3574. Replace Master Lets you replace the current master. Use the standard method to choose another master as described in Add Master on page 3574. Use this function to specify a master when you open Reaction Manager by assigning a Reaction controller to a slave. NOTE If you replace a master with multiple states, Reaction Manager deletes all existing states except the default one. In essence, replacing a master is like starting over. Add Slave Lets you add a slave to the current master. For details, see Add Slave on page 3574. Add Selected Lets you add selected objects as slaves to the current master. For details, see Add Selected on page 3575. Delete Selected Deletes any items highlighted in the Reactions list. For details, see Delete Selected on page 3575. Create States Mode Lets you create states on the fly by manipulating objects in the viewports. For details, see Create Mode on page 3576. Create State Adds a new state to the States list for the current reaction. For details, see Create State on page 3577. Reaction Controllers | 3579 Append Selected Adds a slave to a state in which the slave doesn't currently participate. To use, highlight a slave in the Reactions list, highlight a state in the States list, and then choose Append Selected. Set State Updates the highlighted state (master track) to its current value. For details, see Set State on page 3577. Delete State Deletes any highlighted items in the States list. Edit Slave State Mode Lets you change slaves' values in the current state. For details, see Edit Mode on page 3577. Show in Track View Opens Track View, displaying reaction tracks for highlighted slaves and masters only. Show in Schematic View Opens Schematic View, with reaction tracks expanded for highlighted slaves and masters. Using Manipulators with Reaction Controllers The Position Reaction and Rotation Reaction controllers on page 3559 let you perform certain functions via manipulators in the viewports. Manipulators for Reactor Controllers Reaction controllers for position and rotation tracks have graphic manipulators to help you adjust their settings. Other Reaction controllers, such as point3, scale, and float, do not have manipulators. Manipulators are visible and usable while the Select and Manipulate button on page 2868 is turned on. This button is on the default main toolbar on page 8623. When you move the mouse over a manipulator, the manipulator turns red to show that dragging or clicking it will have an effect. TIP Use the Reaction controller manipulators in a wireframe viewport. (See Shading Viewport Label Menu on page 8719.) Also, for the Position Reaction controller, you might have to change viewports to see a particular manipulator clearly. Position Reaction controller The Position Reaction controller has a set of manipulators to control (or simply display) different reaction values. 3580 | Chapter 13 Animation Reaction cycle manipulator: Click this to cycle among the various reactions in the Reactions list. The display of the manipulators and indicators changes to show their settings for the active reaction. This manipulator is a small yellow circle that appears in the lower-left corner of the active viewport, near the icon for coordinate axes. Influence manipulator: Drag in a viewport to change the manipulator's size, which changes the reaction's range of influence. This manipulator is a yellow sphere that turns red when you can drag it. At the center of the Influence manipulator is the Reaction Value manipulator. Reaction Value manipulator: Drag in a viewport to change the reaction value, which for a position track is an XYZ location. This manipulator is a light blue sphere that appears at the center of the Influence manipulator. Object Pivot indicator: Shows the pivot point location of the master object. This indicator is a dark blue sphere. You can't manipulate it. Reaction State manipulator: Drag to adjust the reaction state. For position reactions, the reaction state is an XYZ location that the slave object approaches, depending on the animation of the master object and the Influence value. This manipulator is a small green square. Reaction State indicator: Shows the reaction state value. This indicator is independent of the square green Reaction State manipulator, which you can drag in viewports. As you drag the green square, the indicator follows it. This indicator is a small dark-blue dot. Rotation Reactors The Rotation Reaction controller has a single manipulator, which controls the reaction's Influence parameter. Influence manipulator: Drag in a viewport to change the manipulator angle, which changes the reaction's range of influence. Reaction Controllers | 3581 Procedures To use manipulators for a position or rotation Reaction controller: (Point3, scale, and float Reaction controllers don't have manipulators.) 1 Select the object that has the Reaction controller assigned to it. 2 On the main toolbar, click (Select And Manipulate). The manipulators appear in viewports. 3 In the active viewport, drag or click manipulators to adjust the reaction parameters. When you move the mouse over a manipulator, the manipulator turns red to show that dragging or clicking it will have an effect. TIP Use the reactor manipulators in a wireframe viewport. (See Shading Viewport Label Menu on page 8719.) Also, for the Position Reaction controller, you might have to change viewports to see a particular manipulator clearly. The specific manipulators and their use are described below. Scale XYZ Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Select a scale track in the Track View hierarchy ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Scale XYZ Graph Editors ➤ Track View - Curve Editor ➤ Select a scale track in the Track View hierarchy ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Scale XYZ The Scale XYZ controller has independent float controllers for each scale axis of an object's transform. With three separate tracks for scale, you can create scale keys for each axis independently, change interpolation settings for a single axis, or assign a controller on an axis. For example, after applying a 3582 | Chapter 13 Animation Scale XYZ controller, you could apply a Noise or Waveform controller to an axis to animate that axis independently. The Scale XYZ controller assigns three keys (one for each axis), by default. In previous versions of 3ds Max, you had to edit the keys manually in order to create explicit axis keys. However, there are now actions available from the Customize User Interface dialog on page 8837 that let you create explicit axis keys on page 3434. TIP Open Track View to view and edit the three scale tracks. Procedures Example: To assign the Scale XYZ controller to an object: 1 In the Top viewport, create a sphere. 2 Right-click the sphere and from the quad menu, choose Curve Editor. The Track View - Curve Editor opens with the sphere as the first item in the hierarchy. 3 In the Track View hierarchy, click the Scale track. 4 From the Track View menus, choose Controller ➤ Assign and select Scale XYZ from the Assign Controller dialog. Three tracks are displayed and are available to control the object's scale. 5 In the Track View hierarchy, click the Z Scale track, click Controller ➤ Assign from the Track View menus, and then choose Noise Float from the dialog. The Noise Controller dialog automatically displays. 6 Click (Play Animation). The sphere changes scale along the Z axis, controlled by the Noise controller. Scale XYZ Controller | 3583 Interface After applying the Scale XYZ controller to an object, Scale XYZ parameters appear in a rollout on the Motion panel. Scale Axis Adjusts an axis using controls in the Motion panel ➤ Key Info rollout. An axis should already have a key to adjust. To create keys, either turn on Auto Key and scale the object, or click Scale in the Create Key group on the PRS Parameters rollout. Script Controller Track View ➤ Highlight a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Script The Script controllers work similarly to Expression controllers on page 3486. They provide a Script Controller dialog where a you can enter a script for computing the controller value. The following Script controllers are available in 3ds Max: ■ Float Script: float controller ■ Point3 Script: Point3 controller ■ Transform Script on page 3585: matrix3 PRS controller ■ Position Script: position Point3 controller ■ Rotation Script: rotation Quaternion controller ■ Scale Script: scale Point3 controller The differences among the various types of Script controllers are mainly in the type of animation track you can assign them to. For example, you assign a Transform Script controller to a Transform Track; a Position Script controller to a Position track; and, if the Position controller is Position XYZ, you could assign a Float Script controller to any or all of the individual Position tracks (Position X/Y/Z). 3584 | Chapter 13 Animation The primary advantages of Script controllers are: ■ They can use all the features of the MAXScript on page 14 language, including loops, scripted functions, and path names. ■ Almost any property of any object in a scene can be used to help compute controller values, including mesh vertices, values of properties at arbitrary frame times, and other non-animatable properties that are not accessible in Expression controllers. ■ They can use MAXScript global variables to communicate and coordinate with other controllers and scripts in 3ds Max. Refer to the MAXScript Help for a complete explanation of this scripting language. Transform Script Controller A Transform Script controller contains all of the information contained in a Position/Rotation/Scale (PRS) controller on page 3557 in one scripted matrix value. Instead of having three separate tracks for position, rotation, and scale, you can access all three values simultaneously from a single script controller dialog. Because a script defines the transform values, they are easier to animate. The value of the controller script must be a matrix3 value. A matrix3 value is a 4x3 3D transformation matrix. For more information, see the Matrix3 Values topic in the MAXScript Help. Writing Controller Scripts 3ds Max interprets the text you type into the Script text box as the body of a MAXScript block expression. You can type as many expressions as you want on as many lines as you want, and they are evaluated in turn. The value of the last expression is taken as the controller value. This value must yield the right type for the controller: float for Float, point3 for Position, quat for Rotation, matrix3 for Transform, and so on. Because the text is inside a block expression, you can declare local variables that are visible only within the script and are temporary for one evaluation. You can also declare or access global variables that are shared with all other scripts in MAXScript and hold their values from one evaluation to the next. Script Controller | 3585 A controller is always evaluated by 3ds Max with respect to a specific animation time. This might be the current time slider or incrementing frame time if an animation is playing, or a rendering is under way. In the case of Script controllers, the time being evaluated is used to establish an automatic "at time" context around the controller script, so any properties you access (outside of other explicit “at time” expressions) yield the correct values for the current controller evaluation time. This means you don't have to do anything special in your scripts to work at the correct time. You can access the evaluation time with the standard MAXScript variable, currentTime. You can also reference scene property values at other times by using "at time" expressions in your scripts, as in regular MAXScript programming. Assign Nodes and Tracks to Variables When you need to refer to nodes in your scene or to animation tracks, it is recommended that you use the Script controller variable toolset to create variables to assign to any particular node or controller track. This way, if you decide to later on rename your scene objects, the script controllers using these objects are preserved because the variables maintain the link to the nodes. Otherwise, if you assign, for example, a node to a variable manually in the dialog's Expression window, that link becomes broken as soon as you rename that particular node. NOTE It is especially important to assign nodes and tracks to variables with the corresponding buttons when using XRef scenes and objects. Procedures Example: To keep an object centered relative to other objects in the scene during an animation: 1 Name the object that should remain centered foo and assign a Script controller to its Position track. 2 Enter foo in the Name field and click Create. The new variable is automatically added to the Variables list. 3 With the variable highlighted, click Assign Node. The Track View Pick dialog opens, listing the contents of your scene. 4 Expand the Objects hierarchy until you locate foo. Highlight it and click OK. The foo node is assigned to your variable. 3586 | Chapter 13 Animation 5 Enter the following script in the Script Controller dialog's Expression window: local pos=[0,0,0] for o in objects where o != foo do pos += o.pos pos / (objects.count - 1) This script computes the average position of all objects, except the current one (written as foo here) by setting up a local, iterating over all objects except foo, accumulating a total position vector, and computing the average in the last line, which is the final result of the script. To use a Transform Script controller: 1 Select an object. 2 Right-click to open the quad menu. 3 In the Transform quadrant, click Curve Editor. 4 Select the Transform track of the selected object in Track View. 5 Select Transform Script from the Assign Transform Controller dialog and click OK. The Script Controller dialog opens. 6 Edit the matrix3 value in the Script Controller dialog, and click Evaluate when you are finished. Script Controller | 3587 Interface Assigning a Script controller automatically opens a Script Controller dialog where you can enter a script. You can open the dialog subsequently by right-clicking the track on the Motion panel or in the Track View hierarchy and choosing Properties, or clicking the Properties button on the Track View toolbar. TIP You can resize the dialog by dragging an edge or a corner. Create Variable group Name Lets you enter and edit the name of user variables. Create Creates a variable and adds it to the Variables list. Delete Removes the highlighted variable from the Variables list. You can also delete a variable by tying its name into the Name field and click Delete. Rename Renames the highlighted variable. Variable Parameters group Tick Offset Specifies a time offset in ticks for the current variable. When the script is evaluated, the variable's value is set from the current time plus the Tick Offset value. NOTE The Time Offset has no effect on variables that are assigned a constant. 3588 | Chapter 13 Animation Variables list Lists all available variables in the controller. The following pre-defined constant variables are available in every script Controller and cannot be deleted or renamed: ■ Fthe current time in frames ■ NTthe normalized time ■ Sthe current time in seconds ■ Tthe current time in ticks _____ Assign Constant Opens a dialog which lets you assign a constant to the highlighted variable. ■ Value expression Enter any MAXScript value or expression (such as an integer, a float, an array, and so on). ■ Value expression result Displays the results of the expression above. ■ Evaluate Analyzes the expression at the current time. ■ OK Assigns the value expression result to the current variable. ■ Cancel Disregards the current value expression result and closes the dialog. Assign Track Lets you assign a track to the highlighted variable. Assign Controller Lets you assign a controller to the highlighted variable. The controller's value is taken at the current time plus the variable's Tick Offset. Assign Node Lets you assign a node to the highlighted variable. Script Controller | 3589 Expression window Displays the expression to evaluate. You can edit the text in this window. Description window In this text window, you can enter comments about how the controller works, how to use it, and so on. _____ Save Click to save the script to a MAXScript (.ms) text file. Load Click to load a script from a MAXScript (.ms) text file. Debug Opens the Script Controller Debug Window, which displays the value of all variables used in your script. Evaluate Evaluates the script expression. The evaluation is computed for the current position of the time slider. Close Compiles and checks the controller script for errors. If no errors are found, the dialog is closed. Any problems result in a query box asking whether you want to revert the expression to the original value of the current track and close the dialog (OK), or to return to editing the expression (Cancel). Smooth Rotation Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Select a rotation track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Smooth Rotation Graph Editors ➤ Track View - Curve Editor ➤ Select a rotation track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Smooth Rotation Animation menu ➤ Rotation controllers ➤ Smooth Use Smooth Rotation when you want rotation to have a smooth and natural look. 3590 | Chapter 13 Animation Smooth rotation functions the same as Linear Rotation, but uses non-adjustable curved interpolation, and has the following characteristics: ■ Displays no controllers, key properties, or function curves ■ Move keys in Track View to change timing ■ Directly rotate objects in the viewports to change rotation values Spring Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Spring Graph Editors ➤ Track View - Curve Editor ➤ Select a track in the Track View hierarchy. ➤ Track View toolbar ➤ Controller menu ➤ Assign ➤ Spring Animation menu ➤ Position controllers ➤ Spring The Spring controller adds secondary dynamics effects to any point or object position. The end result is secondary mass/spring dynamics similar to Flex. This constraint adds realism to generally static animations. When you apply Spring to an animated object, its original motion is preserved and secondary, velocity-based dynamics are applied. You can control the object's mass and drag. When you first apply the controller, it constructs a Spring Controller | 3591 virtual spring between the object's original position and where it would end up after forces are applied to it. You can adjust spring tension and dampening. Increasing the tension creates a tighter spring, while increasing the dampening smoothes out jitters in the motion. You can add external forces like Gravity on page 2958 and Wind on page 2960 to affect the motion, and also add additional objects whose motions act as springs. NOTE You can also assign the Spring controller to animated vertices in Track View: Open the object's Master Point Controller hierarchy, select the vertices, and assign the Spring controller. Interface When you assign a Spring controller to an object, its rollouts automatically appear in the Motion panel. In addition, the rollouts open in a floating dialog. If you close the dialog, you can reopen it by right-clicking the track in the Motion panel Assign Controller rollout or in the Track View hierarchy and choosing Properties, or clicking the Properties button on the Track View toolbar. Spring Dynamics rollout 3592 | Chapter 13 Animation Point group Mass The mass of the object to which the Spring controller is applied. Increasing the mass causes the "bouncing" spring motion to become more exaggerated. Drag Acts as air friction on the spring motion. A low Drag setting results in a greater "bouncing" effect, while a high Drag results in subdued bouncing. Default=1. Range=0 to 10. Springs group Add springs to an object using the Spring controller when you want the object to be affected by the motion of other objects in your scene. This effectively creates virtual springs between objects. Add Click this button, and then select one or more objects whose motion relative to the spring-controlled object will act as springs on that object. To finish adding springs, click Add again, right-click in a viewport, or press Esc. Remove Removes highlighted spring objects from the list. NOTE You cannot remove the Self Influence list entry, which is the spring-controlled object's influence on itself. (List) Lists all spring objects by name, and displays each object's Tension and Dampening settings separated by a slash (/). The spring-controlled object's influence on itself appears as Self Influence, and cannot be deleted. However, you can effectively remove the object's influence on itself by setting Tension and Dampening to 0, resulting in no motion. To set Tension and Dampening for one or more objects in the list, highlight them in the list and then adjust the settings. Tension The "stiffness" of the virtual spring between the controlled object and the highlighted spring object(s). Dampening Acts as a multiplier of an internal factor that determines how quickly the object comes to rest. With the Self Influence spring, changing Dampening has the same effect as changing Drag. With other springs, Dampening affects only the movement caused by that spring. Internally, the dampening value is proportional to the tension, so as you increase the tension and make the solution more stiff, the dampening is increased to maintain system stability. Spring Controller | 3593 Relative/Absolute With Relative chosen, changing the Tension and Dampening settings causes the new settings to be added to the existing values. With Absolute chosen, the new settings replace the existing values. Forces Limits and Precision rollout External Forces group Add Click this button, and then select one or more space warps in the Forces category that are to affect the object's motion. To finish adding space warps, click Add again, right-click in a viewport, or press Esc. Remove Removes highlighted space warps from the list. (List) Lists all spring space warps by name. Calculation Parameters group Start Frame The frame at which the Spring controller first takes effect. Default=0. Iterations The accuracy of the controller application. If you get unexpected results, try increasing this setting. Default=2. Range=0 to 4. X/Y/Z Effect These settings let you control the percentage of the effect on the individual world axes. Default=100.0. Range=0 to 1000.0. 3594 | Chapter 13 Animation TCB Controllers Main toolbar ➤ (Curve Editor (Open)) ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ TCB Graph Editors ➤ Track View - Curve Editor ➤ Select a track in the Track View hierarchy. ➤ Track View toolbar ➤ Controller menu ➤ Assign ➤ TCB Animation menu ➤ Position, Rotation, or Scale ➤ Quaternion (TCB) TCB Controllers produce curve-based animation much like Bezier controllers. However, TCB controllers do not use tangent types or adjustable tangent handles. They use fields to adjust the Tension, Continuity, and Bias of the animation. This controller works well as a Position controller in conjunction with the Motion panel ➤ Trajectories display of an object. With sub-object keys turned on and the Key Info dialog for a key displayed (right-click and select Key Info on the selected key to display Key Info properties), you can change the parameters in the Key Info dialog and see the trajectory path change. This allows for very precise control of an object's trajectory with visual feedback. Euler XYZ is now the default rotation controller in 3ds Max. The TCB Rotation controller was the default rotation controller for files created in versions 4 and earlier. TCB Controllers | 3595 TIP Euler XYZ behaves very differently than TCB rotations. Users upgrading from versions 4 or earlier might have difficulty adapting to the differences between these controllers. If you are used to working with TCB rotations, you can reassign it to be the default rotation controller. Procedures To change an Euler XYZ Rotation controller into a TCB Rotation controller: 1 Select an object animated with an Euler XYZ rotation controller. 2 On the I Motion panel ➤ Parameters ➤ Assign Controller rollout, select the Rotation track in the list window. 3 Click (Assign Controller), and then select Quaternion (TCB). You can also assign this controller in Track View or from the Animation menu. Interface TCB controllers display their properties in a Key Info dialog in Track View and a single Key Info rollout in the Motion panel. Time field Specifies when in time the key occurs. 3596 | Chapter 13 Animation Time Lock Prevents horizontal key motion in Track View edit modes. Key Value fields Stores the animation values for the key. The number and meaning of the fields vary with different parameter data types. Some typical field arrangements are: ■ XYZ fields for Position and Point3 keys ■ XYZ percentage fields for Scale keys ■ A single value field for Float keys TCB Graph Charts the effect that changing the controller properties will have on the animation. The red mark at the top of the curve represents the key. The marks to the left and right of the curve represent an even division of time to either side of the key. The TCB graph is a stylized representation of the animation around a single key. If you want to view the effect of changing TCB properties on the true animation curve, use the Function Curves mode of Track View (works only with position and scale). The following descriptions refer to both the TCB graph and the function curve as the animation curve. NOTE When you are changing the properties of a selection of multiple keys, the TCB graph is blank unless all properties are equal. Ease To Slows the velocity of the animation curve as it approaches the key. Default=0. High Ease To causes the animation to decelerate as it approaches the key. The default setting causes no extra deceleration. Ease From Slows the velocity of the animation curve as it leaves the key. Default=0. High Ease From causes the animation to start slow and accelerate as it leaves the key. The default setting causes no change of the animation curve. Tension Controls the amount of curvature in the animation curve. High Tension produces a linear curve. It also has a slight Ease To and Ease From effect. Low Tension produces a very wide, rounded, curve. It also has a slight negative Ease To and Ease From effect. The default value of 25 produces an even amount of curvature through the key. TCB Controllers | 3597 Continuity Controls the tangential property of the curve at the key. The default setting is the only value that produces a smooth animation curve through the key. All other values produce a discontinuity in the animation curve causing an abrupt change in the animation. Default=25. High Continuity values create curved overshoot on both sides of the key. Low Continuity values create a linear animation curve. Low continuity creates a linear curve similar to high tension except without the Ease To and Ease From side effect. The default setting creates a smooth continuous curve at the key. Bias Controls where the animation curve occurs with respect to the key. Default=25. High Bias pushes the curve beyond the key. This produces a linear curve coming into the key and an exaggerated curve leaving the key. Low Bias pulls the curve before the key. This produces an exaggerated curve coming into the key and a linear curve leaving the key. The default setting distributes the curve evenly to both sides of the key. Rotation Windup (TCB rotation only) When on, rotation keys can be greater than 180 degrees. When off, rotation keys are always less than 180 degrees. This is useful if you want to set a single rotation key to create multiple revolutions of an object. Default=off. WARNING If you have Rotation Windup on and you insert a rotation key between two previously created rotation keys, you might get unexpected directional shifts. Rotation Windup works best if you set keys using a straight-ahead workflow. Waveform Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Select a track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ Waveform Float Graph Editors ➤ Track View - Curve Editor ➤ Select a track in the Track View hierarchy. ➤ Track View toolbar ➤ Controller menu ➤ Assign ➤ Waveform Float The Waveform controller is a float controller that provides regular, periodic waveforms. Created originally to control blinking lights, you can use it on any float value. 3598 | Chapter 13 Animation To view how the trajectory of an object is being affected by the Waveform controller, turn on Motion panel ➤ Trajectories. Procedures To use the Waveform controller to animate the visibility of a sphere: 1 Create a sphere. 2 Open Track View, and select the Sphere track. 3 On the Tracks menu choose Visibility Track ➤ Add. 4 Select the Visibility track, click Controller ➤ Assign, and select Waveform Float. 5 Play the animation to see the effect. To use the Waveform controller to animate the radius of a sphere: 1 Create a sphere. 2 Open Track View - Dope Sheet, and expand the Object (Sphere) track. 3 Select the Radius track, click Controller ➤ Assign, and choose Waveform Float from the Assign Controller dialog. 4 Play the animation to see the effect. Waveform Controller | 3599 Interface After assigning the Waveform controller, in Track View, right-click its track to display its properties in the Waveform Controller dialog. List Window Displays waveforms in a list. Add Adds a new waveform to the end of the list. The default waveform is a sine wave with a period of 10 frames and with an amplitude of 100. Insert Inserts a new waveform before the selected waveform slot. Remove Deletes the selected waveform. This is not available when only one waveform remains. Move Up and Move Down Shifts the selected waveform up and down in the list, allowing the waveform order to be altered. Disable Disables the selected waveform. Waveform group This group provides control parameters for the currently selected waveform. TIP Using the Sphere example, you can observe the waveform in the Function Curve displays of the Track View, and watch changes in the waveform while testing the parameters described below. Name Contains the name of the waveform. 3600 | Chapter 13 Animation Waveform Icons Specifies five waveform types: Sine, Square, Triangle, Sawtooth, and Half Sine. Inverted Flips the waveform vertically. Flipped Flips the waveform horizontally. Period Sets the number of frames to complete one waveform pattern. Spinner Value=float, 0.01 to 9,999,999 Duty Cycle For square waves only, specifies the percentage of time the square wave is "on." Default=50, Spinner Value=float, 0 to 100 Amplitude Sets the height of the wave. Spinner Value=float, 0 to 9,999,999 Phase Sets the offset of the wave. Spinner Value=float, 0 to 1 Vertical Bias group A waveform's output value can be altered by adjusting the Vertical Bias parameter. Spinner Value=float, -9,999,999 to 9,999,999 Centered Centers the waveforms vertical bias about zero. For example, a 100 unit amplitude waveform would range from -100 to 100. Auto > 0 Shifts the waveform above the zero line. Auto < 0 Shifts the waveform below the zero line. Manual Lets you set the waveform manually by adjusting the spinner. Effect group Each waveform has an Effect parameter, which can be one of the following: Add Causes the current waveform's value to be added to the previous waveform's output. This is the default. Multiply Multiplies the previous waveform's output by this waveform's value. Clamp Above Limits the previous waveform's output to be above this waveform's value. Clamp Below Limits the previous waveform's output to be below this waveform's value. Characteristic Graph Characteristic Graph shows one of three displays, controlled by the radio buttons below the display. Waveform Controller | 3601 This Wave Shows the current waveform only, independent of all other waveforms. This Output Shows the output of the current waveform, including all previous waveforms. Final Output Shows the output of all the waveforms in the list. You can also see the final output by turning on the Track View — Curve Editor display for the track which has the waveform controller assigned. All displays show the output graph of the controller waveforms in a solid dark line, with the zero line drawn in a dotted gray line. Two numeric displays to the right show the high and low range of the waveform curve. The graph automatically scales vertically to fit the waveform output curve, and scales horizontally to two times the period of the longest-period waveform. XRef Controller Main toolbar ➤ (Curve Editor (Open)) ➤ Select a transform track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ XRef Controller Graph Editors ➤ Track View - Curve Editor ➤ Select a transform track in the Track View hierarchy. ➤ Track View menu bar ➤ Controller menu ➤ Assign ➤ XRef Controller This controller lets you externally reference any type of Transform controller on page 3436 from another scene file. The XRef controller follows the same concepts and principles as the XRef objects on page 7971 and XRef material on page 6605; it can improve upon the collaborative synergy within a production environment by letting you access animation data currently in another scene while someone else updates it. For example, while an animator works locally on a character's walk cycle, a scene integrator can externally reference it into his master scene comprised of several characters. The integrator can now regularly update his master scene with the latest changes from the source scene; if he notices a problem, the animator can make the appropriate modifications, which reflect in the master scene. 3602 | Chapter 13 Animation You can create an XRef controller with or without an XRef object: ■ You can externally reference a source object's animation without the object itself by assigning an XRef controller to your current selection on page 3604. ■ You can create an XRef object, which automatically nests the source object's Transform controller in an XRef controller. The XRef Objects dialog's XRef Entities list on page 7986 lists both XRefs as separate entries. NOTE The Merge Transforms option must be off to externally reference a controller; otherwise, the controller merges with the current scene. To remove an XRef controller, you can either right-click the entry in the XRef Entities list and choose Merge in Scene from the contextual menu, or assign a new Transform controller to your object. NOTE Replacing the XRef controller with another type removes any animation it contains. Although XRef controllers are read-only in your master scene, you can add a local offset to the object's animation on page 3605. XRef Controller | 3603 Procedures To assign an XRef controller using the Motion Panel: 1 Select an object in the current scene. 2 On the Motion Panel, click Parameters, and open the Assign Controller rollout. 3 Highlight the Transform track in the Assign Controller list. 4 Click (Assign Controller), and then select XRef Controller from the Assign Transform Controller dialog. 5 In the Open File dialog, navigate to the file from which to externally reference the transform controller and then click Open. 6 Use the XRef Merge dialog to designate the object whole transform controller you want to XReference. 3ds Max references the scene object's transform controllers from the external object's controllers. 3604 | Chapter 13 Animation TIP You can also XReference a different controller from either another file or another object via the Parameters rollout of the XRef controller. Object's Transform Position highlighted. Object's Transform Position XReferenced. To add and reset a Transform offset to an XRef Object's Animation 1 Create a sphere at [0,0,0] and 2 Save your scene, then choose animate it from [0,0,0] to [5,5,5] Application menu ➤ Reset. 3 Choose File ➤ XRef Objects. 4 In the XRef Objects dialog, make sure Merge Transforms is off, then click (Create XRef Record From File) and select the scene you just saved. The sphere appears in your master scene at [0,0,0]. XRef Controller | 3605 5 Move the sphere to [10,10,10]. The sphere now translates from [10,10,10] to [15,15,15]. 6 Right-click the XRef Controller entry in the XRef Entities list of the XRef Objects dialog. 7 From the contextual menu, choose Reset PRS Offset. This removes the sphere's local offset, which now returns to its original [0,0,0] position. Interface These controls, similar to those on the XRef Object rollout on page 7996, let you change the file path, file name, and object name of the source of the XRef controller. Hightlight corresponding XRef Record in the XRef Object dialog Opens the XRef Objects dialog on page 7977 and highlights the corresponding XRef record within. File Name controls File Name field Displays the path and file name of the scene containing the source controller. You can edit this to point to a different path and file. File Name display Displays the file name only, without the path. 3606 | Chapter 13 Animation Path button Opens a file dialog from which you select a new file (either .max or .chr). Object controls Object Name field Displays the name of the source object pointed to in the source file which holds the source controller. Object Name display Displays the file name of the source object. Path button Opens an XRef Merge dialog on page 7993 pointing to the scene in the XRef File Name field. Here, you can specify a different object to be used as the XRef object. _____ status line Displays status information regarding the XRef controller: ■ “Unresolved XRef, File Not Found”: Cannot find the scene file containing the specified object name. ■ “Unresolved XRef, Object Not Found”: Cannot find the object in the specified scene. ■ “XRef Resolved”: Both scene and object match. Animation Constraints An animation constraint is a special type of controller that can help you automate the animation process. You can use constraints to control an object’s position, rotation, or scale through a binding relationship with another object. A constraint requires an animated object and at least one target object. The target imposes specific animation limits on the constrained object. For example, to quickly animate an airplane flying along a predefined path, you can use a Path constraint on page 3629 to restrict the airplane’s motion to a spline. You can use keyframe animation to toggle the constraint’s binding relationship with its targets over a period of time. Common uses for constraints include: ■ Linking one object to another over a period of time, such as a character’s hand picking up a baseball bat Animation Constraints | 3607 ■ Linking an object’s position or rotation to one or several objects ■ Keeping an object’s position between two or more objects ■ Constraining an object along a path or between multiple paths ■ Constraining an object to a surface ■ Making an object point toward another object ■ Keeping an object’s orientation in relation to another TIP You can use Schematic View to see all the Constraint relationships in a scene. Using Constraints with Bones Constraints can be applied to bones as long as an IK controller is not controlling the bones. If the bones have an assigned IK controller, you can only constrain the root of the hierarchy or chain. Attachment Constraint Animation menu ➤ Constraints ➤ Attachment Constraint The Attachment constraint is a position constraint that attaches an object's position to a face on another object (the target object doesn't have to be a mesh, but must be convertible to a mesh). 3608 | Chapter 13 Animation Attachment constraints keep the cylinders on the surface. By keying different attachments over time, you can animate the position of an object over the irregular surface of another object, even if that surface is changing over time. Procedures Example: To attach a cone to a bending cylinder: 1 In the Perspective viewport, create a cylinder with a radius of 20, a height of 30, and 10 height segments. 2 In the Perspective viewport, create a cone with a radius 1 of 15, a radius 2 of 5, and a height of 30. Attachment Constraint | 3609 3 Select the cylinder, apply a Bend modifier, and set the bend angle to –70 degrees. 4 Turn on to 70 degrees. (Auto Key), go to frame 100, and set the bend angle The cylinder bends from one direction to the other over 100 frames. 5 Turn off (Auto Key). Example continued: To assign the Attachment constraint and adjust the cone: 1 Select the cone. 2 On the Motion panel, open the Assign Controller rollout, click the Position track, click Attachment. (Assign Controller), and choose The cone moves to the origin of the scene, and the Attachment Parameters rollout is displayed. 3 Click the Pick object, and then click the cylinder. The name of the cylinder is displayed above the Pick Object button. 4 Go to frame 0. Orbit the Perspective viewport so you can see the top surface of the cylinder. 5 Click Set Position, and click and drag over the faces on the top surface of the cylinder. The cone jumps to the top of the cylinder. As you drag the mouse, it jumps to whichever face you drag over. 6 Release the mouse when the cone is on the top surface of the cylinder. 3610 | Chapter 13 Animation Example continued: To adjust the position of the cone relative to the face: 1 Drag in the face display window to position the red x relative to the triangle representing the face. (Because of the radial arrangement of cap faces in a cylinder, the upper-left corner of the displayed triangle is the center of the cylinder cap. You can turn off Edges Only for the cylinder to see this.) 2 Adjust the A and B spinners to move the cone across the surface of the face. 3 Drag the time slider to various frames. As the cylinder bends back and forth, the cone remains attached to its upper surface. Continue adjusting the A and B spinners and dragging in the face display window to adjust the cone's position. 4 Remember the number in the Face spinner, and then lower the spinner value until the cone leaves the cylinder cap and begins jumping around various areas of the cylinder. The Face spinner specifies which face the cone is attached to. As you change its values, the cone moves to different faces on the cylinder. 5 Re-enter the original value in the Face spinner to return the cone to the top of the cylinder. 6 Play the animation. The cylinder bends back and forth with a cone attached to its upper cap. Interface Parameters for this constraint are available on the Motion panel after the controller has been assigned. Attach To group Object Name text Specifies the target object to which the source object is attached. Attachment Constraint | 3611 Pick Object Selects and picks the target object in the viewports for the attachment. Align to Surface Fixes the orientation of the attached object to the face where it's assigned. When this is turned off, the orientation of the attached object is not affected by the orientation of the face on the target object. Update group Update Updates the display. Manual Update Enables Update. Key Info group Current Key Displays the current key number and lets you move to another key. Time Displays the current frame, and lets you move the current key to a different frame. 3612 | Chapter 13 Animation Position group Face Provides the index of the face to which the object is attached. Range=0 to 268435455. A/B Contains the barycentric coordinates defining the position of the attached object on the face. Range=-999,999 to 999,999. (display window) Shows the position of the source object within the attachment face. You can drag within this window to adjust the position of the object relative to the face. Set Position Adjusts the placement of the source object on the target object. Drag over the target object to specify a face and a position within the face. The source object moves accordingly over the target object. TCB group All of the items in this group are the same as in other TCB controllers on page 3595. The orientation of the source object is also interpolated and affected by these settings. Tension Range=0 to 50 Continuity Range=0 to 50 Bias Range=0 to 50 Ease To Range=0 to 50 Ease From Range=0 to 50 Attachment Constraint | 3613 Link Constraint Animation menu ➤ Constraints ➤ Link Constraint A Link constraint is used to animate an object linking from one target object to another. A link constraint enables the robot arms to pass a ball. The Link constraint causes an object to inherit the position, rotation, and scale of its target object. In effect, it allows you to animate a hierarchical relationship, so that the motion of an object to which the Link constraint is applied can be controlled by different objects in the scene throughout an animation. An example of using a link constraint is to pass a ball from one hand to another. Assume that at frame 0 the ball is in a character’s right hand. The hands are animated to meet at frame 50, when the ball is passed to the left hand, and then spread apart until frame 100. This is achieved by assigning 3614 | Chapter 13 Animation the Link constraint to the ball, with the right hand as its target at frame 0, changing to the left hand as target at frame 50. Procedures Example: To assign the Link constraint and animate links: 1 Go to frame 0. 2 In the Top viewport, create a sphere, a cylinder and a box. 3 Select the sphere. 4 Open the Motion panel. 5 Expand the Assign Controller rollout. 6 Select the Transform: Position/Rotation/Scale controller. 7 Click (Assign Controller). 8 Choose Link Constraint. This changes the Transform entry to Transform: Link Constraint and adds a child controller named Link Params: Position/Rotation/Scale, which becomes the immediate parent of the individual transform tracks. It also adds a controller track named Link Times: LinkTimeControl. The purpose of the LinkTimeControl controller is to expose the Link constraint keys in the track bar so they can be manipulated there. You can also assign the Link constraint from the Animation menu ➤ Constraints submenu. It is recommended that you apply Link To World on page 3618 before linking to any target objects. This allows you to animate the object on its own, before the first link to a target object takes place. 9 On the Link Params rollout, click Link To World. This adds a World entry at frame 0 in the link list on the Link Params rollout. Link Constraint | 3615 10 Drag the time slider to frame 1. 11 Click Add Link and select the cylinder. The cylinder becomes a target and is added to the link list. The Link constraint relationship is now active between the sphere and the cylinder. 12 Click Add Link again to turn it off. 13 Drag the time slider to frame 50. 14 Turn on (Auto Key) and move the cylinder a good distance away from where it is. 15 Play the animation. The sphere follows the cylinder as it moves. The sphere is link-constrained. 16 Select the sphere. 17 Drag the time slider to frame 25. 18 On the Motion panel ➤ Link Param rollout, click Add Link, select the box, and turn off Add Link. You have now added another target that becomes active at frame 25. 19 Turn off (Auto Key) and play the animation. The sphere is linked to the cylinder from frame 0 to 24, so it follows the cylinder until frame 25, at which point it links to the box. 20 With the sphere selected, right-click one of the keys on the track bar and open the Delete Key submenu. Notice the “Sphere01: Link Times” item. This is a special key made accessible on the track bar by the LinkTimes: LinkTimeControl controller. You can use these keys to modify link animation directly on the track bar, like regular animation keys, by dragging them on the time line or deleting them. However, unlike other animation keys, they cannot be cloned by Shift+dragging them. 3616 | Chapter 13 Animation To access the Link constraint’s parameters through the Motion panel: 1 Select the Link-constrained object. 2 On the necessary. Motion panel, expand the Link Params rollout, if Interface Once you assign a Link constraint, you can access its properties on the Link Params rollout in the Motion panel. In this rollout you can add and delete Link Constraint | 3617 targets and animate the time at which each target becomes the active parent of the constrained object. You can also modify the animation of link frames by manipulating the keys on the track bar and in Track View. However, standard methods for deleting keys in those contexts do not apply to link keys; you must use the Delete Link function on the Link Params rollout instead. Add Link Adds a new link target. After clicking Add Link, set the time slider to the frame at which to activate the link, and then select the object to link to. You can continue adding links as long as Add Link is on; to exit this mode, right-click in the active viewport or click Add Link again. Link to World Links the object to the world (the scene as a whole). We recommend this be the first target in the list. This prevents the object from reverting to its independent creation or animation transforms if other targets are deleted from the list. Delete Link Removes the highlighted link target. Once a link target is removed, it will no longer influence the constrained object. Start Time Assign or edit the frame value of a target. When you highlight a target entry in the list, Start Time shows the frame at which the object becomes a parent. To change when the link transfer takes place, adjust the value. TIP You can also modify the animation of link frames by manipulating the keys on the track bar and in Track View. Key Mode group NOTE The options Key Nodes and Key Entire Hierarchy have no effect unless the object you are constraining is already part of a hierarchy. If you add objects to the hierarchy after you apply the Link constraint, you have to reapply the Link constraint using the key options you desire. No Key When used, no keyframes are written to the constrained object or its targets. The link control happens without inserting any keys. Key Nodes When used, keyframes are written to the specified option. There are two options: Child and Parents. Child sets a keyframe only on the constrained object. Parents sets keyframes for the constrained object and all of its targets. 3618 | Chapter 13 Animation Key Entire Hierarchy Sets keyframes up the hierarchy for the specified option. There are two options: Child and Parents. Child sets a keyframe only on the constrained object and its parents. Parents sets keyframes for the constrained object, its targets, and their upper hierarchy. LookAt Constraint Animation menu ➤ Constraints ➤ LookAt Constraint The LookAt constraint controls an object’s orientation so that it’s always looking at another object. It locks an object’s rotation so that one of its axes points toward the target object. The LookAt axis points toward the target, while the Upnode axis defines which axis points upward. If the two coincide, a flipping behavior may result. This is similar to pointing a target camera straight up. LookAt constraints enable the antenna dishes to track the satellite. An example of a LookAt constraint’s use would be to constrain the eyeballs of a character to a point helper. The eyes will then always be aimed at the point helper. Animate the point helper, and the eyes follow. Even if you rotate the character’s head, the eyes maintain their lock on the point helper. LookAt Constraint | 3619 Multiple Targets and Weighting A constrained object can be influenced by several target objects. When using multiple targets, each target has a weight value that defines the degree by which it influences the constrained object, relative to other targets. Using Weight is meaningful (and available) only with multiple targets. A value of 0 means the target has no influence. Any value greater than 0 causes the target to influence the constrained object relative to other targets' Weight settings. For example, a target with a Weight value of 80 will have twice the influence of a target with a Weight value of 40. Procedures To assign a LookAt constraint: 1 Select the object you want to constrain. This is the object that will be always looking at its target. 2 Choose Animation menu ➤ Constraints ➤ LookAt Constraint. 3 Click the target object. To access the LookAt constraint’s parameters through the Motion panel: 1 Select the LookAt Constrained object. 2 On the Constraint. Motion panel ➤ Rotation list, double-click LookAt The LookAt constraint parameters are located under the LookAt Constraint rollout. To edit weight values: 1 Select the constrained object. 3620 | Chapter 13 Animation 2 On the Constraint. Motion panel ➤ Rotation list, double-click LookAt The LookAt constraint parameters are located under the LookAt Constraint rollout. 3 Click a target from the list. 4 Use the Weight spinner or enter a numerical value to adjust the weight value. To animate weight values: 1 Select the constrained object. 2 On the Constraint. Motion panel ➤ Rotation list, double-click LookAt The LookAt constraint parameters are located under the LookAt Constraint rollout. 3 Click a target from the list. 4 Turn on (Auto Key). 5 Use the Weight spinner or enter a numerical value to adjust the weight value. LookAt Constraint | 3621 Interface 3622 | Chapter 13 Animation Once you assign a LookAt constraint, you can access its properties on the LookAt Constraint rollout on the Motion panel. On this rollout, you can add or delete targets, assign weighting, assign and animate target weight values, and adjust other related parameters. NOTE When you assign a LookAt constraint via the Animation menu, 3ds Max assigns a Rotation List controller to your object. In the list on the Rotation List rollout, you will find LookAt Constraint, which is the constraint you assigned. To view the LookAt Constraint rollout, double-click the LookAt Constraint entry in the list. Add LookAt Target Use to add new targets that influence the constrained object. Delete LookAt Target Use to remove target objects that influence the constrained object. Weight Use to assign and animate weight values for each target. Available only when multiple targets are used. Keep Initial Offset Maintains the constrained object’s original orientation as an offset to its constrained orientation. Viewline Length Defines the length of the main viewline drawn from the pivot of the constrained object to the pivot of its target (or the average, in case of multiple targets). A negative value draws the line from the constrained object in the opposite direction of the target or targets. With a single target, the length of the viewline is determined by the distance between the constrained object and the target, as well as the Viewline Length setting. However, if Viewline Length Absolute is on, the distance between the two has no effect on the length. The color of the viewline is defined by the Target Line element in the Gizmos category of the Colors panel on page 8860 in the Customize ➤ Customize User Interface dialog on page 8837. NOTE When multiple targets are assigned, additional viewlines drawn from the constrained object to each target object inherit the color of the respective targets. If Viewline Length Absolute is on, the length of each target-specific line is determined by its target's Weight setting and the Viewline Length value. If Viewline Length Absolute is off, the length of each line is determined by the distance between the constrained object and the respective target, as well as the Viewline Length value. An additional (main) viewline, whose length and color are determined as specified above, indicates the actual, calculated orientation. LookAt Constraint | 3623 Viewline Length Absolute When on, 3ds Max uses only the Viewline Length setting for the length of the main viewline; the distance between the constrained object and the target(s) has no effect. Set Orientation Lets you define the offset orientation of the constrained object manually. When on, you can use the Rotation tool to set the constrained object’s orientation. This orientation is then maintained as the constrained object looks at its target. Reset Orientation Sets the orientation of the constrained object back to the default. This is useful if you want to reset the constrained object’s orientation after having set the orientation manually. Select LookAt Axis Use to define the axis that looks at the target. The X,Y,Z check boxes reflect the constrained object's local coordinate system. The Flip check box reverses the directions of the local axes. Select Upnode The default Upnode is the World. Turn off World to manually select an object that defines the Upnode plane. This plane is drawn from the constrained object to the Upnode object. If the LookAt Axis and the Upnode axis coincide, the constrained object will flip. Animating the position of the upnode object will move the upnode plane. Upnode Control group: Lets you quickly flip between LookAt Upnode Control and Axis Alignment. LookAt When selected the Upnode matches the LookAt target. Axis Alignment When this is selected the Upnode Aligns to the object axis. Choose which axis (X, Y or Z) in the Source Upnode Alignment group directly below Upnode Control. Source/Upnode Alignment group Source Axis Chooses the constrained object’s axis that is to be aligned to the Upnode Axis. The Source Axis reflects the constrained object’s Local Axis. The Source Axis and LookAt Axis work together therefore the Axis used to define the LookAt Axis will be unavailable. Aligned to Upnode Axis Chooses the Upnode axis that the selected Source Axis aligns to. Note that the selected Source axis may or may not be able to completely align to the Upnode Axis. 3624 | Chapter 13 Animation Orientation Constraint Animation menu ➤ Constraints ➤ Orientation Constraint An Orientation constraint causes an object’s orientation to follow the orientation of an object or averaged orientation of several objects. Orientation constraints align the awning vanes to the supporting rod. An Orientation Constrained object can be any rotatable object. When constrained it will inherit its rotation from a target object. Once constrained you can not rotate the object manually. You may move or scale the object as long as its not constrained in a manner that effects the object’s position or scale controller. The target object can be any type of object. The rotation of a target object drives the constrained object. Targets can be animated using any of the standard translation, rotation, and scale tools. Multiple Targets and Weighting A constrained object can be influenced by several target objects. When using multiple targets, each target has a weight value that defines the degree by which it influences the constrained object, relative to other targets. Orientation Constraint | 3625 Using Weight is meaningful (and available) only with multiple targets. A value of 0 means the target has no influence. Any value greater than 0 causes the target to influence the constrained object relative to other targets' Weight settings. For example, a target with a Weight value of 80 will have twice the influence of a target with a Weight value of 40. Procedures To assign an Orientation constraint: 1 Select the object you want to constrain. 2 Choose Animation menu ➤ Constraints ➤ Orientation Constraint. 3 Click the target object. To access the Orientation constraint’s parameters through the Motion panel: 1 Select the Orientation-constrained object. 2 On the Controller. Motion panel ➤ Rotation list, double-click Orientation The Orientation constraint parameters are located on the Orientation Constraint rollout. To edit weight values: 1 Select the constrained object. 2 Go to the Motion panel ➤ Orientation Constraint rollout. 3 Click a target from the list. 4 Use the Weight spinner or enter a numerical value to set the weight value. 3626 | Chapter 13 Animation To animate weight values: 1 Select the constrained object. 2 Go to the Motion panel ➤ Orientation Constraint rollout, and choose a target from the list. 3 Turn on (Auto Key). 4 Use the Weight spinner or enter a numerical value to set the weight value. Orientation Constraint | 3627 Interface Once you assign an Orientation constraint, you can access its properties on the Position Constraint rollout in the Motion panel. In this rollout you can add or delete targets, assign weighting, assign and animate target weight values, and adjust other, related parameters. NOTE When you assign an Orientation constraint via the Animation menu, 3ds Max assigns a Rotation List controller to your object. In the Rotation List rollout list you will find Orientation Constraint, which is the constraint you assigned. To view the Orientation Constraint rollout, double-click Orientation Constraint entry in the list. 3628 | Chapter 13 Animation Add Orientation Target Adds new target objects that influence the constrained object. Add World as Target Aligns the constrained object to the world axis. You can weight the amount of influence that the world target has on the constrained object as you would any other target object. Delete Orientation Target Remove targets. Once removing the target, it will no longer influence the constrained object. Weight Assigns and animates weight values for each target. Keep Initial Offset Preserves the original orientation of the constrained object. When you turn off Keep Initial Offset, the object adjusts itself to match the orientation of its target or targets. Default=off. Transform Rule When an orientation constraint is applied to an object that is part of a hierarchy, this determines whether the local node transform or the parent transform will be used for the orientation constraint. Local –>Local When selected, the local node transform is used for the orientation constraint World –>World When selected, the parent or world transform will be applied, rather than the local node transform. Path Constraint Animation menu ➤ Constraints ➤ Path Constraint A path constraint restricts an object's movement along a spline or at an averaged distance between multiple splines. Path Constraint | 3629 Path constraint positions the service platform along the side of the bridge. A path target can be any type of spline. The spline curve (target) defines a path of motion for the constrained object. Targets can be animated using any of the standard translation, rotation, scale tools. Setting keys at a sub-object level of the path, such as vertex or segment, animates the path while affecting the constrained object. Multiple Targets and Weighting A constrained object can be influenced by several target objects. When using multiple targets, each target has a weight value that defines the degree by which it influences the constrained object, relative to other targets. Using Weight is meaningful (and available) only with multiple targets. A value of 0 means the target has no influence. Any value greater than 0 causes the target to influence the constrained object relative to other targets' Weight settings. For example, a target with a Weight value of 80 will have twice the influence of a target with a Weight value of 40. 3630 | Chapter 13 Animation Procedures To assign a Path constraint: 1 Create a Sphere with a radius of 10 and a Circle with a radius of 60. 2 With the Sphere selected, choose Animation menu ➤ Constraints ➤ Path Constraint. You are now in select target mode. 3 In the viewport, click the Circle shape. To access the Path constraint’s parameters through the Motion panel: 1 Select the Sphere. 2 Open the Motion panel. 3 In the PRS Parameters rollout, click the Position button. The Path constraint's settings are located in the Path Parameters rollout. Example: To assign a Path constraint through the Motion panel: 1 Create a Sphere with a radius of 10 and a Circle with a radius of 60. 2 3 Go to Select the Sphere. the Motion panel and click Parameters. 4 Open the Assign Controller rollout and select the Position controller. 5 Click (Assign Controller). 6 Choose Path Constraint from the Assign Position Controller dialog. 7 On the Motion panel, click Parameters. Path Constraint | 3631 8 In the Path Parameters rollout, click Add Path. 9 In the viewport, click the Circle. To edit weight values: 1 On the Create panel, click that is about 120 units long. (Shapes), and create a Line TIP Use the diameter of the Circle to gauge the length of the Line. 2 Select the Sphere. 3 On the Motion panel, open the Path Parameters rollout. 4 Click the Add Path button, then click the line. The Sphere is now affected equally by both paths since the path weighting defaults to 50 5 Adjust the Weight spinner or enter a numerical value for the weight value. Example continued: To animate weight values: 1 Select the Sphere. 2 On the 3 Turn on Motion panel, open the Path Parameters rollout. (Auto Key). 4 Select Line01 from the Path list. 5 Drag the time slider to frame 50 and change the Weight of Line01 to 75. 3632 | Chapter 13 Animation 6 Drag the time slider at frame 100 and change the Weight of Line01 to 10. 7 8 Turn off Select the Circle01 path and change its Weighting to 25. (Auto Key) and play the animation. To correct path constrained object flipping: When an object is assigned a path constraint and the follow box is turned on, the object will rotate as it moves along the path. Sometimes the object is subject to unwanted flipping. 1 Select the object that is flipping. 2 On the Animation menu choose Constraints ➤ Orientation constraint, then constrain the object to another object's orientation. 3 Use the control object to adjust the flipping. Animate the orientation of the control object, while watching the flipped object at the problematic frames. Path Constraint | 3633 Interface Once you assign a Path constraint, you can access its properties on the Path Parameters rollout in the Motion panel. In this rollout you can add or delete targets, assign weighting, and animate each target's weight value. NOTE When you assign a Path constraint via the Animation menu, 3ds Max assigns a Position List controller to your object. In the Position List rollout list you will find Path Constraint. This is the actual path constraint controller. To view the Path Parameters rollout with the constraint settings, double-click Path Constraint in the list. 3634 | Chapter 13 Animation Add Path Adds a new spline path that influences the constrained object. Delete path Removes a path from the target list. Once removing the path target, it will no longer influence the constrained object Weight Assigns and animates weight values for each target. % Along Path Sets the percent that the object is positioned along the path. This duplicates the Value spinner in the track Properties dialog for the Percent track in Track View. If you want to set keys to place an object at a certain percent along the path, turn on Auto Key, move to the frame where you want the key set, and adjust the % Along Path spinner to move the object. NOTE The % Along Path value is based on the parameterization of the spline path’s U value. A NURBS curve might not have an evenly spaced U value, so a value of 50 % Along Path might not translate visually to 50 per cent of the NURBS curve’s length. Follow Aligns the object to the trajectory as it follows the contour. Bank Allows the object to bank (roll) as it negotiates the curves of the spline. Bank Amount Adjusts the amount of the banking to one side or the other, depending on whether the value is positive or negative. Smoothness Controls how rapidly the roll angle changes as the object moves through bends in the trajectory. Smaller values will make the object more responsive to subtle changes in the curve, while larger values smooth out jerking. The default value is a good value for general damping along the curve. Values below 2 tend to make the action jerky, but values around 3 can be very useful for simulating a certain degree of realistic instability. Allow Upside Down Turn on to avoid the situation in which an object flips when going around a vertically oriented path. Constant Velocity Provides a constant velocity along the path. When off, the velocity of the object along the path varies depending on the distance between the vertices on the path. Loop By default, when the constrained object reaches the end of a path it can no longer move past the end point. The loop option changes this behavior so that when the constrained object reaches the end of the path it loops back to the starting point. Relative Turn on to maintain the original position of the constrained object. The object will follow the path with an offset distance based on its original world space position. Path Constraint | 3635 Axis Defines which axis of the object is aligned to the trajectory of the path. Flip Turn on to flip the direction of the axis. The following controls are located on the Hierarchy panel while the IK button is active: Active Activates an axis (X/Y/Z). Allows the selected object to animate along the activated path. Limited Limits the range of motion allowed on an active path. Use in conjunction with the From and To spinners. Ease Causes a joint to resist motion as it approaches its From and To limits. Simulates an organic joint, or worn mechanical joint, moving or rotating freely in the middle of its range of motion but moving less freely at the extremes of its range. From and To Spinners Determine for path limits. Use in conjunction with the Limited function. Damping Applies resistance over a joint's motion along the path. Simulates the natural effect of joint friction or inertia. Position Constraint Animation menu ➤ Constraints ➤ Position Constraint A position constraint causes an object to follow the position of an object or the weighted average position of several objects. 3636 | Chapter 13 Animation Position constraints align the elements of the robot assembly. In order to activate, a position constraint requires an object and a target object. Once assigned the object becomes constrained to the target object’s position. Animating the target’s position causes the constrained object to follow. Each target has a weight value defining its influence. A value of 0 is equal to off. Any value greater than 0 will cause the target to influence the constrained object. Weight values can be animated to create effects such as a ball being picked up from a table. Multiple Targets and Weighting A constrained object can be influenced by several target objects. When using multiple targets, each target has a weight value that defines the degree by which it influences the constrained object, relative to other targets. Using Weight is meaningful (and available) only with multiple targets. A value of 0 means the target has no influence. Any value greater than 0 causes the target to influence the constrained object relative to other targets' Weight settings. For example, a target with a Weight value of 80 will have twice the influence of a target with a Weight value of 40. Position Constraint | 3637 For example, if a sphere is Position-constrained between two targets and each target’s weight value is 100, the sphere will maintain an equal distance between both targets even when they are in motion. If one of the weight values is 0 and the other is 50, then the sphere is influenced only by the target with the higher value. Procedures To assign a Position constraint: 1 Select the object you want to constrain. 2 Choose Animation menu ➤ Constraints ➤ Position Constraint. 3 Click the target object. To access the Position constraint’s parameters through the Motion panel: 1 Select the Position-constrained object. 2 On the Constraint. Motion panel, on the Position list, double-click Position The Position constraint parameters are located under the Position Constraint rollout. To edit weight values: 1 Select the constrained object. 2 On the Constraint. Motion panel, on the Position list, double-click Position The Position constraint parameters are located under the Position Constraint rollout. 3638 | Chapter 13 Animation 3 Click a target in the list. 4 Adjust the Weight spinner or enter a numerical value for the weight value. To animate weight values: 1 Select the constrained object. 2 On the Constraint. Motion panel, on the Position list, double-click Position The Position constraint parameters are located under the Position Constraint rollout. 3 Click a target from the list. 4 Turn on (Auto Key). 5 Adjust the Weight spinner or enter a numerical value for the weight value. Example: To assign a Position constraint with two targets and editing weights: 1 In the Top viewport, create a sphere, a box, and a cylinder so that the box is between the sphere and the cylinder. 2 Select the box, assign a Position constraint, and click the sphere as the target. 3 Click to select the box, assign a Position constraint, and click the cylinder as the target. The box is now position-constrained between the two targets. Position Constraint | 3639 4 In the Top viewport, move the sphere around. As the sphere moves, the box maintains an equal distance between the sphere and the cylinder. This is because the weight values for both targets are equal. By default the values are 1.00. If the sphere had a higher weight value than the cylinder, the sphere would influence the box more than the cylinder. 5 To edit the weight values, 6 Go to the select the box. Motion panel and view the Position Constraint rollout. 7 Click the Cylinder’s name in the list of targets. 8 Using the Weight spinner, change the value from 50 to 20. As the value decreases, the box moves closer to the sphere. 9 In the Top viewport. 10 In the Top viewport, select the cylinder and move it around. select the sphere and move it around. The sphere has more influence over the box’s movement than the cylinder. 3640 | Chapter 13 Animation Interface Once you assign a Position constraint, you can access its properties on the Position Constraint rollout in the Motion panel. In this rollout you can add or delete targets, assign weighting, and animate each target's weight value. NOTE When you assign a Position constraint via the Animation menu, 3ds Max assigns a Position List controller to your object. In the Position List rollout list you will find Position Constraint. This is the actual Position Constraint controller. To view the Position Constraint rollout, double-click Position Constraint in the list. Add position target Adds new target objects that influence the position constrained object. Delete position target Removes targets. Once a target is removed, it will no longer influence the constrained object. Weight Assigns and animates weight values for each target. Keep Initial Offset Use Keep Initial Offset to preserve the original distance between the constrained object and the target object. This prevents the Position Constraint | 3641 constrained object from snapping to the target object’s pivot. The default is Off. Surface Constraint Animation menu ➤ Constraints ➤ Surface Constraint Animation menu ➤ Track View ➤ New/Open Track View ➤ Select a position track in Track View Hierarchy. ➤ Track View toolbar ➤ (Assign Controller) ➤ Surface The Surface constraint positions an object along the surface of another object. Surface constraints position the weather symbols on the globe. The type of object that can be used as the surface object is limited to those whose surfaces can be represented parametrically. Use the Surface constraint with the following types of objects: ■ Sphere 3642 | Chapter 13 Animation ■ Cone ■ Cylinder ■ Torus ■ Quad Patches (single quad patches) ■ Loft object ■ NURBS object The surface used is a "virtual" parametric surface, and not the actual mesh surface. Objects with a low number of segments might have a mesh surface quite different than the parametric surface. The parametric surface ignores Slice and Hemisphere options. So if the object is sliced, for example, the controlled object will position itself as if the missing portion were still there. Since the Surface constraint only works on parametric surfaces, if you apply a modifier that converts the object to a mesh, the constraint will no longer work. For example, you can't use it with a cylinder with a bend modifier applied. Procedures Example: To animate a sphere over the surface of a cylinder: 1 In the Top viewport, create a cylinder and a sphere. 2 Select the sphere, open the Motion panel, expand the Assign Controller rollout, and then expand the Transform heading in the list. 3 In the list window, click the Position item and then click Controller). (Assign 4 In the Assign Position Controller dialog, choose Surface and then click OK. The Surface Controller Parameters rollout replaces the Key Info rollout. 5 Click Pick Surface, and then click the cylinder. Surface Constraint | 3643 6 Turn on (Auto Key), and go to frame 0. 7 Use the V Position spinner to move the sphere to a starting position at the bottom of the cylinder. 8 Drag the time slider to frame 100. 9 Use the V Position spinner to place the sphere at the top of the cylinder. 10 Set U Position to 300. Turn off (Auto Key) and play the animation. The sphere moves over the surface of the cylinder in a helical path. Interface The Surface Constraint Parameters rollout is on the Motion panel. Current Surface Object group This group provides a method for selecting and then displaying the selected surface object. Text Displays the name of the selected object. Pick Surface Selects the object you want used as a surface. 3644 | Chapter 13 Animation Surface Options group This group provides controls for adjusting the position and orientation of the object along the surface. U Position Adjusts the position of the controlled object along the U coordinates of the surface object. V Position Adjusts the position of the controlled object along the V coordinates of the surface object. No Alignment When on, the controlled object is not reoriented, regardless of its position on the surface object. Align to U Aligns the local Z axis of the controlled object with the surface normal of the surface object, and the X axis with the U axis of the surface object. Align to V Aligns the local Z axis of the controlled object with the surface normal of the surface object, and the X axis is aligned with the V axis of the surface object. Flip Flips the alignment of the local Z axis of the controlled object. This check box is not available if No Alignment is turned on. Wire Parameters Select an object. ➤ Animation menu ➤ Wire Parameters ➤ Wire Parameters Select an object. ➤ Right-click quad menu ➤ Transform (lower-right) quadrant ➤ Wire Parameters Wire Parameters lets you link parameters from one object to another in the viewport, so that adjusting one parameter changes the other automatically. This enables you to set up one- and two-way connections between specified object parameters, or to control one or more objects with a dummy object containing the desired parameters. By wiring parameters, you can set up custom constraints directly without having to go to Track View and assign controllers. Parameter wiring is accessible from the Animation menu and the quad menus on page 8640. The Wire Parameters command is available only if a single node is selected. Choosing the Wire Parameters command displays a hierarchical pop-up menu with levels and items corresponding to the animatable tracks that would be visible for that object in Track View. Wire Parameters | 3645 When you make a parameter selection, a dashed line, similar to that displayed in the Select and Link mode on page 3666, is drawn from the selected object to the mouse cursor. The cursor changes from an arrow to a cross whenever it is over a valid destination object. You can right-click at any time to cancel the parameter wiring. While the dashed line is displayed, you can click a destination node or on empty space in the viewport to customize the relationship between two wired parameters. If you click empty space, the Parameter Wiring dialog on page 3647 opens showing the first parameter in the left Tree View and the full scene in the right tree. Clicking a destination node (which can be the same as the originating node) displays a hierarchical pop-up menu for the destination object so you can choose the destination parameter. After you choose a second parameter, the Parameter Wiring dialog opens. You can wire one-way and two-way connections between parameters. For one-way wires, one parameter is effectively slaved to the other and its value changes as the controlling parameter changes, according to a user-defined transfer expression. The controlling parameter can be animated and adjusted as needed using all the animation tools in 3ds Max. This includes making it a controlled parameter in another parameter-wiring setup, so that you could potentially set up a chain of controlled parameters. For two-way wiring, 3ds Max assigns Wire controllers of the appropriate kinds to each of the parameters and they are cross-linked so that changing either parameter cause linked changes in the other. NOTE You should establish all object hierarchies before wiring parameters in a scene. If you change the hierarchy of an object that has a wired parameter, it will take on new parameters, which could introduce undesired results in your wired parameters. TIP Use Schematic View on page 8507 to see all the wired parameter relationships in a scene. You can also use Schematic view to wire parameters. Procedures To attach wire parameters: 1 Select the first object you want to use. 2 Choose Animation menu ➤ Wire Parameters ➤ Wire Parameters, or right-click the object and choose Wire Parameters. 3646 | Chapter 13 Animation A pop-up menu displays the parameters you can link. NOTE Wire Parameters works only with parameters that can be animated. The menu options displayed depend upon the selected object and are the same options you would see for the selected object in Track View. 3 Choose the parameter you want to link to another object from the displayed menu. A dashed line appears. 4 Move the cursor to the second object you want to use. When the cursor changes from an arrow to a selection cross, you are over a valid destination object. Click to select the destination object. A pop-up menu displays the parameters to which you can link. 5 Choose the parameter you want to link from the displayed menu. The Parameter Wiring dialog on page 3647 opens, with the two parameters you selected highlighted in yellow. 6 If you like, change the parameter highlighting in the dialog, and then click the direction buttons between the two panels to determine the control direction: one way either way, or both directions (changes to either object’s selected parameters affect the other object). 7 Click Connect to complete the wiring. Parameter Wiring Dialog Animation menu ➤ Wire Parameters ➤ Choose parameters to wire. Select an object. ➤ Right-click quad menu ➤ Transform (lower-right) quadrant ➤ Wire Parameters ➤ Choose parameters to wire. Select an object. ➤ Modify panel ➤ Right-click text box portion of animatable parameter spinner. ➤ Choose Show In Parameter Wire dialog. Select an object with a wired parameter. ➤ Modify panel ➤ Right-click text box portion of a two-way-wired on page 3651 parameter ➤ Edit Wire The Parameter Wiring dialog allows you to define the relationships for Wire Parameters on page 3645. In this dialog, you can create new one and two-way Parameter Wiring Dialog | 3647 control relationships between object parameters, edit existing relationships, and create or edit expressions which define the parameter relationships. Only parameters that can be animated can be wired. Sub-objects, such as vertices, must be animated before they can be wired. Parameter wires can be used to establish connections from Manipulators on page 2892 and Custom Attributes on page 243 to objects, materials, and modifiers. NOTE Parameter Wiring is a modeless dialog on page 9224, and you can have several dialogs open at the same time. Procedures Example: To use an expression with wire parameters: 1 Create a box and a sphere in your scene. 2 Right-click the box, and from the quad menu choose Transform quadrant ➤ Wire Parameters. 3 From the pop-up menu, choose Object (Box) ➤ Length. A rubber-band dashed line now connects the box and the mouse cursor. 4 Click the sphere and choose Transform ➤ Position ➤ Z Position from the pop-up menu. The position of the sphere and the length of the box are now wired. 5 In the Parameter Wiring dialog, create a one-way wire by clicking the arrow pointing toward the box’s tree view. 6 Type abs( before Z_position, followed by a closing parenthesis, ), in the expression text box for Box01, so that the entire expressions is abs(Z_Position). 7 Click Connect. 8 Move the sphere upward along the Z axis in the viewport. Notice that as the sphere moves in the viewport, the length of the box changes. Using abs() ensures that the box never has a negative length. To control several slave parameters from one master parameter: 1 Open the Parameter Wiring dialog. 2 Choose the master parameter in the tree view. 3648 | Chapter 13 Animation 3 Choose the first slave parameter in the other tree view. 4 Click the arrow pointing toward the slave parameter. 5 Enter the desired relationship expression in the expression text box. 6 Click Connect. 7 Keeping the master parameter selected, choose another slave parameter from the tree view. 8 Click the arrow pointing toward the slave parameter. 9 Enter the desired relationship expression in the expression text box. 10 Click Connect. You can repeat this cycle to set up as many slaves as you want. The result is a “fan” of parameter wires, so that you can control all of the slave parameters at once as you change the master parameter. To create a chain of wired parameters: 1 Open the Parameter Wiring dialog. 2 Choose the first controlling parameter in one tree view. 3 Choose the first slave parameter in the other tree view. 4 Click the arrow pointing toward the slave parameter. 5 Enter the desired relationship expression in the expression text box. 6 Click Connect. 7 Keeping the original slave parameter selected, choose the next slave parameter from the tree view. 8 Click the arrow pointing toward the new slave parameter. 9 Enter the desired relationship expression in the expression text box. 10 Click Connect. You can repeat this cycle, continuing to alternate slaves to masters as many times as you like. The result is a “daisy chain” of parameter wires, so that as you modify the original master parameter, each slave parameter maintains a constant relationship with the next in a line of parameters. Parameter Wiring Dialog | 3649 Interface Tree Views The dialog presents two tree views that display the animatable parameters of all of the visible objects in the scene. The names of the currently selected objects appear at the top. The tree views display the objects in the scene and allow you to select and wire all of the animatable parameters of the objects in the scene and the scene itself. The tree views are color-coded to show existing wiring. A parameter with a wire controller assigned to it (either as the member of a two-way pair or as the slave in a one-way wire) displays in red. When a wire-controlled parameter is selected, all of the parameters wired directly to it are displayed in green text in the other Tree View. In either case, if the parameter is inside a track that is not expanded, the enclosing track will display in red or green, so you can expand the tracks to find the wires. NOTE If you open the Parameter Wiring dialog by wiring two parameters, the tree views initially display only the selected objects, highlighting the parameters that you chose from the pop-up menus during the wiring procedure. If you want to expand the trees, to include all other animatable parameters in the scene, click Show All Tracks. The buttons above the tree views are: Show All Tracks Brings you to the top of the scene object list. 3650 | Chapter 13 Animation Find Next Parameter Finds the next wired parameter in the scene, expanding the tree if necessary to show and select it. You can browse through all existing wires by clicking this button repeatedly. NOTE If you click a wired parameter, its connections are shown in green on the other tree view. While the wired parameter is highlighted, the Show Next Wire button on the other tree cycles through the green connections only, so you can quickly find the selected wire’s connections. Refresh Tree View Content to Selected Node Shows only the node or nodes that are selected in the scene in the tree view. The nodes are shown as currently exanded. Control Direction The Parameter Wiring dialog provides three direction-control buttons between the tree views. You can choose only one of these at a time. These buttons determine the direction of control, either one-way or two-way: ■ Two-way connection [two-headed arrow]Click this to link both parameters to each other, so that changing either parameter affects the other. ■ One-way connection: right parameter controls left parameter [left arrow]The right parameter controls the left parameter. ■ One-way connection: left parameter controls right parameter [right arrow]The left parameter controls the right parameter. NOTE You can change the direction of a wire at any time by clicking the desired direction button and then clicking Connect or Update. Connect/Update The Connect/Update button changes its label depending on whether clicking it would add a new wire to previously unwired parameters (Connect) or change an existing wire’s expressions or direction (Update). Changes to existing wires are only applied when you click Update. Parameter Wiring Dialog | 3651 Disconnect The Disconnect button is enabled when you’ve selected parameters with an existing wire between them. It will remove the wire controller(s) and replace them with the Master parameter’s animation track (if two-way) or with default controllers (if one-way). Master parameters The Parameter Wire system provides a way for the pair of wired parameters to be animated as a single system. It does this by setting up a subcontroller on one of the parameters; any animation on this controller drives the Wire Controller pair. The animation subcontroller is always assigned to the master parameter of the wired pair. By default, this is the parameter that is clicked first in the wiring interaction. The master parameter can also be designated with the Master radio buttons beneath the tree views. The animation subcontroller appears as a nested track inside the master parameter’s track in Track View and its values directly drive and match the master parameter values. If the subcontroller is keyframable (which is the default when a two-way wiring is first established) it can be keyframed by adjustments of either of the wired parameters. This means that if you keyframe the wired pair by adjusting the non-master parameter, the values keyframed into the animation subcontroller are derived from the master parameter transfer expression. Since the wired pair can be animated through either parameter, the choice of master parameter is essentially just a convention. Transfer Expression boxes Underneath the parameter trees are the transfer expression text boxes. These expressions determine how changes to each parameter affect the other and are usually inverses of one another. For more information on expression syntax, see the topic “Script Controllers” in the MAXScript Help. When the parameters are first wired, the default expressions are simple 1-to-1 links between the parameters. These expressions can be edited into any valid script fragment that will yield a result of the correct type for its parameter. For example, if you link a parameter such as height (which contains a float value) to a parameter such as position (which contains a point3 value), your expressions must include conversions that produce the same output value type. For one-way wires, the Expression box for the controlling parameter is unavailable, since there is no Wire controller assigned to it. 3652 | Chapter 13 Animation For two-way wiring, both transfer expression text boxes will be enabled. It is possible for the user to supply transfer expressions for the two parameters that are not inverses of one another, but this is of course discouraged, since the relationship of the parameters will be different depending on which one is changed first. Hierarchies and Kinematics When you animate characters (whether humanoid or otherwise), mechanical assemblies, or complex motion, you can simplify the process by linking objects together to form a hierarchy on page 9183 or chain. In a linked chain, the animation of one member can affect some or all of the others, making it possible to animate a number of objects or bones at once. The term kinematics on page 9200 describes the movement or animation of the chain. There are two types of kinematics: ■ With forward kinematics on page 9169 (FK) , you transform a parent object to move its descendants (its children, their children, etc.). ■ With inverse kinematics on page 9196 (IK), you transform a child object to move its ancestors (its parent and so on up the chain). You can also use IK to make an object “stick” to the ground or another surface, while allowing the chain to rotate off the pivot of that object. Forward kinematics is the most straightforward method for animating hierarchies. Inverse kinematics requires more setup than forward kinematics, but is more intuitive for complex tasks such as character animation or intricate mechanical animation. Hierarchies One of the most useful tools in producing computer animation is the ability to link objects together to form a chain. By linking one object to another, you create a parent-child relationship. Transforms applied to the parent are also transmitted to child objects. A chain is also referred to as a hierarchy. Hierarchies and Kinematics | 3653 Left: A disassembled robotic arm is linked into a hierarchy. Right: The assembled robotic arm uses rotational joints. You can find the commands to build and manipulate hierarchies in the following places in the interface: ■ The Select and Link on page 3666 and Unlink Selection on page 3667 buttons let you make and break links between objects in your scene. ■ The Bones system on page 793 in the Create panel ➤ Systems category lets you create a hierarchy of bones. You can also create bones by choosing Bone Tools on page 806 from the Animation menu on page 8612. You can turn any hierarchy of objects into bones by selecting the hierarchy and turning on Bone Tools dialog ➤ Object Properties rollout ➤ Bone On. ■ The Hierarchy panel on page 8801 contains commands to control how links behave. ■ The Motion panel on page 3749 contains commands to control how links behave when using an History Dependent (HD) Solver 3654 | Chapter 13 Animation Common Uses for Hierarchies ■ Link a large collection of objects to a single parent so they can be easily animated and transformed by moving, rotating, or scaling the parent. ■ Link the target of a camera or light to another object so it tracks the object through the scene. ■ Link objects to dummy objects to create complex motions by combining multiple simple motions. ■ Link objects to simulate jointed structures to animate characters or mechanical assemblies. Parts of a Hierarchy The relationship between objects linked together in a hierarchy is analogous to a family tree. Parent Object that controls one or more children. A parent object is often controlled by another superior parent object. In the following figure, objects 1 and 2 are parent objects. Child Object controlled by its parent. A child object can also be a parent to other children. In the following figure, objects 2 and 3 (the support and hub) are children of object 1. Objects 5 (the seats) are children of object 4, the Ferris wheel. Ancestors Parent and all of the parent’s parents of a child object. In the following figure, objects 1 and 2 are ancestors of object 3. Hierarchies | 3655 The seats of the Ferris wheel are children of the wheel, which is in turn a child of the base and support objects, as shown in the following hierarchy. Descendants Children and all of the children’s children of a parent object. In the figures, all the objects are descendants of object 1. Hierarchy Collection of all parents and children linked together in a single structure. Root Single parent object that is superior to all other objects in the hierarchy. All other objects are descendants of the root object. In the figures, Object 1 is the root. Subtree All the descendants of a selected parent. In the figure below, the Rotational Hub, Ferris Wheel, and Seats represent the subtree under the Support object. 3656 | Chapter 13 Animation 1. Root 2. Leaves 3. Subtree Example of a hierarchical structure Branch Path through the hierarchy from a parent to a single descendant. In the figure above, the Support, Rotational Hub, and Ferris Wheel objects comprise a branch from the root to the leaf objects (the seats). Leaf Child object that has no children. The lowest object in a branch. In the figure above, the Seat objects are leaf objects. Link Connection between a parent and its child. A link transmits position, rotation, and scale information from parent to child. Pivot Defines the local center and coordinate system for each object. You can think of a link as the connection between the pivot of a child object and the pivot of its parent. Hierarchies | 3657 Linking Strategy Before you begin linking any but the simplest hierarchy you should take a few minutes to plan your linking strategy. Your choices for the root of the hierarchy and how the branches grow out to the leaf objects will have important effects on the usability of your model. The strategy behind linking objects into a hierarchy can be reduced to two main principles: ■ The hierarchy follows a logical progression from parent to child. ■ Parent objects move less than their descendants. Within these two principles you have almost unlimited flexibility as to how you link your objects. If you think about how you intend to use the hierarchy, and link it with that use in mind, you will rarely have a problem. Progression from Parent to Child Progression from parent to child means the links do not erratically jump from object to object. If two objects touch each other they should probably be linked as parent and child. There is nothing to prevent you from linking a body in the order of: Thigh->Foot->Shin->Waist. You would probably regret such a linking strategy later. The effort to figure out how to transform objects linked in such a strange way would be quite difficult. A more logical progression would be Foot->Shin->Thigh->Waist. Using Multiple Hierarchies Rather than build a single bone chain from a hip to a toe, you can make one chain from the hip to the ankle, and then a second independent chain from the heel to the toe. You would then link the chains together to form a complete leg assembly. Because they are linked together, the leg and foot chains could be considered one chain. However, the way you animate them treats each chain separately, allowing fine control over the parts. With this type of arrangement on leg and foot chains, the foot could be made to stay on the ground while the leg bends. It also allows for independent control of the foot's rotation, pivoting on the heel or toe, which would then cause the knee to bend. 3658 | Chapter 13 Animation Parents Move Less Than Descendants Because of the way transforms are inherited from parent to child, small adjustments to a parent object might require you to adjust all of its descendants. The typical approach to linking is to choose as your root object the object that moves the least. Objects close to the root should move very little, and leaf objects should move the most. This is especially true when you are linking jointed structures like robots or machinery, or intend to use the hierarchy with inverse kinematics on page 3696. An exception to this rule occurs when you are using the root object as a handle. All of the descendants of the root are just along for the ride. Consider a tray full of objects traveling on a conveyor belt. All the objects should be children of the tray even though the tray moves much more than any of the other objects. Choosing the Root of a Hierarchy You can find the best candidate for the root of your hierarchy by asking the following question: If I move this object, should all of the other objects in the hierarchy move with it? ■ If the answer is almost always, then you are looking at a likely candidate for the root object. Examples of this type of object are a torso, a lamp base, and a tree trunk. ■ If the answer is not often, then you are probably looking at a child object. Examples of this type of object are hands, lamp shades, and tree leaves. If you move a character's hand, for example, its torso should not move. Once you have a few candidates for the root object, you can examine them in greater detail. Use these criteria to determine a good root object for your hierarchy: ■ Moving the root object usually has a great effect on all other objects in the hierarchy. ■ Conversely, the root object is mostly unaffected by movement of other objects in the hierarchy. ■ The root object is rarely animated, and is moved or rotated primarily to place the hierarchy at the correct place in the scene. Hierarchies | 3659 ■ The root object is at or near the hierarchy’s virtual center of mass. The object that best satisfies these criteria is your root object. You then create your hierarchy with all of the other objects as descendants of that root object. Linking Objects for Inverse Kinematics Inverse kinematics (IK) uses the child object as the driving force for the animation. IK is less forgiving and is highly dependent on the linking strategy for performing calculations. You need to consider two additional principles when linking hierarchies for use with inverse kinematics: ■ Links and pivot placement simulate real-world joint locations. ■ Choose an object near the structure’s center of mass, or center of gravity, as the root of the hierarchy. The center of mass in the real world is the point on an object about which reactions to external forces are applied. 3660 | Chapter 13 Animation 1 and 2 each represent the root of the characters. Both structures are suitable for forward kinematics. The structure on the right is best for most inverse kinematics. The figure above shows two approaches to linking a skeletal structure. Either structure is suitable for working with forward kinematics. The structure on the right, however, is a better choice for working with inverse kinematics. ■ The root object is located near the body’s center of mass. ■ The link order more closely simulates the connections of a real body. Hierarchies | 3661 The structure on the left has the arms and torso linked to the neck. The structure on the right links the arms and neck to the torso, a more realistic approach. WARNING Be sure to avoid using non-uniform scaling on objects in a hierarchy that will be animated using IK. You will see stretching and skewing if you do. Instead do all non-uniform scaling at the sub-object level, to avoid this problem. Use Reset XForm if you have objects that exhibit this behavior. Linking Objects After Animation When you link an object to another, the link relationship between the child and its parent is determined by the position, rotation and scale of the parent and child objects when the link is made. Imagine linking a stationary sphere to an animated box. ■ At frame 0 the box is beside the sphere. ■ At frame 50 the box is 20 units away. Original animation, with ball unlinked and stationary while the box moves. 3662 | Chapter 13 Animation Linking the sphere to the box causes the sphere to move with the box. The distance between the sphere and the box depends on the frame when the link is made. Linking the sphere on different frames has the following effects: ■ Link on frame 0, and the sphere stays next to the box as it moves. ■ Link on frame 50, and the sphere stays a distance 20 units away from the box as it moves. Left: Ball linked at frame 0 follows the box on the side. Right: Ball linked at frame 50 follows the box 20 units away. Unlinking Objects After Animation When you unlink a child, its frame 0 transforms are taken from the transforms of its parent at the frame when the link is removed. Imagine a sphere linked to a box moving around the face of a clock. The box starts at 12 o'clock and travels all the way around the face over 100 frames. The figure shows a box moving in a circle with a sphere linked above it. Hierarchies | 3663 Original animation, with ball linked to follow the animated box. If you unlink the sphere, it stops following the box. The position of the sphere depends on its position, rotation or scale at the frame on which the link is removed. Unlinking the sphere on different frames has the following effects: ■ Unlink on frame 0, and the sphere stays at 12 o'clock. ■ Unlink on frame 25, and the sphere stops at 3 o'clock. ■ Unlink on frame 75, and the sphere stops at 9 o'clock. 3664 | Chapter 13 Animation Clockwise from top, position of the sphere unlinked at frame 0, 25 and 75, respectively. Linking and Unlinking Objects Use Select and Link on page 3666 and Unlink Selection on page 3667 on the toolbar to make and remove links between objects. Linking Objects The general process of creating links is to build the hierarchy from child to parent. You click Select And Link on the toolbar, select one or more objects as children, and then drag the link cursor from the selection to a single parent object. The selected objects become children of the parent object. Once objects are linked, any transformations applied to the parent are also applied to its children. For example, if you scale the parent to 150%, the size Hierarchies | 3665 of its children and the distance between the children and the parent are also scaled by 150%. Unlinking Objects Click Unlink Selection to remove the link from selected objects to their parents. Any children of the selected object are unaffected. You can quickly unlink an entire hierarchy by double-clicking the root object to select the object and all of its children. Then click Unlink Selection. Linking Animated Objects You should establish links before you begin animating objects. The linkage of objects with Select and Link cannot be animated; the link remains in force throughout the entire animation. If you want your objects to be linked during one part of the animation but not another, you can a Link constraint on page 3614 to change the linkage at specific frames. Displaying Links A complex mesh hierarchy can be displayed with the links visible, or even with the links replacing the mesh objects. To display links, first select the linked objects. On the Display panel ➤ Link Display rollout on page 148, turn on Display Links to see the links. You can also turn on Link Replaces Object to see only the links and not the objects. Select and Link Main toolbar ➤ (Select And Link) Use the Select and Link button to define the hierarchical relationship on page 9183 between two objects by linking them as child and parent. You link from the currently selected object (child) to any other object (parent). You can link an object to a closed group. When you do, the object becomes a child of the group parent rather than any member of the group. The entire group flashes to show that you've linked to the group. 3666 | Chapter 13 Animation A child inherits the transformations (move, rotate, scale) applied to the parent, but the child's transformations have no effect on the parent. If you want the child not to inherit the transforms, use the Link Inheritance (Selected) Utility on page 3695 or use the controls found in Link Info on page 3824 in the Hierarchy panel. You can also create hierarchical linkages using Schematic View on page 8503. Use the Connect button on the Schematic View toolbar to create hierarchical linkages between nodes. Procedures To link two objects: 1 Click (Select And Link). 2 Drag a line from an object (the child) to any other object (the parent). NOTE You do not need to select the child object first. Unlink Selection Main toolbar ➤ (Unlink Selection) Use the Unlink Selection button to remove the hierarchical relationship on page 9183 between two objects. Unlink Selection detaches a child object from its parent object. TIP You can also link and unlink hierarchies in Schematic View on page 8507. Hierarchies | 3667 Procedures To unlink a child object from a parent object: 1 Select the child object you want to unlink. 2 Click (Unlink Selection). Adjusting Pivots You can think of an object's pivot point as representing its local center and local coordinate system. The pivot point of an object is used for a number of purposes: ■ As the center for rotation and scaling when the Pivot Point transform center is selected. ■ As the default location of a modifier center. ■ As the transform offset for linked children. ■ As the joint location for IK. You can adjust pivot points by clicking Pivot on the Hierarchy panel, and then using the Adjust Pivot rollout on page 3797 tools. The functions on the Adjust Pivot rollout cannot be animated. Adjusting an object's pivot on any frame changes it for the entire animation. See also: ■ Working Pivot Rollout on page 3800 Affecting Pivot Only When Affect Pivot Only is on, move and rotate transforms are applied only to the pivot of a selected object. ■ Moving or rotating the pivot does not affect the object or its children. 3668 | Chapter 13 Animation ■ Scaling the pivot scales the object from the pivot center, but its children are unaffected. Affect Pivot Only transforms the pivot without moving the object. Affecting Object Only When Affect Object Only is on, transforms are applied only to selected objects. Pivots are not affected. Moving, rotating, or scaling the object does not affect the pivot or its children. Hierarchies | 3669 Affect Object Only transforms the object without moving the pivot. Affecting Hierarchy Only When Affect Hierarchy Only is on, rotate and scale transforms are applied only to the links between objects and their children. ■ Scaling or rotating an object affects the link offsets of all its descendents without affecting the geometry of the object or its descendents. The descendents shift position because of the scaled or rotated links. Use this technique to adjust the offset relationship between linked objects. Use this technique to adjust the offset relationship between linked objects and for adjusting bones to match geometry. 3670 | Chapter 13 Animation After a hierarchy is created, you can scale the position of the children without changing the individual objects’ dimensions. Hierarchies | 3671 Rotating the hierarchy does not affect the individual objects’ orientation. Aligning Pivots Buttons on the Alignment group box of the Adjust Pivot rollout change names based on the state of Affect Object Only and Affect Pivot Only. Alignment is disabled when Affect Hierarchy Only is active. Center to Object/Pivot Moves the object, or pivot, so the pivot is at the center of the object. Align to Object/Pivot Rotates the object, or pivot, to align the pivot with the object's original local coordinate system. Align to World Rotates the object, or pivot, to align with the world coordinate system. Resetting the Pivot Click Reset Pivot to return the pivot point of a selected object to the position and orientation it held when the object was first created. Reset Pivot has no effect on the object or its children. The state of the Affect Pivot Only and Affect Object Only is ignored. 3672 | Chapter 13 Animation Viewing and Selecting Hierarchies There are a number of ways to view a hierarchy structure and select objects in it. Viewing a Hierarchy You can use these methods to view the relationships between parents and children in a linked hierarchy. ■ The Select From Scene dialog on page 184 appears whenever you use a by-name selection method, such as choosing Edit menu ➤ Select By ➤ Name, by clicking Select By Name on the main toolbar, or by pressing the H key. To list objects hierarchically, turn on Display Subtree on the dialog. This indents children below their parent. ■ The Hierarchy list on page 3853 at the left side of the Track View window on page 3827 displays all objects using indentation to express hierarchy. Child objects are displayed indented and below their parent. An added advantage of Track View is that you can control the view by collapsing and expanding branches of the hierarchy. Hierarchies | 3673 Displaying the hierarchy in the Controller list A square icon with a plus indicates a collapsed branch under that object, while a minus indicates an expanded branch. Click a plus icon to expand a branch, or a minus icon to collapse it. TIP In complex scenes, use Curve Editor to navigate quickly through the Track View. Simply select the object in the viewport, then right-click and choose Curve Editor. The Track View — Curve Editor will appear with the selected object at the top of the window. ■ You can also use Schematic View on page 8507 to view hierarchies. In addition to showing you the structure, Schematic View contains tools for manipulating hierarchies. 3674 | Chapter 13 Animation Selecting Hierarchy Members: Ancestors and Descendants Once you have selected one or more objects in a hierarchy, you can select its direct ancestor or descendant with the Page Up and Page Down keys. ■ Page Up deselects the object and selects the object’s parent. ■ Page Down deselects the object and selects all its immediate children, but not all descendants down the chain. TIP These navigation commands are particularly useful when setting joint parameters for inverse kinematics. To select an object and all of its descendants, you can: ■ Double-click the object in a viewport. ■ Double-click the object icon in the Track View Hierarchy list on page 3853. Selecting Hierarchy Members: Siblings Available in Customize User Interface on page 8837 are the actions Select Sibling - Next and Select Sibling - Previous, which appear in the Main UI group and All Commands category. You can assign them as hotkeys, toolbar buttons, etc. We recommend assigning them to the cursor keys Right Arrow and Left Arrow, respectively; by default, those keys are not assigned keyboard shortcuts. Using one of these commands replaces the current selection with one object only at the same hierarchical level. More precisely, a sibling is defined in this context as an object of equal generational distance from the selected object's nearest parent. All objects that fit this definition are siblings, so that in asymmetrical hierarchies, object A can be a sibling of object B, but the reverse is not necessarily the case. Hierarchies | 3675 Take, for example, the asymmetrical hierarchy of dummy helper objects shown below: Hierarchy in viewport (numbers added) Hierarchy in Select From Scene dialog From the viewport image, it might appear that Dummy objects 06, 08 and 02 are siblings of each other. However, the setup is actually more complicated, because Dummy objects 02 and 08 are direct children of Dummy03, while Dummy06 is a direct child of Dummy05, which has the same hierarchical level as Dummy03: ■ Selecting Dummy06 and activating Select Sibling - Next results in Dummy08 being selected. ■ Selecting Dummy06 and activating Select Sibling - Previous results in Dummy02 being selected. ■ With Dummy02 selected, activating either Select Sibling command results in Dummy08 being selected, and the selection continues alternating for each subsequent invocation of either command. This is because 3ds Max looks only as far as the next branch above the selected object, resulting in Dummies 02 and 08 being siblings of Dummy06, but not vice versa. Defining a sibling in this way has the practical advantage of letting you, for example, cycle through the selection of all finger links on one side of a 3676 | Chapter 13 Animation character without the selection jumping to the other hand. But cycling through siblings with an arm object selected usually results in selecting the opposite arm object. When using these commands, hidden on page 9183 and frozen on page 9171 objects can't be selected, but are considered part of the hierarchy when deciding what is and is not a sibling. Also, if a selection filter on page 164 is active, siblings that don't meet the filter's criteria cannot be selected. In all such cases, ineligible siblings are skipped in favour of a further sibling, if any exists. Customizing the Quad Menu You can customize the quad menu on page 8640 so it displays commands to select children, or ancestors, or both. From the Customize menu, choose Customize User Interface on page 8837. On the Quads on page 8847 tab, drag Select Ancestor or Select Children from the list of all commands to the quad menu. Then you can easily select children or parents with a right-click and then a click. Animating with Forward Kinematics The default method of manipulating a hierarchy uses a technique called forward kinematics on page 9169. The basic principles employed by this technique are: ■ Hierarchical linking from parent to child ■ Placement of pivot points to define the connecting joint between linked objects ■ Inheritance of position, rotation, and scale transforms from parent to child You animate the objects of a hierarchy in much the same way you animate anything else. Turn on the Auto Key button and transform members of the hierarchy at different frames. However, you need to be aware of a few special issues for animating hierarchies. How Links and Pivots Work Once two objects are linked together, the child object maintains its position, rotation, and scale transforms relative to its parent object. These transforms are measured from the pivot of the parent to the pivot of the child. For example, consider the two boxes in the following figure. The larger box is the parent of the smaller. The pivots and link between the boxes are Animating with Forward Kinematics | 3677 indicated to show how the link works. The link extends from the pivot of the parent and connects to the pivot of the child. You can think of the child’s pivot as being the joint between the parent and child. Parent and child objects linked by their pivot points. 3678 | Chapter 13 Animation Rotating the parent affects the position and orientation of the child object. Animating with Forward Kinematics | 3679 Rotating the child does not affect the parent. Links act as a one-way conduit to transmit the transforms of a parent object to its child object. If you move, rotate, or scale the parent, the child is moved, rotated, or scaled by the same amount. Because hierarchical links are one-way, moving, rotating, or scaling the child has no effect on its parent. The end result is that transforms applied to a child object are applied in addition to any transforms inherited from the child’s parent. Animating a Parent Object Only transforms are passed from parent to child. Animating a parent object using move, rotate, or scale animates the parent and the subtree attached to the parent. Animating a parent's modifiers or creation parameters has no effect on its descendants. 3680 | Chapter 13 Animation Moving the root parent moves the whole hierarchy. Animating with Forward Kinematics | 3681 Rotation of a parent object is passed to all the child objects. Animating a Child Object With forward kinematics, a child is not constrained by its link to a parent. You can move, rotate, and scale children independent of their parents. 3682 | Chapter 13 Animation Moving the last child object does not affect any of the previous objects in the hierarchy. Animating with Forward Kinematics | 3683 Rotating a child object in the middle of the hierarchy affects all the descendants but none of the parents. If you want to manipulate parent objects by moving the last child in the chain, use inverse kinematics on page 3696. Manipulating the Hierarchy A child object inherits the transforms of its parent, and the parent inherits the transforms of its ancestors all the way up the hierarchy to the root object. Because forward kinematics employs this method of inheritance, you must position and animate your hierarchies using a top-down method. 3684 | Chapter 13 Animation Manipulating the hierarchy of a leg. Consider the linked mannequin in the figure. If you want to position the mannequin’s right foot to rest on top of the soccer ball beside it, you perform the following steps: 1 Rotate the right thigh so the entire leg is above the soccer ball. Animating with Forward Kinematics | 3685 2 Rotate the right shin so the foot is near the top of the soccer ball. 3 Rotate the right foot so it is parallel with the top. 4 Repeat steps 1 through 3 until the foot is properly placed. You always start transforming objects at the highest-level parent affected by the motion and work your way down the hierarchy to the last child. You have considerable control over the exact placement of every object in the hierarchy using forward kinematics. However, the process can become tedious with large and complex hierarchies. In such situations, you might want to use inverse kinematics on page 3696. Using Dummy Objects The primary use of dummy helper objects on page 2871 is to assist in creating complex motions and building complex hierarchies. Because dummies are invisible when rendered, they are an excellent choice for offset joints, connectors between objects, and handles for complex hierarchies. Dummies and Points on page 2884 can act as null objects that function as controls for transforming parts of an IK chain. Using a Dummy to Control Motion Breaking complex motions into simple components often makes it easier to go back and edit your animations. Consider a bouncing ball that moves along a path. You could animate the ball by positioning it on many frames, but it would be very difficult for you to go back and adjust the height of the bounce or the path of the ball. You have to edit the motion of the ball on many frames to make even a simple change. Using a dummy object solves this problem by breaking the motion into simple components. One component is the up and down bounce of the ball. The other is movement on the path. 3686 | Chapter 13 Animation Combining the bouncing motion of a ball with the forward motion of a dummy results in a moving bouncing ball. Using a Dummy as a Handle You might want to move and animate a selection of objects individually but also have the ability to transform them as a single object. A good example of this is a camera on a tripod. You want to adjust both the camera and its target individually but also want to move them together as a single unit. Procedures Example: To create a complex bounce motion using a dummy object: 1 Start with a sphere, then create a dummy object below the sphere, and link the sphere as a child of the dummy. 2 Animate the sphere bouncing up and down above the dummy. Animating with Forward Kinematics | 3687 3 Animate the dummy moving. The sphere bounces on top of the dummy object as the dummy moves around the scene. You can easily change the height and speed of the bounce by changing the sphere animation. You can change the path through the scene by changing the dummy animation. To create a camera tripod: Create a dummy object below a target camera and link the camera and target as children of the dummy object. The camera and the target follow the dummy object. You can quickly position the camera by placing the dummy object and compose your view by adjusting the camera and its target. ■ Animating Links You assign a Link constraint on page 3614 to an object to animate links from one parent to another. You use a link constraint instead of using the regular Select and Link and Unlink Selection buttons on the toolbar. (See Animation Constraints on page 3607.) An example of using a link constraint is to pass a ball from one hand to another. Assume that at frame 0 the ball is in the first hand. The hands are animated to meet at frame 50 and then spread apart until frame 100. To animate the links for the ball: 1 On the Motion panel, assign a Link constraint as the ball's Transform controller. You can also put a Link constraint on the ball from the Animation menu by choosing Constraints ➤ Link Constraint. 2 Go to frame 0, then on the Motion panel, click Add Link, and click the hand holding the ball. The ball will now move along with the hand, as if it were linked to it. 3 Drag the time slider to frame 50, where you want the second hand to pick up the ball, click Add Link, then click the second hand. From this frame on, it's as if the ball were linked to the second hand. 3688 | Chapter 13 Animation When you play back the animation, the ball travels with the first hand until frame 50, where you added the second link, then the ball is passed to the second hand for the rest of the animation. Robot arms pass a ball from one hand to the other. Adding and Deleting Links You add and delete links on the Motion panel. Expand the Link Parameters rollout and click Add Link or Delete Link. ■ Click Add Link then click the object that you want to link to as a parent. The frame at which you add the link is the frame at which control is passed. You can change the link frame with the Start Time parameter. Animating with Forward Kinematics | 3689 ■ Click the name of a parent object in the list, and then click Delete Link to remove the link. Properties of the Link constraint include: ■ The Link constraint respects the link inheritance settings applied to the child object. ■ The object using a Link constraint is not a true child object. It does not appear in the subtree of any linked parent objects. ■ Objects with Link constraint do not participate in IK solutions. Link to World You can also link an object to the world using the Link to World button. This will keep the object stationary without the use of a dummy object. Just click Link to World and the world is automatically entered as a Target. Key Modes You can choose between three different key modes, which determine how keyframes are written on the linked objects as part of the link constraint. These options provide the following: No Key Mode No keys are created any of the objects involved. No keys will be visible in the track bar. Key Nodes Sets keys for some of the objects. Child applies keys to the child object only. Parents applies keys to both parents and the child object. Key Entire Hierarchy This applies keyframes to the chosen nodes and their entire hierarchies. Child keys the chosen object and the nodes in its hierarchy up to the world. Parents keys both parents and the child and all three hierarchies up to the world. Side Effects of the Link Constraint The Link constraint works to keep a child object from jumping position at the time when the link changes from one parent to another parent. Considering the previous example, the following should hold true: ■ During frames 0 to 50 the ball remains constant relative to the first hand. ■ During frames 50 to 100 the ball remains constant relative to the second hand. 3690 | Chapter 13 Animation ■ At frame 50, the time when link control changes, the ball does not jump. If you change the animation of the second hand at frame 75, it affects the position of the hand relative to the ball at the time of the link (frame 50). This change in relative position affects the ball over all frames where it is linked to the second hand. Therefore, as you change the position of the hand at frame 75, the child's position will also change, possibly in a counter-intuitive way. However, when playing back the animation the above three rules will hold true. Adjusting Object Transforms You use the features on the Adjust Transform on page 3804 rollout to transform objects after they have been linked without transforming descendents, and to reset an object's transform. Transforming Parent Objects You might discover, after linking a number of objects, that you need to move, rotate, or scale a parent object but you do not want to affect the object's descendents. You can transform a parent object without affecting its descendents by clicking Don't Affect Children on the Adjust Transform rollout of the Hierarchy panel. Resetting an Object's Orientation and Scale Click the Transform button in the Reset group to rotate an object's pivot to match its parent's local coordinate system. Descendents of the object are not affected. Resetting an Object's Scale Only Click the Scale button in the Reset group to set the current scale value as the selected object's base scale value. All following scale transforms are then applied using the base scale value as an absolute local scale of 100%. Consider a sphere with a radius of 20 units and a linked child object: 1 Use Uniform Scale to scale the sphere to 200%. The sphere and its child become twice as big. Scale Transform Type-In reports an Absolute Local Scale of 200% and the object's creation parameters report a radius of 20 units. The true radius of the sphere is 200% of 20 units, or 40 units. Animating with Forward Kinematics | 3691 2 Select the sphere and click Reset Scale. The sphere and its child remain the same size. Here's what has happened: The 200% scale has been absorbed by the sphere as its original state. The sphere has a true radius of 40 units, Creation Parameters report a radius of 20 units, and absolute local scale is 100%. The sphere's child object accepts a local scale of 200% so it does not change in size. Resetting the scale of an object can lead to confusion because the object's true size, absolute local scale, and creation parameters no longer match up. Using the Reset Transform Utility You can also reset the orientation and scale of an object by clicking Reset XForm on page 849 on the Utilities panel on page 8810. Reset XForm takes the rotation and scale transforms of an object and places them in an XForm modifier on the modifier stack. Consider the same sphere as before with a radius of 20 units and a linked child object: 1 Use Uniform Scale to scale the sphere to 200%. The sphere and its child become twice as big. The Scale Transform Type-In reports an Absolute Local scale of 200% and Creation Parameters report a radius of 20 units. The true radius of the sphere is 200% of 20 units, or 40 units. 2 Select the sphere and click Reset XForm. The sphere remains the same size but its child reverts to its original size and position. Here's what has happened: The 200% scale has been placed in an XForm modifier on the sphere's modifier stack. The sphere has a true radius of 40 units, Creation Parameters report a radius of 20 units, and absolute local scale is 100%. The sphere's child object now sees only the 100% local scale so it reverts to its original size and position. 3692 | Chapter 13 Animation Locking Object Transforms You can lock an object’s ability to move, rotate, or scale about any of its local axes by selecting objects and then setting options on the Locks on page 3824 rollout of the Hierarchy panel. Enabling and disabling Local transform axes is also referred to as setting degrees of freedom (DoF) for an object. If an axis is enabled, an object is free to transform about that Local axis. The Locks rollout contains three groups: one each for Move, Rotate, and Scale. Each group contains three options, one each for the X, Y, and Z Local axes of the selected objects. ■ When turned on, the objects cannot be transformed about the selected Local axes when you directly use one of the transform tools. Objects can still be transformed by other means such as being a child of a transformed parent object or being part of an inverse kinematics chain. ■ When turned off, objects can be freely transformed about the unlocked Local axes. Animating Attachment You assign an Attachment constraint on page 3608 to cause an object to hold a position on the surface of another object. The Attachment constraint is not a hierarchical link, but it has the effect of "linking" an object to the surface of another object as follows: ■ Attach a "source" object to the face of a "target" object so that the source object acts as if it's glued to the target object, no matter how the surface of the target object is deformed. ■ Animate the Attachment parameters so that the source object moves over the surface of the target object. Unlike hierarchical linking, which considers only object transforms, an object using an Attachment constraint follows the deformations of another object based on that object's modifiers and space warp bindings. See Animation Constraints. on page 3607 Animating with Forward Kinematics | 3693 Setting Attachment Parameters You use features on the Attachment Parameters rollout on the Motion panel, to pick a target object and position the source object. ■ Click Pick Object, then click the target object to perform the attachment. ■ Click Set Position and click or drag on the surface of the target object to place the source object onto the surface. If you want to move the source object along the normal of the face (move it below or above the face) click Affect Object Only on the Hierarchy panel and move the object, using Local transform coordinates. ■ Turn on Align to Surface if you want to align the world Z axis of the source object with the surface normal of the target object. Even with Align to Surface selected, you can always rotate the source object to orient it the way you want in relation to the target object. If you were to align trees on an uneven terrain, you would turn off Align to Surface so that all of the trees grew upright, regardless of the angle of the terrain surface. Animating Attachment Position You can move to any frame and click Set Position to animate the source object moving across the surface of the target object. It is not necessary to turn on the Auto Key button, because you are working with an animation constraint. When you set positions for the source target on multiple frames, its attachment to the target object is only fixed at each keyframe. Frames between keys are interpolated and might not match the target surface. If you need the object to remain on the target surface, try using a Surface Constraint, rather than attachment. Test your animation, and either adjust the values of the keys, or add intermediate keys to better match the target surface. Too many keys can result in jittery movement of the source object, while too few keys might result in the source object missing the surface of the target object over some frames. Changing Link Inheritance Links can transmit transform information from a parent to a child. By default, a child inherits all of the transforms of its parent. To set an object's ability to inherit the move, rotate, and scale transforms of its parent, you use the Inherit on page 3825 rollout of the Hierarchy panel. Use its settings to limit which transforms a child inherits. 3694 | Chapter 13 Animation The Inherit rollout is available only when you have selected a single object. When multiple objects are selected, the rollout is disabled. Setting Link Inheritance Options Set the Inherit options to release the link components between a selected object and its parent for any world axis of Move, Rotate, or Scale. The options that appear when you expand the Inherit rollout are determined by the transform controllers assigned to the selected object. The Inherit rollout for objects using standard position, rotation, and scale controllers contains three groups: one each for Move, Rotate, and Scale. Each group contains three options, one each for the X, Y, and Z world axes. ■ When turned on, transform information from the parent is passed on to the child for the selected World axes. ■ When turned off, transform information for the selected axes is ignored by the child. Imagine you are animating a Ferris wheel that rotates on the world Y axis. The wheel is the parent and the cars are its children. You want the cars to ignore the Y axis rotation of the wheel. Otherwise, the passengers would all fall out. You use Link Info to turn off the Y axis option on the Rotation group of the Inherit rollout for each car. Using the Link Inheritance Utility The Link Inheritance on page 3695 utility works exactly the same as the Inherit rollout in the Link Info group on the Hierarchy panel, except that you can set link inheritance for multiple objects in a selection set. For example, on a Ferris wheel, you could select all of the cars and use the Link Inheritance utility to turn off Y axis rotation for all the cars at once. Link Inheritance (Selected) Utility Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Link Inheritance (Selected) The Link Inheritance (Selected) utility constrains the links between multiple objects in a selection set for any axis of position, rotation, or scale. Animating with Forward Kinematics | 3695 This utility works exactly the same as the Inherit rollout on page 3825 in the Link Info group box in the Hierarchy panel on page 8801, except that it lets you adjust link inheritance for multiple objects in a selection set, while the functions in the Hierarchy panel work only on single objects. Procedures To prevent the inheritance of X rotation in a hierarchy: ■ Select one or more objects, and then turn off X in the Rotate group of the Inherit rollout. Interface XYZ Turn off any axis in the Move, Rotate, or Scale groups to prevent inheritance. When a box is turned on, transform information from the parent is passed on to the selected objects for the selected axis. When a box is turned off, transform information on that axis is ignored by the selected objects. Inverse Kinematics (IK) Inverse kinematics (IK on page 9196) is a method of animating that reverses the direction of the chain manipulation. Rather than work from the root of the tree, it works from the leaves. 3696 | Chapter 13 Animation Using IK to animate a leg Let's take the example of an arm. To animate an arm using forward kinematics, you rotate the upper arm away from the shoulder, then rotate the forearm, the hand from the wrist and so, on adding rotation keys for each child object. To animate the arm using inverse kinematics, you move a goal that positions the wrist. The upper and lower arms are rotated by the IK solution which moves the pivot point of the wrist, called an end effector on page 9144, toward the goal. In the case of a leg, for example, the foot is constrained to the floor by the goal. If you move the pelvis, the foot stays put since the goal has not moved, and this causes the knees to bend. The entire animation is contained in keyframes for the goal and the root, without keys being applied to the individual chain objects. Inverse Kinematics (IK) | 3697 With inverse kinematics you can quickly set up and animate complex motions. The basic procedure involves these tasks: ■ Build a model. It could be a jointed structure or many pieces or a single continuous surface. ■ Link the jointed model together and defining pivot points, as described in Hierarchies on page 3653. For a continuous-surface model, create a Bones on page 793 structure or use a biped to animate the skin of the character. ■ Apply IK solvers on page 3704 to the jointed hierarchy. You will probably create several IK chains throughout the hierarchy, rather than just one. You might also create several independent hierarchies, rather than link everything together in one large hierarchy. For simple inverse kinematic animation you can use interactive IK, without applying any IK Solver. ■ Define joint behavior on page 3787 at the pivot points, setting limits or preferred angles, depending on the type of IK solvers you are using. Here you can set up sliding joints or rotating joints. You might also need to move the root of the hierarchy, and you might want to add control objects such as dummies or points at this point. ■ Animate the goal (in the case of an HI Solver on page 3715 or IK Limb solver on page 3766) or the end effector (in the case of the HD Solver on page 3744). This animates all the components of the IK chain. You can apply constraints on page 3607 to the goals or control objects or to the root of a chain. You can externally reference IK chains in your scene. An XRef IK chain behaves the same as a non-XRef chain, except that you cannot retarget its XRef controller on page 3602 once it is in your master scene. For more information, see XRef Objects on page 7971. Control Objects to Assist IK You can link a goal or an end effector to points, splines, or dummy objects that serve as quick controls to translate or rotate the end of the chain. These control objects can be linked together as well, or they can be controlled with constraints. You can also use parameter wiring to build relationships between these control objects. You can wire control objects to manipulator helpers on page 2892 or to custom attributes on page 243, creating an easily accessible interface for your animatable model. 3698 | Chapter 13 Animation You can add further controls to manipulate the elements in the middle of the chain. NOTE In the HI Solver on page 3715, the swivel angle on page 3720 has its own manipulator, which can be animated or linked to another target object. Differences Between Forward and Inverse Kinematics Forward kinematics uses a top-down method, where you begin by positioning and rotating parent objects and work down the hierarchy positioning and rotating each child object. Basic principles of forward kinematics include: ■ Hierarchical linking from parent to child. ■ Pivot points defining joints between objects. ■ Children inheriting the transforms of their parents. These principles are fairly forgiving. As long as everything is linked together and the pivots are located at joint locations, you can successfully animate the structure. Inverse kinematics (IK) uses a goal-directed method, where you position a goal object and 3ds Max calculates the position and orientation of the end of the chain. The final position of the hierarchy, after all of the calculations have been solved, is called the IK solution. There are a variety of IK solvers that can be applied to a hierarchy. Inverse kinematics starts with linking and pivot placement as its foundation and then adds the following principles: ■ Joints can be limited with specific positional and rotational properties. ■ Position and orientation of parent objects are determined by the position and orientation of child objects. Because of these additions, IK requires greater thought about how you link your objects and place pivots. Where many different solutions for linking objects may be suitable for forward kinematics, there are usually just a few good solutions for any given IK approach. Inverse kinematics is often easier to use than forward kinematics, and you can quickly create complex motions. If you need to edit those motions later, it can be simpler to revise the animation if you are using IK. It also is the best way to simulate weight in an animation. Inverse Kinematics (IK) | 3699 See also: ■ IK Solvers on page 3704 ■ Linking Strategy on page 3658 ■ Bones System on page 793 ■ Using Objects as Bones on page 805 IK Terminology Using inverse kinematics requires that you set parameters for a number of IK components. Brief definitions of these components follow; details are provided in other topics. NOTE 3ds Max offers a variety of inverse kinematics systems. There are four kinds of IK solvers, plus applied IK and interactive IK systems that don't use IK solvers. Not all of the following parameters are used by all the systems. IK Solvers An IK solver applies an IK solution to a kinematic chain. The kinematic chain is composed of a bones system, or a set of linked objects. Joints An IK joint controls how an object transforms with respect to its parent. You specify joint behavior with settings in three categories: ■ Object Pivot PointThe location of an object’s pivot point defines where joint motion is applied. ■ Joint ParametersChanging the IK settings in the Hierarchy command panel determines the direction, constraints, and order of how the joint operates. ■ Parent Pivot PointThe location of an object’s parent pivot point defines the origin from which the joint constraints are measured. The commands you use to place the pivot points for both the object and its parent are described in Adjusting Pivots on page 3668. Start and End Joints The start and end joints define the beginning and end of an IK chain managed by the IK solver. The hierarchy of the chain determines the direction of the chain. The pivot point of the end joint is displayed as the end effector, when end effector display is enabled. Kinematic Chain Inverse kinematics calculates the position and orientation of objects in a kinematic chain. The kinematic chain is defined as any part of a hierarchy under IK control. The IK chain starts with a selected node and 3700 | Chapter 13 Animation consists of a start joint and an end joint. The base of the chain is either the root of the entire hierarchy, or an object that you specify as a terminator for the chain. The kinematic chain is defined when you apply an IK solver to a chain, or when you create a bone chain with an IK solver automatically applied. Goal The goal is used by the HI Solver to manipulate the end of the chain. When the goal is animated, the IK solution attempts to match the end effector (pivot point of the last child in the chain) to the goal position. When using an HD Solver, the end effector fulfills the same function as the goal. End Effector For any IK solution, you explicitly move a control object. IK calculations then move and rotate all other objects in the kinematic chain to react to the object you move. The object that you move is the goal, in an HI Solver or IK Limb Solver, or in the case of an HD Solver, an end effector on page 9144. Preferred Angle Determines which direction a joint will bend. The preferred angle establishes a base angle between chain elements when an HI Solver is applied. The IK Solution seeks this angle in calculations. Solver Plane and Swivel Angle Manipulator A plane can be defined between the start and end joints, which aids in controlling the IK solution. Adjust or animate the solver plane by changing the swivel angle manipulator when in manipulate mode. This determines an up-vector handle for the chain, which can also be animated over time. You can also define a target for the swivel angle manipulator to follow. For more information, see White Paper: Swivel Angle of the HI IK Solver on page 3720. Terminators You can explicitly set the base of an HD (History-Dependent) IK chain by defining one or more objects as terminators. A terminator object stops the IK calculations so that objects higher up the hierarchy are unaffected by the IK solution. Terminator objects are also used to define hierarchies that use multiple HD IK chains. Terminator objects are not used in HI Solvers or IK Limb Solvers. In these cases the termination is determined by the end joint of the chain. Bound Objects Objects in your hierarchy can be bound to the world, or they can be bound to other objects called follow objects on page 9167. Binding allows objects in your hierarchy to be influenced by objects that are not part of the hierarchy. ■ An object bound to the world will attempt to maintain its current position and orientation. ■ An object bound to a follow object will attempt to match the position and orientation of the follow object. Inverse Kinematics (IK) | 3701 ■ You can bind to a follow object when you use an HD Solver, or when Applied IK is used. If you want to bind to a follow object when using an HI or IK Limb Solver, apply a position constraint between the goal and any follow object of your choice (usually a point, dummy, spline, or bone). Enabled IK (HI Solver) When using the HI Solver, you can animate with either inverse kinematics or forward kinematics (FK). When Enabled is turned on, inverse kinematics controls the chain, and keyframes are placed only on the goal. When Enabled is turned off, forward kinematic rotational keys are placed on all the bones. IK/FK Snap (HI Solver) When using the HI Solver, if you animate using both IK and FK, you might create a situation where the goal has moved away from the end of the chain, causing a jump in the animation. Pressing IK/FK Snap will result in the goal being moved back to match the position of the end effector, eliminating the jump in the animation. IK for FK pose (HI Solver) When this button is turned on, moving the goal automatically sets rotation keys for the bones. In effect, this lets you use IK manipulation to create your pose, setting FK keys. Inverse Kinematics Methods Inverse kinematics builds on the concepts of hierarchical linking. To understand how IK works, you must first understand the principles of hierarchical linking and forward kinematics. See Animating with Forward Kinematics on page 3677 and Inverse Kinematics (IK) on page 3696. IK Solvers IK solvers on page 3704 are specialized controllers that apply IK solutions procedurally across a range of frames. Four different IK solvers ship with 3ds Max: ■ HD (History-Dependent) Solver ■ HI (History-Independent) Solver ■ IK Limb Solver ■ Spline IK Solver 3702 | Chapter 13 Animation TIP In order to put an IK solver on a two-bone chain, a third bone is needed. Choose the first bone, then from the Create menu click IK solver, then click the third bone in the viewport. In general, all IK solvers: ■ Work on any hierarchy. ■ Work on any hierarchy or bone structure. ■ Calculate IK solutions for all frames in real-time as you make changes. ■ Allow you to create multiple IK chains within a single hierarchy. ■ Allow you to create multiple or overlapping IK chains within a single hierarchy. ■ Display active joint axes and joint limits graphically. ■ Use a node, goal or an end effector to animate the end of a chain. ■ Use an end effector to animate the end of a chain. An IK solver places keyframes only on the IK goal or end effector, as opposed to forward kinematics (or the non-solver IK methods), which place rotation keyframes on the bones or hierarchical objects themselves. Other IK Methods In addition to the IK solvers, 3ds Max provides two non–solver methods of inverse kinematic animation: Interactive IK and Applied IK. These IK methods do not apply an IK solver. NOTE These are older IK methods carried over from the earliest versions of 3ds Max. It is generally recommended that IK Solvers be used in most cases rather than Interactive or Applied IK. ■ Interactive IK on page 3781 Interactive IK gives you the ability to use IK manipulation on hierarchies without applying an IK solver. You animate your IK structure by activating Interactive IK (found in the IK panel of the Hierarchy panel and on the Hierarchy toolbar) and manually animating the position of end effectors. IK solutions are calculated only for the keyframes you set. All other motion is interpolated as set by the object's controllers. Moving the end of the chain simply adds rotational keys to the objects in the chain. The objects Inverse Kinematics (IK) | 3703 can have joint limits assigned, for additional control. The chain can also be terminated using the tools in the Auto Termination rollout on page 3823. ■ Applied IK on page 3784 With Applied IK, you animate follow objects and 3ds Max calculates the solution on every frame of a specified range. The IK solution is applied as standard transform animation keys. Applied IK works with any linked hierarchy of objects except for bones that use the HI Solver or the IK Limb Solver. It can combine forward kinematics with inverse kinematics on the same objects. You can apply it automatically to a range of frames, or interactively to single frames. Applied IK is fast and accurate, but it creates keys for every object in the kinematic chain, on every frame. The large number of keys can make it difficult to adjust the animation later. Use Applied IK repeatedly to adjust the animation. IK Solvers Select an object in a hierarchy where you want IK to start. ➤ Animation menu ➤ IK Solver ➤ Apply an IK solver. ➤ Click the object in the hierarchy where you want the IK chain to end. An IK solver creates an inverse kinematic solution to rotate and position links in a chain. It applies an IK Controller to govern the transforms of the children in a linkage. You can apply an IK solver to any hierarchy of objects. You apply an IK solver to a hierarchy or part of a hierarchy using commands on the Animation menu. Select an object in the hierarchy, choose an IK solver, and then click another object in the hierarchy to define the end of the IK chain. 3704 | Chapter 13 Animation Bones system with HI IK solver applied Each type of IK solver has its own behavior and workflow, as well as its own specialized controls and tools that display in the Hierarchy and Motion panels. IK solvers are plug-ins, so programmers can expand IK capabilities of 3ds Max by customizing or writing their own IK solvers. 3ds Max ships with four different IK solvers. How Does an IK Solver Work? An IK solver generally operates in this way: an inverse kinematic chain is defined on part of the hierarchy, say from the hip to the heel, or the shoulder to the wrist of a character. At the end of the IK chain is a gizmo, called the goal. The goal can be repositioned or animated over time in a variety of ways, often using linkage, parameter wiring or constraints on page 3607. No matter how the goal is moved, the IK solver attempts to move the pivot of the last joint in the chain (also called the end effector) to meet the goal. The IK solver Inverse Kinematics (IK) | 3705 rotates the parts of the chain to stretch out and reposition the end effector to coincide with the goal. Using an IK solver to animate an arm Frequently, the end effector is constrained to the ground plane. For example, you might "pin" the toes as the heels lift in a character walk cycle. Then the movement of the root of the chain poses the legs up from the toes. Four plug-in IK solvers ship with 3ds Max: ■ HI (History-Independent) Solver on page 3715 The HI Solver is the preferred method for character animation, and for any IK animation in long sequences. With HI Solvers, you can set up multiple chains in a hierarchy. For example, a character's leg might have one chain from hip to ankle, and another from heel to toe. Because this solver's algorithm is history-independent, it is fast to use regardless of how many frames of animation are involved. Its speed is the same on frame 2000 as it is on frame 10. It is stable and jitter-free in viewports. This solver creates a goal and an end effector (although the display of end effector is off by default). It uses a swivel angle on page 3720 to adjust the solver plane to position the elbow or the knee. You can display the swivel angle manipulator as a handle in the viewport, and adjust it. 3706 | Chapter 13 Animation HI IK also uses a preferred angle to define a direction for rotation, so the elbow or knees bend correctly. ■ HD (History-Dependent) Solver on page 3744 The HD Solver is a solver well-suited to use for animating machines, especially ones with sliding parts that require IK animation. It lets you set up joint limits and precedence. It has performance problems on long sequences, so ideally use it on short animation sequences. It is good for animating machines, especially ones with sliding parts. Because this solver's algorithm is history dependent, it works best for short animation sequences. The later in the sequence it is solving, the longer it takes to calculate a solution. It allows you to bind the end effector to a follow object, and it uses a system of precedence and damping to define the joint parameters. It allows for sliding joint limits combined with IK animation, unlike the HI IK solver, which only allows for sliding joint limits when using FK movement. ■ IK Limb Solver on page 3766 The IK Limb solver operates on only two bones in a chain. It is an analytical solver that is fast in viewports, and can animate the arms and legs of a character. The IK Limb solver can be used for export to game engines. Because this solver's algorithm is history-independent, it is fast to use regardless of how many frames of animation are involved. Its speed is the same on frame 2000 as it is on frame 10. It is stable and jitter-free in viewports. This solver creates a goal and an end effector (although the display of end effector is off by default). It uses a swivel angle on page 3720 to adjust the solver plane to position the elbow or the knee. You can target the swivel angle to an another object to animate it. IK Limb Solver also uses a preferred angle to define a direction for rotation, so the elbow or knees bend correctly. It also allows you to switch between IK and FK by keyframing IK Enabling, and it has a special IK for FK pose function so you can use IK to set FK keys. ■ Spline IK Solver on page 3767 The Spline IK solver uses a spline to determine the curvature of a series of bones or other linked objects. Vertices on a Spline IK spline are called nodes. Like vertices, the nodes can be moved and animated to change the curvature of the spline. The number of spline nodes can be fewer than the number of bones. This provides the ease of posing or animating a long multiple-bone structure with just a few nodes, as opposed to animating each bone individually. Inverse Kinematics (IK) | 3707 Spline IK provides a more flexible animation system than other IK solvers. Nodes can be moved anywhere in 3D space, so the linked structure can be intricately shaped. A helper object is automatically placed at each node when Spline IK is assigned. Each node is linked to its corresponding helper, so a node can be moved by moving the helper. Unlike the HI Solver, the Spline IK system does not use a goal. The positions of nodes in 3D space is the only factor that determines the shape of the linked structure. Rotating or scaling nodes has no effect on the spline or structure. NOTE 3ds Max also provides two other methods of inverse kinematic manipulation of hierarchies, which don't depend on a solver: Interactive IK on page 3781 and Applied IK on page 3784. IK with Bones While you can apply an IK solver to any hierarchy of objects, a system of Bones on page 793 combined with an IK solver is a good way to animate a character. A bones system is a jointed, hierarchical linkage of bone objects. Bones are used as an armature on to which objects are linked. If you use the skin modifier on page 1614, you can "skin" an object to the bones, so the animation of the bones deforms the mesh that models a character. If you have a jointed character, you can use linkage or constraints so the bones animate the mesh. Animating bones with skin causes the skin to stretch or shrink. 3708 | Chapter 13 Animation Animating bones with skin causes the skin to stretch or shrink. Turning Other Objects into Bones Any object can be turned into a bone object. Select the object, choose Animation ➤ Bone Tools on page 806. On the Object Properties rollout, turn on Bone On. You can then choose Show Links Only to replace the display of the objects with the bones. This can be useful if you have a geometrically intensive hierarchy to animate. The interactive viewport response will be much quicker when the geometry is hidden and displayed only at links. You can display any object as a bone object. Select the object, then choose Animation ➤ Bone Tools. This opens the Bone Tools floater. On the Object Properties rollout, turn on Bone On. Then go to the Display panel, and on the Link Display rollout turn on Display Links and Link Replaces Object, which displays the bones instead of the object. This can be useful if you have a geometrically intensive hierarchy to animate. The interactive viewport response is faster when the geometry is hidden and displayed as links only. Inverse Kinematics (IK) | 3709 Any object hierarchy can be displayed as bones. Any object hierarchy can be displayed as bones. 3710 | Chapter 13 Animation Any object hierarchy can be displayed as bones. Bones can scale, squash and stretch over time. See Using Objects as Bones on page 805. Link Display You can use Display Links and Link Replaces Object to display the links instead of the object. These settings are found on the Link Display rollout on the Display panel. This can be useful if you have a geometrically intensive hierarchy to animate. The interactive viewport response is faster when the geometry is hidden and displayed only at links. Advantages of Animating Bones with IK It is possible to animate a character's motion through forward kinematics, rotating each limb into position from the shoulder to the fingers, and the hips to the toes. But it's a lot quicker and more realistic to use inverse kinematics to simulate the foot interacting with the ground. And it is a lot easier to control when you need to make changes to the animation. Rather than having keyframes on every bone in the chain, you have to make changes to only one node, to change the animation of the entire chain. On the other hand, it is common for animators to use IK for the legs and FK for the torso and the arms. FK offers a bit more control for posing the upper body. It is not necessary to use IK for every character animation task. Using the HI IK solver allows you to jump back and forth easily between FK and IK. Inverse Kinematics (IK) | 3711 How to Apply an IK Solver You can apply an IK solver when you create a Bones system, or from the Animation menu: ■ Bones creation on page 793 When you create bones, turning on the Assign to Children option lets you apply an IK solver immediately. Default=Off. ■ You can apply the IK solver to a part of the skeleton using Animation menu ➤ IK Solver. You must select the node where you want the IK chain to start, then choose Animation menu ➤ IK Solvers and select the solver. Then click the node where you want the chain to end. The chain will be created between the pivot points of the two nodes. If you are using an IK Limb Solver, the IK goal will be placed two bones down from the highest node you've selected in the chain. Where to Adjust the IK Solver You adjust IK solver settings in the Motion and Hierarchy panels: ■ Motion panel on page 8802 When the goal of an IK chain is selected, the motion panel displays the rollouts for the individual IK solver. HI Solver Motion panel parameters adjust the swivel angle on page 3720 of the solver plane, to point the knees and elbows. Also, the controls in the IK Solver rollout let you mix periods of IK with FK (forward kinematics) through the Enabled button and the IK button. HD Solver Motion panel parameters assign, remove, and edit the end effector for the currently selected joint. You can parent the end effector to another object, and return the skeleton to an initial pose. Changing IK controller parameters in the Motion panel affects the entire HD IK chain, even when you've selected only a single bone. IK Limb Solver Motion panel parameters for the IK Limb solver are the same as for the HI Solver. Spline IK Solver Motion panel parameters allow you to activate/deactivate the solver, adjust the bones assigned to the start and end joints, adjust start and end twist angles and make twist handle display settings. 3712 | Chapter 13 Animation Hierarchy panel on page 8801 HI Solver When a bone is selected, the IK panel displays controls to activate and limit the rotational joints, and set a preferred angle for the joints. The preferred-angle poses of all the joints help control the direction of rotation of the limbs. When a goal is selected, the IK panel is blank. ■ HD Solver Select the end effector of an HD IK chain. In the Hierarchy panel, click IK. The controls that appear affect the HD Solver. You will also find the tools to bind to follow objects, and set precedence and joint limits, damping and spring back. IK Limb Solver When a bone is selected, the IK panel displays controls to activate and limit the rotational joints, and set a preferred angle for the joints. The preferred-angle poses of all the joints help control the direction of rotation of the limbs. When a goal is selected, the IK panel is blank. If you select a bone before applying an IK Solver, a different set of sliding and rotational joint parameters will be displayed, but these will be replaced once an IK Solver is applied. Spline IK Solver Select the spline of an Spline IK chain. In the Hierarchy panel, click IK. The controls that appear affect the Spline IK Solver. You will also find the tools to bind to follow objects, and set precedence and joint limits, damping and spring back. The controls in the IK panel are similar to the HD Solver. Procedures To add an IK solver to a hierarchy or bones system: 1 Create a bones system or any other linked hierarchy of objects. 2 Select a bone or an object where you'd like the IK chain to start. 3 Choose Animation menu ➤ IK Solver, and then choose the IK solver: ■ HI Solver for character animation ■ HD Solver for mechanical assemblages with sliding joints ■ IK Limb Solver for two-bone chains Inverse Kinematics (IK) | 3713 ■ Spline IK Solver for improved control of intricate, multiple-bone structures 4 Click where you want the IK chain to end. If you are using the IK Limb Solver, you must apply the IK Solver to control only two bones. The IK solver appears in the viewport. To create a bones hierarchy that uses an IK solver: 1 Go to the Create panel, click (Systems), and click Bones. 2 On the IK Chain Assignment rollout, choose an IK solver from the list. 3 Turn on Assign To Children. 4 Click and drag in a viewport to create the bones. Right-click to stop bone creation. The bones are created with the IK solver already applied. NOTE If you use the Spline IK Solver, a Spline IK Solver dialog will open where you can make special settings for the spline and helpers used by the Spline IK solver. To display a hierarchy of objects as bones: 1 Select the hierarchy of objects in the viewport. 2 From the Animation menu, choose Bone Tools. This Opens the Bone Tools dialog. 3 Expand the Object Properties rollout. 4 In the Bone Properties group, turn on Bone On. 5 On the Display panel, scroll down to Link Display and expand it. 6 On the Link Display rollout, turn on Display Links, and Link Replaces Object. The objects disappear and the links are displayed as bones. 3714 | Chapter 13 Animation History-Independent (HI) IK Solver The HI (History-Independent) Solver does not rely on IK solutions calculated in previous keyframes in the timeline, so it is just as fast to use at frame 2000 as it is at frame 20. The HI Solver uses a goal to animate a chain. You animate the goal and the IK solver attempts to move the end effector (the pivot point of the last joint of the chain) to match the position of the goal. Often the goal is parented to other control objects such as points or dummies, splines or bones, and these control objects in turn are wired to viewport or rollout sliders. The IK solution takes place in a plane, known as the solver plane. The angle of the solver plane in world space is controlled by a parameter called the swivel angle on page 3720. The swivel angle is animatable. You can adjust it directly, or with a manipulator. The HI Solver allows for the creation of multiple or overlapping chains. This allows you to create multiple goals for additional controls. By linking the goals to points, splines, bones or dummies, you can create simple controls to animate complex chains or hierarchies. You can also use constraints on these goals or control objects, as another animation tool. Applying an HI Solver To apply an HI Solver to any part of a hierarchy select the bone or object where you want to the solver to start. Then choose Animation menu ➤ IK Solvers ➤ HI Solver. In the active viewport move your cursor to the bone where you want the chain to end. When you click to select that bone, the goal is drawn at the pivot point of that bone. If you want a goal at the far end of the bone, refine the bone where you want to goal to be placed. An extra bone will be added, and then choosing that bone allows you place the goal at the end. When you create bones, a small "nub" bone is automatically created at the end of the chain to assist in this process. Setting Up Multiple Chains To rig a skeleton for a human leg you could use three chains in one leg, as follows: ■ The first chain is created from the hip to the ankle. This chain controls the overall leg motion including bending of the knee. ■ The second chain is created from the ankle to the ball of the foot. This chain controls the heel's up and down motion. Inverse Kinematics (IK) | 3715 ■ The third chain is created from the ball of the foot to the toe. When the three chains work together they help to maintain the foot’s position in space. This means it will keep the foot planted on the ground as the character’s body moves. All three IK chains in this hip-to-toe setup place goals at key positions in the foot that mimic natural foot behavior. In real life, the toe, ball of the foot, and heel can be planted on the ground or raised. Each chain has an goal that drives motion on the heel, ball of foot, and toe. Use the IK goals to raise the heel, bend the toe, move and rotate the entire foot, and maintain the foot's position in space. Overlapping Chains The IK solver system allows you to create overlapping IK chains in a single hierarchy. In a human leg, for example, you could create a chain running from the hip to the ankle, then a second chain from the knee to the ball of the foot, and a third from the ankle to the toes. Use overlapping chains, when you want to apply goals to sequential bones, but you don't want to refine the bones. Another good use for overlapping HI IK chains is to keep the goals at the bottom of the hierarchy firmly rooted in place. In the case of the leg example, the ankle, ball and toe of the foot would not move until the upper portion of the hierarchy had reached its full stretch. 3716 | Chapter 13 Animation Overlapping chains make the toe stick to the ground Inverse Kinematics (IK) | 3717 Overlapping chains make the toe stick to the ground Don't try to overlap chains with different kinds of IK solvers or you might get unpredictable results. Creating Control Objects To create control objects to animate the goals, create dummies, points, splines or other objects near the goal, then link the goal to the control object. For example in a human leg, you might have a goal at the ankle, ball of the foot, and the toe. You then create three splines under the foot, one for the heel, one for the ball and one for the toe. Link each goal to each spline, then you can animate the goals using these splines. You could also link the splines together, so that the rotation of the toe is controlled by the movement of the heel. Besides hierarchical linkage, you can now use the new Constraint system in conjunction with IK solvers. You could apply any of the constraints to create a relationship between the goals or bones and other objects. The goal could be position constrained to a dummy which is moved. Or you could create 3718 | Chapter 13 Animation three bone chains that are all in the same place, and constrain one bone chain to another, then weight the constraints. Bone chains constrained together Using control objects gives you something bigger to select in the viewport. You can also use control objects to separate chains, for example in a human arm one chain could end at the wrist and another separate chain be created for the hand and fingers. The control object at the wrist serves as the root node for the hand chain, yet that chain would remain disconnected (hierarchically speaking) from the arm chain. You can create viewport sliders using the manipulator helper, and then use the viewport sliders to control the transforms of the control objects. Use wire parameters on page 3645 to hook up the sliders with the control objects. You can also create Custom Attributes to add these sliders to the object rollouts. Mixing Forward Kinematics with Inverse Kinematics The HI IK solver provides a tool for mixing FK and IK in a single animation track. There is an FK subcontroller beneath the IK controller assigned by this solver. Inverse Kinematics (IK) | 3719 When the Enabled button is on, the FK subcontroller values are preserved but ignored. When Enabled is turned off, the FK subcontroller values apply. To access the Enabled button, select the goal and go to the Motion panel, then turn off the Enabled button. This will allow you to animate using FK rotations of the bones or hierarchy objects. IK for FK pose allows one to turn on IK in middle of FK manipulation. When the Enabled button is turned off, and IK for FK Pose is on, then selecting and moving the goal lets you use IK to create the forward kinematic keyframes. Moving the goal poses the skeleton and add rotation keys to all the objects in the chain when the Auto Key button is on. When working with IK and FK together it is possible to create a situation where the goal has moved away from the end of the chain. Use the IK/FK snap button to reposition the goal, snapping it back to the end of the chain. When AutoSnap is on, the snap happens automatically; when you touch the goal, you don't have to click the IK/FK snap button. Controlling HI IK Precision When you are animating with HI Solvers, if you find the animation of the limbs is not smooth, you should try doubling the Iterations in the Solutions group of the HI Solver Properties rollout on page 3735. You can also try reduce the Thresholds value to smooth the animation. See also: ■ IK Solver Rollout (HI Solver) on page 3730 White Paper: Swivel Angle of the HI IK Solver The fundamental requirement of HI Solver is that the solution be history-independent: the solution has to be based on the goal and other incidental parameters solely at their current states. Swivel Angle Degree of Freedom When the positional goal is given for a single chain, there remains an obvious degree of freedom: the rotation about the End Effector Axis (EE Axis). The swivel angle is used to describe this degree of freedom quantitatively. 3720 | Chapter 13 Animation 1. Start joint 2. End effector 3. EE axis Solver Plane Let’s call the plane passing all the joints the Solver Plane. When joints do not lie on a plane, we will define it to be the plane that (A) passes the Start Joint and End Joint and (B) is closest to the remaining joint in a certain sense. The Swivel Angle describes the degree of freedom of the Solver Plane and it constrains only the Start Joint. Zero Plane Map In order to describe the solver plane in terms of a numerical quantity, we have to agree to what 0 means. Given the end-effector position, where is the Zero (Solver) Plane? The Zero Plane Map takes as the argument EE Axis and produces the normal to the zero plane. The IK system allows individual solver plug-ins to define their own Zero Plane Maps. When not defined, the IK system provides a default one. Inverse Kinematics (IK) | 3721 The argument to the Zero Plane Map is a unit vector to give the direction of the EE axis. Equivalently, when the EE slides along the EE axis, the solver plane should be fixed. Therefore, the Zero Plane Map defines a vector field on a sphere. Given a point on the sphere, it produces a tangential unit vector to be interpreted as the normal to the zero plane. 1. Normal to the zero plane Solver Plane Flipping It is a mathematical fact that there does not exist a continuous vector field on a sphere. No matter how hard you try, there will always be a point on the sphere where neighboring vectors change dramatically. This is where the solver plane will flip when the end effector axis approaches to it. This is because, on one hand, the history independent requirement demands us to assign a fixed vector to the singular point. On the other hand, no matter what vector is assigned, it will be dramatically different from some vectors assigned to the neighboring points. 3722 | Chapter 13 Animation Intrinsic Reference Frame for the Sphere In order to define the Zero Plane Map, we need to define a reference frame for the sphere. This reference frame is intrinsic to the joint chain itself. A sphere can be defined by the center, the horizontal plane, and the meridian (zero longitude). The center is assigned to the start joint. The pose when all the joint angles assume preferred angles is particularly important. Let’s call it the preferred pose. We use the solver plane at the preferred pose as the horizontal plane. Since the swivel angle is used to control the start joint, the preferred angles at the start joint are not so intrinsic. It is also reasonable to define the horizontal plane with the solver plane that is derived by assigning zeroes to the start joint and preferred angles to the other joints. The EE axis defines the meridian. The sphere is now defined as shown in the following figure: 1. EE axis All the joints assume preferred angles. The Zero Plane Map is to be defined on this sphere. Inverse Kinematics (IK) | 3723 The API for the plug-in solver to define its own Zero Plane Map in fact takes the EE axis and the normal to the solver plane at the preferred pose: virtual const IKSys::ZeroPlaneMap* GetZeroPlaneMap(const Point3& a0, const Point3& n0) const where a0 and n0 are the EE axis and solver plane at the preferred pose, respectively. Object of ZeroPlaneMap is a function that assigns a plane normal to each point on the sphere. Default Zero Plane Map When not provided by plug-in solvers, (the IK Solver itself is implemented as a plug-in solver) the IK system will provide a default one. This map is defined by the following rules: ■ A: For each point on the equator, the intersection of the horizontal plane and the sphere, the normal vector is defined as the vertical vector, pointing to the same direction as the normal of the solver plane at the preferred pose. ■ B: For any point on the sphere other than the north or south poles, there is a great circle that passes the point and the north, south poles. This circle hits the equator at two points. One point is closer to the given point. The normal vector at the given point is defined as derived from moving tangentially the normal at the closer point on the equator along the great circle to the point. 3724 | Chapter 13 Animation Deriving the default normal to the zero plane Obviously, this method won’t extend to the north or south poles. They are the singular points. When the EE axis moves across the poles, the normal will suddenly change direction: it flips from the users’ viewpoint. Normally, the preferred pose is the one when the solver is first assigned. So, the plane on which one lays the joints corresponds to the horizontal plane here. Rule A makes sure that the chain will stay on the plane if one moves the goal on the plane. Rule B means that, when you move the goal along the great circle vertical to the equator, the chain will stay vertical, except when it passes through the poles, which are the singular points of this map. Parent Space So far, we have described things as if the whole world comprises only IK elements. In practice, the IK chain and goal might sit at points of separate transformation hierarchies. Ultimately, we need to map the position of the end effector that is described in the world to a point on the sphere. Depending how the sphere is mounted relative to the end effector position, the readings Inverse Kinematics (IK) | 3725 of latitude and longitude are different. The parent transformation space that this sphere is to be placed in is called the Swivel Angle Parent Space, or Parent Space when the context is clear. The parent space has to be invariant with regard to the IK parameters. Right now, we provide two choices: ■ Start JointThe Swivel Angle Parent Space is the same as the parent space of the Start Joint. ■ IK GoalThe Swivel Angle Parent Space is the parent space of the IK Goal. Example 1 If both the start joint and the goal are rooted directly at the world, the choice of Parent Space does not give rise to any difference. In the following example, the start joint is parented to object A. The IK chain is parented (via the start joint) at object A. 3726 | Chapter 13 Animation Assume this is the pose when the IK solver is assigned. So, this is the preferred pose. The plane on that the joints are laid out is the horizontal plane of the (Zero Plane Map) sphere. ■ A: Parent Space is Start Joint. In this case, the sphere is parented to A. If A is rotated about the drawn axis, the sphere is rotated together with it. The goal is in a separate transformation hierarchy. It stays in place, and the end effector sticks to it because of the IK solution. Since the (plane) normal is fixed to the sphere, it rotates with A, too. Therefore, the whole chain appears to be rotated together with the parent object. ■ B: Parent Space is IK Goal. Suppose that the goal is parented to the world. In this case, the sphere is parented to the world and, hence, stays fixed. Since the normal is fixed to the sphere, the chain will appear stationary when A is rotated. Example 2 In the following example, we look at a case where there exists a rotation in the parent space when the IK solver is assigned. The parent space of the IK chain contains a rotation when the IK solver is assigned. Parent A contains a rotation of 90 degrees. This is an abstraction of the case when a user creates four bones without an IK solver and later assigns an IK Inverse Kinematics (IK) | 3727 solver from Bone2 to Bone4. If we parent the chain directly to world, it would appear as shown in the right figure: the solver plane becomes horizontal. ■ A: Parent Space is Start Joint. The sphere is mounted after the rotation of A and therefore the “horizontal plane” coincides with the chain plane as shown in the viewport. The singular points are perpendicular to the Start Joint with regard to the plane. When the goal/end effector is moved on the plane, it will never hit the singular points and flip. ■ B: Parent Space is IK Goal. Again, we assume that the parent space of the goal is the world. The “horizontal plane” of the sphere becomes horizontal, as shown in the right figure. The singular points, the poles, are on the plane that joints are laid out. Therefore, when users move the goal/end effector left to right, or the other around, the end effector will move across the singular point and flip. A problem of B is that the figure on the right is never shown to the user. They have to envision it in order to understand the flipping. Example 3 This example describes what happened when Start Joint is reassigned. Suppose we have an IK chain of four bone nodes. 1. Bone01 3728 | Chapter 13 Animation 2. Bone02 3. Bone03 4. Bone04 The Start and End Joints are Bone01 and Bone04, respectively. Suppose the pose shown in the figure is the preferred pose and Bone01 contains a rotation. If we parent Bone02 directly to the world, the hierarchy from Bone02 will appear as in the right figure. When we reassign Start Joint to Bone02, the Zero Plane Map sphere will be based on the configuration on the right. ■ A: Parent Space is Start Joint. In this case, the sphere that is fixed to the right configuration is to be parented to Bone01 together. This will be the same as the one based on Bone01 to Bone04. Therefore, we get the same normal and chain stays stationary. ■ B: Parent Space is IK Goal. In this case, the sphere stays in the world while Bone02 is parented to Bone01. When Bone04 is moved to where it is shown on the left due to the transformation of Bone01, the observer who is fixed to the sphere that is fixed to the world will see that Bone04 moves away from the neutral position defined by the preferred pose. The algorithm then applies the Zero Plane Map to find the normal at the displaced position. It generally is not perpendicular to the viewport. Therefore, we will see a flip once it takes a new Start Joint. If you delete the solver/goal and assigned a new one from Bone02 to Bone04, you will find that the chain won’t flip. Why? Assignment of Start Joint is different from creating a new IK chain/goal. Start Joint is one of many IK parameters. Reassigning it is simply the same as modifying any parameter. The rest parameters are intact. In particular, the Swivel Angle is not changed as a result of this reassignment. Creating a new IK chain/goal is different. Effort is made to ensure that the joint chain stay fixed by adjusting parameters appropriately. In particular, the Swivel Angle will be set to a value so that the solver plane keeps stationary in the viewport. HI IK Solver Rollouts (Motion Panel) These topics describe controls for the HI IK Solver, which appear on the Motion panel. Inverse Kinematics (IK) | 3729 IK Solver Rollout (HI Solver) Select an HI or IK Limb Solver IK Chain control (the blue cross at the end of the chain.) ➤ rollout Motion panel ➤ Parameters button ➤ IK Solver The HI Solver is a history-independent solver that doesn't rely on the calculations from previous frames for the IK solution, so it is fast to use no matter the length of your animation. The history-independent solver uses a goal to manipulate the end of the chain. It uses a preferred angle that specifies a preference regarding which direction the link will rotate: positive or negative. The preferred angle can also be considered as the initial angle; that is, the angle at which the link was rotated at the time the solver was applied. The IK solution takes place in a plane, known as the solver plane. The angle of the solver plane is controlled by a parameter called the swivel angle. Changing the swivel angle The angle of the solver plane is actually calculated in one of two coordinate systems: the Start Joint Parent space or the IK Goal Parent space. World space 3730 | Chapter 13 Animation is not an explicit option; however, you can easily configure the IK chain to work in world space by choosing the IK Goal Parent option and making sure that the IK goal is unlinked (i.e., has no hierarchical parent). In this case, the IK goal’s parent is the world, and therefore, the solver plane will be computed in world space. The swivel angle is animatable. You can adjust it directly, or with a manipulator. Or you can target the swivel angle to a object and animate that to affect the swivel angle. These parameters are on the IK Solver Properties rollout on page 3735. The HI Solver is designed to let the animator jump back and forth between forward and inverse kinematics quickly and conveniently, with tools to automatically enable IK and snap the goal to the end effector. Procedures To turn off IK on a chain: 1 Select the goal of a chain with an HI Solver. 2 On the Motion panel ➤ IK Solver rollout, turn off Enabled. IK is now off, so you can select and rotate any of the objects in the chain. Turning IK on and off is animatable using the Auto Key button. To mix IK and forward kinematics (FK) in a single animation track: 1 Apply an HI IK Solver to a hierarchy or bone system. 2 Turn on 3 (Auto Key) and move the time slider ahead in time. Select the goal of the IK Chain, and open the Motion panel. 4 Move the goal to animate the IK chain with Inverse Kinematics. Inverse Kinematics (IK) | 3731 5 Advance the time slider again. 6 On the IK Solver Rollout, turn off Enabled and IK for FK Pose. 7 Rotate the root. The entire hierarchy rotates freely. You are now adding keyframes using forward kinematics. To match the goal and the end effector positions: 1 If the goal and end effector become separated, click IK/FK Snap and the goal will move to match the end link of the chain. 2 If AutoSnap is turned on, clicking the goal will automatically perform the snap action, matching the goal and end effector positions. 3732 | Chapter 13 Animation Interface IK Solver group The items in this group provide the ability to set the start and end points of the selected HI IK solver chain. There are also controls in this rollout that allow you to use IK manipulation to create forward kinematic rotational keyframes on the hierarchy objects, and there are buttons to align the goal and the end effector. Solver field Allows selection of IK Solver. Choose between the HI IK Solver and the IK Limb Solver here. Any HI IK plug-in solver present at startup will appear in this list, as well. Inverse Kinematics (IK) | 3733 Enabled Turns IK control of the chain on and off. The HI IK Controller has an FK subcontroller. When Enabled is selected, the FK subcontroller values are overwritten by the IK controller. When Enabled is turned off, the FK values are used. You can animate Enabled On and Off. Use this to turn off the chain control by the goal, when you want to do forward rotations. IK for FK Pose Lets you turn on IK in middle of FK manipulation. When Enabled is off and IK for FK Pose is on, moving the goal will turn on IK automatically in the middle of an FK manipulation. The result of this is that all the FK subcontrollers receive values from the IK solution. Keys are placed on the hierarchy objects or the bones, not on the goal. When both Enabled and IK for FK Pose are turned off, moving the goal does not affect the chain at all. IK/FK Snap Performs an IK snap when in FK mode, and an FK snap in IK mode. IK Snap If the goal has moved away from the end of the chain, clicking IK/FK Snap moves the goal to coincide with the end link position. FK Snap The values of FK subcontrollers are suppressed by the solution of IK when IK is on (Enabled is on). Their values don't always correspond to the current pose of the chain. If you turn off Enabled, the values of FK subcontrollers will suddenly take over. This can cause the chain to jump. FK Snap, before Enabled is turned on, forces the FK subcontrollers to assume values from the current pose (which is determined by the IK.) This eliminates the jump in the chain's animation. Auto Snap When Auto Snap is on, 3ds Max automatically applies an IK/FK snap before you turn Enabled on or off. If Auto Snap is not on, you need to click IK/FK Snap before toggling Enabled, otherwise the chain will jump. Preferred Angles group Set As Pref Angles Sets the preferred angle for each bone in the HI IK chain. The current parent-space rotation of each bone is placed into its X, Y, and Z Preferred Angle rotation channels as seen in the Rotational Joint rollout of the Hierarchy|IK panel. This is useful for establishing a perfect match frame on page 9216 when transitioning between forward and inverse kinematics. Assume Pref Angles Copies the X, Y, and Z preferred angle channels of each bone and places them into its FK rotation subcontroller. This essentially performs the inverse operation of the Set As Pref Angles function. 3734 | Chapter 13 Animation Bone Joints group Allows you to change the ends of the IK chain. Pick Start Joint Defines one end of the IK chain. Select from the viewport or by name (press H). Pick End Joint Defines the other end of the IK chain. The direction of the chain is defined by the hierarchy, not by Start and End Joint. Select from the viewport or by name (press H). WARNING If you change the Start or End Joints so the IK Limb Solver so there are more than two bones between the start and end, the solver will not work. Moving the IK goal does not affect the bones. TIP The order of the hierarchy determines the direction of the chain. You cannot reverse the direction of the chain by picking Bone 10 as the start and Bone 1 as the end. IK Solver Properties Rollout (HI Solver) Select end effector of an HI IK chain. ➤ button ➤ IK Solver Properties rollout Motion panel ➤ Parameters Here are the additional controls for the HI IK solver. The IK Solver Plane is controlled here through the Swivel Angle, which can be animated directly or using a target object. In the Parent Space group you can choose to whether the IK goal or the start joint will be used as the parent space for the swivel angle. If IK Goal is selected (which is the default), then the Swivel Angle of the chain is defined in the parent space of its goal. If Start Joint is chosen, then the Swivel Angle will be relative to the parent space of the start joint. These two options allow a much better control of the swivel angle on a chain with two HI IK solvers. For example, the first solver on the upper part of a chain can use a Swivel Angle in the Parent Space of the Start Joint, while the second IK solver on the lower part of the chain uses the Parent Space of the IK Goal. In this case, the change of the Swivel Angle for one chain won’t change the orientation of the other one. In the Thresholds and Solutions group you can refine the IK solution. The Position Threshold sets a limit in units of how far the goal can be moved from the end effector, the Rotation does the same in angle degrees. Inverse Kinematics (IK) | 3735 The Solutions group Iterations is the maximum number of attempts the IK solution will perform before giving up. If your IK animation seems to jitter, try increasing the Iterations to 200. Increasing the Iterations will slow down the computational time, but should produce better results. Manipulator for the Swivel Angle You can adjust the swivel angle with the spinner in this rollout, or you can adjust it with a manipulator. To do so, turn on Select and Manipulate on page 2868. The swivel angle manipulator is displayed as a handle in the viewports. Swivel angle manipulator. 3736 | Chapter 13 Animation Swivel angle manipulator. When you move the mouse over the manipulator, it turns red. At this point, you can drag the manipulator to change the swivel angle. The Auto Key button can be active while you do this. You can also animate the swivel angle by using a target object. Pick an object for the target, then animating the object will animate the swivel angle. The swivel angle manipulator is a standard plane angle manipulator on page 2896. The HI Solver has its own controls for displaying this manipulator. These are on the IK Display Options rollout on page 3739. Procedures To increase the precision of an IK solution: 1 Select the goal in an HI IK chain. 2 In the IK Solver Properties rollout increase the Iterations to 200 in the solutions group. 3 Play or render the animation. Inverse Kinematics (IK) | 3737 4 You can also adjust the Position and Rotation Thresholds to a smaller value. Interface IK Solver Plane group Swivel Angle Controls the Solver Plane which determines the direction of the knee or elbow in a human limb. The Swivel Angle can be manipulated in the viewport by turning on Swivel Angle Display in the Display Options rollout, and then turning on Manipulate Mode. When the swivel angle manipulator is displayed in the viewport, you can interactively animate the handle to animate the solver plane. Pick Target Lets you select another object to use to animate the Swivel Angle. Use Turns the use of the Target on and off. Parent Space Defines what space the Swivel Angle is relative to. Use this on chains with multiple solvers, so the swivel angle manipulations on one chain will not affect the second. For more information, see White Paper: Swivel Angle of the HI IK Solver on page 3720. IK Goal Defines the Swivel Angle parent space relative to the IK Goal. Start Joint Defines the Swivel Angle Parent Space relative to the Start Joint. 3738 | Chapter 13 Animation Thresholds group Use to define the tolerances the system uses for its calculations. Position Sets a limit in units of how far the goal can be moved from the end effector. Keep these numbers low. Rotation Sets a limit in degrees of how far the goal can be rotated away from the end effector rotation. Keep these numbers low for best results. Note that adjusting the Rotation threshold on the HI Solver and IK Limb Solver has no effect. It is up to the plug-in solver’s discretion as to whether or not they will support a rotation component in the IK solution. Solutions group Use to control the precision of the animation. Increase the iterations when the IK solution produces an animation that appears rough or jittered. Iterations The number of attempts an IK solution will make to find the best match between the goal and the end effector positions. Increase this number if you are seeing jumpy animation. IK Display Options Rollout (HI Solver) Create a bone chain ➤ Add an HI Solver. ➤ Motion panel Here are the controls to turn on and off a variety of gizmos in the viewport. The Goal and End effectors, the vector handle of the swivel angle manipulator, and the IK solver display itself, are all located in this rollout. Procedures To see multiple IK solvers in a single chain: 1 In a chain with multiple IK solvers, select a goal in the viewport. 2 In the IK Display Options rollout, turn on IK Solver Display Enabled. 3 Select a second goal and repeat the process. Inverse Kinematics (IK) | 3739 Each goal's display remains on whether it is selected or not. Interface End Effector Display group Controls the appearance of the end effectors in the IK chain. Off by default. Enabled Turns the end effectors display on or off. Size Controls the size of the end effector gizmo in the viewport. Goal Display group Controls the appearance of the goals in the IK chain. On by default. Enabled Turns the goals display on or off. Size Controls the size of the goal gizmo in the viewport. Swivel Angle Manipulator group Controls the display of the swivel angle manipulator in the IK chain. Default = on. Turn this on, then turn on Manipulate mode to see the swivel angle manipulator. 3740 | Chapter 13 Animation Enabled Turns the swivel angle manipulators on or off. Size Controls the size of the manipulator's handle in viewports. Length Controls the length of the manipulator in viewports. IK Solver Display group Controls the appearance of the IK Solver display, the line drawn between the start and end joints. Turn this on when you have multiple chains that you want to see at the same time. Enabled Turns on or off the IK Solver display. Sliding and Rotational Joints (HI Solver) Create a bone chain. ➤ Apply an HI Solver ➤ Select any bone in the chain. ➤ Open the Hierarchy panel. ➤ IK button Here are the controls for setting the joint limits when using the HI Solver. You can turn X, Y, or Z axes on or off, limit them, and set those limits here. This is also where the preferred angle is defined, and adjusted. The preferred angle defines the direction a chain will bend, which angle a chain will tend to rotate toward. NOTE Sliding joints are implemented in the HI Solver, but they do not take part in an IK solution. They do, however, take part during FK interactive manipulation. Use the HD Solver if you need to animate sliding joints with inverse kinematics. Procedures Example: To set the direction an IK chain will bend (preferred angle): To understand setting the preferred angle it helps to use a simple example. 1 Go to the Create panel, click (Systems) and turn on Bones. 2 Turn on Assign To Children and make sure the HI Solver is displayed in the Solver name field. Inverse Kinematics (IK) | 3741 3 In the Top viewport, create a bone chain of four bones in a straight line . 4 Turn on (Auto Key), and drag the time slider to frame 50. 5 Move the goal so it is close to the root node. 6 Select any bone in the chain. Hierarchy panel ➤ IK panel, open the Rotational Joint 7 On the rollout. 8 There are three axes. Find the one with the preferred angle that is not zero. 9 Change the preferred angle. If it is negative make it a positive one. 10 Play the animation. Changing the preferred angle can redefine the direction of the rotation. To set rotational joint limits on a hierarchy of objects or a bone chain: 1 Create a bone chain or a hierarchy of objects. 2 Select any object in the chain. 3 On the rollout. Hierarchy panel ➤ IK panel, open the Rotational Joint 4 If you want to limit an axis, turn on Active and Limited, and set the values of From and To. The hierarchy will rotate in the viewport. TIP Pressing the From and To labels instantly rotates the bone to those angles. 3742 | Chapter 13 Animation Interface Sliding Joints rollout X, Y, Z Axis groups Active Activates an axis (X/Y/Z). Allows the selected object to slide on the activated axis. Limited Limits the range of motion allowed on an active axis. Use in conjunction with the From and To spinners. Most joints are limited in their range of motion along an active axis. For example, a piston slides only within the length of its cylinder. From and To spinners Determine for position limits. Use in conjunction with the Limited function. Clicking the labels From and To moves the object to its limit position. Use this to check the sliding limits on an object. Inverse Kinematics (IK) | 3743 Rotational Joints rollout X, Y, Z Axis groups Active Activates an axis (X/Y/Z). Allows the selected object to rotate about the activated axis. Limited Limits the range of rotation allowed on an active axis. Use in conjunction with the From and To spinners. Most joints are limited in their range of rotation along an active axis. For example, a wheel rotating around an axle could be limited to rotate around only one axis. From and To Spinners Determine for rotation limits. Use in conjunction with the Limited function. Clicking the labels From and To rotates the object to its limit rotation. Use this to check the rotation limits on an object. Preferred Angle Used by the HI Solver to set the initial pose for internal calculations. Determines the direction of rotation preferred by a bone. History-Dependent (HD) IK Solver Select a node of hierarchy or bone chain. ➤ Animation menu ➤ IK Solvers ➤ HD Solver ➤ Click a second node of chain. 3744 | Chapter 13 Animation Animating with the HD Solver lets you use sliding joints combined with inverse kinematics. It has controls for spring back, damping, and precedence not found in the HI Solver. It also has quick tools for viewing the initial state of the IK chain. Use it for animations of machines and other assemblies. Since this is history dependent, performance is slower at the end of long animations. For lengthy scenes, use HI Solvers, if possible. Animating the End Effectors You animate a hierarchy of objects or bone structure using HD Solvers by animating special end effectors located at the bone joints. There are two types of end effectors: Position and Rotation. They are displayed as three intersecting blue lines at the joint. When you select and transform a joint that carries either end effector, only the end effector itself is transformed. The objects or bones in the chain then use IK to calculate the IK solution. Animating these end effectors is much like animating with Interactive IK except interpolation between keyframes uses correct IK solutions. Linking End Effectors to a Parent You can link HD IK end effectors to a parent to achieve results similar to using bound follow objects with Interactive and Applied IK. To link a HD IK end effector, you click Link on the Motion panel. There are two reasons to link an end effector to a parent: ■ You can rescale your entire hierarchy. If you animate a robot, and then later decide you want to scale the entire robot and its animation, link the robot's root object to a dummy, link all of the robot's end effectors to the same dummy, and then scale the dummy to scale all of the hierarchical objects as well as the animation of the end effectors. ■ You can use linked end effectors for things like feet or hands. End-effectors are automatically bound to the world, so when you move a root object in your hierarchy, the end effectors remain behind. This is good for keeping feet on the ground, but not very good for hands, where you want them to move along with the character. To have hands follow the root object, link the end effectors of the hands to the root object. Linking Bones to Follow Objects You can also use follow objects instead of end effectors and bind bones to any number of follow objects using Interactive IK. Inverse Kinematics (IK) | 3745 If you use follow objects with HD IK, you do not need to click Apply IK. The IK solver takes care of everything automatically. See also: ■ Inverse Kinematics Rollout on page 3820 Binding Objects (HD Solver) Use the binding functions on page 3809 in the HD Solver to cause an object to attempt to maintain its position and orientation relative to the world or to another object. A bound object will resist motion in the kinematic chain until the chain is stretched near its limits and the bound object must move to complete the IK solution. In the top row, the ball is independent of the lamp. In the bottom row, the lamp head is bound to the ball's position. Setting Binding Options You can bind an object by position, orientation, or both. Once an object is bound you can set binding axes, weight, and whether the binding is absolute or relative. Bind Position Causes an object to attempt to maintain its location or to match the location of a follow object. Bind Orientation Causes an object to attempt to maintain its rotational orientation or to match the orientation of a follow object. Relative Changes how an object reacts to a bound follow object. See the following discussion about binding an object to a follow object. 3746 | Chapter 13 Animation Axis and Weight Set these options to control which axes are affected by the binding and the binding’s influence over other bindings in the kinematic chain. Binding an Object to the World You can bind an object to the world if you want the object to hold its position and orientation as long as possible during IK operations. If you are animating a walking figure you want one foot to remain in place while you position the other foot. Without binding, the whole hierarchy would have a tendency to slide around when you attempt to position a foot. Binding both feet to the world ensures that the unselected foot stays in place while you position the other foot. Binding an Object to a Follow Object You can bind a selected object in your hierarchy to any other object that is not a descendant of the selected object. This other object is called the follow object. The behavior of the bound object varies depending on the state of the Relative buttons next to the bind options. ■ When Relative is inactive, the bound object tries to match the exact position and orientation of its pivot point to the position and orientation of the follow object’s pivot point. ■ When Relative is active, the bound object mimics any changes in position or rotation of the follow object but does not try to match it exactly. You might want to animate a figure that always points to another object. Bind the hand of the figure to the other object with Relative active. Turn IK on, and as you move the object, the hand and arm of the figure move to point at it. Unbinding Objects If you decide that you do not want an object to be bound you can either turn off the Bind Orientation and Bind Position boxes, or unbind the object from its follow object. ■ If you turn off the binding options, you disable the effect of binding without removing the binding to a follow object. This method is handy if you decide to reposition a follow object after you have bound an object to it. Inverse Kinematics (IK) | 3747 ■ If you unbind an object, it permanently removes the binding to a follow object. Controlling IK Precision (HD Solver) Even with carefully defined joint precedence and joint parameters there are many valid IK solutions for any placement of an end effector. You set position and rotation thresholds to control IK precision and solution speed. ■ The threshold and iteration settings are found on the Motion panel on the IK Controller Parameters Rollout, when the end effector is selected. ■ The threshold and iteration settings for the HD solver are also found on the Inverse Kinematics tab of the Customize ➤ Preferences dialog. Position Threshold Sets how close the end effector has to get to the follow object or cursor position to be considered a valid solution. The value expresses a distance in the current unit system. Small values increase accuracy but take longer to solve. Rotation Threshold Sets how accurately the end effector has to match the orientation of the follow object to be considered a valid solution. The value expresses a rotation angle in degrees. Small values increase accuracy but take longer to solve. Iterations Sets the maximum number of times 3ds Max repeats the IK calculations to find a valid solution. A high Iterations value increases the chance that 3ds Max can calculate a valid solution, but takes longer to complete. The following rules apply: ■ Calculations stop as soon as a valid solution is found, even if the maximum number of iterations have not been performed. ■ The last solution calculated is used if the maximum number of iterations is reached, regardless of whether the solution satisfies the position and rotation thresholds. Setting Applied and Interactive Thresholds You set the threshold and iterations settings as a trade-off between accuracy and speed. You have two groups of settings so you can individually tune the behavior of applied IK and interactive IK. ■ Use interactive IK if you want fast, real-time response. Your interactive IK preferences should be set for speed. 3748 | Chapter 13 Animation ■ Use applied IK if you want the solution to match the follow objects very closely. Your Applied IK preferences should be set for accuracy. The default applied IK and interactive IK settings are shown in the following table: Thresholds Applied IK Interactive IK Position 0.100 1.000 Rotation 0.100 1.000 Iterations 50 10 See also: ■ HD Solver Motion Panel Rollouts on page 3749 HD Solver Motion Panel Rollouts Select end effector of an HD chain ➤ button ➤ IK Controller Parameters rollout Motion panel ➤ Parameters To adjust the parameters for all bones or hierarchically linked objects in the chain, you select a single bone or object, and then adjust the parameters in Motion panel ➤ Parameters to affect all the bones or objects in the hierarchy. Procedures See History-Dependent (HD) IK Solver on page 3744. Interface Thresholds group Inverse Kinematics (IK) | 3749 These settings are the same as those in Customize menu ➤ Preferences ➤ Inverse Kinematics. They set the threshold for the changes in position and rotation between the end effector and the last link of the chain. Position Specifies, in units, the "slop" factor between the end effector and its associate object. This is the allowable distance between the end effector and its object, given the current IK solution. Rotation Specifies the allowable number of degrees of rotational error between a rotational end effector and its associate object. Solution group Iterations Specifies the maximum number of iterations allowed to solve the IK solution. The actual number of iterations used depends on the difficulty of the problem. This value simply puts a cap on it. Start Time and End Time Species the range of frames in which IK is solved. If the Start Time is set to 20 and the End Time is set to 80 in a 100-frame animation, and then the end effector is animated, the animation of the chain will only be correctly solved within the Start and End range. Initial State group When you first create a hierarchical chain, the initial position of the bones or objects is the initial state. The options here let you display, alter, or lock the initial state. When both of the options here are turned off (the default), transforming the end effector is different from transforming the other joints in the chain. When you select and transform a joint assigned an end effector, you are actually transforming the end effector, and an IK solution transforms the joints. This alters the position of the bones or objects in the viewport, but will not alter their initial state. On the other hand, when you select and transform any of the joints without end effectors, you alter their initial state. 3750 | Chapter 13 Animation Show Initial State Shuts off the real-time IK solution. All objects in the chain are moved to their initial positions and orientations prior to any changes caused by IK calculations. The positions of the end effectors, however, are not affected. Turn on Show Initial State to view the initial state, or adjust the initial state of bones or objects using end effectors. This is useful when you set joint limits using the IK controls in the Hierarchy panel: the joints jump to their limits while you set them. When Show Initial State is off (the default), you can select and alter the initial state of bones or objects without end effectors, but when you select a bone or object with an end effector, the end effector is transformed, leading to an IK solution; the initial state of the associate object is not changed. By selecting this, you can transform the initial state of the associated object. Lock Initial State Locks all bones or objects in the chain from direct transformations. You can, however, transform the end effector of any joint to generate the IK solution without altering the initial state. Activate this when you want to avoid accidentally selecting and transforming joints that are not assigned end effectors. When Show Initial State is selected, Lock Initial State is ignored. Update group The options in this group determine how the IK calculation is solved during the transformation of the end effector. Precise Solves the entire chain precisely for all frames from the Start time to the current time. When you release the mouse button, the chain will not move. Since all frames must be solved from Start to current time, the solution takes longer if the current frame is 1000 rather than 100. Fast Solves the chain only for the current frame while the mouse is moved. Releasing the mouse button solves for all frames. Although this is faster than Precise, sometimes the current-frame solution differs slightly from the all-frame solution. As a result, when you release the mouse, the objects in the chain might shift a bit. Manual With this option, the IK problem is not solved until you click Update. Inverse Kinematics (IK) | 3751 Update With Manual on, click to solve the IK solution. Display Joints group The options here affect the display of the joint axes and limits. When a rotational or sliding joint is active (Active is selected in the Sliding or Rotational Joints rollouts in Hierarchy ➤ IK panels), an orange "rod" appears representing the active axis. When the joint is also limited, a pair of small orange squares appears, representing the From and To limits of the joint. If it's a sliding joint, the squares are positioned on the axis rod. If it's a rotational joint, the squares are at the ends of an orange arc. Always Displays the axis rod and joint limits for all joints in the chain at all times. When Selected Displays the axis rod and joint limits only on selected joints. TIP The joint icons can be difficult to see when the bones are linked to mesh objects. When animating a bone-based hierarchy, you can hide all of the objects and display and animate only the bones, which makes the joint icons more visible. This is easily done by hiding geometry by category in the Display branch. End Effectors group With the options in this group, you can add or delete Position or Rotation end effectors for any joint. Options affect only the currently selected joint. An end effector is the object that the IK chain follows to come to a solution. There are two types of end effectors: Position and Rotation. Both are displayed 3752 | Chapter 13 Animation as three intersecting blue lines at the joint. When you select a joint that carries either or both end effectors and perform a transformation matching the type of end effector, only the end effector itself is transformed. The objects in the chain then use IK to follow and create the IK solution. When you transform a joint that does not have an end effector (or perform a type of transform that doesn't match the assigned end effector), you transform the joint itself and alter its initial state. Position Creates or deletes Position end effectors. If the node already has an end effector, only the Delete button is available. Create Creates a Position end effector for the selected node. Delete Removes the Position end effector from the selected node. Rotation Works like the Position buttons, except Rotation end effectors are created rather than Position end effectors. When you want to solve for IK rotation, add a Rotation end effector, and then use the Rotate tool to rotate the end effector. End Effector Parent Links an end effector to another object in the scene. Since end effectors are not, in themselves, objects, you won't see this linkage in Track View, but the linked end effector will inherit the transformations of its parent. NOTE Apart from the root object, you can't link an end effector to an object in the hierarchy because it would create an endless loop. The position of all objects in the hierarchy depends on the position of the end effector, so the end effector can't depend on the position of an object in the hierarchy. End Effector (Display) Displays the name of the selected parent object. Link Makes a selected object a parent of the currently selected link. Unlink Unlinks the currently selected end effector from its parent. Remove IK group Inverse Kinematics (IK) | 3753 Delete Joint Deletes any selection of bones or hierarchical objects. Doesn't delete the IK; only the selected hierarchical members. NOTE Using the DELETE key will delete the entire hierarchy. Remove IK Chain Deletes the IK Solver from the hierarchy. Doesn't delete the objects or bones, only the IK controls. Position Displays the Key Info parameter rollouts specific for a Position end effector. This option is not active if no Position end effector is assigned. (The Key Info parameters are the same as those used for any Position controller.) Rotation Displays the parameters for an assigned Rotation end effector. This option is not active if no Rotation effector is assigned. (The Key Info parameters are the same as those used for any Rotation controller.) HD Joint Settings You control a joint's resistance to motion, and its tendency to return to its original position, by setting Ease, Damping, and Spring Back options. Moving telescopes with and without damping Easing a Joint at Its Limits An organic joint, or a worn mechanical joint, moves freely in the middle of its range of motion but moves less freely at the extremes of its range. Use Ease to cause a joint to resist motion as it approaches its From and To limits. 3754 | Chapter 13 Animation For example, your forearm might move freely in the middle of its range of motion, but it resists movement when you try to squeeze it against your upper arm or extend it all the way out. Ease simulates this effect. Damping Joint Action As a joint corrodes, dries out, or is put under a heavy load, it resists motion along its active axes. Damping simulates the natural effect of joint friction or inertia. Enter a value greater than zero in the Damping field to apply resistance over a joint's full range of motion. As damping increases a joint resists motion and other joints are required to move more. A damping value of 1.0 means there is extreme resistance and a joint will not move on that axis. For example, a telescope with no damping at all allows each cylinder to move to its maximum limit before the next cylinder moves. If the cylinders have damping values assigned, then each cylinder causes its parent to begin moving before it reaches full extension. Setting a Joint to Spring Back When a joint resists motion, it also has a tendency to return toward its at-rest position. You simulate this by setting Spring Back tension in the joints. As the joint moves further from its rest position, an increasingly larger force pulls the joint back, like a spring. When you set Spring Tension higher, the spring pulls harder as the joint moves farther away from its rest position. Very high settings can turn the joint into a limit, because you can reach the point where the spring is too strong to allow the joint to move any farther. Setting Joint Precedence (HD Solver) You set Joint Precedence to control the order in which joint calculations are applied to the kinematic chain. When an IK solution is calculated, the result is dependent on the order of calculation for each joint. Inverse Kinematics (IK) | 3755 The hoof (a child) has precedence over the leg (its parent). The hoof (a child) has precedence over the leg (its parent). 3756 | Chapter 13 Animation For any given position of an end effector, there are many possible IK solutions. The three joint precedence controls in the Object Parameters rollout are: Precedence Sets joint precedence manually. Child->Parent Automatically sets joint precedence to decrease in value from child to parent. Parent->Child Automatically sets joint precedence to decrease in value from parent to child. Determining Order of Calculations You control the HD IK solution by setting joint precedence to determine which joints contribute the most to the HD IK solution and which joints contribute the least. ■ Joints with high precedence values are calculated first, and contribute more motion to the HD IK solution. ■ Joints with low precedence values are calculated last and contribute the least motion to the HD IK solution. ■ Joints with equal precedence values are calculated by order in the hierarchy. Joints closer to the end effector are calculated first and joints closer to the root are calculated last. Of all of the joint parameters, Joint Precedence is the most subtle. See also: ■ Using Default Joint Precedence (HD Solver) on page 3758 ■ Choosing Child-to-Parent Precedence (HD Solver) on page 3758 ■ Choosing Parent-to-Child Precedence (HD Solver) on page 3760 ■ Setting Precedence Manually (HD Solver) on page 3762 Inverse Kinematics (IK) | 3757 Using Default Joint Precedence (HD Solver) The default joint precedence is suitable for many HD IK solutions. It assumes that joints closest to where a force is applied (the end effector) will move more than joints farther from the force. The default joint precedence is a value of 0 for every joint: all joints have the same precedence value. This default starts calculations with the end effector and progresses up the IK chain until the base object is reached. Using methods described in the following topics you can change the default precedence values. You can also set your kinematic chain back to its default precedence. To reset the default joint precedence: 1 Select all objects in the kinematic chain. 2 On the Hierarchy panel, expand the Object Parameters rollout. 3 Set Precedence to 0. NOTE Default joint precedence occurs whenever all joints in the kinematic chain have the same precedence value. Assigning a value of 100 to all objects in the kinematic chain is exactly the same as assigning a value of 0. Choosing Child-to-Parent Precedence (HD Solver) Child–>Parent precedence causes joints closest to where a force is applied (the end effector) to move more than joints that are farther away from the force. Like the default precedence, Child->Parent precedence produces a natural result that is suitable for many IK solutions. The difference is that Child−>Parent precedence assigns unique values to each object in the kinematic chain (default precedence uses the value of 0 for every object). Child−>Parent precedence is more flexible if you want to go back and manually change precedence values. 3758 | Chapter 13 Animation The first figure shows values for child-to-parent precedence. The first figure shows values for child-to-parent precedence. Assigning Child->Parent Precedence Clicking Child−>Parent sets joint precedence based on a child having a higher precedence than its parent. The values are calculated by setting the root of Inverse Kinematics (IK) | 3759 the entire hierarchy to a precedence value of 0 and each child to a value equal to 10 times its depth from the root. You almost always assign Child->Parent precedence to an entire kinematic chain. The chain for the structure in the figure uses the body as the root object and the duck as the end effector. Each object receives a value equal to its depth from the root of the hierarchy times 10. Note that precedence value calculation is based on the root of the hierarchy whether or not the root is selected as part of the kinematic chain. You might want to assign Child->Parent precedence to just a single object in the kinematic chain. For example, if you have been manually changing precedence values, you might want to set an object to its original Child->Parent value. The value assigned to the object is equal to its depth from the root of the hierarchy times 10. Choosing Parent-to-Child Precedence (HD Solver) Parent->Child precedence causes joints closest to where a force is applied (the end effector) to move less than joints farther away from the force. This is the opposite of Child->Parent precedence. Parent->Child precedence assigns the highest precedence to the base object and the lowest precedence to the end effector. You might use this type of precedence for a number of special cases. For example: ■ When joints near the end effector are less flexible than joints near the base. You use Parent->Child precedence in conjunction with limits and damping. For more information about the latter two, see Setting Joint Resistance and Spring Back on page 3754. ■ When animating a kinematic chain where the real-world object is moved by applying force to the base of the chain. Imagine an animal's tail. Using IK you animate the tail by moving the tip of the tail. However, a real animal moves its tail using muscles at the tail's base. The real-world motion is applied from the base to the tip in a Parent->Child order. 3760 | Chapter 13 Animation The figure shows values for parent-to-child precedence. The figure shows values for parent-to-child precedence. Assigning Parent->Child Precedence Clicking Parent->Child sets joint precedence based on a child having a lower precedence than its parent. The values are calculated by setting the root of Inverse Kinematics (IK) | 3761 the entire hierarchy to a precedence of 0 and each child to a value equal to -10 times its depth from the root. You almost always assign Parent->Child precedence to an entire kinematic chain. The chain for the structure in the above figure uses the body as the root object and the duck as the end effector. Using Parent->Child precedence, the feet are assigned a precedence of -50 and the duck is assigned a precedence of -140. You might want to assign Parent->Child precedence to a single object in the kinematic chain. The value assigned to the object is equal to its depth from the root of the hierarchy times -10. Setting Precedence Manually (HD Solver) Some models and animated motions don't fit neatly into a Child->Parent or Parent->Child precedence. In such situations you can manually assign precedence values to any object in the IK chain on a joint-by-joint basis. For example: ■ Animating models with a combination of light, flexible joints and heavy, resisting joints. Imagine a model of heavy iron balls linked together with lengths of chain. Setting the precedence values of the chains higher than the precedence values of the iron balls simulates the balls' inertial resistance to motion. ■ Animating a motion where certain joints must move before other joints. Imagine a golfer's arm where the elbow should remain locked while swinging a golf club. You could accomplish this by setting the precedence of the elbow lower than the precedence of the wrist and shoulder. High precedence values are calculated before low precedence values. Precedence values that are equal are calculated in Child->Parent order. The precedence calculations only consider the relative IK values. This means that an IK chain of three objects with precedence values of 0, 30, and 200 would have the same solution if the precedence were changed to 1, 2, and 3. 3762 | Chapter 13 Animation The figures show precedence values that were assigned manually: the chain for the structure uses the body as the root object and the duck as the end effector. The figures show precedence values that were assigned manually: the chain for the structure uses the body as the root object and the duck as the end effector. Inverse Kinematics (IK) | 3763 Terminating Chains (HD Solver) The kinematic chain is automatically defined using the object you select as the end effector and working up the hierarchical tree to use the root object as the base of the kinematic chain. Sometimes you might not want the kinematic chain to go all the way to the root of the hierarchy. This is especially true when you are animating multi-limbed or branching structures, such as an octopus or a tree. Terminator option in the Object Parameters rollout You use the Terminator option in the Object Parameters rollout to stop calculation of the kinematic chain before it reaches the root object of the hierarchy. A terminator object stops calculation at the terminator's child object; the terminator itself is not affected by the IK solution. This gives you very precise control over the behavior of the kinematic chain. For example, look at the bird in the figure. The bird is linked with its body as the root of the hierarchy. If you use inverse kinematics to move the duck, all objects from the duck to the body will be affected by the IK solution. However, if you define a neck bone as a terminator object, then only the objects from the duck to the neck vertebrae are affected. 3764 | Chapter 13 Animation With a terminator in the neck, the body of the bird is not affected. With a terminator in the neck, the body of the bird is not affected. Inverse Kinematics (IK) | 3765 IK Limb Solver The IK Limb solver is specifically meant for animating the limbs of human characters; for example, the hip to the ankle, or the shoulder to the wrist. Each IK Limb solver affects only two bones in a chain, but multiple solvers can be applied to different parts of the same chain. It is an analytical solver that is very fast and accurate in viewports. To use the IK Limb solver, a bones system must have at least three bones in the chain. The goal is placed at the pivot point of the bone that is two bones away from the first selected bone. The IK Limb solver works not only with bone hierarchies, but with any linked hierarchy that has at least three elements, and is set up to model a human limb. The additional requirements are: ■ The first joint is "spherical." That is, it has three degrees of freedom. ■ The second joint is "revolute," a robotics term that means it is based on a pin and has one degree of freedom. The IK Limb solver uses the same controls as the HI Solver, so it allows for mixing periods of forward and inverse kinematics in the same animation period. It does not use the HD Solver methods of damping, precedence, and setting joint limits, instead it has a preferred angle parameter, swivel plane and IK/FK Enabling. The IK Limb solver can be exported directly to a game engine. See also: ■ IK Solver Rollout (HI Solver) on page 3730 ■ IK Solver Properties Rollout (HI Solver) on page 3735 ■ IK Display Options Rollout (HI Solver) on page 3739 ■ Sliding and Rotational Joints (HI Solver) on page 3741 Procedures To apply a IK limb solver: 1 Create a chain that has three bones. 3766 | Chapter 13 Animation 2 Select the root of the chain. 3 From the Animation menu, choose IK Solvers ➤ IK Limb Solver. 4 In the viewport, move the mouse. You will see a dotted line attached to the cursor as you move the mouse. 5 Click the third bone in the chain, or any bone after the third bone. The IK Limb solver displays on the bone chain. The IK Limb solver only affects two bones in the chain, but you need to select the third bone to put it on the other two bones. To animate an IK limb solver chain: 1 Apply the IK Limb solver to a two bone chain, with joint limits as described above. 2 Select the goal. 3 Move or rotate the goal. Interface The Interface for the IK Limb solver is identical to that of the HI Solver. Select the goal at the end of the chain, and open the Motion panel. Here you will see the controls for the IK Limb solver. (The fourth is available from the Hierarchy ➤ IK panel when a bone is selected.) Spline IK Animation menu ➤ IK Solvers ➤ Spline IK Solver Inverse Kinematics (IK) | 3767 Create panel ➤ from the IK Solver list. (Systems) ➤ Bones ➤ Choose SplineIKSolver The Spline IK solver uses a spline to determine the curvature of a series of bones or other linked objects. You can move and animate the spline vertices to change the curvature of the spline. Usually, a helper is placed at each vertex to assist in animating the spline. The spline curvature is then passed on to the entire linked structure. The bones themselves do not change shape. Normally the number of spline vertices and bones are the same, but you can use fewer vertices for easier posing and animating a long multiple-bone structure with just a few nodes, as opposed to animating each bone individually. Spline IK provides a more flexible animation system than other IK solvers. You can position vertices/helpers anywhere in 3D space, so the linked structure can assume any shape you want to give it. 3768 | Chapter 13 Animation A helper object is automatically placed at each vertex when Spline IK is assigned. Each vertex is linked to its corresponding helper, so a vertex can be moved by moving the helper. Unlike the HI Solver, the Spline IK system does not use a goal. The positions of helpers/vertices in 3D space is the only factor that determines the shape of the linked structure. NOTE Moving the Spline IK helpers to curl the spline can sometimes cause bones to rotate or flip unexpectedly. If this happens, you can try choosing a different upnode object with the IK chain's Pick Upnode option in the IK Solver Properties rollout (see Spline IK Solver Rollouts on page 3777), or use a different IK method for your hierarchy. Applying a Spline IK Solver The Spline IK solver can be applied at the time bones are created, or after the bone structure has already been made. To apply a spline IK solver when bones are created: 1 Go to the Create panel, click (Systems), then click Bones. 2 On the IK Chain Assignment rollout, set IK Solver to SplineIKSolver, and turn on both check boxes: Assign To Children and Assign To Root. By default, Assign To Root is on automatically when you turn on Assign To Children. 3 Draw the bone structure as usual. When you right-click to end the bone creation process, the Spline IK Solver dialog on page 3774 appears. Set parameters and click OK. Inverse Kinematics (IK) | 3769 3770 | Chapter 13 Animation This procedure automatically draws the spline based on your dialog selections and sets up the Spline IK system to work with the spline. 3ds Max automatically assigns a Path constraint to the root bone to constrain it to the helper/vertex at that end of the spline. To apply a Spline IK solver to an existing bone structure: 1 Create a bone structure without an IK chain. 2 Draw a spline or NURBS curve to be used by the bones. The curve can have any length and shape, and does not have to match the length or shape of the bone structure. 3 Select the bone or object where you want to the solver to start. 4 Choose Animation menu ➤ IK Solvers ➤ Spline IK Solver. In the viewport, move the cursor to the bone or object where you want the Inverse Kinematics (IK) | 3771 chain to end and click that bone. Then move the cursor to the spline and click it. The bone structure jumps to the spline and takes its shape, and a helper is created on the spline at each vertex. A Path constraint is automatically assigned to the root bone to constrain it to the helper/vertex at that end of the spline. 3772 | Chapter 13 Animation To specify a spline after the spline IK solver is applied: You can also apply a Spline IK solver to an existing bone structure without selecting a spline, then choose the spline later. 1 Create a bone structure without an IK chain. 2 Select the bone or object where you want to the solver to start. 3 Choose Animation menu ➤ IK Solvers ➤ Spline IK Solver. In the viewport, move the cursor to the bone or object where you want the chain to end and click that bone. Then right-click in the viewport to end the IK solver creation without choosing a spline. 4 Create a spline or NURBS curve to be used with the Spline IK system. It is recommended that you apply the Spline IK Control modifier on page 1687 to it and then click Create Helpers to place helpers at each vertex, making the spline easier to control. Inverse Kinematics (IK) | 3773 5 Select the IK chain cross hairs and go to the Motion panel. On the Spline IK Solver rollout, click Pick Shape and click the spline. With this method, the position constraint is not automatically assigned to the root bone, so it must be assigned manually. 6 Select the root bone. Choose Animation menu ➤ Constraints ➤ Path Constraint, and then click the spline. This moves the bone structure to the spline, if they're apart, and creates a Position List controller for the bone with the Path Constraint as the second (active) constraint. NOTE This also animates the bones along the path. If you don't want this, delete the second animation key. Working with the Spline IK Solver To use the Spline IK Solver, move the helpers to shape the spline. Do not move the spline. The shape of the spline is determined by the positions of the vertices, so moving the spline itself has no effect on the bone structure. If the spline is moved, it will snap back to the helpers the next time a helper is moved. However, it is recommended that you not move the spline at all. Once you have finished setting up the spline IK solver, it can be helpful to freeze the spline to avoid accidentally moving it. Moving helpers changes the shape of the spline. To twist the spline, select the spline IK chain object and go to the Motion panel to change twist angles in the IK Solver Properties rollout. Spline IK Solver Dialog Create menu ➤ (Systems) ➤ Bones ➤ Choose SplineIKSolver as IK Solver and turn on Assign To Children. ➤ Create bone structure. The Spline IK Solver dialog appears after bone creation if the Spline IK Solver has been selected as the IK solver and Assign To Children is turned on. 3774 | Chapter 13 Animation This dialog sets parameters for the spline that will be created to control the bone structure. The spline, in turn, is shaped by the positions of helper objects at each knot (control point). See also: ■ Spline IK on page 3767 Inverse Kinematics (IK) | 3775 Interface Spline Options group IK Name Sets the name of the IK chain object. This object appears as a set of blue cross hairs at the end of the chain after you click OK. Auto Create Spline Automatically creates the spline used for the Spline IK solver based on the parameters on this dialog. When off, no spline is created and a spline must be manually created and assigned to the spline IK solver in order to use the solver. See Animating with the Spline IK Solver on page 3767 for a description of this procedure. Default=on. Curve Type Choose the type of curve to serve as the Spline IK control: ■ BezierCreates a Bezier spline, similar to a spline created with the Create ➤ Shapes ➤ Line tool. This is the default curve type. ■ NURBS PointCreates a NURBS Point Curve, where all knots (control nodes) lie on the curve. ■ NURBS CVCreates a NURBS CV Curve, where knots (control nodes) do not necessarily lie on the curve. 3776 | Chapter 13 Animation Number of Spline Knots Vertices on the spline, or control points and CVs on the NURBS curve. You alter the spline or curve by moving and animating the knots. The number of knots sets the degree of refinement on the curve as well as the number of points that can be selected and moved to change the shape of the curve. The default value is the number of bones in the Spline IK chain. Because one purpose of a Spline IK solver is to reduce the number of objects that require animation, you might want to use a lower value, such as half the number of bones. Helper Options group Create Helpers When on, 3ds Max places one or more Point helper on page 2884 objects at each knot in the spline or curve, making it easier to move and animate the knots. You can enable more than one type of helper. When you move one helper, the others at the same location also move, as does the curve knot. Center Marker Places a small X-shaped Point helper at each knot. Axis Tripod Places a small tripod-axis-shaped Point helper at each knot. Cross Places a small cross-shaped Point helper at each knot. Box Places a small box-shaped Point helper at each knot. Size Sets the size for helpers. Constant Screen Size Keeps the sizes of helpers constant regardless of the zoom extent of the viewports. Draw On Top Displays the helpers on top of all other objects in the scene for improved visibility in busy scenes. TIP To change the display of helpers after creation, select each helper and change selections on the Modify panel. Spline IK Solver Rollouts Select a Spline IK Solver control (the blue cross at the end of the chain) ➤ Motion panel ➤ Parameters button Inverse Kinematics (IK) | 3777 When a Spline IK chain is selected, the options on the Motion panel can be used to change the starting and ending bones, and twist angles for the entire linked structure. To create a Spline IK Solver, see Spline IK on page 3767. Interface Spline IK Solver rollout The options on this rollout allow you to pick a new spline for the spline IK chain, or pick new start and end joints for the chain. Spline IK Solver group Spline IK Solver Displays the name of the solver. The only available solver is Spline IK Solver. Enabled Turns control of the solver on and off. Bone Joints group Pick Start Joint Picks the start joint for the Spline IK Solver and displays the object name. Pick End Joint Picks the end joint for the Spline IK Solver and displays the object name. 3778 | Chapter 13 Animation IK Solver Properties rollout The options on this rollout set the start and end twist angles for the spline IK chain. The twist manipulators on each end of the chain show the degree of twist. Twist Start Angle Sets the twist angle for the entire chain, rotating all bones in the chain. Twist End Angle Sets the twist angle for the end joint relative to the start joint, creating a gradual twist over the entire chain. Pick Upnode When Spline IK is assigned to a bone chain, the IK system attempts to determine the “up” direction for bones, which is the direction in which the bones' back fins should point. The Spline IK Solver might interpret this direction incorrectly, causing bones to flip to one side or the other. Picking an upnode causes the “up” direction to point along the picked object's local Z axis. By default, the upnode is set to the first helper/knot on the spline, which usually causes the “up” direction to be interpreted correctly. Use Use the picked node to specify the “up” direction for the root bone. IK Display Options rollout The options on this rollout set the display of twist manipulators and the IK chain object. TIP To see and adjust the twist manipulators, turn on Select And Manipulate on page 2868. Inverse Kinematics (IK) | 3779 Twist Start group Enabled Turns on the display of the start twist manipulator. Default=on. Size Sets the size of the start twist manipulator. Default=1.0. Length Sets the length of the start twist manipulator. Default=75.0 Twist End group Enabled Turns on the display of the end twist manipulator. Default=on. Size Sets the size of the end twist manipulator. Default=1.0. Length Sets the length of the end twist manipulator. Default=75.0. Goal Display group Enabled Turns on the display of the IK goal. Default=on. Size Sets the size of the IK goal. Default=30.0. 3780 | Chapter 13 Animation IK Solver Display group Enabled Turns on the display of the IK chain object. Default=off. Interactive and Applied IK Interactive IK and Applied IK are alternative methods to the IK Solver methods. TIP Interactive IK and Applied IK are features carried over from the earliest version of 3ds Max. We recommend that you explore the IK Solver methods first, and use Interactive IK or Applied IK only if you find the IK Solvers will not satisfy your needs. Animating with Interactive IK Select the end of a hierarchy ➤ IK. Hierarchy panel ➤ IK ➤ Interactive With Interactive IK and the Auto Key button turned on, you position your model on keyframes, and the IK solution is interpolated between those keyframes. Because the IK solution accounts for multiple objects and the joints between objects, the interpolated animation of an IK object is usually different from the animation of objects without IK. TIP Interactive IK is a feature carried over from the earliest version of 3ds Max. We recommend that you explore the IK Solver methods first, and use Interactive IK only if you find the IK Solvers will not satisfy your needs. Example of Interactive IK The following example demonstrates how an interactive IK animation works and how it might differ from what you expect. The figure shows an IK structure with its end effector resting on top of a box. The box moves in a straight line over 100 frames. Turn the Auto Key button on and then in the Hierarchy panel ➤ IK tab, turn on Interactive IK. Move the end effector of the IK structure to rest on top of the box at frame 100. The interpolated animation of the end effector follows a natural looking curved path. You might have expected the IK bone structure to follow the same path as the box. However, the IK solution is only calculated at the keyframes. The Inverse Kinematics (IK) | 3781 positions and rotations of all the objects in the kinematic chain are interpolated between the keyframes to produce the curved result. To make the end effector closely follow the path of the box, you would have to add more keyframes. You can also use binding and standard applied IK. For information about making the end effector precisely follow the motion of the box, see Animating with Applied IK on page 3784. IK structure 3782 | Chapter 13 Animation Results of animating the box and IK structure Behavior of Objects in IK Mode As you move and rotate objects using interactive IK you notice that some objects might not be able to move or rotate about all axes. This is because the objects are constrained by the joint parameters you have set. If the joint parameters specify that motion cannot occur in a certain axis, the end of the chain will not move. Behavior of Root Objects in IK Mode An option on the Inverse Kinematics panel on page 8939 of the Preference Settings dialog enables the special case of moving and rotating root objects when IK mode is on. The name of this control is Always Transform Children Of The World. While you are transforming an end effector using IK mode, the settings for the root object’s joint parameters are used and the root object does not move with respect to the World. If you select the root object, its joint parameters are released and you can transform the root object. Inverse Kinematics (IK) | 3783 If you decide you want root objects to always use their joint parameters, you can turn off the Always Transform Children Of The World option. Single, unlinked objects are hierarchies of one. An unlinked object is its own root and is also a child of the World. Turning Always Transform Children of the World will prevent you from transforming single objects in IK mode. Animating with Applied IK Select the end of a hierarchy ➤ Hierarchy panel ➤ IK ➤ Set object parameters such as Bind to Follow Object ➤ Apply IK. Applied IK requires you bind one or more parts of your IK structure to animated follow objects. Once bound, you can select any object in your kinematic chain and click Apply IK. This calculates the IK solution for each frame of the animation and places transform keys for every object in the IK chain. The Apply IK method of animation works best when you want objects in the kinematic chain to match the motions of other objects exactly. TIP Applied IK is a feature carried over from the earliest version of 3ds Max. We recommend that you explore the IK Solver methods first, and use Applied IK only if you find the IK Solvers won't satisfy your needs. 3784 | Chapter 13 Animation Example of Applied IK IK structure Inverse Kinematics (IK) | 3785 Animating the lamp with applied IK The illustration demonstrates how an applied IK animation works. Just as in the example in Animating with Interactive IK on page 3781, the figure shows an IK lamp structure with its head positioned over a spider. To maintain the offset distance between the lamp head and spider, the actual end effector is an invisible Dummy helper object, placed within the spider and linked to the lamp head as a child. The spider moves in a straight line over 100 frames. To bind the end effector to the spider, click Bind, and then drag a line between the two. Once the end effector is bound to the spider, it will try to match the location of its pivot point with the pivot point of the spider. Select the end effector and click Apply IK. 3ds Max matches the end effector with the box and calculates the IK solution for every frame. Playback of the animation shows that the end effector perfectly follows the box. NOTE In the above example, the end effector is an invisible Dummy helper object, which is used to maintain the offset distance between the lamp head and the spider. 3786 | Chapter 13 Animation Clearing Keys from Previous Animation If you have animated any members of the IK chain interactively, or run Apply IK previously, the existing animation keys will affect the new IK solution. Sometimes that is exactly what you want. You can use manual animation to subtly nudge the IK solution toward a particular result. However, it is more likely that you want to remove old keys in order to begin the IK calculations with a clean slate. The Clear Keys option in the Inverse Kinematics rollout controls whether or not old move and rotate animation keys are removed. Constraining the IK Solution to Specific Frames You use the Start and End fields in the Inverse Kinematics rollout to set the range of frames used to calculate the applied IK solution. Using these fields, you can restrict IK solutions to specific frames and solve for different solutions in different time segments. You can set the Start and End fields to include frames outside of the active time segment. You can also constrain an IK solution to frames where a key exists for an end effector. This is useful if you want to animate a hierarchy using end effectors but do not want keys generated on every frame. Turn on Apply Only To Keys to constrain the IK solution to frames with end effector keys. Watching Progress of the IK Solution Normally, Apply IK calculates all frames before updating the viewports. To watch the progress of Apply IK frame by frame, turn on Update Viewports on the Inverse Kinematics rollout. Updating the viewports greatly slows down the Apply IK process but it can help you troubleshoot complex animations. Joint Controls Joints control the rotation and position of an object with respect to its parent. Setting Joint Parameters You set whether a joint behaves as a hinge, a drawer slide, or another type of joint by setting joint parameters on page 3741 for each object in the kinematic Inverse Kinematics (IK) | 3787 chain. Joints control the rotation and position of an object with respect to its parent. Any object has a maximum of two joint-type rollouts: One rollout contains settings to control the object's position, and the other controls the object's rotation. There can be many different types of positional and rotational joints. Which joint parameters are available is determined by the type of IK solver assigned to an object. HI Solvers, for instance, are controlled with a preferred angle setting found in the Rotational Joint parameters. HD Solvers have additional parameters for spring back, precedence, and damping, not found in the HI Solver. Any hierarchy of object or bone systems can have its joint limits defined. Select all the objects, and turn on their bone or link display. Select the bone or link and open the Hierarchy panel ➤ IK tab. Scroll down to the Sliding and Rotational Joints. There, you can activate axes and set their individual limits. NOTE Different IK solvers use different joint limits. When using a bone system, add the IK solvers first, then set the joint limits second. Common Joint Types The most common joint types are Rotational and Sliding joints. Other common joint types are Path and Surface joints. Each joint type displays its own set of joint parameters. Rotational joints Control rotation of objects using many of the standard rotation controllers. The parameters for rotational joints set an object's ability to rotate about a given axis. For many IK structures, consider using an Euler XYZ controller on page 3482. Quaternion-based controllers tend to freeze if an object is moved beyond rotational joint limits before turning on IK. Sliding joints Control the position of objects using many of the standard position controllers. The parameters for sliding joints control whether an object can move along a given axis. Surface joints Control the position of objects using Surface constraint on page 3642. The parameters control how the object travels along its assigned surface. Path joints Control the positional motion of objects using Path constraint on page 3629. The parameters for path joints control how far an object can travel along its assigned path. 3788 | Chapter 13 Animation Using Joint Parameters The way the children behave toward one another is governed by the inheritance of the transforms down the chain. Setting joint limits on individual child objects can influence this inheritance. If three children in a row all have their rotational axes made inactive, they will not be able to rotate, and so a piece of the chain will appear stiff. Or if only one axis is made active as a sliding joint, the component can separate in space from the chain. When you are using an object with a path constraint in an IK chain you might want the path to appear as if it is part of the IK chain. You achieve this effect by linking the object using the path constraint and the path to the same parent. The path object should have no children, and other objects in the IK chain should be linked to the object using the path constraint. 1. Base 2. Post 3. Cap 4. Ring 5. Holder 6. Handle Inverse Kinematics (IK) | 3789 In the figure, the bead uses a path constraint to hold it to the ring. The IK chain from parent to child is Post->Cap->Bead->Handle. The ring is a child of the Cap but is not part of the IK chain. Copying and Pasting Joint Parameters You can copy and paste at the bottom of the Object Parameters rollout in the Hierarchy panel to copy and paste a complete set of joint parameters from one object to another. There are separate copy and paste functions for sliding joints and rotational joints. Each joint type saves copied parameters in separate clipboards. 3790 | Chapter 13 Animation TIP Choose one of the Mirror Paste options if you want to mirror the joint parameter settings as you paste them. This is very useful when pasting from one side of an object to another, such as left arm joints to a right arm. You can also copy joint settings from a non-IK controller to an IK controller, but you can't copy from an IK controller to a non-IK controller. Activating Joint Axes You set whether an object can move or rotate about a given axis by using the Active check box in the joint rollouts. Joints have a maximum of six possible axes: three for rotation and three for position. You constrain the motion of a joint by setting which axes are active. ■ A joint with all axes active can move and rotate freely, independent of its parent. ■ A joint with all axes inactive is locked to its parent and cannot move independently. ■ The setting of IK joint axes overrides Inherit and Lock settings on the Link Info rollout. Understanding Joint Axis Orientation IK joint axes for an object are defined by the Local axes of the object’s parent. That means if you activate the X axis of an object’s rotational joint parameters, the object rotates about its parent’s X axis, not its own X axis. You might have a problem when you set joint parameters for an object whose local coordinate system is oriented 90 degrees from its parent’s coordinate system. In such a case, the rotation angle about one axis becomes indeterminate. The result is that one axis will often cause rotation about one of the other two axes. The following techniques will make setting joint parameters easier and more successful: ■ Assemble IK hierarchies with objects aligned along the World axes. ■ Consider using the Adjust Pivot on page 3797 functions to align your object pivots with either the World axes or the root object of the hierarchy. ■ Set the transform managers to Parent coordinate system and Use Pivot Point Center, while setting joint parameters. This helps you see the Inverse Kinematics (IK) | 3791 orientation of the joint axes by displaying the parent axis icon at the selected object’s pivot point. ■ When activating joint axes, drag the From spinner up and down. This causes the object to move or rotate about the active axis and is a quick check that you chose the right axis. Activating Rotational Joints 1. Rotational links When you turn on Active for one of the X, Y, Z axes of a rotational joint, the object can rotate about that axis of its parent’s coordinate system. Joints that rotate about multiple axes are very common. A ball joint, like your shoulder, is a rotational joint active about all three axes. A pin joint, like your elbow, is a rotational joint active on a single axis. 3792 | Chapter 13 Animation Activating Sliding Joints 1. Sliding axis When you turn on Active for one of the X, Y, Z axes of a sliding joint the object can move along that axis of its parent’s coordinate system. Most sliding joints are active only along a single axis. A telescope is an example of a sliding joint active on a single axis. You rarely see a sliding joint active along all three axes. If a sliding joint is active along all three axes, it moves independently from its parent. It’s almost as if there is no joint connection at all. TIP Use the HD IK Solver when you need to use sliding joints with IK. Inverse Kinematics (IK) | 3793 Path and Surface Joints Circular path When you turn on Active for Path or Surface joints you are setting whether the object can move along the assigned path or surface. A house key on a ring is an example of an active path joint. See Path Constraint on page 3629. Limiting Joint Action Most joints are limited in their range of motion along an active axis. For example: a hinge might open only to 120 degrees; a piston slides only within the length of its cylinder. To limit the range of motion allowed on an active axis, you turn on Limited and set values for the From and To fields on the joint rollouts. You can also view joint limits in the viewport by pressing and holding the mouse button on the From or To label of a limit field. The object will move or rotate to the limit value until you release the mouse button. 3794 | Chapter 13 Animation Limiting Rotational Joints Limits for a rotational joint define how far the object can rotate about its parent’s axes. The values in the From and To fields represent the rotation angle about the active axis measured from 0 degrees on the parent object. For example, an elbow joint rotates the forearm with respect to the upper arm. In the figure the limits on X axis rotation are from 0 to 135 degrees. The Y, Z axes are inactive because an elbow joint rotates about a single axis. Limiting Sliding Joints Limits for a sliding joint define how far a joint can move along its parent’s axes. The values in the From and To fields represent a distance for movement along the active axis measured from the pivot point of the parent to the pivot point of the selected object. For example, a sliding joint on a piston moves the piston in and out of the cylinder. In the figure, the limits on Z axis movement are from 10 to 90. This prevents the piston from hitting the bottom or moving past the end of the cylinder. Limiting Path and Surface Joints Limits for path and surface joints define how far along the path or surface an object can move. The values in the From and To fields represent a percentage of the total distance measured along the path or surface. For example, a path joint for a house key moves the key along a key ring. Setting the limits on the path joint at 5% to 95% prevents the key from traveling along the ring where the fob is attached. See also: ■ Sliding and Rotational Joints (HI Solver) on page 3741 Hierarchy Panel Commands Once you have set up a hierarchy using the Select and Link command on page 3666 or a system such as Bones on page 793, you can manage it using the Hierarchy panel. The Hierarchy panel has three tabs: Pivot on page 3796 IK on page 3807 Hierarchy Panel Commands | 3795 Link Info on page 3824 You use the Pivot tab to adjust the pivot points of objects in the hierarchy. You use the IK tab to manage the behavior of inverse kinematics (IK). You use the Link Info tab to apply locks or inheritance to movement within the hierarchy. See also: ■ Hierarchies and Kinematics on page 3653 ■ Inverse Kinematics (IK) on page 3696 ■ IK Terminology on page 3700 ■ Animating with Interactive IK on page 3781 ■ Animating with Applied IK on page 3784 ■ History-Dependent (HD) IK Solver on page 3744 ■ History-Independent (HI) IK Solver on page 3715 ■ IK Limb Solver on page 3766 ■ Spline IK on page 3767 Pivot Make a selection in the viewport. ➤ Hierarchy panel ➤ Pivot button Every object has a pivot point that represents its local center and local coordinate system. 3796 | Chapter 13 Animation The pivot point of an object is used for the following: ■ Functions as the center of rotation and scaling when you use the Pivot Point transform center on page 868. ■ Sets the default location of a modifier center. ■ Defines the transform relationship for the object's linked children. ■ Defines the joint location for inverse kinematics (IK) on page 3696. You can adjust the position and orientation of an object's pivot point at any time using the buttons in the Adjust Pivot rollout in the Hierarchy panel. Adjusting an object's pivot has no effect on any children linked to that object. NOTE You cannot animate the functions under the Adjust Pivot rollout. Adjusting an object's pivot on any frame changes it for the entire animation. Use caution when adjusting the pivot of an animated object. Adjusting the pivot on one frame might produce unexpected results in another part of the animation. You should adjust the pivot point to the location you want, before you start to animate, if possible. TIP Use the Link constraint on page 3614 to simulate the effect of an animated pivot. Adjust Pivot Rollout Make a selection in the viewport. ➤ ➤ Adjust Pivot rollout Hierarchy panel ➤ Pivot button You can adjust the position and orientation of an object's pivot point on page 9269 at any time using the buttons in the Adjust Pivot rollout. Adjusting an object's pivot has no effect on any children linked to that object. You cannot animate the functions under the Adjust Pivot rollout. Adjusting an object's pivot on any frame changes it for the entire animation. Hierarchy Panel Commands | 3797 Pivot point sets hand to the center of the clock face. Procedures To reposition an object's pivot point: 1 2 Select an object and then turn on Adjust Pivot rollout ➤ Affect Pivot Only. Move or Hierarchy panel ➤ rotate the pivot. You can also use Align on page 906, Quick Align on page 911, and Align to View on page 918 on the toolbar to align the pivot. See Adjust Transform Rollout on page 3804 for related information. 3798 | Chapter 13 Animation Interface Move/Rotate/Scale group Each of the buttons in the Move/Rotate/Scale group box highlights when active. This determines which part of the object is affected by the three buttons in the Alignment area, as well as the Transform and Align commands on the main toolbar. Affect Pivot Only Affects only the pivot point of the selected objects. NOTE A Scale transform has no effect on the pivot. Affect Object Only Affects only the selected objects (and not the pivot point). Affect Hierarchy Only Applies only to the Rotation and Scale tools. It applies the rotation or scale to the hierarchy by rotating or scaling the position of the pivot point without rotating or scaling the pivot point itself. NOTE You can use this on hierarchies of 3ds Max objects, but don't use it on Bones systems. To reposition, rotate or change the size of bones in a chain, see Bones on page 793. NOTE It's important to remember that the Align, Normal Align, and Align to View functions are all affected by the state of Affect Pivot Only, Affect Object Only, and Affect Hierarchy Only. Snap mode allows you to snap the pivot to its own object, or to any other object in the scene. Alignment group The effect of these buttons depends on whether you chose Affect Pivot Only or Affect Object Only. They don't apply to Affect Hierarchy Only. Hierarchy Panel Commands | 3799 If you chose Affect Pivot Only, the buttons work as follows: Center to Object Moves the pivot to the center of its object. Align to Object Rotates the pivot to align with the object's transformation matrix axes. Align to World Rotates the pivot to align with the world coordinate axes. If you chose Affect Object Only, the buttons work as follows: Center to Pivot Moves the center of the object to its pivot location. Align to Pivot Rotates the object to align its transformation matrix axes with the pivot. Align to World Rotates the object to align its transformation matrix axes with the world coordinate axes. Pivot group Reset Pivot Resets the pivot point to the position and orientation it held when the object was first created. This is not affected by the state of the Affect Pivot Only and Affect Object Only buttons. Working Pivot Rollout Make a selection. ➤ Pivot rollout Hierarchy panel ➤ Pivot button ➤ Working As an alternative to the object’s own pivot, you can use the working pivot for applying transforms to any object in the scene. This allows you, for example, 3800 | Chapter 13 Animation to rotate an object about an arbitrary, persistent point in the scene without interfering with the object’s own pivot. You position and orient the working pivot using standard transform tools as well as some special options available on this rollout, and can activate it at any time. You can use it for editing geometry at the object and sub-object levels. Keep in mind, however, that the working pivot cannot be used as a transform center when creating animation (see Animation and the Transform Center on page 846). NOTE The scene contains only one working pivot, which is independent of other scene elements such as geometry. Moving an object along the working pivot Z axis IMPORTANT Most Working Pivot tools are best used in working contexts other than the Hierarchy panel. For example, you can use it in the Modify panel context while editing mesh sub-objects. For this reason, it’s highly recommended that you use Customize User Interface on page 8837 ➤ Main UI group ➤ Working Pivot category actions to create a set of controls that you can use anywhere in the 3ds Max interface. For example, you could create a custom Working Pivot toolbar on page 8840 with buttons that give you access to the Working Pivot commands while editing meshes. Hierarchy Panel Commands | 3801 Procedure To use Working Pivot: 1 Turn on Edit Working Pivot and use standard transform tools or the Place Pivot To group on page 3803 commands to place and orient the working pivot. Turn off Edit Working Pivot when done. 2 You can use the working pivot in either of two ways: ■ Turn on Use Working Pivot from either the Hierarchy panel or your custom UI control on page 3801. By default, this sets the geometric center for rotate and scale transforms to Use Transform Coordinate Center on page 871; that is, the working pivot position. To specify a different transform center, use the Use Center flyout on page 867. ■ From the main toolbar ➤ Reference Coordinate System list on page 860, choose Working. This keeps the current Use Center on page 867 setting. Interface When any of the modular tools on this rollout is active, a message to that effect appears in each viewport below the viewport name. For example, when you activate Use Working Pivot, the viewport legend reads “USE WP,” as shown in the above illustration. Edit Working Pivot When on, makes the working pivot visible in the scene and lets you transform it. 3802 | Chapter 13 Animation When you first enter Edit Working Pivot mode, all transform tools use the Local reference coordinate system on page 860 by default. You can change the coordinate system while working in this mode, and the tool remembers the reference coordinate system for each transform. Changing the transform, for example from Move to Rotate, recalls the last coordinate system for that transform during the current Edit Working Pivot session. Exiting Edit Working Pivot restores the last active transform tool. For example, if you’re rotating an object, and you move the working pivot and then exit Edit Working Pivot mode, the Rotate tool will again be active. NOTE While Edit Working Pivot is active, the current selection is locked to the working pivot and cannot be changed without exiting this mode. Use Working Pivot When on, lets you transform the current selection (objects or sub-objects) with respect to the working pivot. The transform gizmo, when visible, moves to the working pivot location. In this mode you typically transform the selection by manipulating the gizmo rather than the selection. This mode overrides the current transform space for all transforms. Exiting this mode restores the individual coordinate system for each transform tool. By default, this sets the geometric center for rotate and scale transforms to Use Transform Coordinate Center on page 871; that is, the working pivot position. To specify a different transform center, use the Use Center flyout on page 867. You can activate Edit Working Pivot while using the working pivot; when you exit Edit Working Pivot, Use Working Pivot mode is restored. Align To View Reorients the working pivot so that its XY plane is parallel to the active view plane and the X and Y axes are parallel to the viewport edges. Available only in Edit Working Pivot and Use Working Pivot modes. Reset Moves the working pivot to the pivot location of the selected object. With multiple selected objects, the working pivot moves to the pivot position of the last-selected object. With a sub-object selection, the working pivot moves to the geometric center of the selection (the averaged position of the selected sub-objects). If the working pivot doesn’t appear onscreen, use Reset to move it to a known location. Place Pivot To group These controls let you position the working pivot by clicking the mouse instead of with transform tools. To use, click the View or Surface button, and then click in a viewport to position the working pivot there. To exit, right-click the Hierarchy Panel Commands | 3803 active viewport or click the button again. You’re then returned to the previous transform tool and working pivot mode if you were using one. View Places the working pivot in screen space without changing its depth in the screen. Thus the placement is on a grid that is parallel to the screen, intersecting the original position of the pivot. Surface Places the working pivot on a surface you click on, or, if no surface is present where you click, the construction plane. This works like AutoGrid on page 2819, and you can see the gizmo previewing the alignment to the normal of the surface as you move the cursor over it. Clicking places the pivot to the surface and aligns it to the normal (unless Align To View is on; see following). Align To View When on, automatically aligns the working pivot to the current view when you place it with View or Surface. This is useful to prepare for transforms in the screen plane. Adjust Transform Rollout Make a selection. ➤ Transform rollout Hierarchy panel ➤ Pivot button ➤ Adjust You can transform an object and its pivot without affecting its children using the buttons in Adjust Transform rollout. Adjusting an object's transforms has no effect on any children linked to that object. See also: Adjust Pivot Rollout on page 3797 ■ Procedures To scale a parent without scaling the children: 1 Select the parent object in a hierarchy. 2 On the Hierarchy panel, click the Pivot button if it's not already on, then on the Adjust Transform rollout, click Don't Affect Children. 3804 | Chapter 13 Animation 3 Scale the parent object. The children will remain unaffected. TIP Never use non-uniform scale at the object level for objects in a hierarchical chain. Always go to the sub-object level when you do a non-uniform scale on hierarchically linked objects. To reinitialize the scale of an object: 1 Select an object. 2 In the Hierarchy panel ➤ Adjust Transform rollout ➤ Reset group, click Scale. The XYZ values are re-initialized to 100%. This operation prevents Non-uniform Scale inheritance if a child object is linked to this object. Interface Move/Rotate/Scale group Don't Affect Children Limits transforms to the selected object and its axis, not to its children. This is very useful when working with bones and other hierarchies. If you need to make a particular bone or object longer or shorter, select the object and then turn on Don't Affect Children. You can readjust it Hierarchy Panel Commands | 3805 and any parent objects in the hierarchy will stretch or shrink to compensate to the new dimension of the selected bone. Reset group Transform Resets the orientation of an objects local axis coordinates to align with the world coordinate system, regardless of the current orientation of the object. This does not affect descendants. When applied to closed groups, it aligns the dummy node of the parent, but keeps the children in the same place. It reorients and resizes the dummy node to correctly bind the children of the group. Scale Resets the scale values in the transformation matrix to reflect the new scale of the object. There is no visual change in the object. You can use the Scale to correct Non Uniform Scale inheritance problems. If Non Uniform Scale is inherited by a child object in a hierarchy, it can result in an undesirable deformation in the child object. To correct for this, use Reset: Scale in the Adjust Transform rollout on an object before linking. You can view the scale values of the transformation matrix of a selected object. On the toolbar, turn on Scale, then right-click any of the three toolbar Transform buttons (Move, Rotate, or Scale). There is also a Reset XForm utility on page 849 to do the same tasks. Skin Pose Rollout Make a selection in the viewport. ➤ ➤ Skin Pose rollout Hierarchy panel ➤ Pivot button These controls function as a copy/paste system for setting up character animation. For more information, see Skin Pose Commands on page 7946. 3806 | Chapter 13 Animation Interface Skin Pose Mode Poses the character in its skin pose and allows the skin pose to be refined. Changes to the objects when Skin Pose Mode is on affect only the skin pose, not the animation. When Skin Pose Mode is off, the structure returns to its pose at the current frame. Available only after you’ve used Set As Skin Pose on page 7946 on an object. Enabled group Toggle the Position, Rotation, and Scale check boxes to enable and disable recording of the corresponding transforms when Skin Pose Mode is active. IK Make a selection. ➤ Hierarchy panel ➤ IK button The IK rollouts contain controls for interactive IK and the HD IK solver. Hierarchy Panel Commands | 3807 The rollouts on this panel are: Inverse Kinematics Rollout (Interactive, Applied, and HD IK) on page 3820 Object Parameters Rollout (HD Solver) on page 3808 Auto Termination Rollout (Interactive IK) on page 3823 Position XYZ Parameters on page 3555 Key Info (Basic) on page 3447 Key Info (Advanced) on page 3451 Rotational Joints (HD Solver) on page 3817 NOTE The rollouts for the HI IK and IK Limb solvers are not available while IK is chosen in the Hierarchy panel. Most controls for these solvers are found on the Motion panel. HD IK Solver Rollouts The HD IK Solver rollouts appear on the Hierarchy panel. Object Parameters Rollout (HD Solver) Make a selection. ➤ rollout Hierarchy panel ➤ IK ➤ Object Parameters The Object Parameters rollout lets you set IK parameters for an entire hierarchical chain. This topic covers the Terminator check box; other parameters on the Object Parameters rollout are covered in the following topics: Position / Orientation / Bind to Follow Object (HD Solver) on page 3809 Precedence (HD Solver) on page 3813 Copying, Pasting, and Mirroring Joint Parameters (HD Solver) on page 3816 Sliding and Rotational Joints Rollouts (HD Solver) on page 3817 3808 | Chapter 13 Animation Procedures To create a terminator in any hierarchy or HD IK chain: 1 Select an object in any hierarchy or HD IK chain that you want to be the terminator. 2 On the Terminator. Hierarchy panel ➤ Object Parameters rollout, turn on The terminated objects will not move when you use Interactive, Applied, or HD IK animation. Interface Terminator Sets the base of an IK chain by defining one or more selected objects as terminators. Turn on Terminator to stop calculation of the kinematic chain before it reaches the root object of the hierarchy. A terminator object stops calculation at the terminator's child object; the terminator itself is not affected by the IK solution. This gives you very precise control over the behavior of the kinematic chain. Position / Orientation / Bind to Follow Object (HD Solver) Make a selection with an HD Solver applied. ➤ Hierarchy panel ➤ IK ➤ Object Parameters rollout ➤ Position/Orientation/Bind to Follow Object groups Use the controls in these group boxes to bind objects in a HD IK chain to the world or to follow objects. Use the various options to modify the behavior of the bindings. Use weighted and axis-specific binding controls to create different weights for each binding, and to specify which axes the bound follow object influences. Use the R (Relative) buttons to establish a relative offset with Bind Position and Bind Orientation. Hierarchy Panel Commands | 3809 Binding an Object to the World Binds an object to the world if you want the object to hold its position and orientation as long as possible during IK operations. Binding an Object to a Follow Object Binds a selected object in your IK chain to any other object that is not a descendant of the selected object. This other object is called the follow object. Procedures To bind an object to the world: 1 Select the object to be bound. 2 On the Hierarchy panel, click IK and expand the Object Parameters rollout. 3 Select one or both of the Bind boxes: ■ Turn on Bind Position to cause the object to attempt to maintain its current location. ■ Turn on Bind Orientation to cause the object to attempt to maintain its current orientation. To bind an object to a follow object: 1 Turn on Bind and bound. select the object in a kinematic chain to be Moving your mouse over an acceptable target will change the cursor to a push-pin icon. 2 Drag to the follow object and release. 3 Turn on Bind Orientation if you want the bound object to match the rotation of the follow object. Bind Position is automatically selected. 3810 | Chapter 13 Animation Turn off an axis (Axis: XYZ). The specified axis is no longer influenced by the follow object or the New IK Position end effector. Use Weight to set the relative influence of multiple follow objects or end effectors, and thus their priority in solving the IK solution. The higher the relative Weight value, the higher the priority. NOTE As you drag, a dotted line is drawn from the pivot point of the selected object to the cursor. When the cursor is over a valid follow object, it changes to a push-pin cursor. Release to set the follow object. The name of the follow object will appear in the text area. To unbind an object: ■ Select the object to unbind, and then click Unbind. In the text area, the name of the follow object is replaced with the word "None." Interface Position group Bind Position Binds the selected object in the IK chain to the world (attempts to maintain its location), or to a follow object, if one has been assigned. If a follow object has been assigned, then the translation of the follow object affects the IK solution. NOTE This check box has no effect on the HD IK Solver Position end effectors, which are always bound to their assigned joints. Hierarchy Panel Commands | 3811 Orientation group Bind Orientation Binds the selected object in the hierarchy to the world (attempts to maintain its orientation), or to a follow object, if one has been assigned. If a follow object has been assigned, then the rotation of the follow object affects the IK solution. NOTE This check box has no effect on the HD IK Solver Rotation end effectors, which are always bound to their assigned joints. R Establishes a relative position offset or rotation offset between follow object and end effector. This button has no effect on the HD IK Solver Position end effectors. They are created on top of the joint to which they're assigned, and are automatically absolute. If you move the joint away from the end effector, and want to reset the end effector to an absolute position, you can delete and then recreate the end effector. Axis X/Y/Z If one of the axes is turned off, the specified axis is no longer influenced by the follow object or the HD IK Solver Position end effector. For example, if you turn off the X axis in the Position group, movement of the follow object (or end effector) along the X axis has no effect on the IK solution, but movement along the Y or Z axis has. NOTE These do not constrain the movement of the follow object or end effector. Weight Sets the influence of the follow object (or end effector) on its assigned object, and on the rest of the chain. A setting of 0 turns off the binding. Using this value you can set the relative influence of multiple follow objects or end effectors and their priority in solving the IK solution. The higher the relative Weight value, the higher the priority. The Weight settings are relative; there's no point in using them if there's only one follow object or end effector in your IK hierarchy. However, if you have a single HD IK chain with both Position and Rotation end effectors on a single joint, you can give them different weights to give priority to either the position or rotation solution. 3812 | Chapter 13 Animation You can adjust the Weight for multiple joints. Select two or more objects in the hierarchy, and the Weight value represents the commonality of the selection set. NOTE Differences in the Weight values only have an effect when there is no solution that satisfies two or more opposing end effectors in the chain. In this case, the end effector with the greatest weight "wins." Bind To Follow Object group Controls to bind and unbind an object in an inverse kinematic chain to a follow object. (Label) Displays the name of the selected follow object. Displays the word "None" if no follow object is set. Bind Binds an object in an inverse kinematic chain to a follow object. Unbind Unbinds the selected object in a HD IK chain from its follow object. Precedence (HD Solver) Make a selection with an HD IK Solver applied. ➤ ➤ IK ➤ Object Parameters rollout ➤ Precedence Hierarchy panel You can use the three joint precedence controls to alter how the IK Solution is calculated. The default joint precedence is 0. This is suitable for many IK solutions. It assumes that joints closest to where a force is applied (the end effector) will move more than joints farther from the force. Child->Parent values are calculated by assuming the root of the entire hierarchy has a precedence value of 0 and each child has a value equal to 10 times its depth from the root. In a four-object hierarchy starting with the root, the values would be 0, 10, 20, and 30. Hierarchy Panel Commands | 3813 Parent->Child values are calculated by assuming the root of the entire hierarchy has a precedence value of 0 and each child has a value equal to 10 times its depth from the root. In a four-object hierarchy starting with the root, the values would be 0, -10, -20, and -30. ■ Default joint precedence occurs whenever all joints in the kinematic chain have the same precedence value. Assigning a value of 100 to all objects in the kinematic chain is exactly the same as assigning a value of 0. ■ An IK chain of three objects with precedence values of 0, 30, and 200 would have the same solution if the precedence were changed to be 1, 2, and 3. Procedures To assign a precedence value to an object manually: 1 Select an object in an HD IK Chain. 2 On the Hierarchy panel, open the Object Parameters rollout. 3 Enter a value in the Precedence field. To assign Child->Parent precedence to all objects in a kinematic chain: 1 Select all objects in an HD IK chain. 2 On the Hierarchy panel, open the Object Parameters rollout. 3 Click Child->Parent. To assign Parent->Child precedence to all objects in a kinematic chain: 1 Select all objects in the kinematic chain. 3814 | Chapter 13 Animation 2 On the Hierarchy panel, open the Object Parameters rollout. 3 Click Parent->Child. To reset the default joint precedence: 1 2 On the Select all objects in the kinematic chain. Hierarchy panel, open the Object Parameters rollout. 3 Set the value in the Precedence field to 0. Interface Three controls set precedence: Precedence Manually assigns precedence values to any object in the IK chain. High precedence values are calculated before low precedence values. Precedence values that are equal are calculated in Child->Parent order. Child->Parent Automatically sets joint precedence to decrease in value from child to parent. Causes joints closest to where a force is applied (the end effector) to move more than joints farther away from the force. You almost always assign Child->Parent precedence to an entire kinematic chain. Child->Parent behaves like the default precedence settings but is more flexible if you want to go back and manually change the settings. Parent->Child Automatically sets joint precedence to decrease in value from parent to child. Causes joints closest to where a force is applied (the end effector) to move less than joints farther away from the force. You almost always assign Child->Parent precedence to an entire kinematic chain. Hierarchy Panel Commands | 3815 Copying, Pasting, and Mirroring Joint Parameters (HD Solver) Make a selection. ➤ Hierarchy panel ➤ IK ➤ Object Parameters rollout ➤ Copying, Pasting, and Mirroring joint parameters Use the Copy and Paste buttons in the Object Parameters rollout to copy and paste the joint settings between IK controllers. You can also copy joint settings from a non-IK controller to an IK controller, but you can't copy from an IK controller to a non-IK controller. With an HD IK solver hierarchy, you can paste to a multiple selection of joints. Use Mirror Paste to mirror the IK joint settings about the X, Y, or Z axis during a Paste operation. It consists of four buttons: one each for the X, Y, and Z axes, and a None option that prevents mirroring altogether. You can also mirror the IK joints using the Mirror tool on the main toolbar. See also: Sliding and Rotational Joints on page 3817 ■ Procedures To copy and paste joint parameters: 1 Select an object in an inverse kinematic chain. 2 Set sliding or rotational joint parameters. 3 Click Copy in either the Sliding Joints or Rotational Joints group on the Object Parameters rollout. 4 Select a different object in the inverse kinematic chain. 5 Select an axis to mirror in the Mirror Paste group. 6 Click paste in either the Sliding Joints or Rotational Joints group on the Object Parameters rollout. 3816 | Chapter 13 Animation Both Sliding Joints and Rotational Joints maintain separate clipboards. The copied joint parameters are saved in the clipboard until you replace them with new copied parameters. Interface Sliding Joints group Use these buttons to copy sliding joint parameters from one object to another. These buttons are not available for Path joints. Rotational Joints group Use these buttons for copying rotational joint parameters from one object to another. Mirror Paste group Use to mirror the IK joint settings about the X, Y, or Z axis during a Paste operation. Sliding and Rotational Joints Rollouts (HD Solver) Make a selection. ➤ Joints rollouts Hierarchy panel ➤ IK ➤ Sliding and Rotational In inverse kinematics, joints operate by allowing motion on one or more axes and restricting motion on the remaining axes. You set whether an object can move (slide) on or rotate about a given axis with the Active check box in the joint rollouts. Joints have a maximum of six possible axes: three for position and three for rotation. You constrain the motion of a joint by setting which axes are active. Hierarchy Panel Commands | 3817 The setting of IK joint axes overrides any Inherit and Lock settings in Link Info on page 3824. Procedures To activate or deactivate an axis: 1 Select an object. 2 On the Hierarchy panel, click IK. 3 Expand the rollout for a joint type. 4 Turn on Active for any available axis. ■ When on, the axis is active and the object can move or rotate about that axis. ■ When off, the axis is inactive and the object cannot move or rotate about that axis. To limit a joint: 1 Select an object. 2 On the Hiearchy panel, click IK. 3 Turn on Limited for any active axis. If an axis is inactive the limits settings are ignored. ■ When on, the axis is limited and the object can move or rotate within the range set by the From and To fields. ■ When off, the axis is not limited and the object moves or rotates freely about that axis. If you turn on Limited, specify limit values in the From and To fields. When setting limits, the object transforms to the position or rotation defined by the From or To field. When you exit the field or release the spinner, the object returns to its original position. You can also view joint limits in the viewport by pressing 3818 | Chapter 13 Animation and holding the mouse button on the From or To label of a limit field. The object will move or rotate to the limit value until you release the mouse button. Interface Sliding/Rotational Joints rollouts The Sliding Joints rollout and Rotational Joints rollout contain similar controls for position and rotation, respectively. Also, each rollout contains identical group boxes for control of the X, Y, and Z axes. X/Y/Z Axis groups Active Activates an axis (X/Y/Z). Allows the selected object to slide on or rotate about the activated axis. Limited Limits the range of motion or rotation allowed on an active axis. Use in conjunction with the From and To spinners. Most joints are limited in their range of motion along an active axis. For example, a piston slides only within the length of its cylinder. Ease Causes a joint to resist motion as it approaches its From and To limits. Simulates an organic joint, or worn mechanical joint, moving or rotating freely in the middle of its range of motion but moving less freely at the extremes of its range. From and To Spinners Determine for position and rotation limits. Use in conjunction with the Limited function. Spring Back Activates Spring Back. Each joint has a rest position. As the joint moves further from the rest position, an increasingly larger force pulls the joint back to its rest position, like a spring. Hierarchy Panel Commands | 3819 Spring Back (spinner) Sets the rest position for the joint. For rotational joints, this is the orientation of the joint in degrees; for sliding joints, it's the position in units. Adjusting this is similar to adjusting the From/To spinners. You see the orientation/position while performing the adjustment, but when you release the spinner the object returns to its previous state. If you're using the HD Solver, you must turn on Show Initial State (Motion panel ➤ IK Controller Parameters rollout) to see the effect on the geometry during the adjustment . Spring Tension Sets the strength of the "spring." Higher values cause the spring to pull harder as the joint moves further from its rest position. A setting of 0 turns off the spring; very high settings can turn the joint into a limit because you can reach the point where the spring is too strong to allow the joint to move past a certain point. Damping Applies resistance over a joint's full range of motion or rotation. Simulates the natural effect of joint friction or inertia. As a joint corrodes, dries out, or is put under a heavy load, it resists motion along its active axes. Interactive and Applied IK Rollouts The Interactive and Applied IK rollouts appear on the Hierarchy panel. Inverse Kinematics Rollout Make a selection. ➤ rollout Hierarchy panel ➤ IK ➤ Inverse Kinematics The Inverse Kinematics rollout displays different controls based on IK Solvers applied to the selected hierarchy. IK Solvers are applied to the hierarchies using the Animation menu. When an HD IK Solver is applied to an IK chain the Inverse Kinematics rollout displays the controls described below. The Inverse Kinematics rollout provides controls for interactive and applied IK, as well as the controls for the HD Solver (history dependent). Use Apply IK to calculate an IK solution and generate Transform keys (move, rotate) for 3820 | Chapter 13 Animation all objects in an IK chain (the IK chain must include a follow object). By default, keys are created at every frame. ■ Applied IK requires that one or more parts of your IK structure be bound to animated follow objects. Once bound, you can select any object in your kinematic chain and click the Apply IK button. ■ The Apply IK method of animation works best when you want objects in the kinematic chain to match the motions of other objects exactly. An example of this would be a mechanical connection that should always appear to be attached to the follow object. Procedures To use interactive IK: 1 Build a hierarchy of objects. If you want to use Bones, be sure Assign to Children is not active when you create the Bones. 2 Select the end of the chain. 3 Go to the Hierarchy panel ➤ IK button. 4 Scroll up to the Inverse Kinematics Rollout 5 Click Interactive IK. 6 Advance the time slider and move the end of the chain. 7 Turn off Interactive IK when you want to do forward kinematics. To use applied IK: 1 Add an HD Solver to your hierarchy. 2 Bind objects in your IK structure to follow objects. 3 Animate the follow objects. Hierarchy Panel Commands | 3821 4 Select any object in the IK structure. 5 On the Hierarchy panel, click IK and expand the Inverse Kinematics rollout. 6 Click Apply IK. TIP Be sure your Start Frame and End frames match the length of your animation. Interface Interactive IK Allows for IK manipulation of hierarchies without applying an IK Solver or using a follow object. Apply IK Calculates the IK solution for each frame of the animation and creates transform keys for every object in the IK chain. A bar graph appears on the prompt line to indicate progress of the calculations. Apply Only To Keys Solves the IK solution for keyframes that already exist for one of the end effectors. Update Viewports Views the progress of Apply IK frame by frame in the viewports. 3822 | Chapter 13 Animation Clear Keys Removes all move and rotate keys from the selected IK chain before applying IK. Start/End Sets the range of frames to calculate the applied IK solution. The default settings for Apply IK calculates the IK solution for every frame of the active time segment. Auto Termination Rollout (Interactive IK) Make a selection. ➤ Termination rollout Hierarchy panel ➤ IK button ➤ Auto The Auto Termination controls temporarily assign terminators a specific number of links up the hierarchical chain from the selected object. This only works with Interactive IK; it does not work with applied IK or with IK solvers. Procedures To use auto termination: 1 In the Auto Termination rollout, turn on Auto Termination. 2 Enter a value in the # of Links Up field. Turn on the IK button on the toolbar. 3 Select any object in an IK chain to move or rotate. Interface Interactive IK Auto Termination Turns on the auto termination feature. # of Links Up Specifies how far up the chain the termination is applied. Hierarchy Panel Commands | 3823 For example, if you set this to 5, when you move any object in the hierarchy, the object that's five links up the chain from the object you're adjusting acts as a terminator. If you select a different object in the hierarchy, termination is switched to whichever object is five links up the chain from the newly selected object. A setting of 1 simply locks the hierarchy, since it terminates the joint just beyond the currently selected object. Link Info Make a selection. ➤ Hierarchy panel ➤ Link Info button This part of the Hierarchy panel contains two rollouts. The Locks rollout has controls to restrict the movement of objects in a particular axis. The Inherit rollout has controls to limit the transforms that a child inherits from its parent object. Interface Locks Rollout Make a selection. ➤ rollout Hierarchy panel ➤ Link Info button ➤ Locks The Locks rollout locks an object’s ability to transform along particular local axes. See also: ■ Inherit Rollout on page 3825 3824 | Chapter 13 Animation Procedures To lock all move transforms: 1 Select an object. 2 In the Locks rollout, turn on Move group ➤ X, Y, and Z. Only rotate and scale transforms will work. The object does not need to be part of a hierarchy. Interface X, Y, Z Turn on any axis in the Move, Rotate, or Scale group box to lock the axis. For example, if Rotate ➤ X and Y are turned on, you'll be able to rotate the object only around the Z axis. All locks are relative to an object's local coordinate system. Inherit Rollout Make a selection. ➤ rollout Hierarchy panel ➤ Link Info button ➤ Inherit The Inherit rollout limits which transforms a child inherits. It constrains the links between a selected object and its parent for any axis of position, rotation, or scale. Hierarchy Panel Commands | 3825 See also: ■ Locks Rollout on page 3824 Procedures To prevent inheritance of X rotation in a hierarchy: Select an object, then turn off X in the Rotate group on the Inherit ■ rollout. Interface X, Y, Z Turn off any axis in the Move, Rotate, or Scale group boxes to prevent inheritance. When you turn on an axis, transform information passes from the parent to the child for that axis. When you turn off an axis, transform information on that axis is ignored by the child. 3826 | Chapter 13 Animation Track View Main toolbar ➤ (Curve Editor (Open)) Graph Editors menu ➤ New Track View Graph Editors menu ➤ Track View - Curve Editor Graph Editors menu ➤ Track View - Dope Sheet Graph Editors menu ➤ Saved Track View ➤ Choose a saved Track View. Right-click the active viewport. ➤ Quad menu ➤ Transform quadrant ➤ Curve Editor or Dope Sheet Click or right-click the Point-Of-View (POV) viewport label. ➤ POV viewport label menu on page 8712 ➤ Track ➤ Choose New or a saved Track View. With Track View, you can view and edit all the keys that you create. You can also assign animation controllers to interpolate or control all the keys and parameters for the objects in your scene. Track View uses two different modes, Curve Editor and Dope Sheet. Curve Editor mode lets you display the animation as function curves. Dope Sheet mode displays the animation as a spreadsheet of keys and ranges. Keys are color-coded for easy identification. Some of the functions in Track View, such as moving and deleting keys, are also available on the track bar near the time slider, which can be expanded to show curves as well. You can dock the Curve Editor and Dope Sheet windows beneath the viewports at the bottom of the interface, or use them as floating windows. Track View layouts can be named and stored in the Track View buffer and reused. Track View layouts are stored with the MAX file. Track View | 3827 Track View — Curve Editor Track View — Dope Sheet (Edit Keys) Typical Uses for Track View Track View can perform a variety of scene management and animation control tasks. Use Track View to: ■ Display a list of objects in your scene and their parameters. ■ Change key values. ■ Change key timing. ■ Change controller ranges (see procedure). ■ Change interpolation between keys. ■ Edit ranges of multiple keys. ■ Edit blocks of time. 3828 | Chapter 13 Animation ■ Add sound to your scene. ■ Create and manage notes about the scene. ■ Change the behavior of the animation outside the range of keys. ■ Change controllers for animated parameters ■ Select objects, vertices, and hierarchies. ■ Navigate the modifier stack in the Modify panel by clicking the modifier items in the Track View Hierarchy. NOTE Tracks are created for animated vertices in Track View. A Bezier Point3 controller is the default vertex interpolation controller. See also: Animation Controllers on page 3454 ■ Procedures To change the frames in which a controller takes effect: When you apply a controller or constraint to an object's motion, the frame range over which controller takes effect is determined by the current active time segment on page 9082. If you then change the active time segment or the animation length, the duration of the controller's influence doesn't change. Sometimes applying a controller (such as Path Constraint) automatically sets keys that you can use to change this range. But others, such as Noise controllers, don't set keys. In such cases, follow this procedure: 1 Select the object, and then right-click it and choose Curve Editor from the menu. 2 Expand the object hierarchy to find the track or tracks to adjust. 3 From the Modes menu, choose Dope Sheet. 4 On the Dope Sheet, click (Edit Ranges). Track View | 3829 5 Adjust the range duration by dragging its endpoints, or its position in the animation by dragging between endpoints. For more information, see Dope Sheet on page 3842. To select keys in Track View (either mode), do any of the following: ■ Click the key to select an individual key. ■ Drag a selection rectangle around keys to select multiple keys. ■ Hold down the Ctrl key and click to create discontinuous multiple key selections. NOTE If you are in Dope Sheet – Edit Ranges mode, you can use Select Time to select multiple keys. To delete keys in Track View (either mode): 1 Select keys on the curve, or on the dope sheet. 2 Press the Delete key to delete the selected keys. To force Track View to always display on a second monitor: If you are running a dual-monitor setup, you can force Track View to display on the right-hand monitor by editing a script. 1 On the main toolbar, right-click then choose Edit Macro Script. (Curve Editor (Open)), and The MAXScript script that opens the Track View – Function Curve Editor appears. 2 Locate the line that reads: if (trackviews.open "Track View - Curve Editor" layoutName:"Func tion Curve Layout") == true then 3 Replace that line with this one: max_window = getMaxWindowSize() --get Desktop size if (track views.open "Track View - Curve Editor" layoutName:"Function Curve Layout" pos:[max_window.x/2,0] height:max_window.y width:(max_window.x/2) ) == true then 3830 | Chapter 13 Animation 4 Save the script and restart 3ds Max. This should open the Track View in a new session over the right half of the desktop. Assuming that a dual-monitor setup reports twice the width, this will force the Track View on the second monitor. On a single monitor, it opens it over the right half of the monitor. Of course, you could enter your own numbers like pos:[1024,0] height:768 width:1024 in case you are running two monitors at 1024x768. To open Track View in a viewport: ■ Click or right-click the Point-Of-View (POV) viewport label, and then from the POV viewport label menu on page 8712 choose Views ➤ Track ➤ New, or choose the name of a saved Track View. Working with Track View Track View is the tool that you use to see a data-driven view of your scene and animation. The standard views, such as Top, Front, User, and Camera, are geometry-driven views. These views display the surfaces of your objects and show them changing over time. Track View displays the values and timing that produce the geometry and motion you see in standard views. Using Track View, you have very precise control over every aspect of your scene. Track View has two modes: Curve Editor and Dope Sheet. The Curve Editor displays your animation as keys on function curves; editing the tangency of the keys allows control of the in-betweens. Dope Sheet displays your animation as keys and ranges on a box grid and allows you to adjust the timing of your motions. Track View keys and curves can also be displayed in the track bar. The same Key properties dialogs available on Track View can also be found on the Motion panel as well. For details about using Track View and editing animation, see the following: ■ Track View Edit Window on page 3832 ■ Track View Menu Bar on page 3882 ■ Curve Editor Toolbars on page 3907 Working with Track View | 3831 ■ Dope Sheet on page 3842 ■ Dope Sheet Toolbars on page 3913 Understanding Track View Concepts The left side of Track View, called the Controller Window, presents a Hierarchy list of everything in your scene. Every object and environment effect appears in the list, along with its associated animatable parameters. Choose items from this list to apply changes to the animation values. Expand or collapse the list using manual navigation, or allow the Auto expand to determine the display in this window. The right side of Track View, called the Key window, charts the changes applied to parameters over time. Any change you make to one of these parameters when the Auto Key button is on, appears as a key in the right side of Track View. Select keys to apply changes to one or more specific keys. This section covers some of the editing functions you can use with Track View: Copying and Pasting Items on page 3981 Copying and Pasting Objects on page 3983 Making Instance and Reference Controllers and Objects Unique on page 3985 Track View Workspace The Track View Key window displays function curves and keys when in Curve Editor mode. When in Dope Sheet mode, the tracks can be displayed as keys or ranges. You select and change animation values and timing in these windows. The Key window also indicates the active time segment. Time within the active time segment is highlighted with a light gray background. The Track View Key window is sometimes referred to as the Key window. Components of the Key window include a time slider, a time ruler, and a scale origin slider. The Track View time slider indicates the current frame and is synchronized with the viewport time slider. A time ruler at the bottom of the window can be raised to measure keys against time. A scale origin indicator (a horizontal orange line at 0) can be moved during scale value operations as a reference point for scaling. 3832 | Chapter 13 Animation Interface The two main sections of the Track View workspace consist of the Key window and the Controller window. Controller Window The Controller window displays object names and controller tracks, and determines which curves and tracks are available for display and editing. Hierarchy items in the Controller window can be expanded and rearranged as necessary using the Hierarchy list right-click menu. The navigation tools can also be found in the Track View Options menu. Default behavior is to only show selected object tracks. Use Manual Navigation mode to collapse or expand tracks individually, or press Alt+right-click to display an alternate menu to collapse and expand tracks. Track View Workspace | 3833 Controller window Key window The Key window displays the keys as either curves or tracks. The tracks can be displayed as a box graph of keys or range bars. 3834 | Chapter 13 Animation Keys displayed as box graph (Dope Sheet - Edit Keys mode) Key Creation Keys are created using a variety of methods. Keys can be created by turning on Auto Key, moving the time slider, and then transforming the object or adjusting its parameters. Keys can also be created by right-clicking the viewport time slider to access the Create Key dialog. Keys can be created directly in Track View using Add Keys. Finally, keys can be created by turning on Set Key mode, moving to a desired frame, posing the object, then clicking Set Key. Key Display Keys are displayed as points on the function curves, or as boxes on the Dope Sheet. Keys on the Dope Sheet are color-coded for easy identification. When there are multiple tracks keyed at one frame, the boxes appear with bands of color to indicate the shared key types. Key coloration is also used to show soft selection of keys. Subframe keys (keyframes that fall between frames) are indicated as narrow rectangles within the boxes. Track View Workspace | 3835 Colored keys with subframe display Keys are also displayed on the track bar below the viewport. Keys displayed on the function curves have tangency types. The tangency buttons found on the Key Tangents toolbar can be used to change the function curve keys. Use Custom tangency to show editable curve handles. Use Step tangency to freeze motion or create classic storyboard pose-to-pose blocking. Function curves can also be displayed below the track bar. 3836 | Chapter 13 Animation Custom Tangency handles Range Bars In the Dope Sheet - Edit Ranges mode (when animation keys have been created), range bars display to indicate the range of time the animation occurs. Tools specific to working with ranges (position ranges and recouple ranges) can be found on the Ranges toolbar (off by default). Right-click the toolbar, choose Show Toolbars, and then select Range-Track View to access these tools. Track View Workspace | 3837 Keys displayed as range bars (Dope Sheet - Edit Ranges mode) Function Curves Function Curves display the values of keys, and the interpolated values between keys, as a curve. These curves express how a parameter varies over time. Only animation tracks can display function curves. You can edit the curves using tangency handles on the keys to change the shape of the curve. Keys displayed as function curves (Curve Editor) 3838 | Chapter 13 Animation Multiple curves can be viewed simultaneously by selecting tracks in the Controller window. This is especially useful when using Multiplier or Ease Curves. You can adjust the multiplier or ease curve point tangencies and watch the final result in the controller curve at the same time. Time Ruler The time ruler measures time. Markings on the ruler reflect the settings in the Time Configuration dialog. Move the time ruler up to the keys for more accurate key placement. Time ruler Track View Time Slider The current time is indicated by the Track View time slider. This is displayed as a set of blue vertical lines synchronized with the position of the viewport time slider. You can move the Track View time slider by dragging it in the Key window. Moving either time slider updates the animation in the viewports. The blue time slider also serves as a scale origin point when scaling keys in time. Track View Workspace | 3839 Scale keys using time slider Scale Values Origin Line When you scale key values on page 3990 (that is, scaling in space rather than time), a horizontal orange line appears at the 0 value on the vertical graph axis. This orange line is a scale values origin indicator, which you can move vertically to vary the reference point for scaling values. Horizontal line at the top of the illustration is the moveable scale origin line. TIP The easiest way to return the scale origin line to the 0 position is to close and reopen Track View. 3840 | Chapter 13 Animation Curve Editor Introduction Main toolbar ➤ (Curve Editor (Open)) Track View on page 3827 ➤ Modes menu ➤ Curve Editor Main menu ➤ Graph Editors ➤ Track View - Curve Editor Right-click an object selected in a viewport. ➤ Curve Editor The Track View - Curve Editor is a Track View mode that allows you to work with motion expressed as function curves on a graph. It lets you visualize the interpolation of the motion, the object transformations that 3ds Max creates between the keyframes. You can easily see and control the motion and animation of the objects in the scene using tangent handles on the keys found on the curves. The Curve Editor interface consists of a menu bar, a toolbar, a Controller window, and a Key window. There is also a time ruler, and navigation and status tools at the bottom of the interface. You can loop or cycle your animation beyond its range by adding Parameter Curve Out-Of-Range Types from the Curve Editor, as well as by adding Multiplier or Ease Curve onto other animated tracks for added control. TIP curves. You can also click Show Curves in the track bar to display function Curve Editor Introduction | 3841 See also: ■ Track View Menu Bar on page 3882 ■ Curve Editor Toolbars on page 3907 ■ Curve Editor on page 3986 Dope Sheet Track View on page 3827 ➤ Modes menu ➤ Dope Sheet Main menu ➤ Graph Editors menu ➤ Track View - Dope Sheet Right-click an object selected in a viewport ➤ Dope Sheet The Track View - Dope Sheet editor displays keyframes over time on a horizontal graph. This graphical display simplifies the process of adjusting animation timing because you can see all keys at once in a spreadsheet-like format. Classical animation technique included the use of an exposure sheet, called an “X” sheet or a Dope Sheet. The Dope Sheet was a vertical chart that served as instructions to the camera operator. Dialogue and camera actions were indicated over a numbered list that represented each shot, which became a single photographed frame of the animated movie. The classical exposure sheet also included instructions for compositing the cel drawings of animated characters over backgrounds. This device serves as inspiration for the Dope Sheet tool in 3ds Max. 3842 | Chapter 13 Animation The 3ds Max Dope Sheet editor is similar to the classic X sheet. It displays keyframes over time, only using a horizontal graph (rather than vertical). This provides tools for adjusting the timing of your animation. Here, you can see all the keys in a spreadsheet-type interface. You can select any or all of the keys in a scene, scale them, move them, copy and paste them, or otherwise work directly here, rather than in the viewport. You can choose to select the keys for children, or subtree, or both, so you can make simple changes that affect many objects and their keys at once. A common use of Dope Sheet is to stagger the movement of a character's limbs so they don't all move simultaneously. If you have a crowd of characters, you could use Dope Sheet to shift movements so they don't all move in unison. Dope Sheet Menus and Tools In the Dope Sheet, you can select any or all of the keys in a scene, scale them, move them, copy and paste them, or otherwise work directly, rather than working with objects in viewports. You can choose to select the keys for children, or subtree or both, so you can make simple changes that affect many objects and their keys at once. Dope Sheet allows for soft-selection of keys which is very useful when working with motion capture data that has keys on every frame. Dope Sheet provides tools for working directly with time. You can select, cut, copy, paste, and insert and reverse time using the tools on the Time menu. Like the Curve Editor on page 3841, Dope Sheet has both a menu bar and toolbars to provide you quick access to tools. Dope Sheet menu bar Unlike Curve Editor, Dope Sheet has two modes: Edit Keys and Edit Ranges. These modes affect the display in the Key window. Edit Keys Mode When Edit Keys is active, the keyframes are displayed as boxes within rectangles on a grid. The keys are color-coded to show what has been keyframed (position is red, scale is yellow, rotation is green, and so on.) Dope Sheet | 3843 Colored keys Dope Sheet keys are now displayed as rectangles within boxes so you can easily spot sub-frame keys, keys that fall in-between frames. Keys that fill the boxes are on the frame, keys that are small rectangles are sub-frame. Sub-frame keys Dope Sheet, just like the Curve Editor, allows you to use soft selection on keys. This is extremely useful when you are dealing with massive quantities of keys, 3844 | Chapter 13 Animation such as in motion-capture data files. Combine this with scaling keys for a means to manipulate motion data. Soft selection of Dope Sheet keys Edit Ranges Mode When Edit Ranges is active, the animation tracks are displayed as range bars; no individual keys are visible. Use this modewhen you want to change only how long an action takes, or when it starts and ends, rather than particular keys within an animation range. Edit Ranges mode Modify Subtree and Modify Child Keys When working in Dope Sheet mode, you can toggle Modify Subtree on page 3893 and Modify Child Keys on page 3895. These let you automatically move the tracks for the subtree and the keys for the children, respectively. If you experience a slowdown while working with Dope Sheet, Dope Sheet | 3845 try turning these off and moving the keys manually instead. Modify Subtree is on by default in Dope Sheet, but Modify Child Keys is off. Time Editing Dope Sheet offers you a variety of tools for working directly with time. You can select a period of time, which includes all the keys within that period, and then perform different operations on that time segment. You can copy and paste time to loop animations, or reverse time so the animation plays backward. You can insert time to add a space to an animation, or delete time to shorten a motion. NOTE For Dope Sheet procedures, see the individual tools and menu choices within the links below. Dope Sheet Display Optimization Only tracks displayed in the current field of view are computed, optimizing the responsiveness of the Dope Sheet editor. Dope Sheet temporarily retains the key caches so tracks that have already been computed as a result of the parent being computed needn't be recomputed. The cache is used instead. The default auto-navigation settings for the Dope Sheet editor auto-expand only to the node track for the currently selected object. This reduces the number of tracks whose keys need to be displayed and also helps enforce the top-down workflow for which the Dope Sheet editor is designed. See also: ■ Track View Menu Bar on page 3882 ■ Dope Sheet Toolbars on page 3913 ■ Select Time on page 3965 ■ Edit Ranges on page 3978 ■ Edit Keys on page 3940 Time Ruler Track View on page 3827 ➤ Time Ruler (below right-hand pane) 3846 | Chapter 13 Animation The time ruler at the bottom of the Track View Key window measures time. Markings on the time ruler reflect the settings in the Time Configuration dialog on page 8696. You can drag the time ruler vertically in the Key window to align it with any track. Track View Shortcuts This topic lists Track View functions for which keyboard shortcuts can be set. Where there is no default keyboard shortcut listed and no button shown in the action list, a brief description appears in the right column. To use Track View keyboard shortcuts, the Keyboard Shortcut Override toggle on page 9008 must be on. See also: ■ Track View on page 3827 ■ Keyboard Shortcuts on page 9007 ■ Keyboard Panel on page 8837 ■ Customize User Interface Dialog on page 8837 Track View Function Default Keyboard Shortcut Description Access Hierarchy Select Name Field Accesses the track selection field at the lower left of Track View window Access Time Field Accesses the time field at the lower left of Track View window Access Track Name Field Accesses the name of the Track View window at upper right Access Value Field Accesses the value field at the lower left of Track View window Track View Shortcuts | 3847 Track View Function Default Keyboard Shortcut Add Keys A Add Note Track Add Visibility Track Align Keys Apply Ease Curve Ctrl+E Apply Multiplier Curve Ctrl+M Assign Controller C Auto Expand Animated Auto Expand Keyable Auto Expand Limits Collapse All Collapse Objects Collapse Tracks Copy Controller Copy Time Cut Time Delete Controller Delete Ease/Multiplier Curve Delete Note Track Delete Visibility Track 3848 | Chapter 13 Animation Ctrl+C Description Track View Function Default Keyboard Shortcut Description Draw Curves Ease Curve Out-of-Range Types Ease/Multiplier Curve Enable Toggle Edit Keys Mode Edit Ranges Mode Edit Time Mode Edit Track Set Exclude Left End Point Toggle Exclude Right End PointToggle Expand Object Toggle O (letter "o") Expand Objects Expand Track Toggle ENTER, T Expand Tracks Filters Q Freeze Nonselected Curves Function Curves Mode Ignore Animation Range Insert Time Track View Shortcuts | 3849 Track View Function Default Keyboard Shortcut Description Keyable Properties Toggle Lock Selection Spacebar Lock Tangents Toggle L Make Controller Unique U Modify Subtree Toggle Move Highlight Down Down Arrow Move Highlight Up Up Arrow Move Keys M Move Keys Horizontal Move Keys Vertical Move Object Down Moves an object down in the hierarchy display Move Object Up Moves an object up in the hierarchy display Multiplier Curve Out-ofRange Types Nudge Keys Left Left Arrow Nudge Keys Right Right Arrow Pan P Parameter Curve Out-ofRange Types Paste Controller 3850 | Chapter 13 Animation Ctrl+V Track View Function Default Keyboard Shortcut Description Paste Limit Only Paste Time Position Ranges Mode Properties Reduce Keys Remove Limit Respect Animation Range Reverse Time Scale Keys Scale Time Scale Values Scroll Down Ctrl+Down Arrow Scroll Up Ctrl+Up Arrow Select All Select Children Select Invert Select None Select Time Select Lower Limit Set Tangents to Auto Track View Shortcuts | 3851 Track View Function Default Keyboard Shortcut Set Tangents to Custom Set Tangents to Fast Set Tangents to Linear Set Tangents to Slow Set Tangents to Smooth Set Tangents to Step Set Upper Limit Show All Tangents Show Keys on Frozen Curves Show Selected Key Stats Show Tangents Toggle Slide Keys Snap Frames S Toggle Limit Track View Utilities Zoom Z Zoom Horizontal Extents Zoom Horizontal Extents Zoom Region Zoom Selected Object 3852 | Chapter 13 Animation Alt+X Description Track View Function Default Keyboard Shortcut Description Zoom Time Zoom Value Extents Zoom Values Track View Hierarchy Track View on page 3827 ➤ Controller Window The Track View Controller window displays all elements in your scene in a hierarchical fashion. You highlight items in the Hierarchy list to: ■ Designate object and track labels for Track View operations. ■ Select objects in the scene. ■ Designate materials and maps when working in the Material Editor. ■ Navigate the modifier stack in the Modify panel. See also: ■ Hierarchy Right-Click Menu on page 3861 ■ Properties (Track View Hierarchy) on page 3866 ■ Modify Subtree on page 3893 ■ Sound on page 3868 Procedures To select objects in the scene using the Track View Controller window: 1 Do one of the following to select the first object: ■ Click an object's icon to select a single object. ■ Double-click a parent object's icon to select an object and its descendants. Track View Hierarchy | 3853 2 Do one of the following to select additional objects: ■ Press Shift and click an object icon to select all objects between the object and the previously selected object. ■ Press Ctrl and click an object icon to add (or remove) the object to the selection. When objects are selected in the scene, their icons are also highlighted in Track View. All objects in your scene are always displayed in Track View. However, selecting object icons in Track View follows the same rules as selecting objects in the scene: ■ You can't select the icon of a hidden object. ■ You can't select the icon of a frozen object. ■ If you select the icon of an object that is part of a closed group, the group icon and all the objects in the group are selected. To select and deselect item labels by clicking: 1 Select the first item by clicking its label. 2 Do one of the following to add or subtract from the selection: ■ Press Shift and click an item label to select all items between the item and the previously selected item. ■ Press Ctrl and click an item label to add (or remove) that item to the selection. ■ Press Alt and click an item label to select all item labels in the column. Right-clicking an item displays a right-click menu for globally selecting items in the Hierarchy list. To select items in the Controller window with the right-click menu: ■ Right-click an item in the Controller window, then do any of the following: ■ Choose Select All to select all items visible in the Hierarchy list. Collapsed items are not selected. Press Ctrl and choose Select All to select only visible transform items. ■ Choose Select Invert to reverse the selection pattern. ■ Choose Select None to clear all items from the selection. 3854 | Chapter 13 Animation ■ Choose Selected Children to select the linked descendants of a parent object. When working with function curves, you can also select a controller icon (instead of the label) to select that function curve for vertex editing. To select a material or map as the active material in the Material Editor: 1 Open the Material Editor. 2 Open the Medit Materials branch in the Hierarchy list of the Controller window and select a material. The selected material becomes the active item in the Material Editor. This is one way to navigate and select a material for editing. Example: To navigate the modifier stack in the Modify panel: 1 Create a cylinder. 2 On the cylinder. Modify panel, add a Bend and a Twist modifier to the 3 In the Track View controller window, expand the Cylinder branch. 4 Expand the Modified Object branch. 5 Click the icon of the Twist modifier. The Twist modifier is displayed on the Modify panel. 6 Click the icon of the Bend modifier in the Hierarchy list. The Bend modifier is displayed on the Modify panel. Example: To highlight all tracks containing animation: 1 Create a box and a sphere. 2 Turn on sphere in X. (Auto Key), go to frame 10, and move the Track View Hierarchy | 3855 3 Go to frame 20 and move the sphere in Y. 4 Go to frame 30 and move the sphere in Z. 5 Deselect the sphere by clicking in a blank area of the viewport. 6 Open the Track View - Curve Editor and press Ctrl+A (Select All). In the Track View Controller window, locate the box and sphere objects. Notice that both their icons are highlighted as well as the sphere's XYZ position tracks. The box’s tracks aren’t highlighted because they don’t contain any animation. Interface 3856 | Chapter 13 Animation Scene Hierarchy World World is the root of the scene hierarchy. This track collects all keys in your scene as a single range for quick global operations. By default, the World track shows the range of the Sound, Environment, Medit Materials, and Scene Materials branches. Modify Subtree in Edit Ranges mode causes the World track to include the range of all tracks in the Objects branch as well. NOTE The default location of the time ruler covers the World animation track. Move the time ruler to see the World track. Sound You can accompany your animations with audio tracks via either of two plug-ins: Default Sound and ProSound. For details, see Sound on page 3868. Global Tracks Allows you to store controllers for global use. Using expression controllers, for example, you could point to a controller in the Global Tracks from several other tracks. By altering the expression in the Global Tracks, all of the other tracks are changed. By pasting an instance of a controller in Global Tracks to a number of other tracks, you can change many tracks by altering the controller in Global Tracks. By default, Global Tracks contains List tracks of the different controller types. To assign a controller, open one of the List tracks, highlight the available track, and then click Assign Controller. Once the controller is assigned, you can point to it from an expression controller assigned to any other track, or you can copy and paste it to any number of matching controller types. Video Post Allows you to manage animated parameters for Video Post plug-ins. Environment Contains items that control the background and scene environment effects. Examples include Ambient Light, Background definition, Fogs, and Volumetric Lighting. Render Effects Contains tracks for the effects added in Rendering menu ➤ Effects. After adding rendering effects, use the tracks here to animate effects parameters such as glow size and color. Render Elements Shows you what elements you've chosen to render separately via the Render Setup dialog ➤ Render Elements rollout. Track View Hierarchy | 3857 Renderer Allows you to animate parameters in the renderer. After selecting a type of antialiasing in the Render dialog, you can animate various antialiasing parameters using these tracks. Global Shadow Parameters Use these tracks to change or animate shadow parameters for any light that has the Use Global Settings parameter turned on in the Shadow Parameters rollout. (Select a light, then open the Modify panel ➤ Shadow Parameters rollout to toggle the Use Global Settings parameter). You can change shadow parameters for multiple lights simultaneously. Tracks include Map Size, Map Range, Map Bias, and Absolute Bias on page 5808. Scene Materials Contains the definitions for all materials in the scene. It is empty until you begin assigning materials to objects. When you select materials in this branch, you are working with instances of materials assigned to objects in your scene. These materials might not be in any of the Material Editor samples. Medit Materials Contains global material definitions. The Medit Materials branch contains the 24 material definitions in the Material Editor on page 6019. When you select materials from this branch, you are working with global material definitions that might not yet be assigned to objects in your scene. Objects Contains a hierarchy for all the objects in your scene. When Manual Navigation on page 3895 is on, many of these categories display a small plus or minus button to expand/collapse the contents. Item Categories Each type of item in the Hierarchy list is represented by an icon. You can use these icons to quickly identify what each item represents. Objects Branches contain linked descendants of the object. Branches below contain transforms, materials, and modifiers applied to the object, as well as the object's creation parameters. Controllers They contain the animation values for parameters and are the only item in the Hierarchy list that can have a track containing keys. Every controller has an individual icon 3858 | Chapter 13 Animation Examples of controller icons Certain types of controllers can contain other controllers. Examples of these are Transform Controllers and List Controllers. NOTE Controllers that have been applied to objects via the Animation menu ➤ Controllers or Constraints submenus automatically have list controllers assigned. Controllers assigned using the Track View Controller menu or right-click Assign Controller choice on the quad menu do not apply list controllers automatically. Maps Indicates map definitions. All branches below a map definition are part of that map. This includes values used by parametric maps and other map definitions that are part of a map tree. Modifier This icon indicates modifiers and space warp bindings. Branches below a modifier contain the modifier’s sub-objects and parameters. Controller Window Right-Click menu Right-click any item in the Controller window to display the right-click menu on page 3861. Use Alt + right-click to display an alternate navigation menu. Track View Hierarchy Icons The Track View hierarchy, as displayed in the Controller window, follows the traditional example of organizational headings in an outline. The highest levels of the hierarchy represent the main groupings in 3ds Max of Sound, Environment, Materials, Render Effects, and Objects. Lower levels of the hierarchy progress through the details of your scene, such as individual materials, material maps, and map parameters. Each type of item in the Track View Hierarchy List is represented by an icon. You can use these icons to quickly identify what each item represents. Track View Hierarchy | 3859 World The World icon represents the root of the scene hierarchy. Sound Indicate sound parameters. 3ds Max provides only one sound source in Track View. Material Indicates material definitions. All branches below a material definition are part of that material. Because a material can be composed of multiple materials it is possible to have nested material definitions in Track View. Icons also appear in an object's modifier branch when a material is assigned to an object. Map Indicates map definitions. All branches below a map definition are part of that map. This includes values used by parametric maps and other map definition that are part of a map tree. Object Indicates objects in the scene. Branches below the square icon contain linked descendents of the object. Branches below the circle icon beside a yellow cube contain transforms and modifications applied to the object. Modifier Indicate modified objects and Space Warp bindings. Branches below a modifier contain the modifier's sub-objects and parameters. Controller Indicate animation controllers. Controllers are the animation workhorses of Track View. They contain the animated values for all parameters and are the only item in the Hierarchy list that can have a track containing keys. Every controller has its own individual icon. Some examples: ■ Position controller ■ Rotation controller ■ Scale controller Certain types of controllers can contain other controllers. Examples of these are Transform Controllers and List Controllers. 3860 | Chapter 13 Animation Hierarchy Right-Click Menu Track View on page 3827 ➤ Select an item in the Track View controller window and right-click. ➤ Hierarchy right-click menu The Hierarchy right-click menu provides ready access to commands for working with controllers, locking and unlocking tracks for use with containers, navigating the Hierarchy list of the Controller window, loading and saving animation files, and more. TIP Use Alt+right-click with quad menu tools to expand and collapse selected tracks individually. TIP The Hierarchy right-click menu displays commands related to the highlighted item while the Alt+right-click menu displays commands related to the item currently located under your mouse cursor. Track View Hierarchy | 3861 Interface Lock/Unlock/Unlock Leaves/Expose/Conceal/Override All Locks These commands are intended for use primarily with the Container feature, and as such are documented in the Container section. For details, see Locking and Unlocking Tracks on page 7897. Select All Selects all tracks that are visible in the Hierarchy list. Collapsed items are not selected. Select Invert Inverts the current Hierarchy list selection. TIP Inverting an empty selection is the same as selecting all. Select None Deselects all visible object tracks in the Hierarchy list. Does not apply to selected objects in the scene (object icons remain highlighted). Select Children Selects all objects descending from the selection by highlighting their icon in the Hierarchy list. Collapsed children are also selected. TIP You can also select an object's children by double-clicking its icon. 3862 | Chapter 13 Animation Expand Objects Expands only the object branch for all descendants of the selected object. The expanded branches are not selected. NOTE If you are using Auto Expand on page 3891 with the Children option turned on, all objects branches are automatically expanded. Expand Tracks Expands all branches of the selected item. Track View Hierarchy | 3863 Expand All Expands all branches for all descendants of the selected object. Collapse Objects Collapses only the object branch for all descendants of the selected object. Collapse Tracks Collapses all branches of the selected item. Collapse All Collapses all branches for all descendants of the selected object. Auto Expand Expands the Hierarchy list automatically based on submenu selection choices. Submenu choices are: Selected Objects Only, Transforms, XYZ Components, Limits, Keyable, Animated, Base Objects, Modifiers, Materials, and Children. Manual Navigation Turns off Auto Expand. Allows you to manually decide when you will collapse and what you will expand. A small minus button in a circle to the left of an item lets you collapse it. This button disappears when Auto Expand is on and Manual Navigation is off. TIP To expand or collapse individual tracks, use Alt+right-click. Load Animation Loads XML animation data from files to the highlighted track or tracks. For more information, see Saving and Loading Animation on page 4141. If any of the highlighted tracks has child tracks, animation is loaded to those tracks as well. 3864 | Chapter 13 Animation Save Animation Saves XML animation data from the highlighted track or tracks to disk files. For more information, see Saving and Loading Animation on page 4141. If any of the highlighted tracks has child tracks, animation is saved from those tracks as well. Properties Displays the property dialog of a controller, if available. Not all controller use this dialog, and it is unavailable in these cases. Assign Controller Displays the Assign Controller dialog, which offers a list of the available controller for that selection. Copy Makes a copy of the controller held in the Track View clipboard. Paste Pastes the copied controller to another object or track. Copies can be pasted as instances or as unique copies. Make Unique Changes an instanced controller into a unique one. Changes made to instanced controller are reflected in all versions of the controller, unique controllers can be individually edited without affecting anything else. Alt + Right-click Menu These commands can also be found on the right-click quad menu described above. Expand Objects Expands only the object branch for all descendants of the selected object. The expanded branches are not selected. NOTE If you are using Auto Expand on page 3891 with the Children option turned on, all objects branches are automatically expanded. Expand Tracks Expands all branches of the selected item. Expand All Expands all branches for all descendants of the selected object. Track View Hierarchy | 3865 Collapse Objects Collapses only the object branch for all descendants of the selected object. Collapse Tracks Collapses all branches of the selected item. Collapse All Collapses all branches for all descendants of the selected object. Select All Selects all tracks that are visible in the Hierarchy list. Collapsed items are not selected. Select Invert Inverts the current Hierarchy list selection. TIP Inverting an empty selection is the same as selecting all. Select Children Selects all objects descending from the selection by highlighting their icon in the Hierarchy list. Collapsed children are also selected. TIP You can also select an object's children by double-clicking its icon. Select None Deselects all visible object tracks in the Hierarchy list. Does not apply to selected objects in the scene (object icons remain highlighted). Properties See Properties on page 3866. Properties (Track View Hierarchy) Track View on page 3827 ➤ Select an item in the Controller window. ➤ Right-click. ➤ Properties Right-click an animated object in the viewport. ➤ Curve Editor ➤ Right-click the Key window. ➤ Properties Motion panel ➤ Assign Controller rollout ➤ Right-click a controller track. ➤ Properties Properties displays the Properties dialog for the selected item in the Track View. For example, this option displays the Key Info dialog for selected keys, or the Sound Options dialog on page 3868 if you select an item in the Sound Track. Some controllers, such as Noise, use the Properties dialog as their primary interface for animating parameters. Other controllers do not use the Properties dialog at all, and in those cases it is unavailable. 3866 | Chapter 13 Animation Procedures To display properties for animation controllers: 1 In the Controller window, select the controller track. 2 On the Controller menu, choose Properties. Or you can right-click and select Properties from the Track View quad menu. To display the properties dialog for a Bezier key: The Bezier Controller is the default position controller when an object is animated. 1 In the Track View Key window, select an object's position key. 2 Right-click the key. The controller dialog is displayed. The Key Tangency choices are available from the dialog. TIP You can also change tangency handles using the tools in the Key Tangents: Track View toolbar. To display the Sound Options dialog for adding a sound track: 1 In the Track View Hierarchy, select the Sound item. 2 Right-click and choose Properties. The Sound Options dialog is displayed. You can use this dialog to assign a sound file to the animation, which can be displayed in Track View or the track bar. To display the Sound Options dialog for adding a sound track: 1 In the Track View Hierarchy, select the Sound item. 2 On the Tools toolbar, click and choose Properties. (Properties), or right-click the Sound label The Sound Options dialog is displayed. Track View Hierarchy | 3867 Sound The Sound track lets you add audio to your animations by either of two options: Default Sound (Sound Options dialog) and ProSound. To assign the sound option, use Preferences ➤ Animation ➤ Sound Plug-In. To access the sound settings, open Track View, click and then right-click the Sound track, and choose Properties. While Default Sound is easier to use, ProSound is far more powerful and offers more options. Sound Options Dialog Track View on page 3827 ➤ Right-click a Sound track in the Controller window. ➤ Properties ➤ Sound Options dialog When using Default Sound, the Sound track in the Track View Controller window contains two sound options. Use the Metronome to generate a series of beeps, or load a sound file to play back. Default Sound allows you to synchronize your animation to a sound file or to a metronome. If you use a sound file, a Wave Form track is displayed in the Hierarchy list, and a waveform is displayed in the Edit window. A sound file plays on your installed sound card. You set the Metronome and the Wave Form parameters in the Sound Options dialog on page 3868. Sound is one way to provide the timing for your animation. You can scrub the time slider to locate a particular sound, and coordinate your visuals around it. You can display this dialog by right-clicking the Sound item in the Track View controller window, or by right-clicking a sound track in the Key window. Procedures To add a sound track: 1 In the Track View Controller window, right-click a choose Properties. sound item and 3ds Max opens the Sound Options dialog. 2 Click Choose Sound, select a sound file, and then click OK. 3868 | Chapter 13 Animation A Wave Form branch appears in the Track View Hierarchy. A waveform appears in the Track View Key window. 3 Turn on Real Time in the Time Configuration dialog to hear the sound track when you play your animation. Interface Audio group Choose Sound Displays a file selector where you choose a sound file. Remove Sound Deletes the waveform from Track View. Reload Sound Reloads the last loaded file. This allows the sound file to be reloaded when it has been changed by another program. Active Plays the waveform during animation play back. Metronome group The Metronome track produces a regular beat using two tones. You specify three settings in the Sound Options dialog to control the Metronome: Beats per minute Sets the frequency of beats. The beats display in the Metronome tracks as black vertical bars. Default=60. Track View Hierarchy | 3869 Beats per measure Sets which beat is emphasized with a higher pitch tone. Emphasized beats display in the Metronome track as black pluses. For example, a setting of 4 generates a higher pitched tone every fourth beat. Default=4. Active Plays the beats during animation playback. ProSound Customize menu ➤ Preferences ➤ Animation panel ➤ Sound Plug-In group ➤ Click Assign ➤ Choose Sound Plug-In dialog ➤ Double-click ProSound. ➤ Click OK. ➤ Track View ➤ Highlight Sound track ➤ Right-click ➤ Properties MAXScript Listener (or Mini Listener) ➤ Enter prosound.init(true) (without quotes) ➤ Enter prosound.open() (without quotes) Initialize ProSound (see either of the preceding) ➤ Track View or Mini Curve Editor (on track bar) ➤ Highlight Sound track (or any child track). ➤ Right-click ➤ Properties ProSound is a real-time, multitrack audio solution for 3ds Max that includes full support for and integration with Track View. For best results, use Track View in Dope Sheet mode. With ProSound, you can: ■ Add up to 100 independent audio tracks. ■ Animate the volume of each track. ■ Normalize the output audio volume to handle soft or transient tracks. ■ Manipulate sound tracks and audio samples independently in Track View or with the ProSound controls. ■ Use PCM audio in both AVI and WAV files with up to six output channels: front left, front right, back left, back right, center, and low frequency. (Note: Multichannel audio must pre-exist in sound files.) ■ Export audio to a WAV file, or add it to an existing AVI. ■ Play back the audio accurately at 1/4, 1/2, 1, 2, and 4 times recorded speed to match viewport settings. ■ Render audio to match playback speed. ■ Manage multiple sound-effects directories. 3870 | Chapter 13 Animation ■ Access all features from MAXScript with 46 audio-related functions. Editing ProSound Tracks in Track View When working with ProSound tracks in Dope Sheet mode on page 3842, use Edit Ranges on page 3978 to drag an audio clip and its endpoints. Dragging a range changes its start and stop times by the same amount, while dragging an endpoint makes it shorter (by truncating the clip) or longer (by repeating the clip). You can change the length of individual clips (must be set to End Frame on page 3878, not Loops) but not of the Master Waveform track, which serves as a composite of all the individual clips. Dragging an endpoint of the Master Waveform track is the same as dragging the range. NOTE Truncating a clip always takes place from the ending, not the beginning, no matter which end you drag. To open the ProSound interface with a specific track highlighted, showing its parameters, simply right-click the track (either the waveform or the range bar) in the graph area of Track View - Dope Sheet. Procedure To assign and access ProSound: 1 From the Customize menu, choose Preferences and then click the Animation tab. Track View Hierarchy | 3871 2 In the Sound Plug-In group click Assign; this opens the Choose Sound Plug-In dialog. In the dialog list double-click ProSound and then click OK to close Preferences. 3 Open Track View, and click the Sound track (under World) to highlight it. Then right-click and choose Properties. 3ds Max opens the ProSound dialog. NOTE An alternative method of opening the ProSound dialog is included in the path annotation at the start of this topic. Interface The ProSound dialog is modeless, so you can keep it open while using other parts of the program. Input Files group Controls in this group let you manage the audio samples available in the scene. The number of loaded samples appears next to the group box title; in the preceding illustration, it’s 2. 3872 | Chapter 13 Animation [file list] Shows all loaded samples with file paths. All of these are automatically loaded into the scene, play back when the animation is played, and are saved with rendered animations. You can control each track’s playback with the controls in the File Details group (see following). Add Imports samples into ProSound. Each sample creates a track in the Track View with start and end keys that you can manipulate, as with the default sound track in 3ds Max. You can add multiple files in one action with standard Windows methods: Use the Shift key to select a range of files or the Ctrl key to toggle individual files. Delete Removes highlighted samples from ProSound. You can highlight multiple files for deletion. Replace Lets you replace a single highlighted sample with another, from an external file. Reload Loads the highlighted sample from its file. If the file contents have changed, the new sound replaces the previous one. Convert Path Use this function when opening a 3ds Max scene file that points to samples in a different location from your system and ProSound has loaded the sample from a directory you added with Path Manager (see following). Convert Path adjusts the file's path in the file list to match that of your system. If you use Convert Path, save the scene, and then reopen it on the original machine, the location of the file on the original system must be added with Path Manager or ProSound will not find the sample. Example: On another computer, a scene is saved with samples located in D:\Sound\Samples. These same samples are located in E:\Samples on your machine and you have added this directory with Path Manager. When you load the scene, your machine will find the samples and no changes will be made to the path in the Input Files section of ProSound. If you highlight these samples and use Convert Path, the paths as listed change from D:\Sound\Samples to match their location on your system: E:\Samples. If you then save the scene and open it on the original system, the original location of the samples (D:\Sounds\Samples) must be added with Path Manager so ProSound can find the samples. Path Manager Lets you manage disk locations where ProSound looks for samples. This is useful when loading MAX scenes created on another system where samples might be in different directories. Adding directories in the Path Manager gives ProSound more places to look for samples. For example, if one person saves a scene with a sample located in D:\Sounds\Samples, but your copy of the sample is in E:\Samples, adding E:\Samples to the Path Manager Track View Hierarchy | 3873 means ProSound will find the sample on your system without additional input from you. Clicking Path Manager opens a dialog, shown in the preceding illustration, comprising a list and the following controls: ■ AddOpens a file dialog named Add Sound Path that lets you navigate to a file path and use it. If you highlight a path before clicking Add, the Add Sound Path dialog opens to that path, and the added path appears in the Path Manager list after the highlighted path. If no path is highlighted when you click Add, the Add Sound Path dialog opens to the last-used path, and the added path appears at the end of the Path manager list. ■ DeleteRemoves the highlighted item from the Path Manager list. ■ ModifyOpens a dialog that lets you replace the highlighted item with a different path. ■ Move Up/Move DownRepositions the highlighted item in the list. Path Manager searches paths in the order listed. ■ OKAccepts changes and closes the dialog. ■ CancelIgnores changes and closes the dialog. Move Up Raises the highlighted track above the preceding one. Rearranging tracks also affects their order in Track View. Move Down Lowers the highlighted track below the following one. 3874 | Chapter 13 Animation Rearranging tracks also affects their order in Track View. Arrange Opens a dialog that lets you sort the highlighted tracks by filename, full path name, or start frame. Choose the sort order and then click OK. Applies to highlighted tracks only. Rearranging tracks also affects their order in Track View. Sequence Alters the Start Frame and End Frame times to play each clip one time, in the order listed. The first clip plays to its end, then the next clip plays, and so on. WARNING Clicking this button once instantly resets the start and end frame settings for all highlighted clips, and is not undoable. Diagnostics Click to open a dialog with diagnostic information. Track View Hierarchy | 3875 ■ Soft ResetSometimes, after repeated playback, the sound tracks stop playing in 3ds Max. When this happens, click Soft Reset to reset the playback buffers and hear sound tracks once again. File Details group Displays information about the currently selected sample in the Input Files list. 3876 | Chapter 13 Animation [Play/Pause] Plays the current sample as loaded from the external source; that is, without any modification from ProSound settings. Clicking the button again during playback pauses the preview. To the right of the Play button is the position indicator, which displays the current position of playback. You can move the slider to change the position of playback; this stops the audio output. To begin playback from the new position, click Play again. [file name] To the right of the Preview controls (above Format), ProSound displays the file name of the highlighted sample. Length Indicates the total length of the current sample in time and frames; for example, 3.48 s (104.5 f) indicates 3.48 seconds or 104.5 frames. The number of frames is rounded off; for example, a length of 318.688 frames would be rounded up to 318.7. Format Indicates the audio file format of the current sample. ProSound supports two formats: WAV and AVI. Statistics Indicates the sample rate and bit depth of the highlighted sample and whether the audio is mono or stereo. Mapped When on, indicates that ProSound has had to load a sample from a directory other than the one used in the scene. For example, this would be on if you loaded a scene that contains a sample originally located in D:\Sound\Samples, but ProSound had to load it instead from E:\Samples as mapped with Path Manager on the current machine. Active Indicates whether the current sample is to be included in playback as well as rendering of the output audio. For example, you could turn off Active for three of five samples so that only the other two are heard during playback of the animation, or included in the rendered animation. Front/Center When on, places samples in the front-center channel when using five- or six-channel audio. Applicable only to one-channel (Mono) samples. Replaceable When on, the software is permitted to replace a sample if necessary. This is used when loading samples via MAXScript and tells ProSound which samples may be replaced. The first sample with this option enabled will be replaced. If no samples have this option enabled, any samples loaded via MAXScript are appended to the Input Files list. Start Frame The frame at which the sample is to start playing. Samples start at frame 0.0 by default. Track View Hierarchy | 3877 End Frame/Loops Choose either of the following to determine the length of the sample: ■ End FrameThe frame at which playback is to stop. By default, this is frame 0.0+(sample length in frames). For example, a sample 50 frames in length will have a Start Frame of 0.0 and End Frame of 50.0 by default. If you manipulate tracks or keys for the sample in Track View (move, slide, etc), these numbers will adjust automatically. ■ LoopsThe number of times the sample repeats. If Loops is active for a sample, you cannot change its length in Track View. Duration The true length of the current sample in frames. This value is not rounded, as in Length (preceding). Playback group These settings are global for all audio output, not individual samples (to control playback of individual samples, use the Active option in the File Details group). Also, these options do not affect how the audio is rendered for export. Permit Playback Toggles preview of the audio within 3ds Max. When off, the audio will not play when you play the animation or scrub the time slider. Channels The number of channels for the audio file. Sample Rate The sample rate to use when previewing audio output in 3ds Max. If set to Auto, ProSound examines the source files and determines the best setting. 3878 | Chapter 13 Animation Audio Quality Affects how ProSound alters sample rates. If, for example, Sample Rate is set to 44Khz and you are using source files of 22Khz, changing Audio Quality affects the quality of the upsampling. Normalize adjusts the output of the audio so the peak amplitude is optimal - it's loudest point is the loudest possible peak for a sound clip. This insures that the audio file doesn't clip and distort if the volume is overdriven. Normalization can be set to work in four different modes: ■ Only on overflowProSound normalizes only when the amplitude of the output is too great. ■ Before master volumeProSound normalizes the audio before any volume adjustments by you. In other words, this option normalizes the audio from ProSound before any adjustments are made in the Master Volume track in Track View. ■ After master volumeThe audio output is normalized after volume adjustments made in the Master Volume track in Track View. ■ NeverTells ProSound not to normalize the output. Track within # seconds when scrubbing Adjusts the amount of time between when a frame is reached and the corresponding point in the audio is triggered. For example, if you move the time slider forward and this parameter is set to 0.05, as you reach each frame there is 0.05-second delay before the audio at that point is triggered. Practically speaking, this means more accurate tracking because the lower the number, the faster you can scrub and have the audio keep up. If this option is disabled, when you scrub quickly, the audio simply plays back in real time until it reaches the current frame. For instance, if you start at frame 0 and scrub very fast to frame 75, audio plays back in real time until it reaches frame 75, and then stops, thus lagging the animation by a significant amount. Permit Backwards Scrubbing When on and you scrub backward (that is, drag the time slider to the left), the audio plays in reverse. Play Once When on and you play the animation in 3ds Max, playback stops after the last frame instead of repeating, as it normally does. Specify Play Range Toggles a limited playback range, as specified by the two numeric fields separated by “to,” within the full length of the time slider. This "focus area" is highlighted in the time slider area. This mode can be helpful for fine-tuning lip sync of a single word or phrase. Track View Hierarchy | 3879 NOTE To see the focus area in the time slider area, it’s necessary to display the sound track: Right-click the track bar to display the context menu, and then turn on Configure ➤ Show Sound Track. Toggles automatic forward-then-reverse playback when you play the animation. If a Specify Play Range is active, the ping pong mode will play back and forth within this range. If Play Once is active, playback will play to the animation or play range end, then reverse play to the beginning or play range start. Render group These options adjust various parameters of the rendered audio for export. These are not heard within 3ds Max unless you export the audio and reload it as a sample. Most of the options in this section have identical functionality to the same options in the Playback group. The other options in this section are as follows. Permit Save on Render Indicates that audio output should be included when you render the scene. To set options for the exported audio, click Export Audio. NOTE This option applies only when you render to a single animation file, such as AVI or MOV. Channels The number of channels for the audio file. 3880 | Chapter 13 Animation Sample Rate The sample rate to use when previewing audio output in 3ds Max. If set to Auto, ProSound examines the source files and determines the best setting. Audio Quality Affects how ProSound alters sample rates. If, for example, Sample Rate is set to 44Khz and you are using source files of 22Khz, changing Audio Quality affects the quality of the upsampling. Normalize adjusts the output of the audio so the peak amplitude is optimal - it's loudest point is the loudest possible peak for a sound clip. This insures that the audio file doesn't clip and distort if the volume is overdriven. Normalization can be set to work in four different modes: ■ Only on overflowProSound normalizes only when the amplitude of the output is too great. ■ Before master volumeProSound normalizes the audio before any volume adjustments by you. In other words, this option normalizes the audio from ProSound before any adjustments are made in the Master Volume track in Track View. ■ After master volumeThe audio output is normalized after volume adjustments made in the Master Volume track in Track View. ■ NeverTells ProSound not to normalize the output. Export Audio Click to open a dialog where you can set options (Range, Codec, etc.) for the exported audio. You can also export the audio separately directly from this dialog: Track View Hierarchy | 3881 ■ Output RangeSets the length of the exported audio in frames. ■ FileSets the name of the exported file. ■ CodecChoose the codec (if available) and relevant attributes for the file. ■ ExportClick to export the audio separately from the video file. Metronome group These controls work the same as the Metronome function for the standard audio functionality in 3ds Max (see the Sound Options Dialog topic) with the addition of two Tone parameters. Beats Per Minute > Tone The beep pitch indicating each beat. Beats Per Measure > Tone The beep pitch indicating each measure. Track View Menu Bar Track View on page 3827 ➤ Menu bar 3882 | Chapter 13 Animation A menu bar appears at the top of Track View in both Curve Editor and Dope Sheet modes and the expanded track bar layout. The Track View menu bar is contextual; it changes slightly between Curve Editor and Dope Sheet modes. The commands available on the Track View menus can also be accessed on the Curve Editor and Dope Sheet toolbars. Certain tools, however, appear only on the toolbars, and do not appear in the menus. Modes Menu Track View on page 3827 ➤ Modes menu The Modes menu lets you switch between the Curve Editor and Dope Sheet when working in Track View. Curve Editor Displays and allows for editing of animation function curves. Dope Sheet Displays animation as a spreadsheet of keys available for editing. Controller Menu Track View on page 3827 ➤ Controller menu The Controller menu gives you tools for working with controllers that are assigned to objects or tracks when in the Curve Editor or Dope Sheet. Assign Lets you select tracks and then assign a controller to that selection. See Assign Controller on page 3930. Delete Controller Lets you delete certain controllers, that can't otherwise be replaced (Visibility tracks, Image Motion Blur Multiplier, Object Motion Blur, On/Off). See Delete Controller on page 3932. Keyable Toggles the ability to be keyed of selected controller tracks. Use this with the Show Keyable button on the toolbar to see whether a track is keyable. Copy Puts a copy of the selected controller track into the Track View buffer. See Copy Controller on page 3927. Paste Copies the controller track in the Track View buffer onto the selected track of another object or objects. You have the option of pasting as a copy or as an instance. See Paste Controller on page 3928. Collapse Controller Converts procedural animation tracks to Bezier, Euler, Linear, or TCB keyframe controller tracks. Can also be used to convert any Track View Menu Bar | 3883 controller to these type of controllers. Allows for key reduction by using a Samples parameter. See Collapse Controller on page 3884 Enable Anim Layer Assigns a Layer controller to each highlighted track in the controller window. See Animation Layers (Layer Controller) on page 3496. NOTE You must first set keys on the desired tracks before they can be layer-enabled. Ignore Animation Range Ignores the animation range for the selected controller track. When set, the track plays independently of its range and its background changes color. See Ignore Animation Range on page 3933. Respect Animation Range Respects the animation range for the selected controller track. When set, the track plays only within its range. See Respect Animation Range on page 3934. Make Unique Lets you turn an instanced controller into a unique controller. If a controller is instanced, making changes to it will affect where ever it is copied. If the controller is unique, then changes to it will not affect anything else. See Make Controller Unique on page 3935. Out of Range Types Lets you extend the animation beyond the existing keyframes. Used primarily to loop and otherwise cycle your animation without having to copy keys. See Parameter Curve Out-of-Range Types on page 3996. Properties Displays the Properties dialog, which gives access to the key interpolation types. Different controller types will offer individual options here. For example a Position XYZ controller will offer Fast, Slow, Linear, Smooth, Step, Bezier and Auto Tangent as key options, while a TCB controller will not show any of those controls. For some controllers this is the primary gateway to the animation parameters. See Properties (Track View Key Window) on page 3952. Collapse Controller Track View on page 3827 ➤ Controller menu ➤ Collapse Controller The Collapse Controller tool allows you to convert procedural animation tracks into tracks with keyframes. A procedural track is an expression track, wired parameter, noise controller, or even something like a list controller. You can also use this tool to convert any controller track to a simple keyframed track. You can convert rotation tracks to either Euler or TCB, and collapse Position and Scale tracks to either Bezier or Linear controllers. 3884 | Chapter 13 Animation You can collapse an entire track, or collapse a range of frames within a track by setting the Start and End frames. A Samples parameter lets you define how many frames will be placed between keys. Collapse Controller can be used to collapse any number of selected tracks at once. This functionality is similar to the Collapse button found in the Collapse Transform group of the Motion panel ➤ Trajectories rollout on page 3440. WARNING If you are using a Path constraint with the Follow option, using Collapse Controller to collapse the position and rotation tracks will not preserve rotation properly, because additional rotation is applied by the Path constraint. If you want to collapse this kind of track, use Collapse in the Collapse Transform group of the Motion panel ➤ Trajectories rollout instead. Procedures To collapse a procedural controller track: 1 In a viewport, select an object with a procedural controller, then right-click and choose Curve Editor from the quad menu. The Track View - Curve Editor is displayed. 2 In the Curve Editor's Controllers window, select the track you want to collapse. Then choose Controller ➤ Collapse Controller from the Track View menu. The Collapse Controller dialog appears. 3 Change the Samples to specify the number of frames between keys. The default value of 1.0 creates a key for every other frame, which might be more than you want to work with. 4 Select the type of controller that you want the keys to use after collapsing. Position and Scale tracks collapse to either Bezier or Linear. Rotation tracks collapse to either Euler or TCB. NOTE TCB controllers will not display function curves. 5 Click OK. The Key window displays the curves for the collapsed animation. The track bar displays the keys, as does the Track View – Dope Sheet. Track View Menu Bar | 3885 TIP If you want to collapse the controller into a weighted list controller, turn on Add To New Layer. The original controller will be stored on a layer with a weight of 0.0. It will have no effect, but will be available for future use, if need be. Interface Start Frame Sets the first frame of the range of animation to be collapsed. Default=The first frame of the original controller's active range. End Frame Sets the last frame of the range of animation to be collapsed. Default=The last frame of the original controller's active range. WARNING If you choose a range of frames smaller than the original range, the animation within the range will be collapsed, and the remaining motion will be discarded unless Add to New Layer is on. Samples Sets the granularity of the collapse operation. This value defines the number of frames between keys. Default=1.0. Collapse to Sets the type of controller the procedural track will become: ■ Bezier or Euler Controller When this is chosen, Position, Scale, and scalar parameter tracks will be assigned Bezier controllers. Rotation tracks will be assigned Euler controllers. ■ Linear or TCB ControllerWhen this is chosen, Position, Scale, and scalar parameter tracks will be assigned Linear controllers. Rotation tracks will be assigned TCB controllers. NOTE TCB controllers will not display function curves. 3886 | Chapter 13 Animation Add to New Layer When this is turned on, the collapsed controller is added as a new layer in a weighted list controller on page 3528. Default=off. This option is useful because it keeps the old controller on another layer with a weight of 0.0. This lets you restore the original animation easily if you need to. Tracks Menu Track View on page 3827 ➤ Tracks menu There are two types of special tracks that can be accessed from the Tracks menu: Note tracks and Visibility tracks. Note Track Lets you add or remove note tracks to your scene. Note tracks can be used for variety of purposes to add information to any track in Track View. See Add Note Track on page 3936. Visibility Track Lets you add or remove visibility tracks to objects your scene. You can also keyframe visibility by changing the visibility parameter in the Object Properties dialog when Auto Key is on. See Add Visibility Track on page 3944. Keys Menu Track View on page 3827 ➤ Keys menu The commands on the Keys menu let you add, remove, slide, or scale keys while you work in either the Curve Editor or the Dope Sheet. Add Keys Adds keys in the Curve Editor or Dope Sheet. See Add Keys (Dope Sheet) on page 3951. Reduce Keys Reduces the amount of keys on curves, or in edit keys mode in Dope Sheet. See Reduce Keys on page 3976. Move Moves keys either vertically (in value) or horizontally (in time). See Move Keys (Dope Sheet) on page 3947 or Move Keys (Curve Edit r) on page 3988. Slide Moves keys, and adjacent keys slide away to make room for the move. See Slide Keys on page 3948. Scale Values Proportionally increase or decrease the key values (in space, not time). Use in combination with the Scale Value Origin Slider. See Scale Values on page 3990. Track View Menu Bar | 3887 Scale Keys - Time Proportionally increase or decrease the key values (in space, not time). Use in combination with the Scale Value Origin Slider. See Scale Keys - Time on page 3949. Use Soft Select When turned on, affects keys adjacent to a selection set of keys according to a falloff threshold. Works on Curves and Dope Sheet edit keys mode. See Use Soft Select on page 3888. Soft Select Settings Use Soft Select Settings to display the dialog that lets you control the falloff range of the soft selection. Select some keys, then watch the Track View Key window while you adjust the range value. See Soft Selection Settings on page 3961. NOTE By default, the Soft Selection dialog appears as a toolbar on the bottom of the Track View dialog. Align to Cursor Proportionally increases or decreases the key values (in space, not time). Use in combination with the Scale Value Origin Slider. See Align to Cursor on page 3943. Snap Frames When this is on, keys always snap to frames. When off, you can move keys to sub-frame positions. See Snap Frames on page 3941. Use Soft Select Track View on page 3827 ➤ Keys menu ➤ Use Soft Select When on, Use Soft Select affects keys adjacent to a selection set of keys according to a falloff threshold. This applies to both Curve Editor keys and Dope Sheet Edit Keys modes. To adjust the Soft Selection range and falloff, choose Soft Select Settings on the Keys menu. TIP Keys are “soft-selected” across time only (horizontally). See also: ■ Soft Selection Settings on page 3961 3888 | Chapter 13 Animation Procedures To soft select keys in Track View: 1 In either Dope Sheet ➤ Edit Keys mode or in the Curve Editor, select a single key in the middle of the animation curve or graph. 2 From the Keys menu, choose Use Soft Select. 3 From the Keys menu, choose Soft Select Settings The Soft Selection Settings dialog appears. 4 Change the Range and observe the soft selection display in the key window. Curves Menu Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Curves menu The Curves menu is only available when working in Track View's Curve Editor mode. The tools on this menu facilitate curve adjustments. Apply – Ease Curve Applies curves to selected tracks that allow you to effect the timing of the animation. See Apply Ease Curve / Apply Multiplier Curve on page 3999. Apply – Multiplier Curve Applies curves to selected tracks that allow you to effect the strength of the animation. See Apply Ease Curve / Apply Multiplier Curve on page 3999. Remove Removes Ease and Multiplier Curves. See Remove Ease/Multiplier Curve on page 4001. On/Off Turns Ease and Multiplier Curves on or off. See On/Off (Curves) on page 4001. Ease Curve Out-of-Range Types Applies Eases to Parameter Out of Range keys. See Ease Curve Out-of-Range Types on page 4002. Multiplier Curve Out-of-Range Types Applies multiplier curves to Parameter Out of Range keys. See Multiplier Curve Out-of-Range Types on page 4004. Time Menu Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Time menu Track View Menu Bar | 3889 Use tools on the Time menu to edit, adjust, or reverse time. The Time menu is available only when Track View is in Dope Sheet mode. The commands on the Time menu are available only when Edit Keys is on. If you are using Edit Ranges, these commands will not be accessible. If you are using Edit Keys, then once you select a time range, the remainder of the time menu commands will become available for use. Select Select a time range. Insert Add blank periods of time into a selected range. Cut Remove a time selection. Copy Copy a time selection. Includes any keys within the time selection Paste Duplicates a copied or cut selection. Reverse Rearranges the order of keys within a time range, flips time from back to start. Options Menu Track View on page 3827 ➤ Options menu The Options menu contains a series of toggles and switches that control how items are handled in the Controller window. Interactive Update Track View on page 3827 ➤ Options menu ➤ Interactive Update Interactive Update controls whether editing keys in Track View updates the viewports in real time. Also, turning off Interactive Update allows faster animation playback in some cases. Interactive Update When on, editing keys in Track View updates the viewports with any changes that affect the current frame while your mouse button is down. When off, the viewports are updated only after you release the mouse button. Default=Off. For example, if you're at frame 10 and there are position keys at frame 0, 20, 30, and 50, then editing either a key at frame 0 or 20 with Interactive Update on potentially lets you see the changes in the viewport as you drag the key. However, editing a key at frame 50 is unlikely to cause a position change at 3890 | Chapter 13 Animation the current frame, so you won't see any difference with Interactive Update on or off. To view the results of editing keys anywhere in Track View in real time, use Sync Cursor Time on page 3891 instead. Turning on Sync Cursor Time automatically turns on Interactive Update as well, so you can see all changes interactively. Keep this turned off when you are working in big files and moving large numbers of keys. Default=Off. In some circumstances, simply playing back an animation or dragging the time slider with Track View open, without editing keys, can cause performance issues. If you experience this, and Interactive Update is on, turn it off to improve playback performance. Sync Cursor Time Track View on page 3827 ➤ Options menu ➤ Sync Cursor Time Snaps the time slider to the cursor position. Sync Cursor Time Snaps the time slider to the cursor position. When on, clicking the cursor in the Track View window moves the time slider to that spot in time. When you release the mouse button, the time slider jumps back to its previous position. When off, the time slider does not jump to the cursor position; you need to click the time slider and move it by hand. Default=Off. Turning on Sync Cursor Time also turns on Interactive Update on page 3890 so you can edit keys anywhere in Track View by dragging them and see your results right away. The time slider jumps to the frame at which the key resides and the viewport displays your changes in real time. Auto Expand Track View on page 3827 ➤ Options menu ➤ Auto Expand submenu Auto Expand determines the behavior of the controller window display based on choices made from a submenu. To turn Auto Expand off with a single click, choose Manual Navigation from the Options menu: The Auto Expand settings are then disregarded. When you are working on a specific animation task, turn off the unnecessary options to focus the controller window on what you need to see. Track View Menu Bar | 3891 NOTE The default auto-navigation setting for the Dope Sheet editor auto-expands only to the node track for the currently selected object. This reduces the number of tracks whose keys need to be displayed and also helps enforce the top-down workflow for which the Dope Sheet editor is designed. Interface Selected Objects Only When this is on, the controller window displays the tracks for highlighted objects only. Default=On. Transforms Expands the Hierarchy list to display the highlighted object's Transform track. Default=On. XYZ Components Expands the highlighted object's Transform track to display individual XYZ components contained in each Transform controller (such as Position and Scale). Limits Expands the highlighted object's Limits track to display its parameters (such as Upper Limit and Lower Smoothing). To be used in conjunction with the Limit Controller on page 3514. Default=On. Keyable Expands the highlighted object's Hierarchy list to display keyable tracks. You must also enable Transform or XYZ Components to see results. Also expands the Environment and Global Shadow Parameters Hierarchy lists. Animated Expands the highlighted object's Hierarchy list to display animated tracks. Base Objects Expands the highlighted object's base object track to display its parameters (such as Height/Width/Length). Modifiers Expands the highlighted object's modifier track to display modifiers applied to that object. Materials Expands the highlighted object's material track to display materials parameters. Children Expands the Hierarchy list to display all children starting from the highlighted object. Auto Select Track View on page 3827 ➤ Options menu ➤ Auto Select 3892 | Chapter 13 Animation Provides options to determine which types of tracks are selected when a Track View window is opened, or node selection changes. Options include Animated, with submenu choices of Position, Rotation and Scale. When this is turned on, animated curves are automatically selected when opening the controller window, using the submenu choices as well. Additional filtering of the controller window can be accomplished by using Filters, such as combining only selected tracks with only animated tracks. Auto Scroll Track View on page 3827 ➤ Options menu ➤ Auto Scroll submenu Provides options to control the automatic scrolling of the controller window in Dope Sheet and Curve Editor. When these are chosen, the choice is displayed at the top of the controller window. Options include Selected and Objects. Interface Selected When this is on, the controller window automatically scrolls to move the viewport selection to the top of the controller window. Objects When this is turned on, the controller window automatically scrolls to show all the objects in the scene in the controller window. Modify Subtree Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Display toolbar ➤ (Modify Subtree) Modify Subtree lets you move and scale on all sub-tracks for any/all tracks on a node. It has two modes: Edit Keys and Edit Ranges. NOTE Modify Child Keys on page 3895 works similarly, but for child nodes of the current object. Modify Subtree lets you edit timing for a subset of tracks for an object, while Modify Child Keys lets you edit the timing of an entire linked structure, group, or character. Track View Menu Bar | 3893 Procedures To drag the ranges and linked descendants of an object: 1 In the Dope Sheet Editor, click (Edit Ranges). Modify Subtree is on by default. 2 Drag the World range bar or the Objects range bar. With Modify Subtree on, a range bar is displayed in the Objects branch. The Objects branch is the default parent of all named objects in the scene. Dragging a parent Objects range bar with Modify Subtree on affects all tracks subordinate to the object and all tracks of its linked descendants. Dragging the World range bar with Modify Subtree on affects all tracks in the scene, including Sounds, Materials, and all tracks of all objects. 3 Turn off (Modify Subtree). The World range bar and the Objects range bar are no longer available. In this mode you can affect the range of an individual object or track without affecting its descendants. Interface Modify Subtree (Edit Keys) Edits (cuts, pastes, or moves) keys in the parent track. Anything you do to the keys in the parental track affects the child keys as well. NOTE Adding keys only affects the current track. Modify Subtree (Edit Range) Affects the tracks of an object and all of its descendent objects. When you edit the range of a parent object, the child objects are also affected. 3894 | Chapter 13 Animation Modify Child Keys Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Display toolbar ➤ (Modify Child Keys) Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Options menu ➤ Modify Child Keys Provides the ability to turn changes on and off down the hierarchy when working in Dope Sheet mode. Changes that you have made to a parent object can be added to the children by clicking this toolbar button. Similarly, if you have made changes with Modify Subtree on, and you want to remove the changes from the children, clicking Modify Child Keys will remove those changes from the children that you previously made to the parent. This tool is primarily designed for use in Dope Sheet Edit Ranges mode. Modify Subtree allows you to move, scale, edit time, and so on, on all sub-tracks for any or all tracks on a node. Modify Child Keys does the same thing, but also extends to child nodes as well. Modify Subtree lets you edit timing for an object of subset of tracks on an object, while modify child keys lets you edit the timing of an entire linked structure, group, or character. Manual Navigation Track View on page 3827 ➤ Options menu ➤ Manual Navigation Graph Editor ➤ Track View - Curve Editor ➤ Right-click the Controller window. ➤ Manual Navigation. Manual Navigation turns off the Auto Scroll features of the controller window and allows you to select which tracks will display on an individual basis. The default behavior of the Controller window is to automatically display the selected object animated tracks, and to hide them when the object is not selected in the viewport. Turning on Manual Navigation changes this behavior so that deselecting the object will not make the curves disappear from view. When Manual Navigation is engaged, buttons appear in the Controller window next to the tracks, that allow you to expand or collapse individual containers such as objects or materials. Track View Menu Bar | 3895 TIP Use Alt+right-click to quickly access tools for expanding and collapsing selected tracks. To collapse individual components in the Controller window: 1 On the Graph Editors menu, choose Track View - Curve Editor. 2 Right-click the controller window and turn on Manual Navigation. 3 Click any item label in the controller window. An small minus sign within a circle appears to the left of the entry. 4 Click the minus sign in the circle. The tracks collapse. A plus sign within a circle appears. When Manual Navigation is turned off, tracks expand based on Auto-Expand choices made on the Settings ➤ Auto Expand menu. Display Menu Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Display menu Display is only available when Track View is in Curve Editor mode. The toggles in the Display menu let you adjust and customize how the items in the Curve Editor appear. Selected Key Stats Toggles display of statistics for the selected keys in the function curve window. The statistics for a key generally include frame number and value This is useful because you see statistics for the keys you are working on only. For details, see Show Selected Key Statistics on page 4020. All Tangents Toggles display of all tangent handles for all keys in the Curve Editor. When off, handles are displayed for selected keys only. Show Custom Icons Changes the display of the icons in the Hierarchy list from 2D to 3D shaded. Keyable Icons Toggles a key icon for each track that indicates and lets you define whether the track is keyable. A red key icon indicates a keyable track, while a black key icon indicates the track is not keyable. to toggle between these, click the icon or use Keyable on the Controller menu. For details, see Keyable Icon on page 3898. 3896 | Chapter 13 Animation Lock Toggle Icons Toggles a lock icon for each track that indicates and lets you define whether the track is locked on page 3862. Click the icon to toggle the track’s locked status. Locking a track prevents manipulation of the data (such as position animation) controlled by that track. NOTE Locked tracks also show the text “(Locked)” after the track name. This text appears whenever the track is locked, and is not affected by the Lock Toggle Icons setting. The X Position track is locked; Y and Z Position are unlocked Hide Non-Selected Curves When on, if you deselect the object in the viewport, its function curve also disappears from view in the Curve Editor. Default is on. For details, see Hide/Show Non-Selected Curves on page 3900. Show Non-Selected Curves When on, the Curve editor shows data for unselected objects as well as selected ones. Default is off. For details, see Hide/Show Non-Selected Curves on page 3900. Freeze Non-Selected Curves Displays nonselected curves, but doesn't allow you to edit them. Available only when Show Non-Selected Curves is on. Default is on. For details, see Freeze Non-Selected Curves on page 4006. Filters Provides controls to filter the display in Curve Editor. A wide range of options to show, hide and display data is available. For details, see Filtering Track View Display on page 3921. Show All Tangents Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Curves toolbar ➤ (Show All Tangents) Track View Menu Bar | 3897 Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Display menu ➤ All Tangents This feature shows all tangent handles on any displayed curves. You can make changes to multiple tangent handles simultaneously by using Show All Tangents in combination with Lock Tangents. See also: ■ Show Tangents on page 3994 Keyable Icon Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Curves toolbar ➤ (Show Keyable Icons) Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Display menu ➤ Keyable Icons The Keyable icon provides a method to tag a track so that it can receive keyframes or be prevented from receiving keyframes. You can display an icon in the Controller window next to the each track’s name to indicate whether or not the track is keyable. You can toggle the state of the icon to define the Keyable property. You can also use the Track View Controller menu ➤ Keyable command to make tracks keyable in a single operation. Red key icon means a track is keyable. When the keyable icons are visible, click the red icon to turn off the track. Black key in a circle indicates a track is not keyable. 3898 | Chapter 13 Animation NOTE When a track’s Keyable property is off and Auto Key or Set Key is on, the track is effectively locked; the associated value cannot be changed. WARNING When you are working with Set Key animation and you have used key filters to select object parameters or materials, all of the parameters will be keyed unless you turn off the track's keyable property. TIP You can assign a keyboard shortcut for making tracks keyable: On the Keyboard panel of the Customize User Interface dialog, choose Keyable Property Toggle in the Track View group. By combining the use of keyable icons with key filters, you can use Set Key animation mode to add keyframes to just the tracks you want to work with, and avoid keyframing other tracks. Procedures To make an individual track keyable: 1 Select the object in the viewport. 2 Right-click and choose Curve Editor. The Function Curve Editor opens, with the selected object tracks visible. 3 On the Curves toolbar, click (Show Keyable Icons). 4 Click the red keyable icons for the tracks for which you want to prevent animation. The tracks are changed, now marked with a black key in a circle. These tracks will not receive keyframes. Only the tracks marked with red keyable icons will. NOTE Keyable tracks work with both Auto Key and Set Key animation modes. To make multiple tracks keyable: 1 In Track View, with the object selected, hold down the Ctrl key and click each track to create a selection set of tracks for which you want to prevent animation. This can be for one or multiple objects Track View Menu Bar | 3899 TIP You can hold down the Shift key to select a group of sequential tracks at once. Alternately you can hold down the Alt key to select all tracks at the same level as a given track at once. NOTE If you select just a parent track such as Position, Controller ➤ Keyable will toggle all of its sub-tracks, even if theyre not selected. 2 From the Controller menu, choose Keyable. The selected tracks are now defined as keyable. 3 From the Display menu, choose Keyable Icons. The keyable icon appears next to the tracks. The icon appears red for the tracks that are keyable, and black for the ones that are not. TIP Use the same procedure to make multiple tracks not keyable. The Controller ➤ Keyable command toggles the keyability of the tracks. NOTE If you have a mixed keyable situation it will toggle the state of the first track and then set all remaining tracks to match the value of the first track Hide/Show Non-Selected Curves Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Display menu ➤ Hide Non-Selected Curves or Show Non-Selected Curves These commands either hide or show function curves that are not selected in the controller window. When Hide Non-Selected Curves is on (the default), the curve will disappear when another track is chosen. When Show Non-Selected Curves is on, the curve will still be visible in the Key window when another track is chosen. If you turn on Show Non-Selected Curves, then you can also use Freeze Non-Selected Curves. This allows you to see the other curve but not edit it inadvertently. View Menu Track View on page 3827 ➤ View menu 3900 | Chapter 13 Animation These commands replicate those found on the Navigation toolbar in Track View. Pan Lets you move the window. See Pan (Track View) on page 4021. Zoom Lets you zoom in and out. See Zoom Track View Key Window on page 4023. Zoom Region Lets you zoom in to a rectangular area. See Zoom Region (Track View) on page 4024. Zoom Horizontal Extents Zooms to the active time segment. See Zoom Horizontal Extents on page 4021. Zoom Horizontal Extents Keys Zooms to show all keys. See Zoom Horizontal Extents on page 4021. Zoom Value Extents (Curve Editor only) Zooms vertically so that you can see the full height of the curve. Zoom Values (Curve Editor only) Zooms the contents of the key window vertically. Drag upward to increase magnification, or downward to decrease magnification. Utilities Menu Track View on page 3827 ➤ Utilities menu The Utilities menu on page 3953 gives you access to the Track View Utilities dialog. The dialog shows a list of tools you can use when working with keys. This menu is available in both Curve Editor and Dope Sheet modes. Randomize Keys Changes the values of selected keys randomly based on range thresholds. Use this on either values or time. For details, see Randomize Keys Utility on page 3955. Track View Menu Bar | 3901 Create Out of Range Keys Creates new keys for selected tracks based on Out-of-Range Parameters. Adjust the samples value to change the granularity of the key creation. For details, see Create Out of Range Keys Utility on page 3957. Select Keys by Time Allows you to select the keys within a time range. Turn off Clear Previous Selection to create discontinuous selection sets. For details, see Select Keys By Time Utility on page 3959. 3902 | Chapter 13 Animation Soft Selection Settings Manager Displays a soft selection dialog at the bottom of the Track View window. For details, see Soft Selection Settings on page 3961. Euler Filter Corrects rotation anomalies by filtering Euler rotation tracks. For details, see Euler Filter on page 3960. Current Value Editor Provides transform type-in capability from within the Track View modes. Allows you to choose between absolute and relative value editing. The name of the controller appears above the axis choices. For details, see Current Value Editor on page 3962. Track View Menu Bar | 3903 This utility starts a floating Current Value window that works for either Dope Sheet – Edit keys mode or Curve Editor. It doesn't work for Edit Ranges. Not for use with object parameters, the current value editor is intended for use primarily with Transform controllers. Track View Quad Menus Track View on page 3827 ➤ Right-click the Controller window or the Key window. Right-clicking the Key window or Hierarchy list brings up a quad menu that offers instant access to tools. The menu is context-sensitive, so its contents vary, depending on what is highlighted. For example, when the Hierarchy list is active, you can assign copy and paste controllers, and open properties which you can animate. You can set the Auto Expand and Manual Navigation controls to change the behavior of the Controller window display. The commands from the alternative quad menu (Alt+right-click) are integrated in the right-click quad menu on page 3861. The Select, Expand, and Collapse commands are therefore accessible along with the existing quad menu commands, improving workflow efficiency. 3904 | Chapter 13 Animation Controller window quad menu When the key window is active you can draw curves, add keys, move keys and scale values. You can also reduce keys. Track View Menu Bar | 3905 Key window quad menu In the Controller window, if you hold down Alt+right-click you can display an alternate quad menu, which is also integrated with the main quad menu. Alt+right-click for alternate quad menu for Controller window You can add additional commands to these quad menus. You can customize the Track View quad menu the same as any other quad menu. Procedures To customize the Track view quad menu: 1 On the Customize menu choose Customize User Interface. 2 On the Customize User Interface dialog, click the Quad tab. 3 From the Quad pull-down menu, choose Track View Quad, or Track View Key Quad. 3906 | Chapter 13 Animation 4 Change the Group to Track View, and then drag items from the table of actions on the left to the window in the lower right. Track View Toolbars Track View has a number of toolbars for managing controllers and animation. The toolbars can be floated, docked, and rearranged as you like. (Most toolbar commands are also available from the Track View menu bar.) Not all toolbars are visible by default. To see the hidden toolbars, right-click an empty area between toolbars, choose Show Toolbars, and then pick the toolbar you want to display. Curve Editor Toolbars Track View on page 3827 ➤ Curve Editor on page 3986 ➤ toolbars These toolbars are visible by default when you open the Curve Editor. For the most part, they contain controls that are active only in the Curve Editor. See also: ■ Status Bar and View Controls on page 4007 Keys Toolbar (Curve Editor) Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Keys toolbar The Keys toolbar for the Curve Editor contains the Filter button, and buttons for transforming keys or editing them in other ways. Interface Filter Use this to determine what is displayed in the Controller window and the Key window. See Filtering Track View Display on page 3921. Track View Toolbars | 3907 Move Keys Moves keys freely both horizontally and vertically on the function curve graph. See Move Keys on page 3947. Move Keys—Horizontal Moves keys only horizontally on the function curve graph. See Move Keys on page 3947. Move Keys — Vertical Moves keys constrained vertically on the function curve graph. See Move Keys on page 3947. Slide Keys Use Slide Keys in the Curve Editor to move a group of keys and slide adjacent keys away as you move. See Slide Keys on page 3948. Scale Keys Use Scale Keys to compress or expand the amount of time between keyframes. Works both in Curve Editor and Dope Sheet modes. See Scale Keys - Time on page 3949. Scale Values Proportionally increases or decreases the values of the keys, rather than moving the keys in time. See Scale Values on page 3990. Add Keys Creates keys on existing curves on the function curve graph or Dope Sheet. See Add Keys (Dope Sheet) on page 3951. Draw Curves Use this to draw new curves, or revise existing ones by sketching directly on the function curve graph. See Draw Curves on page 3993. Reduce Keys Use this to reduce the amount of keys in a track. See Reduce Keys on page 3976. 3908 | Chapter 13 Animation Key Tangents Toolbar Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Key Tangents toolbar The Key Tangents toolbar lets you assign tangency to keys. Tangency controls the smoothness and the speed of motion at the key. Each of these buttons is also a flyout: you can apply tangents uniformly to both in and out motion (the default), or to in and out motion individually. Select the keys you want to adjust before you use these buttons. Interface Set Tangents to Auto Sets keys to automatic tangents. Use the In button to affect only the incoming tangent. Use the Out button to affect only the outgoing tangent. NOTE Selecting the handles of an Auto tangent changes them to custom, and makes them available for editing. Set Tangents to Custom Sets keys to custom tangents. Custom tangents have key handles that you can edit by dragging in the Curve window. Hold down the Shift key to break continuity when you edit handles. Use the In button to affect only the incoming tangent. Use the Out button to affect only the outgoing tangent. Track View Toolbars | 3909 Set Tangents to Fast Sets key tangency to fast. Use the In button to affect only the incoming tangent. Use the Out button to affect only the outgoing tangent. Set Tangents to Slow Sets key tangency to slow. Use the In button to affect only the incoming tangent. Use the Out button to affect only the outgoing tangent. Set Tangents to Step Sets key tangency to step. Use step to freeze motion from one key to the next. Use the In button to affect only the incoming tangent. Use the Out button to affect only the outgoing tangent. Set Tangents to Linear Sets key tangency to linear. Use the In button to affect only the incoming tangent. 3910 | Chapter 13 Animation Use the Out button to affect only the outgoing tangent. Set Tangents to Smooth Sets key tangency to smooth. Use this to even up discontinuous motion. Use the In button to affect only the incoming tangent. Use the Out button to affect only the outgoing tangent. Curves Toolbar Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Curves toolbar The Curves toolbar contains controls for managing key selection and editing. Interface Lock Selection Locks the key selection. Once you have created a selection, turn this on and you can't inadvertently select something else. See Lock Selection on page 3942. Snap Frames Restricts key movement to frames. Keys that are moved will always snap to frames when this is on. When this is off, you can move a key so it falls between frames and becomes a sub-frame key. Default=on. See Snap Frames on page 3941. Track View Toolbars | 3911 Parameter Out-of-Range Curves Use this to repeat keyframed motion beyond the range of the keys. Includes options for Loop, Ping Pong, Cycle, or Repeat relatively, as well as constant and linear. If you use Parameter Out-of-Range types, you can later create keys using Track View ➤ Utilities ➤ Create Out-of-Range Keys. See Parameter Curve Out-of-Range Types on page 3996 and Create Out of Range Keys Utility on page 3957. Show Keyable Icons Displays an icon that defines a track as keyable or not. Use this to set keys only on the tracks you want to keyframe. Turning off a track in Track View also restricts the movement in the viewport. Red keys indicate keyable tracks, black keys are not keyable. See Keyable Icon on page 3898. Show All Tangents Hides or displays all tangent handles on the curves. Use this to hide the handles quickly when many keys are selected. See Show All Tangents on page 3897. Show Tangents Hides or displays tangent handles on the curves. Use this to hide the handles on individual curves. See Show Tangents on page 3994. Lock Tangents Locks the selection of multiple tangent handles, so you can then manipulate several handles at once. When Lock Tangents is off, you can only manipulate one key tangency at a time. See Lock Tangents on page 3996. Biped Toolbar Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Biped toolbar Tools on the Biped toolbar let you choose which animation curves to display in the Curve Editor. You can toggle between the position and rotation curves, as well as toggle the separate curves representing the X, Y, and Z axes of the current biped selection. These controls are inactive if you haven’t selected a biped. 3912 | Chapter 13 Animation Interface Show Biped Position Curves Displays the position curves for the animated biped selection. Also chooses Pos Curve from the Curve Type drop-down list of the Animation Workbench Toolbar on page 5173. Show Biped Rotation Curves Displays the rotation curves for the animated biped selection. Also chooses Rot Curve from the Curve Type drop-down list of the Animation Workbench Toolbar on page 5173. Default=on. Show Biped X Curves Toggles the X axis of the current animation or position curves. Also toggles the X button of the Animation Workbench Toolbar on page 5173. Default=on. Show Biped Y Curves Toggles the Y axis of the current animation or position curves. Also toggles the Y button of the Animation Workbench Toolbar on page 5173. Default=on. Show Biped Z Curves Toggles the Z axis of the current animation or position curves. Also toggles the Z button of the Animation Workbench Toolbar on page 5173. Default=on. Dope Sheet Toolbars Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ toolbars These toolbars are visible by default when you open the Dope Sheet. For the most part, they contain controls that are active only in the Dope Sheet. See also: ■ Status Bar and View Controls on page 4007 Track View Toolbars | 3913 Keys Toolbar (Dope Sheet) Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Keys toolbar The Keys toolbar for the Dope Sheet contains the Filter button and other display controls, as well as buttons for transforming keys and editing them in other ways. Interface Edit Keys Displays a Dope Sheet Editor mode that shows the keys as boxes on a graph. Use this to mode to insert, cut, and paste time. See Edit Keys on page 3940. Edit Ranges Displays a Dope Sheet Editor mode that shows the keyed tracks as range bars. See Edit Ranges on page 3978. Filter Use this to determine what is displayed in the Controller window and the Dope Sheet - Key window. See Filtering Track View Display on page 3921. Slide Keys Use Slide Keys in the Dope Sheet to move a group of keys and slide adjacent keys away as you move. Only slides keys on the same controller track. See Slide Keys on page 3948. Add Keys Creates keys on existing tracks on the Dope Sheet grid. Combine this tool with Current Value editor to adjust the key values numerically. See Add Keys (Dope Sheet) on page 3951. Scale Keys Use Scale Keys to compress or expand the amount of time between keyframes. Works both in Curve Editor and Dope Sheet modes. Uses the time slider as an origin point to or from which to scale. See Scale Keys Time on page 3949. 3914 | Chapter 13 Animation Time Toolbar Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Time toolbar Controls on the Time toolbar let you select time ranges, remove time, scale it, insert it, or reverse its flow. Interface Select Time Lets you select a time range. Time selections include any keys that might be included within the time range. Use Insert Time, then Select Time to choose the time range. See Select Time on page 3965. Delete Time Removes selected time from the selected tracks. Cannot be applied globally to shorten the time segment. This removes keys but leaves “blank” frames behind. See Delete Time on page 3966. Reverse Time Reverses the keys on selected tracks within a selected time segment. See Reverse Time on page 3970. Scale Time Scales the keys within a selected time segment for selected tracks. See Scale Time on page 3972 Insert Time Allows you to insert a range of frames as a time insertion. Existing keys slide out of the way to make room for inserted time. Once you have made a time selection with Insert Time, you can then use all the other time tools. See Insert Time on page 3971. Cut Time Deletes time selections from the selected tracks. See Cut Time on page 3967. Copy Time Duplicates the selected time selection so it will be available for pasting. See Copy Time on page 3967. Track View Toolbars | 3915 Paste Time Adds cut or copied time selections into the selected tracks. See Paste Time on page 3968. Display Toolbar Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Display toolbar The Display toolbar contains controls for managing key selection and editing, including how to edit tracks in a hierarchy. Interface Lock Selection Locks the key selection. Once you have created a selection, turn this on so that you cannot inadvertently select something else. See Lock Selection on page 3942. Snap Frames Restricts key movement to frames. Keys that are moved will always snap to frames when this is on. When this is off you can move a key so it falls between frames and become a sub-frame key. Default=on. See Snap Frames on page 3941. Show Keyable Icons Shows an icon that defines a track as keyable or not. Use this to set keys only on the tracks you desire to keyframe. Turning off a track in Track View will also restrict the movement in the viewport. Red keys show keyable tracks, black keys are not keyable. See Keyable Icon on page 3898. Modify Subtree When this is on, allows key manipulations to parent tracks to affect the tracks down the hierarchy. On by default in Dope Sheet mode. See Modify Subtree on page 3893. Modify Child Keys If you modify the parent without Modify Subtree on, click Modify Child Keys to apply the change to the child keys. Similarly, 3916 | Chapter 13 Animation if you modify the parent with Modify Subtree on, Modify Child Keys toggles those changes off. See Modify Child Keys on page 3895. Name Toolbar Track View on page 3827 ➤ Name toolbar The Name toolbar lets you name the Track View. Interface Name By entering a name in this field, you create a named Track View window that you can later recall using the Graph Editors menu ➤ Saved Track View submenu. This toolbar appears by default for both the Curve Editor and the Dope Sheet. Controllers Toolbar Track View on page 3827 ➤ Right-click the starting area of a toolbar (containing two vertical bars). ➤ Show Toolbars ➤ Controllers toolbar This toolbar contains the basic tools you need to work with controllers in Track View. This toolbar is hidden as a default. Right-click the Track View toolbar and choose Show Toolbars ➤ Controllers: Track View to display these tools. All of these commands are always available via the Track View Controller menu. Interface Track View Toolbars | 3917 Filters Click to display the Filters dialog on page 3922, which you can use to control what Track View displays in the Controller and Key windows. Copy Controller Use this to copy a controller and its animated tracks from a selected object. See Copy Controller on page 3927. Paste Controller Pasts the copied or cut controller onto a new object or selection of object tracks. See Paste Controller on page 3928. Assign Controller Use this to assign a new controller to an object. All objects have a default controller assigned; use this to change the default controller to a different one. Select the controller track in the Controller window, then use Assign Controller to select a new one. See Assign Controller on page 3930. Delete Controller Delete a controller from an object. The controller will be replaced with a default controller. See Delete Controller on page 3932. Make Controller Unique Changes an instanced controller to a unique controller. This lets you make changes to the controller without affecting any other object tracks. See Make Controller Unique on page 3935. Procedures To display the Controllers toolbar: 1 Right-click the blank area on the Track View toolbar, to the right of the Modify Child Keys button. 2 From the right-click menu, choose Show Toolbars. 3 Choose Controllers: Track View from the list. Tools Toolbar Track View on page 3827 ➤ Right-click the starting area of a toolbar (containing two vertical bars). ➤ Show Toolbars ➤ Tools : Track View 3918 | Chapter 13 Animation The Tools toolbar has buttons for managing Note tracks, Visibility tracks, controller properties, starting utilities, and some buttons also available from other toolbars. Interface Add Note Track Click to add a note track on page 3936. Delete Note Track Click to remove a note track on page 3939. Add Visibility Track Click to add a visibility track on page 3944. Snap Frames Restricts key movement to frames. Keys that are moved will always snap to frames when this is on. When this is off, you can move a key so it falls between frames and becomes a sub-frame key. Default=on. See Snap Frames on page 3941. Lock Selection Locks the key selection. Once you have created a selection, turn this on so that you cannot inadvertently select something else. See Lock Selection on page 3942. Properties Click to open a dialog for editing a track or selected key. See Properties (Track View Key Window) on page 3952. Track View Toolbars | 3919 Track View Utilities Click to open a dialog that lets you choose one of the Track View utilities on page 3953. Ranges Toolbar (Dope Sheet) Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Right-click the starting area of a toolbar (containing two vertical bars). ➤ Show Toolbars ➤ Ranges : Dope Sheet This toolbar, hidden by default, provides tools you use when working with ranges. Interface Edit Ranges Changes Dope Sheet to display range bars rather than tracks of keys. See Edit Ranges on page 3978. Position Ranges Adjusts the relationship between a range bar and its keys. Turning this on will allow you to see the keys while moving the range bar. Recouple Ranges Resizes the range bar to fit the first and last key of the selected track. Extras Toolbar (Dope Sheet) Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Right-click the blank area of the toolbar to the right of Modify Child Keys. ➤ Show Toolbars ➤ Extras : Dope Sheet 3920 | Chapter 13 Animation Provides extra tools for use in Dope Sheet mode. Interface Exclude Left End Point Prevents a key at the first frame of a selected block of time from being copied to the clipboard. Exclude Right End Point Prevents a key at the last frame of a selected block of time from being copied to the clipboard. Filtering Track View Display Track View on page 3827 ➤ Keys Toolbar ➤ Filters button Track View on page 3827 ➤ Controllers Toolbar ➤ Filters button Track View on page 3827 ➤ Display menu ➤ Filters Filters lets you determine which categories of items appear in Track View. When you click the Filters button, Track View opens the Filters dialog on page 3922. You can also right-click the Filters button for quick selection of items. TIP You can set up a default filter configuration. Open a single Track View, set the filters the way you want them to come up, and close the Track View. Save the (empty) scene as maxstart.max. This scene file is automatically loaded when you start 3ds Max. Procedures To position a selected object at the top of the Track View Hierarchy: 1 In a viewport, right-click a selected object. 2 From the right-click menu, choose Curve Editor or Dope Sheet. Filtering Track View Display | 3921 Track View opens with the selected object at the top of the Track View Hierarchy. To display the animated transform tracks for an object in Track View: 1 Select an object, then open a Track View window. 2 Right-click (Filters). 3 From the right-click menu, choose Animated Tracks Only. 4 Right-click (Filters) again. 5 From the right-click menu, choose Selected Objects Only. Interface See Filters Dialog on page 3922. Filters Dialog (Track View) Track View on page 3827 ➤ Keys Toolbar ➤ Track View on page 3827 ➤ Controllers Toolbar ➤ (Filters) (Filters) Track View on page 3827 ➤ Display menu ➤ Filters You use the Filters dialog to choose what to display in Track View. For example, you can limit the view to animated tracks only, or tracks for selected objects. This dialog also controls function curve display and transform display for Position, Rotation, Scale, and X, Y, and Z axes individually. 3922 | Chapter 13 Animation Procedures To choose filter options: 1 On the Keys Toolbar, click (Filters). 2 Choose any of the filter options from the dialog. Interface Show group The Show group has options to display any of the following in the Hierarchy list window: ■ Hierarchy ■ Objects ■ Space Warp Bindings Filtering Track View Display | 3923 ■ Transforms (Position, Rotation, Scale, X/Y/Z/W axes in any combination) ■ Modified Objects ■ Base Objects ■ Controller Types (off by default) ■ Note Tracks ■ Visibility Tracks ■ Sound ■ Materials/Maps ■ Material/Parameters ■ Static Values ■ Global Tracks: non-object tracks All Sets all Show check boxes to on. None Sets all Show check boxes to off. Invert Reverses the state of all Show check boxes. Hide by Controller Type group Hide By Controller Type contains a window displaying a list of all controller types in 3ds Max. Choose one or more controller types to prevent them from appearing in the Hierarchy list. You can use the standard multiple-selection methods of Ctrl+click, Shift+click, or drag. 3924 | Chapter 13 Animation All/None/Invert Selects either all items in the list, none of the items in the list, or inverts the current selection. NOTE When you hide a controller, its subcontrollers (if any) are hidden as well. For example, if you hide a PRS Transform controller, its Position, Rotation, and Scale controllers are also hidden. Show Only group Animated Tracks Displays only tracks that contain animation. Only the animated tracks are shown, each with its full hierarchy, whether or not the Hierarchy switch on page 3923 is on. Selected Objects Displays only items for objects selected in the scene. As you select objects in the scene, the display in the Hierarchy list changes to show the current selection. The display of sound and materials branches are not affected by this filter. Selected Tracks Displays only items that you select prior to setting this filter. All of the displayed items are left-justified in the Hierarchy list regardless of their level in the hierarchy. Visible Objects Determines whether objects that are hidden in the viewports will appear in the Track View Hierarchy. This does not consider objects with tracks, but only objects that have been hidden. Default=on. Keyable Tracks Displays only tracks that can receive keys. This property is toggled using the Keyable property available on the Track View Controller menu, or by clicking the keyable icon displayed using Show Keyable Icon. Default=off. Filtering Track View Display | 3925 Unlocked Attributes Displays only tracks that are not locked. This property is controlled with the Lock and Unlock on page 3862 commands on the Hierarchy right-click menu. Default=off. Active Layer For each object listed in the controller window with animation layers on page 3496 enabled, displays only the active layer, along with all nested controllers. TIP Available in Customize User Interface on page 8837 are actions and icons for all Show Only options. Find them in the Track View group; their names all start with “Filter”. Hide by Category group Contains a list of check boxes that let you hide tracks based on categories similar to those found in the Display panel. Turning on one of these hides the entire category type and any subcomponents. Function Curve Display group 3926 | Chapter 13 Animation Check boxes in this group, when active, specify which transforms are suppressed, for which axis, and which RGB color values are suppressed. This is only used for controllers such as the Bezier Position controller that displays all three axis with one track selected. NOTE The “W” and “A” Filters are for use with the Point4 controller. The W is simply a fourth filter for position, and the A is for use with the floating-point RGBA controller, which is based on the Point4 controller. Managing Controllers In Track View, you can manage controllers from either the Curve Editor or the Dope Sheet. Copy Controller Track View on page 3827 ➤ Controllers toolbar on page 3917 ➤ Controller) (Copy Track View on page 3827 ➤ Highlight a controller track in the Controller window. ➤ Controller menu ➤ Copy Copy Controller copies the selected item to the Track View clipboard. You can use Copy and Paste to copy object and modifier tracks, controllers, objects, and containers, depending on what you are working on. The Controller tools are also available as buttons on the Controllers: Track View toolbar. This toolbar is hidden by default; to unhide right-click the toolbar and choose Show Toolbars ➤ Controllers: Track View. Not all tracks can be copied and pasted. The basic restrictions for using Copy and Paste in Track View are: ■ Only a single selected item can be copied. ■ A copied item can only be pasted into another item of the same type. ■ A copied item can be pasted into a selection of multiple items only if all of the items are of the same type. Managing Controllers | 3927 Procedures To copy and paste a modifier: 1 In the Track View Hierarchy, highlight a modifier track. 2 From the Controller menu, choose Copy. 3 Click the object track for an object in the Track View Hierarchy. 4 From the Controllers menu, choose Paste. The Paste dialog is displayed. 5 Set the options in the Paste dialog, and click OK. The pasted modifier is inserted above the object track you selected. Note that it does not replace any of the tracks in the target object. To copy and paste a controller: 1 In the Track View Hierarchy, highlight a controller track. 2 On the Track View Controllers menu, click Copy Controller. 3 Highlight the controller track for an object in the Track View Hierarchy. Make sure you choose the same type of transform that you copied. 4 From the Controllers menu, choose Paste. The Paste dialog is displayed. 5 Set the options in the Paste dialog, and click OK. The controller is pasted onto the selected object. Paste Controller Track View on page 3827 ➤ Controllers toolbar on page 3917 ➤ Controller) (Paste Track View on page 3827 ➤ Highlight a controller track in the Controller window. ➤ Controller menu ➤ Copy Keyboard ➤ Ctrl+V 3928 | Chapter 13 Animation Paste Controller pastes the contents of the Copy Controller buffer. You can use the Copy and Paste buttons to copy tracks, controllers, objects, and containers. All the Controller tools can also be found on the Controllers: Track View toolbar, which is hidden by default. Right-click the toolbar, then choose Show Toolbars ➤ Controllers: Track View to display the icons for Assign, Copy, Paste. Delete Controller and Make Controller Unique. TIP If you need a gizmo to follow a dummy object, use Copy Controller and Paste Controller to copy the animation from the dummy to the gizmo. Procedures See Copy Controller on page 3927. Interface Paste Controller Pastes an item from the Track View clipboard. The Paste dialog contains the following options: Copy/Instance Determines whether the cloned item is a simple copy or an instance on page 9195 of the original. Replace All Instances When you paste to any track that contains an instanced object, replaces all instances of the object with the object on the clipboard. If off, only the object in the selected track will be replaced. Any instanced objects will remain as they are. Managing Controllers | 3929 Assign Controller Track View on page 3827 ➤ Controllers toolbar on page 3917 ➤ Controller) (Assign Track View on page 3827 ➤ Highlight a controller track in the Controller window. ➤ Controller menu ➤ Assign Motion panel ➤ Assign Controller rollout ➤ Highlight a track in the list. ➤ (Assign Controller) Keyboard ➤ C Use Assign Controller to assign animation controllers to any animatable parameter or track in Track View. Animation controllers and constraints provide powerful tools for animating all the objects and materials in a scene. For example, rather than keyframing the position of an object in your scene, the object can follow a spline using the Path constraint, react to any animated parameter using a Reaction controller, or move to the beat of music using the Audio controller. You can combine controllers with a List Controller. You can drive a single vertex or control point on a complex object by a variety of controllers. You can also assign controllers using the right-click menu in the Track View Controller window. Or you can assign controllers on the Motion panel, with Schematic View, and from the Animation menu. To view lists of available controllers and constraints, see Animation Controllers on page 3454 and Animation Constraints on page 3607. Constraints and Controllers Technically, there is no difference between a controller and a constraint. A constraint is simply a controller that requires the use of a second object. For example, a Path constraint is a controller that requires a spline object for a path. 3930 | Chapter 13 Animation Special-Case Controllers Special-case controllers are not assigned manually with the Assign Controller command. They are applied automatically during certain procedures. Barycentric Morph Controller is applied by selecting an object and clicking Command panel ➤ Geometry ➤ Compound Objects ➤ Morph. A Master Point Controller is assigned when animating vertices, control points, or vectors in the sub-object mode of an Editable Mesh, Editable Spline, Editable Patch, NURBS surface, or FFD modifier. Slave Controllers can be assigned manually, but is also automatically applied to selected tracks when a Block controller is created in Track View Global Tracks. A Slave controller transfers key data to a Block controller. Slave controllers are described in the Block controller topic. Procedures To assign an animation controller in Track View: 1 In the Track View Hierarchy, select one or more parameter items of the same type. 2 From the Controller menu, choose Assign. 3 Choose a controller type from the Assign Controller dialog. If a parameter has already been animated, then assigning a new controller has one of the following effects: ■ The existing animation values are recalculated to produce a similar animation with the new controller. For example, replacing Position XYZ with Bezier Position closely preserves the animation. ■ The existing animation values are discarded. For example, replacing Smooth Rotation with Noise Rotation discards the Smooth Rotation animation values. Managing Controllers | 3931 Interface Assign Controller Choose a controller type from the Assign ... Controller dialog. Depending on the type of track currently highlighted, the dialog lists a subset of the different types of controllers. Delete Controller Track View on page 3827 ➤ Controllers toolbar on page 3917 ➤ Controller) (Delete Track View on page 3827 ➤ Highlight a controller track in the Controller window. ➤ Controller menu ➤ Delete Controller Some node subcontrollers can be deleted. Visibility tracks, Image Motion Blur Multiplier, Object Motion Blur, and On/Off are examples of controllers that can be deleted. Most controllers, however, are not deletable. You can also delete a Visibility track by using Tracks ➤ Visibility Tracks ➤ Remove. 3932 | Chapter 13 Animation Procedures To delete a deletable controller: 1 In the Controller window, select a deletable controller. 2 On the Track View Controllers menu, choose Delete Controller. The controller is deleted. NOTE Most controllers cannot be deleted, only replaced. The Delete Controller menu item is available only if the controller track selected is an applicable type. Ignore Animation Range Track View on page 3827 ➤ Select a controller track ➤ Controller menu ➤ Ignore Animation Range Ignore Animation Range allows a parametric, non-keyable controller track to be active throughout the entire length of the animation, independent of the track's current animation range. Choosing this option changes the track's background color to purple. This setting is active by default on all new controller tracks (turn off the Override Parametric Controller Range By Default option in the Animation Preferences on page 8933 to change it). However, controller tracks from older scenes are set to Respect Animation Range on page 3934 to maintain their original behavior. Procedures Example: To set a controller track to ignore the animation range: 1 Create a sphere. 2 On the Motion Panel ➤ Assign Controller rollout, highlight the sphere's Position track. 3 Click (Assign Controller), and then choose Noise Position from the Assign Controller dialog. Managing Controllers | 3933 4 3ds Max opens the Noise Controller dialog. Keep the current settings and close the dialog. 5 Select the sphere, and then right-click it. From the quad menu, choose Dope Sheet. 6 Expand the hierarchy items in the Controller window until you find the sphere's Position track. 7 Drag the track's range bar until it starts at frame 10. 8 Play the animation. Because Ignore Animation Range is on by default, the sphere moves randomly even before entering the track's animation range. Respect Animation Range Track View on page 3827 ➤ Select a Controller track ➤ Controller menu ➤ Respect Animation Range Respect Animation Range constrains a parametric, non-keyable controller track to be active only within the track's current animation range. Choosing this option changes the track's background color to gray. NOTE While Ignore Animation Range on page 3933 is the default setting (turn off the Override Parametric Controller Range By Default option in the Animation Preferences on page 8933 to change it), controller tracks from older scenes are set to this setting to maintain their original behavior. Procedures Example: To set a controller track to respect the animation range: 1 Create a sphere. 3934 | Chapter 13 Animation 2 On the Motion Panel ➤ Assign Controller rollout, highlight the sphere's Position track. 3 Click (Assign Controller), and then choose Noise Position from the Assign Controller dialog. 4 3ds Max opens the Noise Controller dialog. Keep the current settings and close the dialog. 5 Select the sphere, and then right-click it. From the quad menu, choose Dope Sheet. 6 Expand the hierarchy items in the Controller window until you find the sphere's Position track. 7 On the Controllers menu, choose Respect Animation Range. The background color of the track changes to gray. 8 Drag the track's range bar so it starts at frame 10. 9 Play the animation. Because Respect Animation Range is on, the sphere starts moving only when it is within the track's animation range. Make Controller Unique Track View on page 3827 ➤ Controllers toolbar on page 3917 ➤ Controller Unique) (Make Track View on page 3827 ➤ Highlight a controller track in the Controller window. ➤ Controller menu ➤ Make Controller Unique Managing Controllers | 3935 Make Controller Unique converts an instanced clone of a controller to a copy that's unique to the current object. Objects and modifiers can also be made unique. The result depends on whether or not the data flow branches at the selected container: ■ If the data flow does not branch anywhere below the selected container, nothing happens. ■ If the data flow does branch at or below the selected container, the data flow above the branch is split from the current data flow as a unique object. The data flow from the selected container to the master object is copied and attached to the new unique object. All the Controller tools can also be found on the Controllers: Track View toolbar which is hidden by default. Right-click any blank area of the Track View toolbar, then choose Show Toolbars ➤ Controllers: Track View to display the buttons for Assign, Copy, Paste. Delete Controller and Make Controller Unique. Procedures To convert an instanced controller to a unique one: 1 Select an instanced controller. 2 On the Controllers menu, choose Make Unique, or press U on the keyboard. TIP If you have instanced modifiers you can make them unique by choosing the modifier in the Modifier Stack, right-clicking and choosing Make Unique. Note Tracks Note tracks let you annotate keys with information such as what the key is doing or how you plan to edit it. Add Note Track Track View on page 3827 ➤ Tracks menu ➤ Note Tracks ➤ Add 3936 | Chapter 13 Animation Track View on page 3827 ➤ Tools toolbar on page 3918 ➤ Track) (Add Note With Add Note Track, you can insert a note track below a highlighted track in the Track View Hierarchy. You can make note keys and associated notes at specific time locations to keep track of what keys do. Do this by adding keys in Dope Sheet ➤ Add Keys mode, then right-click a note key to see the Notes dialog. The information you enter will appear in the Key window under the keys. Any item in the Hierarchy list can have a note track added as a branch below it. You can add a note track to an item in any of the Track View modes. Note track for animation of door opening Once you have created a note track for an item, use Add Keys to insert note keys. Use the Notes dialog to edit the notes. You can have toolbar access to the Note Tracks by unhiding the Tools: Track View toolbar. Procedures To add a note track: 1 On the Track View Dope Sheet toolbar, click (Edit Keys). 2 Highlight one or more item labels in the Hierarchy list. 3 From the Tracks menu, choose Note Tracks ➤ Add. A note track is inserted as a branch directly below each highlighted item. To add a note key to a note track: 1 Select the Note track (in Dope Sheet Edit Keys mode). Note Tracks | 3937 2 Click (Add Keys). 3 Click a note track in the Key Window to place a note at that particular frame. To edit notes: 1 Right-click a note key to display the Notes dialog. 2 Click inside the edit box, and then start typing. The first line of your note appears as a label to the right of the note key. Type a one- or two-word description as the first line of your note. Close the dialog using the X button at the top right corner to enter the body of the note. Interface Add Note Track Inserts a note track directly below the highlighted items in the Hierarchy list. This is available from the Tracks menu or from the Tools: Track View toolbar. Notes dialog Adds or edits notes on the animation in Track View. The first line of your note appears as a label to the right of the note key. You should type a short oneor two-word description as the first line of your note. Press Enter to start the body of the note. Press Enter or click within the text field to start the body of the note. Close the Notes dialog by clicking the X button at the top-right corner of the dialog. 3938 | Chapter 13 Animation Note Number Indicates which note key you are working with. Click the left arrow to move back to the previous note or the right arrow to move forward to the next note. Time Sets the time position for the note key. Change the value to move the note to a new time. Lock Key Locks the key to the Time field. When set, the key ignores all operations performed with Move, Slide, and Scale. The only way to change the key's time is to use the Time field in the Notes dialog. Remove Note Track Track View on page 3827 ➤ Highlight a note track. ➤ Tracks menu ➤ Note Tracks ➤ Remove Track View on page 3827 ➤ Highlight a note track. ➤ Tools toolbar on page 3918 ➤ (Delete Note Track) Use Remove Note Track to delete a note track and its associated keys. You can have toolbar access to Remove Note Track by unhiding the Tools: Track View toolbar. This toolbar is available only in the Curve Editor, however. The tooltip is labeled Delete Note Track. Note Tracks | 3939 Procedures To delete a note track from items: 1 Highlight one or more note tracks in the Hierarchy list. 2 From the Tracks menu, choose Note Track ➤ Remove. Editing Keys Topics in this section relate to editing animation keys in Track View. Edit Keys Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Keys Toolbar ➤ (Edit Keys) Edit Keys displays your animation as a series of keys as boxes on a grid in the Key window. Dope Sheet Editor turns on Edit Keys by default. Edit Keys is useful for getting a global view of your animation because it displays animation timing for all tracks. Use this mode for key and range editing when you want to view your changes in the context of the total animation. Use Edit Keys mode to: ■ Select and change one or more keys ■ Drag range bars to change all animation in multiple tracks Procedures To turn on Edit Keys mode, do one of the following: 1 If you are in Curve Editor, choose Modes ➤ Dope Sheet. 2 If you are in Dope Sheet ➤ Ranges, then on the Keys toolbar, click (Edit Keys). 3940 | Chapter 13 Animation To delete keys in Edit Keys mode: 1 Highlight the keys in the Key window. 2 Press Delete to delete the selected keys. Snap Frames Track View on page 3827 ➤ Curve editor on page 3986 ➤ Curves toolbar ➤ (Snap Frames) Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Display toolbar ➤ (Snap Frames) Track View on page 3827 ➤ Tools toolbar on page 3918 ➤ (Snap Frames) Track View on page 3827 ➤ Keys menu ➤ Snap Frames With Snap Frames, all key and range bar positions that are changed are forced to absolute frame increments. This includes selection sets of multiple keys. When Snap Frames is on, each key in a selection set will snap to the nearest frame when the selection is moved or scaled. Default=on. When you use the Time Display format MM:SS:Ticks, which doesn't use frames, Snap Frames snaps to time values that match frame boundaries. In Dope Sheet ➤ Edit Keys mode, keys are displayed as a box grid. Keys that are snapped to frames are displayed as filled boxes. Keys that have been moved with snap frames off are displayed as narrow rectangles within the grid. When using the Curve Editor, a similar display is available in the track bar. Subframe keys moved with snap frame off Editing Keys | 3941 WARNING Don't turn off Snap Frames unless you have a reason to, such as the need for more precise animation timing. If you do turn off Snap Frames and move keys in Curve Editor you will create sub-frame keys, but they won't be noticeably different in Curve Editor. In some cases, sub-frame keys can lead to animation “popping,” or overly fast changes due to keys being too close together. Procedures To use Snap Frames: Snap Frames is on by default, so the following procedure only applies if you have turned off snap frames previously. 1 On the Track View Dope Sheet toolbar, click (Edit Keys). NOTE This isn't an absolute necessity, but it makes it easier to see the snapping action. You can also view the snapping in the track bar in either Dope Sheet or Curve Editor mode. 2 On the Track View toolbar, turn on (Snap Frames). 3 In the Track View Key window, select one or more keys. 4 Use (Move Keys) or Scale Keys to move the keys. With Snap Frames on, each key in a selection set snaps to the nearest frame when the selection is moved or scaled. Lock Selection Track View on page 3827 ➤ Curve editor on page 3986 ➤ Curves toolbar ➤ (Lock Selection) 3942 | Chapter 13 Animation Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Display toolbar ➤ (Lock Selection) Track View on page 3827 ➤ Tools toolbar on page 3918 ➤ (Lock Selection) Keyboard ➤ Spacebar Lock Selection toggles selection locking on and off. When a selection is locked you can't inadvertently deselect or select anything else. When a selection is locked you don't have to click it to move the keys, you can click anywhere in the window to more or scale the keys. NOTE To use the Spacebar keyboard shortcut, the Keyboard Shortcut Override Toggle on page 9008 must be on. Procedures To use Lock Selection in Track View: 1 In either Dope Sheet or Curve Editor Key window, highlight one or more keys. 2 On the Track View toolbar, turn on (Lock Selection), and then click and drag inside the Track View Key window. All the selected keys move regardless of where inside the Track View Key window you click and drag. Align to Cursor Track View on page 3827 ➤ In the Key window, select keys to align to the current frame. ➤ Keys menu ➤ Align to Cursor Use Align to Cursor to move selected keys to the current time. Select the keys to align using Move, Slide, or Scale. Align to Cursor is useful for taking a group of scattered keys and moving them to the same time location. Align to Cursor is available in Dope Sheet and Curve Editor modes. Editing Keys | 3943 Align Keys to Cursor ignores the state of Snap Frames, and always uses the exact time set by the time slider. Procedures To move all selected keys to the current frame: 1 Open either Curve Editor or Dope Sheet - Edit Keys mode. 2 Drag the time slider to the time where you want the keys aligned. 3 Highlight one or more keys using or (Move Keys), (Slide Keys), (Scale Keys). 4 From the Keys menu, choose Align To Cursor. The leftmost selected key in each track is moved to the current time. Multiple selected keys on the same track maintain their relative distance from the leftmost key. Add Visibility Track Right-click an object in the viewport. ➤ Choose Curve Editor or Dope Sheet. ➤ Track View on page 3827 ➤ Tracks menu ➤ Visibility Track ➤ Add Track View on page 3827 ➤ In the Controller window, select the object whose visibility you want to key. ➤ Tracks menu ➤ Visibility Track ➤ Add Track View on page 3827 ➤ In the Controller window, select the object whose visibility you want to key. ➤ Tools toolbar on page 3918 ➤ Visibility Track) (Add Add Visibility Track controls when you can see an object. Visibility tracks can only be added to objects. You can create a visibility track by either animating the Visibility parameter in the Object Properties dialog or by selecting an object in the Track View 3944 | Chapter 13 Animation Hierarchy and clicking Tracks menu ➤ Visibility Tracks ➤ Add. In both cases a visibility track, using a Bezier float controller, is created in Track View. The visibility track displays as a child of the object in the Track View Hierarchy. NOTE In the Object Properties dialog, Rendering Control must be set to By Object in order to keyframe the Visibility using the spinner. NOTE Right-click over an object in the viewports and select Properties to display the Object Properties dialog. WARNING An object without mapping coordinates that is invisible at frame 0 will not ask for UVW Map coordinates at render time. The warning will display at the frame that the object becomes visible. This can stop a render midway, so make sure invisible objects at the beginning of your animation have mapping coordinates if necessary. On and Off Visibility When you first assign a visibility track to an object, a Bezier float controller is automatically assigned; this allows gradual visibility. You can make an object appear or disappear suddenly by changing the interpolation of the visibility keys to Step tangency. Variable opacity is supported in the shaded viewports. For ease of use, the object never completely disappears from the viewports. Visibility Inheritance An object can inherit the visibility of its parent (as determined by the parent's Visibility track in the Track View). Use the Object Properties ➤ Inherit Visibility check box to specify the visibility inheritance of an object. Groups and Visibility All members of a Group inherit the visibility of the parent when a visibility controller is assigned to the parent. Transparent materials and hidden objects have no effect on this function. Level of Detail Utility and Visibility The Level of Detail utility on page 2787 lets you construct an object that alters its geometric complexity or level of detail based on its size in the rendered image. You create several versions of the same object each with different levels of detail; you group them as one, and then assign the Level of Detail utility. This automatically creates a special LOD controller as a Visibility track. Editing Keys | 3945 Procedures To add a visibility track to objects: 1 In Track View Curve Editor or Dope Sheet Edit Keys mode, highlight the object you want to affect in the Hierarchy list on the controller window. 2 From the Track View ➤ Tracks menu, choose Visibility Tracks ➤ Add. 3 Select the keys, then use Controller ➤ Properties to adjust the key values and interpolation. A value of 0 creates an invisible object, a value of 1.0 creates a fully visible object. Change the interpolation to step for sudden visibility, rather than gradual fades. A visibility track appears below the selected object(s). Add and edit keys in the visibility track to control the object's visibility. To add visibility keys: 1 Once you have a visibility track assigned to the object, highlight the track. 2 On the toolbar, click (Add Keys). 3 On the Track View Key window, click in a visibility track to add a key at that time location. Example: To create and animate a visibility track using the Object Properties dialog: 1 Create a box. 2 Turn on (Auto Key). 3 Drag the time slider to frame 10. This is the frame at which you'll set the box to disappear. 4 Right-click the box and choose Properties from the shortcut menu. 5 In the General tab, set Visibility to 0, and then click OK. This creates a visibility track in Track View and adds a key with a value of 0 to the track. 3946 | Chapter 13 Animation 6 Scrub the time slider. The box fades. Move Keys (Dope Sheet) Track View on page 3827 ➤ Keys Toolbar ➤ (Move Keys) Move Keys lets you reposition keys horizontally, within their own tracks, thus changing the times at which they take effect. If no keys are highlighted, you can move any key by dragging it. If multiple keys are highlighted, you can move them all the same distance by dragging one of them. This button is a flyout. You can choose Move Keys Horizontal or Move Keys Vertical, but in the Dope Sheet, all three buttons have the same effect. You can clone highlighted keys by moving them while holding down the Shift key. NOTE You can use any button on the Move Keys flyout to move keys in Dope Sheet mode, but you can move keys horizontally only. Procedures To move a selection of keys: 1 On the Keys Toolbar, click (Move Keys) if it isn't already highlighted. (It should be on by default.) 2 Highlight the keys you want to move in the Key window by dragging a selection rectangle around the keys. You can also use Ctrl+click to highlight non-contiguous keys. 3 Position the mouse cursor over one of the highlighted keys, and then drag horizontally to move the keys in time. TIP Press Spacebar to lock the key selection. Then you don't have to drag over the selected key, but anywhere in the viewport. This is useful when you have a complex selection set of keys. Editing Keys | 3947 Slide Keys Track View on page 3827 ➤ Highlight keys in the Key window. ➤ Keys Toolbar ➤ (Slide Keys) Use Slide Keys to move a group of keys (the highlighted keys plus all the keys to one end of the animation). The direction that you drag determines which group of keys moves: ■ Dragging to the right moves the highlighted keys, plus all keys to the last key of the animation, forward in time. ■ Dragging to the left moves the highlighted keys, plus all keys to the first key of the animation, backward in time. Slide Keys is a way to split the animation at the highlighted keys and spread the ends apart. Slide Keys is available in Edit Keys mode. You can clone keys and insert them elsewhere in your animation curve while offsetting existing keys by the length of time occupied by the cloned keys by dragging while holding down Shift. Based on the length of your selection, the existing keys to the right of the selection move forward in time (that is, to the right) to allow the new key insertion, whether you drag to the right or the left. Procedures To slide a selection of keys: 1 On the Track View toolbar, click 2 Highlight one or more keys. 3 Drag to slide the keys to the right. 3948 | Chapter 13 Animation (Slide Keys). The keys following your selection move to account for the offset produced by sliding the keys. 4 Highlight another group of keys. 5 Hold Shift while dragging to slide the keys to the right. The keys following your selection move to the right by the length of time occupied by the cloned keys. Scale Keys - Time Track View on page 3827 ➤ Keys Toolbar ➤ (Scale Keys) Track View on page 3827 ➤ Keys menu ➤ Scale Keys - Time Scale Keys - Time moves all selected keys proportionally toward or away from the current frame. Use the Scale Keys button in either mode to change the location and amount of time covered by one or more selected keys. Editing Keys | 3949 The scale center is defined by the current time set by the time slider. You can scale keys about any moment in time by dragging the time slider before you use Scale Keys. Procedures To use Scale Keys: 1 Select an animated object, then right-click and choose Curve Editor. The following steps work in either Curve Editor or Dope Sheet modes. 2 Drag the time slider to the time you want to use as the scale center. 3 Click (Scale Keys) or from the Keys menu choose Scale Keys - Time. 4 Highlight one or more keys. 5 Drag to scale the selected keys or press and hold Shift and drag to add scaled copies of the selected keys. Drag away from or toward the current time line for the following results: ■ Dragging away expands the keys from the current time. Expanding the selection increases time between the selected keys and slows that part of the animation. ■ Dragging toward shrinks the keys toward the current time. Shrinking the selection reduces time between the selected keys and accelerates that part of the animation. ■ Dragging through the current time reverses the keys and expands the keys away from the current time. TIP You can type-in the Scale Value using the first field in the Key Stats: Track View toolbar. The scale percentage is displayed in the Show Selected Key Stats field as you drag the selection. 3950 | Chapter 13 Animation Add Keys (Dope Sheet) Track View on page 3827 ➤ Keys Toolbar ➤ (Add Keys) Track View on page 3827 ➤ Keys menu ➤ Add Keys Add Keys inserts a key on page 9200 at the point where you click a curve or a track. Add Keys is a mode that remains active until you activate another mode. While Add Keys is on, you click in any animation track to add a key at that location in time. Procedures To add keys in Track View: 1 On the Track View toolbar, click (Add Keys). 2 Click an animation track to add a key. The location where you click sets the time of the key as measured on the time ruler. The value of the new key is set by one of the following conditions: ■ Keys added before the first key of a track receive the same value as the former first key. ■ Keys added between two keys receive an interpolated value based on the values of the original keys. ■ Keys added after the last key in the track receive the same value as the former last key. If you are unable to add keys to a track, check the following conditions: ■ Only animated tracks can accept keys. If you want to add a key to a track, such as an object parameter, you need to animate it first. ■ The animation controller must be a type that uses keys. Not all controllers use keys. Examples of controllers that do not use keys include procedural controllers such as Noise. Editing Keys | 3951 ■ The animation controller must be a type that uses keys. Not all controllers use keys. Examples of controllers that do not use keys include Expression controllers, List controllers, and Parametric controllers. Properties (Track View Key Window) Track View on page 3827 ➤ Highlight a single track that uses Properties. ➤ Right-click the track. ➤ Choose Properties on the Controllers pop-up quad menu. Track View on page 3827 ➤ Highlight a single track that uses Properties. ➤ Controller menu ➤ Properties Track View on page 3827 ➤ Highlight a single track or select a key in the Key window. ➤ Tools toolbar on page 3918 ➤ (Properties) Properties displays a dialog to change animation values. The type of dialog displayed depends on the type of animation controller the selected track is using. The Properties function is unavailable if the selected track controller does not use properties, or the track selection set is incorrect. ■ A track with animation keys display a Key Info dialog on page 3447. You can change the values in the Key Info fields to change the animation value, time, and interpolation methods of one or more selected keys. ■ A track with a parametric controller, such as Noise on page 3550, displays a Properties dialog. You change the values in the Properties dialog to modify the behavior of the controller over its entire range. Access the Properties dialog through the controllers quad of the right-click menu, or on the Controller menu ➤ Properties. The same dialog is also accessible through the Motion panel. You can also display the Key Info dialog by right-clicking a key in the Key window. Parametric controller dialogs can also be displayed by right-clicking their range bars. The Properties button is unavailable in ambiguous cases, for example, when a key and a Parametric controller item are both selected. 3952 | Chapter 13 Animation Procedures To display properties for a controller, do one of the following: 1 Highlight the track and then choose Controller menu ➤ Properties. 2 Right-click the track, and then on the Controllers quad choose Properties. To display the Key Info dialog for a key: 1 Right-click the key in the Curve Editor Key Window. 3ds Max opens the Key Info dialog. 2 Change key properties in the dialog. Track View Utilities Track View on page 3827 ➤ Utilities menu ➤ Track View Utilities Track View on page 3827 ➤ Tools toolbar ➤ (Track View Utilities) Track View Utilities displays a dialog listing plug-in Track View utilities. A typical Track View utility displays a modeless dialog (though utilities can be modal) and provides functions that can be applied across multiple selected keys and tracks. You can launch more than one utility by choosing Track View Utilities again. Available Utilities ■ Randomize Keys on page 3955: Applies random offset values to Time or Value of selected keys or selected time. ■ Create Out of Range Keys on page 3957: Creates keys in the out-of-range time of a track, when the Out of Range type is something other than Constant. Thus, it converts the specified out-of-range area to a keyed area that you can edit and adjust. Select one or more tracks, set the parameters of the utility, and click Apply. In Function Curve display mode, you must select the curve as well as the track. ■ Select Keys by Time on page 3959: Selects keys within a specified start and end range of time. Lets you select a large range of time when using the Track View Utilities | 3953 mouse might be awkward--for example, if keys are not visible in the Track View Key window. ■ Euler Filter on page 3960: Displays a dialog with controls to remove gimbal flipping from animated tracks using Euler rotation. ■ Soft Selection Settings Manager on page 3961: Displays a dialog with controls to adjust the range and falloff of the soft selection of keys in the Dope Sheet and Curve Editor. ■ Current Value Editor on page 3962: Provides transform type-in capability from within the Track View modes. Allows you to choose between absolute and relative value editing. The name of the controller appears above the axis choices. This utility launches a floating Current Value window that works for either Dope Sheet — Edit keys mode or Curve Editor. It doesn't work for Edit Ranges. Procedures To select a Track View utility: 1 Open the Curve Editor, and then from the Utilities menu, choose Track View Utilities. 2 In the Track View Utilities dialog, choose from the available utilities, and click OK. 3954 | Chapter 13 Animation Interface The dialog displays a list of the available utilities. Click to highlight the name of the utility you want to use, and then click OK; or simply double-click the name of the utility. Randomize Keys Utility Track View on page 3827 ➤ Utilities menu ➤ Track View Utilities ➤ Track View Utilities dialog ➤ Randomize Keys Randomize Keys applies random offset values to the times and/or values of selected keys. Procedures To use Randomize Keys: 1 Highlight one or more keys, or a block of time, in one or more tracks. In Dope Sheet ➤ Edit Keys mode, all selected keys are affected. In Edit Ranges mode, the keys in the selected tracks that are within the selected range of time are affected. In Curve Editor mode, the selected keys on selected curves are affected. Track View Utilities | 3955 2 From the Utilities menu, choose Track View Utilities, and then choose Randomize Keys. The Randomize Keys utility is displayed. 3 By default, both Randomize Time and Randomize Value are on. Turn off either if you wish. 4 Set the +/- spinners to specify the desired range of randomized offset. 5 Click Apply. Interface Randomize Time Randomly shifts values in time, based on the spinner settings. For example, if the + spinner is set to 20, and the - spinner is set to 10, the values could shift up as much as 20, and down as much as 10. + The amount of random shift in a positive direction. - The amount of random shift in a negative direction. Randomize Value Randomly shifts values, based on the spinner settings. + The amount of random shift in a positive direction. - The amount of random shift in a negative direction. Randomize group box You can apply randomization either with selected keys or with selected time. When applying to selected keys, this displays the message: "All selected keys." However, when you select a block of time in Edit Time mode on page 3963, this message is displayed: "Keys in selected tracks that are in the range: n to n." 3956 | Chapter 13 Animation Apply Applies the specified random offset values to the selection. You can click this repeatedly for more randomization. Create Out of Range Keys Utility Track View on page 3827 ➤ Utilities menu ➤ Track View Utilities ➤ Track View Utilities dialog ➤ Create Out of Range Keys Create Out of Range Keys creates keys in the out-of-range time of a track when the out of range type is something other than Constant. It converts the specified out-of-range area to a keyed area that you can edit and adjust. This utility works both in Curve Editor and Dope Sheet modes. In Curve Editor mode, you must select the curve as well as the track. Procedures To use Create Out of Range Keys: 1 In the Track View Controller window, select the Position track of an animated object. 2 On the Track View toolbar, click (Parameter Curve Out-of-Range Types) to apply an out-of-range type curve to the selected track. Use any curve type except Constant (the default). 3 Click Utilities menu ➤ Track View Utilities. In the dialog box that appears, choose Create Out Of Range Keys. 4 Set the desired parameters in the Create Out Of Range Keys dialog. 5 Click Apply. 3ds Max creates keys in the out-of-range areas of the position track. The track bar expands to the boundaries of the newly created keys. Track View Utilities | 3957 Interface Time Range group Sets the time after the range for generating keys. For example, if your range of keyed animation is from frame 31 to 54, the out-of-range animation might be from 0 to 30 and from 55 to 100. Before Specifies the number of frames before the range for generating keys. In the previous example, if you set this option to 20, it would generate keys over frames 10 to 30. When you set this option to 0, no keys are generated before the range. After Specifies the number of frames after the range for generating keys. In the first example, if you set this option to 40, it would generate keys over frames 55 to 95. When you set this to option to 0, no keys are generated after the range. _____ Samples Specifies the number of keys to be generated for both the before and after time range, based on the settings in Before and After. In the example above, if Samples is set to 20, 20 new keys would be generated over frames 10 to 30, and another 20 new keys would be generated over frames 55 to 95. Apply Generates the keys. NOTE Keys are generated only for non-constant out-of-range types. If the area before or after the range is the default, Constant type, no keys are generated in that area. 3958 | Chapter 13 Animation Select Keys By Time Utility Track View on page 3827 ➤ Utilities menu ➤ Track View Utilities ➤ Track View Utilities dialog ➤ Select Keys by Time The Select Keys By Time utility lets you select keys within a specified start and end range of time. You can select a large range of time, which might be difficult to select using the mouse in the Track View Key window for example. This utility works in Curve Editor and Dope Sheet Edit Keys modes. Procedures To use Select Keys By Time: 1 In the Controller window, highlight the tracks you want to work with. 2 On the Utilities menu, choose ➤ Track View Utilities, then choose the Select Keys By Time utility from the Track View Utilities dialog. 3 Set a range and click OK. ■ Keys within the range in the highlighted tracks are selected. ■ If you select Clear Previous Selection, all keys are cleared before the keys within the time range are selected. ■ In Dope Sheet, highlight a single track to select all keys in the descendants of the track. Interface Start Time Specifies the start range for selecting keys. End Time Specifies the end range for selecting keys. Track View Utilities | 3959 The Start Time and End Time spinners are activated to match the current time selection. Clear Previous Selection Clears all keys before keys within the specified time range are selected. In Dope Sheet mode, highlight a single track to select all keys in the descendants of the track. Modify Subtree must be on for this to work. Euler Filter Track View on page 3827 ➤ Utilities menu ➤ Track View Utilities ➤ Track View Utilities dialog ➤ Euler Filter This Track View utility corrects for gimbal flipping (anomalous rotation animation) in objects animated using Euler rotation on page 3482 by processing existing animation keys in selected animated tracks. It's particularly useful for cleaning up rotation artifacts when importing raw motion-capture data. This process does not break any keyed orientations. By default, the utility modifies only frames with keys on all three tracks (X, Y, and Z). By turning on Add Keys If Needed, you can perform the correction on frames with X, Y, and Z keys and also add keys at frames that contain only one or two keyed axes but require correction, resulting in X, Y, and Z keys at those frames. The default range for filtering is the current active range for the scene, which automatically appears in the utility. To isolate the operation to a specific subset of the animation, change the Start Time and End Time settings. Any changes made to the utility remain active during the current 3ds Max session. TIP The utility works in Dope Sheet mode, but it's much easier to see what it's doing if you use Curve Editor mode. Procedures To use Euler Filter: 1 Select an object animated with Euler rotation on page 3482. 2 Right-click the object, and from the quad menu choose Curve Editor. Track View opens in Curve Editor mode, with the animated tracks highlighted. 3960 | Chapter 13 Animation 3 Make sure the rotation tracks to be filtered are highlighted in Track View. 4 From the Utilities menu in Track View, choose Track View Utilities. This opens the Track View Utilities dialog. 5 In the list of utilities, click Euler Filter and then click OK, or just double-click Euler Filter. This opens the Filter Selected Euler Tracks dialog. 6 Change the parameters as necessary, and then click OK. The utility adjusts the rotation keys to removed gimbal flipping. Interface Start/End Time The range over which the filtering should occur. Default=current animation range. Add Keys If Needed When on, the utility performs the correction on frames with X, Y, and Z keys and also adds keys at frames that contain only one or two keyed axes but require correction, resulting in X, Y, and Z keys at those frames. OK Performs the filtering using the current settings. Cancel Closes the dialog without performing the filtering. Soft Selection Settings Track View on page 3827 ➤ Utilities menu ➤ Track View Utilities ➤ Track View Utilities dialog ➤ Choose Soft Selection Settings Manager, then click OK. Track View on page 3827 ➤ Tools toolbar on page 3918 ➤ Track View Utilities button ➤ Track View Utilities dialog ➤ Choose Soft Selection Settings Manager, then click OK. Track View Utilities | 3961 Displays a toolbar with controls to adjust the range and falloff of the soft selection of keys in the Dope Sheet and Curve Editor. NOTE When the Soft Selection Settings toolbar first appears, it is docked at the bottom of the Track View window beneath the status bar controls on page 4007. Interface Soft Toggles usage of the soft selection. When this is off, only the selected keys are used, the soft selection is not. Range Determines the range of keys affected by the soft selection. Falloff Determines the distribution of the strength of the soft selection over the range of keys. Current Value Editor Track View on page 3827 ➤ Utilities menu ➤ Track View Utilities ➤ Track View Utilities dialog ➤ Current Value Editor The Current Value Editor gives you a way to use numeric input to affect the values of the keys inside the Track View windows. Absolute and relative value editing let you increment changes, or apply exact values. The name of the controller whose values are being changed appears above the axis choices. This utility opens a dockable Current Value window that works for either Dope Sheet - Edit keys mode or Curve Editor. It doesn't work for Edit Ranges. Procedures To use the Current Value Editor to apply an incremental change: 1 Select the position track of an animated object. 2 Choose Utilities ➤ Track View Utilities ➤ Current Value Editor. 3 Turn on Relative. 3962 | Chapter 13 Animation 4 Change the values for X, Y, or Z. The numbers you enter add a relative increment to the existing values. Interface Absolute Applies world space values to the keys. The numbers you enter are the numbers that are applied. Relative Increments the values relative to their existing value. The numbers you enter are added to the existing value. Controller type Displays the name of the controller about the X, Y, and Z fields. X, Y, Z Use these fields to input numbers for relative or absolute value editing. Edit Time Use the Edit Time tools to work directly with selected blocks of time in the Dope Sheet Editor, as opposed to working with keys and range bars. A block of time is any contiguous time segment, across one or more tracks, and is independent of key locations. Enter Edit Time mode by selecting a time segment in the Dope Sheet Editor. Once a time segment has been selected you can insert, cut, copy, paste, or reverse the time segment, including its keys. The time tools are available from the Time menu and the Time Toolbar. Time tools are unavailable from the Time menu in Edit Ranges mode. Edit Time | 3963 In Edit Time mode, keys and range bars of your animation are there only for reference. You select blocks of time and then apply time-editing functions to your selection. Procedures To edit time: 1 Select the animated object, then right-click and choose Curve Editor. This opens Track View navigated to the animated object. 2 On the Modes menu, choose Dope Sheet. The Key window changes from curves to a key spreadsheet. 3 If Edit Keys isn't highlighted on the Keys Toolbar, click it to turn it on. NOTE The next steps won't work if you have instead of (Edit Ranges) on (Edit Keys). 4 From the Time menu, choose Select Time. 5 Expand and activate the tracks you wish to alter. For example you could select the Z Position transform track of a bouncing Box object. 6 Drag a time segment out in the Key window. A tooltip displays the selected Start and End frame numbers interactively as you drag. This selects the time segment including any keys within it. 7 Perform any of the time tool operations available from the Time Menu or the Time Toolbar. 3964 | Chapter 13 Animation Select Time Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Time toolbar ➤ (Select Time) Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Time menu ➤ Select Time With Select Time you can specify a block of time by dragging in the Key window. When you have selected a block of time, then you can apply any of the following operations to the highlighted block (and any keys contained therein): ■ Delete Time on page 3966 ■ Cut Time on page 3967 ■ Copy Time on page 3967 ■ Paste Time on page 3968 ■ Reverse Time on page 3970 ■ Insert Time on page 3971 ■ Scale Time on page 3972 ■ Exclude Left End Point on page 3973 ■ Exclude Right End Point on page 3974 ■ Reduce Keys on page 3976 Procedures To select time: 1 In Dope Sheet mode, highlight one or more item labels in the Controller window to specify tracks for time editing. Edit Time | 3965 2 On the toolbar, click (Select Time). 3 Drag in the key window to specify time in the selected tracks. A beige bar between two yellow lines appears as you drag across the box grid of the Dope Sheet Key window. If a highlighted track does not support time operations, time selection in that track is ignored. After specifying a time range, you can perform other time- and key- related operations. Delete Time Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Specify a time block. ➤ Time toolbar ➤ (Delete Time) Use Delete Time to delete a selected block of time and any keys inside the selected block. Keys to the right of the deleted time move to the left. NOTE The deleted block is not copied to the clipboard. Procedures To delete a block of time: 1 In Dope Sheet mode, highlight one or more item labels in the Controller window to specify tracks for time editing. 2 Use 3 Click (Select Time on page 3965) to specify a block of time. (Delete Time). 3ds Max deletes keys in the specified time block. Any keys to the right of the block move leftward. 3966 | Chapter 13 Animation Cut Time Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Specify a time block. ➤ Time toolbar ➤ (Cut Time) Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Specify a time block. ➤ Time menu ➤ Cut Use Cut Time to delete a block of time from one or more tracks and place it in the clipboard. Before you can paste time in a track, you must have time in the clipboard. After specifying a block of time, place it in the clipboard with Cut Time or Copy Time on page 3967. Procedures To cut time from tracks: 1 In Dope Sheet mode, highlight one or more item labels in the Controller window to specify tracks for time editing. 2 Use (Select Time on page 3965) to specify a block of time. 3 Click (Cut Time), or, from the Time menu, choose Cut Time. The block of time is deleted from the selected tracks and stored in the time clipboard. Keys to the right of the deleted time move left. Copy Time Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Specify a time block. ➤ Time toolbar ➤ (Copy Time) Edit Time | 3967 Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Specify a time block. ➤ Time menu ➤ Copy Use Copy Time to copy a block of time from one or more tracks to the clipboard, after which you can paste it to other tracks. You can use the clipboard to copy time, with keys, to different places in the same track or from one track to another. For example, you can copy position keys from one object to another. Procedures To copy time from tracks: 1 In Dope Sheet mode, highlight one or more item labels in the Controller window to specify tracks for time editing. 2 Use (Select Time on page 3965) to specify a block of time. 3 Click (Copy Time), or choose Time menu ➤ Copy. The block of time is copied to the time clipboard. The original block remains unchanged. Paste Time Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Specify a time block. ➤ Cut or Copy Time ➤ Specify a different time block. ➤ Time toolbar ➤ (Paste Time) Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Specify a time block. ➤ Cut or Copy Time ➤ Specify a different time block. ➤ Time menu ➤ Paste Use Paste Time to paste a block of time from the clipboard into one or more tracks. 3968 | Chapter 13 Animation The conditions for pasting time into a track are: ■ If the block of time on the clipboard is from a single track, you can paste it into any track using the same type of controller. ■ If the block of time on the clipboard is from multiple tracks, you can paste it into a selection of multiple tracks as long as the controllers for the selected tracks include valid track types. For example, position tracks in the clipboard are pasted to position tracks in the selection. If the above conditions are not met, the Paste Time function has no effect. Time editing is available only in Dope Sheet mode; it is not available in the Function Curve Editor. In Edit Time mode, you can copy and paste controller tracks that have no animation keys. When a track has no key, its value at frame 0 is used. You must select a block of time before cutting or pasting; otherwise the time is ignored. Relative and Absolute Pasting The values of all the pasted keys are adjusted so that the first pasted key has a value equal to the value at the time of the insertion point. For example, the value of the controller at frame 50 is 10. The clipboard holds three keys spanning 50 frames with values 20, 30, and 40. When you paste the three keys at frame 50, the first key has a value of 20, but the insertion point has a value of 10. 3ds Max subtracts 10 from the pasted key to maintain the value at the insertion point. 3ds Max then subtracts 10 from the remaining pasted keys, resulting in three pasted keys valued at 10, 20, and 30. In addition, any keys after the insertion range are also adjusted by the net change over the range being pasted. The net change is the value of the last key pasted minus the value of the first key pasted. In this case 40-20=20. Every key after the insertion point is increased by 20. Procedures To paste time into tracks: 1 In Dope Sheet mode, after using Cut Time on page 3967 or Copy Time on page 3967, highlight one or more item labels in the Controller window to specify tracks for pasting. Edit Time | 3969 2 Use (Select Time on page 3965) to specify a block of time. 3 On the Time: Track View toolbar, click (Paste Time). 3ds Max opens the Paste Track dialog. 4 In the Paste Track dialog, choose Paste Absolute or Paste Relative, and then click OK. Interface Options on the Paste Track dialog are as follows: Paste Absolute Replaces the current animation values with the values in the clipboard. Use this method when you want to replace one animated effect with another. Paste Relative Adds the animation values in the clipboard to the current animation values. Use this method when you want to layer animation onto an existing effect. Reverse Time Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Specify a time block. ➤ Time toolbar ➤ (Reverse Time) Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Specify a time block. ➤ Time menu ➤ Reverse 3970 | Chapter 13 Animation Reverse Time flips the order of keys within the selected time. You can reverse time by scaling a selection past its left edge, but this also changes the position of the selection and the remaining keys around it. Use Reverse Time to reverse keys within a designated block of time. Procedures To reverse time: 1 In Dope Sheet mode, highlight one or more item labels in the Controller window to specify tracks for time editing. 2 Use 3 Click (Select Time on page 3965) to specify a block of time. (Reverse Time), or choose Time menu ➤ Reverse. The position of the selected block of time does not change, but 3ds Max reverses the order of keys within the block. Insert Time Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Time toolbar ➤ (Insert Time) Use Insert Time to interpose time into highlighted tracks. Inserting time adds time at a selected point in your animation, making existing keys slide out of the way. Procedures To insert time into tracks 1 In Dope Sheet mode, highlight one or more item labels in the Controller window to specify tracks for time editing. 2 On the Dope Sheet toolbar, click (Insert Time). Edit Time | 3971 3 Drag in the Key window to insert time into the tracks. TIP To insert time globally, highlight the World track, turn on the Modify Child Keys button, then insert time into the World track. Scale Time Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Time toolbar ➤ (Scale Time) Scale Time scales a block of time. You can scale down to fit into less time, or expand it to fill more time. Scale Time doesn't use the Track View time slider as the scale origin reference; it always scales from the first frame of the key selection. Procedures To scale time: 1 In the Dope Sheet Editor, on the Time Toolbar, click (Scale Time). 2 In the controller window, click item labels to highlight tracks for time editing. 3 Drag out a time block in the Key window, or use an existing block. 4 Move your cursor over the active time block in the Key window. The cursor changes to show you when you can scale. 5 Do one of the following: ■ Drag to the right within the selection to expand time from the left edge of the selection. All keys to the right of the selection slide right as the selection expands. ■ Drag to the left within the selection to reduce time towards the left edge of the selection. All keys to the right of the selection slide left as the selection shrinks. 3972 | Chapter 13 Animation ■ Drag past the left edge of the selection to reverse time and expand it with a negative scale factor. Keys inside the selection, and keys to the right of the selection, can overlap keys to the left of the selection. Exclude Left End Point Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Extras toolbar ➤ (Exclude Left End Point) Use Exclude Left End Point to exclude the beginning key in a selected block of time. If you paste the same block of time repeatedly, one block following the other, you can create a looping segment in your animation. To create a smooth looping animation, you need to exclude either the first or last key of the copied block to prevent keys from doubling up at the ends. The key to be excluded must be at the exact start time of the copied block of time. NOTE By default, the Extras: Dope Sheet toolbar doesn't appear in the Dope Sheet Editor. You'll find a method for displaying it in the following procedure. Procedures To animate a loop by copying and pasting keys: 1 In Dope Sheet mode, highlight one or more item labels in the Controller window to specify tracks for time editing. 2 Use (Select Time on page 3965) to specify a block of time. At least one track in the block should start with a keyframe. Also, for a smooth loop, the first and last frame of the selection should be the same. 3 Right-click an empty section of the toolbar area and choose Show Toolbars ➤ Extras: Dope Sheet. The Exclude Left End Point and Exclude Right End Point buttons appear. Edit Time | 3973 4 On the Track View toolbar, click (Exclude Left End Point). 5 On the Track View toolbar, click (Copy Time). The selection is copied to the clipboard, minus the first frame. 6 Click to define an insertion point in the key window. The last position key should be your insert point. 7 Click (Paste Time). 3ds Max opens the Paste Time dialog. 8 In the dialog, choose Paste Absolute or Paste Relative. For an animated loop choose Paste Absolute, then click OK. 3ds Max pastes the time, including keys. 9 Play your animation to observe the effect. Exclude Right End Point Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Extras toolbar ➤ (Exclude Right End Point) If you paste the same block of time repeatedly, one block following the other, you can create a looping segment in your animation. To create a smooth looping animation, you need to exclude either the first or last key of the copied block to prevent keys from doubling up at the ends. The key to be excluded must be at the exact end time of the copied block of time. NOTE By default, the Extras: Dope Sheet toolbar doesn't appear in the Dope Sheet Editor. You'll find a method for displaying it in the following procedure. 3974 | Chapter 13 Animation Procedures To animate a loop by copying and pasting keys: 1 In Dope Sheet mode, highlight one or more item labels in the Controller window to specify tracks for time editing. 2 Use (Select Time on page 3965) to specify a block of time. At least one track in the block should end with a keyframe. Also, for a smooth loop, the first and last frame of the selection should be the same. 3 Right-click an empty section of the toolbar area and choose Show Toolbars ➤ Extras: Dope Sheet. The Exclude Left End Point and Exclude Right End Point buttons appear. 4 On the Track View toolbar, click (Exclude Right End Point). 5 On the Track View toolbar, click (Copy Time). The selection is copied to the clipboard, minus the first frame. 6 Click to define an insertion point in the key window. The last position key should be your insert point. 7 Click (Paste Time). 3ds Max opens the Paste Time dialog. 8 In the dialog, choose Paste Absolute or Paste Relative. For an animated loop choose Paste Absolute, then click OK. 3ds Max pastes the time, including keys. 9 Play your animation to observe the effect. Edit Time | 3975 Reduce Keys Track View on page 3827 ➤ Curve Editor on page 3986 ➤ In the Key window, highlight the keys to reduce. ➤ Keys Toolbar ➤ (Reduce Keys) Track View on page 3827 ➤ In the Key window, highlight the keys to reduce. ➤ Keys menu ➤ Reduce Keys Use Reduce Keys to decrease key density. Animating with inverse kinematics, or creating any complex animation, can result in many keys, which can make editing the animation difficult. In the case of applied inverse kinematics, 3ds Max generates a key on nearly every frame. Often, the same animation can be produced with fewer keys. Having fewer keys in a track makes it easier to change your animation. Reduce Keys analyzes the pattern of keys in a block of time and creates a new pattern of fewer keys that produces nearly the same animation. You specify how closely the new animation matches the original. NOTE The Reduce Keys button, depicted above, appears on the Keys Toolbar only in Curve Editor, but you can add it to a Dope Sheet toolbar with Customize User Interface on page 8837. Procedures To reduce keys: 1 Select an animated object. 2 Right-click the object and choose Curve Editor or Dope Sheet from the quad menu. 3 In the Hierarchy list, highlight the tracks whose keys you want to reduce. Reduce Keys works only on highlighted tracks. 4 Optionally, in the Key window, specify a time range within which to reduce keys. Highlight a key at either end of the range to reduce, or drag a selection rectangle around the keys you want to reduce. Alternatively, in Dope Sheet mode, highlight specific tracks and then use Select Time on page 3965 to designate a block of time within which to reduce keys. If 3976 | Chapter 13 Animation no keys are highlighted in a highlighted track, Reduce Keys works on all keys in that track. You can use any of the above methods to specify different ranges for different highlighted tracks. 5 From the Keys menu, choose Reduce Keys. 3ds Max opens the Reduce Keys dialog. This dialog has a single Threshold parameter. Raising the Threshold setting will increase the number of keys that are reduced. The higher the threshold, the greater the reduction. 6 Click OK to reduce the keys. Observe the results. If you are left with too few keys, press Ctrl+Z to undo, then lower the threshold and reduce the keys again. If too many keys remain, increase the threshold and reduce keys again. TIP It will take repeated experimentation to find exactly the right threshold for your particular animation. Interface Reduce Keys Displays the Reduce Keys dialog. Threshold Sets a threshold value. Higher values will result in fewer keys. OK Accepts the Threshold setting and reduces keys as follows: ■ Keys are reduced only in highlighted tracks. ■ If any of a track's keys are highlighted, reduction is performed only within the indicated range (that is, between the leftmost and rightmost highlighted key for each track). If no key is highlighted, reduction is performed on all keys in the track. Edit Time | 3977 Edit Ranges Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Keys Toolbar ➤ (Edit Ranges) Edit Ranges displays all tracks as range bars. This mode is useful for quickly scaling and sliding complete animation tracks. ■ Drag the range bar of an animation track to change all animation in that track. ■ Drag range bars in higher-level tracks to change all animation in multiple tracks. NOTE You cannot access individual key values in this mode. The Ranges: Dope Sheet toolbar contains tools for working with Ranges. Right-click an empty area adjacent to the Dope Sheet toolbar and choose Show Toolbars ➤ Ranges: Dope Sheet to display the toolbar. Save your layout after you do. Procedures To drag the ranges of an object and all of its linked descendants: 1 On the Track View toolbar, click 2 On the Track View toolbar, click (Edit Ranges). (Modify Subtree). 3 In the Track View Key window, drag an Object range bar or the World range bar. With Modify Subtree on, a range bar displays in the Objects track. The Objects branch is the default parent of all objects in the scene. Dragging a parent-object range bar with Modify Subtree on affects all tracks subordinate to the object and all tracks of all of its linked descendants. 3978 | Chapter 13 Animation Position Ranges Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Ranges toolbar ➤ (Position Ranges) Position Ranges mode allows you to position range bars independently from their associated keys and produce special effects. The process of adjusting a range bar independent of its keys is called decoupling the range. Positioning a range bar so it matches the first to last keys of a track is called recoupling the range. NOTE The Ranges: Dope Sheet toolbar doesn't appear in Track View by default. To open it, right-click an empty area adjacent to the Dope Sheet toolbar and choose Show Toolbars ➤ Ranges: Dope Sheet. Save your layout after you do. Decouple a Range Bar You decouple a range bar for two reasons: ■ You want some keys at the start or end of an animation range not to take effect. Keys outside of the range bar are ignored during animation playback. The keys outside the range still affect interpolated values inside the range, but the applied Out-of-Range type is used to animate time outside the range bar. ■ You want to add extra time before the first key or after the last key that is not affected by the applied Out-of-Range type. Time beyond the first or last key of the track, but still within the range, uses the constant value of the nearest key within the range. Procedures To decouple a range bar from its keys: 1 Right-click an empty area adjacent to the Dope Sheet toolbar and choose Show Toolbars ➤ Ranges: Dope Sheet. 2 On the Track View toolbar, click (Position Ranges). Edit Ranges | 3979 3 In the Track View Key window, drag the entire range bar left or right of the keys, or drag either end of the range bar to make it longer or shorter than the keys. Using Out-of-Range types on page 3996 in conjunction with this procedure allows you to change the behavior of an animated loop. Positioning either end of a range bar changes the loop. Recouple Ranges Track View on page 3827 ➤ Dope Sheet on page 3842 ➤ Ranges toolbar ➤ (Recouple Ranges) Recouple Ranges resizes the range bar so that the beginning and end of the range matches the first and last keys in the track. This is useful to quickly realign the range and the keys after editing. NOTE The Ranges: Dope Sheet toolbar doesn't appear in Track View by default. To open it, right-click an empty area adjacent to the Dope Sheet toolbar and choose Show Toolbars ➤ Ranges: Dope Sheet. Save your layout after you do. Procedures To recouple a range: 1 Right-click an empty area adjacent to the Dope Sheet toolbar and choose Show Toolbars ➤ Ranges: Dope Sheet. 2 On the Track View toolbar, click (Position Ranges). 3 Select one or more item labels in the Hierarchy list to select tracks to be recoupled. 4 On the Track View toolbar, click (Recouple Ranges). 3ds Max positions the range bars for the selected tracks to match up with the first and last keys in their track. Position Ranges mode allows you to decouple the range bar from the animation keys. Recouple Ranges is a quick way to realign the range bars. 3980 | Chapter 13 Animation Editing Tracks: Copying, Pasting, and Handling Instances and References These topics describe how to copy and paste within Track View. Copying and Pasting Items You can copy and paste geometry, lights, materials, and animation controllers between items in the Track View Hierarchy list of the controller window. You can copy these categories of items in Track View: Containers Items with multiple branches that completely define something in your scene. Container items that can be copied include: ■ Material Parameters containing the Basic Parameters for a material definition. ■ Material Maps containing the entire set of maps and map parameters assigned to a material. ■ Map definitions containing a single map type with its associated parameters and coordinates. ■ Map Coordinates containing the map XYZ and UVW coordinate offset, tiling, and angle settings. ■ Map Parameters containing the parameters for a specific map type. ■ Objects, on levels below the transforms, containing creation parameters for an unmodified object. ■ Modified Object, containing modifiers applied to an object and the object-creation parameters. ■ Modifiers containing modifier parameters. Controllers These control actual animated values for each parameter. Keep in mind that when you copy containers, you are actually copying and pasting groups of related controllers. Details about copying and pasting single controllers are presented in Assigning Controllers on page 3427. Whether you copy objects, materials, or controllers, the same basic principles apply. Here are restrictions for using Copy and Paste: ■ You can copy only a single highlighted item. Editing Tracks: Copying, Pasting, and Handling Instances and References | 3981 ■ You can paste a copied item only into another item of the same type. An exception to this restriction involves pasting Object and Modified Object containers. ■ You can paste a copied item into a selection of multiple items only if all the items are of the same type. ■ When pasting items, you can choose to make an instance or a copy of the pasted item. ■ You cannot copy/paste actively linked objects. Copying Items You copy an item by highlighting it in the Controller window Hierarchy list, and then right-clicking and choosing Copy from the quad menu. If Copy is not available the selected item is not a valid copy source. 3ds Max disables Copy when the selected item is not a valid copy source or if multiple items are selected. Pasting Items Pasting items involves a few more choices than copying. You select one or more items from the Hierarchy list. If Paste is available the selected items are valid paste targets. 3ds Max disables Paste if the selected targets are not all the same type or if they do not match the type of item in the clipboard. You can use Paste as follows: ■ Paste into a single target item. ■ Paste into multiple target items. ■ Paste copies or instances. ■ Choose to convert other instances in the scene automatically. Clicking Paste on the quad menu displays the Paste dialog, with controls for determining how the Paste operation will be carried out. Copy Pastes the item in the clipboard as an independent copy. The target item will have no connection to the copied source item. Instance Pastes the item in the clipboard as an instance of the copied source item. The target item will be an instance of the source item. Any change you make to either item affects the other. 3982 | Chapter 13 Animation Replace All Instances Controls whether existing instances of the target item are also converted to the paste source or left as they are. Making Instances Unique You can convert instanced items to unique items by clicking Make Unique on page 3935 on the Controller menu. If the selected item is not an instance, or if a selection of multiple items does not contain similar instances, Make Unique is disabled. Copying and Pasting Objects In the Track View controller window you can use the Hierarchy list to copy and paste objects. This allows you to replace the geometry of one animated object with the geometry of another object. This is similar to the functionality provided by XRef objects and scenes where you have to option of defining proxy or stand-in objects. Copying and pasting objects is achieved by highlighting the Object track for the source object, copying it, then pasting it to the Object track of the target object. The Object track is found beneath the Transforms and Modified objects entries, and appears with parentheses that define the geometry type. For example, Object (Box) or Object (Editable Mesh) are two label names that might appear on the correct track for object cut and paste. Using these two container types, you can copy geometry between objects. To copy one object to other objects: 1 In the Curve Editor controller window, find the object that you want to copy from. 2 Navigate to the Object track that is beneath the Transform or Modified Object entries. The name will be something like Object (PivotDoor) or Object (Editable Mesh), for example. NOTE If the object is modified, the order of the name of its Object track in the Hierarchy list is reversed; for example, Object (Sphere) becomes Sphere (Object). 3 Highlight the object track you wish to copy, then right-click and choose Copy from the quad menu. Editing Tracks: Copying, Pasting, and Handling Instances and References | 3983 4 Navigate to the object track for the target object, highlight it, and then right-click and choose Paste. Set options in the Paste dialog, then click OK. The object is replaced with the new one in the viewport as well as in the Hierarchy list of the controller window. WARNING The original target has been completely replaced by the pasted object. Use Save Selected on page 7965 on the target object to save a copy of that object, if you think you'll need to use it again sometime. Here are some examples of how you might use object copy and paste: ■ Paste an Object to another Object to replace one simple object with another. For example, you animate the transforms of a box object and want to replace the box with a torus. ■ Paste an Object into a Modified Object to replace a complex, modified object with a simple stand-in object. For example, you model a complicated vehicle and you want to replace it with a box while you animate its transforms. Be sure to save the Modified Object to a file (using Save Selected on page 7965). ■ Paste a Modified Object into another Modified Object to replace one complex modified object with another. For example, you animated a flight of jets and want to replace them with helicopters. ■ Paste a Modified Object into an Object to replace simple stand-in objects with complex modified objects. For example, you have animated a box and now want to replace it with a complex model of a jet. Copying and Pasting Object Modifiers You can also copy and paste modifiers below the Modified Object container. Copy and paste modifiers to do the following: ■ Copy modifiers within the modifier stack of a single object. ■ Copy modifiers between objects. Unlike pasting other items, modifiers do not replace the highlighted item when you click Paste. Instead, the pasted modifier is inserted above the selected item. 3984 | Chapter 13 Animation Making Instance and Reference Controllers and Objects Unique You can convert instanced and referenced objects into unique objects by clicking Make Controller Unique on the Track View toolbar or by choosing Make Unique on the Controller menu. The result of clicking Make Unique depends on how the object was instanced or referenced, and which object container you select in the Hierarchy list. When you make an instance or reference object, you cause the data flow to branch on its way from the master object to two or more named objects. ■ In Track View, these branches usually occur at Modified Object containers and sometimes at the base Object container. ■ In Track View, instances and references are displayed in bold face. ■ In the modifier stack, these branches display as a horizontal line, called a derived object line. For descriptions of object data flow and instance objects, see Understanding Object Data Flow on page 971. You can make an object unique by selecting a Modified Object or an Object container and clicking Make Unique on the Track View toolbar. Your result depends on whether or not the data flow branches at the selected container. ■ If the data flow does not branch anywhere below the selected container, nothing happens. ■ If the data flow does branch at or below the selected container, the data flow above the branch is split from the current data flow as a unique object. The data flow from the selected container to the master object is copied and attached to the new unique object. Making a Selection of Multiple Instances Unique If you select multiple objects that are instances of each other, or share instanced modifiers, you can choose how to make them unique. After you click Make Unique, the Make Unique dialog appears, with the question, “Do you want to make the selected items unique with respect to each other?” ■ Click Yes to make each object in the selection completely unique. Editing Tracks: Copying, Pasting, and Handling Instances and References | 3985 ■ Click No to leave the objects in the selection as instances, but to make them unique from other objects not in the selection. Curve Editor Main toolbar ➤ (Curve Editor (Open)) ➤ Highlight animated tracks. ➤ Curves are displayed in Key Window. Graph Editors ➤ Track View - Curve Editor ➤ Highlight animated tracks. ➤ Curves appear in Key window. Right-click any animated object. ➤ Curve Editor ➤ Curves appear in the Key window. The Curve Editor displays animation as function curves, charting the controllers' changes of value over time. Highlighting a controller label displays keys for that item as vertices on the function curve. You can then highlight keys and change their values. You can add keys to function curves for tracks that are not yet animated. The curves appear as straight lines. When you add a key to a function curve, a controller is created for that track. Not all controller types display function curves. For example, a TCB Rotation controller doesn't display a function curve, while an Euler XYZ rotation controller shows individual curves for X, Y and Z. Some controllers display individual tracks for each axis, while other controllers combine the three axis values into a single curve. See also: ■ Slide Keys on page 3948 ■ Show All Tangents on page 3897 3986 | Chapter 13 Animation Bezier Tangent Handles Custom tangents You can use Bezier handles in the Curve Editor to change the shape of the trajectory through a key. To display handles on a key, right-click a key in the Track View Key Window and choose the Custom Tangents option. You can assign the Custom Tangent type only to items using a Bezier controller. This will display tangent handles on the keys that you can manipulate horizontally and vertically. Procedures To display function curves: 1 Select an animated object. 2 Right-click the active viewport and choose Curve Editor. The function curves for the object's animation are displayed in the Key window of the Function Curve Editor. 3 To display additional curves at the same time, from the Track View menu choose Settings ➤ Manual Navigation. Curve Editor | 3987 4 Navigate the controller window until you see the additional tracks, and then hold down the Ctrl key and click them. The curves for all highlighted tracks are displayed together in the Key window. Move Keys (Curve Edit r) Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Keys Toolbar ➤ Move Keys flyout ➤ (Move Keys), (Move Keys Horizontal), or (Move Keys Vertical) With the Move Keys flyout buttons in the Curve Editor, you can move one or more highlighted keys to change keys' timing, values, or both. You can clone keys by holding down Shift while dragging. The new keys are added to the existing keys on the curve. You can also clone keys to replace existing keys by holding down Shift+Alt while dragging. TIP When you select keys to clone and replace others, you can include the key before the first selected key to preserve the tangent of your first copied key. Procedures To move a selection of keys: 1 In the Hierarchy list, highlight one or more tracks. Only keys in highlighted tracks appear in the Key window. By default, the Move Keys button is highlighted, showing it is already on. 2 In the Track View Key window, highlight one or more keys. 3 Drag the highlighted keys to a new location, or press Shift and drag the highlighted keys to add copies at the new location. 3988 | Chapter 13 Animation 4 Highlight another group of keys. 5 Press Shift+Alt, and drag the highlighted keys towards existing keys to replace them with copies. Interface Move Keys Moves keys in both horizontal and vertical axes, to change both timing and values. Move Keys Horizontal Constrains movement to the horizontal axis, to change timing. Move Keys Vertical Constrains movement to the vertical axis, to change values. Scale Keys Track View on page 3827 ➤ Keys Toolbar ➤ (Scale Keys) Track View on page 3827 ➤ Keys menu ➤ Scale Keys - Time Use Scale Keys to scale keys horizontally, changing the horizontal location and amount of time covered by selected keys. The horizontal location of the keys represents the frame in time at which the key action takes place. The scale center for scale time is the current time set by the time slider. You can scale keys about any point in time by dragging the time slider before you use Scale Keys. Procedures To scale a selection of keys horizontally: 1 Right-click an animated object and choose Curve Editor. 2 In the Hierarchy list, highlight a track. Curve Editor | 3989 3 Scrub the time slider on page 8656 to the frame to use as the scale center. 4 On the Track View toolbar, click (Scale Keys). 5 Highlight one or more keys. 6 In the Track View Key window, drag any of the highlighted keys horizontally to scale, or press Shift and drag to add scaled copies of selected keys. 7 The scaling effect depends on the direction you drag with respect to the time slider location: ■ Drag away from the time slider location to expand keys' scaling. ■ Drag toward the time slider location to reduce keys' scaling. ■ Drag past the time slider location to reverse the keys' order and expand the keys away from the current time. Scale Values Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Keys Toolbar ➤ (Scale Values) Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Keys menu ➤ Scale Values Scale Values is used to proportionally increase or decrease the vertical distance between selected keys on the function curves in Curve Editor. It uses the Scale Origin Line on page 3840 as a movable reference point for the scale operation. Practically speaking, scaling values always creates spatial adjustments, rather than temporal. To scale in time, use Scale Time on page 3972 instead. NOTE Scale Values is not available in Dope Sheet mode. 3990 | Chapter 13 Animation Procedures To scale key values: 1 Select an object, then right-click and choose Curve Editor. 2 Highlight one or more tracks, if necessary, and then highlight the keys you want to scale. 3 On the Curve Editor toolbar, click (Scale Values). The orange Scale Values Origin line appears at the 0 position on the vertical scale. 4 Drag the Scale Values Origin line to where you want to scale values from or to. TIP An easy way to return the scale origin line to the 0 position is to close and reopen Track View. 5 Drag any highlighted key vertically to scale all of them. TIP If you use Lock Selection on page 3942 after highlighting the keys, you can drag anywhere in the Key window to create the scale operation. Add Keys (Curve Editor) Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Keys toolbar ➤ (Add Keys) Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Keys menu ➤ Add Keys When Add Keys is active, you can click anywhere on a function curve to add a key at that location on the curve. Add Keys stays active until you click another mode. Curve Editor | 3991 If the curve is part of a multicurve controller, vertices are added to each curve at the time location where you clicked. For example, adding a key to the red X curve of a TCB Position track simultaneously adds keys to the green Y curve and the blue Z curve. TIP You can move an existing key while in Add Keys mode simply by dragging it. Adding Keys to a Multicurve Controller The value of each key is set by one of the following conditions: ■ Keys added between keys receive the interpolated value shown by the function curve at that location. ■ Keys added before the first or after the last key on the curve receive the same value as the nearest key. ■ You can change a key value and/or time while adding it by dragging after clicking the curve. Procedures To add keys to a function curve: 1 In the Hierarchy list, highlight a track. 2 On the Track View toolbar, click (Add Keys). 3 Click the function curve (Curve Editor) where you want to add the key. If the highlighted curve is part of a multicurve controller, vertices are added to each curve at the time location where you clicked. For example, if you are using a Bezier Position controller, adding a key to the red X curve of a Position track simultaneously adds keys to the green Y curve and the blue Z curve. 3992 | Chapter 13 Animation Draw Curves Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Keys Toolbar ➤ (Draw Curves) Use this tool to draw new curves, or revise existing ones by sketching directly on the function curve in the Curve Editor Key window. The speed with which you draw determines how many keys are added to the curve. If there are too many keys, use Reduce Keys to make fewer keys on the curve. Procedures To draw a curve: 1 On the Curve Editor toolbar, click (Draw Curves). 2 Select the track of the curve you want to draw on. 3 Move your cursor onto the curve and draw. If there are too many points after drawing curves, delete or reduce on page 3976 keys. Curve Editor | 3993 Show Tangents Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Curves Toolbar ➤ (Show Tangents) Show Tangents lets you view adjust the tangents of highlighted vertices in Curve Editor. Custom Tangent You can assign the Custom Tangent type to any controller that displays keys on a curve. Highlight the key on the curve and then click the Set Tangents To Custom icon on the Key Tangents: Track View toolbar to display the handle controls. The tangent handles can be either continuous or discontinuous. To make a handle discontinuous, hold down the Shift key when you move it. ■ Continuous handles behave like a single lever with its pivot point at the key location. Moving either end of the handle also moves the opposite end, maintaining the continuity of the tangent. The function curve, and the animation it represents, moves smoothly through a key with continuous tangent handles. ■ Discontinuous handles behave like leaves on a hinge, with the hinge pin at the key location. Each end moves independently of the other. To convert a discontinuous tangent to a continuous tangent, change the tangent type from Custom to Smooth and then back to Custom again. This technique is performed at the key level and can affect unselected vertices if they belong to the same key as one of the selected vertices. Horizontal Bezier Handle Control When using the Custom Tangent type, a tangent handle can be moved horizontally in length away from its keyframe to affect the shape of the function curve. This affects the amount of influence the keyframe has over the interpolation between keyframes. This feature can be used to aid in the slow-in and slow-out workflow of traditional animation. For example, suppose you're animating a ball bouncing up and down on the world’s Z axis. On frame 1, the ball is on the ground; on frame 8, the ball is in the air; on frame 16 the ball is back on the ground. You 3994 | Chapter 13 Animation could adjust the tangents for frame 8 so that their length pulls more of the curve towards its keyframe and away from the keyframes on frame 1 and 16. When rendered, the ball will be more visible on screen near the top of its bounce and blurrier near the points where it touches the ground. Procedures To assign a Custom tangent type: 1 Open the Curve Editor. 2 In the Hierarchy list, highlight a track that uses any controller that displays keys on the curve. 3 Highlight one or more keys on the curve. 4 On the Key Tangents: Track View toolbar, click Custom). (Set Tangents To The handles are now all Custom and available for editing. TIP If a highlighted key has Auto Tangency set, you can just move its handle to instantly convert the key to Custom. For selections of multiple keys, choose Lock Tangents, then move any handle to convert all the keys to Custom tangency. To edit the horizontal length of a Bezier handle: 1 Assign a Custom Tangent type to the key you want to edit on the function curve, or highlight a key that already has one. 2 Make sure (Show Tangents) is on. This toggle is located on the Track View toolbar. 3 Highlight the key on the function curve. Tangent handles appear on the highlighted keyframe. 4 Move one of the handles horizontally away from its key. Interface Show Tangents Displays the tangents of highlighted vertices, whereupon you can adjust the tangents by dragging the handle endpoints. Curve Editor | 3995 By holding down the Shift key, you can edit the tangents handles separately. Lock Tangents Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Select keys on curves. ➤ Curves toolbar ➤ (Lock Tangents) Lock Tangents lets you manipulate handles of multiple vertices simultaneously. When Lock Tangents is active, dragging a tangent handle affects the handles of all highlighted keys. When Lock Tangents is inactive, dragging a tangent handle affects only that handle's key. Procedures To drag discontinuous tangent handles: 1 Highlight one or more keys in the Curve Editor. Hold down the Ctrl key to add to the selection set. 2 Click (Lock Tangents) to set one of the following modes: ■ Off: Dragging a tangent handle affects only the single key displaying the handle. ■ On: Dragging a tangent handle affects both handles of all selected keys. Parameter Curve Out-of-Range Types Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Curves toolbar ➤ (Parameter Curve Out-of-Range Types) Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Controller menu ➤ Out-of-Range Types With Parameter Curve Out-of-Range Types you can specify how an object is to behave outside the range of the keys you've defined. 3996 | Chapter 13 Animation Use Parameters Curve Out-of-Range Types to create loops and cycles. The idea is to create a short pattern of keys that produce an animated effect, and then loop or cycle through those keys throughout the animation. Using the Parameter Curve Out-of-Range Types dialog, you select from four ways for repeating your animation and two ways for applying a linear value. TIP Use the Create Out of Range Keys utility on page 3957, found in Track View Utilities, to turn the parameter out-of-range animation into editable keyframes. Typical Steps for Using Parameter Out-of-Range Types 1 Animate an object to loop or cycle. 2 In the Curve Editor select the track you want to loop. 3 Click (Parameter Curve Out-Of-Range Types) to select how your animation behaves outside the time covered by the range bar. 4 In the dialog, choose which kind of out-of-range type you want, then close the dialog and play the animation. The Curve editor will display the loop or cycle with a dotted line. TIP You can create keys from the out of range type by using the Track View Utilities ➤ Create Out of Range Keys. Procedures Example: To use Parameter Out-of-Range Types to create a loop: 1 On the left side of the Front viewport, create a Box primitive. 2 Turn on 3 (Auto Key) and drag the time slider to frame 10. Move the box to the right side of the Front viewport. Curve Editor | 3997 4 Open Track View, right-click Tracks Only. (Filters), and then select Animated 5 In the Track View Hierarchy, choose the Position track for the box, and then click (Parameter Curve Out-Of-Range Types). 6 In the Parameter Curve Out-of-Range Types dialog, select Ping Pong for both the in and out types and then click OK. 7 In the viewport controls, click (Play Animation). The box moves back and forth repeatedly. While the animation is playing, experiment by adjusting the keys in the Curve Editor, or in the Dope Sheet. Interface Select from the options for repeating your animation and options for applying a linear value. Constant Holds the value of the end key of the range for all frames. Use constant when you want no animated effect before the first key of the range or after the last key. Constant is the default out-of-range type. 3998 | Chapter 13 Animation Cycle Repeats the same animation as within the range. If the first and last keys in the range have different values, the animation will show an abrupt "jump" from the last key to the first. Use Cycle when you want an animation to repeat, but do not need the ends to match. Loop Repeats the same animation as within the range, but interpolates between the last key and first key in the range to create a smooth loop. If the first and last key are both at the extreme ends of the range, Loop will behave exactly like Cycle. If you use Position Ranges to extend the range bar beyond the keys, the added length determines the amount of time used to interpolate between the last key and the first key. Use loop with an extended range bar to produce smoothly repeating animation. Ping Pong Alternates between a forward and backward repeat of the animation within the range. Use Ping Pong when you want your animation to alternate back and forth. Linear Projects the animation value along a line tangent to the function curve at the end of the range. Use Linear when you want the animation to enter and leave the range at a constant velocity. Relative Repeat Repeats the same animation as within the range but offsets each repetition by the value at the end of the range. Use Relative Repeat to create animations that build on each other as they repeat. Apply Ease Curve / Apply Multiplier Curve Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Curves menu ➤ Apply Ease Curve or Apply Multiplier Curve Apply - Ease Curve and Apply - Multiplier Curve (available from the Curves menu in the Curve Editor) create an ease curve or multiplier curve track. These tracks let you modify or intensify an existing animation track without changing the original track. ■ A multiplier curve shifts the value of the original track up or down. Adjusting the multiplier curve increases or decreases the “intensity” of the original track. ■ An ease curve shifts the time of the original track left or right. Adjusting the ease curve changes time. The value of the ease curve at a particular frame is a frame value from the original track. For example, if the ease curve is 0 at frame 0 and 10 at frame 10, the original track plays at its original speed. If the ease curve value at frame 10 increases to 20, the Curve Editor | 3999 original track plays to frame 20 by frame 10: it has been sped up by a factor of two. Once you apply an ease or multiplier curve, you can edit its keys, ranges, and properties just like any other animation track. One use of ease and multiplier curves is to blend between the effects of different controllers. This can be an aid to nonlinear editing. Procedures To apply an ease curve or a multiplier curve: 1 In the Curve Editor Hierarchy list, highlight the tracks you wish to ease or intensify. Not all controller items can receive ease or multiplier curves. For example, the Path Constraint position controller cannot receive an ease or multiplier curve, but its subordinate Percent controller can. If the highlighted controller is incapable of receiving ease or multiplier curves, nothing happens when you apply the curve. 2 From the Curves menu, choose Apply - Ease Curve or Apply - Multiplier Curve. 3 In the Controller window expand the highlighted tracks to view the ease curve. 4 Hold down the Ctrl key and click the ease curve and controller tracks. 5 Adjust the keys on the ease curve and watch the result in the controller curve. Use a Multiplier curve to intensify an effect, or an ease curve to make less of an effect. TIP Use Step interpolation to use the ease curve to turn tracks on and off. Interface Apply - Ease Curve Applies a curve to alter the timing of the selected function curve. Ease curves vary the timing of a superior function curve. A normal function curve charts an animated parameter value over time. An ease curve charts changes to the timing of a function curve over time. 4000 | Chapter 13 Animation Apply - Multiplier Curve Applies a curve to scale the value of the selected function curve. The value of a multiplier curve is a scale factor applied to the value of its superior function curve. You apply ease and multiplier curves in Curve Editor mode. Once you apply an ease or multiplier curve, you can edit its keys, ranges, and properties, as with any other animation track. Remove Ease/Multiplier Curve Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Select one or more ease or multiplier curve tracks. ➤ Curves menu ➤ Remove Remove (Ease/Multiplier Curve) lets you delete an ease or multiplier curve at any time. Procedures To delete an ease or multiplier curve: 1 In the Hierarchy list, select one or more ease or multiplier curve tracks. 2 On the Track View menu bar, choose Curves ➤ Remove. The selected Ease or Multiplier curve is removed. TIP You can use On/Off (Curves) on page 4001 to turn off the ease or multiplier affect without removing the curve. On/Off (Curves) Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Curves menu ➤ On/Off Use On/Off when you want to work with the original function curve rather than a curve altered by ease and multiplier curves. A disabled curve has no effect on its assigned track, but can be enabled to restore the effect. Procedures To toggle the active state of an ease or multiplier curve: 1 In the Hierarchy list, highlight one or more ease or multiplier curves. Curve Editor | 4001 2 From the Curves menu choose On/Off. If you also have the parent track selected (the transform that has the ease applied), you will see the difference in the curve when you turn the ease or multiplier off. Ease Curve Out-of-Range Types Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Curves menu ➤ Ease Curve Out-of Range Types Ease Curve Out-of-Range Types displays a dialog that lets you assign out-of-range types for the current ease curve on page 9142. Ease and multiplier curves use the same out-of-range types as other controller tracks. See Parameter Curve Out-of-Range Types on page 3996. You will usually want to use the same out-of-range type for an ease curve that you use for its superior function curve. Procedures To set the out-of-range type for an ease curve: 1 Highlight one or more ease curve items in the Hierarchy list. 2 From the Curves menu choose Ease Curve Out-of-Range Types. 3 Do one of the following. ■ Click an out-of-range type image to apply that type to both the incoming and outgoing curves of the ease curve. ■ Click the left arrow button below an out-of-range type image to apply it to only the incoming curve of the ease curve. ■ Click the right arrow button below an out-of-range type to apply it to only the outgoing curve of the ease curve. 4002 | Chapter 13 Animation Interface Constant Holds the values at the ends of the range for all frames. Use Constant when you want no animated effect before or after the range. The time value at start of the range is held for all frames before the range, and the time value at the end of the range is held for all frames after the range. Constant is the default out-of-range type for multiplier curves. Cycle Repeats the same animation as within the range. Use Cycle when you want an animation to repeat exactly. Loop Repeats the same animation as within the range but interpolates between the last key and the first key of the range to create a smooth loop. Use Loop with an extended range bar to produce smoothly repeating animation. Ping Pong Alternates between a forward and backward repeat of the animation within the range. Use Ping Pong when you want your animation to alternate back and forth. Linear Projects the animation value along a line tangent to the ease or multiplier curve at the end of the range. use linear when you want the animation to enter and leave the range at a constant velocity. Relative Repeat Repeats the same animation as within the range but offsets each repetition by the value at the end of the range. Use Relative Repeat to create animations that build on each other as they repeat. Identity Projects the ease curve along a line with a slope of 1.0 from either end of the range. This causes time to flow at a normal, constant rate outside the range of the ease curve. Use Identity when you want the ease curve to be a localized, non-repeating effect. Curve Editor | 4003 Identity for an ease curve produces an effect similar to constant for other types of curves. Identity is not available for multiplier curves; it is the default Out-of-Range type for ease curves. Multiplier Curve Out-of-Range Types Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Curves menu ➤ Multiplier Curve Out-of Range Types Multiplier Curve Out-of-Range Types displays a dialog that lets you assign out-of-range types for the current multiplier curve on page 9235. Ease and multiplier curves use the same out-of-range types as other function curves. You will usually want to use the same out-of-range type for a multiplier curve that you use for its superior function curve. Procedures To set the out-of-range type for a multiplier curve: 1 Highlight one or more multiplier curve items in the Hierarchy list. 2 From the Curves menu choose Multiplier Curve Out-of-Range Types. 3 Do one of the following. ■ Click an out-of-range type image to apply that type to both the incoming and outgoing curves of the multiplier curve. ■ Click the left arrow button below an out-of-range type image to apply it to only the incoming curve of the multiplier curve. ■ Click the right arrow button below an out-of-range type to apply it to only the outgoing curve of the multiplier curve. 4004 | Chapter 13 Animation Interface Constant Holds the values at the ends of the range for all frames. Use Constant when you want no animated effect before or after the range. The time value at start of the range is held for all frames before the range, and the time value at the end of the range is held for all frames after the range. Constant is the default out-of-range type for multiplier curves. Cycle Repeats the same animation as within the range. Use Cycle when you want an animation to repeat exactly. Loop Repeats the same animation as within the range but interpolates between the last key and the first key of the range to create a smooth loop. Use Loop with an extended range bar to produce smoothly repeating animation. Ping Pong Alternates between forward and backward repetition of the animation within the range. Use Ping Pong when you want your animation to alternate back and forth. Linear Projects the animation value along lines tangent to the ease or multiplier curve at the limits of the range. Use Linear when you want the animation to enter and leave the range at a constant velocity. Relative Repeat Repeats the same animation as within the range but offsets each repetition by the value at the end of the range. Use Relative Repeat to create animations that build on each other as they repeat. Curve Editor | 4005 Freeze Non-Selected Curves Track View on page 3827 ➤ Curve Editor on page 3986 ➤ Display menu ➤ Show Non-Selected Curves ➤ Freeze Non-Selected Curves Freeze Non-Selected Curves is a selection modifier that makes all non-highlighted curves uneditable. Default=On. Freeze Non-Selected Curves has the following properties: ■ Non-highlighted curves display as dashed lines. ■ You can manipulate vertices on highlighted curves only in the Edit window. ■ You highlight other curves by clicking their icons in the Hierarchy list. Turn Freeze Non-Selected Curves off when you want to be able to edit multiple curves without having to select them all. Turn Freeze Non-Selected Curves On when you have multiple vertices on multiple curves all in the same place. Procedures Example: To freeze non-selected curves: 1 Animate an object's position. 2 From the Graph Editors menu, choose Track View - Curve Editor. On the Options menu, make sure Auto Expand ➤ Selected Objects Only/Transforms/XYZ Components are all on. The X/Y/Z position tracks are all highlighted, and their curves appear in the Key window. You can drag keys on any curve. 3 On the Display menu, make sure Hide Non-Selected Curves is on. This is the default setting. 4 In the Hierarchy list, click the X Position track icon. Now only the red X Position curve is visible. 5 From the Display menu, choose Show Non-Selected Curves. The other two curves reappear, and are editable. 6 From the Display menu, choose Freeze Non-Selected Curves. The Y Position and Z Position curves remain visible, but display as dashed lines. 4006 | Chapter 13 Animation 7 Position the mouse cursor over a vertex on the Y Position or Z Position curve. The cursor doesn't change to a crosshair, indicating that you can't modify the vertex. 8 In the Hierarchy list, click the Y Position track icon and then Z Position track icon. All three remain visible, but in each case the two non-highlighted tracks display as dashed lines, and are not editable. Status Bar and View Controls Track View on page 3827 ➤ Status bar These toolbars appear on the status bar, at the bottom of the Track View window. They control the Track View display, and also let you enter frame and key values. Track Selection Toolbar Track View on page 3827 ➤ Status bar ➤ Track Selection toolbar The Track Selection toolbar has controls for particular object or track selections. Track Selection toolbar Zoom Selected Object With Track View on page 3827 already open to navigate to a particular object, select the object in the viewport. ➤ Track Selection toolbar ➤ Selected Object) (Zoom Use Zoom Selected Object to place the currently selected object at the top of the Hierarchy list in the controller window. Status Bar and View Controls | 4007 In Dope Sheet mode, Zoom Selected Object affects the Hierarchy list as well as the Edit window, but in the Curve Editor, it affects only the Hierarchy list. This function scrolls the hierarchy to place the track of the currently selected object at the top of the list. If the object is a child of a closed hierarchy, the hierarchy is opened to display the selected object. If more than one object is selected in the scene, the uppermost selected object in the Hierarchy list is placed at the top of the list. If no objects are selected, nothing happens. This function works only on object tracks. Procedures To place the selected object at the top of the Hierarchy list: 1 Select an object. 2 Open Track View, and then click (Zoom Selected Object). The object is placed at the top of the Hierarchy list. This option is handy to quickly find an object in a hierarchy, such as a character's finger, and place it at the top of the Hierarchy list. Select By Name (Track View) Track View on page 3827 ➤ Track Selection toolbar ➤ Select By Name field With Select By Name you can highlight tracks in the Controller window by entering the track names (including optional wildcards) in the editable field. If the Controller Type display is active in the Filters options, you can specify by controller type as well. 4008 | Chapter 13 Animation Select By Name using wildcard Notes ■ The name selection is not case-sensitive, except for text within parentheses. ■ Only those tracks that are open and displayed can be selected. ■ You can use wildcard characters. For example: Seat selects all objects with Seat in the beginning of the name. (Cone01)Position selects only the Position track under Cone01. (Cone*)Position selects the Position track under all objects that begin with "Cone" ■ You can include multiple names in your selection if you separate them with commas; for example: Cone,Box,Sphere. Procedures To highlight all the tracks in a scene: ■ Enter * in the Select by Name field in the Track Selection toolbar. All the tracks are selected at once. Status Bar and View Controls | 4009 Example: To highlight and display Position tracks for three objects: 1 Create three boxes. By default, the boxes are named Box01, Box02, and Box03. 2 On the main toolbar, click (Curve Editor (Open)). 3 In the Track View Hierarchy list, expand the hierarchies for the three box objects. 4 In the Select By Name field, type (Box*)p. All the Position tracks are highlighted. 5 On the Track View toolbar, right-click Selected Tracks Only. (Filters) and choose The Position tracks for the three boxes are displayed at the top of the Hierarchy list. Example: To highlight multiple tracks using comma-separated name selections: 1 Create a box. 2 On the main toolbar, click (Curve Editor (Open)). 3 In the Track View Hierarchy list, expand the Box01 hierarchy to see all Transform children tracks. 4 In the Select By Name field, type x pos,y rot,scale. The box's X Position, Y Rotation, and Scale tracks are highlighted. The commas placed between each name act as Boolean addition (“OR”) operators, allowing multiple names in one selection. Track Set Controls Track View on page 3827 ➤ Track Selection toolbar 4010 | Chapter 13 Animation You can assign a name to the current track selection, and then later reselect those tracks by choosing the name of the respective track set from the list. Using Key Filters with Track Sets If you are animating track sets using Key Filters in Set Key mode on page 8682, the filters dictate which track set members are keyable, because they take precedence over track sets. Only the track set members specified in the Key Filters list are keyable. Procedures To assign a name to a track set: 1 Highlight one or more tracks in the Track View Controller window. 2 Click in the Track Set List field on the Track View toolbar on page 3907. 3 Enter a name for your track set. The name can contain any standard ASCII characters, including letters, numerals, symbols, punctuation, and spaces. NOTE Names are case-sensitive. 4 Press Enter to complete the track set. Status Bar and View Controls | 4011 You can now highlight another combination of tracks and repeat the process to create another track set. To retrieve a track set: 1 In the Track Sets List, click the arrow. 2 On the list, click a name. The respective tracks are highlighted in the Track View Controller window. To edit a track selection: You can change a track selection using track sets and the Ctrl and Alt keys. 1 Highlight one or more tracks in the Track View Controller window. 2 Open the Track Set List by clicking the arrow. 3 Press and hold Ctrl, and then click a name in the list. The track set members are added to the current track selection. 4 Press and hold Alt, and then click a name (either the same or another) in the list. The track set members are subtracted from the current track selection. To edit track sets; ■ On the Track View status bar, click Sets Editor dialog on page 4013. (Edit Track Set) to display the Track Interface Edit Track Set Click to display the Track Sets Editor dialog on page 4013. Track Set List If you have created named track sets, you can activate them by choosing them from this list. 4012 | Chapter 13 Animation Track Sets Editor Dialog Track View on page 3827 ➤ Track Selection toolbar ➤ Set) (Edit Track The Track Sets Editor dialog is a modeless dialog on page 9224 that lets you create and edit animation track groups called track sets. This feature facilitates working on multiple tracks at a time, because you can recall your tracks without the need to select them individually. TIP As your projects grow in size, you can also use track sets to help organize your animations by regrouping them under reference dates or versions such as Walk_Animation_v5.0 or Baseball_Hit_2005/07/01. Within the Track Sets Editor dialog, you can browse track set listings, add or remove tracks to/from a track set, highlight track set members based on selections from the Hierarchy list, and vice-versa. See also: ■ Track Set Controls on page 4010 Procedures To create a track set from selected tracks: 1 In the Track View Controller window, highlight tracks to group as a track set. 2 Click (Edit Track Set). 3 In the Track Sets Editor dialog, click (Create A New Track Set). Status Bar and View Controls | 4013 4 Expand the new track set. A new track set appears, containing your selected tracks. To edit the contents of a track set: This procedure follows from the previous procedure, and focuses on adding and removing tracks to/from your track set. 1 In the Track View Controller window, highlight a few tracks to add to your track set. Make sure the tracks are not already part of it. 2 In the Track Sets Editor dialog, highlight your track set or any of its members, and then click Current Track Set). (Add The Track View Selection To The The highlighted tracks are now members of your track set. 3 Click Set). (Remove The Track View Selection From The Current Track The highlighted tracks are now removed from the track set. To locate tracks in the Track View or the Track Sets Editor: This procedure is a continuation of the previous procedures and explains how you can use the Track Sets Editor to quickly locate your tracks in the Hierarchy list and vice-versa. This is useful for managing scenes comprised of many tracks that span across multiple track sets. 1 Create two track sets each containing tracks. Make sure one track is common to both track sets. 2 In the Track View Controller window, highlight the common track. In the Track Sets Editor dialog, click Track View). (Highlight Tracks Selected In The The common track is highlighted in both track sets. 3 Highlight another track set member and click Track Or Track Set In The Track View). 4014 | Chapter 13 Animation (Select The Current The respective track in the Controller window is highlighted. Interface The Track Sets Editor dialog window displays all current track sets. To expand or collapse the track list for a set, click the plus (+) or minus (-), button next to the track set name. Create A New Track Set Adds a new track set comprising any highlighted tracks in the Hierarchy list. Only leaf on page 9183 tracks can be part of a track set. If you highlight a non-leaf parent track when the track set is created, all its children leaf tracks are added instead. A track set created from a non-leaf parent track contains all children leaf tracks. NOTE If no tracks are highlighted, an empty set is created. Status Bar and View Controls | 4015 Delete Track Sets Or Tracks Removes a highlighted track set or track set member. NOTE Deleting a track set member does not delete it in the Track View. Add The Track View Selection To The Current Track Set Combines a highlighted track from the Controller window to the current track set. Only leaf tracks can be added to a track set. If you highlight a non-leaf parent track to be added to the track set, all its children leaf tracks are added instead. Remove The Track View Selection From The Current Track Set Deletes a track set member from the current track set. The track itself must be highlighted in the Controller window. Highlight Tracks Selected In The Track View Highlights a track set member based on the current Track View selection. If a track is shared between track sets, all track set members are highlighted. Select The Current Track Or Track Set In The Track View Highlights a track in the Controller window based on the current track set member selection. Track Filters Track View on page 3827 ➤ Track Selection toolbar ➤ Filter buttons The filter buttons on the Track Selection toolbar help you control which tracks are displayed in the Controller (Hierarchy) window. You can use any combination of these filters to control what you see in Track View. 4016 | Chapter 13 Animation Interface Filter - Selected Tracks Toggle When on, the Controller window shows only selected tracks. Filter - Selected Objects Toggle When on, the Controller window shows only tracks for selected objects. Filter - Animated Tracks Toggle When on, the Controller window shows only tracks with animation. Filter - Unlocked Attributes Toggle When on, the Controller window shows only tracks whose attributes are not locked on page 3862. Key Stats Toolbar Track View on page 3827 ➤ Status bar ➤ Key Stats: Track View toolbar The Key Stats toolbar controls key display. Key Stats toolbar Status Bar and View Controls | 4017 Key Time Display Track View on page 3827 ➤ Key Stats toolbar ➤ Key Time Display (field on left) The Key Time editable field (the field on the left) displays the frame number (position in time) of the selected key. You can enter a new frame number or enter an expression to move the key to a frame. Key Stats toolbar Using Expressions in the Time and Value Fields You can enter any expression in the time and value fields. The variable n stands for the key time or value. An expression can be as complex as you want, and can involve any function the expression controller on page 3486 uses. For example, you could enter an expression such as: n/2+sin(n)*40^n. The expression parsing in the time field works only when Time Configuration on page 8696 ➤ Time Display is set to Frames. The expression parser doesn't understand SMPTE or Frame:Ticks. Procedures To move a key to a specific frame: 1 In Track View, highlight a key. 2 In the Key Time Display, enter the frame number you want to move the key to. 3 Press Enter. The key (and, in Dope Sheet mode, any associated keys) moves to the new time. To move keys ahead 10 frames: 1 In the Track View Key window, highlight keys. 2 In the Key Time field, type n+10 . Selected keys are incremented by 10 frames. 4018 | Chapter 13 Animation Value Display Track View on page 3827 ➤ Key Stats toolbar ➤ Value Display (field on right) Value Display (the field on the right) displays the value, or position in space, of a highlighted key. This is an editable field. You can enter a new number or expression to change the value of selected keys. Key Stats toolbar Procedures To move an object in space using Value Display: 1 In the Track View (either mode) Hierarchy list, expand the Position track of an animated object. In Curve Editor mode, if Show Non-Selected Tracks is not active, highlight a track, if necessary, so the keys are visible. 2 Highlight an X, Y, or Z Position key. The Value Display shows the X, Y, or Z position key spatial value. 3 Enter the value you want in the Value Display and press Enter. The new value takes effect. If the time slider is at or near the same frame as the key, the change is visible in the viewports. Example: To add 10 to the values of specific keys: 1 In Track View, either mode, highlight the keys to edit. 2 In the Value Display field, enter n+10. Each key's value is incremented by 10. Simply entering 10 would give each key a value of 10. Status Bar and View Controls | 4019 Show Selected Key Statistics Track View on page 3827 ➤ Key Stats toolbar ➤ Stats) (Show Selected Key Show Selected Key Statistics displays the statistics represented by the currently selected keys in the Key window of the Curve Editor. The frame number and value are displayed to the right of the key in the Key window. For example, 68, 40.620 (frame=68, value=40.620). Procedures To show selected key statistics: 1 On the Key window of the Curve Editor, select any key or set of keys. 2 On the Key Stats: Track View toolbar, click Stats). (Show Selected Key The key statistics are displayed next to each key. Navigation Toolbar Track View on page 3827 ➤ Status bar ➤ Navigation toolbar The Navigation toolbar has controls for navigating the key window or curve window. Navigation toolbar 4020 | Chapter 13 Animation Pan (Track View) Track View on page 3827 ➤ Navigation toolbar ➤ (Pan) With Pan you can click and drag the Key window to move it left, right, up or down. Pan remains active until you right-click to cancel or click another option. If you have a middle mouse button, pressing it will instantly give you the Pan capability in Track View, as in the rest of 3ds Max. Drag horizontally in all modes to slide the view forward and backward in time. Drag vertically to slide the view up and down in value. Zooming and Panning with a wheel mouse You can use the wheel on a wheel mouse to zoom and pan the Track View Key window. Drag with the wheel to pan, and roll the wheel to zoom. (If you have a standard three-button mouse, use Ctrl+Alt+middle mouse button to zoom.) Procedures To pan in the Key window: 1 On the Navigation: Track View toolbar, click (Pan). 2 Position the mouse cursor over the Key window, and then press and drag to pan. Zoom Horizontal Extents Track View on page 3827 ➤ Navigation toolbar ➤ Zoom Horizontal Extents flyout Zoom Horizontal Extents is a flyout containing the Zoom Horizontal Extents and Zoom Horizontal Extents Keys buttons. Status Bar and View Controls | 4021 Use Zoom Horizontal Extents to show only the active time segment on page 9082, and use Zoom Horizontal Extents Keys to show all keys, including those outside the active time segment. Procedures To display the active time segment in the Key window: ■ On the Track View Navigation toolbar, click (Zoom Horizontal Extents). The active time segment (lighter background color) is centered in the Key window. Interface Zoom Horizontal Extents Adjusts the magnification of the Track View Key window horizontally so that all of the active time segment is visible at once. Zoom Horizontal Extents Keys Scales the Track View Key window horizontally to display the full range of all animation keys. Depending on your animation, this view could be larger or smaller than the active time segment. Zoom Value Extents Track View on page 3827 ➤ Navigation toolbar ➤ Zoom Value Extents flyout Zoom Value Extents is a flyout containing the Zoom Value Extents and Zoom Value Extents Range buttons. In Function Curves mode, Zoom Value Extents adjusts the size of the Track View Key window vertically so that you can see the full height of the curve. Zoom Value Extents Range also adjusts the window vertically but it zooms only to the height of the keyframes that are currently in view. NOTE In Dope Sheet mode, Zoom Value Extents and Zoom Value Extents Range serve no function. 4022 | Chapter 13 Animation Procedures To zoom to the height of the curves: 1 In the Hierarchy list, highlight the tracks to display. 2 On the Track View Navigation toolbar, click (Zoom Value Extents). The Key window scales vertically to display the function curves. This control is particularly useful if you have zoomed in and need to see all the keys again. There is no undo for view changes that occur in the Key window, so the Zoom Extents button can serve the function of resetting your view. To zoom to the height of the keyframes that are currently visible: 1 In the Hierarchy list, highlight the tracks to display. 2 On the Track View Navigation toolbar, click Range). (Zoom Value Extents The Key window scales vertically to the height of the keyframes in view. This control is useful if you want to focus on working with one section of your animation curve. Zoom Track View Key Window Track View on page 3827 ➤ Navigation toolbar ➤ Zoom flyout In Track View, the Zoom controls are available from a three-button flyout. You can zoom your view of time horizontally (Zoom Time), vertically (Zoom Values), or in both directions simultaneously (Zoom). Drag to the right or upward (Zoom Values) to increase magnification, or to the left or downward (Zoom Values) to decrease magnification. Zooming occurs around the cursor location. NOTE All three zoom modes work in Curve Editor, but only Zoom and Zoom Time work in Dope Sheet. Status Bar and View Controls | 4023 TIP If you use a three-button or wheel mouse, you can also zoom uniformly by using Ctrl+Alt+middle mouse button or by scrolling with your mouse wheel in the Curve Editor. TIP You can also zoom exclusively in time (left and right) or in value (up and down) by holding down Ctrl or Shift respectively while scrolling with your mouse wheel in the Curve Editor. Procedures To zoom in on time: 1 On the Navigation: Track View toolbar, choose the flyout. (Zoom Time) from 2 Click and drag to the right in the Track View Key window. Your view of time expands horizontally in the Key window. Interface Zoom Zooms your view of time and values simultaneously. Zoom remains active until you right-click to cancel or click another option. Zoom Values In Curve Editor, zooms the contents of the key window vertically. Drag upward to increase magnification, or downward to decrease magnification. Zoom Time Zooms the contents of the Key window horizontally. Zoom Region (Track View) Track View on page 3827 ➤ Navigation toolbar ➤ 4024 | Chapter 13 Animation (Zoom Region) Zoom Region lets you drag a region in the Key window to scale that region to fill the window. Zoom Region remains active until you right-click to cancel or click another option. In Curve Editor mode, both time and value are scaled to fit the Key window. In Dope Sheet mode, only time is scaled to fit the Key window. Procedures To zoom a region of the Key window: 1 On the Navigation: Track View toolbar, click (Zoom Region). 2 Drag a window in the Key window. The region zooms to fill the Key window. TIP There is no undo for view changes in the Track View windows. Use the Zoom, Zoom Region, and Zoom Extents tools to navigate the Key window. Managing Track View Windows Controls for managing Track View windows are on the 3ds Max Graph Editors menu. This section also contains topic on how to customize the Track View interface. New Track View Graph Editors menu ➤ New Track View New Track View opens a new, untitled Track View on page 3827 window. A scene in 3ds Max can have up to 13 Track View windows. You can choose these by name from the Graph Editors ➤ Saved Track Views on page 4027 submenu. New Track View is disabled if the scene already has 13 Track View windows. You can name a Track View window by typing in the editable field at the right end of the Track View toolbar. Managing Track View Windows | 4025 Procedures To create a new Track View window: ■ Click Track View ➤ New Track View. 3ds Max opens a new, untitled Track View window, regardless of whether you have closed other Track View windows. To name a Track View window: ■ Type the name in the edit box at the right end of the Track View toolbar. As soon as you type the name in, it is stored in the Saved Track Views list. Delete Track View Graph Editors menu ➤ Delete Track View Delete Track View displays the Delete Track View dialog, which lets you delete one or more stored Track View windows on page 3827. Procedures To delete a Track View window: 1 From the Graph Editors menu, choose Delete Track View. 3ds Max opens the Delete Track View dialog. 2 In the Delete Track View dialog, highlight the name of one or more Track View windows. 3 Click OK to delete the Track View windows you chose. 4026 | Chapter 13 Animation Interface Drag a selection, use Shift+click to select additional adjacent Track View windows, or Ctrl+click to toggle a selection. Saved Track Views Graph Editors menu ➤ Saved Track Views ➤ Choose the named Track View from the list. Saved Track View lets you recall various Track View windows that you save by naming them. Managing Track View Windows | 4027 It is different from saved Track View layouts, which are recalled by right-clicking the toolbar and choosing Load layout. Saved Track View windows are saved with the MAX file. Procedures To save a Track View window: 1 In either Dope Sheet or Curve Editor, enter a name in the Name: Track View field at the upper right. TIP If the Name field is not visible, right-click the toolbar and choose Show Toolbars, then choose Name: Track View from the list. This toolbar can float or dock, as you like. 2 Close Track View. 3 To recall the saved Track View window, from the Graph Editors menu, choose Saved Track Views, and then the desired window name. Customizing the Track View Window The Track View user interface is fully customizable. There are many ways you can change the UI to suit your needs. A customized Track View user interface: • Controllers toolbar docked left • Controller window (Hierarchy) hidden 4028 | Chapter 13 Animation • Tools toolbar floating • Navigation toolbar docked right You can hide or display UI elements as you need to use them. Customization tools are available from the Track View menu bar or from several Track View toolbars. You can float or dock the toolbars to the top, bottom, left, or right of the application window, for example, floating a toolbar so it is closer to where you are working. To customize the Track View UI, right-click the menu bar or the blank space to the right of the Track View toolbars. A right-click menu is displayed, with commands for the tools you need to perform your customization. Track View Toolbar Right-Click Menu You can use commands on the toolbar right-click menu on page 4035 to perform most Track View UI customization tasks. Move your cursor over the blank space to the right of the Track View toolbars and right-click to display this menu. Show UI Elements Toggles on and off the display of Track View user interface elements. For example, you can hide or show the menu bar, scroll bars, the controller and key windows, and the time ruler. Menu Bar The menu bar gives access to most of the tools also found on the toolbars. The menu bar can be displayed or hidden in the Curve Editor, Dope Sheet, or track bar. The menu bar is context-sensitive, so it changes its display depending on which Track View mode is active. Scroll Bar Standard Windows scroll bars can be displayed or hidden for the Track View window. These are useful for navigating complex or lengthy windows. Use the Pan hand button to scroll when these are not visible. The middle mouse button can also be used to activate the pan hand to scroll this window. Windows There are two side-by-side display areas in Track View. They are the Controller window and the Key window. The Controller window contains the Hierarchy Customizing the Track View Window | 4029 list with labeled tracks. The Key window displays the keys either as curves in the Curve Editor, or as boxes or ranges on a grid in Dope Sheet mode. Use Show UI Elements, available from the toolbar right-click menu, to hide either window. Time Ruler A movable time ruler is provided. To measure time, you can move the time ruler close to the keys or curves when working zoomed in. Default=on. Track View - Curve Editor Toolbars You can display Curve Editor toolbars on page 3907 for quick access to tools. The Curve Editor toolbars that you can display or hide, dock or float, from the right-click menu include the following: ■ Name toolbarEnter a name in this field to create a named Track View window. You can recall the saved Track View window by choosing Graph Editors menu ➤ Saved Track View on page 4027 submenu. This option is also available in Dope Sheet mode. ■ Navigation toolbarUse these tools to pan on page 4021 and zoom the Key window on page 4023, or zoom to the extents of the time on page 4021 or the values on page 4022. This option is available in both Track View modes. ■ Key Stats toolbarTrack View provides tools for the display and type-in transform of key values on page 4018. This option is also available in Dope Sheet mode. 4030 | Chapter 13 Animation ■ Key Tangents toolbarTrack View gives you quick access to different tangency types of keys on page 3909. This toolbar is most useful when floating near the curves. This option is also available in Dope Sheet mode. ■ ControllersTrack View has tools to copy, paste, assign, delete, and make controllers unique on page 3917. This option is also available in Dope Sheet mode. ■ Track SelectionTrack View gives you tools to select tracks by typing in the name of an object on page 4007. This option is also available in Dope Sheet mode. ■ KeysTrack View provides the tools to move on page 3988, scale on page 3989, and slide keys on page 3948, scale values on page 3990, add keys on page 3991, draw curves on page 3993, and reduce keys on page 3976. This toolbar also has the Filter button, which lets you limit the display in the Controller window. A similar option is available in Dope Sheet mode on page 3913 with different and fewer controls. ■ CurvesTrack View provides tools to select and lock keys and curve handles on page 3911, Customizing the Track View Window | 4031 as well as to make tracks keyable on page 3898, and to apply parameter curve out-of-range types on page 3996. ■ ToolsTrack View gives you tools to create or remove Note and visibility tracks, snap frames, lock selection, properties, and Track View utilities. This toolbar is hidden by default. Dope Sheet Toolbars There are 11 toolbars that can be displayed when in Dope Sheet mode. In addition to the ones listed above for the Curve Editor, you can also choose to display the following: ■ KeysDope Sheet displays the tools to move, add, and scale keys on page 3914, the Filters button on page 3921, and the buttons that let you choose between Edit Keys on page 3940 and Edit Ranges on page 3978 options for Dope Sheet. ■ TimeTrack View provides tools to select and work with time on page 3915. Time can be selected, inserted, cut, copied, pasted, scaled, reversed, or removed. This toolbar works only in Dope Sheet mode. ■ RangesHere are the tools to edit on page 3978, position on page 3979, and recouple ranges on page 3980. 4032 | Chapter 13 Animation ■ DisplayDope Sheet holds tools to modify subtree on page 3893 and modify child keys on page 3895, lock selection on page 3942, snap frames on page 3941, and display keyable icons on page 3898. Soft Selection Toolbar Both the Curve Editor and Dope Sheet Edit Keys mode take advantage of soft selection of keys. If you choose Keys menu ➤ Use Soft Select, then choose Soft Selection Settings on page 3961, the Soft Selection Settings toolbar is displayed. This toolbar is accessible only from the Keys menu, not from the right-click menu. If you want this menu to stay visible, save a Track View layout on page 4033. Track Bar You can dock the Track View windows below the time slider and track bar by choosing Dock ➤ Bottom from the toolbar right-click menu. You can dock multiple Track View windows using this technique. You can also display a Track View window below the viewports by clicking the Open Mini-Curve Editor button at the upper left corner of the track bar. Using this method, the time slider and track bar are replaced with the Track View window. As with Dope Sheet and Curve Editor modes, you use the toolbar right-click menu to display or hide all Track View UI elements. Procedures To save a Track View layout: 1 Customize the Track View layout as you want. 2 When you want to save it, right-click the Track View menu bar or the blank area at the right of the Track View toolbar, and choose Save Layout As. Customizing the Track View Window | 4033 3 Enter a name you will remember. To reload a saved Track View layout: 1 Right-click the Track View menu bar or the blank area at the right of the Track View toolbar and click Load Layout. 2 Choose the layout you want to display in Track View. To save a Track View window: You can save a particular Track View window, displaying to a particular set of tracks, by using the Name: Track View toolbar. ■ Enter the name for the window in the Name field. When you close the window, you can reload it by choosing Graph Editors ➤ Saved Track Views. Then choose the named window from the list. TIP Named Track View windows are saved with a file. Named layouts are independent of the file. To restore the default Track View user interface: If you have customized your Track View user interface and want to return to the original installed version, do the following: 1 In the \plugcfg folder within the 3ds Max install directory, locate the file trackview.bak. 2 Copy the file and rename the copy trackview.ini. 3 In Windows Explorer or My Computer, right-click and choose Properties. Make sure the Attributes is not set to Read-only. TIP You can also right-click the Track View title bar and choose Load Layout ➤ Default to return to the default layout. This works only if you have not saved over the default. To add a new menu bar name to a custom Track View layout: 1 From the Customize menu, choose Customize User Interface. 2 On the Menus panel, click New to create a new menu. Enter the name of the menu in the New Menu field and click OK. 4034 | Chapter 13 Animation 3 Using Notepad, open |plugcfg|trackview.ini, and navigate to the layout section. To affect the Curve Editor toolbar, choose the section named [default], or to affect the Dope Sheet toolbar, choose the section called [Dope Sheet layout]. 4 Change the value of the "Menu Name" entry to the name of the menu you created in step 2. Save the layout after you are done and the changes will be persistent. TIP You can also make the Dope Sheet Editor point at a renamed menu bar by using MAXScript: In the MAXScript Listener, type trackviews.current.ui.menubar = "Dope Sheet - Menu Bar", substituting your menu bar name, and then press the Enter key. NOTE There is also a script that lets you choose menus from a list. Choose Customize menu ➤ Customize User Interface, then on the Menus panel, set Group to Main UI and Category to Track View, and choose Load Menu Bar from the Action list. Select the Track View menu bar you want to customize from the drop-down list on the right. Drag the action to the right window and the menu bar will be customized. Track View Toolbar Right-Click Menu You can use commands on the right-click toolbar menu to perform most Track View UI customization tasks. Move your cursor over the blank space to the right of the Track View toolbars and right-click. This shortcut menu's customization tools are as follows: ■ DockSnaps the toolbars into position horizontally above or below the window, or vertically along the left or right window edge. Once toolbars are horizontally docked, they can be reordered by dragging and dropping them as you like. Also used to dock the window beneath the viewports. ■ FloatFloats the selected toolbar. You can float toolbars anywhere you like. You can also drag the double bars at the left of the toolbar to float the toolbar over the viewport. ■ HideTurns off the display of the selected user interface element. Once something is hidden, you can redisplay it using Show UI Element or Show Toolbar on this menu. Customizing the Track View Window | 4035 ■ Load LayoutLoads a saved default, named, Function Curve, Dope Sheet, or track bar layout. ■ Save LayoutSaves your customized layout, creating a new default layout. When you open a new Track View, this saved layout will be displayed. NOTE To restore the default 3ds Max layout, see To save a Track View layout: on page 4033. ■ Save Layout AsSaves your customized layout with a name you choose. When you've customized your layout, save it with an easily recognizable name, then you can return to it whenever you choose. Use Load layout to retrieve a saved layout. ■ Show UI ElementsToggles the display of Track View user interface elements. For example, you can hide or show the menu bar, scroll bars, the controller and Key windows, and the time ruler. ■ Add ToolbarLets you display additional toolbars that you can create using commands the Customize User Interface pull down from the main menu bar. ■ Delete ToolbarDeletes the selected toolbar. ■ Show ToolbarsLets you choose which toolbars you want to display or hide. NOTE Some toolbars are hidden by default. Motion Mixer The Motion Mixer allows you to combine motion data for biped and non-biped objects. 4036 | Chapter 13 Animation The Motion Mixer takes its design from the world of audio. When a song is recorded in a studio, each instrument is played and recorded separately. Each recording is called a track. The tracks are then put together in a sound mixer so they play simultaneously, or overlap one another. During the mixing process, the mixer operator can change the length or speed of a track, increase or reduce volume, move a track to another place in the song, or cause a track to fade in or out. The Motion Mixer works in a similar way. For any object, you can add multiple tracks on page 9330 to the mixer, each holding a separate series of motion clips (BIP files on page 9105, XAF files). You can trim clips to use only part of a motion, make the clips play slower or faster, or create transitions from one clip or set of clips to another. Motion Mixer | 4037 You can also use the Motion Mixer to animate some body parts with one set of clips, and other body parts with other motions. For example, suppose you have two clips, one where the biped runs with its arms pumping by its sides, and another where the biped stands and cheers with its arms in the air. You can mix the leg and hip motions from the running motion with the arms from the cheering motion to make an animation of a biped cheering as he runs across a finish line. Using the Motion Mixer The Motion Mixer allows you to mix motion files (BIP on page 9105 and XAF on page 4159 files) for any biped or non-biped objects. These motion files are also called clips. 4038 | Chapter 13 Animation The Motion Mixer is comparable to an audio mixer. Motion clips can be cross-faded, stretched, layered, and finally, mixed down to a single clip. The Motion Mixer works by placing motion files on tracks on page 9330. With the Motion Mixer, you can: ■ Transition or fade between motions. ■ Move motions in time. ■ Trim a motion so only part of it is used. ■ Vary the speed of a motion over time. ■ Use animation from selected biped or non-biped body parts within a motion clip. ■ Keep planted feet from sliding during foot-based transitions. To see a biped motion in the Mixer applied to the biped in the scene, you must turn on Mixer Mode from the Biped rollout on page 5010. In the Motion Mixer, motions are imported and mixed for any objects in the scene. Once motions are mixed, you can pass the mix on to other biped (if it contains BIP files) and non-biped objects (if it contains XAF files), or save the mix to a MIX file. Using the Motion Mixer | 4039 Blending Motions in the Mixer The Motion Mixer provides these types of motion blending. ■ You can blend motion from one clip to another with a transition on page 9336. Transitions in the Mixer are similar to those used in the motion flow system on page 5194. The optimization feature can automatically find the best timing for a transition between two clips. When you make a transition between foot-based clips (clips where IK constraints keep the feet planted at certain times), you can cause the transition to focus on one foot or the other. See Working with Transitions on page 4063. ■ In biped animation, if a transition between foot-based clips causes the foot to slide or pop slightly during the transition, you can fix this problem with a mixdown on page 9224 (flattening all tracks into one track). See Exporting Animation to the Biped on page 4080. ■ You can change the weight on page 4069 of clips or tracks so they affect the animation more at some times than others. See Adjusting Track Weight on page 4069. ■ You can use only the part of a clip's motion that affects specified body parts. See Filtering Mixer Tracks on page 4054. ■ When motions applied to a biped's upper body vary greatly from motions on its lower body, the Mixer automatically compensates for discrepancies in balance. See Adjusting Biped Balance in the Mixer on page 4075. NOTE Balance parameters are available only when mixing biped objects. Transitions Between Foot-Based Clips The Motion Mixer excels in its ability to maintain smoothness of motion over transitions between foot-based clips. Foot-based clips use IK constraints to keep one or both feet locked down over the course of the motion. For bipeds, the Mixer provides tools for maintaining foot positions during transitions: ■ Computing the influence of balance from the upper to the lower body. Without this, layered motion tracks will appear to be artificially combined since out since the resulting motion will be plagued by the isolation of dynamics and improper balance. ■ Mixdowns allow for precise elimination of the foot sliding with the aid of knee limit filtering to unnatural knee poppimg artifacts. In short, the goal 4040 | Chapter 13 Animation of the mixer is to assemble seamless, coherent character motion using building blocks composed from other motion fragments. For non-biped rigs and other 3ds Max objects, the Mixer provides velocity blends and sub-blends to maintain smooth and coordinated motion. Comparing the Motion Mixer and Motion Flow Both the Motion Mixer and Motion Flow on page 5194 can be used to create transitions between a consecutive series of BIP files. However, there are a few significant differences between the two features: ■ With the Motion Mixer, several BIP files can be used at the same time to affect biped motion. Compare with Motion Flow, where only one BIP file, or a transition between two consecutive BIP files, affects the biped at any given time. ■ With the Motion Mixer, you can specify that a BIP file will affect only one part of the body. This feature is not available in Motion Flow. ■ In the Motion Mixer, you can use a mixdown to automatically lock feet during transitions between biped foot-based motions. Motion Flow does not perform this function. ■ A Motion Flow network can be used in conjunction with the Crowd feature, giving the bipeds a choice of motions over the course of the simulation. The Motion Mixer does not generate motion for biped crowds. ■ A Motion Flow network can be used to randomly generate different motion scripts for one or more bipeds. This feature is not available in the Motion Mixer. Use the Motion Mixer when you want to create a specific animation for an object from several clips, or you want to specify that some motions be applied only to specific body parts. If you want to work with biped crowds or create random motion, use Motion Flow. If you're creating a straight series of transitions between motions, you can use either one. However, the Motion Mixer has additional tools for improving foot-based transitions. Using the Motion Mixer | 4041 Opening the Motion Mixer You open the Mixer by either clicking the Mixer button on the Motion panel ➤ Biped Apps rollout on page 5009 or choosing Motion Mixer from the Graph Editors menu on page 8616. When you open the Mixer while a biped is selected, a trackgroup on page 9332, a clip track, and a balance track on page 9102 are assigned to that biped. If a non-biped object is selected, the Mixer opens empty. 2. Clip track 3. Balance track These items are discussed in detail in the sections that follow. Procedures To access the Motion Mixer from the Motion panel: 1 Select a biped. 2 Go to the Motion panel. 3 On the Biped Apps rollout on page 5009, click the Mixer button. The Motion Mixer opens, and displays the selected biped and two tracks. To learn about these tracks, see Adding Tracks to the Mixer on page 4043. 4042 | Chapter 13 Animation Accessing the Mixer also turns on Mixer mode for the biped. Mixer mode must be on for the biped in order to see the mixed motion on the biped. To display the Motion Mixer in a viewport: 1 Activate the viewport in which you want to display the Motion Mixer. 2 Click or right-click the Point-Of-View (POV) viewport label, and from the Point-Of-View (POV) Viewport Label Menu on page 8712, choose Extended ➤ Motion Mixer. NOTE When the Motion Mixer is displayed in a viewport, its menu bar is not accessible. However, you can access each menu by right-clicking the corresponding element in the Mixer. To remove the Motion Mixer from a viewport: ■ Right-click a blank area of the Motion Mixer toolbar, and choose another POV from the menu that pops up. Adding Tracks to the Mixer In the Motion Mixer, you begin the mixing process by opening the Mixer, then adding objects to mix, and then loading motion clips to clip tracks on page 9330. One clip track is created automatically if a biped is selected while you open the Mixer, but you'll probably need more to hold all the motions you want to use with your mixed objects. When you open the Mixer while a biped is selected, a trackgroup on page 9332, a clip track, and a balance track on page 9102 are assigned to that biped. If a non-biped object is selected, the Mixer opens empty. Using the Motion Mixer | 4043 1. Trackgroup 2. Clip track 3. Balance track This section discusses clip tracks. To learn about trackgroups, see Filtering Mixer Tracks on page 4054. For information on the balance track, see Adjusting Track Weight on page 4069. Adding and Merging Non-Biped Object to a Mix When you add a non-biped object to a mix, its keyable controllers are replaced by mixer controllers, which store the object's original animation as well as the Mixer animation. If you merge a non-biped object containing Mixer controllers into a new scene, it comes in with its mix name preserved from the original file, but without any mixed animation. Types of Clip Tracks There are two types of tracks to which you can add clips: Layer A track for a series of motions that do not need transitions between them. By default, a Layer track is created for a biped when you open the Mixer. 4044 | Chapter 13 Animation Layer track Transition A tall track with room for two rows of clips. You can put one motion file on the top tier and another on the bottom, and place a transition in the area where the two clips overlap. Transitions on these tracks are similar to Motion Flow transitions on page 5212 between clips. Transition track Each biped in the Mixer is automatically given a balance track on page 9102, used for adjusting balance between clips in Layer and Transition tracks. Clips cannot be added to the balance track. NOTE Balance tracks are only available for mixed biped objects. Using the Motion Mixer | 4045 Procedures To add a Transition or Layer track to a trackgroup: ■ Right-click an existing track and choose one of the options for adding tracks from the pop-up menu. To convert a clip track from one type to another: ■ Right-click an existing track, and choose one of the options from the pop-up menu for converting tracks. 4046 | Chapter 13 Animation To add a biped to the Motion Mixer: 1 On the Motion Mixer toolbar, click (Add Biped). 2 From the Bipeds dialog, choose the bipeds you want to add to the Motion Mixer. Several bipeds can be added to the mixer at once. When you click OK, highlighted bipeds are added to the mixer. Each is automatically assigned a trackgroup, a clip track, and a balance track. To add a non-biped object to the Motion Mixer: 1 On the Motion Mixer toolbar, click (Add Max Objects). 2 From the Max Objects To Mix dialog, choose the objects you want to add to the Motion Mixer. TIP You can save time if you first select your objects, and then open the dialog. This way, the objects are automatically highlighted. 3 Enter a mix name or leave the default one. Using the Motion Mixer | 4047 When you click OK, the highlighted objects are added to the mixer under a single object mix . A track is automatically assigned to the object. Importing Clips to the Mixer You can import motion clips (BIP and XAF files) into the mixer. To import a clip, use any of these methods: ■ Choose a file directly from the folder in which it resides. ■ Choose a file from those you have placed in the Reservoir on page 4084, a storage area for BIP and XAF files. ■ Import motion from another biped in the scene. See Working with Clips in the Mixer on page 4052. ■ Import a motion flow script. All clips imported for a single object are assigned a random, unique color. For example, all clips for one biped might be red, while those for another biped are blue. The color distinction makes it easier to work with multiple bipeds and non-biped objects in the Motion Mixer. Biped rollout ➤ Mixer Mode must be turned on in order to see the motion on the biped in viewports. This option is turned on by default when you open the Mixer from the Biped rollout on page 5010. The Motion Mixer might not display the entire active segment when it is first opened. To set the Mixer display to the extent of clips in the Mixer, click Set Range on the Motion Mixer toolbar. Preparing BIP and XAF Files To use a motion file with the Motion Mixer, it must first be saved as either a BIP or XAF file. Many BIP files come with 3ds Max; you can use these, or you can make your own. To find out how to create your own BIP files, see Loading and Saving BIP Animation on page 4978. For more information of XAF files, see Saving and Loading Animation on page 4141. 4048 | Chapter 13 Animation Importing XAF Files Non-biped object assets are loaded into the Mixer using the Load XML Animation File dialog on page 4144, from which you pick the desired XAF motion file to import. If the motion file needs an XMM mapping file, you can either choose an existing one or open the Map Animation dialog on page 4147 to create a new file. TIP If you load multiple motion clips at the same time, you can pick a mapping file only once if all clips use the same. NOTE The Relative/Absolute and Replace/Insert options are unavailable when you import XAF files. NOTE Loading XAF clips from the Reservoir on page 4132 follows the same workflow. Interpreting Clip Names When you load a clip into the Mixer, the clip appears on the track as a solid bar, with its name displayed on the clip. Other information can appear on the clip, such as the start and end frames, and the clip scale on page 4060. You can change the information that displays on the clip by clicking Preferences on the Motion Mixer toolbar, and changing the Clips options on the Mixer Preferences dialog on page 4137. Using the Motion Mixer | 4049 You can use the same clip numerous times in the Mixer. Each version of the clip displays the name of the BIP file, followed by a number, such as 1 or 2. The name might also have the letter Z between the name and number. These suffixes tell you how the clip is interpreted by the Mixer. When you load a biped clip from a file, you have the option of setting the lowest starting foot height to Z=0 (the construction plane). If you leave this option turned on, the clip's motion will be moved in space so the biped's feet fall on the construction plane on the first frame of the clip. The letter Z appears after the clip name to indicate this setting. When you load a clip into the Mixer for the first time, the clip name is followed by the number 1. If you clone or load the same clip to another part of the Mixer, the clip will display the same number or a different number depending on whether the new clip is an instance on page 9195 or an adaptation on page 9084 of the original clip. Instances are versions of the same clip used with the same object, or different objects of the same size. Adaptations are versions of the clip used with objects of different sizes. The Mixer displays instanced clips with the same numbers, while adaptations receive sequential numbers. For example, if you clone a clip with the number 1 to a track for the same object, the new clip's name is also followed by the number 1. If you clone the clip to a object with a different size, the new clip is an adaptation, and the displayed name is followed an incremental number: in this case, the number 2. If you then clone the adaptation to another track for the same object, the new clip is an instance of that clip, and will be displayed with the number 2. These numbers can help you determine which clips are instances of one another, and which are adaptations. The ability to tell instances from adaptations becomes important when you replace a clip in the Mixer with another clip. During this operation, you have the option of replacing only the selected clip, only the instances of the clip, or all instances and adaptations of the clip. NOTE Operations in the Mixer, such as cloning clips and editing clip timing, do not affect the clip sources (BIP files). Procedures To import BIP clips from a file: 1 Select a biped, and open the Motion Mixer. See Adding Tracks to the Mixer on page 4043. 4050 | Chapter 13 Animation 2 In the Motion Mixer, highlight the track into which you want to bring the motion file. Be sure to highlight a blank area of the track and not any existing clips on the track. 3 From the Motion Mixer menu, choose Tracks ➤ New Clips ➤ From Files. You can also right-click the track and choose New Clips ➤ From Files from the pop-up menu. 4 Navigate to the folder where your BIP files are stored, and select one or more BIP files. You can select as many BIP files as you like. These motions will be placed consecutively on the selected track. Files imported into the Mixer in this way are automatically placed in the Reservoir. To import clips from the Reservoir: In order to import clips from the Reservoir, you must first place them in the Reservoir. See Using the Reservoir on page 4084. 1 Highlight a blank area of the track into which you want to bring the motion(s). 2 From the Motion Mixer menu, choose Tracks ➤ New Clips ➤ From Reservoir. You can also right-click the track and choose New Clips ➤ From Reservoir from the pop-up menu. 3 Select one or more BIP or XAF files. To import clips from a motion flow script: Motion flow scripts can be imported to a track in the Mixer. Both clips and transitions from the script are imported to the track. Before you can import motion flow to a track, the biped must have at least one motion flow script assigned to it in Motion Flow mode. See Creating a Motion Flow Script on page 5204. 1 Highlight a blank area of the track into which you want to bring the Motion Flow clips and transitions. You can choose either a transition or layer track. 2 From the Motion Mixer menu, choose Tracks ➤ Import Motion Flow. You can also right-click the track and choose Motion Flow from the pop-up menu. Using the Motion Mixer | 4051 3 Choose a script from which to import motion. The clips and transitions from the script are imported to the Mixer and displayed the track. If the track was a layer track, it is converted to a transition track to accommodate the transitions imported from the script. To see the motions in the Motion Mixer on the biped in the scene: 1 Select the biped for which you want to see the current motion from the Motion Mixer. 2 On the Biped rollout, click 3 (Mixer Mode). Play the animation or drag the time slider to see the motion in viewports. Working with Clips in the Mixer Once you have created tracks and imported clips to the Motion Mixer, you can adjust your animation mix by moving, cloning, and replacing clips. Within the Motion Mixer, you can: ■ Move clips in time within the same track. ■ Move clips to other tracks. ■ Clone clips. ■ Slide all clips in time on a track. ■ Replace a clip with motion from a biped, a motion flow script, or another clip. To move a clip in time within a track: 1 On the Motion Mixer toolbar, click 4052 | Chapter 13 Animation (Move Clips). 2 Drag the clip and move it to another location on the track. A clip cannot be moved in such a way that it overlaps another clip. If you move a clip on top of another clip, it will return to its original location when you release the mouse. Procedures To move all clips horizontally on one track: 1 Select one or more clips. You can select multiple clips on different tracks for this operation. 2 On the Motion Mixer toolbar, click (Slide Clips). 3 Move the selected clips to slide clips to the left or right. When you slide a selected clip to the right, all unselected clips to the right of the clip move to the right. When you slide a clip to the left, all unselected clips to the left move to the left. To move a clip to another track: 1 On the Motion Mixer toolbar, click (Slide Clips). 2 Move one clip on a track to slide all clips on the track. To replace one clip with another: After a clip is placed on a track, you can replace the clip with another clip. The new clip is scaled to fit the time of the original clip. 1 Select the clips you want to replace. 2 Right-click a selected clip and choose Load Source ➤ From Files from the pop-up menu. Select a BIP file to replace selected clips. 3 On the Mixer Clip Source Options dialog, choose whether to replace only the selected clips, or to also replace instances on page 9195 (versions of the clip on same-sized bipeds) or adaptations on page 9084 (versions of the clip on all bipeds). Using the Motion Mixer | 4053 To clone a clip: Clips can be cloned within the same track, across tracks, and even across bipeds in the Mixer. A cloned clip retains the Z=0 status of the original clip (if this option was selected for the original clip), and any changes made to the original clip's timing. Cloning a clip to a different-sized biped creates an adaptation on page 9084 of the original clip. 1 Make sure there's enough space on the track where you want to place the cloned clips. Move clips as necessary to make room. 2 Select the clips you want to clone. 3 Hold down the Shift key on your keyboard, and drag the selected clips to the new location. If there isn't enough room where you attempted to placed the cloned clips, the operations is cancelled and clips are not cloned. To replace a clip with motion from a biped in the scene: All motions used in the Motion Mixer must be saved as BIP files. When you copy animation from a biped in the scene, you must save this motion as a BIP file. 1 Place a clip in the track using any method. 2 Select the clips you want to replace with biped motion from the scene. 3 From the Motion Mixer menu, choose Clips ➤ Load Source ➤ From Biped. The Copy Biped Animation to Clip dialog on page 4089 appears. 4 Highlight the biped from which you want to copy the animation. 5 Enter a filename for the new clip. 6 Click Copy to replace clips with the biped motion. The name of the clip in the track is replaced with the new filename. Filtering Mixer Tracks Each track in the Motion Mixer is part of a trackgroup on page 9332. Each trackgroup can be filtered so it uses motions from one set of body parts and not another. For example, you might want to use the arm motions from one motion file with the legs from another. For this purpose, you would need two separate trackgroups. 4054 | Chapter 13 Animation There are two steps involved in filtering with trackgroups: ■ Create additional trackgroups as needed in the Mixer. ■ Filter each trackgroup (set it to use some body parts but not all), and name the trackgroup appropriately. This is accomplished with the Trackgroup Filter dialogs (biped and non-biped objects). The Trackgroup Filter dialog for biped objects. Using the Motion Mixer | 4055 The Trackgroup Filter dialog for non-biped objects. When a trackgroup is created, it is given one Layer track by default. However, you can add more tracks to each trackgroup, making it possible to mix motions for each set of body parts. For example, you could create a trackgroup for the arms, and have two tracks within this trackgroup. Then you could put two completely different sets of motions on each track, and use weighting to use one track or the other at different times during the motion. See Adjusting Track Weight on page 4069. 4056 | Chapter 13 Animation Trackgroups for Spine, Legs and Arms. The Arms trackgroup has two tracks. NOTE Create only one trackgroup for each filtered set of body parts. For example, don't use two trackgroups that both filter the spine. If you do so, the trackgroup highest in the Motion Mixer is used, and the other trackgroup is ignored. Instead, use multiple tracks within the trackgroup to achieve the animation you want. Procedures To add a new trackgroup for the biped: 1 Highlight the name of an existing trackgroup. 2 Right-click the trackgroup name and choose Add Trackgroup Above or Add Trackgroup Below. Using the Motion Mixer | 4057 3ds Max adds a new trackgroup and Layer track above or below the existing trackgroups. You can add more tracks to the trackgroup by right-clicking the existing track and choosing one of the options from the pop-up menu. To filter and name a trackgroup: 1 Highlight the trackgroup label at the upper left corner of the trackgroup you want to filter. By default, the trackgroup label is All, denoting that the trackgroup currently affects all biped parts. 2 From the Motion Mixer menu, choose Trackgroups ➤ Filter. 3ds Max opens the Trackgroup Filter dialog. By default, all body parts are selected. 4058 | Chapter 13 Animation 3 In the diagram, click on body parts to select or deselect them. You can also use the buttons below the diagram to help make the selection. For example, if the trackgroup will affect only the arms, click None to deselect all biped parts, then click the four arm boxes to select the arms. 4 Enter an appropriate name for the trackgroup at the bottom of the Trackgroup Filter dialog, such as Arms. Using the Motion Mixer | 4059 5 Click OK to close the dialog. The new trackgroup name appears at the upper left of the track display. Adjusting Clip Timing In the Motion Mixer, you can shorten clips or change their timing interactively within the track display. 4060 | Chapter 13 Animation You can change the timing of motion clips in a number of ways: ■ Change the length of a clip without changing its speed by trimming the clip at the start or end. ■ Change the speed of an entire clip by stretching it out or shrinking it. ■ Cause varying changes in speed throughout the clip with time warps. See Adding Time Warps on page 4071. TIP When changing clip timing, it can be helpful to display start and end frame numbers and the clip time scale. To do this, click Preferences on the Motion Mixer and choose the appropriate options in the Mixer Preferences dialog on page 4137. As you choose options, the Motion Mixer display is changed interactively. Procedures To change the length of a clip without changing its speed: 1 On the Motion Mixer toolbar, click (Trim Clips). 2 Drag either end of a clip to trim its length. Using the Motion Mixer | 4061 A gray bar appears on a trimmed end of a motion clip. 3 Turn off Trim Clips. The gray area disappears. TIP At any time, you can view original clip lengths in gray by turning on Trim Clips. To remove scaling or trimming from a clip in the Motion Mixer, select the clip, right-click and choose Remove Scale/Trim. To change the speed of an entire clip: You can cause a motion to slow down or speed up by changing the length of the clip in the Mixer. Lengthening a clip will slow down the motion, while shortening the clip will speed it up. 1 On the Motion Mixer, click (Move Clips). 2 Drag either end of the clip to extend or shorten it in time. TIP To see the ratio of the original motion time to the new time, click (Preferences). In the Mixer Preferences dialog, turn on Scales. This displays the ratio on the clip next to its name. 4062 | Chapter 13 Animation Working with Transitions When two or more clips are placed on a transition track on page 9337, you can create transitions between any two clips. A transition creates a constant, gradual change from one clip to another. Clips and transitions on Transition track. Transitions are shown as dark areas between clips. To learn how to create a transition track, see Adding Tracks to the Mixer on page 4043. If you want to make a less linear blend between clips than the blend created by a transition, see Adjusting Track Weight on page 4069. Using the Motion Mixer | 4063 Adjusting Transitions Transitions are automatically created between clips when you load the clips into a Transition track. You can adjust the start or end point of a transition by dragging either end of the transition in the Mixer. When a transition appears with hatchmarks, this indicates that the transition is invalid. This can occur when a clip's brackets are reversed, with the out-bracket before the in-bracket. You can correct this problem by dragging each end of the transition to reverse the ends. A useful transition can occur anyplace where two clips overlap. The unused part of the clip on either side of the transition appears with hatchmarks to indicate that that part of the clip will not be used in the mix. This type of transition is often used for foot-based clips, when the best place for a transition is not always at the edge of a clip. Hatched parts of the clips are not used in the mix. The Motion Mixer will allow you to extend a transition into an area where two clips do not overlap. However, this transition will most likely result in undesirable motion in the mix. 4064 | Chapter 13 Animation Transitions extending into areas where clips don't overlap can create unpredictable results. For the best results, make sure all your transitions cover only areas where two clips overlap completely. To aid in making your transitions as smooth as possible, you can select transitions and use the Transitions menu ➤ Optimize option. This feature searches the two clips to find the start and end time that will result in the smoothest transition, and adjusts the transition accordingly. If you want to snap the ends of a transition to the ends of clips, turn on Snap Clips on the Motion Mixer toolbar before dragging the transition edges. When you move or scale a clip on a transition track, by default its transitions are also moved or scaled. To prevent transitions from changing when you move or scale a clip, turn on Lock Transitions on the Motion Mixer toolbar. Using Transition Brackets On a transition track, transition brackets appear around each transition, and at the start or end of each clip that is not surrounded by a transition. Using the Motion Mixer | 4065 Transition brackets When you load a clip onto a transition track where clips already exist, the clip creates a transition between the last clip on the track and the new clip. The transition is created at the location of the last clip's transition bracket. You can move a transition bracket to create the transition automatically exactly where you want it before loading the next clip. This feature can make it very quick and easy to load a long series of clips into a transition track with correct transitions. Working with Foot-Based Transitions Much like Motion Flow, transitions in the Mixer between foot-based motion clips (clips where IK constraints keep the feet planted at various times) must be carefully placed and adjusted to make the animation look as natural as possible. The workflow depends on whether you are animating a biped, or 3ds Maxobjects such as a rigged character. Foot-Based Transitions with Biped For the most natural transitions between foot-based motions, follow this workflow: 1 Find a good place to start and end the transition. 2 Create the transition with this timing. You can also optimize the transition to fine-tune it. 3 Change the transition focus. 4066 | Chapter 13 Animation 4 Perform a mixdown. Study both clips to find a start time and range for the transition that will result in smooth motion. Look for times when each foot has the same planting or free status in both clips. For example, a time period when both clips have the left foot planted and the right foot free is a good time range for a transition. You can fine-tune your choice of transition time by optimizing the transition. This features searches each clip, either in its entirety or near an existing transition, to find the best timing for the transition. You can improve a transition between foot-based clips by changing the transition focus on the Transition Editor dialog (Biped Object) on page 4104. In the example described above, the left foot would be chosen as the transition focus, because this would keep the left foot planted while the animation moves around it. When transitions cause a planted foot to slide or pop slightly, or force a leg to straighten unnaturally, you can use a mixdown on page 9224 to correct these problems. See Exporting Animation to the Biped on page 4080. Foot-Based Transitions with 3ds Max Objects For foot-based motions, follow this overall workflow: 1 Find a good place to start and end the transition. 2 Create the transition with this timing. 3 Choose the parent object to be a velocity blend object. 4 Choose the model's feet to be sub-blend objects. 5 Optimize the transition. Procedures To create a transition between two clips: 1 Right-click an existing track to insert a Transition track or convert the current track to a Transition track. 2 Right-click the track and choose New Clips ➤ From Files from the pop-up menu. Choose at least two clips to load. The clips are placed on the transition track with transitions between them. Using the Motion Mixer | 4067 3 Drag the transition to move it, or drag its ends to resize it. 4 Before adding the next clip, move the last clip's transition bracket to the next desired transition location, and then load the clip. To optimize a transition: With foot-based clips, you can use the Optimize command on page 4097 to help you find the best timing for a transition. The Optimize command exhaustively searches the specified time period for times when the foot positions match most closely. TIP A good workflow is to look at the clips individually to find the best approximate time for a transition, then use Optimize to fine-tune the timing. 1 Create a transition between clips at approximately the right location on the track. 2 Right-click the transition and choose Optimize from the pop-up menu. The Transition Optimization dialog on page 4117 appears. 3 Choose Search Near Existing Transition and click OK. The best transition is calculated, and the transition changes position and/or length in the Mixer to reflect the change. TIP If you aren't sure where you want the transition to take place, you can choose Search Entire Clip. This option can place the transition anywhere in the two clips. Check the motion afterward to ensure the transition takes place at an appropriate time. To change the focus on a foot-based transition with Biped animation: 1 Scrub the time slider to the middle of the transition. 2 Zoom in on the feet in any viewport. 3 Right-click the transition and choose Edit from the pop-up menu. Alternately, you can select the transition and choose Transitions ➤ Edit from the Motion Mixer menu. The transition editor appears. In addition, two stick figures appear in viewports to show the bipeds' positions in the two clips. The yellow stick 4068 | Chapter 13 Animation figure shows the biped's position in the first clip, while the red figure shows the second. 4 On the dialog that appears, choose a different Transition Focus from the list. As you change the Transition Focus, you will see the foot positions change. The Transition Focus sets a center or focal point for the transition, changing the biped's position slightly depending on the setting. On foot-based transitions, try different settings to bring the yellow and red skeletons closer together on a planted foot. NOTE Transitions involving planted feet often result in one or both feet sliding when they should stay planted. After setting up the transition, you can correct this problem with a mixdown. See Exporting Animation to the Biped on page 4080. Adjusting Track Weight Each track has one or more weight curves on page 9348 that you can use to mix motion from several tracks to varying degrees. The weight curve determines how much a specific track contributes to the motion within the trackgroup. With weight curves, you can create several full or partial transitions between all the tracks in a trackgroup. Compare with transitions on a transition track on page 9337, which can only create a full transition between two clips. Weight curves are useful for: ■ Creating transitions between two tracks in a trackgroup. ■ Creating random motion. Using the Motion Mixer | 4069 ■ Experimenting with transitions quickly and easily. Each track's weight curve appears as a thin black line across the top of the track. TIP If you can't see the weight curve, click Preferences to display the Mixer Preferences dialog on page 4137. Turn Weight Curves off and on and watch the display to see the weight curve appear. You access the weight curve by clicking the Weight Mode button at the right end of the track. Clicking Weight Mode on the Motion Mixer toolbar enables weight curve editing for all tracks. When Weight mode is on, you can work only with the weight curve, and not with clips. You edit a weight curve using nodes (points) on the curve. Clips on layer tracks automatically have a node at each end of each clip. A transition track has no nodes by default. Weight Curve Evaluation By default, each track's weight curve is set to a value of 1.0 across the entire track, which uses 100% of the track's motion in the mix. When you change the curve to dip to a value below 1.0, the motion on the track is mixed with the motion on the track below it. For example, if you set the weight curve for two tracks in a trackgroup to 0.5, the two clips will be mixed equally. Several tracks can be stacked in a trackgroup with varying weight curves on each one. For each frame in the animation, the Motion Mixer evaluates the curve on the topmost track. If its weight curve is less than 1.0 at that frame, the Mixer evaluates the next track down, and so forth. The Motion Mixer adds up the weight curve values until the sum reaches 1.0, and disregards tracks below that point. For Transition tracks, one weight curve is used for the entire track. On Layer tracks, weight curves are set individually for each clip. Procedures To adjust a weight curve: 1 Open the Mixer, add a biped to the Mixer, and create two tracks for a trackgroup. See Filtering Mixer Tracks on page 4054. 2 Place different motion clips on the tracks. 4070 | Chapter 13 Animation 3 For the topmost track in the trackgroup, click button is to the right of the track display. (Weight Mode). This The weight curve turns red to indicate it can be edited. You have to do the next two steps only if the weight curve has no nodes, or would like to create more nodes. 4 Move the cursor over the line until a small arrow appears. Click to set a node. 5 Move the cursor and click to set more nodes on the weight curve. TIP On a transition track, you would ordinarily set a node at each end of the track, and at intervals in between. The number of nodes you set depends on the type of curve you want to make. Make as few nodes as possible to get the curve required for your animation. 6 Move the cursor over an existing node until a cross cursor appears. 7 Click and drag to move the selected node downward. The Motion Mixer mixes the motions from the topmost track with the track below it on that frame. The motions are mixed to a greater or lesser degree depending on how low you set the weight curve value for the topmost track. Adding Time Warps Select a biped. ➤ Motion panel ➤ Biped Apps rollout ➤ Mixer ➤ Motion Mixer menu bar ➤ Clips ➤ Add Time Warp Graph Editors menu ➤ Motion Mixer... ➤ Clips ➤ Add Time Warp You can cause varying changes in speed throughout a clip with a time warp. Adding a time warp to a clip allows you visually to squash and stretch time over different parts of the clip. You can use a time warp to: ■ Cause the object to do some parts of the motion quickly and others slowly. ■ Cause a particular motion within the clip to occur at a specific time. Using the Motion Mixer | 4071 You use a time warp by picking a time within the motion clip and dragging that time's motion to another time in the same clip. The overall time of the clip is unchanged, so the object takes the same amount of time to do the entire motion, but does some parts quickly and others slowly. Dashed lines appear on a time-warped clip in the Mixer to indicate the motion speed at different points in the clip. Time warp added to topmost clip. Warping a clip's time requires two steps. First a time warp must be added to the clip with the Clips ➤ Add Time Warp menu option. Then you turn on Editable Time Warps to see the dashed lines and adjust the clip's timing. Procedures To prepare to warp a clip's time: 1 Open the Motion Mixer, add a biped to the Mixer, and load a clip on a track. See Adding Tracks to the Mixer on page 4043. 2 Scrub the time slider to find a motion you would like to occur earlier or later in the clip. Note the frame number. This frame number is the original time. 3 Scrub the time slider to find the frame on which you would like the motion to occur, and note the frame number. This frame number is the warped time. With a time warp, you will cause the motion to occur at the desired frame by moving the original time to the warped time within the clip. 4072 | Chapter 13 Animation To warp a clip's time: 1 In the Motion Mixer, zoom in on the original time for the time warp. This is the frame number you noted in step 2 of the previous procedure. 2 In the Motion Mixer, select the clip. 3 From the Motion Mixer menu, choose Clips ➤ Add Time Warp. The appearance of the clip does not change when a time warp is added. 4 On the Motion Mixer toolbar, click (Editable Time Warps). A series of evenly spaced dashes appears on the clip. The lengths of the dashes indicate the relative speed of the clip at various points. Right now, all dashes are evenly spaced to indicate the clip is playing at its original speed from beginning to end. 5 Move the cursor over the clip's horizontal center line until an arrow cursor appears. Using the Motion Mixer | 4073 6 At the approximate original time, click the clip to set a time warp bar. A time warp bar actually consists of two parts, a top and a bottom. 7 Click the top half the bar. The top half turns white to indicate it is selected. 8 Drag the top half of the bar to the left or right to set it to the warped time noted in step 3 of the previous procedure. This will cause the motion at the original time to occur at the warped time. TIP As you drag the top bar, watch the Frame value at the top of the Motion Mixer window to see the top bar's new frame number. The lengths of the dashed lines change to indicate the new timing. Where lines are shorter, the motion will play faster. Where lines are longer, the motion will slow down. 9 Select and move the bottom bar to change the original time. 4074 | Chapter 13 Animation Either bar can be moved to change the effect of the time warp. The length of separation between the two bars sets the degree of time-warping that will occur. When both bars are aligned, no warping occurs. To add multiple time warps to a clip: 1 You can time-warp other parts of the clip by adding more time-warp bars with the arrow cursor, then moving the new top bars. When you add a second time warp bar after editing the first, the top bar appears where you click, but the bottom bar appears in a different location. The bottom bar's location corresponds to the original time of the top bar before the clip was time-warped. NOTE You cannot move one time warp's top bar past another on the clip. 2 When you have finished warping the clip's time, turn off Time Warps). (Editable When Editable Time Warps is turned off, the bars and the dashed line between them remain displayed on a clip to indicate it has been time-warped. Adjusting Biped Balance in the Mixer When you use different motions on the upper and lower parts of the biped, you can create a situation where the balance in the two clips do not match one another. For example, if the arms are waving wildly in the motion used for the upper body, the hip motion should compensate to some degree to keep the biped in balance. A straight mix of this arm motion with another hip/leg motion will most likely not match up in terms of balance. Using the Motion Mixer | 4075 Bipeds with same set of upper and lower body motions. Biped on the left has balance compensation, biped on the right does not. By default, the Mixer compensates for differences in upper and lower body motion by making slight alterations to the spine and pelvis motions. If the biped bends over at the waist, for example, the pelvis will be moved to compensate for the weight shift, and the spine rotation will be lessened to help the biped keep its balance. Balance compensation is intended to make the biped's motion look as natural as possible. In the Mixer, you can control the degree of automatic balance compensation using the balance track. One balance track is automatically created for each biped as it is added to the Mixer. 4076 | Chapter 13 Animation Balance track TIP If the balance track for a biped is not displayed, click Preferences on the Motion Mixer toolbar, and turn on Balance Curves on the Mixer Preferences dialog on page 4137. The balance track has a weight curve for adjusting the degree of automatic balance compensation between upper and lower body trackgroups. By default, the weight value of 1.0 across the balance track provides the maximum degree of compensation. You can reduce the weight curve at various points to lessen the degree of automatic balancing performed by the Mixer. NOTE Each biped can have only one balance track, and the balance track cannot be deleted. For fine adjustments to balance compensation, you can also change the parameters on the Balance Parameters dialog on page 4090, available from the Mix menu. NOTE Balance Curves and related parameters are not available for non-biped mixes. Procedures To adjust balance using the balance track: 1 Add a biped to the Mixer, and create at least two trackgroups for the biped. See Filtering Mixer Tracks on page 4054. 2 Filter one trackgroup to use motion only from the spine, arms and head. See Filtering Mixer Tracks on page 4054. This trackgroup will hold the upper body motion. Using the Motion Mixer | 4077 3 Filter a different trackgroup to apply only to the legs, pelvis and COM tracks. This trackgroup will hold the lower body motion. 4 Add a clip with a great deal of upper body motion to the upper body track. See Importing Clips to the Mixer on page 4048. 5 Add a clip with very different lower body motion to the lower body track. 6 Click (Balance Weight Mode). This button is at the far right of the balance track. The weight curve becomes visible at the top of the balance track. TIP If you can't see the weight curve, click Preferences to display the Mixer Preferences dialog, and turn on Weight Curves. 7 Add nodes to the weight curve, and adjust the nodes. For information on how to add nodes and edit weight curves, see Adjusting Track Weight on page 4069. 4078 | Chapter 13 Animation When the weight is set to 0.0, the Mixer will not adjust the spine and pelvis motion to compensate for differences in the upper and lower body motion. Values between 0.0 and 1.0 will adjust the balance to some degree. To fine-tune balance compensation on the pelvis and spine: The values on the Balance Parameters dialog can be used to make subtle adjustments to the biped's balance. 1 In the Motion Mixer, select the biped by clicking its name at the upper left corner of its trackgroups. 2 From the Motion Mixer menu, choose Mix ➤ Balance Parameters. The Balance Parameters dialog appears. 3 To adjust the degree of horizontal balance compensation on the pelvis, change the Lateral Ratio parameter. Lower values make more forward/backward motion on the pelvis, while higher values use more side-to-side motion to compensate. 4 To adjust the degree to which spine rotation from the lower body motion is propagated on the upper body, change the Propagation parameter. Higher values rotate the spine links to better follow the COM and pelvis motion. Using the Motion Mixer | 4079 Bipeds with same upper and lower body motion. Biped on left has Propagation set to 0.0, biped on right with Propagation at 1.0. Exporting Animation to the Biped Once you've worked with the Motion Mixer to create an animated sequence for the biped, there are several ways to work with the finished mix. If you want to work with the mix on the current biped (rather than a another biped in the scene), you have several options: ■ If you're satisfied with the animation as it is, you can turn on (Mixer Mode) on the Biped rollout on page 5010 to display the mix on the biped, and simply render the scene. 4080 | Chapter 13 Animation ■ If transitions between different foot/leg motions have created small pops or jerks near the transition area, you will want to create a mixdown on page 9224 for the biped and check the mixdown before copying it to the biped. A mixdown can correct many continuity problems with feet and legs. You can correct transitions and recompute the mixdown as many times as you like. When the mixdown is satisfactory, you can copy it to the biped. If you want to use the motion with a different biped, you can copy the mixdown to the current biped, save the motion as a BIP file, and load the new BIP file onto the other biped. The mix can also be saved as a MIX (.mix) file. A MIX file on page 9223 can be loaded onto other bipeds and edited as needed in the Motion Mixer. Fixing Foot-Based Transitions with a Mixdown When you create a transition between two motions with planted feet (feet with IK constraints), the motion might not match perfectly between clips. When this occurs, a planted foot might slide or pop, or a leg might stretch unnaturally during or near the transition period. A mixdown can correct two types of problems during transitions between foot-based motions: ■ A foot sliding as it transitions from one planted motion to another. ■ A leg extending completely straight (hyper-extending) unnaturally to reach a planted position. The mixdown options on the Mixer Preferences dialog on page 4137 can help correct these problems. To access this dialog, click Preferences on the Motion Mixer toolbar. Using the Motion Mixer | 4081 To have an effect on a mixdown, these options must be set before the mixdown is computed. If Prompt for options at each Mixdown is turned on, you will be prompted to set these options each time you compute a mixdown. Otherwise, the mixdown uses the settings on the Mixer Preferences dialog. The options in the Mixdown Options group determine if and how the mixdown affects transitions between clips with planted feet. Enforce IK Constraints affects planted feet, while Filter Hyper-Extended Legs affects unnaturally straight legs. Turn on Prompt for options at each Mixdown if you want to be asked for these settings each time you do a mixdown. For more information on these options, see Mixer Preferences Dialog on page 4137. TIP You should not rely on the mixdown process to correct extreme problems with clips or transitions. For the best results, adjust transitions before a mixdown to minimize sliding feet and hyper-extending legs. See Working with Transitions on page 4063. Procedures To perform a mixdown and copy it to the biped: 1 Select the biped in the Motion Mixer by clicking the biped name at the upper left of the trackgroup set. 4082 | Chapter 13 Animation 2 From the Motion Mixer menu, choose Bipeds ➤ Compute Mixdown. If Prompt for options at each Mixdown is turned on in the Mixer Preferences dialog, you will be prompted for mixdown options. Click OK to start the mixdown. A progress bar at the bottom of the Mixer shows the progress of the mixdown process. After a few moments, a new track called Mixdown is created as the last track in the biped’s mix. You can turn the track on and off by clicking the track. When the track is solid, the Mixdown track is on (active), and the biped performs the animation in the mixdown. When the track appears with hatchmarks, the track is off (inactive), and the biped performs the animation in the raw mix. 3 Click the Mixdown track to make it active. 4 Scrub the time slider or play the animation to check the transitions. If they need correction, turn off the Mixdown track, correct the transitions, and compute the Mixdown again. Repeat until the transitions are correct. 5 With the Mixdown track active, choose Bipeds menu ➤ Copy Mixdown to Biped. 6 Turn off (Mixer Mode) if it is on. The mix from the Motion Mixer is visible on the biped in viewports even though the biped is no longer in Mixer mode. 7 To save the animation as a BIP file, on the Biped rollout, click File). (Save To save Motion Mixer data to a MIX file: A MIX file saves the current state of the Motion Mixer data for a selected biped, including all clips, transitions, trims, scaling and time warps. It is not necessary to collapse clips before saving a MIX file. 1 Select the biped in the Motion Mixer by clicking the biped name at the upper left of the track set. 2 From the Motion Mixer menu, choose Bipeds menu ➤ Save Mix File. Enter a filename for the .mix file, and click Save. Using the Motion Mixer | 4083 Using the Reservoir The Reservoir serves as a storage facility for motion clips on page 9230 (BIP and XAF files) that you use with the Motion Mixer. You can load clips directly into the Reservoir, and all clips that you load directly in the Motion Mixer also show up in the Reservoir. For each motion file used in the Motion Mixer, the Reservoir list shows the source (disk path and name of the file), and, under the source, shows the name of each clip or set of clips derived from that file. 4084 | Chapter 13 Animation The Motion Mixer can apply multiple adaptations on page 9084 (occurrences of the clip for different-sized bipeds) to different bipeds. In the Reservoir, the various clip adaptations are listed under the clip name. If you click a clip in the list, the window under the list displays information about the clip, including structural differences between the figure it's applied to and the figure from which the file was originally saved. A second window displays a graphical view of the biped animation; drag the slider below the window to move through the animation. Using the Motion Mixer | 4085 NOTE The preview window is available only for BIP files. TIP For best results when loading animation clips that might require remapping into the Motion Mixer, load the clips directly into Mixer tracks, rather than going through the Reservoir. This always gives you the opportunity to remap the animation data. Saving Clip Adaptations The Reservoir lets you save a unique version of an adapted clip to a new BIP file. This new file will contain the new biped's size data, so will not have to be adapted when it is loaded into the Mixer. If you are mixing long BIP files on a biped of a size other than the size used to create the BIP file, when you reload the MAX file or load a MIX file, you might have to wait while the Mixer recalculates the adaptation for the biped. You can save loading time by saving adapted clips to new BIP files and replacing the original clip in the Mixer. If you save an instanced clip from the Reservoir under a new file name, all clips in the Reservoir are renamed likewise. Procedures To access the Reservoir: ■ On the Motion Mixer toolbar, click 3ds Max opens the Reservoir opens. (Reservoir). To add clips to the Reservoir: 1 Choose between Max Clips and Biped Clips. 2 On the Reservoir toolbar, click (New Entry). The Open dialog appears. 3 Find the directory containing the clip files to load, highlight the desired file or files, and then click the Open button. 4086 | Chapter 13 Animation The file loads and appears as a Source in the Reservoir list. You can then add it to a track in the Motion Mixer using the latter's New Clips ➤ From Reservoir command. To replace a clip in the Reservoir: Use the Load File command to replace a highlighted source or clip. 1 In the Reservoir list, click a single item. The Motion Mixer permits replacing only one source or clip at a time. 2 On the toolbar, click (Load File). The Open dialog appears. 3 Find the directory containing the clip files to load, highlight the desired file, and then click the Open button. The file loads and replaces the highlighted item in the Reservoir list and the Motion Mixer. If you replace a source item, all of its clips are replaced as well. If you replace a clip, all of its references are replaced. To save an instanced clip to a new clip: Once you apply a clip instance to a different biped in Motion Mixer, 3ds Max automatically fits the motion to the biped. You can then save the modified motion from the Reservoir. 1 In the Reservoir list, highlight the clip whose motion you want to save. 2 On the Reservoir toolbar, click (Save File). Use the Save As dialog to specify a name and location for the motion file, and then click the Save button. The motion file is saved as fitted to the biped to which the clip is applied. NOTE The motion file is saved at its original length, whether or not you changed the length of any instances of the clip in the Motion Mixer. Using the Motion Mixer | 4087 To save multiple instanced clips from the Reservoir: 1 On the Reservoir toolbar, click (Batch Save). This operation does not depend on which items are highlighted in the Reservoir list. 2 In the Save Reservoir Items dialog, turn on items you want to save. For each source/clips group, you can save the source or any combination of clips, but not both. Optionally turn on Reset Names After Saving. 3 Click Save to save the specified items. To remove clips not used in the Motion Mixer from the Reservoir: If you delete all instances of a clip from the Motion Mixer, it appears in the Reservoir with a Refs value of 0. ■ On the Reservoir toolbar, click (Clean) to remove these clips from the Reservoir. The motion file is saved under the new name. Motion Mixer Interface Select a biped. ➤ Motion panel ➤ Biped Apps rollout ➤ Mixer Graph Editors menu ➤ Motion Mixer The Motion Mixer is used to mix motion clips that are assigned to bipeds and non-biped objects. The concept of the Motion Mixer is based on audio mixing done in the music and sound industries. Like an audio mixer, Motion Mixer lets you add a series of tracks on page 9330 for each object in a scene. To each track you add clips on page 9230 in the form of BIP or XAF files. You can also add transitions on page 9336 to smoothly link clips together. Clips and transitions can be filtered on page 9158 so their motion affects only specified biped parts. The entirety of the clips, transitions and other clip settings for a single object in the Motion Mixer is called a mix on page 9223. As each object has its own 4088 | Chapter 13 Animation mix, there can be several mixes in the Motion Mixer at any given time. You can save a mix as a MIX file on page 9223. For more information and procedures describing how to use the Motion Mixer, see Using the Motion Mixer on page 4038 and the topics that follow it. The Motion Mixer is normally opened as a floating window. It can also be opened in a viewport, like the Asset Browser and MAXScript Listener. Motion Mixer Menus Select a biped. ➤ Motion panel ➤ Biped Apps rollout ➤ Mixer Graph Editors menu ➤ Motion Mixer... The Motion Mixer interface contains five menus located at the top of Motion Mixer window. Interface Motion Mixer Interface | 4089 Mix menu The Mix menu provides tools for managing your bipeds and non-biped objects when they are selected. If an object is already added to the Motion Mixer, right-clicking its name displays the menu. Use commands on this menu to load and save MIX files, adjust track colors and balance parameters, and activate and deactivate the Mixer mode. Edit Max Mix Object Opens the Edit Max Mix Object dialog, which lets you modify the content of the highlighted non-biped object mix. This dialog is comparable to the Max Objects To Mix dialog on page 4119 with the exception of the Bake Removed Nodes option. NOTE This dialog is only available for non-biped object mixes. Bake Removed Nodes When on, animation keys from removed objects are baked to the main timeline. Default=off. Add Trackgroup Adds a trackgroup on page 9332 to the top of the selected object's mixes. Track Color... Allows you to change the color of the clips in the selected object's mixes. Choosing this command displays a Color Selector, where you can specify the clip color. Balance Parameters... Opens the Balance Parameters dialog. These values influence the effects of balance compensation on the biped's pelvis and spine 4090 | Chapter 13 Animation when you use different motions on the upper and lower parts of the biped. See Adjusting Biped Balance in the Mixer on page 4075. NOTE This dialog is available only for biped object mixes. ■ Lateral RatioDecreasing the Lateral Ratio to 0.0 will cause balance compensation to use only forward/backward motion on the pelvis. Increasing Lateral Ratio to 1.0 will adjust the pelvis with only side-to-side motion. Range=0.0 to 1.0; Default=0.5. ■ PropagationAffects the degree to which spine links are rotated to follow COM and pelvis rotation. When set to 0.0 (the default), spine rotation is not influenced by lower body motion. When set to 1.0, all spine links except the topmost one use the lower body motion's spine animation to some degree to better follow the COM and pelvis motion. The lowest spine link is rotated the most, and each subsequent spine link is rotated less and less. The topmost spine link is not rotated at all so arm motion will be preserved. In order for this setting to affect spine rotation, the lower body motion must have some spine animation as part of the motion clip. A Propagation setting above 0.0 is appropriate when the upper body motion causes the spine to bend over a great deal during a large part of the animation. Range=0.0 to 1.0; Default=0.0. Delete Clears the selected object(s) from the Mixer. Load Mix File Opens a dialog where you can select a MIX file on page 9223 to load into the Mixer. Save Mix File Opens a dialog where you can save the current object's mix on page 9223 to a MIX file. _____ The following Mixdown-related tools are available only for biped object mixes. Compute Mixdown Performs a mixdown on page 9224 on the selected biped(s). A Mixdown track appears at the bottom of each biped’s mix. Clicking the Motion Mixer Interface | 4091 Mixdown track deactivates or activates it. When the Mixdown track is active, each biped inherits this single track's animation rather than the transition and layer tracks in the mix. When the Mixdown track is inactive, the biped uses the raw mix on page 9223 instead. An inactive Mixdown track (above) and an active Mixdown track (below) An inactive Mixdown track (above) and an active Mixdown track (below) A mixdown can make automatic adjustments to transitions between planted foot motions. Creating a Mixdown track makes it possible to copy the mixdown to the biped so it can be saved as a BIP file. See Exporting Animation to the Biped on page 4080. Delete Mixdown Removes the mixdown from the mix of the selected biped(s). The next three menu options are mutually exclusive; only one can be turned on at a time. Copy Mixdown to Biped Copies animation from the Mixdown track to the biped. The animation remains on the biped even after Mixer mode is turned off, and the animation can be saved as a BIP file. Effect Raw Mix When this option is turned on, Mixer mode is turned on for the biped. Default=active. Effect Mixdown When this option is turned on, the mixdown track is activated. This option is available only if a mixdown has been computed. Effect Biped When this option is turned on, Mixer mode is turned off for the biped. Click Effect Raw Mix to turn Mixer Mode on again. Trackgroups menu When a trackgroup is selected, you can access the commands in the Trackgroup menu. Alternately, you can right-click a trackgroup label to open the menu. The Trackgroups menu lets you administer the bipeds in the mixer. Each biped you add to the Motion Mixer gets its own trackgroup, a selection of biped parts. 4092 | Chapter 13 Animation Filter... Opens the Trackgroup Filter dialog where you can customize the object body parts that are included in a trackgroup mix. This command is only available when a single trackgroup is selected. For more information, see Trackgroup Filter Dialog (Non-Biped Object) on page 4126, Trackgroup Filter Dialog (Biped Object) on page 4124, or Filtering Mixer Tracks on page 4054. The Trackgroup Filter dialog for biped object mixes. Motion Mixer Interface | 4093 The Trackgroup Filter dialog for non-biped object mixes. Add Trackgroup Above Adds new trackgroups above the currently selected ones. Add Trackgroup Below Adds new trackgroups below the currently selected ones. Add Layer Track Adds a Layer track at the top of the selected trackgroups. Layer tracks hold clips to be mixed without transitions. Add Transition Track Adds a Transition track at the top of the selected trackgroups. Transition tracks hold clips that are mixed with transitions. Clips in Transition tracks will automatically spawn transitions when they overlap. Delete All Clips Clears the selected trackgroups of all clips and transitions. Delete Clears the selected trackgroups from the Motion Mixer. Tracks menu The commands in the Tracks menu are only active when you have a track, or tracks, selected in the Mixer. These menu commands are also available when you right-click a track in the Mixer window. 4094 | Chapter 13 Animation Add Layer Track Above Adds a new Layer track above the currently selected tracks. Add Layer Track Below Adds a new Layer track below the currently selected tracks. Add Transition Track Above Adds a new Transition track above the currently selected tracks. Add Transition Track Below Adds a new Transition track below the currently selected tracks. Convert to Layer Track Converts the selected Transition tracks to Layer tracks. Convert to Transition Track Converts the selected Layer tracks to Transition tracks. Optimize All Transitions All transitions on the track are optimized. New Clips > From Files Opens a dialog where you can choose one or more BIP or XAF files to add to the selected track. If a selected BIP file has been saved for this release of 3ds Max , a thumbnail is displayed in the Motion Preview where you can move the slider and get an idea of what the motion looks like. Any clip you add to a track using this method is automatically added to the Reservoir on page 4132. NOTE If you choose a BIP file that is older, you will receive a warning that the file is obsolete and should be resaved. Until the BIP file is resaved, it will not display in the Motion Preview. New Clips > From Reservoir Opens a Reservoir Files dialog where you can choose one or more BIP or XAF files listed in the Reservoir. Import Motion Flow Allows you to import clips and transitions from a motion flow script to the selected track. You can import a script only if it is active on the currently selected biped, and if it has been loaded or saved as part of an MFE file on page 9223. If scripts are available for import, the Motion Flow Scripts dialog displays a list of available scripts. The imported script replaces the currently selected track with a transition track on page 9337 containing all the clips and transitions in the script. NOTE This dialog is available only for biped object mixes. Motion Mixer Interface | 4095 NOTE If the selected track contains clips and transitions when you choose this option, these clips are removed from the track when the motion flow script is imported. Delete All Clips Deletes all the clips residing on the selected track. Delete Deletes a selected track or tracks. Clips menu The Clips menu is active when a clip is selected or when you right-click a clip in the Mixer. Some menu commands are not available when multiple clips are selected. Add Time Warp Applies the ability to be time warped to the selected clips. A time warp allows you to alter clip speeds. It gives you the ability to stretch or squeeze time for parts of selected clips. For more details and procedures, see Adding Time Warps on page 4071. Remove Time Warp Removes the ability for clips to be Time Warped and removes any existing Time Warping from selected clips. Tile View Tiles the selected clip along the width of the Motion Mixer. The number of duplicated clips depends upon the clip's length and the number of frames displayed across the Motion Mixer. For example, if a clip is 100 frames long and the number of frames across the Motion Mixer is 500, the clip will tile five times. Tile Range Tiles the selected clip along the range of the active time segment. The number of duplicated clips depends upon the clip's length and the number of frames in the active time segment. For example, if a clip is 100 frames long and the number of frames in the active time segment is 500, then the clip will tile five times. Remove Trim/Scale Removes the trim/scale from the selected clip or clips. Delete Deletes a selected clip or clips from a track. Load Source > From File Opens a dialog where you can choose a new BIP or XAF file to replace selected clips. After selecting the new clip, the Mixer Clip Source Options dialog on page 4098 is displayed. Load Source > From Biped Opens the Copy Biped Animation To Clip dialog on page 4100, where you can choose a biped from which to copy animation to selected clips. NOTE This tool is available only for biped object mixes. 4096 | Chapter 13 Animation Load Source > From Reservoir Opens the Reservoir File Groups dialog on page 4102, where you can choose a clip from the Reservoir to replace selected clips. Copy to Biped Puts the clip’s animation onto the base state of the selected biped, evident when not in Mixer or any other mode. This option is available only when a single clip is selected. NOTE This dialog is available only for biped object mixes. Collapse Saves a collapsed version of the selected clip to a new BIP file. Collapsing removes all scaling, trims, and time warps from the clip, and prompts for a new BIP file name for the collapsed version of the clip. The original selected clip is replaced by the new clip. Collapsing a clip does not affect the selected clip itself. NOTE This dialog is available only for biped object mixes. Transitions menu Select a transition track to make commands on this menu active. Right-clicking a transition also opens this menu. Edit Opens either the Mixer Transition Editor dialog (Biped Object) on page 4104 or the Mixer Transition Editor dialog (Non-Biped Object) on page 4110, based on the kind of mix the transition is applied to. The dialogs are similar to the Transition Editor on page 5247 accessed from the Motion Flow rollout. Optimize Optimizes the selected transitions. This uses optimization algorithms similar to those in Motion Flow. Convert To Loopable Clip Allows you to create a loopable clip from a transition between two clips that are clones of one another. The two clips must share the same source file, meaning they must point to the same clip in the reservoir and they must have identical time warps and scales. Although the two clips don't have to be created via cloning, it is probably the best way to create them. The loopable clip will replace the two original clips and their transition and will begin exactly one frame before the transition starts, so at that frame, the animation will appear the same as it did before you created the loopable clip. If you tile the loopable clip after you create it, it should loop perfectly. NOTE This dialog is available only for biped object mixes. Motion Mixer Interface | 4097 Motion Mixer Dialogs The topics in this section describe support dialogs for the Motion Mixer. Mixer Clip Source Options Dialog Select a biped. ➤ Motion panel ➤ Biped Apps rollout ➤ Mixer ➤ Select clips. ➤ Motion Mixer menu bar ➤ Clips ➤ Load Source ➤ From File Select non-biped clips. ➤ Motion Mixer menu bar ➤ Clips ➤ Load Source ➤ From File The Mixer Clip Source Options dialog opens when you select one or more clips on a track and choose Load Source ➤ From File Clips menu on page 4096. The new clip you choose replaces the selected clips. You also have the option of replacing instances on page 9195 and adaptations on page 9084 of selected clips. 4098 | Chapter 13 Animation Interface Load Animation Into: ■ The selected clips onlyReplaces only the selected clip with the newly specified clip. ■ All instances of the selected clipReplaces instances of the clip (any occurrence of the selected clip within tracks for the same biped, or other bipeds of the same size). ■ All instances and adaptations of the selected clipReplaces adaptations (any occurrence of the selected clip on all bipeds' tracks). Motion Mixer Interface | 4099 Method to Fit Animation to Clip: ■ Scale animation to fit clipScales the length of the loaded clip to match the length of the clip it replaces in the track. ■ Trim animation to fit clipTrims the length of the loaded clip to match the length of the clip it replaces in the track. ■ Set clip length to animation length, shifting remaining clips in timeFor selected clips, changes the animation length to the loaded clip length. All clips on the track after the selected clip are shifted depending on the length of the newly loaded clip. Remove Weights Removes any existing weight curves from clips selected to be replaced. Remove Warps Removes any existing time warps from clips selected to be replaced. Copy Biped Animation to Clip Dialog Select a biped. ➤ Motion panel ➤ Biped Apps rollout ➤ Mixer ➤ Motion Mixer menu bar ➤ Clips ➤ Load Source ➤ From Biped The Copy Biped Animation To Clip dialog opens when you select one or more clips on a track and choose Load Source ➤ From Biped on the Clips menu on page 4096 The animation from the biped replaces the selected clips. NOTE This dialog is available only for biped object mixes. 4100 | Chapter 13 Animation Interface Copy Animation Into: ■ The selected clips onlyOnly the selected clip in the track is replaced by a new clip chosen from the reservoir. ■ All instancesReplaces instances on page 9195 of the clip (any occurrence of the selected clip within tracks for the same biped, or other bipeds of the same size) with the clip selected from the Reservoir. ■ All instances and adaptationsReplaces any occurrence (adaptation on page 9084) of the selected clip on all bipeds' tracks in the Mixer, with the clip selected from the Reservoir. Method to Fit Animation to Clip: ■ Scale animation to fit clipScales the length of the loaded clip to match the length of the clip it replaces in the track. ■ Trim animation to fit clipTrims the length of the loaded clip to match the length of the clip it replaces in the track. Motion Mixer Interface | 4101 ■ Set clip length to animation length, shifting remaining clips in timeFor selected clips, changes the animation length to the loaded clip length. All clips on the track after the selected clip are shifted depending on the length of the newly loaded clip. Remove Weights Removes any existing weight curves from clips selected to be replaced. Remove Warps Removes any existing time warps on page 4071 from clips selected to be replaced. Reservoir File Groups Dialog Select a biped. ➤ Motion panel ➤ Biped Apps rollout ➤ Mixer ➤ Motion Mixer menu bar ➤ Clips ➤ Load Source ➤ From Reservoir Graph Editors menu ➤ Motion Mixer ➤ Select a non-biped object track ➤ Motion Mixer menu bar ➤ Clips ➤ Load Source ➤ From Reservoir The Reservoir File Groups dialog opens when you select clips and choose Load Source ➤ From Reservoir on the Clips menu on page 4096. This action replaces selected clips with the clip you choose from the Reservoir. This dialog shows a list of all the clips in the Reservoir on page 4132. 4102 | Chapter 13 Animation Interface Copy Animation Into: ■ The selected clips onlyOnly the selected clip in the track is replaced by a new clip chosen from the reservoir. ■ All instancesReplaces instances on page 9195 of the clip (any occurrence of the selected clip within tracks for the same object, or other objects of the same size) with the clip selected from the Reservoir. ■ All instances and adaptationsReplaces any occurrence (adaptation on page 9084) of the selected clip on all objects' tracks in the Mixer, with the clip selected from the Reservoir. Method to Fit Animation to Clip: ■ Scale animation to fit clipScales the length of the loaded clip to match the length of the clip it replaces in the track. ■ Trim animation to fit clipTrims the length of the loaded clip to match the length of the clip it replaces in the track. ■ Set clip length to animation length, shifting remaining clips in timeFor selected clips, changes the animation length to the loaded clip length. All clips on the track after the selected clip are shifted depending on the length of the newly loaded clip. Motion Mixer Interface | 4103 Remove Weights Removes any existing weight curves from clips selected to be replaced. Remove Warps Removes any existing time warps from clips selected to be replaced. Mixer Transition Editor Dialog (Biped Object) Select a biped. ➤ Motion panel ➤ Biped Apps rollout ➤ Mixer ➤ Motion Mixer dialog ➤ Add clips to the Mixer. ➤ Select a transition in the Mixer. ➤ Motion Mixer menu bar ➤ Transitions ➤ Edit ➤ Transition Editor The Mixer Transition Editor controls transitions on page 9336 on transition tracks on page 9337. When it is active, you view transitionary stick figures to aid in placing your transitions. You can use this dialog to change the start and end times of transitions, change the transition focus, and perform other functions. This dialog is very similar to the Motion Flow Transition Editor on page 5247. 4104 | Chapter 13 Animation Interface Length Sets the number of frames for the duration of the transition. Transitions are calculated by matching velocities in both clips. Smooth out abrupt velocity changes using longer transitions. Ease In Ease-in value for the source clip. Ease Out Ease-out value for the destination clip. Transition Focus Lets you specify a focus point on the biped where the transition takes place. The Mixer will attempt to match movement based on this selection. For example, if Left Foot is selected, the transition will use the left foot as a focal point during the transition, aligning the motion of the left foot in both clips as much as possible during the transition. Default=Auto. ■ AutoThe transition focus is calculated by averaging the overall position of the biped as it transitions from one clip to the next. ■ Center Of MassThe transition focus is based on the center of mass position of the biped as it transitions from one clip to the next. Motion Mixer Interface | 4105 ■ Left FootThe transition focus is based on the left foot position of the biped as it transitions from one clip to the next. ■ Right FootThe transition focus is based on the right foot position of the biped as it transitions from one clip to the next. ■ Both FeetThe transition focus is based on an averaged foot position of both of the biped's feet as it transitions from one clip to the next. NOTE The best way to see the differences between the transition foci is by watching the yellow and red ghosts. Angle Sets the direction of the destination clip. The angle of the destination clip is automatically set for best body fit between the two clips when the Start Frame values change. Use Angle to change the direction of the destination clip. Preserve Height When turned on, Preserve Height will allow gradual vertical motion to accumulate from the source to the destination clip. For example, climbing stairs will loop upward. If it is turned off, the next clip is always set so that its lowest point is at z=0. This default insures that motion does not gradually float up (or down) with each additional clip. Previous/Next Transition buttons, Start Frame controls, and Optimize button Previous Transition Go to the previous transition in the transition track. Displays the previous transition in the Transition Editor, moves the time slider to the start frame of the previous transition and highlights the previous clip in the transition track. Next Transition Go to the next transition in the transition track. 4106 | Chapter 13 Animation Displays the next transition in the Transition Editor, moves the time slider to the start frame of the next transition and highlights the next clip in the Scripts list. Start Frame This text field displays the number of the first frame of the transition. Go To Start Frame Moves the time slider to the first frame of the transition. Optimize Transition Displays the Transition Optimization dialog on page 4117. Options in the Transition Optimization dialog allow you to search for the range over which the optimizer searches for the transition. Source Clip and Destination Cip groups Clip range This text field displays the range of the source or destination clip. The ranges are relative to the clip itself, not to the frame range of the full animation. Start Frame Sets the transition start frame for the source or destination clip. The start frame is relative to the clip itself, not to the frame range of the full animation. Transition options These choices control how the transition is interpolated. ■ RollingRetains the clip motion during the transition. ■ FixedFor the source clip, this option freezes the biped at the Start Frame position during the transition. For the destination clip, this option freezes the biped at the End Frame position. If Fixed is chosen for both the source and destination clips, the transition is a gradual interpolation from one frozen pose to another. Motion Mixer Interface | 4107 Ghost subgroups (Source and Destination clips) The Ghost group Frame spinners allow you to view and scrub the source and destination clips by displaying stick figures (ghosts); yellow and red stick figures represent the source and destination clips. The source and destination bipeds might not be near each other during this scrubbing process; the destination clip will be repositioned when you click Set Start Frame is clicked. When you locate a suitable start frame, click Set Start Frame to copy the values in the Frame field to the Start Frame field. Monitor foot position status in the field provided. Footstep key display This text field shows the state of footstep keys for the current frame. Set Start Frame Copies the value in the Frame field of the Ghost area to the Start Frame field in the Clip area. The position of the destination clip 4108 | Chapter 13 Animation changes to match the biped body in the destination clip to the biped body in the source clip. Locate an appropriate start frame for the source and destination clips by using the Frame spinner and viewing the positions of both stick figures, then click Set Start Frame. The destination clip is rotated and positioned to match both bipeds. Use the Angle spinner to reorient the destination clip. Frame Shows the current frame in the clip. The frame value is relative to the clip itself, not to the frame range of the full animation. You can use the Frame spinner to scrub a stick figure back and forth, which can help you choose a start frame for the source and destination clips. Visual feedback of the stick figures is a good way to judge which start frames are needed for the source and destination clips. Playback group These controls let you play back the transition from the Transition Editor dialog. Play Transition Click to play the transition. Click again to stop playback. Speed Chooses the playback speed. ■ 1/4 x Plays at one-quarter of real time. ■ 1/2 x Plays at half real time. ■ 1 x (The default.) Plays at real time (full speed). Frames Before/Frames After Set the number of frames to play before and after the transition period. Selected Only When on, plays back only the selected biped. Default=off. Motion Mixer Interface | 4109 Play Ghosts When on, shows transition ghosts during playback. Default=off. Mixer Transition Editor Dialog (Non-Biped Object) Graph Editors menu ➤ Motion Mixer ➤ Select a non-biped object clip transition. ➤ Motion Mixer menu bar ➤ Transitions ➤ Edit The Mixer Transition Editor controls transitions on page 9336 on transition tracks on page 9337. You can use this dialog to change the start and end times of transitions, change the transition focus, and perform other functions. Mix transition blend objects are changeable from clip to clip, and any new transition that results from cloning or adding clips initially uses the blend options from the last clip in time. The options on this dialog are much the same as for Bipeds, except that: ■ Mix transitions for 3ds Max objects do not have ghosting or playback controls. ■ You can explicitly pick blend objects from any object being mixed in the track. ■ The sub-blend capability provides further tuning of the transition. Blending and Sub-Blending Consider a character walking around a corner. The trajectory of the character's root describes an arc, while the IK feet cycle along the ground. This clip contains a few footsteps, and is used to make a mixer cycle that should take the character around in a circle. If you set the root and the feet all to be velocity blends, the transition will result in the root continuing around the corner while the feet continue in whatever direction they were moving at transition time! That is, if the right foot was just about to hit the ground with its heel, thus pointing up a bit, it would transition upward into the next clip instead of blending in the direction that the root’s arc is taking. If you set the root to be a velocity blend and then set the feet to be sub-blends of the root, the transition results in the root continuing on its arc around the corner but with the feet blending in relation to it. That is, the upward-pointing right foot motion will blend with the foot motion in the new clip but in the direction of the arc, not in its own upward direction. 4110 | Chapter 13 Animation Interface Length Sets the number of frames for the duration of the transition. Transitions are calculated by matching velocities in both clips. Smooth out abrupt velocity changes using longer transitions. Ease In Ease-in value for the source clip. Ease Out Ease-out value for the destination clip. Source Clip and Destination Clip groups The following options let you set different parameters proper to both source and destination clips involved in the transition. Motion Mixer Interface | 4111 Start Frame Set the transition start frame for the source and destination clips in their respective fields. Duration for the source and destination clips displays above the Start Frame fields. ■ RollingKeeps the clip in motion during the transition. ■ FixedFor the source clip, this option freezes motion at the Start Frame position during the transition. For the destination clip, this option freezes motion at the End Frame position. If Fixed is chosen for both the source and destination clips, the transition is a gradual interpolation from one frozen pose to another. Velocity Blends group A Velocity Blend object is one that has its positions blended based on velocity (like a biped's COM). Objects used for Velocity Blending are most commonly the roots of the mix hierarchy. When you pick an object for velocity blending, its animation will accumulate based on its trajectory in the scene; for example, choosing the root of a character as the blend object will ensure that the character’s animation is transitioned relatively from clip to clip, so the character keeps moving through world space instead of repeating each clip as absolute. All children of the root will follow in the transition. In some cases, you might want to use velocity blending for a child object. By default, the Transition Editor uses no velocity blend objects. IMPORTANT If you use velocity blending, pick your blend objects before you optimize the transition. Velocity Nodes list Lists the objects you have chosen for velocity blending. Select Velocity Nodes Click to display a Pick Nodes dialog on page 4115 and choose the objects to velocity blend. Delete Velocity Nodes Click to delete the highlighted objects from the list. Set Other Transition Velocity Nodes Copies the set of velocity blend objects to all other transitions in the current track. 4112 | Chapter 13 Animation Roll When on, accumulates the roll (X) angle during the transition. When off, the angle is simply blended with the next clip. Default=on. The spinner value lets you specify an additional angle to add to the roll. Pitch When on, accumulates the pitch (Y) angle during the transition. When off, the angle is simply blended with the next clip. Default=on. The spinner value lets you specify an additional angle to add to the pitch. Yaw When on, accumulates the yaw (Z) angle during the transition. When off, the angle is simply blended with the next clip. Default=on. The spinner value lets you specify an additional angle to add to the yaw. X/Y/Z When on, accumulates position in the specified axis during the transition. When off, the position is simply blended with the next clip. Default=on. Sub-Blends group In order for other world-space objects to transition within the space of the velocity blend or a child of the velocity blend, you need to specify a sub-blend. For example, think of a rig that has a root moving through world space, and also has world-space IK foot controls. In this case, you would pick the root as the velocity blend, then select the root in the list and add the foot controls as its sub-blends. The result of this will be the that root makes a smooth transition and the feet make as smooth a transition as possible in the direction that the legs are going (within the root’s space) at transition time, not in the direction that the feet themselves are going at transition time. Sub-Blend Nodes list Displays the objects chosen for sub-blending. Select Sub-blend Nodes Click to display a Pick Nodes dialog on page 4115 and choose the objects to sub-blend. Before you pick sub-blend nodes, you must first choose a velocity blend node in the upper list. Typically this is the parent of the nodes that will be sub-blends. Delete Sub-blend Nodes Click to delete the highlighted objects from the list. Motion Mixer Interface | 4113 Set Other Transition Sub-blend Nodes Copies the set of velocity sub-blend objects to all other transitions in the current track. _____ Previous Transition Goes to the previous transition in the transition track. Displays the previous transition in the Transition Editor, moves the time slider to the start frame of the previous transition and highlights the previous clip in the transition track. Next Transition Goes to the next transition in the transition track. Displays the next transition in the Transition Editor, moves the time slider to the start frame of the next transition and highlights the next clip in the Scripts list. Current Frame Displays the current frame number. Go To Start Frame Moves the time slider to the first frame of the transition. Optimize Transition Displays the Transition Optimization dialog on page 4117. Options in the Transition Optimization dialog allow you to search for the location for the transition. IMPORTANT If you use velocity blending, pick your blend objects before you optimize the transition. OK Confirms the current settings and closes the dialog. 4114 | Chapter 13 Animation Pick Nodes Dialog (Motion Mixer) Graph Editors menu ➤ Motion Mixer ➤ Select a non-biped object clip transition. ➤ Motion Mixer menu bar ➤ Transitions ➤ Edit ➤ Mixer Transition Editor ➤ Click the Select Velocity Nodes or Select Sub-blend Nodes button. This dialog opens when you pick nodes for velocity blending or sub-blending. If you click the Select Velocity Nodes button, the list displays only the objects being mixed in the current transition track. If you click the Select Sub-blend Nodes button, the list displays only the objects being mixed in the current transition track, except those objects that are already velocity blends. Motion Mixer Interface | 4115 Interface Search field To find an object in the list, enter the object's name and then press Enter. Node list Lists all the available objects. All Selects all objects in the list. None Selects no objects in the list. Invert Inverts the current list selection. 4116 | Chapter 13 Animation Subtree group Display When on, the object hierarchy is shown by indenting. When off, all objects appear at the same level. Default=on. Select When on, selecting an object selects that object's children. When off, only one object at a time is selected. Default=off. _____ Named selection sets drop-down list This list shows the scene's named selection sets on page 204. Choosing a set from this list selects its members in the Node list. Transition Optimization Dialog Motion Mixer ➤ Create a transition track. ➤ Place clips on the track. ➤ Right-click the transition. ➤ Optimize ➤ Transition Optimization dialog Motion Mixer ➤ Create a transition track. ➤ Place clips on the track. ➤ Select the transition. ➤ Transitions menu ➤ Optimize ➤ Transition Optimization dialog Options in the Transition Optimization dialog allow you to select the range over which the optimize algorithm will search for a transition. It can search either the whole clip, or it can search near the existing transition. You must specify the preferred length of the optimized transition. 3ds Max will try to get as close to that length as possible, still opting to give you the best length. If it searches about the existing transition, you must specify the number of frames about which it will search before and after the existing transition. Optimized transitions compute for minimum foot sliding over the range of the transition. This method of determining transitions yields very high quality results. Motion Mixer Interface | 4117 Interface Preferred Transition Length Specify the preferred length of the optimized transition. Search Entire Clip Search the entire clip for an optimized transition start frame. Search Near Existing Transition Allows animators to find good transitions that "are in the ballpark" of their existing transitions. Transitions can be fine tuned without drastically changing the animation's timing. In general, there may be several "good transitions", so this feature narrows the range of search to the ones that are near to the current settings. Search Range about Existing Transition Allows animators to set a “before” and “after” range of frames to perform a search for other transitions that are close to the selected transition. Both ranges default to 20 frames around the selected transition. Before Set a frame value to search before the existing transition. After Set a frame value to search after the existing transition. 4118 | Chapter 13 Animation Motion Mixer Toolbar Select a biped. ➤ Motion panel ➤ Biped Apps rollout ➤ Mixer Graph Editors menu ➤ Motion Mixer Like an audio mixer where you add music tracks and use fades and blends to transition between tracks, the Motion Mixer allows you to mix motion clips. The Motion Mixer toolbar offers commands that you use to add and delete biped and non-biped objects to and from the mixer, modify clips, and change the way tracks in the mixer are displayed. See also: ■ Adding Tracks to the Mixer on page 4043 ■ Using the Reservoir on page 4084 Interface Add Max Objects Opens the Max Objects To Mix dialog, which lists all non-biped objects in the scene. This dialog lets you add objects to be driven by your mixed animation, as well as name the mix in which they are contained. This dialog is comparable to the Selection Floater on page 188. NOTE The default mix name is the root node with the most children in the list. NOTE Objects can be added to only one mix at a time. Once an object is part of a mix, it is removed from the list. Motion Mixer Interface | 4119 Add Bipeds Opens the Bipeds dialog listing all the bipeds in the scene. Highlight one or several bipeds to load them into the Motion Mixer window. TIP You can click-drag over all, or several adjacent bipeds in the list if you want to add multiple bipeds to the Motion Mixer. If the bipeds you want to add are not next to one another, hold down the Ctrl key while choosing the bipeds you want to add. 4120 | Chapter 13 Animation Delete Deletes a selected biped from the Motion Mixer window. Select Lets you select bipeds, trackgroups, tracks, and clips. Move Clips Allows selection and movement (including Shift+Clone) of bipeds and trackgroups, keeping clips and transitions intact. It also allows independent horizontal movement of clips on the same track or vertical movement of clips from one biped's track to another biped's track. Slide Clips Allows horizontal movement of clips on the same track or vertical movement of clips from one biped's track to another biped's track. Sliding a clip to the right will move unselected clips which are situated to the right of the selected clip; sliding to the left will move unselected clips which sit to the left of the clip. Offset Records how many frames have been displaced. This value appears in the status area next to Slide Clips only during interactive translations, such as moving a clip or editing a time warp. The Offset value resets to zero when the translation is complete. Frame Displays the frame number under the cursor during interactive translations, such as stretching a clip or editing a time warp. When stretching a clip, you can use both the Frame and Offset fields to tell you how many more or fewer frames the clip will have. Trim Clips Clips can be trimmed from their original lengths interactively. When using this mode, you can grab the edge of a clip and drag it to a new frame within the clip’s original length. This mode will display all trimmed portions of clips in the Motion Mixer as gray. See Adjusting Clip Timing on page 4060. Editable Time Warps Clips can be interactively time warped, given that they have had a time warp applied. When in this mode, you can place Motion Mixer Interface | 4121 seams in a clip and then drag them within the clip’s original length. See Adding Time Warps on page 4071. Draggable Tracks Enables vertical movement of tracks with clips. Holding down the Shift key while moving a track creates a clone of the original track. Lock Transitions When Lock Transitions is turned off (the default), moving a clip or changing its length on a transition track affect the lengths of transitions around the clip. When Lock Transitions is turned on, transition lengths do not change when you move a clip or drag clip edges not touching the transition. You can still change a transition's length by dragging the edges of the transition itself. Set Range Matches the active segment's start and end times to the extents of the mix. Pan Pans the Motion Mixer display horizontally and vertically. Zoom Extents Stretches or shrinks the mix to fit in the current Motion Mixer display. Zoom Allows horizontal stretching and shrinking of the display of the mix. Zoom Region Zoom into a portion of a track by dragging a region selection around that part of a track. Snap Frames An on/off toggle that sets the Motion Mixer to snap all adjustments to single frames. 4122 | Chapter 13 Animation Snap Clips An on/off toggle that causes clips residing on the same track to snap together. The end frame of one clip will match the start frame of the next clip. If the first clip ends at frame 100, the start frame of the next clip will snap to frame 100. When Snap Clips is on, transition edges snap to clip edges when dragged. Preferences Opens the Mixer Preferences dialog on page 4137, where you can change display settings for clips, transitions, and frames. Reservoir Opens the Reservoir dialog on page 4132. Named selection Lets you enter a name for the current selection. This field is similar to named selections for 3ds Max objects (on the main toolbar), but unlike named object selections, you can rename an existing set. To create a named selection, select the clips for the set, enter a name in the named selectionfield, and then press Enter. You can reselect an existing selection set by choosing its name from the drop-down list. Named sets of clips in the mixer are saved with the MAX file but not with MIX files. Horizontal This button is available when the Weighting button on the motion mixer toolbar or on a trackgroup is active. It locks all movement of weight nodes to the horizontal. Vertical This button is available when the Weighting button on the motion mixer toolbar or on a trackgroup is active. It locks all movement of weight nodes to the vertical. Horizontal Vertical This button is available when the Weighting button on the motion mixer toolbar or on a trackgroup is active. It allows free horizontal and vertical movements of weight nodes. Motion Mixer Interface | 4123 Weight Mode An on/off toggle that allows you to work with weight curves. Weight curves are useful for making smooth blends between tracks. The Weight Mode button on the Motion Mixer toolbar acts as a global switch that toggles the Weight Mode buttons on every track in the Mixer. The Weight Mode button at the right end of each track toggles weighting only for that track. For more information on how weight curves work, see Motion Mixer Editor on page 4128. To find out how to use weight curves, see Adjusting Track Weight on page 4069. Trackgroup Filter Dialog (Biped Object) Select a biped. ➤ Motion panel ➤ Biped Apps rollout ➤ Mixer ➤ Click a biped track name to highlight it (by default, the name is All ). ➤ Trackgroups menu ➤ Filter By default, the Motion Mixer expects that a mix you create will affect the entire biped. If you like, you can filter on page 4054 a trackgroup so clips in the mix affect only selected body parts. This functionality makes it easy for you to assign one set of BIP files to control the motion of a biped's upper body, while another set controls the lower body. For more information and procedures on the use of trackgroup filters, see Filtering Mixer Tracks on page 4054. 4124 | Chapter 13 Animation Interface The Trackgroup Filter dialog consists of a rough diagram of a biped. Selectable components display in the color specified for the trackgroup by the Track Color command on the Mix menu on page 4090. If the biped does not include parts like ponytails or props, they are unselectable. Body parts can be individually activated or deactivated by clicking them, or you can use the buttons across the bottom of the Trackgroup Filter diagram to expedite selections. Center Activates all central body parts, comprised of the spine, pelvis and horizontal movement, rotation and vertical movement icons. Arms Activates the biped's arms, comprised of the right arm, left arm, and both hand icons. Legs Activates the biped's legs, comprised of the right leg, left leg, and both foot icons. Xtras Activates the biped’s extra tails. See Xtras group on page 5118. All Activates all selectable body parts. None Deactivates all body parts. Invert Inverts the current body part selection. If everything is active, this deactivates everything, as if you clicked the None button. Motion Mixer Interface | 4125 Trackgroup Label Field Use this field to specify a more descriptive label for a trackgroup. When you first create a trackgroup, it is labelled All. The new label entered here will appear in place of All to the left of the trackgroup. Use a unique, descriptive name to help you keep track of what body parts were filtered for the trackgroup. For example, if you selected only the pelvis and legs, you could enter Lower Body as the trackgroup label. Xtras group Lists the names of any Xtra tails the biped might have. See Xtras group on page 5118. Click the name of an extra tail to select it. Extra tails don’t appear in the biped diagram, only in this list. Trackgroup Filter Dialog (Non-Biped Object) Graph Editors menu ➤ Motion Mixer ➤ Click a non-biped track name to highlight it (by default, the name is All. ➤ Trackgroups menu ➤ Filter By default, the Motion Mixer expects that a mix you create will affect the entire non-biped object. If you like, you can filter on page 4054 a trackgroup so clips in the mix affect only selected body parts. This functionality makes it easy for you to assign one set of XAF files to control the motion of an object's upper body, while another set controls the lower body. For more information and procedures on the use of trackgroup filters, see Filtering Mixer Tracks on page 4054. 4126 | Chapter 13 Animation Interface Search field To find an object in the list, enter the object's name and then press Enter. Object list The Trackgroup Filter dialog displays a list of objects, with the hierarchy indicated by indenting (if Subtree ➤ Display is on, which it is by default). Objects can be individually activated or deactivated by clicking them, or you can use the buttons across the bottom of the Trackgroup Filter diagram to expedite selections. All Activates all selectable None Deactivates all body parts. Invert Inverts the current body part selection. If everything is active, this deactivates everything, as if you clicked the None button. Subtree group Display When on, all body parts are listed following a hierarchy structure. Otherwise, body parts are listed on the same level. Default=on. Select When on, highlighting a body part automatically select all its children. Motion Mixer Interface | 4127 _____ Named selection sets drop-down list This list shows the scene's named selection sets on page 204. Choosing a set from this list selects its members in the Object list. _____ OK Confirms selection and closes the dialog. Cancel Disregards current selection and closes the dialog. Motion Mixer Editor Select a biped. ➤ Motion panel ➤ Biped Apps rollout ➤ Mixer The Motion Mixer window contains an editor where you manage everything that is added to the mix: bipeds, trackgroups, tracks, clips, and transitions. Interface The editor contains three sections: ■ Biped/Trackgroup/Track Controls on page 4128 ■ Interactive Clip Controls on page 4129 ■ Weighting Controls on page 4131 Biped/Trackgroup/Track Controls The left-most section of the editor is the Biped/Trackgroup/Track Controls section. The Biped/Trackgroup/Track Controls set the number, order, display, 4128 | Chapter 13 Animation and characteristics of those features in the mix. Bipeds and trackgroups can be selected, added, removed and repositioned. The “-” and “+” buttons collapse and expand the display of bipeds and trackgroups. The “m” button mutes a track, taking its influence out of the mix. The “s” button sets a track to solo mode, making it the only active track in the mix. Interactive Clip Controls The center section of the editor, Interactive Clip Controls, lets you manipulate the scale, time, timing, and trimming of clips and transitions. The overall length of all clips and transitions in a track can be stretched or squeezed by dragging the white ends of the gray range bars along the top of each trackgroup. Drag from the middle of the range bar if the entire mix of a Motion Mixer Interface | 4129 trackgroup needs to be moved. Likewise, clips can be moved by dragging from the middle of a clip. Clips and transitions can be shortened or lengthened by dragging either end. The range bar for each biped can also be moved or scaled to move or scale the entire mix for the biped. Transition brackets appear in Transition tracks. Where a transition exists, the brackets indicate the start and end point of the transition. If there is no transition at the end of the clip, the bracket indicates where the transition will be placed when a new clip is loaded into the track. The current time in the scene can be changed by dragging the vertical, purple timeline, a change which is reflected on the 3ds Max time slider. The vertical timeline. If a clip has a time warp applied, time can be distorted interactively in Time Warp mode: first create seams in the clip, then drag the seams to stretch or squeeze time. 4130 | Chapter 13 Animation Note the corresponding changes in the frequency of the time ticks down the center of the clip. Time warps are used to speed up or slow down a motion. Weighting Controls The weighting controls at the rightmost end of the editor let you set the weight with which a clip or track will be blended with other tracks within the same trackgroup. When Weight Mode is turned on, weights can be adjusted with a red weight curve on a clip or track. On a Layer track, each clip has its own weight curve. Each Transition track has one weight curve for the entire track. By default, each weight curve has a node at each end that can be moved to change the weight at that point. Click on the weight curve to add more nodes, and drag a node to move it. Motion Mixer Interface | 4131 Weights can range from 0.0 (no weight) to 1.0 (full weight). The weight for the currently selected node appears to the left of the Weight Mode button. You can change the weight by moving the node or by changing the spinner value. When you have mulitple weight nodes selected, and you use the spinner to set a new value, weight node values are changed relative to their original values. In this case, you cannot spin the spinner lower than 0 or higher than 1 on any one spin. If you have more than one weight node selected and you type in a weight, the weights of all nodes are changed to the new value. Weighting is evaluated across tracks in a single trackgroup. If a trackgroup has two or more tracks, the topmost track's weight is evaluated at each frame. If the weight at any frame is less than 1.0, the motion on the track is only partially used, and next track down is evaluated for its weight. If the total weight is still less than 1.0, the next track down is evaluated, and so on. In this way, motion from multiple tracks can be mixed at the same frame for the same set of body parts. The Weight Mode button at the right end of the main toolbar turns on this mode for all tracks in the Motion Mixer. For more information, see Motion Mixer Toolbar on page 4119. On a balance track, the Balance Weight Mode button appears rather than the Weight Mode button. When in Balance Weight mode, you can adjust the weight curve for the balance track on page 9102. To find out how to use Balance Weight mode, see Adjusting Biped Balance in the Mixer on page 4075. Reservoir Select a biped. ➤ Motion panel ➤ Biped Apps rollout ➤ Mixer ➤ (Reservoir) Graph Editors menu ➤ Motion Mixer ➤ (Reservoir) The Motion Mixer Reservoir on page 9283 is similar to the Motion Flow Graph on page 5242, in that it acts as a holding area where clips can be listed, giving 4132 | Chapter 13 Animation you a palette of motions to choose from. As you add clips on page 9230 to objects in the Motion Mixer window, you see them appear on a track on page 9330 and they are automatically added to the Reservoir. If you add new clips directly to the Reservoir, they are available and held for future use. See also: ■ Using the Reservoir on page 4084 Interface Motion Mixer Interface | 4133 The Reservoir comprises four parts: ■ The Reservoir toolbar on page 4134, where all the commands are located. You can choose between listing biped clips and non-biped clips. ■ The Source/Clipname list on page 4135, where motion clips (BIP and XAF files) are listed. Instances on page 9195 are grouped together in one listing, while adaptations on page 9084 are listed separately. ■ The Clip Status field on page 4136, where you can gather information about the clips used in the Motion Mixer. ■ The Motion Preview on page 4136, where you can see what a motion looks like before you use it. NOTE The Motion Preview is available only when you choose the Biped Clips option. Reservoir toolbar The commands on the main Reservoir toolbar allow you to manage the clips you have in the Motion Mixer and also build up a collection of clips that you may want to use in the future. Max Clips/Biped Clips Choose to switch between a list of biped and non-biped motion assets. The Max Clips option displays XAF files while Biped Clips displays BIP files. New Entry Opens a dialog where you can choose BIP or XAF files to load into the Reservoir. You can highlight multiple files to load by holding down the Ctrl key while you click. Reload Files Reloads selected BIP or XAF files listed in the Reservoir. 4134 | Chapter 13 Animation Load File Opens a dialog where you can choose a new BIP or XAF file to replace the selected entry. Save File Allows you to save a highlighted clip from the Reservoir. The Save As dialog is displayed and you can specify a name and location for the clip you are saving. Batch Save Opens the Save Reservoir Items dialog, where you can choose the clip or clips to save. Delete Removes a highlighted clip from the Reservoir. All instances of the clip are also removed from the Motion Mixer. Clean Similar to Delete, but only removes clips from the Reservoir that are not used in the Motion Mixer. Auto Clip Names Names the clip based on the name of the motion file. Turn off to name a clip yourself. Source / Clipname list The Source / Clipname List displays all the clips you have in the Motion Mixer Reservoir. Four pieces of important information can be gathered from this list: ■ Drive location where the clips are stored. ■ Which clips are currently being used in a mix. ■ How many times each instance of a clip appears in the Mixer (Refs). ■ Which clips are simply being held in the reservoir, as opposed to being used in the Mixer. As you add clips to a track, from the Tracks menu on page 4094 or by right-clicking a track, they are automatically added to the Reservoir. If the clip Motion Mixer Interface | 4135 is a new adaptation on page 9084, the name of the clip is assigned an incremental suffix, such as 1 or 2. The Refs (Reference) column tells you how many times a clip instance on page 9195 has been used in the Motion Mixer, or if it has not been used at all. If an instance shows a Refs value of 1 or more, it means the instance has been used that many times. If an instance shows a Refs value of zero, it means the clip was once used by one or more bipeds, but is not currently used on any tracks. If a clip has been added to the reservoir, but has never been placed in the Motion Mixer, only the source path will be listed and no Refs value is displayed. Clip Status field The Clip Status field appears at the lower left of the Reservoir and gives you information about how a particular clip has been used. You can get file information, such as the source location of the BIP or XAF file. Clip information is also displayed, like the name of the clip reference as it appears in the Motion Mixer. Information about the biped structure is also listed along with the bipeds to which the clip has been adapted. Motion Preview The Motion Preview at the lower right side of the Reservoir shows a thumbnail of the selected clip. Moving the slider across the bottom gives you an idea of what the motion looks like before you add it to a track. NOTE In order for a clip to show in the Motion Preview, it must be a BIP file that has been saved for this version of 3ds Max. If you choose a BIP file that is from an older version of 3ds Max, you will see a warning that the file is obsolete and should be resaved. Until the BIP file is resaved, it will not display in the Motion Preview. NOTE The Motion Preview is available only when you choose the Biped Clips option. 4136 | Chapter 13 Animation Mixer Preferences Dialog Select a biped. ➤ Motion panel ➤ Biped Apps rollout ➤ Mixer ➤ (Preferences) Graph Editors menu ➤ Motion Mixer ➤ (Preferences) The Motion Mixer Preferences dialog lets you make changes to display settings for clips, transitions and frames. It is similar to the way you can Hide By Category on the Display panel. You can also specify mixdown options from this dialog. The settings on the Motion Mixer Preference dialog are saved in the biped.ini file, as well as with the MAX file. Interface Motion Mixer Interface | 4137 Show / Hide group These settings affect how clips appear in the Motion Mixer tracks. ■ NamesWhen turned off, clip names do not appear on the colored clip bars in the Motion Mixer. Default=On. ■ ScalesDisplays the clip scale. Since clips can be resized by using tools like Move Clips, displaying the scales quickly lets you know if a clip is two times its original length or half its length. Default=Off. ■ BoundariesTurns on and off the frame numbers at the start and end of the colored clip bars. Default=On. ■ Weight CurvesToggles the display of the weighting line. It doesn't matter if the Weight button is active or not. Default=On. ■ Time WarpsIf a time warp has been added to a clip, this switch toggles the display of the warp on the colored clip bar. Default=On. Show / Hide Transitions group The two settings affect how transitions appear in the Motion Mixer tracks. ■ InpointsToggles the beginning transition frame on the transition clip bar. Default=On. ■ OutpointsDisplays the end transition frame on the transition clip bar. Default=Off. Show / Hide Other group These settings indicate if range bars and balance curves appear in the Motion Mixer tracks. ■ Trackgroup RangebarsHides the gray range bar that appears along the top of each trackgroup. Default=On. ■ Balance CurvesDisplays the Balance Curves track. Default=On. Frame Display group These settings affect how clip boundaries and transition in/outpoints appear in the Motion Mixer. 4138 | Chapter 13 Animation Global Displays clip start and end frames as frame numbers. Inpoints and outpoints of transitions display the frame at which transitions start and end. Default=On. Local Clip boundary values are displayed as actual lengths in frames. Along with the start and end frame number of the transition, additional values tell you by how much the transition overlaps each motion clip. Mixdown Options group These settings affect how transitions between biped object clips appear in the Motion Mixer tracks. ■ Prompt For Options At Each MixdownWhen turned on, the Mixdown Options dialog is displayed when you choose Compute Mixdown from the Mix menu in the Motion Mixer. Default=On. ■ A Keyframe Per FrameWhen turned on, a keyframe is generated for each frame of animation when the mixdown is computed. Default=Off. ■ Enforce IK ConstraintsWhen a transition occurs between two clips where the same foot or feet are planted with footsteps or planted keys, this option forces the foot/feet to stay planted during the transition. Default=On. ■ ■ Continuity RangeSets an additional transition time after the actual transition, giving the foot time to get from its planted position to its keyframed location in the next clip. Range=0 to 100; Default=6. Filter Hyper–Extended LegsPrevents a leg from straightening during a transition. This can occur when the COM moves in such a way that the foot can't reach its planted position unless the leg goes completely straight. This option corrects the problem by raising the biped's heel off the ground so the knee can bend. Default=On. ■ Max Knee AngleSets the maximum angle that can be reached between the thigh and calf before the heel comes off the ground. An angle of 180 indicates a perfectly straight leg. A value of 160 or 170 indicates a slightly bent leg. Motion Mixer Interface | 4139 Mixer Rollout Select a biped. ➤ Motion panel ➤ Biped rollout ➤ Mode) ➤ Mixer rollout (Mixer On this rollout, you can load and save MIX files (Motion Mixer files) on page 9223 . A saved MIX file can be loaded onto any biped in the scene, and motions in the mix will be automatically adapted to the biped's size. The Mixer rollout appears when Mixer Mode is turned on from the Biped rollout. Interface Load File Loads a Motion Mixer file (.mix). These files include the following, which display in the Motion Mixer window when a MIX file is loaded: ■ TrackgroupsGroups of tracks on page 9330 for selected parts of the biped. ■ TracksLayer tracks on page 9201 and transition tracks on page 9337 where clips and transitions reside. ■ ClipsReferences to BIP animation files used in the mix. ■ TransitionsConnections between clips on transition tracks. NOTE Loading a MIX file does not automatically open the Motion Mixer. Click Mixer on the Biped Apps rollout to open the Motion Mixer and see the loaded mix. Save File Saves the currently selected biped's mix in the Motion Mixer to a MIX file. 4140 | Chapter 13 Animation Saving and Loading Animation You can save and load animation data for any number of objects separately from the actual scene via Load Animation and Save Animation commands available on the Animation menu. These commands use two file types: ■ XAF (XML Animation File) contains the animation data. ■ XMM (XML Animation Map File) contains mapping information: how the incoming animation data is assigned to objects in the current scene. Mapping is quite flexible: as long as data is comparable, it can be assigned. For example, each key for both position and rotation animation contains three numbers, so you could, if you wanted, assign incoming position data to a current object's rotation track, or vice versa. See also: ■ Save Animation on page 4159 ■ Load Animation on page 4144 ■ Map Animation Dialog on page 4147 Procedures To use the Save Animation and Load Animation commands: You start by saving animation data from the current scene. 1 Select any number of objects in your scene that contain animation. The animation can be of any type: procedural, manually keyframed, IK, and so on. The frame range from which the animation is saved is the same for all objects, so make sure you select only objects from which you want to save the same frame range. NOTE Using this method, you can save animation only from selected objects. Alternatively, you can save animation from specific tracks in Track View; see Hierarchy Right-Click Menu on page 3861. 2 From the Animation menu, choose Save Animation on page 4159. 3 Set the save parameters. Saving and Loading Animation | 4141 By default, the command saves all keys from animated tracks for selected objects, including motion derived from constraints. For example, if an object rotates because a LookAt constraint is applied to its Rotation track, then when you save its animation with Include Constraints on page 4161 on, 3ds Max generates rotation keys based on the constrained motion. It does not save the actual constraint. You can save just a part of the animation by turning on Segment on page 4162 and setting a frame range. 4 Specify a file name and then click Save, or click the + button next to Save to increment the file name and save under the new file name. If the selected objects contain no savable animation, the message “No animation tracks to save” appears. If this happens, create animation to save or change the Save Animation parameters as needed. Next, you load the animation data. 5 Set up or load a new scene and then select any objects that are to receive the loaded animation. NOTE Using this method, you can load animation only to selected objects. Alternatively, you can load animation to specific tracks in Track View; see Hierarchy Right-Click Menu on page 3861. 6 From the Animation menu, choose Load Animation on page 4144. 7 Find and highlight the XAF file from which to load animation. 8 Click Load Motion. If the objects you're loading animation to are the same as those you saved the animation from, the animation loads and is mapped automatically. If mapping is required, you're given the opportunity to set it up. Or, if you've already set up mapping for the scene and incoming animation data, choose a mapping (XMM) file from the Motion Mapping/Retargeting drop-down list and then click Get Mapping. Otherwise, click Edit Mapping. Clicking Edit Mapping opens the Map Animation dialog on page 4147, which contains three lists: from left to right, Current, Mapped, and Incoming. The Current list shows selected objects in the scene and their animation tracks; the Incoming list shows animation tracks in the XAF file, and the Mapped list shows, for each track in the Current list, the animation track in the Incoming list that will map to it. In certain cases, such as with objects that have the same name, some tracks are mapped automatically and appear in the Mapped column as soon as you open 4142 | Chapter 13 Animation the dialog. The tracks that are already mapped are shown in gray in the Current and Incoming columns. 9 To map a pair of tracks manually, click a track in the Current list and another in the Incoming list, and then click the left-arrow (<-) button to the left of the Incoming list. This places the name of the incoming track in the Mapped list, opposite the Current-list track to which it is assigned. 10 To remove a mapping assignment, click its entry in the Mapped list, and then click the -> button. 11 Continue setting up the mapping assignments as needed. When you're finished, click Save Mapping or Save Mapping As, and then specify a file name to save. After you save the mapping file, the Load Motion button becomes available, and you can proceed with loading the animation. 12 Click Load Motion. The animation data is loaded and assigned to the selected objects, and any animation keys appear on the track bar. To retarget an incoming animation: This is a continuation of the previous procedure, and explains the basic workflow of node retargeting. Retargeting means to scale the animation so it matches the objects onto which you are mapping the motion. You can use this feature any time you need to transfer an animation between two objects or rigs of different sizes and proportions. For example, an animation of a cat stretching could be retargeted to a bigger dog model, resulting in a scaled animation to fit the dog's skeleton. Once your track-mapping assignments are complete, the Retargetable Nodes list on the Retargeting rollout displays the mappings available for retargeting. For steps that describe retargeting a character rig, see To retarget one character onto another on page 4155. 1 First, in the Scale Origin group, choose the Incoming and Current objects to use as the origin and basis for scaling. For example, when retargeting a rig, you would use each rig's root object. 2 Next, in the Derive Scale Between Chains group, chose comparable IK or FK chains from the Incoming and Current models to obtain a Scale Factor Saving and Loading Animation | 4143 that proportionally retargets the incoming animation onto the current model. 3 Click Set to apply the retargeting. 4 If different portions of the model are differently proportioned, you might need to repeat steps 2 and 3 for different selections of mapped tracks. You might also need to use the FK Retargeting Extent group to account for the different proportions. See Retargeting Rollout on page 4154 for more details. 5 When you're finished, save your mapping to preserve the retargeted data, and then click Load Motion to apply the animation to the currently selected objects. Retargeting is essentially a “by hand” process. You might need to try different settings to get the result you need. You can remove retargeting by highlighting a mapped track in the Retargetable Nodes list, and then clicking Clear. 6 Close the Map Animation dialog. Load Animation Select one or more objects. ➤ Animation menu ➤ Load Animation Track View ➤ Hierarchy/Controller window ➤ Highlight one or more tracks ➤ Right-click. ➤ Load Animation Load Animation lets you load animation from an XAF (XML Animation File) file to objects in your scene. Part of the animation-loading process is mapping the animation; that is, specifying which objects in the scene are to receive the loaded animation tracks. For a procedure that outlines the basic method of saving and loading animation, see To use the Save Animation and Load Animation commands on page 4141. See also: ■ Saving and Loading Animation on page 4141 ■ Save Animation on page 4159 ■ Map Animation Dialog on page 4147 4144 | Chapter 13 Animation Interface [file controls] The controls in the upper-left corner of the dialog are standard file-browsing controls. Load Into Active Layer Loads the animation file into the active layer. Default=off. This option makes it easier to load an animation file to an object that has had Animation Layers on page 3496 enabled (or disabled) subsequent to saving the animation files. Remapping is necessary in this case because enabling or disabling Animation Layers causes the full controller names to change. For example, if a sphere's X position track before enabling Animation Layers is Sphere01\Transform\Position\X Position, then after enabling Animation Layers it might change to Sphere01\Transform\Position\Base Layer\X Position (the layer name is inserted into the controller name). Whether Load Into Active Layer is on or off, when you load animation to an object after changing its Animation Layers status, 3ds Max prompts you to create a map file. If Load Into Active Layer is on, when you click Yes to create the map file, the Map Animation dialog opens showing only the active layer's Load Animation | 4145 tracks in the Current list, and the tracks are already mapped correctly in the Mapped list. All you need to do is save the mapping, and then load the motion. If Load Into Active Layer is off, clicking Yes to create the map file opens the Map Animation dialog showing all animation tracks in all layers, and you need to use the Map Animation controls to map the tracks before saving the mapping and loading the motion. Relative/Absolute Determines how incoming animation affects existing values. Relative starts the loaded motion at the current values of the selected objects in the scene. Absolute sets the values of objects in the scene the scene to those of the motion; so, for example, it would move a character to a new location and start the animation there. Default=Relative. Replace/Insert Determines how existing keys are treated when the animation is loaded. Replace overwrites the keys in the scene with the incoming motion, starting at the chosen frame. Insert inserts the motion at the chosen frame and moves any subsequent, existing keys to the end of the incoming motion. Default=Insert. At Frame The frame at which the incoming animation is applied. Default=0. Load Motion If mapping information is available, loads the animation from the file specified in the File Name field and applies it to current objects according to the mapping information. If no mapping has been specified, you're given the opportunity to create a map file. If you then click Yes, the Map Animation dialog on page 4147 opens, but if you click No, no animation is loaded. Cancel Closes the dialog without loading any animation. Motion Mapping/Retargeting group File Shows the current mapping file, or “Default” if no mapping file has been chosen. Choose a mapping file from the drop-down list. The list contains the most recently loaded mapping files. If the file you want to use isn't available in the list, use the Get Mapping button. TIP If the paths in the drop-down list are too long to see the file name itself, you can resize the dialog to make the dialog and the list wider. Get Mapping Lets you browse to load a mapping file. Use this if the file doesn't appear in the Use Mapping drop-down list. The file then appears in the list for easy reloading. 4146 | Chapter 13 Animation Edit Mapping Opens the Map Animation dialog on page 4147 for setting up animation assignments between incoming tracks and existing tracks. Available only after an animation (XAF) file has been chosen. User Data group The User Data list shows any user data present in the XAF file specified in the File Name field. User data can be created via the Save Animation dialog, or by editing the XAF file directly. Map Animation Dialog Animation menu ➤ Load Animation ➤ Open dialog ➤ Edit Mapping Animation menu ➤ Load Animation ➤ Open dialog ➤ Load Motion ➤ XML Animation dialog ➤ Click Yes. The Map Animation dialog lets you assign incoming animation tracks when using the Load Animation on page 4144 command. The dialog is resizable and contains three rollouts: for setting up basic parameters, doing the actual mapping, and doing retargeting. For a procedure that outlines the basic method of saving and loading animation, see To use the Save Animation and Load Animation commands on page 4141. See also: ■ Saving and Loading Animation on page 4141 ■ Save Animation on page 4159 ■ Load Animation on page 4144 Load Animation | 4147 Interface Most controls on this dialog are contained in three rollouts: Motion Mapping Parameters Rollout on page 4149 Map Track to Track Rollout on page 4152 Retargeting Rollout on page 4154 Motion File Shows the path and name of the current animation (XAF) file. ■ NewClick to display a file dialog and specify a new animation file to load. With this option, you don't need to return to the Load Animation dialog. Map File Shows the path and name of the current map (XMM) file. ■ NewClick to display a file dialog and specify a new map file to load. With this option, you don't need to return to the Load Animation dialog. Save Mapping Click to save the current mapping assignments to an XMM file. If a file name is already displayed in the Map File field, it is overwritten; otherwise, 3ds Max displays a file dialog so you can enter a name for the new file. 4148 | Chapter 13 Animation Save Mapping As Click to save the current mapping assignments to an XMM file using a different file name. This displays the Save XML Animation map file dialog. Load Motion Click to load the animation from the XAF file, and maps the animation tracks as specified. This button is available only when the Map File field contains a valid map file name. Replace / Insert These options determine how existing keys are treated when you load an animation. Replace overwrites the current scene's keys (if any) with the incoming motion, starting at the chosen frame. Insert inserts the motion at the chosen frame and moves any existing keys to the end of the incoming motion. Default=Insert. ■ At FrameThe frame at which the incoming animation is written (Replace) or inserted. Default=0. Relative/Absolute These options determine how incoming animation affects existing values. Relative starts the loaded motion at the current values of the selected objects in the scene. Absolute sets the values of objects in the scene to those of the incoming motion. For example, when you load a character animation, Relative starts the animation from the character's current position, while Absolute first moves the character to the position of the character in the scene from which the animation was saved. Default=Relative. Motion Mapping Parameters Rollout Animation menu ➤ Load Animation ➤ Open dialog ➤ Edit Mapping Animation menu ➤ Load Animation ➤ Open dialog ➤ Load Motion ➤ XML Animation dialog ➤ Click Yes. This rollout provides controls for automatically mapping animation tracks and for filtering tracks to reduce clutter. Interface Load Animation | 4149 Map Nodes group These controls let you perform automatic mapping by name or hierarchical order. Mapping is done first by node (object) name, and then within each node's hierarchy by controller (track) name. The default method of automatic mapping is Exact Name for both nodes and controller. When you first open the Map Animation dialog, any node/controller pairs whose names match exactly are automatically mapped. To change the mapping, remove any existing assignments in the Mapped list (highlight them and then click the -> button), and then choose an alternate method. Exact Name This maps node to node, by name. If the names do not match exactly, the tracks will not map, and the status line will report how many nodes did not map Closest Name Finds a match in the object names, and uses the Controller options (described below) to confirm the match. For example, if the incoming is R Toe 01 and the choice in the Current list is between Right Index Toe and R Toe Helper, it will look at the controller structure and compare by name, or type or order, and try to determine which node is the closest to the incoming. When the choice is close like this, the status line reports that there was another close match, and highlight the close, but unmapped, nodes in the incoming list in red. Hierarchy This option turns off the above options. It matches by node order; for example, Bone01>Bone02>Bone03 would map to Leg>Calf>Foot, if Controller is set to Order and the leg is mapped to Bone01. The Hierarchy option ignores the names. Controller Determines how automatic mapping is performed within nodes: ■ Exact Name(The default.) Matches controllers by name, regardless of order. This applies specifically to lists, morph channels, maps, custom attributes, and any other tracks that are listed by a user-defined name that might be reordered for some reason. ■ OrderThis maps by controller order only, regardless of name or type, and it turns the other options off. For example, it will map the first controller in a list to the first controller in a list. If necessary, it “bakes” the animation by creating per-frame keys. If any controllers are not mappable (for example, a Bezier controller getting mapped into a script), the status line will report the error and highlight the node that couldn’t map in the incoming list. Type When on, allows mapping only between controllers of the same type. It prevents mapping between two controllers of different types. For example, 4150 | Chapter 13 Animation a controller such as Noise and its parameters will map only to another Noise controller. Default=off. Filters group The Filters options are similar to those available in Track View: they enable viewing only certain types of tracks. Filtering is can be a help with large, complex animation setups, because it lets you focus on tracks of specific interest and ignore the rest. The following information describes the action of filters that are on. Unless otherwise specified, when a filter is off, the track type it applies to is hidden. In some cases, a track will not be hidden because a different filter that is on permits display of that track. NOTE The Incoming list contains only animation tracks that were saved in the XAF file, so it cannot display unavailable tracks. For example, if you don't animate an object's creation parameters, toggling the Base Objects switch won't change the Incoming list contents. Current/Incoming Determines whether the filters are applied to the Current list or the Incoming list. Lock When the Lock button is on, the filters are applied to both lists. Default=locked. When the Lock button is off, only one of these is active at a time, and 3ds Max remembers different sets of on/off values for the filtering parameters. Animated Tracks Displays tracks that contain animation keys. Include Constraints Displays constraint tracks, even if they are not animated. Keyable Tracks Displays tracks that are set to keyable, regardless of whether they contain animation. Unmapped Tracks When on, hides mapped tracks. When off, all tracks are displayed. Visibility Tracks Displays visibility tracks. Note Tracks Displays note tracks. When a note track is mapped, the notes are added to an existing note track in the current scene. Custom Attributes Displays custom attribute tracks. Load Animation | 4151 Controller Types Displays controller types (names) in the list. For example, the Position X track reads “Position X: Bezier Float.” IK Controllers Displays any IK controllers. Modifiers Displays animatable modifier tracks. NOTE In order for modifier tracks to display in the Current column, the Base Objects filter must also be on. Base Objects Displays creation-parameter tracks for parametric objects such as Box and Sphere. Map Parameters Shows map tracks, such as Tiling for Bitmaps and Mix Amount for Mix maps. Material Parameters Shows tracks for materials; for example, animated Diffuse color values, Opacity, and so on. Expose World Transforms Displays tracks for world transforms. These let you map all transform animation between two objects using a single track, named Exposed World Transform. Transforms Enables or disables display of all transforms other than the exposed world transforms. The toggles that follow control display of individual transforms: ■ Position/X/Y/ZThe Position check box lets you toggle display of all Position tracks, while the X/Y/Z check boxes let you toggle display of the track for each axis. ■ Rotation/X/Y/ZThe Rotation check box lets you toggle display of all Rotation tracks, while the X/Y/Z check boxes let you toggle display of the track for each axis. ■ Scale/X/Y/ZThe Scale check box lets you toggle display of all Scale tracks, while the X/Y/Z check boxes let you toggle display of the track for each axis. Map Track to Track Rollout Animation menu ➤ Load Animation ➤ Open dialog ➤ Edit Mapping Animation menu ➤ Load Animation ➤ Open dialog ➤ Load Motion ➤ XML Animation dialog ➤ Click Yes. 4152 | Chapter 13 Animation This rollout comprises three list windows. The left (Current) and right (Incoming) show node/controller hierarchies, as in Track View. Because the Map Nodes group functions apply to highlighted tracks, you can use standard highlighting methods. Click to highlight an entry, Ctrl+click to highlight multiple entries, and Shift+click to highlight a range. Also, in the Current and Incoming windows, you can right-click to open a menu that lets you highlight all tracks (Select All), invert the current highlighting (Select Invert), and turn off highlighting for all tracks (Select None). In addition, you can use the right-click menu to expand and collapse any track with a - or + icon next to its name. Interface Current list Shows animation tracks for selected objects in the scene, using the same hierarchical display as Track View. Unassigned tracks use black characters, while assigned tracks use gray characters. Status This read-only field shows the number of controllers and the number of nodes mapped. Mapped list Shows tracks that have been mapped. <- Assigns the highlighted animation track in the Incoming list to the highlighted animation track in the Current list. The assignment then appears in the Mapped list, opposite the corresponding Current list entry. If the two tracks don't contain comparable data, nothing happens when you click the button. -> Removes the highlighted Mapped list entry. Load Animation | 4153 Incoming list Shows animation tracks in the loaded XAF file, using the same hierarchical display as Track View. Unassigned tracks use black characters, while assigned tracks use gray characters. Retargeting Rollout Animation menu ➤ Load Animation ➤ Open dialog ➤ Edit Mapping Animation menu ➤ Load Animation ➤ Open dialog ➤ Load Motion ➤ XML Animation dialog ➤ Click Yes. When you map an animation from one rig or object onto another, use this rollout to establish retarget references between the incoming nodes in regards to their scale dependency. Retargeting means to scale the animation so it matches the objects onto which you are mapping the motion. You need to retarget only when the size or proportions of the incoming model differ from the size or proportions of the current model. Retargeting applies to any kind of animation, from matching fight choreographies, to changing a weather balloon's fly-through trajectory over hills and valleys. The down side of this is that essentially you have to set up the scaling relationships by hand; the good news is that the steps are fairly straightforward, and that once you have retargeted, the settings are reusable for all animation mapped between the same two sets of objects. While retargeting is a general-purpose feature, it is especially useful for transferring animation from one character to another, when the characters are of different sizes, and possibly of different proportions (for example, a human model to a gorilla, or vice versa). You can transfer IK animation onto an FK rig, or vice versa. There are some rules of thumb when you work with mapping character animation: ■ In a walk cycle, the root of a character moves, and all other movement is typically rotation. Because of this, usually you want to map the root motion and the rotation tracks, and leave the others alone. The exception to this is when arms or other parts (tentacles?) are animated by IK. When IK is present, you need to take the additional step of mapping and retargeting the IK goals. ■ The legs need to reach the “ground,” and feet should not slide. Because of this, use the legs as the basis of recalculating the scale for the target character. 4154 | Chapter 13 Animation ■ Characters are usually symmetrical. Because of this, usually retargeting one limb does the trick for both. If a character's limbs are not symmetrical, retarget each of them individually. If the current model uses forward kinematics, then use the FK Retargeting Extent controls as well. Procedures To retarget one character onto another: This procedure is not a detailed procedure, but an overall workflow. It assumes you have already saved the incoming character's animation, then loaded it onto the current character, as described in To use the Save Animation and Load Animation commands on page 4141. NOTE If the animation you are saving is unkeyed world-space animation (as opposed to IK or FK), turn off Animated Tracks when you save. 1 On the Map Track To Track rollout on page 4152, map the motion tracks of the incoming character's root to the current character's root. For example, if you are retargeting a Biped on page 4822 onto another, you would map the incoming Biped object's position and rotation tracks onto the current Biped. 2 Map the rotation tracks of the incoming character's limbs onto the current character's limbs. There is one exception here: if a hand (for example) is going to use IK in the current scene, either don't map it at all, so you can animate it later, or if you are mapping from an FK model to an IK model, map the Exposed World Transform to transfer the incoming FK trajectories to current IK controls. 3 Go to the Retargeting rollout. 4 In the Scale Origin group, choose both the Incoming and Current root objects. If the characters are symmetrical and have the same proportions, you can now choose all the mapped tracks in the Retargetable Nodes list. If the characters are not symmetrical, or their proportions are different, then you need to take further steps. Load Animation | 4155 5 In the Derive Scale Between Chains group, choose the Start and End nodes of both Incoming and Current chains to correspond to either the left or right leg of the character: for example, Thigh to Toe. Read the Scale Factor that is set on the basis of the two chains. 6 Click Set to retarget the highlighted mapped tracks. If the two current legs are not the same length, repeat step 5 for the other leg, then choose that leg's Foot (or Toe) node, turn on Enabled in the FK Retargeting Extent group, and choose the top of the leg (for example, Thigh) as the parent to use. Click Set. 7 Save the retargeted mapping file. 8 Click Load Motion to animate the current character, and then close the Map Animation dialog. Interface Retargetable Nodes list This list shows the tracks that have been mapped using the Map Track To Track rollout on page 4152. Each of these mappings can be retargeted. The fields in this list are as follows: ■ Current Mapped NodeShows the node-to-node mapping, as in “CurrentObject->IncomingObject.” ■ RWhen a mapping has been retargeted, this field shows an “X.” 4156 | Chapter 13 Animation ■ Scale (X,Y,Z)Shows the current scaling factor for each dimension of the current node. ■ AbsoluteWhen a mapping uses absolute scaling, this field shows an “X.” ■ Scale Origin (Incoming,Current)Shows the incoming and current scale origins for this mapping. If the mapping hasn't been retargetted, this field shows “Scene Root , Scene Root.” ■ Incoming Chain (Start,End)If the mapping has been retargeted, shows the incoming chain used to calculate scale. ■ Current Chain (Start,End)If the mapping has been retargeted, shows the current chain used to calculate scale. ■ FK ExtentIf a mapped track's FK extents have been recalculated, shows the parent node used in the recalculation. Find Enter a name to search for a particular object, then press Enter. 3ds Max highlights matching entries in the list. Filter Retargeted Nodes When on, the list shows only those mappings that have been retargeted. When off, all mappings are listed. Default=off. Mapped Node Shows the currently highlighted mapped node. If more than one list entry is highlighted, shows “—Multiple—.” Scale group ■ AbsoluteWhen chosen, scaling for the currently highlighted mappings is absolute, and based on the XYZ settings in this group alone. ■ Multiply Derived Scale(The default.) When chosen, scaling for the selected mappings is based on both the XYZ settings in this group, and calculations from the Derive Scale Between Chains group and the FK Retargeting Extent group (if that is used). X/Y/Z You can use these fields to explicitly set the scaling factor for the currently highlighted mappings. Scale Origin group Incoming Choose the incoming object from which to derive the scaling origin. This is a drop-down list obtained from the list of incoming nodes. Load Animation | 4157 Current Click to display a Select dialog and chose the current object from which to derive the scaling origin. The dialog shows all currently selected objects. Typically, you set these two to be the incoming root node and current root node, whose motion tracks are already mapped. Derive Scale Between Chains group Resulting Scale Factor Displays the scale factor derived from the Scale Origin and Incoming/Current Chain settings. Check this value to see that it matches the apparent difference in proportion between the objects or characters you are retargeting. Incoming Chain These controls set the incoming IK or FK chain to use in calculating the Scale Factor. ■ StartChoose the start of the incoming chain. This is a drop-down list obtained from the list of incoming nodes. When retargeting character animation, typically you choose the top of the incoming character's leg; for example, the thigh. ■ EndChoose the end of the incoming chain. This is a drop-down list that is restricted to children of the incoming Start object. When retargeting character animation, typically you choose the end of the incoming character's leg; for example, the toe. Current Chain These controls set the incoming IK or FK chain to use in calculating the Scale Factor. ■ StartClick to display a Select dialog and choose the start of the current chain. The dialog shows all currently selected objects. When retargeting character animation, typically you choose the top of the current character's leg (using the same side as you used for the incoming chain). ■ EndChoose the end of the current chain. This is a drop-down list that is restricted to children of the current Start object. When retargeting character animation, typically you choose the end of the current character's leg. If a character's legs are symmetrical, which is usually the case, you only need to calculate the retargeting scale for one leg, and then Set that value to both. If the character's legs are not symmetrical, you need to calculate values for both legs, and also use the FK Extents controls (described below). 4158 | Chapter 13 Animation FK Retargeting Extent group When the current model uses IK, 3ds Max knows the extent to retarget because it is defined by the IK solution. But if the current model uses FK, you should specify the extent of retargeting. For example, mapping rotation animation from a long leg to a short leg with different link lengths requires that the short leg’s foot be chosen to retarget so it ends up meeting the floor in the same way the long leg does. In order for 3ds Max to know how far up the chain from the foot to do the retargeting, the parent of the desired chain (for example, the thigh) must be specified. By defining the two chains to compare, 3ds Max can adjust the resulting rotations such that the feet don't slide. When a character's limbs are not symmetrical, you can also use these controls to keep rotations proportional. First, highlight the current child (for example, a foot or toe) in the Retargetable Nodes list. Turn on Enabled, and then use the drop-down list to choose the upper parent (for example, the thigh) of the limb you are retargeting. Finally, click Set. Enabled Turn on to enable retargeting extents. Default=off. Parent Node Choose the current upper parent of the limb you are retargeting. This drop-down list is restricted to parents of the currently highlighted current object. _____ Get Click to set controls in the Scale, Derive Scale Between Chains, and FK Retargeting Extents groups based on the currently highlighted mapping in the list. If multiple mappings are selected, Get fetches the first highlighted mapping in the list. Set Click to apply the current Scale Factor to the mappings that are currently highlighted in the list. Clear Click to clear retargeting values from the mappings that are currently highlighted in the list. Save Animation Select one or more animated objects. ➤ Animation menu ➤ Save Animation Track View ➤ Hierarchy/Controller window ➤ Highlight one or more tracks ➤ Right-click. ➤ Save Animation Save Animation | 4159 Save Animation lets you store animation from your scene to disk in the XML Animation File (XAF) format. The XAF file format lets you save and load animation for any number of objects separately from the actual scene. For a procedure that outlines the basic method of saving and loading animation, see To use the Save Animation and Load Animation commands on page 4141. See also: ■ Saving and Loading Animation on page 4141 ■ Load Animation on page 4144 ■ Map Animation Dialog on page 4147 Interface To use Save Animation, select the objects from which to save animation data, and then choose Save Animation from the Animation menu. Settings in the Save XML Animation dialog apply only to objects that are selected when you save the animation. 4160 | Chapter 13 Animation File controls The controls in the upper-left corner of the dialog are standard file-browsing controls. Animated Tracks Saves only animated tracks. This is on by default, and should generally be left on. Include Constraints When on, includes motion derived from constraints. Available only when Animated Tracks is on. Default=on. For example, if an object rotates because a LookAt constraint is applied to its Rotation track, then when you save its animation with Include Constraints on, 3ds Max generates rotation keys based on the constrained motion. It does not save the actual constraint. When off, animation accomplished only by constraints, such as the Link constraint, is not saved. NOTE This doesn't apply to constraints such as the Path constraint on page 3629. Because this constraint assigns the animation directly to the constrained object, rather than deriving it from the constraining object, Save Animation saves path-constrained animation even if Include Constraints is off. Save Animation | 4161 Keyable Tracks When on, saves only keyable on page 3898 tracks with controllers, as defined in Track View. Turning this on allows keyless animation tracks to be saved. Default=off. If both Animated Tracks and Keyable Tracks are on, any tracks that contain animation but are not keyable won't be saved. You can use this option to avoid saving tracks that aren't relevant to the scene into which you're loading the animation. For example, if you want to save constraint data, but not data from a LookAt constraint (because LookAt tends to be specific to the scene), you can turn off Keyable for the LookAt track, and then save with Keyable Tracks on. NOTE Animated Tracks overrides Keyable Tracks. If a track is keyable but doesn't contain any animation data, and Animated Tracks is on, the track won't be saved even if Keyable Tracks is on. NOTE Tracks without controllers, such as nonanimated creation-parameter tracks, won't be saved even if Keyable Tracks is on. To save a nonanimated creation-parameter track, add a controller, turn off Animated Tracks, and turn on Keyable Tracks. Segment Lets you save a specific frame range, as opposed to the entire animation. Default=off. ■ Active Time RangeClick to set the From and To fields to the currently active time range. Available only when Segment is on. ■ Objects Time RangeClick to set the From and To fields to the time range that corresponds to the keys of the currently selected objects. Available only when Segment is on. ■ FromSets the starting frame for the range to save. Available only when Segment is on. ■ From/ToSets the ending frame for the range to save. Available only when Segment is on. Key Per Frame Saves an animation key per frame, thus “baking” the animation to keyframes. This can be useful if you are applying a procedural animation, such as a dynamics simulation, to an object that won't be participating in a dynamics simulation in the target scene. 4162 | Chapter 13 Animation + Increments the number at the end of the file name and saves the animation file with the new name. If the file name doesn't currently end with a number of two or more digits, clicking + appends “01” to the file name (before the extension), and then saves the file. Save Saves the animation using the current file name. Cancel Closes the dialog without saving any animation. User Data group These controls let you enter user attributes and names. This could simply be notes about the animation file, or they could be actual data for use by custom plug-ins and utilities. To enter user data, type a value in the Attribute field, press Tab and type a value in the Value field, and then press Enter to add the attribute and value to the list below. These values are saved with the XAF file and can be viewed with the Load Animation dialog. Attribute Enter an attribute name. Value Enter an attribute value. This can be any combination of alphanumeric characters. To add the attribute and value to the file, press Enter while the cursor is in this field. Delete User Data Deletes the highlighted attribute from the list along with its corresponding value. Attribute list Shows all attributes and values in the file. To change a value, click the corresponding attribute in the list to highlight it and place it in the Attribute and Value fields, edit the Value field, and then press Enter. You can also edit the Attribute field, but this creates a new entry. To remove an attribute, highlight its name in the list and then click Delete User Data. Merge Animation [Available only as a CUI action] Merge Animation merges (transfers) animation data from one object to another. Animation data can be transferred from one scene to another, or between objects in the same scene. Animation data from several objects can be merged at the same time. Merge Animation | 4163 IMPORTANT The Merge Animation command is available only as a Customize User Interface on page 8837 action; to use it you first must add it to the user interface explicitly. For transferring animation data between scenes, we highly recommend that you use the Save Animation and Load Animation functions instead of Merge Animation. See Saving and Loading Animation on page 4141. Within the Merge Animation dialog, objects eligible for transferring or receiving animation data are called nodes. Source nodes refer to objects from which animation data can be transferred, while current nodes can receive animation data. Merge nodes are source nodes that have been mapped to (matched up with) current nodes in the Merge Animation dialog in preparation for merging. In order for a particular attribute's animation data to be transferred from a merge node, the corresponding current node must have the same attribute. For example, if a merge node has an animated Bend modifier applied to it, the current node must also have a Bend modifier applied to it for the animation data to transfer successfully. The Merge Animation feature is ideal for transferring animation data between similar hierarchies, such as character structures. In character creation, it is a common practice to name bones for different characters with the character name plus a suffix or prefix that describes the bone. For example, you might have one character called Alien with bones named Alien_Pelvis, Alien_LeftHand, etc. Another character called Chef would have bones named Chef_Pelvis, Chef_LeftHand, etc. The Merge Animation dialog can automatically filter prefixes and suffixes so you can quickly map the merge nodes for complex hierarchies. NOTE If you plan to merge animation data to and from characters, the process will be much easier if you use the same bone-name prefixes or suffixes for each character. See also: ■ Merge on page 8101 ■ Merging Effects on page 7519 ■ Replace on page 8106 4164 | Chapter 13 Animation Procedures To replace the animation in the current scene with the animation from another scene: 1 Load the scene that will receive the merged animation data. 2 Launch the Merge Animation dialog. 3 In the Merge Animation dialog, click Source File to choose the file from which to merge animation data. The objects appear under Source Nodes in the Object Mapping rollout. 4 On the Object Mapping rollout, drag and drop the source nodes to the Merge Nodes column, matching them with the appropriate current nodes. 5 In the Source Time Range group, choose Replace Animation. 6 Specify the source node attributes that will be merged. 7 Click Merge Animation to merge the animation data from the merge nodes to the current nodes. To insert animation data from one character to another: The Source Objects and Current Objects entry fields allow you to enter wildcard expressions to filter prefixes and suffixes of node names. The filtered text is ignored by the Auto Name Mapping tool, so complex structures of similarly-named nodes can be mapped quickly. This feature is handy for transferring an animation between character structures, providing the source and current nodes have been named with the same conventions. 1 Load the file with the character to which animation data will be merged. 2 Launch the Merge Animation dialog. 3 Click Source File and choose the animation source file. 4 In the Merge Animation dialog, under Source Objects, use a wildcard expression to specify multiple items that share a set of characters in their names. For example, if the character bones are named Skater_Head, Skater_RFoot, and so on, enter Skater* under Source Objects. 5 Click Refresh for Source Objects. 6 Under Current Objects, use a wildcard expression to filter the current nodes' prefix or suffix. Click Refresh. 7 Click Auto Name Mapping. Merge Animation | 4165 Source nodes are placed in the Merge Nodes column, corresponding with current nodes with the same prefix or suffix. 8 Specify whether to replace or paste animation data from the source file. If pasting animation data, the frame times for the merge nodes are added to the current nodes. 9 Specify the source node attributes that will be merged. 10 Click Merge Animation to merge animation data from merge nodes to corresponding current nodes. To insert animation from one character assembly to another: For character assemblies on page 7920, the Insert Animation feature can be used to merge animation data. 1 Load the file into which the animation data will be merged. 2 Select the character assembly node. 3 On the Modify panel, click Insert Animation. Select the source file from which animation data will be merged. 4 Follow the previous procedure from step 4. To merge animation data from objects in the same scene: 1 Launch the Merge Animation dialog. 2 Click Source Object, and choose the object from which animation data will be transferred. This object and its hierarchy appear under Source Nodes in the Object Mapping rollout. 3 On the Object Mapping rollout, drag and drop source nodes to the Merge Nodes column, matching them with the appropriate current nodes. 4 Specify whether to replace or paste animation data from the source file. If pasting animation data, the frame times for the merge nodes are added to the current nodes. 5 Specify the source node attributes that will be merged. 6 Click Merge Animation to merge the animation data from the merge nodes to the current nodes. 4166 | Chapter 13 Animation Interface The Merge Animation dialog has the following controls. Source Objects group Source File Click to select a source file containing the animation data. Animation data from this file will be merged into the current scene. All objects in the scene are displayed under Source Nodes in the Object Mapping rollout. Source Object Selects a source object from within the current scene. If a source object is selected, the Source File selection is ignored. Merge Animation Merges the animation data based on settings on this dialog. Before animation data can be merged, Merge Nodes must be listed for their corresponding Current Nodes on the Object Mapping rollout. The progress bar at the bottom of the dialog shows the progress of the merge operation. After merging, this dialog remains on-screen so you can check whether the merge was performed properly before closing the dialog. Undo Last Merge Undoes the last merge. If the merge was not performed properly, you can change settings and try again. Source Time Range group Replace Animation Completely replaces existing animation data in the current scene with the animation data from the source file. Paste to Existing Animation Appends the source file animation data to the existing animation data based on the following time parameters. Match Source File Time Sets the source time range to match the active time segment in the source file. Merge Animation | 4167 Start Time Start Time and End Time set the frame range to merge from the source file. Start Time sets the first frame in the range. End Time Sets the end frame number to merge from the source file. Insert Animation to Frame Sets the start time in the current scene. Animation data will be pasted into the current scene starting at this frame. Any existing animation data in the current scene prior to this frame will remain the same. Relative Animation data pasted into the scene will change the current scene objects relative to their current status. For example, if an object in the source file is animated to move from the XYZ position 0,0,0 to 12,0,0, the object receiving the animation data in the current scene will start at its current position and move 12 units along the X axis. Absolute Animation data pasted into the scene will replace the current animation data. For example, if an object in the source file is animated to move from the XYZ position 0,0,0 to 12,0,0, the object receiving the animation data in the current scene will start at exactly 0,0,0 and animate to 12,0,0. Main Attributes group Specify the source file attributes whose animation data will be merged. Current nodes must have the same attributes as merge nodes for the attribute animation data to be merged. Transform Enables selection of Position, Rotation and Scale animation data for merging. IK Merges animation data of IK chains created with IK solvers. Position Merges Position transform animation data. Rotation Merges Rotation transform animation data. Scale Merges Scale transform animation data. Modifiers Merges animation data of modifiers. In order for animation data of a modifier to be transferred, the current object must already have the same modifier applied to it. More Attributes group Selects additional attributes to be merged from the source file. Custom Attributes Merges animation data of any custom attributes on source objects. 4168 | Chapter 13 Animation Add New Defs Adds custom attribute definitions to the current object if it doesn't have the same definitions as the source object. Base Objects Merges animation data of parameters at the object base level. For example, if a sphere's Radius parameter is animated, checking this option will merge the Radius animation data. This option will also merge animation data at an object's sub-object level, such as the animation of vertices on a spline or Editable Mesh object. Materials/Maps Merges animation data of materials and/or maps. Visibility Tracks Merges animation data of visibility tracks. Object Mapping rollout Sets up a one-to-one correspondence (mapping) between source objects and current objects. Animation data on objects in the Merge Nodes column will be merged to the corresponding object in the Current Nodes column. To move objects to the Merge Nodes column, drag them from the Source Nodes column, or use Auto Name Mapping to automatically map objects with the same names or partial names. Source Objects Allows you to specify wildcard expressions for filtering source objects. Click Refresh to view objects specified by the wildcard expression. Merge Animation | 4169 Refresh Refreshes the display based on wildcard expressions entered in the Source Objects field. Source Nodes Displays the object selected with the Source Object option, and all its children. Objects with keyframed animation are listed in red, and objects with procedural controllers (such as a Noise or Expression controller) are listed in green. The display can be limited with wildcard expressions entered in the Source Objects field. Current Objects Allows you to specify wildcard expressions for filtering current objects. Click Refresh to view objects selected by the wildcard expression. Refresh Refreshes the display based on wildcard expressions entered in the Current Objects field. Current Nodes Displays objects in the current scene. Animated objects are listed in red. Display can be limited by wildcard expressions in the Current Objects field. Merge Nodes Lists the current objects that will receive animation data from the corresponding object under Current Nodes. To place an object in the Merge Nodes column, drag and drop the item from Source Nodes, or use Auto Name Mapping to automatically map objects with the same or similar names. Move Up Moves the selected Merge Node up one row. Clear Selected Clears selected entries under Merge Nodes. Move Down Moves the selected Merge Node down one row. Auto Name Mapping Automatically maps source objects to the Merge Nodes column, matching names with current objects. The mapping process filters any wildcard expressions entered in the Source Objects and Current Objects fields. If no wildcard expressions are entered, source objects are mapped only to current objects with identical names. Display Options group Show Animated Only Displays animated objects only. 4170 | Chapter 13 Animation Indent Sets the number of characters by which child objects are indented in the display. Load Mapping Loads a previously saved .mnm file. This type of file can be loaded and saved only on the Merge Animation dialog. Save Mapping Saves the current mapping in an .mnm file. The name of the source file and the mapping of source and current objects are saved. This type of file can be loaded only with the Load Mapping option on the Merge Animation dialog. Animation Utilities 3ds Max provides a number of utilities, available from the Utilities panel on page 8810, to assist in animating scenes. Follow/Bank Utility Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Follow/Bank The Follow/Bank utility applies rotation keys to an object that already has a motion trajectory. The settings are similar to those found in the Path constraint. Use this when you have an object for which you've already assigned motion and want it to follow or bank along its trajectory, but don’t want to use a Path constraint. Follow/Bank utility changes the roll of a camera as it follows a path. The utility aligns the object's X axis to the direction of motion. To change the orientation, change the pivot orientation in the Hierarchy ➤ Pivot panel before using this utility. Animation Utilities | 4171 Although many of the settings are the same as in the Path constraint, this utility is not dynamic; you have to click the Apply Follow button each time you change an object's animation or the utility settings. When adjusting banking settings, move to the point at which the object is at the sharpest turn, then alternately click Apply Follow and adjust the banking settings to get the right affect at the extreme corner. TIP You can also use an Orientation Constraint to manually control the rotation of the object as it moves through space. While this is not automatic, it allows more fine control on individual frames than other methods. Procedures To apply the Follow/Bank utility: 1 On the Utilities panel, click the More button, and choose Follow/Bank from the list. 2 Adjust the options in the Follow/Bank Parameters rollout. 3 Select the objects you want to follow/bank. 4 Click the Apply Follow button. The objects orient themselves at the start frame, and follow or bank along their trajectories. 4172 | Chapter 13 Animation Interface Selected Object group Displays the name of the current selection. If more than one object is selected, "Multiple Selected" displays. Apply Follow button Apply Follow Applies the settings and generates rotation keys. Each time you click this button, rotation keys in the specified range of frames (set in the Samples group) are deleted and regenerated. Follow/Bank Utility | 4173 Follow Options group Contains the parameters that specify whether or not to use banking, and the banking settings. Bank Turn on to cause the objects to bank as well as follow the trajectory. Bank Amount Adjusts the amount of the banking to one side or the other, depending on whether the value is positive or negative. Smoothness Controls how rapidly the roll angle changes as an object moves through bends in the trajectory. Smaller values make an object more responsive to subtle changes in the curve while larger values minimize jerkiness. Allow Upside Down Avoids the situation where an object flips when going around a vertically oriented path. Samples group Specifies the range of frames over which rotation keys are generated, and the number of keys to be generated. Start Specifies the first frame rotation keys are generated. End Specifies the last frame rotation keys are generated. Samples Specifies the number of rotation keys to be generated in the specified range. Close button Close Exits the Follow/Bank utility. Motion Capture Utility Utilities panel ➤ Utilities rollout ➤ Motion Capture button The Motion Capture utility drives your animation using peripheral devices, such as MIDI keyboards, joysticks, and the mouse. While driving the animation, you can record it in real time. The motion capture system in 3ds Max is handled in the following way: 1 In Track View, assign motion capture animation controllers to the specific tracks you want controlled by external devices. 4174 | Chapter 13 Animation 2 After assigning the Motion Capture controller, open the Properties dialog for the track and bind the type of peripheral device(s). As an example, the Rotation Motion Capture controller has three rotational axes to which you can bind one device each. 3 After binding devices, adjust their settings and parameters in the lower portion of the Track Properties dialog. These controls vary depending on the type of device. 4 On the Utilities panel, open the Motion Capture utility. You can test and record your motion for any combination of tracks over any range of frames. The following motion-capture devices are included with 3ds Max: Mouse Input Device rollout on page 4185 Keyboard Input Device rollout on page 4186 Joystick Input Device rollout on page 4187 MIDI Device rollout on page 4190 Procedures To assign a Motion Capture controller to tracks: The first step in using motion capture is to assign motion-capture controllers to the tracks you want. 1 In the Track View hierarchy, highlight the Transform track you want. 2 Choose Controller ➤ Assign. 3ds Max opens the Assign Controller dialog. 3 Choose Motion Capture (might start with “Position,” “Float,” “Scale,” or other), and then click OK. A Motion Capture dialog is displayed. Its title bar includes the name of the object and the track to which the controller is assigned. If a Data dialog opens instead, close it, right-click the track name, and choose Properties. Motion Capture Utility | 4175 When you assign a Motion Capture controller, the previously assigned controller is maintained as a child of the Motion Capture controller. This lets you continue to adjust the object using standard transform controls, while still making motion-capture control available. To bind and adjust devices: 1 After assigning a Motion Capture controller, determine the type of device that will drive the motion. Depending on the type of controller, you might be able to bind one or more devices. For example, a Rotation Motion Capture controller can 4176 | Chapter 13 Animation have three devices, one for each axis of rotation. On the other hand, a controller for the radius of a cylinder would have only one device to control the radius value. 2 Bind the devices in the Properties dialog for the track. To specify a device: 1 Click the Properties button while the Rotation track is selected. The Properties dialog for rotation motion capture includes three binding buttons (one for each axis.) 2 Click the Y Rotation button. In the resulting dialog, choose Mouse Input Device, and click OK. The lower half of the Properties dialog display controls specific to the new device. Assuming this is a segment that isn't attached to another object, you want the horizontal mouse movement. 3 Under Mouse Input, choose Horizontal. The Scale spinner lets you adjust the relative effect of the mouse movement to the rotation. Flip reverses the rotational direction with respect to the mouse movement. Example: To set up the Joystick controller to move a Free camera: You set up the Joystick controller to move a Free Camera around on the XY plane. The Y movement of the joystick will affect the camera's forward and backward movement, and the X movement of the joystick will rotate the camera. You'll use Increment Based On Direction to allow the Y movement to be local to the camera rather than to the world. 1 Create a Free camera in the Front viewport. 2 In Track View, assign a Rotation Motion Capture controller to the Rotation track of the camera. 3 Right-click in the Rotation track to display the Motion Capture properties dialog. 4 Click the button beside Z Rotation, and assign a Joystick Input Device. 5 Under Joystick Axis, choose the X option (if it's not already chosen). 6 Check Accumulate so that the rotation won't return to zero each time you release the joystick. Motion Capture Utility | 4177 Example: To set up the Position controllers of a camera for moving with a joystick: The rotation of the camera about its world Z axis will be controlled by the X motion of the joystick. You'll set up the Position controllers of the camera to move the camera forward and back with the Y motion of the joystick. 1 Assign a Position Motion Capture controller to the camera's Position track, and access its Properties dialog. 2 Assign a Joystick Input Device to both the X Position and Y Position buttons. 3 Click the Edit Binding X button, and then choose the Y option under Joystick Axis. 4 Check Accumulate. 5 Click the Edit Binding Y button, and also choose Y under Joystick Axis. 6 Check Accumulate. The Y motion of the joystick will now affect both the X and Y positions of the camera. Example continued: To add the increment based on direction options: If you tested the camera motion at this point, moving the joystick forward or backward along the Y would produce a diagonal motion because the Position tracks would receive equal amounts of X and Y values. Adding the Increment Based On Direction options will change this. 1 Click the X Edit Binding button. 2 Under Increment Based On Direction, click the button beside Controller. A dialog appears with a list of controllers. 3 Find and select the Rotation Motion Capture controller for the camera. 4 Set the Direction option to Z (the local axis along which the direction points). 5 Set the Component option to X (matching the Edit Binding button). 6 Click the Y Edit Binding button. 7 Click the button beside Controller, and assign the Rotation Motion Capture controller. 8 Set the Direction option to Z, then set the Component option to Y. 4178 | Chapter 13 Animation 9 Open the Motion Capture utility, turn on both tracks in the list, click the Test button, and move the camera while observing it in the Top viewport. As you move the joystick in the Y direction, the camera moves forward or backward. Moving the joystick in the X direction rotates the camera, but then, as you continue moving the joystick in the Y direction, the camera moves forward and back along its local axis. Motion Capture Utility | 4179 Interface 4180 | Chapter 13 Animation Record Controls group Tests and records your animation. The first three buttons let you control the recording directly, while the Start/Stop button lets you use a MIDI device to control the recording. Start Starts a recording using the values set under Record Range below the Track list. Stop Stops the recording before the Out frame is reached. You can also stop a recording by pressing Esc, or by pressing the right mouse button. Test Tests your motion. No recording takes place. Exit by clicking Test again, pressing Esc, or clicking the right mouse button. Play During Test When turned on, and you click Test, the animation in the scene plays in a loop while you test your motion. Note that tracks in the Motion Capture list that are selected (marked red) won’t play back because they're waiting for input from the assigned peripheral device. Start/Stop Displays the Start/Stop Trigger Setup dialog on page 4182. You can choose the type of MIDI device that will control the recording. Enable Uses the assigned MIDI device for recording instead of the Start, Stop, and Test buttons. TIP In the Time Configuration dialog, you can reduce the viewport playback speed, test or record at the lower speed, and then reset the speed to normal to view the results. Motion Capture Utility | 4181 Start/Stop Trigger Setup dialog Presets Choose the type of MIDI device. If you choose Media Control Station 2, you can use its buttons to Stop, Play, and Record. (The Media Control Station is a MIDI device containing standard VCR-style playback buttons along with a jog wheel.) By choosing Custom, you enable the remaining spinners in the dialog, where you can set specific channels and note numbers. You can also use Custom to customize the controls used by the Media Control Station. Channel Specifies the channel to which your MIDI device is assigned. Note Number The Stop, Play, and Record spinners that follow this label let you specify which note event triggers which function. ■ StopThis note event stops the playback or the recording. On the Media Control Station, this would be the square button. This is the equivalent of clicking the Stop button under the Record Controls group. ■ PlayPlays the animation. This is the arrow button on the Media Control Station. ■ RecordWhen this note is sent by itself, it's the equivalent of clicking the Test button under Record Controls. To record the motion capture, you must press both Play and Record at the same time (the equivalent of clicking the Start button under Record Controls). You can press the Play button before or after the Record button and release the Play button before or after the Record button. The recording starts when the button is released. 4182 | Chapter 13 Animation Tracks group The Tracks area displays all tracks that have been assigned Motion Capture controllers. You select the tracks that will be affected by the three buttons in the Record Controls group. Click a track to toggle its selection box on or off. Only the selected tracks displaying the red box are affected by the Record Controls group. You can select the tracks either by clicking them, or by using the All, Invert, None buttons. In addition, you can create named selection sets of tracks. To create a named selection, click the tracks you want, and then enter a name in the Edit field above the track list. To select a previously named set, open the Edit window, and select it from the list. To delete a named set, select it from the list, and then click the Delete button at the right. NOTE A specific track can be in only one named selection at a time. All Assigns all tracks to the Record Controls group. Invert When tracks are selected, assigns the unselected tracks to the Record Controls Area. None Assigns none of the tracks to the Record Controls group. By default, each track is provided a name consisting of the name of the object followed by a backslash and the name of the parameter. For example, Motion Capture Utility | 4183 Sphere01\Angle is an Angle parameter applied to one of the modifiers assigned to a sphere. You can rename the tracks in the Properties dialog, which you can access in Track View, or by double-clicking the track name in the Motion Capture utility. The upper rollout of each Properties dialog includes a Track Name field. Any name entered in the Track Name field appears in the Track list in the command panel, in the title bar of the Properties dialog, and beside the Data track in the Hierarchy list in Track View. Record Range group Specifies the frame range affected by the recording. You can also set a preroll range of frames (see below). Preroll Specifies the frame number where the animation begins playing when you press the Start button. If this number is the same or greater than the In number, the Preroll number is ignored. For example, if In: 0 and Out: 200, then a Preroll of -100 would give you 100 frames before the recording started, while a Preroll of 50 would be meaningless. If the range defined by Preroll and Out is larger than the current segment, the segment is temporarily enlarged during the recording. In Specifies the frame number where the recording begins after you click Start. Out Specifies the frame number where the recording ends after you click Start. You can stop the recording before this by clicking Stop. Live During Preroll When this is active, the motion capture is live through the preroll frames. The motion occurs, but isn't recorded. This can cause sudden motion shifts at the In frame because your live motion might not match the animation when you reach the In frame. When this option is inactive, the motion is disabled or frozen until you reach the In frame. 4184 | Chapter 13 Animation Samples group When the motion data is captured, it’s sampled at a rate relative to the current frame rate, which defaults to 30 frames per second. Increasing the frame rate increases the sample rate. The two radio buttons in this section allow you to choose one or two samples per frame. This is a shortcut that lets you sample at a field rate. If you're rendering to fields, you don't need to capture at 60 frames per second. Controllers will interpolate between the samples. Reduce Keys Reduces the keys generated by the motion capture. Threshold The value you enter in the Threshold field constrains how 3ds Max changes the selected track. The difference between the new animation and the original animation, at any frame, will be less than the threshold value. Low threshold values closely match the original animation but may not greatly reduce the number of keys. High threshold values produce the fewest keys but may not match the original animation with much accuracy. NOTE When Reduce Keys is active, there is additional calculation time after each completed recording. Mouse Input Device rollout Controls animation using the horizontal or vertical motion of the mouse. The available settings include the following: Horizontal/Vertical Specifies which mouse motion drives the animation. Scale Scales the relative effect of the mouse movement to the animation response (Spinner Value: float, 0 to 999,999) Motion Capture Utility | 4185 Flip Flips the direction of the response relative to the mouse movement. For example, if moving the mouse horizontally to the right produces a clockwise effect on a Rotation controller. Activating Flip will reverse the rotation to counterclockwise. Keyboard Input Device rollout Lets you assign most keyboard keys to drive the animation. Key Assignment group Click the Assign button, and then press any key. The assigned key appears in the list at right. Alternatively, you can open the list and select a key from it. Assign Click the Assign button, and then press any key. The assigned key appears in the lower list at right. Drop-Down List You can open the list and select a key from it. Envelope Graph group Displays a representation of the amplitude curve over time. 4186 | Chapter 13 Animation Envelope Parameters group Specifies the time over which the envelope of the action takes effect, relative to the key pressing and release. Attack Displays the time it takes after pressing the key for the value to reach its maximum level. Decay Displays the time it takes after having reached maximum for the value to fall to that specified by the Sustain spinner. Sustain After the Attack and Decay, the value specified here is sustained until you release the key. Release After releasing the key, this is the time it takes for the value to fade out to zero. Parameter Scaling Area Sets the scale of the envelope and the range of the output value. Time Specifies the scale of the Attack, Decay, and Release parameters. The value represents the number of seconds contained in 1 unit. For example, if this value is 1.0, then an Attack value of 1.0 equals 1 second. Range Sets the maximum output value of the controller. NOTE This controller ignores the state of the Ctrl, Alt, and Shift keys. TIP Because a single keyboard key can only generate either a positive or negative value, if you want to control both directions of a Bend Angle, for example, use a List controller. First, make sure there's a standard controller (such as a Bezier controller) assigned first in the list to maintain the center position. Then add two Keyboard Motion Capture controllers to the list (one assigned to one key, and the other assigned to a different key.) Set the range of one to the positive extent and the range of the other to the negative extent. Joystick Input Device rollout The Joystick Input Device driver was designed for the Microsoft Sidewinder joystick, which contains more controls than the standard joystick. You can use this device driver for standard joysticks as well. Motion Capture Utility | 4187 Joystick Axis group X, Y, Z Specifies which joystick direction drives the animation. (Standard joysticks provide X and Y axes only. The Sidewinder provides the Z axis when you twist the joystick.) Throttle On the Sidewinder, this is a slider next to the stick. Scale Scales the relative effect of the joystick action to the animation response (Spinner Value: float, 0 to 999,999) Flip Flips the direction of the response. Accumulate When turned off, the joystick position represents an absolute position, and you're limited to the "rectangle" defined by the limits of the joystick. When the joystick returns to its rest position, the value generated 4188 | Chapter 13 Animation returns to zero. When this is turned on, the joystick represents a change in the current position. Moving the joystick forward, for example, can cause an object to start moving, and it will continue to move until you return the joystick to its rest position. Joystick Buttons group Point-of-View Hat (Left-Right, Up-Down) The Sidewinder includes a mini-joystick on the tip of the main joystick. Specify the direction this joystick controls in the animation. 1, 2, 3, 4 Specifies one of four buttons in the Sidewinder joystick. They work similarly to the Point-of-View Hat, except that each button increases a direction value only while pressed. When you release the button, the value returns to zero (centered). Inc./Dec. One of three options available only when you choose one of the numbered joystick button options. This option (Increment/Decrement) means that the value is incremented when the button is down, and decremented when the button is up. Inc. When turned on, the value increments when the button is down, and stays at that value when you release the button. Absolute When turned on, the assigned parameters jumps to the value set in the Speed spinner when the button is down, and then jumps back to zero when you release the button. Use this for on/off animations, such as blinking lights. Speed Controls the rate at which the value changes when using either the Point-of-View Hat or the four buttons. When using a button option and the Absolute option, this specifies the value output when you press the button (Spinner Value: float, -999,999 to 999,999). Increment Based On Direction group Provides controls that let you derive the direction of movement from a Rotation controller. These options are used primarily when you're animating a first-person flythrough (such as when controlling a camera). NOTE The items in this area are only available when you select Accumulate in Joystick Axis. Controller Assigns a Rotation controller from which the direction will be derived. Clear Removes the assigned controller. Motion Capture Utility | 4189 Direction X/Y/Z Specifies the local axis that will be used as the direction. For a Free Camera, for example, this would be Z because the camera points in the Z direction. However, if you had a car that pointed along its Y axis, you'd use Y. Component X/Y/Z Specifies the edit binding to use. Match this to the Edit Binding button under Device Bindings. For example, if the Y Edit Binding button is selected, choose the Y Component option. MIDI Device rollout Controls animation using a MIDI device. MIDI Channel group Contains 16 buttons. Click to specify the channel to which your MIDI device is assigned. 4190 | Chapter 13 Animation MIDI Trigger group Defines the type of MIDI event (message) that will drive the motion. There are four options. NOTE When you choose this option, the note number or pitch defines the output value. The value is derived from where the note falls within the Note Range, specified in the Note Range group. When the note is at the bottom of the range, the value takes on the Min value specified under Parameter Scaling. When the note is at the top of the range, the value takes on the Max value from the same area. Anything in between is interpolated between the Min and Max values. (Note that Min doesn't have to be less than Max.) The generated value will slide around as different keys are pressed. The harder a key is pressed, the faster the value changes. The Speed setting defines how fast, overall, the value changes as keys are pressed. Velocity When you choose this option, the velocity of the note pressed determines the output value. The notes set under Note Range merely specify which notes are valid to press. The value takes on the Min value until a key within the Note Range is pressed. When the key is pressed, the value approaches the Max value based on how hard the key was pressed. (The value actually travels along a parabola toward the Max value.) The Sustain setting defines how long it takes the value to move through the parabola. When you choose Variable, the sustain length is also scaled by how hard the key was pressed. Pitch Bend The MIDI instrument's pitch bend knob defines the value. The Note Range doesn't apply in this case and is disabled. MIDI Controller Specifies a note event when you're hooked up to a different type of MIDI controller than the typical keyboard. For example, if you're using a MIDI slider box, you would select the MIDI Controller option, and then use the # spinner to specify the note event for the specify slider. Note Range group Low Note/High Note Set these to specify the low and high ends of the note range when the Note option under MIDI Trigger is turned on. Parameter Scaling group Contains the Min and Max spinners, which specify the range of generated values. See Note and Velocity. Motion Capture Utility | 4191 MIDI Channel Viewer Clicking MIDI Channel Viewer at the bottom of the MIDI Device rollout displays a dialog that lets you test your MIDI device to see which MIDI channel is receiving events, and which notes are being triggered. MIDI Channel group Provides a column of 16 buttons and progress bars representing the 16 MIDI channels. Select the channel from which you want to view note activity. The channel progress bars light up when any channel has an event. MIDI Note group The 11 Octave buttons let you select which octave you want to view. When a note is played in that octave, a corresponding progress bar lights up in the Note column. MIDI Controller # When using a different type of MIDI controller, such as a slider box, you can specify a note event, and then watch the corresponding progress bar light up when you activate that event. You can find the correct note number by activating the event while watching the Note Number field at the bottom of the dialog. Channel This is one of four text fields that display all of the values being generated by the MIDI device as you activate an event. The Channel field displays the currently selected channel. Event Displays the type of MIDI event being sent. This can be: Note On: 9 Note Off: 8 Pitch Bend: 14 MIDI Controller: 11 Velocity Displays the velocity, which has a different meaning, depending on the event. For the most common event, a note being pressed, this value represents the velocity at which the key was struck. Other events, however, might generate a continuous value. For example, a pitch bend event transmits the position of the pitch bend. Note Number Displays the corresponding note number for the event. When you're using a non-keyboard MIDI device, such as a slider box, you can use this to identify the note number of a specific slider, for example. 4192 | Chapter 13 Animation MACUtilities Utility Utilities panel ➤ More button ➤ MACUtilities You can use the Motion Analysis Corporation utility to convert motion data originally recorded in TRC format on page 8294 into character studio marker (CSM) format on page 9128. This allows you to easily map the motion onto a biped. A MNM (Marker Name) file is needed to determine how to convert the marker names from the incoming data into the CSM naming convention. You can either load an existing MNM file or create a new one using the MNM Creator/Marker Selection dialog. Procedures To convert a TRC file into CSM: 1 Click the Browse... button next to Create. 2 Highlight a MNM file in the Select Mapping File... dialog. Click Open to confirm your selection. The MNM file serves as a naming convention reference for the TRC conversion. 3 Click the Browse... button over Convert TRC To CSM. 4 Highlight a folder in the Choose CSM Files Destination Folder... dialog. Click Use Path to confirm your selection. After the conversion, the resulting CSM file is saved in this folder. 5 Turn on Use MNM Filter File. 6 Turn off Use TRC Filename. 7 Click Convert TRC to CSM. A Select Source TRC Files... dialog opens. 8 Highlight a TRC file and click Open to confirm your selection. A Selected Target CSM File... dialog opens. 9 Either highlight an existing CSM file to overwrite or enter a new filename. Click OK to confirm your selection. Your file is converted into CSM format. You can now load it onto a biped. MACUtilities Utility | 4193 Interface MNM Mapping File Displays the path and name of the chosen MNM file. Create Launches the MNM Creator/Marker Selection dialog, which creates a MNM file to use in the conversion process. Browse... Lets you pick a custom mapping file to use in the conversion process. CSM Output Folder Displays the folder path where the CSM file is generated. Browse... Lets you pick a folder in which 3ds Max saves the generated CSM file. Convert TRC To CSM Lets you first pick the TRC file to convert. The resulting CSM file is named after the original TRC file. NOTE If Use TRC Filename is turned off, a second dialog opens so you can pick an existing CSM file to overwrite or create a new one. 4194 | Chapter 13 Animation Options group Use MNM Filter File When on, the MNM file is used in the conversion process. Default=on. NOTE Turn off if the TRC marker names already follow the CSM standard naming convention. Batch File Conversion Enables you to pick multiple TRC files to convert. TIP Use this option to save time when you need to convert multiple TRC files. Use TRC Filename When off, you can customize the resulting CSM filename. When on, the CSM file is named after the TRC file. Available only when Batch File Conversion is off. Default=on. Translation Offset group Enable Turn on to add an offset to the resulting data's position. TRC Space/3ds max Space Choose between an offset space relative to the TRC data's root or to your scene. XYZ Sets the offset value for each position axis. Camera Tracker Utility Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Camera Tracker The Camera Tracker utility synchronizes a background by animating the movement of a camera inside 3ds Max to match the movement of a real camera that was used to shoot a movie. Procedures To generate a camera match-move: 1 Open the working scene in 3ds Max. The scene should have a Free camera to be match-moved, as the tracker does not create one. The scene also should have a set of Point or CamPoint helper objects positioned in 3D to correspond to the tracking features. Optionally install the movie as an environment map-based background Camera Tracker Utility | 4195 image in the match camera viewport. This is needed if you want to render a composite using the match-move or checking match accuracy. This doesn’t automatically display the background image in the viewport. Use Views ➤ Background Image to select the background movie and display it in the viewport. Real-world camera films a scene (the white dots will be tracking points). 2 Open the movie file in the Camera Tracker utility and create a set of feature tracking gizmos for each of the tracking features in the scene. 4196 | Chapter 13 Animation Resulting footage to be tracked and used as a background. 3 Position the Feature Selection box and Motion Search box for each gizmo so that they’re centered on the features and have motion search bounds large enough to accommodate the biggest frame-to-frame move of the features throughout the frames that will be tracked. 4 Associate each tracker with its corresponding scene point object. Camera Tracker Utility | 4197 The associated scene point objects are set up in 3D space based on real-world dimensions. 5 (Optional) Use the Movie Stepper rollout to set the start and stop frames for each tracker if it’s out-of-view for any of the frames that will be matched. These specify the frame range during which the tracker is visible in the scene and will be tracked as part of the matching process. This mechanism allows you to match a move in which the view passes through a field of features with only some of them (at least six) visible at any time. 6 (Optional) Set up manual keyframes for each tracker at frames in which the feature radically changes motion or shape or is briefly occluded and so might be difficult for the computer to track. If you want, you can do this after a tracking attempt indicates where tracking errors occurred. 7 Perform the feature track using the Batch Track rollout. This is often an iterative process: correcting for tracking errors by tuning start and stop frames or manually repositioning the gizmo and motion search boxes at error frames. When you reposition a gizmo at some frame, you establish a new target feature image and subsequent frames up to the next keyframe will be retracked. You can use the error detecting features in the tracker to step through possible tracking errors. When complete, this process 4198 | Chapter 13 Animation builds a table of 2D motion positions for each feature. You can save this to disk using the Save button on the Movie rollout. 8 Choose the camera that will be matched in the Match-Move rollout, select which camera parameters you want to estimate, set the movie and scene animation frame ranges and perform the match. This generates a keyframed animation of the selected camera parameters. After camera tracking, scene geometry (the character) matches the filmed background. 9 Check the match for obvious errors and review the tracker gizmo positions at these frames. You can manually adjust gizmos at these frames and the matcher interactively recomputes the camera position. 10 (Optional) Apply smoothing to selected camera parameters and recompute a compensating match for the other parameters. The Camera Tracker also has the ability to animate 3ds Max geometry to follow or match the video by following the movement of a tracker in a 2D plane. For this type of animation scene measurements aren’t required. Use the Object Pinning rollout of the Camera Tracker to create this type of tracking. Camera Tracker Utility | 4199 Requirements for Camera Tracking Using the Camera Tracker requires some setup, as this topic describes. To use the camera tracker, you need the following: ■ Movie footage in one of the file formats that 3ds Max supports, such as AVI or MOV. If you have sequential still images, you can use an IFL (Image File List). The file selector can automatically generate an IFL file by selecting the file name and turning on the sequence button. Or use the IFL Manager Utility on page 8424 to create an IFL file. ■ A set of trackable features in the movie, such as wall markers, balls, corner points and so on, for which position measurements are known. The tracker will track most small features with good contrast to their surroundings, have a well-defined position in space, and are unique within their frame-to-frame areas of movement. There must be six or more tracking features in the scene at any one time, at least two of which must be non-coplanar with the others, for example four on the ground and two elevated or three on one wall and three on another. For maximum match accuracy, you should use as many features as you can and select the features that are distributed as widely as possible over the scene. The features don’t have to be in any particular planes. ■ A 3ds Max scene file in which a set of point objects have been created and positioned in 3D corresponding to all the tracking features in the scene. The objects should be point or CamPoint helper objects. The tracker will match-move a selected Free camera in the scene, so you need to have at least one Free camera. You can place and orient it anywhere in the scene. Camera Tracker: Movie Rollout Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Camera Tracker ➤ Movie rollout Opens the movie for tracking. Also provides controls for the display of the movie, including fade display to improve the visibility of the trackers. Provides controls for loading and saving MOT files in which tracker information is stored. 4200 | Chapter 13 Animation Interface Movie file Selects and opens the movie that will be tracked. You can open any image file format that 3ds Max supports. If you use sequential still-image files, you will use an .ifl (image file list) file. You can create the .ifl file using the IFL Manager or using any bitmap selector dialog by choosing Sequence. When you open the movie file, it’s displayed in a Movie window. Display Movie Reopens a closed or minimized Movie window. You use the Movie window to setup and adjust feature tracking gizmos and to browse through the movie. For more details on working with the Movie window, see Motion Tracker rollout on page 4205. Show frame Allows you to step through the movie displayed in the Movie window. Alternatively, use the Movie Stepper rollout, which provides additional browsing controls. Deinterlace Causes the tracker to apply a video deinterlacing filter to the movie frames. If the movie comes from a video source and the features you’re tracking show marked interlacing, you should deinterlace the video to improve tracking accuracy. If the movie was digitized from film, you should not perform deinterlacing because the results will be less accurate. The deinterlacing is performed temporarily on loaded frames and doesn’t affect the original movie file. Off Disables deinterlacing. When no filtering is required click this. Odd Interpolates using the odd lines. Camera Tracker Utility | 4201 Even Interpolates using the even lines. Fade Display Fades the movie in a Movie window by 50 percent. Use this to see the tracker gizmos more clearly. Auto Load/ Save Saves the state of a tracking setup and any position data you’ve produced to a special file associated with each movie. Selecting Auto Load/Save Settings causes the tracker to keep this settings file up-to-date automatically as you work in the tracker. You can force a save at any time by clicking the Save button. Whenever you open a movie file in the Camera Tracker with Auto Load/Save on, the tracker reloads the state of the tracking session from this settings file. With Auto Load/Save Settings on, the tracker constructs the setting file automatically and places it in the same folder as the movie, named with the same prefix as the movie but with file type MOT. If you move the movie file to a new folder, move the MOT file with it so the tracker can find it. You can delete this file if you want to clear the settings or if the file becomes corrupted for any reason. When AutoLoad/Save is turned off, you can open a different movie file either with an empty tracker state or into the existing tracker state or save the current tracker state into a new file. The name of the current tracker file is displayed at the bottom of the Movie rollout. Save Saves the state of the tracking setup, and any position data produced to the current MOT file. Save As Saves the current setup into a new MOT file. This file becomes the destination for subsequent Save operations. Load Load the tracker setup and position data from another file. Camera Tracker: Movie Window The tracker gizmo displayed in the Movie window consists of two enclosed boxes, a central pair of cross hairs, and a tracker number. The inner box surrounds the feature that will be tracked and is called the feature bounds box. The outer box defines the frame-to-frame search and is called the motion search bounds box. You should place the central cross-hair over the feature as close as possible to the point corresponding to the placement of its scene point object. It’s this center coordinate that’s used in the camera match-move correlation between image feature and scene Point coordinates. 4202 | Chapter 13 Animation You should make the feature bounds box large enough to enclose the feature and some of the surrounding images enough to give the feature a contrasting background of several pixels. The motion search bounds defines the are in which the feature will be searched for from frame-to-frame. This bounds box moves with the feature box, so the area is relative to the current feature at each frame. It’s important to estimate this search area well. If it’s too large, the matching process will be unnecessarily slow and there’s more chance of other features in the search area making the search ambiguous; if it’s too small, tracking errors will occur. It might be useful to review the movie that will tracked on a real-time playback device like a video deck and estimate feature moves beforehand. If you set the Max Move/Frame spinner to the maximum move before creating the tracker, its motion search bounds box will be set to accommodate this move for you. You can also adjust this box at any time in the Movie window. NOTE It’s possible to change the search bounds box for different frame ranges in the movie, so you can optimize your search capabilities. See Keyframes and Position Data on page 4215. Working with the Movie Window Displays the current frame of the movie being tracked and any active tracker gizmos for that frame. You can open and close the window using the Display Movie check box in the Movie rollout or minimize it using the standard window title bar controls. When you first open a movie, 3ds Max sizes the window so it will fit on the screen and this might result in an automatic zoom out if the image is too big. You can resize the window by dragging its sides or corners. You can zoom around in and out of the window using the tracker gizmo controls. Working with the Tracker Gizmos There are several ways to work with gizmos in the Movie window. ■ Selecting: You need to select a gizmo to work on it. You do this by clicking anywhere inside its bounds in the Movie window or by clicking its entry Camera Tracker Utility | 4203 in the tracker list box in the Motion trackers rollout. The selected gizmo displays positioning handles at the corners of both its bounds boxes. You can also select a gizmo by typing its number on the keyboard. A selected gizmo has click-selection priority in the Movie window. If several gizmos overlap, they make it hard to select and adjust the gizmo you want. You can select it first in the Motion Trackers rollout list; it remains selected for adjustment when you click it in the Movie window. ■ Zooming: You can zoom in and out on the selected gizmo by pressing the I and O keys, for “in” and “out,” respectively. Each time you press I or O, the window zooms in or out by a factor of 2 and centers the selected gizmo in the window. Pressing R resets the zoom factor to 100 percent whether you have a gizmo selected or not. The Movie window has to be the active window for any keyboard commands to work. You can make it active by clicking it. ■ Tabbing: You can move among successively numbered gizmos by pressing the Tab key. If the gizmo you’re searching for is out of view, because you’re zoomed in, the image will be repositioned in the window to bring the newly selected gizmo into view. Tabbing while you’re zoomed in provides a quick way to step through the gizmos to check their fine positioning. ■ Positioning: You can reposition a gizmo by dragging anywhere within its bounding boxes, providing you don't click one of the eight box-corner handles. You can nudge a gizmo in single increments by pressing one of the arrow keys on the keyboard. The minimum increment that a gizmo will move depends on the zoom factor and the subpixel-tracking level. The increment is the smaller of either a single screen pixel in the current window or the subpixel increment selected. So, if you’re zoomed out two times and the subpixel increment is 1/16 of a pixel, the nudge increment is four image pixels, due to the zoom. However, if you’re zoomed in five times, the nudge increment is 1/16 of an image pixel, due to the subpixel level. ■ Bounds: You adjust the bounding boxes by pressing and dragging the handles of the box you want to adjust in the selected gizmo. Dragging the handles of the inner feature bounds box adjusts the opposite corner symmetrically to keep the gizmo center fixed. Typically when setting up tracker gizmos you should create and position them all roughly in a zoomed-out view, then zoom in on one of them, fine-tune its position and bounds, then tab to the next gizmo and repeat. 4204 | Chapter 13 Animation Movie Window Keyboard Shortcuts You can use the following keyboard shortcuts in the Movie window: ■ I, i: Zooms in on a selected gizmo. ■ O,o: Zooms out on a selected gizmo. ■ R, r: Resets zoom level to 100 percent. ■ Tab: Selects next numbered gizmo, cycles back to first gizmo after the last. ■ [digit]: Selects the numbered gizmo, only works for gizmos 1 to 10 (0=10). ■ Arrow Keys: Nudges the gizmo in the direction of the arrow. Camera Tracker: Motion Trackers Rollout Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Camera Tracker ➤ Motion Trackers rollout The Camera Tracker utility's Motion Trackers rollout sets up and controls the image feature trackers. All the trackers created are listed here: showing enable check mark, tracker number, associated scene point object name, and active frame range. To select a tracker, click in the list. Provides controls for subpixel tracking as well. Interface Camera Tracker Utility | 4205 On When turned on, the feature will be tracked in the image when the movie is stepped through in the Movie Stepper, or when a full track is performed. An X appears in the tracker list when turned on. Off When turned off, the tracker will sit at the closest known position prior to the current frame. Because feature tracking is computationally intensive, sometimes it’s useful to disable the trackers you’re not working on to speed up movie stepping. All Enables all the trackers. None Disables all the trackers. New Tracker Creates a new movie feature tracker. This places a feature tracker gizmo in the center of the Movie window and a new entry in the tracker list. The new tracker takes on the parameters currently displayed under Tracker Setup. You can change these parameters after you create the tracker, but it’s often useful to set the Max Move Per Frame parameter prior to creating the new tracker as this automatically establishes an initial search bound for the tracker gizmo. Delete Tracker Deletes the selected tracker from the list and the Movie window. Tracker Setup group Sets up the parameters for the currently selected tracker. Any tracker you create will take its initial parameters from the current values in this group. Scene object Associates a tracker with a scene point object that corresponds to the image feature in the Movie window. Pressing this button puts 3ds Max into standard object picking mode. When you’ve selected the object, the entry 4206 | Chapter 13 Animation in the tracker list and the text in the button change to the name of the selected object. You can change the connected object at any time by pressing this button. It’s recommended that you use point or CamPoint helper objects, although you can use any 3ds Max object. The tracker uses the pivot point of the selected object as the correlation reference point during the match computation. When you set up a tracking project, you can make the tracker save the setup in a .mot settings file. The association between tracker and scene point object that you set up here is saved as a scene object name. If you reload the movie in the tracker, the object association is reestablished using the object's name. This means you must be careful to name the point objects uniquely, otherwise you might establish incorrect associations. Further, you must load the working scene in 3ds Max before opening the movie in the camera tracker utility, so the named objects can be found. If you happen to open the movie first, the object names in the Tracker list will all read " ". Simply reopen the movie in the tracker and it will establish the connections correctly. Match weight Sets the camera matching priority separately for each tracker. Use this to improve the match accuracy for features close to where a computer graphics generated element will be inserted. It helps to minimize sliding and jitter in that part of the scene. The match-move algorithm works by adjusting the camera to minimize the error between the feature objects seen through the camera and their associated feature points in the movie plate. With all weights set to 1, the algorithm randomly distributes the error between all the object projections and their tracking features. If you bump the Match Weight of a tracker, it redistributes the error in favor of that tracker, reducing the distance between that tracker's feature and object projection, while possibly increasing the error in other trackers. If you bump weights on two or more features, the locking may progressively lessen, since the algorithm distributes the improvements between the high-weight trackers. Use weights of two to six to get a good lock. Max Move/Frame Sets the maximum number of pixels that the tracked feature moves from frame-to-frame over the entire tracking range and establishes an initial motion search bounds box for newly created trackers. You can also set this dynamically by adjusting the motion search bounds box directly in the Movie window. Resample on error You can make the tracker identify possible tracking errors and you can use this during a manual tracking review and during actual tracking to correct errors. Typical sources of error include frame-to-frame jumps greater than the search bounds, image contrast changes, or a feature changing shape over a sequence of frames, such as a corner might if the camera Camera Tracker Utility | 4207 moves by it. The error detector is controlled by measurement thresholds set in the Error Thresholds rollout. When you place a gizmo on some frame, a keyframe is created and a new target feature image is sampled at that frame for searching in subsequent frames. Turning on Resample On Error causes the tracker to detect errors during tracking. If one is found, it backs up to the last good frame and places a new keyframe there causing a new target feature image to be sampled at that frame and continues tracking from that frame. Subpixel Tracking Usually, an image feature won’t move an integral number of pixels from frame-to-frame. With pixel-level tracking, however, the nearest estimate for a feature center is always at a pixel boundary. This can lead to camera match errors. With subpixel tracking you can zoom in on a feature and position its gizmo within a pixel. This makes the tracker attempt to track at that resolution by up-sampling the target image and search bounds, thereby improving match accuracy. You can turn on subpixel tracking selectively for each tracker by choosing a level in the Subpixel Tracking drop-down menu on the Motion Trackers rollout. This defines the resolution at which feature tracking is performed in the tracker up to 1/32 of a pixel. Two things happen when you select a subpixel level: ■ The grid over which you can position a tracker gizmo in the image window is adjusted to the new subpixel level. You can position the gizmo can be positioned inside pixels in zoomed views. You can zoom in on a tracker gizmo by selecting it and pressing the I or O key to zoom in or out, respectively. ■ Feature searching is performed on internally scaled-up versions of the target image feature and portions of the search window. These versions are scaled up in inverse proportion to the subpixel level using bicubic interpolation, which allows the feature tracker to search at this scaled pixel level. When manually positioning gizmos at keyframes, it’s crucial that you zoom in enough so you can place the gizmo in the center of the feature to the degree of accuracy allowed by the selected subpixel level. If you don’t do this, the tracker won’t be able to track the correct center at the selected resolution. 4208 | Chapter 13 Animation TIP Even though the feature is first tracked to the nearest pixel at whole pixel increments and then tracked at the subpixel level within that one pixel range, the tracking time can increase significantly in proportion to the inverse square of the subpixel level. For this reason it’s suggested that you set the subpixel level to as low as possible. Usually 1/8 of a pixel is adequate for features well distributed around the scene. Use greater levels if the features are fairly close together, or move very slowly within the frame. You can also reduce feature tracking times by making the inner feature bounds box in the gizmo as tight as you can while still retaining a couple of pixels worth of surrounding contrast. Search times are proportional to the feature bounds box size. Track Range Use these when a feature moves off-screen or is not visible in the Movie window. Set Start Sets the start of the active frame range for a tracker. Set Stop Sets the end of the active frame range for a tracker. You use the Set Start and Set Stop buttons in the Setup box together with the Movie Stepper rollout to set the active range. Pressing the buttons will set the start or stop point at the frame currently shown in the Movie Stepper. Tracker Keyframes and Position Data Any time you manually position a tracker gizmo, such as at the first frame or at some tracking error, you create a special keyframe position. The tracker never attempts to reposition these keyframes, but uses them as start points for the frames that follow them up to the next keyframe. At keyframes, you can adjust the position and the feature or search bounds. During tracking, the selected feature at a keyframe is sampled and that feature becomes the search target for subsequent frames. Using any adjusted search bounds up until the next keyframe, provides the start point, target feature, and search bounds box for the frames that follow. The position data for each frame in each gizmo can be one of three possibilities: ■ A keyframe defining a new start position, target feature image, and search bounds box. ■ A tracked position. ■ Unknown. Camera Tracker Utility | 4209 All frame positions except the first are initially unknown and will be named as tracking proceeds or gizmos are positioned. When you manually set a keyframe, any previously tracked positions following that keyframe up until the next keyframe are deleted and so become unknown. The Complete Tracking button in the Batch Track rollout searches for unknown positions in the currently enabled trackers and tracks those frames. The Check Status button in the same rollout checks for any currently unknown positions as well as tracking errors. See Batch Track Rollout on page 4213. Camera Tracker: Movie Stepper Rollout Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Camera Tracker ➤ Movie Stepper rollout The Camera Tracker utility's Movie Stepper rollout browses through the movie during the tracking phase either to set start and stop frames, to review tracking results or to manually perform a track over a sequence of frames. The Movie Stepper rollout consists of a frame counter, a set of stepper buttons, and some option check boxes. Interface Movie Frame Counter Advances the Movie window to the designated frame. VCR controls Navigates through the movie in the Movie window: << Steps to the start frame of the selected tracker. 4210 | Chapter 13 Animation <10 Steps back 10 frames. < Steps back one frame or keyframe if Step Keyframes is turned on. > Steps forward one frame or keyframe if Step Keyframes is turned on. >10 Steps forward 10 frames, either directly or one frame at a time if the Master Track Enable check box is turned on. >> Steps forward to the end frame of the selected tracker, either directly or one frame at a time if the Master Track Enable check box is turned on. Feature Tracking If turned on, any forward steps will cause frame-by-frame feature tracking to be performed for all enabled trackers with unknown position data at the frames you previously stepped through. You can use this to perform a tracking check while testing bounds settings or to review tracked positions one frame at a time. The tracker also moves the gizmos to previously tracked positions, so you can review tracking results a few frames at a time. If you want, you can force a retrack by nudging a keyframe gizmo back-and-forth which causes the gizmos to drop all subsequent tracked positions up to the next keyframe. NOTE Make sure this button is turned off if you just want to step through the movie without tracking, such as when browsing through the movie to find and place Start and Stop frames for trackers that come on screen or go off screen during the tracking range. Clear Tracking to End Removes all tracked positions and keyframes from the current stepper frame onward for the currently selected tracker. This is often helpful if you have too many errors and error correcting keyframes at the end of a track and you want to clear them and track to the end again. Step Keyframes Modifies the operations of the single-step buttons in the Movie Stepper. If turned on, the single step buttons step immediately to the next or previous keyframes, allowing you to browse through them quickly. In this mode, feature tracking is disabled. Show Track Displays a visible tracking line in the Movie window for the currently selected tracker. This button shows where the tracker has currently tracked. A red line is displayed for tracked segments, a white dashed line for segments still to be tracked. White dots are centered on each frame position with a green box around each frame position at which you or the tracker create keyframes. Live Camera Match Enabled after you set up the match parameters and select a match camera in the Match rollout. If turned on, the match camera position is recomputed and adjusted as you move gizmos in the Movie window. This Camera Tracker Utility | 4211 can be useful for making corrections to bad match frames by adjusting the trackers or to check the effect of tracker placement on the match computations. This is best done with the nudge arrows. Turn on the 3ds Max Auto Key button to record adjusted match camera positions. Sync Animation Controls whether the scene time slider is advanced in step with the movie frames during stepping. This is sometimes useful if you have the movie set up as an animated background image in the match camera window. Check camera positioning at the same time you check feature positioning. This can slow stepping substantially, so it’s turned off by default. Camera Tracker: Error Thresholds Rollout Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Camera Tracker ➤ Error Thresholds rollout The Camera Tracker utility's Error Thresholds rollout attempts to identify feature tracking errors by taking measurements and comparing them to the thresholds that you set up in this rollout. You can use this detection can be used both during a manual tracking review (see Batch Track Rollout on page 4213) or during actual tracking to correct errors using the Resample On Error control in the Motion Trackers setup rollout on page 4205. Interface Match Error A sum-of-differences-squared measure in RGB space of the best match in the current frame to the feature target from the previous keyframe. The error shown is a percentage of the maximum possible image difference. Good matches are usually below 0.05 percent. Variance Delta The difference in RGB color variance between the feature target image and the current best match. This measures whether the target and match have similar color ranges and can compensate for mistakes made by the sum-of-differences measure. 4212 | Chapter 13 Animation Jump Delta The tracker computes a moving average for the preceding five frames and measures the difference between that average and the jump in the current frame. If this difference exceeds the current Jump delta threshold, a potential error is flagged. If the threshold is set to five, any jump in the current frame that’s five pixels more than the average jump in the last five frames is flagged. This picks up sudden accelerations rather than just large jumps. You can adjust the thresholds as needed and enable or disabled individual measures in the detector using the check boxes to the left of each measure. Camera Tracker: Batch Track Rollout Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Camera Tracker ➤ Batch Track rollout The Camera Tracker utility's Batch Track rollout performs feature hands-off tracking once the trackers have been set up. You can set up a set of trackers, start a batch tracking of them all, and then use the other tools in this panel to check for and review detected tracking errors. This panel also checks for tracking completion. Procedures To review and correct tracking errors: 1 Select an error in the list. 2 Browse through the errors in sequence by repeatedly clicking Next, under the list. 3 When you’ve selected an error, the associated tracker gizmo is selected and brought into view and the movie is set to the frame at which the potential error was detected. 4 If there is indeed an error, adjust the gizmo in the Movie window to correct it, and place a new keyframe. 5 If inspection shows that there isn't an error, the thresholds may be set too finely, so try adjusting the associated threshold and running Check Status again. This is often a good way to calibrate the thresholds for your scene, but be careful not to increase them too much and miss a real error. 6 To clear an entry out of the list, click the Clear button. This is basically a cosmetic action that removes items from the list that you've either fixed Camera Tracker Utility | 4213 or determined are not errors while working through the potential errors. If you perform a Check Status again, some of the errors may show up as well. Interface Complete Tracking Searches for unknown positions in enabled trackers and undertakes tracking for those frames. It performs this optimally, and only tracks the frames for which enabled trackers have no position data. Tracking Status group Check Status Scans for tracking errors and untracked frames. It displays two lines of information underneath it in the Status box: Incomplete Lists the tracker numbers with untracked frames in their active frame ranges. Errors Lists the tracker numbers containing one or more tracking errors as determined by the current error threshold settings. Tracking Error Review group Displays all the potential errors in a list. For each error the list shows a tracker number, error frame and details about the error. The details include a code identifying the thresholds and the error measure. 4214 | Chapter 13 Animation Error Codes Me Match error threshold exceeded. Vd Color variance delta threshold exceeded. Jd Jump delta threshold exceeded. In each case, the number following the code is the actual error measure. You can see how the error measure compares to the current thresholds in the Error Thresholds rollout. If you adjust the thresholds in this rollout and then rerun the Check Status again, the list is refilled with those points in the tracking that exceed the newly adjusted thresholds. Next Moves to the next error in the list. Clear Clears an entry out of the list. Camera Tracker: Position Data Rollout Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Camera Tracker ➤ Position Data rollout This rollout lets you manage position data. Interface Apply to group Contains three radio buttons that control which trackers will be operated on by the action buttons below it. Selected Tracker Operates on the currently selected tracker. Camera Tracker Utility | 4215 Enabled Trackers Operates on all the enabled trackers in the Motion Trackers rollout. All Operates on all the trackers. Clear to End Clears the position data in the trackers specified in the Apply To group from the current Movie Stepper frame onward. This is useful for clearing out and redoing a portion of the tracking. Clear All Clears all the position data in the trackers specified in the Apply To group. Show Data Opens a text window that displays the position data for the trackers specified in the Apply To box. The display includes some title lines showing the tracker number and associated tracking object followed by comma separated columns of numbers for the position data one row per frame. All rows contain at least three columns: frame number, X position, Y position. Keyframe frames also contain another eight columns: feature bounds left, top, right, and bottom, and Search bounds left, top, right, and bottom. The coordinates in decimal pixels show any subpixel tracking as decimal fractions. The text window is a standard MAXScript source editor and you can copy, edit or save the contents to file. Export Creates a text file containing position data for the trackers specified in the Apply To group. Pressing this button displays a standard Save File dialog asking for the location and name of the file you’re creating. The file type defaults to .csv, the comma-separated value format readable by Excel and other data processing applications. The format of the data is exactly as for the Show Data command described previously. Camera Tracker: Match Move Rollout Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Camera Tracker ➤ Match Move rollout The Camera Tracker utility's Match Move rollout automatically generates a camera animation by correlating the 2D position data of the movie features gathered during the tracking phase with the associated 3D feature points in the 3ds Max scene. 4216 | Chapter 13 Animation Interface Camera Enters an object-picking mode for you to select the camera that you will match-move. You can either select the camera directly in the scene or press H to open the Select From Scene dialog on page 184. Once selected, the camera name is placed in the picker button, and other buttons and controls are enabled in the utility. The selected camera is remembered in the MOT settings file and restored on reopening the movie in the camera tracker. As with the tracker point scene objects, the camera name is stored and used when reloading, so make sure it’s unique. The camera selected must be a Free camera. It can be at any position and orientation in the scene. Match group Lets you choose which camera parameters will be estimated during the match-move. Those parameters turned off will be derived from the current Camera animation or position, so it’s possible to pre-position or pre-animate Camera Tracker Utility | 4217 the match camera with known moves or parameter settings and have the matcher estimate just the missing parameters. The accuracy of the estimation process increases substantially as the number of parameters that need estimation decreases. FOV Camera FOV (field-of-view). Pan Rotation about the local camera Z axis. Tilt Rotation about the local camera X axis. Roll Rotation about the local camera Y axis. Dolly Movement along the local camera Y axis. Truck-H Movement along the local camera X axis. Truck-V Movement along the local camera Z axis. Match Range group Let’s you set the range of frames that will be matched to set up the relationship between the movie frames and the 3ds Max scene animation frames. By default, the start frames are both set to zero and the frame count is set to the smaller of the number of frames in the movie or the scene animation. Setting a different Movie Start or Animation Start frame lets you position the movie frame range relative to the animation frame range. The position data for a match will be taken from the tracker frames starting at the Movie Start spinner value and the camera will be matched and animated starting from those frames. Movie Start Sets the start of the range to be matched in the movie. Animation Start Sets the start of the range in the animation. Use this if the animation range is different from the movie range. Frame Count Sets the number of frames to be matched. Reset Ranges Reloads the maximum frame number and count ranges into the match range spinners from the current movie and 3ds Max scene settings. This is useful if you change the animation frame range in the scene while the tracker is open. Animate Displays Controls whether the 3ds Max viewport appears and if the Movie window updates frame-by-frame to show the match results. This display update can be very time-consuming, so it’s often best to leave this turned off and review the match results by looking at the Camera function curves in Track View or by stepping through the 3ds Max animation a frame at a time after the match. 4218 | Chapter 13 Animation Generate Keyframes Generates keyframes for the estimated parameters on each frame. Match-Move Starts the match process. Max. Pixel Error Displays the running maximum tracking error and frame. The error is shown in pixel fractions, and gives the largest distance between any feature and the viewed position of its associated tracking object over all the frames matched. You can use this to give a general estimate of how good the match is and the frame to investigate if errors are problematic. The pixel error display also interactively updates as you nudge tracker gizmos in Live Camera Match mode, showing the current maximum match distance for the camera; see Movie Stepper Rollout on page 4210. Note that this error might be exaggerated when you employ match point weighting, as this tends to distribute the errors toward the nonweight points. Show Errors Opens a text window containing a list of the maximum errors for each of the matched frames, so you can look over the whole set of match frames and identify which frames to check. Camera Tracker: Move Smoothing Rollout Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Camera Tracker ➤ Move Smoothing rollout Because the match-move algorithm is not always exact and is highly susceptible to field measurement error or feature tracking errors, and because the match for each frame is computed independently, the results can be "noisy", particularly if field of view is estimated. In match-move situations where the real camera performs smooth moves, it might be useful to filter the match results to eliminate this noise. You use the Move Smoothing rollout to control and perform these smoothing operations after a match has been created. Camera Tracker Utility | 4219 Interface Channel To Smooth group Lets you choose which parameter or set of parameters to smooth. You can choose to smooth the entire Rotation or all the Position tracks at once, or you can smooth individual parameters or axes. Rotation Pan, Tilt, and Roll. Position Dolly, Truck-H, and Truck-V. FOV Camera FOV (field-of-view). Pan Rotation about the local camera Z axis. Tilt Rotation about the local camera X axis. Roll Rotation about the local camera Y axis. Dolly Movement along the local camera Y axis. Truck-H Movement along the local camera X axis. Truck-V Movement along the local camera Z axis. 4220 | Chapter 13 Animation Smooth Type group Straight line average Causes Move smoothing to generate a straight line average for each of the selected parameters. This is useful when you know a parameter is fixed, but don’t know its actual value. Examples might include field-of-view or vertical position. Use the camera matcher to initially estimate the parameter, then construct a straight line average fit and rematch the remaining parameters Low pass filter Causes Move smoothing to apply a low-pass filter to the selected parameters, eliminating high-frequency noise. Smooth amount Implements smoothing using a Gaussian low-pass filter whose width and variance are controlled by the Smooth Amount spinner. Increase this value to increase the smoothing. Smooth Range group Controls the range of frames over which the smoothing will be performed. Match-Move Range Applies the smoothing to the range of animation frames specified in the Match Move rollout. This allows you to break up a match-moving job into several frame ranges. Use this to isolate and experiment on a troublesome range of frames, without disturbing other satisfactory frames. All Frames Applies the smoothing to all the keyframes in the selected parameters. Rematch After Smooth Controls whether a compensating match-move is performed after the filtering. If this is turned on, the parameters that were smoothed are disabled in the Match rollout and another match-move is performed. Performing this rematch again is advised because it adjusts the other camera parameters to compensate for the smoothing and often results in a smoother estimation for the unsmoothed parameters. Smooth Performs the move smoothing based on the smooth type, range, and amount settings. If this button is disabled, no current match camera is assigned. Camera Tracker: Object Pinning Rollout Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Camera Tracker ➤ Object Pinning rollout Camera Tracker Utility | 4221 Object Pinning lets you use the 2D image feature tracking data to directly animate objects in the 3ds Max scene. This is useful for replacing moving features in the scene with 3D objects when the movement is approximately planar. After the tracking data is created, you can use this function to do such things as synchronizing the movement of 3D objects with feature movements in the background movie. If the 3D objects directly cover the background features, they will appear to replace them. For example, you could take the video of a juggler juggling balls and replace the balls with 3D balls of fire or synchronize the movement of an animal's head with a 3D jaw to create talking animal animations. Procedures Example: To create a juggler juggling 3D balls of fire: This assumes you already have a video of a juggler. Otherwise, find a juggler and a video camera. 1 Load a video of a juggler. 2 Create tracker gizmos to associate with the juggling balls. 3 Use the Movie Stepper to track the gizmos. 4 Go to Object Pinning and choose the tracker. 5 Under Object To Pin, associate an object with a tracker. In this case, create a 3D ball of fire using fire or an animated map to generate the fire. 6 Adjust the Pin Range, and then click the Pin button to move the object to follow the tracker. 4222 | Chapter 13 Animation Interface Choose Tracker Shows all the current trackers as set up in the Motion Trackers rollout. Use this to select the tracker whose feature movements you will use to control the pinned 3ds Max object. The feature must have been tracked already over the frames you want to use, with the Track and/or Movie Stepper rollouts. Note that the accuracy of the pinning is determined by the accuracy of the match, so subpixel tracking is highly recommended. Object To Pin Lets you choose the object in 3ds Max scene for pinning and animating. By default the tracking object associated with the selected tracker is preloaded into this button. You can use this picker if you wish to pin a different object. Pin Range group Movie Start The movie frame from which to start using tracked feature positions. Animation Start The frame in the 3ds Max animation at which to start keyframing the move of the pinned object. Frame Count The number of frames to animate. There must be enough tracked positions in the selected tracker to cover this number of frames. Camera Tracker Utility | 4223 Reset Ranges Reloads the maximum frame number and count ranges into the above spinners from the current movie and 3ds Max scene settings. Pin Space group Lets you select the plane of motion in which the keyframed pinning will occur. Screen Moves and animates the pinned object in the plane of the screen at its current depth in the scene. This is equivalent to dragging an object around in the Screen reference coordinate system in 3ds Max. Grid Moves and animates the pinned object in the plane of the currently active grid. This lets you set up an arbitrary plane of motion for the pinning by constructing a grid helper object in the desired place and making it the active grid. If you don't have a grid helper set up and active, the pinning will occur on the 3ds Max Home Grid. Pin Mode Group Lets you choose between two different pinning modes: absolute and relative. Absolute Places and moves the pinned object exactly over the tracked feature. If combined with grid space, the object is also placed and moved directly on the active grid plane. Relative Leaves the pinned object at its current position in space and moves it so that its projected position relative to the tracked feature remains the same throughout the pinning frame range. This makes it possible to animate an object that you don’t want placed exactly over a feature, or to animate an object using several features in successive frame ranges. (For example, a computer generated jaw can track an ear for some frames, then a nose for others in a talking animal shot). If combined with grid space, the object is not moved onto the grid plane, but keeps its height above the grid and is moved parallel to it. Pin Performs the actual pinning, moves the object to follow the selected feature and places a keyframe at each frame in the pin frame range. As with the other keyframing operations in the tracker, you can undo a pin using the 3ds Max Undo function. You might also find it useful to perform keyframe reduction afterwards in Track View. Camera Tracker: Troubleshooting This topic describes some common problems you might encounter when using the Camera Tracker, and gives suggestions about how to fix them. 4224 | Chapter 13 Animation Feature Tracking Halts Immediately If the feature tracker attempts to match the first couple of frames but halts immediately, check these steps: 1 One of the enabled error thresholds might be set too low. Perform a Check Status in the Batch Track rollout and look at the reports in the Tracking Error Review list. Also try disabling the thresholds in the Error Thresholds rollout one at a time and see if this fixes the problem. Adjust the problematic threshold as needed. You can also disable error threshold checking altogether by turning off the Resample On Error check box in each of the trackers. 2 Make sure the search bounds box for each tracker is big enough to accommodate the frame-to-frame motion of the feature. This needs to be at least big enough to enclose the moved feature and the surrounding contrast area you’ve selected in the feature bounds box. 3 Make sure the scene objects are associated correctly with their trackers. You can verify this by checking the entries in the list at the top of the Motion Trackers rollout. If there is an object associated, you will see its name in the list entry, if not you will see “ ”. If you open a movie file for which you have previously set up trackers in the camera tracker before you open the associated 3ds Max scene, the objects won’t be associated with their trackers. You should make sure the correct 3ds Max scene is open then close and reopen the movie file in the Camera Tracker so that it can now find the scene objects. 4 If you have inadvertently swapped the scene objects for one or more pairs of trackers, the match-move can’t find a solution. Repeated Match-Move Errors If you get repeated camera match-move errors, here’s a list of things to check: 1 Make sure there are at least six features actively being tracked at the error frame and that at least two of them are a good distance out the plane of the others. 2 Check the tracker gizmos in the Movie window around the frame on which the error occurs to ensure that no obvious feature tracking errors exist. 3 If you’ve disabled any parameters in the Match section of the Match-Move rollout prior to a match-move, the camera being matched must be already set correctly in the scene for those parameters. For example, if you disable Camera Tracker Utility | 4225 roll and FOV, you must already have set the camera to the correct FOV and roll orientation, either directly in 3ds Max, or as a result of a previous match-move. The matching algorithm uses all the “fixed” camera parameters to compute the ones being estimated and simply won’t work if they’re fixed at incorrect values. 4 You may know that some of the camera parameters don’t vary during a match sequence, but you aren’t sure of their values. One approach to this situation is to enable all parameters for an initial match and then apply a straight-line average filter to them in the Move Smoothing rollout. This automatically disables them in the Match section and with luck sets them at a good estimate of the fixed position. Dynamics Utility Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Choose Dynamics. The term dynamics refers to a system of controls that generate keys to produce animation that simulates real-world physics. For example, using standard keyframing techniques to animate a bouncing ball, you create keys that move the ball down to the floor, squash the ball, move the ball back up, and so on. Using a dynamics system, you assign physical properties to the ball and the floor (such as friction or amount of bounce), specify which object will collide against another object (for example, the ball with the floor), place an effect (such as gravity), in the scene, and then calculate a solution over a range of frames. The result is a number of keys that produce an animation in which the ball drops due to the gravity effect, collides with the floor and reacts naturally based on its surface characteristics. NOTE As of 3ds Max 5, the preferred tool for dynamics simulation is reactor on page 4255, available from the Utilities panel. The reactor feature lets you control and simulate complex physical scenes with ease. reactor supports fully integrated rigid and soft-body dynamics, cloth simulation, and fluid simulation. Objects and Space Warps Used to Create Dynamics Simulations A very basic simulation would involve creating a sphere and a gravity space warp, adding the sphere to a new simulation, assigning gravity as an effect 4226 | Chapter 13 Animation on the sphere and solving the simulation. The result is that the sphere falls under the force of gravity. You can use dynamics objects on page 776, dynamics space warp deflectors (PDynaFlect on page 2975, SDynaFlect on page 2982, and UDynaFlect on page 2985), and space warp forces such as Gravity on page 2958 and Wind on page 2960 to add complexity to a simulation. You can use a particle stream from a particle emitter as a force on an object: the particles can collide with and be deflected by the object, as well as move it. You can attach special dynamics objects to objects, such as Spring on page 784 to simulate the effects of a spring. You can combine effects: Wind, gravity, a spring object, collision, particle deflection and collision, as well as surface properties such as friction, can all work on an object in a simulation. For a full understanding of what dynamics can do, explore this topic and areas of 3ds Max that pertain to dynamics. Dynamics-Specific Areas in 3ds Max The Dynamics Utility (this topic) The Dynamics Utility is the main control center for dynamics simulations. You specify which objects are used in the simulation, what their interactivity is with each other and with the effects in the scene. The simulation is then "solved," generating the keyframes. The effects of collisions between objects depend on the velocity of the objects and their properties. For collision to work between two objects, each object must have the other object assigned for collision. For example, when bouncing a ball, both the floor and the ball are assigned collisions. The Material Editor: The Dynamics Properties rollout on page 6485 in the Material Editor lets you assign the dynamics properties to the surface of an object, like friction and bounce. Using a multi/sub-object material, you can have different surface properties at the face level of any object. NOTE You can override material surface dynamic properties with controls on the Edit Object dialog on page 4241 in the Dynamics utility. Dynamics Objects, Particles and Dynamics, Dynamics Interface: Special objects like Spring and Damper, Space Warp forces like Gravity and Wind, as well as Space Warp deflectors like PDynaFlect can all influence a dynamics simulation. You must create these objects and space warps first in other areas of 3ds Max before you can use them in a dynamics simulation. See the following topics for details on their creation and use: ■ Create panel ➤ Geometry ➤ Dynamics Objects on page 776 Dynamics Utility | 4227 You can use the Spring and Damper objects for dynamics effects. ■ Create panel ➤ Space Warps on page 2920 ➤ Particles and Dynamics. Effects (forces) are special space-warp objects that emulate natural phenomena, such as wind or gravity. In a dynamics simulation, you must place gravity in the scene if you want the objects in your simulation to fall. ■ Create panel ➤ Space Warps on page 2920 ➤ Dynamics Interface. The Dynamics Interface space warps can cause particles to deflect from and affect an object in a simulation. Combine Keyframed Objects in a Simulation: Keyframe an object and have it interact with other objects in a dynamics simulation by turning on the This Object is Unyielding check box in the Edit Object dialog for the keyframed object. Objects can bounce off of a keyframed sphere for example. Dynamics Controller: When a Dynamics simulation is solved, a new list controller is created that holds both the generated dynamics keys and the original keys. This allows you to restore your original keys, if necessary. Undo is not supported by Dynamics. For example, if a sphere is bouncing in a Dynamics simulation, and the sphere already contains position keys from a previous animation, the following tracks display in Track View: Transform Position Dynamic Position Controller Old Position Rotation Dynamic Rotation Controller Old Rotation Procedures Example: To create a basic simulation of bouncing boxes: 1 Create a thin box in the Top viewport. Have the box almost the same height and width as the viewport. This will act as the ground plane. 2 In the Front viewport, create six small boxes above the "ground" box. Position some of them to collide with each other when they fall. 4228 | Chapter 13 Animation 3 On the Create panel, Click (Space Warps). Choose Forces from the list, then on the Object Type rollout, click Gravity. 4 Drag in the Top viewport to create a Gravity gizmo. 5 On the Utilities panel, click Dynamics. 6 On the Dynamics rollout, click New. Dynamics00 appears in the Simulation Name field. 7 Click Edit Object List. The Edit Object List dialog displays. 8 Select all the boxes in the dialog and click the > button, then click OK. All the objects are moved to the Objects in Simulation list on the right side of the dialog. 9 On the Dynamics rollout, click Edit Object. The Edit Object dialog displays. 10 In the list under Object, choose Box01. 11 Turn on Dynamics Controls group ➤ This Object is Unyielding. 12 Click Ok to close the Edit Object dialog. The "ground" box won’t move when the other objects collide with it. 13 On the Dynamics rollout, in the Effects group, turn on Global Effects. 14 Click Assign Global Effects, select Gravity in the dialog and click > (right arrow), then click Ok. This assigns gravity to all objects in the simulation. 15 On the Dynamics rollout, in the Collisions group, turn on Global Collisions. 16 Click Assign Global Collisions, select all the boxes in the dialog and click > (right arrow), then click OK. Collisions are active for all the boxes. 17 Turn on Update Display with Solve, and then click Solve. Dynamics Utility | 4229 In the viewports the objects fall and collide with each other and the ground plane. 18 Turn on the Auto Key button, move the time slider to frame 15, and then select and move the "ground" box upward along the Z axis. The ground will "move" during the simulation. 19 Click Solve. The keyframed "ground" box moves up and collides with the boxes. The ability of a keyframed object to be part of a simulation is one of the useful features in 3ds Max. You could use this capability to strike a ball with a bat, for example. For further experimentation, create a spring object in Create panel ➤ Geometry ➤ Dynamics Objects and attach the ends of the spring object to two of the boxes and then solve the simulation. The spring will stretch and follow the bouncing boxes. You can use the space warps in Create panel ➤ Space Warps ➤ Dynamics Interface, such as SDynaFlect (Spherical Dynamics Deflector) to cause a particle stream to "push" an object in a dynamics simulation. To remove the dynamics tracks and restore the original animation tracks in Track View: When you solve a dynamics simulation, 3ds Max creates a list controller that holds both the generated dynamics keys and the original keys. This lets you easily restore the original keys. Undo is not supported by Dynamics. To layer simulations, reverse this method. In other words, after you've solved the first simulation, copy its controllers to the old tracks, and then set up the next level of the simulation. The new simulation will base its actions on the previous one instead of overwriting it, as it normally does. You can repeat this as many times as you like to layer simulations ad infinitum. Since Undo is not supported by Dynamics, you can also use Hold and Fetch in its place. 1 In Track View, open the Position track for an object animated by a dynamics simulation. 2 Select the Old Position track, and click Copy Controller on the Track View toolbar (the second button from the left). 3 Select the Position track (the parent), and click Paste Controller (to the right of Copy Controller). 4230 | Chapter 13 Animation 4 Click OK in the Paste dialog. The two sub-tracks and the Position parent track are replaced by a single Position track containing the original keys that were in the Old Position track. Repeat the above steps with the Rotation track. To set up dynamics: 1 Assign materials to the objects included in the simulation and adjust the surface characteristics in the Dynamics Properties rollout of the Material Editor. (For a bouncing ball, you'd use this to create a rubber-like surface.) 2 If you're using a linked hierarchy, set the Move and Rotate locks in the Hierarchy/Link Info panel to limit the motion and rotation of the linked objects. 3 Create space warp effects in the scene where needed. (For a bouncing ball, you'd need a Gravity space warp.) 4 Use the Dynamics utility to create a new simulation. Specify which objects are included in the simulation, which effects influence which objects, and which objects should collide with which. (For the bouncing ball, the ball and the floor are in the simulation because one collides with the other. You assign the ball the floor to collide with each other, and assign the gravity effect to the ball.) 5 Use the Dynamics utility to specify the range of frames to which keys will be generated, and to calculate the animation and generate the keys. (In the case of a bouncing ball, a number of position and rotation keys are generated for the ball.) 6 Play the animation to see if the effect is what you were looking for. If one or more objects fly off into space, or move through objects they should have bounced off, it's likely that you need to increase the Calc Intervals Per Frame value. To reduce the number of keys generated by the Dynamics utility: When you solve a dynamics simulation, Position and Rotation keys are generated at every frame of the specified range for every object affected in the simulation. Not only does this result in an excess of keys for later editing, but Dynamics Utility | 4231 it can increase the size of the .max file tremendously. The following steps show how to reduce the number of keys using Track View. 1 After solving the simulation, check the animation to make sure it's what you want, and then save that version of the scene. 2 Deselect every object in the scene. 3 In the Dynamics panel ➤ Objects in Simulation group, click the Select Objects In Sim button. All objects included in the simulation are selected. 4 Open a Track View window, and then set its filter to show Animated Tracks Only and Selected Objects Only. 5 Right-click the top object in the Hierarchy list (Objects), and choose Expand All. Track View now shows all tracks in the simulation that have keys. 6 Go to Edit Time display mode and select all of the tracks containing keys (or right-click over the hierarchy, and choose Select All). 7 Double-click any key to select all keys in all tracks. 8 Click the Reduce Keys button, set the Threshold to what you want, and then click OK. All selected keys are reduced. 9 Save the reduced version of the scene either under a new name, or by replacing the original file. To use linked hierarchies in a simulation: When linked hierarchies are included in your simulation, you must set locks for the children in the simulation to confine the dynamics results to specific axes. Do this on the Hierarchy panel ➤ Link Info ➤ Locks rollout on page 3824. The Locks rollout contains three rows of check boxes affecting the XYZ axes of the three possible transforms: Move, Rotate, and Scale. The Scale transforms are ignored, and only the Move and Rotate locks are used. When a check box is turned on, that axis of the specific transform is locked. When you manipulate a forward-kinematics hierarchy directly using the Move or Rotate tools, you might not bother with the Link Info locks, because you can specify axis constraints using the X, Y , Z, and XY buttons in the toolbar. However, when you use that same hierarchy in a dynamics simulation, where 4232 | Chapter 13 Animation there are several forces at work (gravity, wind, collisions), the only thing that maintains the linkage between the objects is the locks you set in the Link Info ➤ Locks rollout. As a result, no matter what combination of Move and Rotate locks you use, you'll always want at least one Move lock in place, or your objects won t really be linked. The following lists all of the combinations of Move and Rotate locks that make sense within a dynamics simulation, and the effect on the link of such combinations. An asterisk (*) indicates those combinations that are more typically useful. The format of this list is as follows: X=check box on. O=check box off. One group of settings is made up of the three Move check boxes over the three Rotate check boxes. Here's an example: XXO=X and Y Move check boxes on, and Z off. OXO=Y Rotate check box on, and X and Z off. 1 1 Move Lock: Turn on any single Move. (This is like a long pin sliding in a loose, long slot.) The joint can transmit force in one direction only. The objects can slide with respect to each other in two directions and rotate freely. 2 2 Move Locks: Turn on any two Moves. (This is like a sliding ball joint; a freely rotating joint at the end of a sliding shaft, which can slide and rotate in a hole.) 3 * 3 Move Locks: Turn on three Moves. (This is like a ball joint, or the theoretical "pin joint" of the statics and dynamics texts, in that it transmits any force but never transmits any torque.) 4 1 Move + 1 Rotate (unique): Turn on any one Move and any one Rotate, but not in the same column. (This is like two long pins, parallel, sliding in a single long slot.) The joint can transmit force in one direction only and restrain rotation about the axis of the "pins." This combination is of limited application. 5 2 Moves + 1 Rotate (matching): Turn on two Moves, plus one Rotate turned on that's in the same column as one of the selected Moves. (This is the same as 1 Move + 1 Rotate, above, except that the pins can no longer slide vertically in their slot.) If the assembly rotates so that one pin travels further into the slot, the other must ride higher in the slot. Dynamics Utility | 4233 This is of limited application. The possible check box combinations are: XXO XXO XOX XOX OXX OXX OXO XOO XOO OOX OOX OXO 6 * 2 Moves + 1 Rotate (complementary): Turn on two Moves, plus one Rotate that's not in the same column as any of the selected Moves. (This is a sliding universal joint like the splined output shaft between the automatic transmission of a rear-drive car and the drive shaft.) It can transmit torque and constrain translation in two directions, both orthogonal to the axis of rotation. The possible check box combinations are: XOX XXO OXX OXO OOX XOO 7 3 Moves + 1 Rotate: Turn on three Moves plus one Rotate. (This is a universal joint without the sliding.) It's typical of automotive applications where the rear axle is located with the trailing drive shaft. This is an uncommon application. 8 * 1 Move (complementary) + 2 Rotates: Turn on one Move that's complementary to two Rotates. (This is like a hockey puck on ice.) The joint can slide anywhere on a plane, but cannot fall or tip, and it cannot leave the surface of the plane. The possible check box combinations are: XOO OXO OOX OXX XOX XXO 9 2 Moves (one complementary) + 2 Rotates: Turn on two Moves, one of which is complementary to one of the two Rotates that are selected. (This is like a hockey puck with a nail through it, and the nail is sliding along a groove in the ice.) It's free to travel in one direction, and to rotate about an orthogonal axis. One possible check box combination is: XXO XOX 10 * 2 Moves + 2 Rotates (matching): Turn on two Moves and two matching Rotates. This results in a sliding axle (a shaft that can both slide in and out of a hole, and rotate with the hole). The clear Move and Rotate axis specifies the axis along which the joint can slide and rotate. The possible check box combinations are: XXO XOX OXX XXO XOX OXX 11 * 2 Moves + 3 Rotates: Turn on two Moves and all three Rotates. (This is a prismatic or sliding joint.) The joint transmits no torque, and force in only one direction. You can use this in conjunction with the Push effect to make a hydraulic cylinder. The one clear Move specifies the axis of movement. 12 * 3 Moves + 2 Rotates: Turn on all three Moves, and any two Rotates. This is an axle (the most common type of joint.) The one clear Rotate specifies the axis of rotation. 13 All Locked: All six check boxes are on. This is a completely rigid joint. 4234 | Chapter 13 Animation Interface Dynamics rollout Contains all of the surface dynamics controls. Simulation Name Displays the name of the current simulation. You can edit the name to rename any existing simulation. You can create any number of simulations in your scene. Each must have a unique name and is stored in the .max file. For example, you might have a simulation named Bouncing Ball that bounces a ball down a flight of stairs, Dynamics Utility | 4235 while another simulation named Paper Airplane flies a paper airplane across the room. List Displays the name of the current dynamics simulation, and lists all simulations in the scene. If the list contains two or more simulations, choose one from the list to make it current. All remaining panel settings are specific to the current simulation. New Creates a new simulation. Its name consists of the word "Dynamics" appended by a number, starting with 00. This number is incremented by one for each new simulation. Remove Deletes the current simulation. Dynamic simulations can use a lot of memory. Removing old or unused simulations reduces the size of your .max files. When you remove a simulation, all timings and other settings are deleted. However, any keys generated by the simulation remain. Copy Creates a duplicate of the current dynamics simulation. All of the settings are identical to the original simulation, with the addition of “01” appended to the name. Objects in Simulation group Lets you add and remove objects from the simulation, and edit the properties of objects in the simulation. Edit Object List Displays the Edit Object List dialog on page 4247, which lets you specify which scene objects are to be included in the simulation. Edit Object Displays the Edit Object dialog on page 4241. The Edit Object dialog is the main interface for object dynamics attributes. Use this dialog to set collisions, effects, surface properties and mass for each object in the simulation. Select Objects in Sim Adds all objects in the simulation to the current selection set. One use for this function is to bring selected objects into Track View for further manipulation, keyframe reduction, and so on. Effects group Specifies which effects are included in the dynamics calculation. Effects by Object Only effects assigned to specific objects with the Edit Object dialog ➤ Assign Object Effects button are considered in the calculation. 4236 | Chapter 13 Animation Global Effects Only effects included in the Assign Global Effects dialog (accessed by clicking the button of the same name) are included in the calculation. Assign Global Effects Displays the Assign Global Effects dialog. Select effects (space warps) in the list on the left and use the > button to move them to the list on the right. Effects thus chosen affect all objects in the simulation except unyielding ones. The Assign Global Effects dialog functions similarly to the Edit Object List dialog on page 4247. Collisions group Specifies which collisions are included in the dynamics calculation. Collisions by Object Collisions assigned to specific objects through the Edit Object dialog ➤ Assign Object Collisions button are included in the calculation. Global Collisions Collisions assigned in the Assign Global Collisions dialog (accessed by clicking the button of the same name) are included in the calculation. Assign Global Collisions Displays the Assign Global Collisions dialog. Select the objects in the list on the left and use the > button to move them to the list on the right. All objects thus chosen collide with each other in the simulation. The Assign Global Collisions dialog functions similarly to the Edit Object List dialog on page 4247. Solve group Update Display w/ Solve Displays each frame of the solution in the wireframe viewports during the calculations. This slows down the calculation process. Solve Calculates the dynamics solution, generating keys over the range of frames specified in the Timing area. A progress bar appears in the status/prompt line. Press ESC to cancel the calculation. NOTE You cannot undo the generation of a dynamics simulation solution. If there's a chance you might want to restore the scene to its state prior to the solution, either save on page 7955 the scene or use Hold on page 219 before solving it. Dynamics Utility | 4237 Timing and Simulation rollout Lets you specify the range included in the calculation, how IK is included in the simulation, and what the air density is for the simulation. Timing group Controls how keys are generated over time. Start Time Specifies the first frame to generate keys, which is the first frame to be considered for the solution. Default=0. 4238 | Chapter 13 Animation TIP If you set a start time that's later than a keyframe-animated object's last animation frame, you may get unexpected motion during the interim frames. For example, if you animate a box's position from frames 0 to 10, and then use the box in a dynamics simulation that starts at frame 20, the box will move between frames 10 and 20 because of the Bezier controller's default interpolation. To avoid this, before solving the simulation, set the last animation keyframe's Out tangent type to Linear or Step; see Bezier Controllers on page 3462. Alternatively, set the last key of the keyframed "input motion" after the start time of the simulation, or set a start time before the last key. End Time Specifies the last key considered for the solution. This spinner is set to the last frame of the active segment on page 9082 when you create a new simulation. For example, if your active segment ends at frame 200, when you click New to create a new simulation, End Time is set to 200. Calc Intervals Per Frame Specifies how many calculations are performed for each frame of the simulation time range. Range=1 to 160. Finding the right number for this spinner is a matter of experimentation. As a general rule, the faster things are moving in the simulation, the higher you should set this value. NOTE If you find that some objects aren't colliding properly with others (they're going through them), increase the Calc Intervals Per Frame value. Keys Every N Frames Specifies the frequency with which keys are generated, per object. If this were set to 2, keys would be generated in every other frame. WARNING When you reduce the key count by increasing this setting, important information can be lost. For example, if a collision occurs on frame n, the Dynamics utility normally sets keys at frames n, n+1, and n-1. But if you've set Keys Every N Frames to 2, a keyframe for the impact itself might not be generated, while keys for the sudden reversal of motion would be generated on either side of the (missing) impact. Thus, the motion controller is left to interpolate motion in a region where the motion should be sharply defined. When this happens, motion can be incorrect and the remainder of the solve is affected. In the aforementioned example, a key describing the impact is lost and the motion controller interpolates motion so that objects that should collide actually intersect, ruining the simulation. Time Scale Slows down or speeds up the overall effect of the simulation. It applies a linear scale factor to the outside forces affecting each object (gravity, wind, and so on). The default value of 1 results in normal speed. You can scale down the simulation (make it slower) by using values below 1 (from 0.1 to 1), and you Dynamics Utility | 4239 can scale up the simulation (make it faster) by using values greater than 1 (from 1 to 100). If you speed up your simulation and objects begin to behave incorrectly (going through objects, for example), increase the Calc Intervals Per Frame value to compensate. Simulation Controls group Relates to IK settings and the transfer of momentum. Use IK Joint Limits Uses the current IK joint limit settings as constraints for hierarchies in the simulation. Use IK Joint Damping Uses the IK damping settings as constraints for hierarchies in the simulation. Air Resistance group Density percent Sets the air density in the simulation. A setting of 100 is the air at sea level. A setting of 0 is a total vacuum. When anything moves, it hits air resistance (except in space). The faster it moves, the higher the relative air resistance with the square of the speed. Thus, air resistance imposes an upper limit on the speed of things that are falling with gravity, and also makes objects tumble due to the effect of air resistance on each face of the object. Close Closes the Dynamics utility. Dynamics Properties Material Editor rollout The three spinners in the Dynamics Properties rollout in the Material Editor let you specify surface properties that affect the animation of an object upon collision with another object. If there are no collisions in your simulation, these settings have no effect. Because the Dynamics Properties rollout is available at the top level of any material (including sub-materials), you can specify different surface dynamic properties for each face in an object. There are also controls in the Dynamics utility that let you adjust the surface properties at the object level, but only 4240 | Chapter 13 Animation the Material Editor lets you alter the surface properties at the sub-object level (through use of a Multi/Sub-Object material). As a default, the values in the Dynamics Properties rollout provide a surface that's similar to Teflon-coated hardened steel. This is with values of Bounce Coefficient equal to 1; with both Static Friction and Dynamic Friction set to 0. Bounce Coefficient Determines how far an object bounces after striking a surface (the higher the value, the greater the bounce.) A value of 1 represents a bounce in which no kinetic energy is lost. Static Friction Determines how difficult it is for an object to start moving along a surface (the higher this value, the more difficult the movement). If something weighs 10 pounds and sits on Teflon (a static friction of near zero), it takes almost no force to make it move sideways. On the other hand, if it sits on sandpaper, then the static friction might be very high, around .5 to .8. Sliding Friction Determines how difficult it is for an object to keep moving over a surface (the higher this value, the more difficult for the object to keep moving). Once two objects begin to slide over one another, static friction disappears and sliding friction takes over. Generally, sliding friction is lower than static friction due to surface tension effects. For example, once steel starts sliding over brass (a value of static friction that might run from .05 to .2), the sliding friction drops to a significantly lower value: .01 to .1. Edit Object Dialog (Dynamics Utility) Utilities panel ➤ Utilities rollout ➤ More button ➤ Dynamics ➤ Dynamics rollout ➤ Edit Object button ➤ Edit Object dialog The Edit Object dialog is the main interface for setting dynamic properties for any object in the simulation. You assign dynamics properties one object at a time. Select an object in the list under Object, and then set that object's parameters. For example, you can cause the object to be affected by gravity or wind, and specify collisions with other objects. Dynamics Utility | 4241 Interface Object Displays the name of the object for which you're setting the dynamic properties. All settings in the Edit Object dialog affect the object listed here. To change the object you're affecting, open the list, and choose from a list of all objects assigned to the simulation. Dynamic Controls group Use Initial State When turned on, the simulation solves for the motion, energy, and momentum of the object at the simulation's starting frame (specified in the Start Time spinner in the Time and Simulation rollout ➤ Timing group.) If Use Initial State is turned off, the object is assumed to be sitting motionless at the starting frame. The Dynamics utility overwrites keys. Either the object's keys are clocked with the simulation, or it's not moving (or both). If you don't solve for the initial state, the object's keys are interpolated at the instant the simulation starts and all subsequent motion comes from the interaction of the simulation itself. 4242 | Chapter 13 Animation This Object is Unyielding Lets you use keyframe-animated objects in dynamics simulations. Objects with this option turned on are immovable relative to other objects that collide with them, but can be animated (keyframed). You can animate objects with this option turned on by themselves or as part of a keyframed hierarchy. For collisions, objects with Use Initial State turned on cannot move objects with This Object is Unyielding turned on. Move Pivot to Centroid When this button is on (green) and you exit the Edit Object dialog by clicking OK, the object's pivot point is moved to its center of mass. Having the pivot aligned with the center of mass speeds up the dynamics calculation and makes manual keyframing of the objects appear more natural. However, if the pivot point is already positioned as part of a linked hierarchy, turning on Move Pivot to Centroid will alter the positioning of your hierarchical linkage. Load/Save Parameters Sets group Saves the current Edit Object parameter settings, or loads previously saved parameter settings. You can use these controls to save the settings for one object, and then apply them to another object. Set Name Accepts a new name for a parameter set. Click Save to save the parameter set with this name. Available Parameters Sets Lists previously saved parameter sets. Load Loads the selected parameter set. Save Saves the named parameter set. The saved parameter sets appear in the list. Delete Deletes the selected parameter set. Assign Effects/Collisions group Let you specify which effects in the scene will affect the current object, or which objects in the scene can collide with the current object. Assign Object Effects Displays a subdialog that lets you specify which effects in the scene will affect the current object. The dialog consists of two list windows. All effects (typically space warps) in the scene are listed in the window on the left. Select effects in the list, and then click the > button to transfer the highlighted effects to the window at right. The Assign Object Effects dialog functions similarly to the Edit Object List dialog on page 4247. Dynamics Utility | 4243 Assign Object Collisions Displays a subdialog that lets you choose which objects in the scene are considered for collision with the current object. This dialog works the same as the Assign Object Effects dialog, except that it lists only objects in the simulation. Objects included for collision in this dialog can collide with the current object. NOTE For every potential collision, you should explicitly specify both colliding objects. For example, if you specify that Box01 is to collide with Box02, you should also specify that Box02 is to collide with Box01. This is primarily for keeping track of your simulation; if you specify the collision for only one object, it works for the other as well. While it is not necessary to specify that Box02 collides with Box01, this is the only way to update the Assign Object Collision list for Box02. The Assign Object Effects dialog functions similarly to the Edit Object List dialog on page 4247. Collision Test group Specifies the type of boundary used for collision testing. Box A bounding box is used to test collision. This is the fastest method. If your object is a box or close to a box shape, this option is both fast and accurate. Cylinder A cylindrical form is used to test collision. The "height" axis of the cylinder is aligned with the local Z axis of the object. Sphere A spherical form is used to test collision. Mesh Uses the surface of the object to calculate the collision. This option is the most accurate, but also takes far longer to calculate than the previous three methods. Use this only when your object is too complex to work properly with the first three options. Recalculate Properties group Specifies when to recalculate the properties of an object that changes over the course of the animation. Specifically, the properties refer to the mass moment of the object. The mass moment of an object can be defined as the measure of how the mass in an object is distributed with respect to the center of mass of that object. Altering the mass moment changes the way an object responds to torque. If your object is changing shape over time, and you want to take this into account for the simulation, you should recalculate the properties. Never No calculation is performed beyond the first calculation for the dynamics solution. 4244 | Chapter 13 Animation Every Frame The object's properties are recalculated for every frame. Every Calc Interval The object's properties are recalculated at each "Calc Interval." You set the Calc Interval (interval of calculation) in the Time Parameters rollout; it specifies how many calculations are performed for each frame of the simulation time range. Material Editor Physical Properties group Three of an object's physical properties are taken by default from its material: bounce, static friction, and sliding friction; see Dynamics Properties Rollout on page 6485. Use these settings in this group to accept or override the material's dynamics properties. Bounce Specifies how far the object bounces after collision. Available only if Override Material Bounce is on. Override Material Bounce Enables the Bounce spinner when you want to use a specific value that's different than that assigned by the object's material. When using a multi/sub-object material, you can assign different Bounce values to the sub-materials, and thus to different faces of an object. But if you use an override value, it affects the whole object only. Copy to Object's Material Copies the value in the Bounce spinner to the material assigned to the object. Static Friction Specifies how hard it is to start moving on a surface. Available only if Override Material Static Friction is on. Override Material Static Friction Enables the Static Friction spinner when you want to use a specific value that's different than that assigned by the object's material. When using a multi/sub-object material, you can assign different Static Friction values to the sub-materials, and thus to different faces of an object. But if you use an override value, it affects the whole object only. Copy to Object's Material Copies the value in the Static Friction spinner to the material assigned to the object. Sliding Friction Sliding friction determines how hard it’s for an object to keep moving over a surface. Available only if Override Material Bounce is on. Override Material Sliding Friction Enables the Sliding Friction spinner when you want to use a specific value that's different than that assigned by the object's material. When using a multi/sub-object material, you can assign different Sliding Friction values to the sub-materials, and thus to different faces of an object. But if you use an override value, it affects the whole object only. Dynamics Utility | 4245 Copy to Object's Material Copies the value in the Sliding Friction spinner to the material assigned to the object. Physical Properties group Provides controls that specify the physical properties of the current object. Density Specifies the density of the object in grams per cc. A setting of 1 is the equivalent of water, and useful for anything wooden, plastic, or organic. The more dense an object, the slower it will react to forces. There is a direct relationship between density and mass, so when you alter the Density setting, the Mass value changes (when its automatic value is not overridden). Mass Technically, mass is the measure of how many subatomic particles are in an object. In 3ds Max, it's calculated as a result of density times volume. Mass can is the resistance to acceleration given a constant force. The greater the mass, the more resistance. The Mass value, when not overridden, is derived from the density and volume, and the volume, when automatically calculated, is affected by the Calculate Properties Using option. Override Automatic Mass Enables the Mass spinner so you can specify the object's mass. When you override the automatic value, the Mass value is no longer affected by the Density or Volume values. Mass is affected by the Calculate Properties Using options. Volume The volume of the object, measured in cubic centimeters. When automatically calculated, this value depends on the option chosen under Calculate Properties Using. Override Automatic Volume Enables the Volume spinner so you can specify the object's volume. When you override the automatic Volume value, it's no longer affected by the Calculate Properties Using options, and it no longer affects the Mass value. Calculate Properties Using options Specifies the type of geometry the simulation will use to calculate the mass, the volume, and the mass moment. When the Mass and Volume values are automatically calculated (their overrides are turned off), changing these options affects the volume, and thus the mass. Vertices Treats an object as a "point cloud," or a collection of vertices without segments. Each vertex is given a mass of 1 gram, but the object itself has no volume. 4246 | Chapter 13 Animation Surface Treats the object as a hollow shell whose thickness is 1 centimeter. The mass is derived from the surface area and the 1-centimeter thickness, but the object has no volume. Bounding Box A bounding box surrounding the extents of the object is used to calculate both the volume (of a solid bounding box) and the mass (based on the volume). Bounding Cylinder Similar to the Bounding Box option, except that a bounding cylinder is used, whose Z height axis is aligned with the local Z axis of the object. Bounding Sphere Similar to Bounding Box, except that a bounding sphere is used. Mesh Solid The geometry of the object is used to calculate both the volume and the mass, according. Property Estimate Resolution options Available only when the Mesh Solid option is chosen. The Property Estimate Resolution settings affect the accuracy with which the mass moment is calculated. This determines how accurately the rotation of the object responds to torque. Grid A sample grid is used to calculate the mass moment. The smaller the cells in the grid, the more accurate the calculation. The grid cells are measured in centimeters, regardless of the current display unit. Override Automatic Resolution Lets the Dynamics utility automatically set the grid size based on the complexity and size of the object. In addition, the lowest value that will be automatically calculated is plugged into the Grid spinner (which is also unavailable). If you want to specify your own grid value using the Grid spinner, but want some idea of where to start, turn off Automatic Resolution and then turn it back on again. Edit Object List Dialog (Dynamics Utility) Utilities panel ➤ Utilities rollout ➤ More button ➤ Dynamics ➤ Dynamics rollout ➤ Edit Object List button ➤ Edit Object List dialog The Edit Object List dialog lets you select the objects to include in a dynamics simulation. Highlight objects from the Objects in the Scene list on the left, Dynamics Utility | 4247 and then click the > button to place them in the Objects in the Simulation list on the right side of the dialog. The Exclude and Include option buttons above the right window determine whether the items listed are excluded from or included in the simulation. NOTE All the selection and inclusion dialogs in the Dynamics Utility are displayed and function similarly. Interface Objects in the Scene To add scene objects to the simulation (assuming Include is chosen), select objects from the list on the left, then use the > button to move them to the list on the right. Search Field The edit box above the Scene Objects list lets you search for object names by entering names that use wildcards. For example, searching for "sphere*" finds all objects whose names start with "sphere". 4248 | Chapter 13 Animation Objects in the Simulation To exclude objects from the simulation (assuming Include is chosen), select objects from the list on the right, then use the < button to move them to the list on the left. Exclude/Include Choose whether the simulation will exclude or include the objects named in the list on the right. If you choose Exclude, only objects in the list on the left are included in the simulation. All/None/Invert Affect the list on the left. All selects all objects, None deselects all objects, and Invert selects unselected objects and deselects selected objects. Display Subtree Turn on to indent the list according to the object hierarchy. Case Sensitive Turn on to use case sensitivity when searching for object names. Select Subtree Selects all objects in a hierarchy at the level you click and below. Selection Sets Displays a list of named selection sets. Choosing a selection set from this list selects those objects in the Scene Objects list. Clear Clears all entries from the Exclude/Include list on the right. Skin Utilities Utilities panel ➤ More button ➤ SkinUtilities Skin Utilities provide a method for copying skin data (envelopes and vertex weights) from one model to another. Skin Utilities work by embedding the skin data in a copy of the source mesh, then using the object copy to map the data onto the target mesh. To use Skin Utilities, you must have two meshes to which the Skin modifier on page 1614 has been applied, both in the current scene. You must have already assigned bones to the Skin modifier for both meshes. NOTE Skin Utilities work by matching bones from one character to another, so the task of copying the skin data will be greatly simplified if you name the bones in each mesh with similar naming conventions. Skin Utilities | 4249 Procedures To use Skin Utilities: 1 Load a scene that contains two skinned meshes, one from which you want to extract the skin data, the other to which you want to paste it. 2 Select the source mesh, the mesh with the correct envelopes and vertex weights. 3 Choose Utilities panel ➤ More button ➤ Skin Utilities. 4 Click Extract Skin Data To Mesh. A new object is created, identical to the selected object. This is a new mesh with all envelope-assigned and manually-assigned vertex weights “baked” into the mesh. The object is named with the prefix SkinData_ followed by the same name as the original object. 5 Move the skin data mesh on top of the mesh to which you would like to paste the skin data, so the two meshes are coincident. 6 If necessary, adjust the skin data object at the Vertex sub-object level to make it fit the other mesh as closely as possible. 7 Select both the skin data object, and the object to which you want to paste the data. 8 Click Import Skin Data From Mesh. 3ds Max opens the Paste Skin Data dialog. 9 Match up the bones by highlighting one on each side of the dialog, and clicking the left arrow to move the source bone to its match on the left side. You can also highlight several bones on each side at once, and click the left arrow to move them all over at the same time. Only bone pairs on the left side of the dialog will be pasted. 4250 | Chapter 13 Animation 10 If the meshes' vertices do not match exactly, set the Interpolation method to Match by Face, and increase the Threshold to a unit value that will allow the meshes' faces to match up. 11 Click OK to paste the vertex weights and close the dialog. 12 Delete the skin data mesh. Interface Extract Skin Data to Mesh Extracts the skin data from the selected mesh and embeds it in a new mesh named SkinData_ followed by the original object name. NOTE The skin data is stored in channels. To see the data, select the SkinData_ mesh and use the Channel Info Utility on page 6936. Import Skin Data From Mesh Opens the Paste Skin Data dialog. Before clicking this option, you must select the SkinData_ mesh and the mesh to which you want to paste the data. Skin Utilities | 4251 Paste Skin Data dialog To use the Paste Skin Data dialog, highlight matching Target Bones and Source Bones, and click the left arrow to match them. Only matched sets of bones listed under Target Bones will be mapped when you click OK. Target Bones Lists target bones available for matching, and lists matches moved from the Source Bones listing with the left arrow. Source Bones Lists source bones available for matching. Add Adds removed bones back to the source or target list. Remove Removes highlighted bones from the source or target list. 4252 | Chapter 13 Animation Remove Suffix If bone names end with an underscore followed by text, this removes the suffix from the displayed bone names from the underscore to the end of the name. Use this option to remove suffixes and make source and target bone names match, which will allow you to use the Match by Name option. Remove Prefix If bone names start with text followed by an underscore, this removes all characters from the displayed bone names up to and including the underscore. Use this option to remove prefixes and make source and target bone names match, which will allow you to use the Match by Name option. Left Arrow Matches highlighted target bones to highlighted source bones. The source bone name is moved to the left side of the dialog, where it follows the target bone name. You can also match more than one source bone to a single target bone by highlighting the target bone and the source bones and clicking the left arrow. When you click OK, only the matches listed on the left side of the dialog will be mapped. Right Arrow On a highlighted match on the left side of the dialog, removes the match and moves the source bone to the right side of the dialog. Match by Name Matches the source and target bones by name. You can use this option only if you have removed prefixes or suffixes to make the displayed source and target bone names match exactly. Threshold Sets the unit distance that the utility will search for vertex or face matches. Default=1.0. Interpolation Sets the method by which pasting will take place. Use the Match by Vertex option only if the meshes are identical. Otherwise, use Match by Face. Default=Match by Vertex. Skin Utilities | 4253 4254 reactor 14 reactor is a toolset that allows animators and artists to control and simulate complex physical scenes in 3ds Max. reactor supports integrated rigid and soft body dynamics, cloth simulation, and fluid simulation. It can simulate constraints and joints for articulated bodies. It can also simulate physical behaviors such as wind and motors. You can use all of these features to create rich dynamic environments. In a reactor simulation, a rag-doll figure crashes through a window. Once you have created an object in 3ds Max, you can assign physical properties such as mass, friction, and elasticity to it with reactor. Objects can be fixed, free, attached to springs, or attached together using a variety of constraints. By assigning physical characteristics to objects 4255 like this, you can model real-world scenarios and then simulate them to produce physically accurate, keyframed animations. After you set up your reactor scene, you can preview it quickly using the real-time simulation display window. This allows you to test and play with a scene interactively. You can alter positions of all physical objects in the scene, dramatically reducing the design time. You can then transfer the scene back into 3ds Max with a single mouse click while retaining all the properties needed for the animation. reactor frees you from having to hand-animate time-consuming secondary effects, like exploding buildings or draping curtains. reactor also supports all standard 3ds Max functionality such as keyframes and skinning, so you can use both conventional and physical animation in the same scene. Convenient utilities, such as automatic keyframe reduction, let you tweak and alter the physically generated parts of an animation after it has been created. The remainder of this chapter describes each of reactor's features in detail. Also, the included tutorials step you through creating some typical reactor scenes. Together, we hope these will help you to get the most from reactor. If you would like to find out more about dynamics simulation, see Introducing Dynamics Simulation on page 4263. Getting Started This section shows you where to find the various reactor options in 3ds Max, as well as introducing you to reactor's helper icons. You'll see how to use each of the options in the relevant section of this guide. Command Panel You can use the reactor options on the Create panel to create various reactor elements. To find most reactor objects, go to the Helpers sub-panel, and then, from the drop-down list, choose reactor. 4256 | Chapter 14 reactor You can also find a space warp, used for water on page 4450, in Space Warps ➤ reactor. Once you've created a reactor object, selecting the object and opening the Modify panel allows you to configure its properties. | 4257 There are also three reactor modifiers, used to simulate deformable bodies on page 4401: 4258 | Chapter 14 reactor You'll find most of the remaining reactor functions on the Utilities panel. This provides access to functionality such as previewing the simulation, changing world and display parameters, and analyzing the convexity of objects. It also lets you see and edit the rigid body properties associated with objects in the scene. | 4259 NOTE The reactor menus and toolbar provide shortcuts for many of the reactor functions provided in the command panel. The reactor Toolbar The reactor toolbar is a handy way to access much of reactor's functionality. It has buttons that let you quickly create constraints and other helpers, display physical properties, generate animations, and run the real-time preview. To display the reactor toolbar: 1 Right-click an empty area of the main toolbar to display a list of available toolbars. 2 Click reactor. 4260 | Chapter 14 reactor The reactor Submenu The main reactor submenu, available from the Animation menu, is another way to access reactor functionality. | 4261 The reactor Quad Menu A further quick way to access reactor options is the reactor quad menu. To open this menu, press Shift+Alt and right-click in the active viewport. Helper Icons Many reactor elements, such as constraints and the Rigid Body Collection, have their own special helper icon that appears in the viewport when you add them to the scene. For instance, the following illustration shows the Hinge constraint icon: Although the helper icon doesn't appear in your rendered scene, the icon's appearance (and in some cases, its position and orientation) will help you to set up your reactor scene correctly. 4262 | Chapter 14 reactor When selected, reactor icons are white and are also larger than when not selected. When not selected, the icon for a valid element is blue, and for an invalid element is red. What constitutes validity depends on the particular reactor element. For instance, a hinge on page 4344 is valid if it has the correct number of objects attached to it; a Rigid Body Collection on page 4296 is valid if it's not empty. Invalid elements are excluded from the simulation, and reported as errors. Certain icons provide additional information about how the element behaves in the simulation. For example, the display for a valid hinge indicates the hinge position, and, when selected, the hinge axis and any limits youvl have specified for the movement of the hinged bodies. Introducing Dynamics Simulation This section gives a broad overview of physical simulation, and introduces some concepts you might find useful when working with reactor. Physical Simulation Havok’s physics technology, used in reactor, relies on a process known as physical simulation in order to provide a dynamic environment for the objects in a scene. So what exactly does physical simulation mean? It is a process that automatically determines the motion of objects according to their physical properties. It achieves this by encapsulating some physical laws, like Newton’s laws of motion, within a robust, efficient engine, which calculates the position of each object as time passes. In much the same way that a motion picture is composed of many individual images or frames, physical simulation splits time into small discrete steps and predicts the motion of each object during each step. The cumulative effect of all these steps is fluid, continuous, believable motion. Unlike traditional keyframe-based animation, where the animator needs to specify a set of keyframed configurations, physical simulation determines how objects move based their properties. This takes the burden from the animator, who now doesn't need to manually animate every piece in an explosion, every bone in a character stunt animation, or every vertex in a piece of cloth. In a physical simulation, physical properties such as mass and elasticity are assigned to all objects in a scene. This is then complemented with a set of external forces like gravity or wind and/or constraints, like a spring force or a ball-socket configuration. From all this information, the physics engine calculates a continuous set of states that can then be displayed in real-time, Introducing Dynamics Simulation | 4263 if the calculations are fast enough, or converted into keyframes to be played back later. What Does A Physics Engine Do? A physics engine like Havok has three basic tasks to perform: 1 Collision Detection Track the movement of all the objects in the scene and detect when any of them have collided. 2 Update System Determine an appropriate response for objects that have collided by resolving the collision according to the object properties and for all other (non-colliding) objects update them according to the forces acting on them. 3 Interface with Application Once reactor determines the new positions and state of all objects, it can display the objects in a 3D window or store their states in the form of keyframes. NOTE A physics engine knows nothing about how the objects it is simulating are displayed. It simulates the motion and interaction of these objects based on a physical (not graphical) description of the objects, and this information can be used to generate a display that “tracks” the simulation. Given that we are talking about simulating a continuously evolving state (in other words, objects are moving and colliding and reacting all the time in general), we need to map this to a series of snapshots in order to generate an animation. In a computer game, for example, we typically want to display the world 60 times per second, because this is how frequently many graphics systems can redraw the screen. When creating an animation, we may want to store the state (that is, create a keyframe) for every frame. At 60 FPS, for example, this would also create 60 keyframes every second, What this really means is that the physics engine must be capable of evolving the world by 1/60th of a second knowing the state of all the objects at the start of this time interval and knowing the external forces acting on these objects. As an example we'll look at the simple case of a cannon ball and we’ll assume we're interested in animation at 60Hz (Hz = cycles or frames per second). 4264 | Chapter 14 reactor Simulating a Cannon Ball Let’s forget about collisions for now, and consider only the simulation of a cannon ball immediately after it has been fired from the cannon. We know the ball’s position (and orientation, but we'll ignore this for now), speed, acceleration, and weight, and we assume we know the state of the environment (air resistance, wind force, gravity). Armed with this knowledge we can start to make predictions using a physics engine. A cannon ball follows a parabolic trajectory. This figure illustrates what we would like to achieve. Over a period of time the cannon ball’s rate of ascent should slow due to gravity, and it should eventually fall to the ground having traveled through a classic parabolic arc (assuming no air resistance). At a given point in time we can examine the state of the ball (its speed v and acceleration a) and knowing the external forces acting on it we can make a guess as to its change in position after a period of time has elapsed (call this period h seconds). This guess is a combination of a number of factors: ■ We assume that Newton’s laws of motion govern the motion of the ball ■ We assume that in the time period h all the external forces acting on the ball are constant, so air resistance and wind and gravity do not change during this time. ■ We assume that the math we use to calculate the new position is accurate In general, the first assumption is usually valid, except at relativistic or quantum scales, which we can assume should be handled by other systems. The remaining two, however, cause problems and are closely linked to the time period h over which we’re performing the calculations. We’ll now examine the effect of the size of this time period on the accuracy of the simulation. Introducing Dynamics Simulation | 4265 Time Steps In general, the forces acting on an object are rarely truly constant; gravity is close to being constant, but most other forces like wind and air resistance are not. So, taking the cannon ball example, imagine a windy layer in the atmosphere that the cannon ball passes through, as shown in the next figure. Left: One-second steps Right: Half-second steps In the simulation on the left we assume we’re taking steps of one second; this is actually a relatively large interval for a physics simulation, but is used here to illustrate the point. We know all the forces acting on the ball at time t1 so we use some math to predict the new position and velocity at time t2, after one second has elapsed. During this period, we assume that the wind force acting on the ball is constant. In this example, we’ll calculate the new position above the region of high wind, so we’ll effectively have missed the windy bit by taking too great a jump. In the second example on the right, we’re using time steps of ½ second. In this case, after determining the new position at time t2 we find the ball in the middle of the windy region. This region causes a large wind force to act on the ball which is taken into account during the next time step. At that point we reevaluate the math and determine a new position for the ball at time t3. This is different from the position determined in the simulation on the left, even though the same amount of time has been simulated in each case. In other words, the wind has blown the ball to the left a bit and has reduced the velocity of the ball In general, the smaller the time step taken, the more accurate the result at the end of the time step. Thus, to step forward in time by a large time step t it is better to split this into n steps of a smaller time interval t/n. 4266 | Chapter 14 reactor This is also true of the math. As the simulation becomes more complex, the math required to calculate the new positions and velocities of objects in a simulation also becomes more complex, and as a result the guesses produced by the math give progressively less-accurate results. So the principle is to take small time steps, evaluate all the forces acting on the objects, determine the new positions and velocities (and other parameters) of the objects at the end of the time steps, and then start over. We end up with a series of snapshots of the state of the system as it evolves, as shown in the following illustration. Snapshots of a system state taken at regular time intervals Substeps In the previous section, we said that the physics engine passes on the necessary information to update the display after it determines the new positions for all its objects. However, what if you don't want to update the display in each simulation time step? Let's say we absolutely need to update the application once every 1/60th of a second, either because we're playing a real-time game that refreshes the screen at 60Hz. or we're creating a keyframe every frame for a 60FPS movie. This effectively means that we want to step the physics engine at intervals of 1/60th of a second. In many cases this does not present a problem, but if, hypothetically, the accuracy of the simulation was not sufficient (remember: Introducing Dynamics Simulation | 4267 smaller time steps mean better accuracy), then we’d like to decrease the time step even further, say to 1/120th of a second. But this would mean we generate twice the number of images/keyframes we are interested in, which is wasteful. To get around this, the Havok engine allows you to specify the number of substeps to take per key. The Substeps/Key parameter specifies the number of steps the physics engine takes before updating the application. This gives control over the granularity of the physics simulation independent of the display update or keyframe-creation frequency. So with Substeps/Key=1, reactor uses a single simulation step for each update to the 3D display. With Substeps/Key=2, reactor takes two physics steps each time before updating the application, and so on. Simulation (yellow) sampled every 1/240 second Keyframes (red) created every 1/60 second In this figure, we have specified that the physics simulation should step at intervals of 1/240th of a second, but that we create a keyframe only once every 4268 | Chapter 14 reactor 1/60th of a second. The red spots indicate a keyframe and simulation step, the yellow spots are simulation steps only. This was achieved by instructing the physics engine to employ four substeps per key. Thus, for each four simulation steps we create only keyframe. By setting the number of substeps we can control the accuracy of the physical simulation independent of the number of keyframes created. Rigid Bodies and Deformable Bodies Rigid Bodies Havok simulates most objects in a simulation as rigid bodies. A rigid body is an object whose geometry doesn't change over the course of the simulation. You can simulate any real-world object that doesn't noticeably change its shape, from a pen to a boulder hurtling down a mountainside, as a rigid body. Simulating objects in this way facilitates rapid physical simulation in real time; the physics engine can make certain assumptions when detecting collisions based on the fact that the objects' shapes don't vary from simulation step to simulation step. Both the Havok 1 and Havok 3 engines can simulate rigid bodies, but Havok 3 simulations are faster and more accurate. Deformable Bodies To simulate cloth, rope, or other material whose shape changes over time, you need to use a different type of body: a deformable body. With deformable objects, collision detection becomes much more difficult, given that the object can change shape dramatically between time steps and can also attempt to collide with itself. For this reason, deformable bodies are more expensive to simulate. NOTE Only the Havok 1 engine can simulate with deformable bodies. Scale Our scientific knowledge of physics is extensive. What we are concerned with here would more accurately be described as a mechanical simulation of the interactions of objects at real-world scales. We are dealing with Newtonian mechanics; that is, the well-understood laws of motion, popularized by Sir Isaac Newton, that describe the behavior of objects under the influences of other objects and external forces. Since then we’ve discovered that these laws break down at very small (i.e. subatomic) and very large (i.e. planetary) scales. Introducing Dynamics Simulation | 4269 New physics systems have been devised to work with these scales (for example, relativistic and quantum), but these are beyond the scope of the reactor physics engine. The Havok physics simulation technology works at the scale of objects we interact with on a daily basis, such as chairs, cars, buildings, and footballs. By default, the engine works in units of meters and kilograms. It's important to keep in mind the scale in which you're working. For example, a common mistake people make is to start by creating a cube 100 meters on a side, and then they wonder why it takes so long to fall. A box of this size when viewed at a distance sufficient to be able to see the entire box (say 1km away) will appear to fall at the same speed as an aircraft hangar dropped from a height and viewed from a kilometer away: slowly. Changing Scale The Havok physics engine does not care what units of measurement you use when specifying the size of objects or the strength of gravity; it cares only about the numbers. So you could, for instance, work in inches. However, for realistic (or at least predictable) results, it's important to be consistent. So, for instance, if you're working in meters, make sure gravity is set to an appropriate value in meters. To produce Earth-like gravity, use 9.8 m/s2. Otherwise objects might appear to fall faster or slower than you expect. NOTE Due to CPU floating-point precision, a physics engine is most accurate when dealing with numbers as close in magnitude to 1 as possible. In other words, values like 10,000,000 work poorly, as do values like 0.0000001. Therefore, for real-world scenes, when creating objects of 1*1*1 size it is most useful to be working in meters or feet, rather than centimeters/inches or kilometers/miles, in that you most often simulate objects larger than sugar cubes and smaller than football fields. It is for this reason that the default values in many physics engines are usually specified in meters. Special Features in reactor A number of reactor features enhance speed and usability. reactor lets you create new and better animations that were virtually impossible without reactor, and you can set up those animations in an efficient, intuitive way. Here we present some of the main features in reactor. Two Simulation Engines From the reactor utility interface, you can choose to run your simulation with either of two engines: Havok 1 or Havok 3. 4270 | Chapter 14 reactor If your reaction involves cloth, rope, or soft bodies, you'll need to stick with Havok 1, the version included with previous releases of 3ds Max. However, if you're using rigid bodies only, you can take advantage of the enhanced accuracy available in Havok 3. For more information, see The reactor Utility on page 4460 and Havok 1 World / Havok 3 World Rollout on page 4464. Integrated User Interface The reactor interface is fully integrated in 3ds Max. You can access functionality in reactor through menus, quad menus and toolbars. All 2D and 3D icons follow a consistent look and feel. The reactor utility on page 4460 parameters are arranged for easy access. Special Features in reactor | 4271 You can find more details in: ■ reactor on page 4255 ■ The reactor Utility on page 4460 Vertex Selection Inside reactor Modifiers The reactor modifiers for deformable bodies on page 4401: Cloth, Soft, and Rope, let you select vertices and apply constraints (fix points, keyframe points, attach to rigid body, attach to deforming mesh) to those vertices without leaving the modifier or having to apply extra modifiers. You can create and manipulate deformable constraints on page 4437 inside the modifier. 4272 | Chapter 14 reactor Vertex selection in red, across the top of the mesh Cooperative Constraints reactor includes a number of cooperative constraints on page 4317 that facilitate the simulation of articulated bodies and machinery. Mannequins constrained to touch hands The Rag Doll constraint on page 4322 allows the simulation of constrained bodies with relative rotation and twist angles limits similar to those found in human and animal joints. The Hinge constraint on page 4344 allows the simulation of hinges (limited or not) and hinge-like joints where movement is limited around a specified axis, like elbows and knees. The Prismatic constraint on page 4358 allows the simulation of translation-only joints (limited or not) like those found in robots and machinery. The Car-Wheel constraint on page 4364 is particularly suited to the simulation of wheels attached to a chassis. The wheels rotate (and can be powered) about a given axis. Limited linear motion relative to the chassis is allowed along a user-defined suspension axis. Special Features in reactor | 4273 Using Point-Point constraint on page 4351 with the Limited option lets you limit the relative rotation of the attached objects by a given degree around each axis. Using Point-Point on page 4351 with the Stiff Spring option constrains both objects as though attached by a fixed-length bar (a very stiff spring). Fracture Object The Fracture on page 4387 object in reactor offers excellent usability and behavior. Objects inside Fracture are standard Rigid Bodies and, as such, you can add them to constraints, assigned initial velocities, etc. You can tell pieces to break at a specific time. A fractured glass Constraint Manipulation and Constraint Spaces Constraints on page 4299 in general restrict the relative movement between two bodies (parent and child) or between a body (child) and the world, and use consistent, intuitive nomenclature and setup methods. Springs, linear dashpots and angular dashpots are referred as Simple Constraints on page 4303, while the other constraints (those that are grouped with a Constraints Solver on page 4319) are referred to as Cooperative Constraints on page 4317. 4274 | Chapter 14 reactor In reactor, you define the effect of constraints by the specifying and manipulating two constraint spaces on page 4301. Limits, such as minimum and maximum rotation angles, are defined and displayed around those spaces, which you can modify using sub-object manipulation. reactor provides tools for automatically aligning and manipulating those spaces. Storage and Access of Collision Information reactor can store information of all rigid body collisions occurred during the simulation. The information includes the objects involved, the point of collision, and the relative velocity during collision, and can be used by animators to generate particles or other effects, trigger sounds, etc. You can access the information via MAXScript and save it to a text file. Special Features in reactor | 4275 For more information, see Storing and Accessing Collisions on page 4396. Support for Global Collisions In reactor, you can enable or disable collisions globally instead of inside the Rigid Body Collection on page 4296. 3ds Max stores disabled collisions inside the reactor Utility on page 4460. You can disable collisions not only for rigid bodies, but also for cloth, soft and rope. And you can access disabled collisions through MAXScript. Animatable Wind You can animate most parameters in the reactor Wind on page 4456 object, including wind speed and direction. Range and Falloff parameters let you set up the range of action for the wind. 4276 | Chapter 14 reactor An array of planes shifted by wind Cloth/Soft/Rope Attachments to Deforming Meshes (Skin) The Attach to DefMesh on page 4445 deformable constraint allows vertices in cloth, soft bodies, and rope to follow a non-rigid mesh such as skin. Special Features in reactor | 4277 One mesh deforms another Soft Selection for Cloth/Soft/Rope The deformable on page 4401 (cloth/soft/rope) modifiers in reactor can now use the soft selection flowing to that modifier and blend the current vertex animation with the reactor animation, facilitating the transition between skin-driven and reactor-driven animation. 4278 | Chapter 14 reactor Soft selection dampens the deformation Floating Rigid Body Property Editor In reactor you can change the rigid body properties on page 4282, like mass, elasticity or friction without having to use the reactor Utility on page 4460. You can open a floating MAXScript window to modify rigid body properties from the reactor menus, quad menus, and toolbars at any time. Special Features in reactor | 4279 MAXScript Access Virtually all parameters and functionality in reactor are accessible through MAXScript. Animation Features reactor can automatically create list controllers (or character studio layers) to store the animation of rigid bodies. For more information, see Preview & Animation Rollout on page 4462. Also, the ragdoll script on page 4482 is aware of being applied to character studio bipeds, and, in such cases, sets up the constraints so that, when you create an animation, the biped is physically animated. 4280 | Chapter 14 reactor reactor Helpers Create panel ➤ (Helpers) ➤ reactor Animation menu ➤ reactor ➤ Create Object This topic simply provides links to the various helper objects that are part of the reactor system. Interface Rigid Body Collection on page 4296 Constraint Solver on page 4319 Point-Point Constraint on page 4351 Point-Path Constraint on page 4371 Hinge Constraint on page 4344 Rag Doll Constraint on page 4322 Car-Wheel Constraint on page 4364 Prismatic Constraint on page 4358 Linear Dashpot on page 4308 reactor Helpers | 4281 Angular Dashpot on page 4313 Cloth Collection on page 4411 Deforming Mesh Collection on page 4435 Rope Collection on page 4431 Soft Body Collection on page 4423 Fracture on page 4387 Motor on page 4377 Plane on page 4375 Spring on page 4304 Toy Car on page 4380 Wind on page 4456 Rigid Bodies The rigid body is the basic building block of reactor simulations. You can use a rigid body in reactor to simulate any real-world object that doesn't change its shape, from a pen to a boulder hurtling down a mountainside. 4282 | Chapter 14 reactor A rigid mannequin collides with a rigid window, which fractures. You can create a rigid body using any geometry in a 3ds Max scene. reactor then lets you assign the properties the object should have in the simulation, such as mass, friction, and whether the body can collide with other rigid bodies. You can also restrict the possible movement of your rigid bodies in the simulation using constraints such as hinges and springs. This section shows you how to create and work with rigid bodies in reactor. To find out how to simulate objects that change their shape over time, see Deformable Bodies on page 4401. Rigid Body Basics You can make a rigid body from any geometry in your scene. A rigid body can be a single object, or it can comprise several objects grouped together, known as a compound rigid body on page 4294. If you designate an object whose geometry changes over time as a rigid body, the simulation uses its geometry at the start frame. reactor lets you assign the physical properties that each body will have in the simulation, such as mass, friction, and whether the body can collide with Rigid Body Basics | 4283 other rigid bodies. You can specify a proxy geometry for a rigid body, which allows reactor to treat the rigid body as an easier-to-simulate shape for the purpose of the simulation. You can also specify how your rigid body should be displayed when previewing the simulation. An object is simulated as a rigid body after you have added it to a Rigid Body Collection on page 4296; you can edit its rigid body properties before or after you do this. This section tells you how to: Edit rigid body properties on page 4284, including ■ physical properties on page 4285 ■ simulation geometry on page 4287 ■ display properties on page 4294 Rigid Body Properties Utility panel ➤ reactor ➤ Properties Animation menu ➤ reactor ➤ Open Property Editor reactor toolbar ➤ (Open Property Editor) You assign physical properties, simulation geometry, and display properties to a rigid body using the Rigid Body Properties rollout or dialog. The interface consists of three rollouts or sections, each of which is described in detail in this topic. Procedures To edit the properties of a rigid body: 1 Select the appropriate object in the scene. 4284 | Chapter 14 reactor 2 Open the Properties rollout or dialog. If the item you have selected cannot become a rigid body (for example, if it is a helper object such as a Rigid Body Collection), or if you have no object selected, the dialog still displays when you choose this option, but its controls are unavailable until you select a valid object. 3 Use the settings to specify the required properties, as described in the following sections. Interface Physical Properties Mass A rigid body’s mass governs how the object interacts with other objects. When its mass is set to 0.0 (the default value), the object remains fixed in space during the simulation, although other objects will be able to collide with it. For example, you could use a fixed rigid body to create a slope for other objects to roll down. Other values allow the object to move during the simulation, depending on other circumstances. A valid value for Mass is greater than or equal to 0.0. Friction The coefficient of friction for the object’s surface. This affects how smoothly the rigid body moves relative to surfaces it’s in contact with. The friction values for both objects combine to produce a coefficient for the interaction. To achieve realistic results, use values between 0.0 and 1.0. However, values up to 5.0 are accepted. Rigid Body Properties | 4285 Elasticity This value governs the effect collisions have on the velocities of the rigid body; in other words, how "bouncy" the object is. Like Friction, this is a pair-wise coefficient: When two objects collide, their elasticity values combine to produce a coefficient for the interaction. To achieve realistic results, use values between 0.0 and 1.0. However, values up to 5.0 are accepted. Inactive When on, the rigid body starts the simulation in an inactive state. This means it requires interaction with another object or system, or the mouse, before it becomes active in the simulation. For example, if you place an object in midair, give it a mass and set it to Inactive, when the simulation starts it sits in midair until something interacts with it. Inactive objects require less computation during simulation. Disable All Collisions When on, the object doesn’t collide with other objects in the scene; it simply passes through them. Unyielding When on, the rigid body takes its motion from the animation it already has in 3ds Max, rather than the physical simulation. Other objects in the simulation can collide with it and react to its motion, but its motion is governed solely by the current animation in 3ds Max, and reactor will not create keyframes for it. Phantom A phantom object has no physical presence in the simulation. Like an object with Disable All Collisions on, it simply passes through other objects. Unlike an object with disabled collisions, however, a phantom maintains collision information about any objects that it passes through during the simulation. You can then use this collision information, for instance, to trigger sounds or other effects. You can find out how to access collision data in the Storing and Accessing Collisions on page 4396. Shell The radius of an extra "shell" around convex shapes, which reactor uses as the shape's surface for collision-detection purposes. The simulation tries to ensure that the distance between this shell and other objects is always more than zero; in other words, that the distance between the original convex shape and other objects is always more than the combined radii of the objects. Default=0.05. IMPORTANT Applies to Havok 3 only. Adding a shell to an object can improve performance. The core convex-convex collision-detection algorithm is fast when objects are not interpenetrating, and slower when they are. Adding a shell makes it less likely that the shapes themselves will interpenetrate, thus reducing the likelihood of using the slower algorithm. Using a shell is thus faster in situations that involve the risk of shapes interpenetrating; for instance, when an object is settling or sliding on 4286 | Chapter 14 reactor a surface, when there is a stack of objects, or when many objects are jostling together. Penet. (Penetration) The amount of penetration reactor permits. To avoid trying to solve insoluble physical problems, the Havok 3 engine allows penetration between objects even if continuous physics on page ?is enabled. Default=0.05. IMPORTANT Applies to Havok 3 only. Quality Lets you set individual settings for each object based on the desired level of interaction. Default=Moving. IMPORTANT Applies to Havok 3 only. The available Quality settings are: ■ DebrisLow-importance objects used for adding visual quality. ■ MovingRegular objects that populate the world, such as furniture, etc. ■ CriticalEssential objects that are never allowed to interpenetrate. ■ BulletFast-moving projectiles. Simulation Geometry Lets you specify the physical representation of your object that will be used in the Havok simulation. Proxies reactor supports substituting one object for another in two different ways: geometry proxies and display proxies. Geometry proxies allow you to specify a different body’s geometry as the simulation geometry for an object. For example, you can have a complex object displayed on-screen, but replaced for simulation purposes by a box, which is much easier and faster for reactor to simulate. The box governs the movement of the object, and dictates how it collides, its position, and orientation. However, on-screen you can see the complex object in full detail. Geometry proxies are applied per object. Display proxies replace a rigid body’s display body with that of another object. Therefore, they affect display only during the real-time preview on page 4476 and do not affect animation. They are applied per rigid body, rather than per object. This means that you can create a compound rigid body of several Rigid Body Properties | 4287 objects and simulate these, but display an alternative mesh for the body during the preview. You can find out how to specify a display proxy in the Display on page 4294 section. Convex and Concave Objects A rigid body primitive is defined as convex if, given any two points inside the object, you can always go in a straight line from one to the other without leaving the object. Convex objects include spheres, cylinders, and boxes. For example, a sphere is convex but a golf ball is concave because of the concavities (dimples) in its surface. Also, by definition, non-closed meshes (planes, hollow hemispheres) are always concave. Convex objects are faster to simulate than concave objects. Because of this, you should aim to use convex objects as often as possible for simulation. Treating concave objects as convex for simulation purposes allows you to take advantage of their faster processing time. This is the default setting for an object’s simulation geometry (Mesh Convex Hull). If you are unsure whether an object is convex or concave, you can perform a convexity test on it. With the object selected, open the reactor - Utilities menu and select Convexity Test. You can specify one of the following simulation geometry options to define how your object will be represented in the physical simulation. To view the simulation geometry for your objects in the preview, as in the following examples, select Sim Edges from the Display menu in the Preview Window. 4288 | Chapter 14 reactor Bounding Box The object is simulated as a box whose extents are determined by the object’s dimensions. Bounding box Bounding Sphere The object is simulated as an implicit sphere. The sphere is centered on the object’s pivot point and then minimally encloses the object’s geometry. Rigid Body Properties | 4289 Bounding sphere Mesh Convex Hull This is the default option. The object’s geometry is passed through an algorithm that creates a convex geometry using the geometry’s vertices, completely enclosing the geometry’s vertices. To visualize this, imagine shrink-wrapping a teapot: The teapot is concave but its shrink-wrap forms a convex hull. 4290 | Chapter 14 reactor Convex hull Proxy Convex Hull The convex hull of another object is used as the physical representation of the object in the simulation. For instance, you could use the convex hull of a low-poly teapot to simulate a high-poly teapot. The proxy object’s pivot point is aligned with that of the rigid body. Rigid Body Properties | 4291 Proxy convex hull Concave Mesh The actual mesh of the object is used for simulation. Although the convex hull of an object and the object’s actual mesh may be exactly the same shape, using the convex hull simulates much more quickly, as reactor can make certain assumptions for convex objects. If you try to use Concave Mesh for a convex object you will get a warning. Not heeding such warnings could dramatically reduce the speed of your simulation. In some cases, though, you might want to ignore that warning. If, for example, you want to place objects inside a convex object, and make them collide with the internal faces of that object, you should simulate it as concave instead of convex. NOTE If you are using a standard 3ds Max plane as a rigid body (as opposed to the special reactor Plane on page 4375 object), you must set its simulation geometry to Concave Mesh. 4292 | Chapter 14 reactor Concave mesh Proxy Concave Mesh Another object’s concave mesh is used as the physical representation of the object. For example, you can use a low-poly teapot to animate a highly tessellated teapot. The proxy object’s pivot point is aligned with that of the rigid body. To specify the proxy object, click the Proxy button at the bottom of the rollout. Rigid Body Properties | 4293 Proxy concave mesh Not Shared This option is active when multiple objects with different Simulation Geometry settings are selected. Display Proxy When on and you specify a proxy object by clicking the button (default label: None), reactor displays the specified proxy in the Preview Window in place of the object. Compound Rigid Bodies Rigid bodies can be made of one or more objects, or primitives. For instance, if you assign physical properties to an object in a scene and add it to a Rigid Body Collection, we say that the rigid body has one primitive. However, reactor 4294 | Chapter 14 reactor can also simulate a rigid body made up of more than one primitive. To do this, you need to group objects together using the 3ds Max Group menu. You can then add the group to the collection, and the objects in the group then become the primitives that make up the rigid body. Creating such compound rigid bodies can be useful, as it is much faster to simulate a rigid body made up of convex pieces than to simulate a more complex concave shape. In addition, the primitives that make up a compound rigid body can have different masses, so you can create rigid bodies that have nonuniform mass distribution. For example, you can create a hand axe where the head is heavier than the handle, so that if you toss the axe it spins around its head. Rigid body as a compound of three objects You can do this because the Mass property on the Rigid Body Properties dialog is assigned to a specific primitive rather than an entire rigid body, unlike most of the other properties in this dialog. For single-primitive rigid bodies, this distinction is unimportant. However, in the case of a compound rigid body, the group parent is the rigid body and cannot have a Mass value assigned: Mass can be assigned only to its children, the primitives. Simulation geometry is also defined at a primitive level, so you can combine concave and convex hull geometries in a single rigid body. Procedures To create a compound rigid body: 1 Arrange the objects to use to make up your compound rigid body. Compound Rigid Bodies | 4295 2 Select all of the objects. 3 From the Group menu, choose Group. Your objects are now all child objects of a new group parent. You can add this parent object to a Rigid Body Collection. To edit compound rigid body properties: 1 With the compound rigid body selected, choose Group ➤ Open. 2 To edit the compound rigid body’s properties, select the parent (dummy) and go to the properties rollout of the utility or open the Rigid Body Properties dialog. You cannot edit the Mass or Simulation Geometry values for a group parent because they are primitive properties. TIP It's easier to select a group parent using the Select From Scene dialog on page 184 with Display ➤ Display Children enabled: The group parent is displayed above its members. 3 To edit one of the rigid body’s primitive’s properties, select the appropriate child and go to the Properties rollout of the utility or open the Rigid Body Properties dialog. You can give this object a Mass value and, if you wish, change its Simulation Geometry setting. Specifying any other rigid body properties for a child object has no effect unless you remove the object from the group. Rigid Body Collection Create panel ➤ (Helpers) ➤ reactor ➤ RBCollection Animation menu ➤ reactor ➤ Create Object ➤ Rigid Body Collection reactor toolbar ➤ (Create Rigid Body Collection) The Rigid Body Collection is a reactor helper object that acts as a container for rigid bodies. Once you have added a Rigid Body Collection to your scene, 4296 | Chapter 14 reactor you can add any valid rigid bodies in the scene to the collection. You can find out more about rigid bodies in the Rigid Body Basics on page 4283 section. When you run the simulation, reactor examines the Rigid Body Collections in the scene and, provided the collections are not disabled, adds the rigid bodies they contain to the simulation. At a lower level, a collection also allows you to choose the mathematical method to be used for solving the rigid body behaviors for its member bodies. Procedures To create and use a Rigid Body Collection: 1 Choose any of the above commands, and then click in any viewport to add the Rigid Body Collection. NOTE The icon’s position has no effect on the collection’s behavior. The collection icon is added to the scene. You can add rigid bodies to the collection in two ways: by picking or by using a selection list. 2 Add objects to the collection using either (or both) of these methods: ■ On the RB Collection Properties rollout, click the Pick button, and then in the viewport, click an object to add. ■ On the RB Collection Properties rollout, click the Add button, and then use the Select Rigid Bodies dialog to specify one or more objects to add. To create a collection and add bodies in a single step: 1 Create and select the objects to add to the collection. 2 Create the collection using the reactor toolbar, reactor menu, or quad menu. reactor instantly places the collection in the scene and adds the selected objects to the collection. Rigid Body Collection | 4297 Interface RB Collection Properties rollout Highlight Cause the objects in the Rigid Bodies list to display momentarily in the viewports as if selected. Rigid Bodies Lists the names of the objects in the Rigid Body Collection. Pick Lets you add an object to the Rigid Body Collection. Click this button, then in the viewport move the cursor over the object you would like to add to the collection. If the object can be used as a rigid body the cursor will change from an arrow to a cross and you can select the object to add it to the collection. Add Lets you add one or more objects from the scene to the collection. Click the button to open the Select Rigid Bodies dialog. Make a selection in the provided list, and then click the Select button to add the objects to the collection. Delete Lets you remove objects from the collection. In the rigid bodies list, select the bodies you would like to remove from the collection and click this button. 4298 | Chapter 14 reactor Disabled When on, the collection and the bodies it contains are not added to the simulation. Advanced rollout ODE Solver Lets you choose the method by which reactor simulates the collection: ■ EulerThe collection calculates the behavior for its rigid bodies using an Euler ODE (Ordinary Differential Equation) solver. Euler is a fast method that provides good results in most cases. ■ Runge-KuttaThis method is more accurate in some cases but requires more computation. Use Runge-Kutta if you have many object connected using simple constraints on page 4303 like springs or dashpots, because those kind of systems can easily become unstable. Reset Default Values Sets values for the collection to their defaults. In this instance, it sets the ODE Solver back to its default value. Constraints With reactor, you can easily create a simple physical simulation by simply assigning rigid body properties to objects and adding them to a Rigid Body Collection. When you run the simulation, objects can fall from the sky, slide across each other, bounce off each other, and so on. However, let's say you want to simulate a real-world scene such as a person pushing open a door. How, for instance, do you make sure that the door rigid body doesn't just fall onto the ground, or that it swings out in the proper direction when pushed? To accomplish this you use constraints. These let you restrict the possible movement of objects in the physical simulation. Depending on the type of constraint you use, you can hinge objects together, attach them together with Constraints | 4299 springs that will snap back if the objects are pulled apart, or even simulate the movement of a human body joint. You can constrain objects to each other or to points in space. This section shows you how to work with constraints in reactor. Simple Constraints include: ■ Spring on page 4304 ■ Linear Dashpot on page 4308 ■ Angular Dashpot on page 4313 Cooperative Constraints include: ■ Constraint Solver on page 4319 ■ Rag Doll Constraint on page 4322 ■ Hinge on page 4344 ■ Point to Point on page 4351 ■ Prismatic on page 4358 ■ Car-Wheel on page 4364 ■ Point to Path on page 4371 Constraint Concepts This topic introduces some common concepts that you'll need to understand to work with any of the reactor constraint types. Constraints, Simple Constraints, and Cooperative Constraints You use constraints in reactor to specify limitations in the movements of objects. Without constraints, the movement of objects could be limited only by collisions and deformations. This is the case in the real world: For example, a door's movement is limited by a set of pieces that form a hinge; the collisions between those objects limit the movement of the door. The motion of two objects attached by a spring is limited by the deformation of the spring. A train can move only along the path defined by a rail due to the collisions of its wheels with the rail. In many cases, though, it is preferable to specify explicitly the effect of those objects (hinge, spring, rail) rather than model them and simulate them. This is what constraints are for. 4300 | Chapter 14 reactor A constraint lets you limit the way an object can move. Once you specify a constraint, reactor tries to enforce it during the simulation. For example, you can use a Hinge on page 4344 constraint to simulate the effect of an actual hinge on an object: No translation is allowed, and rotation is allowed around only one axis. Similarly, you can use a Spring on page 4304 constraint to simulate the effect of a spring (translation is limited to a certain length); or a Point-Path on page 4371 constraint to simulate the effect of a rail (translation and orientation are limited to follow a path). Sometimes you will have a system of many objects constrained together. For example, if you want to simulate a character falling down the stairs, you might constrain the different bones of the character using many constraints (like Rag Doll on page 4322 or Hinge on page 4344). Because all the bodies are connected, maintaining one constraint may affect the other constraints, so it is better if they are simulated together, so they are aware of each other. Thus, some constraints require you group them so they can be solved as a system. Those constraints are called Cooperative Constraints on page 4317 and are usually more stable, although they can be slightly slower to simulate. The other constraints, Simple Constrains on page 4303, cannot be grouped and therefore are more prone to instability in complex scenes, but are faster to simulate. Constraint Spaces In rigid body dynamics, each body has six degrees of freedom to move: ■ three translational degrees of freedom ■ three rotational degrees of freedom Each type of reactor constraint can remove or limit one or more of these degrees of freedom for its constrained bodies. Depending on the number and type of these limitations, we get different types of constraint, from the simple Point-Point on page 4351 constraint to the much more complicated Rag Doll on page 4322 constraint. For example, with a Point-Point constraint, the constrained objects are completely free to rotate around the constraint pivot point, but have no linear freedom relative to each other in any direction; they are attached together at the point. However, with a Rag Doll constraint, the objects not only have no linear freedom, but their possible relative orientation is also restricted. In each constraint, these angular and linear limits are defined in terms of the constraint’s coordinate system or constraint space. Because a constraint restricts the movement of its objects relative to each other, a constraint also needs to maintain a mapping from each object’s local space to the constraint space. reactor lets you manipulate the constraint space in each object's local space Constraints | 4301 separately, as you'll see in the Working With Constraint Spaces on page 4302 section. Parents and Children Each reactor constraint can have two objects: a parent object and a child object. Although two-bodied constraints actually restrict the possible movement of both bodies, it is often simpler to specify how one object is allowed to move relative to the other one, particularly when you are using limits. With reactor, you specify how the child object can move relative to the parent. For some constraints, it makes no difference which object is the parent and which is the child. For instance, if you use a Point-Point constraint to attach two objects together at a common point, it works in exactly the same way regardless of how you specify the attached objects. However, with the more complex Rag Doll constraint, which you typically use to model body joints, it's important to specify which object is the parent. This is because this constraint lets you specify a number of limits on how the child can move relative to the parent object. For example, when you move your torso, your arm always moves with it. So when modeling a shoulder joint, you would specify that the torso object is the parent, making the arm object the child. You can then specify limits on the arm's movement relative to the torso. When you constrain an object to a point in world space rather than another object, the constrained object is the child object and there is no parent object. Working With Constraint Spaces For most constraints, by default the constraint space is aligned with the child body. This means that the constraint pivot/attachment point is positioned at the child object's pivot point, and the constraint space takes its orientation from the child body's local space. The exceptions to this are the constraints with two attachment points, Springs and Stiff Springs, and the Point-Path constraint, each of which has its own default alignment. You can move the constraint space relative to each of the bodies by going to the constraint's Parent Space or Child Space sub-object level in the modifier stack, and then using the Move and/or Rotate tools. The space will then maintain its position and/or orientation relative to the corresponding object during the simulation. 4302 | Chapter 14 reactor reactor also provides some quick shortcuts for aligning constraint spaces, available with each constraint. These are: ■ Align Spaces To Child BodyThis is the default alignment for all constraints except Spring, the Stiff Spring variant of Point-Point, and Point-Path. ■ Align Spaces To Parent BodyThe constraint space is aligned with the parent body: The pivot point is positioned at the parent body's pivot point, and the constraint space takes its orientation from the parent object's local space. ■ Align Spaces To Child SpaceAligns the parent and child constraint spaces with the child's constraint space. So, for instance, if you move the constraint space relative to the child, you can use this option to move the parent's constraint space into alignment with it. ■ Align Spaces To Parent SpaceAligns the parent and child constraint spaces with the parent's constraint space. So, for instance, if you move the constraint space relative to the parent, you can use this option to move the child's constraint space into alignment with it. Certain constraints have additional alignment options: ■ Align Spaces To Each Body(Spring and Point-Point ➤ Stiff Spring only) This option aligns each local constraint space (and hence the spring attachment point) with the relevant body, so each body's attachment point is at its pivot. It also sets the spring length to the current distance between the nodes. This is the default alignment for springs and stiff springs. ■ Align Parent Space To Path(Point-Path constraint only) This option aligns the parent space with the local space of the shape used for the constraint's path. This is the default parent space alignment for the Point-Path constraint. Simple Constraints The simple constraints provided with reactor are Spring, Linear Dashpot, and Angular Dashpot. Unlike cooperative constraints, the simple constraint does not require you to add it to a Constraint Solver on page 4319 helper. Instead, reactor adds all valid simple constraints in a scene to the simulation by default. A two-bodied simple constraint is valid if it has two rigid bodies attached, while a single-bodied simple constraint is valid if it has one rigid body attached. Constraints | 4303 Spring Create panel ➤ (Helpers) ➤ reactor ➤ Spring Animation menu ➤ reactor ➤ Create Object ➤ Spring reactor toolbar ➤ (Create Spring) The Spring helper lets you create a spring-like effect between two rigid bodies in the simulation, or between a rigid body and a point in space. During the simulation, the spring exerts forces on the attached bodies in an attempt to maintain its rest length. So, for instance, if the objects are pulled apart so that the spring attachment points are further apart than the rest length, the spring works to bring them back together again. You can configure a spring's behavior by specifying its stiffness, damping, and rest length. reactor also lets you choose whether the spring acts under extension (when the attachment points are pulled further apart) or compression (when the attachment points are pushed closer together) or both (the default). A spring that acts only on extension behaves as if the objects were joined with a rubber band. You do not have to add a Spring constraint explicitly to a simulation, as all valid springs in a scene are added to the simulation by default. A two-bodied spring is valid if it has two rigid bodies attached, while a single-bodied spring is valid if it has one rigid body attached. When not selected, invalid springs will be colored red in the viewport. Procedures To create a spring: ■ Choose one of the above options, and then click in any viewport to add the Spring. NOTE The icon’s position has no effect on the constraint’s behavior. To attach objects to the spring: 1 Create the Spring and the object(s) to connect using it. 4304 | Chapter 14 reactor 2 If you do not want to assign a second body to the spring, turn off the Parent check box on the spring's Properties rollout if necessary. 3 Click the Child pick button and then select the object to use as the child object in one of the viewports. This attaches the Spring to the body at the body’s pivot point. 4 If the spring is two bodied, repeat step 2, using the Parent pick button to set the parent object for the spring. To create the spring and attach the objects in a single step: ■ See the Scripts and Tools on page 4481 topic. To change the attachment positions for the bodies: 1 With the Spring constraint selected, open the Modify panel. 2 In the modifier stack, open the Spring’s sub-object list. 3 Highlight the option corresponding to the object whose attachment point you want to move: Parent Space or Child Space. If the Spring is single-bodied, Parent Space allows you to move the world attachment position. 4 The appropriate space becomes active in the viewport and can be moved using the Move tool. The attachment point maintains its position relative to its corresponding object; for example, if you move the child object, its space, and hence its attachment point, moves with it. The attachment point doesn't actually have to be on the object. If you move the attachment points so that they're inside or beyond the Spring rest length, you will see the attachment points represented by large box markers and the rest length denoted by small box markers. The difference between the two is displayed in red. 5 To reset the attachment point to the object’s pivot, reattach the object to the Spring. Alternatively, if you click the Align Spaces To Each Body button, both attachment points will be reset to their respective body's pivot. To align the parent and child constraint spaces: 1 Ensure that the constraint is selected in one of the viewports. Constraints | 4305 2 In the Align Spaces To group, click the button for your chosen alignment. You can find out more about the alignment options in the Working With Constraint Spaces on page 4302 section. Interface Modifier Stack Child Space At this sub-object level, you can select and move the constraint space for the child object, including the point relative to the child where the Spring is attached to it. When you assign a child body to the Spring, the Child Space attachment point is set to the child’s pivot point. If you alter the position of the attachment point, it maintains its new position relative to the child during the simulation. Parent Space At this sub-object level, you can select and move the constraint's second attachment point. If the spring is two-bodied, then this is the point relative to the parent where the spring is attached to it. When you assign a parent object to the Spring, the Parent Space attachment point is set to the parent object’s pivot point. If you alter the position of the attachment point, it maintains its new position relative to the parent. If the spring is single-bodied, then the Parent Space's attachment point represents the point in the world where the spring is attached. 4306 | Chapter 14 reactor Properties rollout Parent When on, the Spring has two bodies and you can designate an object to be the parent body. When off, the Spring is single-bodied and the point occupied by the Parent Space sub-object is the parent. You assign the parent object by clicking this button and then selecting a rigid body from any viewport. Thereafter the button displays the name of the parent body. Child Displays the name of the second rigid body attached to the Spring. You assign the child object by clicking this button and then selecting a rigid body from any viewport. Align Spaces To Use these options to align the bodies' local constraint spaces. You can find out more about each option in the Working With Constraint Spaces on page 4302 section. Constraints | 4307 Lock Relative Transform When on, the relative transform between the child and parent constraint spaces is locked: If you move either space in the viewport, the other space moves along with it. Stiffness The strength of the spring; governs the force the spring applies to each attached body for each unit difference between its current length and its rest length. Values greater than or equal to 0.0 are valid. Default=10.0. Rest Length The spring applies forces to the attached objects in an attempt to reach this length. You can specify a figure in world units for this value, or you can use the Set button. The spring’s rest length is displayed in the viewports as the length of the displayed line between the two small box markers. The large box markers are the objects’ attachment points. Set Click this button to set the spring’s rest length to the current distance between the two objects’ attachment points. Damping Determines how quickly the oscillation of the spring settles down. It governs the forces applied to the connected bodies due to the relative velocities of their connection points. Valid damping values are those greater than or equal to 0.0. The default damping value is 1.0. TIP Typically, a Damping value of 1/10th of the stiffness yields good results. Act on compression When on, the spring applies forces to the attached objects when its length is less than its Rest Length. Default=on. Act on extension When on, the spring applies forces to the attached objects when its length is greater than its Rest Length. Disabled When on, the spring is not used in the simulation. Reset Default Values Click this to set Stiffness, Rest Length, Damping, Act On Extension, and Act On Compression to their respective default values. Linear Dashpot Create panel ➤ (Helpers) ➤ reactor ➤ L Dashpot Animation menu ➤ reactor ➤ Create Object ➤ Linear Dashpot reactor toolbar ➤ 4308 | Chapter 14 reactor (Create Linear Dashpot) Dashpots typically server to cushion impact. An example of a real-world linear dashpot is the hydraulic cylinder in an automobile shock absorber. The Linear Dashpot constraint lets you constrain two rigid bodies together in the simulation, or to constrain one body to a position in world space. It behaves like a heavily damped spring with zero rest length. You can specify the strength and damping, and whether collisions between the attached bodies are disabled. reactor lets you specify a dashpot attachment point in each body's local space. During the simulation, the dashpot exerts impulses on the attached bodies in an attempt to make these points match up in world space, thus keeping the bodies in the same positions relative to each other. The bodies are still free to rotate around the attachment point. You do not need to add a Linear Dashpot explicitly to a simulation, as all valid constraints in a scene are added to the simulation by default. A two-bodied dashpot is valid if it has two rigid bodies attached, while a single-bodied dashpot is valid if it has one rigid body attached. When not selected, invalid dashpots are colored red in the viewport. Procedures To create a Linear Dashpot: ■ Choose one of the above options, and then click in any viewport to add the dashpot. NOTE The icon’s position has no effect on the constraint’s behavior. To attach objects to the Linear Dashpot: 1 Create the Linear Dashpot and the objects to connect using it. 2 On the linear dashpot’s Properties rollout, click the Child pick button, and then select the object to use as the child object in one of the viewports. By default, this attaches the linear dashpot to the body at the body’s pivot point. 3 If you do not want to assign a second body to the dashpot, turn off the Parent check box, if necessary. 4 If the dashpot is two-bodied, repeat step 2, using the Parent pick button to set Parent for the Linear Dashpot. Constraints | 4309 To create the constraint and attach objects in a single step: ■ See the Scripts and Tools on page 4481 topic. To change the attachment positions for the bodies: 1 With the dashpot selected, open the Modify panel. 2 In the modifier stack, open the dashpot’s sub-object list. 3 Highlight the sub-object corresponding to the object in whose space you want to move the attachment point: Parent Space or Child Space. If the dashpot is single-bodied, Parent Space allows you to move the world attachment position. 4 The appropriate point becomes active in the viewport and can be moved using the Move tool. The attachment point maintains its position relative to its corresponding object; for example, if you move the child object, its space, and hence its attachment point, moves with it. The attachment point doesn't have to actually be on either object. 5 To reset the attachment point to the child object’s pivot, reattach the objects to the dashpot, or use the Align Spaces To Child Body option. To align the parent and child constraint spaces: 1 Ensure that the constraint is selected in one of the viewports. 2 In the Align Spaces To group, click the button for your chosen alignment. You can find out more about the alignment options in the Working With Constraint Spaces on page 4302 section. 4310 | Chapter 14 reactor Interface Modifier Stack Child Space At this sub-object level, you can select and move the dashpot attachment point for the child body. When you assign a child body to the dashpot, the Child Space attachment point is set to the child object’s pivot point. If you alter the position of the Child Space attachment point, it maintains its new position relative to the child during the simulation. Parent Space At this sub object level, you can select and move the dashpot attachment point for the parent body. When you assign a parent object to the dashpot, the Parent Space attachment point is set to the parent object’s pivot point. If you alter the position of the Parent Space attachment point, it maintains its new position relative to the parent during the simulation. If the dashpot is single-bodied, then the Parent Space's attachment point represents the point in the world where the dashpot will be attached. Constraints | 4311 Properties rollout Parent When on, the dashpot has two bodies and you can designate an object to be the parent body. When off, the dashpot is single-bodied and the point occupied by the Parent Space sub-object is the parent. You assign the parent object by clicking this button and then selecting a rigid body from any viewport. Thereafter the button displays the name of the parent body. Child Displays the name of the second rigid body attached to the dashpot. You assign the child object by clicking this button and then selecting a rigid body from any viewport. Align Spaces To Use these options to align the bodies' local constraint spaces. You can find out more about each option in the Working With Constraint Spaces on page 4302 section. Lock Relative Transform When on, the relative transform between the child and parent constraint spaces is locked: If you move either space in the viewport, the other space moves along with it. 4312 | Chapter 14 reactor Strength Governs the size of the impulse the dashpot applies to each attached body, taking into account the distance between the attachment points. The strength value is mass-dependent. For example, a Strength value of 10 generates a different behavior when connecting two 5 kg bodies than when connecting two 50 kg bodies. Values greater than or equal to 0 are valid for this property. Default=1. Damping Determines how quickly the oscillation of the linear dashpot settles down. Damping governs the impulse applied to the connected bodies due to the relative velocities of their dashpot connection points. Valid damping values are those greater than or equal to 0 and less than or equal to 100000. Default=0.1. TIP Typically, a damping value of 1/10th of the stiffness yields good results. Allow Interpenetration When on, collisions are disabled between the dashpot’s objects, so that they can pass through each other during the simulation. Defaults=off. Disabled When on, the dashpot is not added to the simulation. Reset Default Values Click this to set Strength, Damping, and Disabled to their respective default values. Angular Dashpot Create panel ➤ (Helpers) ➤ reactor ➤ A Dashpot Animation menu ➤ reactor ➤ Create Object ➤ Angular Dashpot reactor toolbar ➤ (Create Angular Dashpot) Dashpots typically serve to cushion impact. An example of a real-world angular dashpot is a device connected to a door to keep it from slamming shut. You can use the Angular Dashpot constraint to constrain the relative orientation of two rigid bodies, or the absolute orientation of a rigid body in world space. When simulating, the dashpot exerts angular impulses on the bodies to which it is attached in an attempt to maintain the specified rotation between the objects. You can specify the dashpot’s strength and damping, and whether collisions between the system’s bodies are disabled. Constraints | 4313 An angular dashpot has two sets of axes as sub-objects. For two-bodied dashpots, these are specified as offset rotations from the dashpot’s bodies. For single-bodied dashpots, one sub-object is an offset rotation and the other is a world rotation. In a simulation, the dashpot tries to maintain a common rotation for these axes. You do not need to add angular dashpots explicitly to a simulation, as all valid dashpots in a scene are added to the simulation by default. A dashpot is valid if it has the correct number of rigid bodies attached and is enabled. When not selected, invalid dashpots are colored red in the viewport. Procedures To create an Angular Dashpot: ■ Choose one of the above options, and then click in any viewport to add the dashpot. NOTE The icon’s position has no effect on the constraint’s behavior. To attach objects to the Angular Dashpot: 1 Create the dashpot and the objects to connect using it. 2 In the dashpot’s Properties rollout, click the Child pick button and then select the object to use as the child object in one of the viewports. By default, this aligns the Angular Dashpot's target orientation with the child body's local space. 3 If you do not want to assign a second body to the dashpot, turn off the Parent check box if necessary. 4 If the dashpot is two-bodied, repeat Step 2, using the Parent pick button to set Parent for the angular dashpot. To create the constraint and attach objects in a single step: ■ See the Scripts and Tools on page 4481 topic. To change the offset rotations for the bodies: 1 With the Angular Dashpot selected, open the 4314 | Chapter 14 reactor Modify panel. 2 In the modifier stack, open the dashpot’s sub-object list. 3 Highlight the sub-object that corresponds to the offset rotation you want to change: Child Space or Parent Space. If the dashpot is single-bodied, Parent Space represents the world rotation that the dashpot works to align the Child Space with. 4 The selected axis sub-object becomes active in the viewports and can be rotated using the Rotate tool. The axis maintains its offset rotation so that if you rotate the object it’s linked to, it also rotates. 5 To realign the rotation to the child body's local space, reattach the object to the dashpot. Alternatively, click the Align Spaces To Child Body button. To align the parent and child constraint spaces: 1 Ensure that the constraint is selected in one of the viewports. 2 In the Align Spaces To group, click the button for your chosen alignment. You can find out more about the alignment options in the Working With Constraint Spaces on page 4302 section. Interface Modifier Stack Child Space At this sub-object level, you can select and rotate the offset rotation for the child object. This is the rotation that the angular dashpot tries to maintain for the child body relative to the parent. When you assign a child object to the dashpot, reactor aligns Child Space to the child body's local space. If you alter the rotation of this sub-object, it maintains its new rotation relative to the child body. Constraints | 4315 Parent Space At this sub-object level, you can select and rotate the offset rotation for the parent body. This is the rotation that the dashpot tries to maintain for the parent body relative to the child. When you assign the parent body to the dashpot, this rotation is aligned with the child body's local space. If you alter the rotation of this sub-object, it maintains its new rotation relative to the parent. If the dashpot is single-bodied, this rotation represents the world rotation to which the dashpot tries to align the Child Space axis. Properties rollout Parent When on, the dashpot has two bodies and you can designate an object to be the parent body. When off, the dashpot is single-bodied and the point occupied by the Parent Space sub-object is the parent. You assign the parent object by clicking this button and then selecting a rigid body from any viewport. Thereafter the button displays the name of the parent body. Child Displays the name of the second rigid body attached to the dashpot. You assign the child object by clicking this button and then selecting a rigid body from any viewport. 4316 | Chapter 14 reactor Align Spaces To Use these options to align the bodies' local constraint spaces. You can find out more about each option in the Working With Constraint Spaces on page 4302 section. Lock Relative Transform When on, the relative transform between the child and parent constraint spaces is locked: If you move either space in the viewport, the other space moves along with it. Strength Governs the size of the impulse the dashpot will apply to each attached body, taking into account the difference in their relative offset rotations (Child Space and Parent Space). The strength value is mass dependent – for example, a strength value of 10 will generate a different behavior when connecting two 5 kg bodies than when connecting two 50 kg bodies. Values greater than or equal to 0.0 are valid for this property. Default=1.0. Damping This value affects how quickly the oscillation of the angular dashpot settles down. It governs the impulse applied to the connected bodies due to their relative angular velocities. Valid damping values are those greater than or equal to 0. Default=0.1. TIP Typically, a damping value of 1/10th of the stiffness yields good results. Allow Interpenetration When on, collisions are disabled between the dashpot’s objects: During the simulation, they can pass through each other. Default=off Disabled When on, the dashpot is not added to the simulation. Reset Default Values Click this to set Strength, Damping, and Disabled to their respective default values. Cooperative Constraints Cooperative constraints are more stable than simple constraints on page 4303, but can be more computationally expensive to simulate. For a cooperative constraint to take part in the simulation, you first need to add it to a Constraint Solver on page 4319. The solver acts as a container for the cooperative constraint in a particular Rigid Body Collection, and performs all the calculations necessary for the constraints to work together. The following constraint types are cooperative constraints: ■ Hinge on page 4344 ■ Point-Point constraint on page 4351 Constraints | 4317 ■ Point-Path constraint on page 4371 ■ Car-Wheel constraint on page 4364 ■ Prismatic constraint on page 4358 ■ Rag Doll constraint on page 4322 Common Properties The following properties are shared by all cooperative constraints: Strength and Tau These properties govern the impulses applied to the constraint's bodies in order to maintain the constraint, and so how strongly the constraint works to restrict their movement. Strength The constraint applies an impulse to each attached body in order to maintain the constraint, based on the relative velocities of the attached bodies. The Strength parameter governs the percentage of this impulse the constraint will apply to each object. If this is sufficient, then the constraint is maintained. Tau If the constraint drifts; that is, if the attached objects reach a state where the constraint isn’t satisfied, then reactor applies a corrective force to rectify this drift. An impulse is calculated to rectify the drift in a constraint system; the Tau parameter governs the percentage of the corrective impulse the constraint applies to each object. NOTE Tau is unavailable in the Havok 3 engine. Breakable Constraints A breakable constraint stops working when a specified threshold is exceeded. For example, you could use a breakable constraint to make a door that flies off its hinges when kicked hard enough. You make a constraint breakable by turning on its Breakable check box. It then ceases to exert impulses on its constrained bodies if its limits are exceeded during the simulation. 4318 | Chapter 14 reactor Breakable Turn on to make the constraint breakable. The Linear and Angular parameters apply only to Havok 1, and the Theshold parameter applies only to Havok 3. Linear The maximum linear impulse the breakable constraint can apply before it breaks. Available in Havok 1 only. Angular The maximum angular impulse the breakable constraint can apply before it breaks. Available in Havok 1 only. Threshold A generic impulse parameter that governs the overall breakability of the constraint. Larger values make the constraint harder to break. Available in Havok 3 only. Constraint Solver Create panel ➤ (Helpers) ➤ reactor ➤ CSolver Animation menu ➤ reactor ➤ Create Object ➤ Constraint Solver reactor toolbar ➤ (Create Constraint Solver) The Constraint Solver acts as a container for the cooperative constraints on page 4317 in a particular Rigid Body Collection on page 4296, and performs all the calculations necessary for the constraints to work together. For a cooperative constraint to be simulated in a scene, it must be included in a valid Constraint Solver and any of the rigid bodies it contains should be in the Rigid Body Collection associated with the solver. For a Constraint Solver to be valid it should be associated with a valid Rigid Body Collection. When not selected, an invalid Constraint Solver is red in the viewport. Constraints | 4319 You can disable an entire Constraint Solver, thus disabling all of its constraints. You can also set a deactivation threshold for all the constraints in the solver, which lets you specify when you would like all the relevant rigid bodies to be deactivated. Procedures To create a Constraint Solver: ■ Choose one of the above options, and then click in any viewport to add the Constraint Solver. NOTE The icon’s position has no effect on the constraint’s behavior. To assign a Rigid Body Collection to the solver: 1 On the Properties rollout click the RB Collection button. This enters a pick mode in which you can choose only a Rigid Body Collection. 2 In one of the viewports, click the collection to assign to the Constraint Solver. The collection should contain the rigid bodies for the constraints in the solver. To add constraints to a solver: 1 Create a Constraint Solver and some cooperative constraints to add to the solver. 2 Add constraints to the solver using either (or both) of these methods: ■ On the Constraint Solver ➤ Properties rollout, click the Pick button, and then in the viewport click a constraint helper to add. ■ On the Properties rollout, click the Add button, and then use the dialog to specify one or more constraints to add. 4320 | Chapter 14 reactor Interface Properties rollout RB Collection button Displays the name of the Rigid Body Collection assigned to the solver, if any. To assign a Rigid Body Collection to the solver, click this button and then selecting a collection in any viewport. Highlight Click this button to cause the constraints in the Constraints list to momentarily display in the viewports as if selected. Constraints Lists the names of the constraints currently in the solver. Pick Lets you add a constraint to the solver. Click this button, then in the viewport move the cursor over the constraint you would like to add to the solver. If the object can be used as a constraint, the cursor changes from an arrow to a cross and you can select the object to add it to the solver. Constraints | 4321 Add Lets you add one or more constraints from the scene to the solver. Click the button to open up the Select New Constraints To Add dialog. Make a selection in the provided list, and then add the constraints to the solver by pressing the Select button. Delete Lets you remove constraints from the solver. Highlight the constraints to remove from the solver in the Constraints list and then click this button. Deactivation Threshold Lets you specify a special deactivation threshold for all the rigid bodies constrained by the solver's constraints. Objects in a Constraint Solver are activated and deactivated together; this parameter specifies how aggressive the deactivation is. A value of 0.0 disables deactivation. For more information about deactivation, see Havok 1 World / Havok 3 World Rollout on page 4464. Disabled When on, disables all the constraints in this solver. Reset Default Values Sets Deactivation Threshold and Disabled to their respective default values. Rag Doll Constraint Create panel ➤ (Helpers) ➤ reactor ➤ Ragdoll Animation menu ➤ reactor ➤ Create Object ➤ Rag Doll Constraint reactor toolbar ➤ (Create Rag Doll Constraint) The Rag Doll constraint lets you realistically simulate the behavior of body joints, such as hips, shoulders, and ankles. Once you decide the degree of movement a joint should have, you can model it by specifying limiting values for the Rag Doll constraint. 4322 | Chapter 14 reactor Figure with rag doll constraints The Rag Doll constraint uses the parent body as a reference when defining the limits for the motion of the child body. For example, when your torso moves, your arm always moves with it. So when modeling a shoulder joint, you would usually designate the torso as the parent body and the upper arm as the child body. You can then specify limits on the arm's movement relative to the torso, as in the above illustration: The arm is allowed to rotate relative to the torso within the grey limited cone. You can also limit the child body's ability to twist. You restrict how a Rag Doll constraint’s child can move relative to the parent using the constraint’s Twist, Cone, and Plane limits on page 4332. As with the other constraints, the constraint space for the Rag Doll joint is defined in each body's local space; you use this constraint space to define your limits. The constraint space is defined as follows: ■ The origin as the attachment point of the constraint between the child and parent bodies. Constraints | 4323 ■ A twist axis, which is the axis around which the child body can twist relative to the parent body. You use this axis to specify twist limits and the child body's permitted cone of movement. ■ A plane and plane normal centered on the attachment point; the plane serves to define further limits that restrict the child body's movement within the cone. reactor provides special limit visualizations to help you choose appropriate values for the Rag Doll. For a detailed explanation of how to define those limits, see Defining Rag Doll Limits on page 4334. reactor simulates a Rag Doll constraint if it has the correct number of rigid bodies attached and is included in a valid Constraint Solver on page 4319. When not selected, invalid rag dolls are red in the viewport. To find out how to create an example character quickly using the Rag Doll constraint, see Scripts and Tools on page 4481. Procedures To create a Rag Doll constraint: ■ Choose one of the above options, and then click in any viewport to add the Rag Doll. NOTE For a two-bodied Rag Doll, the icon’s initial position has no effect on the Rag Doll's behavior. For a single-bodied Rag Doll, it defines the initial position of the world attachment point. You can change this afterwards. To attach objects to the Rag Doll: 1 Create the rag doll and the objects to connect using it. 2 In the rag doll’s Properties rollout, click the Child pick button. Now, in one of the viewports, select the object to use as the child object. This attaches the constraint to the selected body at the body’s pivot point. The twist axis for the constraint in the child's space is aligned to the x-axis of the child object and initially, the plane normal will be aligned to the y-axis. This constraint is more intuitive to use if the child and parent bodies are attached correctly. For example, if connecting an upper arm to a shoulder, the shoulder should be the parent and the upper arm the child. 4324 | Chapter 14 reactor 3 If you do not want to assign a parent to the constraint, turn off the Parent check box. 4 If the constraint is two bodied, repeat Step 2, using the Parent pick button to set the parent body for the constraint. By default, the constraint space in the parent's local space is also aligned with the child body. To create the constraint and attach objects in a single step: ■ See the Scripts and Tools on page 4481 topic. To change the Rag Doll positions and orientations for the bodies: 1 With the Rag Doll selected, open the Modify panel. 2 In the modifier stack, open the sub-object list. 3 Access the sub-object level corresponding to the object whose constraint representation is to be altered: Parent Space or Child Space. If the rag doll is single-bodied, Parent Space represents the world attachment position and rotation of the rag doll’s axes. Constraints | 4325 4 The space, represented by just the twist axis for the child and by the twist axis, plane normal and limit visualization for the parent, becomes active in the viewport and can be moved and rotated using the Move and Rotate tools respectively. The space maintains its position and rotation relative to its corresponding object. For example, if you move or rotate the child, Child Space moves relative to it. 5 To reset the space for an object to its default, reattach the object to the rag doll or use the Align To Child Body button. 6 You can also rotate the plane normal independent of the twist axis. To do this, set the sub-object level to Plane Rotation and you will be able to rotate the plane normal with respect to the parent’s twist axis. To change the Cone and Plane limits: 1 Ensure that you can see the limit visualization for the Rag Doll; this helps you to choose appropriate limits for your desired behavior. Visual representation of the limits is displayed at the location of the parent’s sub-object. This provides you with a graphical representation of the limited area of movement for the child relative to the parent. 2 With the rag doll selected, open the Properties rollout. NOTE You can use this rollout to specify how the limits are represented in the visualization, as well as changing the limits. 3 Change the Cone ➤ Min and Max settings. When displayed, the cone remains symmetrical and is rotated about the plane normal by the average offset of Min and Max. For example, if Min=-10.0 and Max=20.0, the average offset is (-10+20)*0.5=5 with a cone 4326 | Chapter 14 reactor angle of 15. In effect, we have a 15-degree symmetrical cone [-15, 15] rotated by 5 degrees, resulting in limits of [–10, 20]. If the plane normal is not at 90 degrees to the twist axis, non-intuitive cone rotations can result. The rotation of the twist axis for the attached object is limited to the volume of this cone. You can view the cone on its own by ensuring that only the Show Cone option in the Properties rollout ➤ Display group is on. 4 You can also try changing the Plane ➤ Min and Max settings. These are limited between [-90, 0] and [0,90] respectively. Taking the Min and Max limits and sweeping those angles around the plane normal creates cones. The rotation of the attached object is then limited to within the region between the plane and these cones. You can also rotate the plane independent of the twist axis. To display the plane limits, turn on Display rollout Show Plane Limits. 5 By combining Cone and Plane limits you generate valid rotational regions for the child object relative to the parent object. This is the region represented by the Show Volume option. Constraints | 4327 NOTE Cone and plane limits limit the movement independently. As a result, it is possible to have ineffective plane limits, where the cones generated by the plane limits do not intersect the cone generated by the cone limits. Use the plane limits to reduce the level of movement provided by the cone. To change the Twist limits: 1 Select the Rag Doll helper object and open the Properties rollout. 2 The Twist settings limit the rotation of the child object about the twist axis relative to the parent object. To fix the twist of one object relative to the other, set the twist limits to [0,0]. 3 Display the Twist limits by turning on Display rollout ➤ Show Twist. 4328 | Chapter 14 reactor For a detailed explanation of how to define these limits, see Defining Rag Doll Limits on page 4334. Interface Modifier Stack Parent Space At this sub-object level, you can move and rotate the representation of the Rag Doll for the parent body. The constraint axes are defined in the parent body's space, which means that if you alter the position or rotation of the parent, the space moves as well and maintain its offset rotation and translation with respect to the parent. When you assign a parent body to the Rag Doll, Parent Space is also aligned with the child body's local space, with the attachment point at the child body's pivot point, the twist axis aligned with the child's X axis, and the plane normal aligned to the child’s Y axis. If the Rag Doll is single-bodied, then Parent Space represents the world orientation and position of the constraint. Child Space At this sub-object level, you can move and rotate the representation of the Rag Doll for the child body. The constraint axes are defined in the child body's space, which means that if you alter the position or rotation of the child, the space moves as well and maintain its offset rotation and translation with respect to the child. When you assign a child body to the Rag Doll, the Child Space is positioned so that the attachment point coincides with the child body pivot point, and the twist axis is aligned with the child's X axis. NOTE While the Child Space sub-object has its own representation of the plane and plane normal, these are not displayed at this sub-object level, as the plane normal can be edited only in the parent body's space. Plane Rotation This sub-object level allows independent rotation of the plane normal with respect to the Parent Space. This means that your plane normal doesn’t have to be perpendicular to your twist axis, allowing for a greater Constraints | 4329 ranger of constraint setups. However, it should be noted that non-orthogonal systems affect the way reactor handles non-symmetrical cone limits. 4330 | Chapter 14 reactor Properties rollout Constraints | 4331 Parent When on, the Rag Doll has two bodies and you can designate an object to be the parent body. When off, the Spring is single-bodied and the point occupied by the Parent Space sub-object is the parent. You assign the parent object by clicking this button and then selecting a rigid body from any viewport. Thereafter the button displays the name of the parent body. Child Displays the name of the second rigid body attached to the Rag Doll. You assign the child object by clicking this button and then selecting a rigid body from any viewport. Align Spaces To Use these options to align the bodies' local constraint spaces. You can find out more about each option in Working With Constraint Spaces on page 4302. Lock Relative Transform When on, the relative transform between the child and parent constraint spaces is locked: If you move either space in the viewport, the other space moves along with it. Strength group Strength/Tau Govern the impulses applied to the constraint's bodies in order to maintain the constraint, and so how strongly the constraint works to restrict their movement. You can find out more about these parameters in Strength and Tau on page 4318. Limits group Twist Min The minimum rotation about the twist axis the constraint allows between the reference and attached objects' constraint spaces. For example, if Min=–5 then, with respect to the constraint spaces, the child cannot rotate more than 5 degrees counterclockwise about the twist axis. Twist Max The maximum rotation about the twist axis the constraint allows between the reference and attached objects' constraint spaces. For example, if Max=5 then, with respect to the constraint spaces, the child cannot rotate more than 5 degrees clockwise about the twist axis. Cone Min The minimum value, in degrees, used to specify the limit cone. This value combines with the Cone Max value to generate a symmetrical cone. This cone is rotated about the plane normal by an offset calculated by combining these limits. The rotation of the child’s twist axis is then limited to the volume of this cone with respect to the parent. For example, if the Min=–10 and Max=20, the range is 30 degrees. A 30-degree cone [–15,15] is created about the twist axis and is then rotated by the offset 4332 | Chapter 14 reactor between the limits (–10+20 )*0.5=5. This results in the effective limits being [–15,15] rotated by 5 degrees, thus final limits of [–10, 20]. Cone Max The maximum value, in degrees, used to specify the limit cone. This is combined with the Cone Min value to generate a symmetrical cone. This cone is rotated about the plane normal by an offset calculated by combining these limits. The rotation of the child’s twist axis is then limited to being within this cone with respect to the parent. Plane Min The angle between the plane and a reference line in the range [-90,0]. This line is swept about the plane normal to create a cone. The child’s twist axis is then restricted from entering this cone. If this cone intersects the cone produced by the cone limits, it further inhibits the motion of the child with respect to the parent. Plane Max The angle between the plane and a reference line in the range [0,90]. This line is swept about the plane normal to create a cone. The child’s twist axis is then restricted from entering this cone. If this cone intersects the cone produced by the cone limits, it further inhibits the motion of the child with respect to the parent. Breakable group Breakable When on, the constraint is breakable. If its breakable limits are exceeded during simulation it will cease to exert impulses on the attached objects. You can find out more about breakable constraints in Breakable Constraints on page 4318. Display group Show Twist When on, Twist limits display as part of the Parent Space visualization. The representation is a cylinder section showing the restricted motion of the attached object with respect to rotation about the twist axis. Show Cone When on, the entire symmetrical cone produced by the Cone ➤ Min and Max limits displays as part of the Parent Space visualization. Show Plane When on, representations of the plane and plane normal display as part of the Parent Space visualization. Show Plane Limits When on, the cones formed by the plane limits display as part of the Parent Space visualization. Show Volume If true, a representation of the allowed region of movement based on a combination of the plane and cone values will be calculated and displayed as part of the Parent Space visualization. Constraints | 4333 Size Allows you to change the size of the limit visualization in the viewport. Reset Default Values Resets the parameters for this constraint to their default values. Defining Rag Doll Limits The Rag Doll constraint on page 4322 is useful for simulating complex joints, like those found in some human and animal joints (shoulders, hips), that cannot be properly simulated by simpler constraints like Hinge on page 4344 or Point-Point on page 4351 constraints. Because they represent complex joints, the rotational limits use a complex parameterization that can benefit from some explanation. This section covers the different axes, planes, and cones used for that parameterization. We'll begin with a simple picture of two objects connected by a rag doll constraint; you can think of a shoulder joint, where the parent body is the torso and the child body the upper arm: A. Twist Axis B. Plane Axis C. Twist X Plane Axis (outward) 1. Parent Body 4334 | Chapter 14 reactor 2. Child Body The illustration shows three axes of importance: the Twist Axis, the Plane Axis and the Twist X Plane Axis. The twist axis is probably the easiest to visualize and you can do so by simply stretching out your arm and rotating it so that your thumb changes from pointing upwards to downwards. Your movement is just a series of rotations along the twist axis of the shoulder and elbow. In general, the twist axis should follow the length of the child body in a joint. In reactor you can specify the extent to either side of the neutral position the constraint can twist; this need not be symmetrical. A. Twist Axis (outward) B. Plane Axis C. Twist X Plane Axis 1. Twist Min. 2. Twist Max. 3. Twist Range Constraints | 4335 A. Twist Axis B. Plane Axis C. Twist X Plane Axis 1. Twist Range The other two axes are interlinked and together control the volume the child body may occupy. So first we'll look at the cone angles that allow you to specify the volume that the child may move through: 4336 | Chapter 14 reactor A. Twist Axis B. Plane Axis (inward) C. Twist X Plane Axis 1. Cone Min. 2. Cone Max. Constraints | 4337 A. Twist Axis B. Plane Axis C. Twist X Plane Axis If you imagine the constraint representing your shoulder, then the green volume is the range of allowed positions your upper arm may occupy. However, we can refine the allowed volume further by using the plane axis to enforce plane limits. These limits are used to generate two further cones: 4338 | Chapter 14 reactor A. Twist Axis B. Plane Axis C. Twist X Plane Axis (outward) 1. Plane 2. Plane Min. Cone 3. Plane Max. Cone 4. Plane Min. 5. Plane Max. Constraints | 4339 A. Twist Axis B. Plane Axis C. Twist X Plane Axis 1. Plane 2. Plane Min. Cone 3. Plane Max. Cone This allows us to create two different scenarios: one where the cones generated by the plane limits intersect with cone produced by the cone angles, and another where they do not: 4340 | Chapter 14 reactor A. Twist Axis C. Twist X Plane Axis 1. Plane Min. Cone 2. Plane Max. Cone Constraints | 4341 A. Twist Axis C. Twist x Plane Axis (outward) 1. Plane Min. Cone 2. Plane Max. Cone If the volumes do not intersect, the plane limits have no effect in the constraint. However, by allowing the cones to intersect, and deeming the overlapping volume as invalid body positions, we can limit the allowed positions for the child body even further: 4342 | Chapter 14 reactor A. Twist Axis B. Plane Axis C. Twist X Plane Axis Back to Rag Doll Constraint on page 4322. Constraints | 4343 Hinge Constraint Create panel ➤ (Helpers) ➤ reactor ➤ Hinge Animation menu ➤ reactor ➤ Create Object ➤ Hinge Constraint reactor toolbar ➤ (Create Hinge Constraint) The Hinge constraint allows you to simulate a hinge-like action between two bodies. reactor lets you specify an axis in local space for each body, with a position and a direction. During the simulation, the two axes attempt to match position and direction, thereby creating an axis around which the two bodies can rotate. Alternatively, you can hinge a single body to an axis in world space. You can also limit the rotation between the attached objects relative to the hinge axis, allowing you, for instance, to create a door that can open only to a specified extent. You define this limitation with respect to an axis perpendicular to the hinge axis for each body. A Hinge constraint is simulated only if it has the correct number of rigid bodies attached and is included in a valid Constraint Solver on page 4319. When not selected, an invalid Hinge is red in the viewport. Procedures To create a Hinge constraint: ■ Choose one of the above options, and then click in any viewport to add the Hinge constraint. NOTE The icon’s position has no effect on the constraint’s behavior. To attach objects to the Hinge: 1 Create the Hinge and the objects to connect using it. 2 On the Hinge's Properties rollout, click the Child pick button, and then select the object to use as the child object in one of the viewports. By default, this attaches the constraint so that its axis goes through the child body pivot point and the axes are aligned with the child body's local 4344 | Chapter 14 reactor space. The constraint axis is aligned with the child's Z axis, and the perpendicular axis used for rotation limits is aligned to the child’s X axis. 3 If you do not want to assign a second body to the Hinge, turn off the Parent check box if necessary. 4 If the Hinge is to be two-bodied, repeat step 2, using the Parent pick button to set Parent for the Hinge. To create a Hinge and attach objects in a single step: ■ See the Scripts and Tools on page 4481 topic. To change the Hinge positions and rotations for the bodies: 1 With the Hinge helper object selected, open the Modify panel. 2 In the modifier stack, open the sub-object list for the Hinge. 3 Access the sub-object level corresponding to the object whose hinge axes you want to move: Child Space or Parent Space. If the Hinge is single-bodied, Parent Space represents the world attachment position and rotation of the axes. 4 The space, represented by a pair of axes, the larger of which represents the hinge axis, the smaller of which is used to specify limits, becomes active in the viewport. It can be moved and rotated using the Move and Rotate tool respectively. The space maintains its position and rotation relative to its corresponding object. For example, if you move or rotate the child body, the Child Space moves with it. Constraints | 4345 5 To reset the axes to their default alignment, reattach the objects to the Hinge or click the Align Spaces To ➤ Child Body button. To limit the rotation between the attached objects: 1 With the Hinge selected, open the Properties rollout. 2 Turn on the Limited check box. The Hinge limits display around the Parent Space axis. The default angle limits are –90.0 and 90.0. This means that in a situation where the sub-objects are fully aligned for the objects, the objects will be able to rotate 90 degrees in either direction about the shared hinge axis. The child object is free to rotate within the indicated limits relative to the parent during the simulation. 3 Change the minimum and maximum rotations the constraint maintains between the objects by adjusting the Min Angle and Max Angle values. The limit display updates to reflect your changes, to help you choose appropriate values. Upon simulation you can see that the rotation between the objects has been limited. 4346 | Chapter 14 reactor Interface Modifier Stack Parent Space At this sub-object level, you can move and rotate the representation of the Hinge for the parent body. The Hinge axes are defined in the parent body's space, which means that if you alter the position or rotation of the parent, the space moves as well and maintains its offset rotation and translation with respect to the parent. When you assign a parent body to the Hinge, Parent Space is also aligned with the child body's local space, with the Hinge axis going through the child body's pivot point. If the Hinge is single-bodied, then Parent Space represents the world orientation and position of the Hinge. Child Space At this sub-object level, you can move and rotate the representation of the Hinge for the child body. The Hinge axes are defined in the child body's space, which means that if you alter the position or rotation Constraints | 4347 of the child, the space moves as well and maintains its offset rotation and translation with respect to the child. When you assign a child body to the Hinge, the Child Space hinge axis is positioned so that it goes through the child body pivot point, and the axes are aligned with the child body's local space: The Hinge axis is aligned with the child's Z axis, and the perpendicular axis used for rotation limits is aligned to the child’s X axis. 4348 | Chapter 14 reactor Properties rollout Parent When on, the Hinge has two bodies and you can designate an object to be the parent body. When off, the Hinge is single-bodied and the point occupied by the Parent Space sub-object is the parent. Constraints | 4349 You assign the parent object by clicking this button and then selecting a rigid body from any viewport. Thereafter the button displays the name of the parent body. Child Displays the name of the second rigid body attached to the Hinge. You assign the child object by clicking this button and then selecting a rigid body from any viewport. Align Spaces To Use these options to align the bodies' local constraint spaces. You can find out more about each option in Working With Constraint Spaces on page 4302. Lock Relative Transform When on, the relative transform between the child and parent constraint spaces is locked: If you move either space in the viewport, the other space moves and rotates along with it, and vice-versa. Strength group Strength/Tau Govern the impulses applied to the constraint's bodies in order to maintain the constraint, and so how strongly the constraint works to restrict their movement. You can find out more about these parameters in Strength and Tau on page 4318. Limited group Limited When on, limits the rotation about the hinge axis between the attached objects. When this value is true, the child object will only be free to rotate relative to the parent within the range specified by the Min Angle and Max Angle values. You can also specify a friction value for a limited Hinge. Min Angle The minimum rotation the constraint allows between the two hinge spaces. For example, if Min Angle is –5.0 then the child body cannot rotate more than 5 degrees counter clockwise about the hinge axis relative to the parent body. Max Angle The maximum rotation the constraint allows between the two hinge spaces. For example, if Max Angle is 5.0 then the child body cannot rotate more than 5 degrees clockwise about the hinge axis relative to the parent body. Friction The level of friction applied to the objects as they try to rotate about the hinge axis. It is only applied to limited Hinges. Breakable group Breakable When on, the constraint is breakable. If its breakable limits are exceeded during simulation, it ceases to exert impulses on the attached objects. 4350 | Chapter 14 reactor You can find out more about breakable constraints in Breakable Constraints on page 4318. Display group Size Lets you change the size of the Hinge limit display in the viewport. Reset Default Values Returns the Strength, Tau, Min Angle, Max Angle, Friction, Linear, Angular, Threshold, and Display settings to their default values. Point-Point Constraint Create panel ➤ (Helpers) ➤ reactor ➤ Point-Point Animation menu ➤ reactor ➤ Create Object ➤ Point-Point Constraint reactor toolbar ➤ (Create Point-Point Constraint) The Point-Point (point-to-point) constraint lets you attach two objects together, or an object to a point in world space. It forces its objects to try to share a common point in space. The objects can rotate freely relative to each other, but always have the attachment point in common. When you set up the constraint, the point is defined in the object space of each object involved. During the simulation the constraint tries to apply forces to the objects so that the two pivot points defined by the two objects match. reactor also provides two variations on the Point-Point constraint: Limited and Stiff Spring. With a Limited Point-Point constraint, you can specify limits for how much the child object can rotate relative to the parent. A Stiff Spring constraint is similar to a standard Point-Point constraint with one important exception: It holds the constrained bodies apart at a specified distance, as if they were attached at each end of an invisible rod. The Stiff Spring variant requires a point in the body space of each of two bodies, and a constant distance by which reactor must keep these two points separated. Each body is free to rotate around its point. The constraint is simulated when it has the correct number of rigid bodies attached and is included in a valid Constraint Solver on page 4319. When not selected, an invalid Point-Point constraint is red in the viewport. Constraints | 4351 Procedures To create a Point-Point constraint: ■ Choose one of the above options, and then click in any viewport to add the Point-Point constraint. NOTE The icon’s position has no effect on the constraint’s behavior. To attach objects to the Point-Point constraint: 1 Create the constraint and the objects to connect with it. 2 On the constraint’s Properties rollout, click the Child pick button, and then select the object to use as the child object in one of the viewports. By default, this attaches the constraint to the body at the body’s pivot point. 3 If you do not want to assign a second body to the constraint, turn off the Parent check box if necessary. 4 If the constraint is to be two-bodied, make sure Parent is on and then use the Parent pick button to set the parent for the constraint. By default, the attachment point for the parent is also aligned with the child body's pivot point, which means that the bodies will maintain their current positions relative to each other in the simulation. To create the constraint and attach objects in a single step: ■ See the Scripts and Tools on page 4481 topic. To change the attachment positions for the bodies: 1 With the constraint selected, open the Modify panel. 2 In the modifier stack, open the constraint’s sub-object list. 3 Access the sub-object level corresponding to the object in whose space you want to move the attachment point: Parent Space or Child Space. If the constraint is single-bodied, Parent Space allows you to move the world attachment position. 4352 | Chapter 14 reactor 4 The corresponding point becomes active in the viewports and can be moved using the Move tool. The attachment point maintains its position relative to its corresponding object. For example, if you move the child object, its space, and hence its attachment point, moves with it. The attachment point doesn't have to actually be on either object. 5 To reset the attachment point to the child object’s pivot, reattach the objects to the constraint, or click the Align Spaces To ➤ Child Body button. To limit the rotation between the attached objects: 1 With the constraint selected, open the Properties rollout. 2 In the Constraint Type group, choose Limited. By default, the child body can rotate a total of 90 degrees around each axis relative to the parent during the simulation: 45 degrees clockwise and 45 degrees counterclockwise. 3 You can then choose which limits to display around the Parent Space constraint axis by turning on each one's check box. 4 If you then change the limits, the limit display updates to reflect your changes to help you choose appropriate values. Upon simulation you can see that the rotation between the objects has been limited. Constraints | 4353 5 You can also change the orientation of the axis to be limited by rotating the Child Space and Parent Space sub-objects. To create a Stiff Spring constraint: 1 With a Point-Point constraint selected, open the Properties rollout. 2 In the Constraint Type group, choose Stiff Spring. 3 You can now specify a Length value for the stiff spring. The default is 0.0: the same as a Point-Point constraint. During the simulation, reactor works to maintain this distance between the constrained objects' attachment points. To use the current distance between the attachment points as the length, click the Set button. 4354 | Chapter 14 reactor Interface Modifier Stack Parent Space At this sub-object level, you can select and move the constraint attachment point in the parent body's local space. When you assign a parent object to the constraint, the Parent Space attachment point is set to the child object’s pivot point. If you alter the position of the Parent Space attachment point, it maintains its new position relative to the parent during the simulation. If the constraint is single-bodied, the Parent Space's position represents the point in the world where the constraint is attached. Child Space At this sub-object level, you can select and move the constraint attachment point in the child body's local space. When you assign a child body to the constraint, the Child Space attachment point is set to the child object’s pivot point. If you alter the position of the Child Space attachment point, it maintains its new position relative to the child during the simulation. Constraints | 4355 Properties rollout 4356 | Chapter 14 reactor Parent When on, the constraint has two bodies and you can designate an object to be the parent body. When off, the constraint is single-bodied and the point occupied by the Parent Space sub-object is the parent. You assign the parent object by clicking this button and then selecting a rigid body from any viewport. Thereafter the button displays the name of the parent body. Child Displays the name of the second rigid body attached to the constraint. You assign the child object by clicking this button and then selecting a rigid body from any viewport. Align Spaces To Use these options to align the bodies' local constraint spaces. You can find out more about each option in Working With Constraint Spaces on page 4302. Lock Relative Transform When on, the relative transform between the child and parent constraint spaces is locked: If you move either space in the viewport, the other space moves and rotates along with it, and vice-versa. Strength group Strength/Tau Govern the impulses applied to the constraint's bodies in order to maintain the constraint, and so how strongly the constraint works to restrict their movement. You can find out more about these parameters in Strength and Tau on page 4318. Constraint Type group These options let you choose the type of Point-Point constraint to add to your scene. ■ StandardThe default option. ■ LimitedThis type allows you to limit how the child object can rotate relative to the parent. ■ Stiff SpringThis type allows you to specify a distance for reactor to maintain between the constraint attachment points. Limited (Limited constraints only) Lets you specify how much the child object can rotate relative to the parent around the x, y, and z axes - for each axis there is a minimum (counterclockwise) and maximum (clockwise) limit. You can use the check boxes to switch on or off the limit displays in the viewport. Constraints | 4357 Length (Stiff Springs only) The distance that reactor should maintain between the constraint attachment points. Set Sets Length to the current distance between the attachment points. Breakable group Breakable When on, the constraint is breakable. If its breakable limits are exceeded during simulation, it ceases to exert impulses on the attached objects. You can find out more about breakable constraints in Breakable Constraints on page 4318. Display group Size Lets you change the size of the constraint limit display in the viewport. Reset Default Values Returns the constraint's parameters to their default values. Prismatic Constraint Create panel ➤ (Helpers) ➤ reactor ➤ Prismatic Animation menu ➤ reactor ➤ Create Object ➤ Prismatic Constraint reactor toolbar ➤ (Create Prismatic Constraint) The Prismatic constraint serves as a constraint between two rigid bodies, or a rigid body and the world, that allows its bodies to move relative to each other along one axis only. Rotations, as well as the remaining two translation axes, are fixed. For example, you could use a Prismatic constraint when creating a forklift truck. A Prismatic constraint is simulated if it has the correct number of rigid bodies attached and is included in a valid Constraint Solver on page 4319. When not selected, an invalid prismatic constraint is red in the viewport. 4358 | Chapter 14 reactor Procedures To create a Prismatic constraint: ■ Choose one of the above options, and then click in any viewport to add the Prismatic constraint. NOTE The icon’s position has no effect on the constraint’s behavior. To attach objects to the prismatic constraint: 1 Create the Prismatic constraint and the objects to connect using it. 2 On the constraint’s Properties rollout, click the Child pick button and then, in one of the viewports, select the object to use as the child. This attaches the constraint to the body at the body’s pivot point. The constraint's sliding axis is aligned to the Z axis of the object. 3 If you do not want to assign a second body to the prismatic constraint, turn off the Parent check box, if necessary. 4 If the constraint is to be two-bodied, make sure Parent is on and then use the Parent pick button to set the parent for the constraint. To create the constraint and attach objects in a single step: ■ See the Scripts and Tools on page 4481 topic. To change the Prismatic constraint positions and rotations for the bodies: 1 With the constraint selected, open the Modify panel. 2 In the modifier stack, open the constraint’s sub-object list. 3 Access the sub-object level corresponding to the object whose attachment point you want to move: Child Space or Parent Space. If the constraint is single-bodied, Parent Space represents the world attachment position and rotation of the constraint axes. 4 The space, represented by a pair of axes, the larger of which represents the sliding axis, becomes active in the viewport and can be moved or Constraints | 4359 rotated using the Move or Rotate tool, respectively. The space maintains its position and rotation relative to its corresponding object. For example, if you move or rotate the child body, Child Space moves with it. 5 To realign the constraint space to the child body, reattach the object to the Prismatic constraint, or choose the Align To Child Body option. To limit the movement of the child body along the sliding axis: 1 With the constraint selected, open the Properties rollout. 2 Turn on the Limited check box. Both Limit parameters (Min and Max) are set by default to 0.0. This means that from a situation where the sub-objects are fully aligned for the objects, the child can move 0 units in either direction along the shared sliding axis relative to the parent. The limits are displayed as a line in Parent Space. 3 Change the Min Limit and Max Limit settings as necessary. 4360 | Chapter 14 reactor Interface Modifier Stack Parent Space At this sub-object level, you can move and rotate the representation of the Prismatic constraint for the parent body. The constraint axes are defined in the parent body's space, which means that if you alter the position or rotation of the parent, the space moves as well and maintains its offset rotation and translation with respect to the parent. When you assign a parent body to the constraint, Parent Space is also aligned with the child body's local space, with the constraint axis going through the child body's pivot point. If the constraint is single-bodied, then Parent Space represents the world orientation and position of the constraint. Child Space At this sub-object level, you can move and rotate the representation of the Prismatic constraint for the child body. The constraint axes are defined in the child body's space, which means that if you alter the position or rotation of the child, the space moves as well and maintains its offset rotation and translation with respect to the child. When you assign a child body to the constraint, the Child Space axis is positioned so that it goes through the child body pivot point, and the axes are aligned with the child body's local space: The prismatic sliding axis is aligned with the child's Z axis. Constraints | 4361 Properties rollout Parent When on, the constraint has two bodies and you can designate an object to be the parent body. When off, the constraint is single-bodied and the point occupied by the Parent Space sub-object is the parent. 4362 | Chapter 14 reactor You assign the parent object by clicking this button and then selecting a rigid body from any viewport. Thereafter the button displays the name of the parent body. Child Displays the name of the second rigid body attached to the constraint. You assign the child object by clicking this button and then selecting a rigid body from any viewport. Align Spaces To Use these options to align the bodies' local constraint spaces. You can find out more about each option in Working With Constraint Spaces on page 4302. Lock Relative Transform When on, the relative transform between the child and parent constraint spaces is locked: If you move either space in the viewport, the other space moves and rotates along with it, and vice-versa. Strength group Strength/Tau Govern the impulses applied to the constraint's bodies in order to maintain the constraint, and so how strongly the constraint works to restrict their movement. You can find out more about these parameters in Strength and Tau on page 4318. Limited group Limited When on, limits the movement of the child object along the sliding axis; the child object can move relative to the parent only within the range specified by the Min Limit and Max Limit values. You can also specify a Friction value for a limited prismatic constraint. Min Limit The minimum distance the constraint allows between the two spaces. For example, if Min Limit is –5.0 then the child body then the child object cannot move more than 5 units backwards relative to the parent along the sliding axis. Max Limit The maximum distance the constraint allows between the two spaces. For example, if Max Limit is 5, then the child object will not be able to move more than 5 units forward relative to the parent along the sliding axis. Friction The level of friction applied to the objects as they try to move along the sliding axis. It is applied only to limited Prismatic constraints. Breakable group Breakable When on, the constraint is breakable. If its breakable limits are exceeded during simulation, it ceases to exert impulses on the attached objects. Constraints | 4363 You can find out more about breakable constraints in Breakable Constraints on page 4318. Display group Size Lets you change the size of the constraint space display in the viewport. Reset Default Values Returns the constraint's parameters to their default values. Car-Wheel Constraint Create panel ➤ (Helpers) ➤ reactor ➤ Carwheel Animation menu ➤ reactor ➤ Create Object ➤ Car-Wheel Constraint reactor toolbar ➤ (Create Car-Wheel Constraint) You can use this constraint to attach a wheel to another object; for instance, a car chassis. You can also constrain a wheel to a position in world space. During the simulation, the wheel object is free to rotate around a spin axis defined in each object's space. Linear motion is allowed for the wheel along a suspension axis. You can also add limits to the wheel's movement along this axis. The constraint's child body always acts as the wheel, while the parent acts as the chassis. The Car-Wheel constraint also has spin parameters. If these are nonzero, the constraint turns the wheel during the simulation. You can specify a target velocity and a target gain: the maximum angular impulse that the motor can apply to the rigid body in order to achieve the target velocity. A Car-Wheel constraint is simulated if it has the correct number of rigid bodies attached and is included in a valid Constraint Solver on page 4319. When not selected, an invalid Car-Wheel constraint is red in the viewport. Procedures To create a Car-Wheel constraint: ■ Choose one of the above options, and then click in any viewport to add the Car-Wheel constraint. 4364 | Chapter 14 reactor NOTE The icon’s position has no effect on the constraint’s behavior. To attach objects to the Car-Wheel constraint: 1 Create the constraint and the objects to connect using it. 2 On the constraint’s Properties rollout, click the Child pick button, and then, in one of the viewports, select the object you want to use as the wheel. This attaches the constraint to the wheel at the wheel's pivot point. The spin axis is aligned to the X axis of the wheel object and the suspension axis is aligned to the Z axis. 3 If you do not want to assign a chassis to the Car-Wheel constraint, turn off the Parent check box if necessary. 4 If the Car-Wheel constraint is to be two-bodied, repeat step 2, using the Parent pick button to specify the chassis object for the constraint. To create the constraint and attach objects in a single step: ■ See the Scripts and Tools on page 4481 topic. To change the positions and rotations for the bodies: 1 With the constraint selected, open the Modify panel. 2 In the modifier stack, open the constraint’s sub-object list. 3 Access the sub-object level corresponding to the object whose constraint space you want to move: Parent Space for the chassis or Child Space for the wheel. If the constraint is single-bodied, Parent Space represents the world attachment position and rotation of the constraint axes. 4 The space, represented by just a spin axis for the wheel and by the spin and suspension axes for the chassis, becomes active in the viewport and can be moved or rotated using the Move or Rotate tool, respectively. The space maintains its position and rotation relative to its corresponding object. For example, if you move or rotate the wheel, Child Space moves with it. Constraints | 4365 5 To reset the attachment point to the child's pivot, reattach the objects to the car-wheel constraint or choose the Align Spaces To Child Body option. 6 You can also rotate the suspension axis independent of the spin axis. To do this, highlight the Suspension Rotation sub-object level; this lets you rotate the suspension axis with respect to the chassis’s spin axis. To change the suspension limits: 1 With the car-wheel constraint selected, open the Properties rollout. The default limit settings in the Suspension Parameters group are Min Limit=0.0 and Max Limit=0.0 . This means that in a situation where the constraint spaces are fully aligned for the objects, the wheel cannot move along the suspension axis. The limits define the allowed motion of the wheel along the suspension axis with respect to the chassis, and are displayed as a line with respect to the chassis. This means that from a stable position where the sub-objects are aligned, if the limits are –5 and 10, the wheel will be able to move 10 units away from chassis along the suspension axis in the direction of the icon’s arrow and 5 units in the opposite direction. 4366 | Chapter 14 reactor 2 Change the limits and observe the difference in the simulation. 3 You can also change Friction for the Car-Wheel constraint; this inhibits the wheel’s motion along the suspension axis. To spin the wheel: These controls are found in the Spin Parameters group. 1 Set the Velocity value to the required value. This is specified in radians per second. 2 Set the Gain. This is the maximum angular impulse the constraint can apply to maintain this angular velocity. Interface Modifier Stack Constraints | 4367 Parent Space At this sub-object level, you can move and rotate the representations of spin and suspension axes for the chassis. This describes where on the chassis the wheel is attached and also the directions of the spin and suspension axes for the chassis. This is defined in chassis space, which means that if you alter the position or rotation of the chassis the axes will move as well and maintain their offset rotation and translation with respect to the chassis. When you assign a chassis to the car-wheel constraint, Chassis Space’s translation is set to the wheel’s pivot point, the spin axis is aligned to the wheel’s X axis, and the suspension axis is aligned to its Z axis. If the car-wheel constraint is single-bodied, then Chassis Space represents the world orientation and position of the constraint. Child Space At this sub-object level, you can move and rotate the representation of the constraint for the wheel. This describes both the location on the wheel that the constraint considers as its attachment point and the rotation of the spin axis for the wheel. This is defined in wheel space, which means that if you alter the position or rotation of the wheel the space moves as well and maintains its offset rotation and translation with respect to the wheel. When you assign a wheel body to the Car-Wheel constraint, Wheel Space’s translation is set to the wheel’s pivot point and the wheel’s spin axis is aligned to its X axis. Suspension Rotation This level allows independent rotation of the suspension axis with respect to the Chassis Space. This means that your suspension axis doesn’t have to be perpendicular to your spin axis, allowing for a greater range of constraint setups. 4368 | Chapter 14 reactor Properties rollout Parent When on, the constraint has two bodies and you can designate an object to be the optional chassis rigid body attached to the Car-Wheel Constraints | 4369 constraint. When off, the constraint is single-bodied and the point occupied by the Parent Space sub-object is the parent. You assign the chassis by clicking this button and then selecting a rigid body from any viewport. Thereafter the button displays the name of the chassis object. Child Displays the name of the second rigid body attached to the constraint. You assign the child object by clicking this button and then selecting a rigid body from any viewport. Align Spaces To Use these options to align the bodies' local constraint spaces. You can find out more about each option in Working With Constraint Spaces on page 4302. Lock Relative Transform When on, the relative transform between the child and parent constraint spaces is locked: If you move either space in the viewport, the other space moves and rotates along with it, and vice-versa. Strength group Strength/Tau Govern the impulses applied to the constraint's bodies in order to maintain the constraint, and so how strongly the constraint works to restrict their movement. You can find out more about these parameters in Strength and Tau on page 4318. Suspension Parameters group Min Limit The distance the constraint allows the wheel to move along the suspension axis relative to the chassis, in the direction opposite that indicated by the icon’s suspension arrow. For example, if Min Limit=–5, then the wheel cannot move more than five units backwards along the suspension axis with respect to the constraint’s spaces. Max Limit The distance the constraint allows the wheel to move along the suspension axis relative to the chassis, in the direction indicated by the icon’s suspension arrow. For example, if Max Limit=10 then with respect to the constraint’s spaces the wheel cannot move more than 10 units forward along the suspension axis. Friction The level of friction applied to the objects as they try to move relative to each other along the suspension axis. Available with Havok 1 only. Strength The strength value of the suspension spring. Higher values cause less vertical movement. Available with Havok 3 only. Damping The damping value of the suspension spring. Higher values suppress vertical oscillation. Available with Havok 3 only. 4370 | Chapter 14 reactor Spin Parameters group Velocity This value indicates the angular velocity in radians per second that the constraint will seek to achieve for the wheel. Gain This value indicates the maximum angular impulse the constraint can apply to attain the specified angular velocity. Breakable group Breakable When on, the constraint is breakable. If its breakable limits are exceeded during simulation, it ceases to exert impulses on the attached objects. For more information, see Breakable Constraints on page 4318. Display group Size Lets you change the size of the constraint space display in the viewport. Reset Default Values Returns the constraint's parameters to their default values. Point-Path Constraint Create panel ➤ n (Helpers) ➤ reactor ➤ Point-Path Animation menu ➤ reactor ➤ Create Object ➤ Point-Path Constraint reactor toolbar ➤ (Create Point-Path Constraint) The Point-Path constraint allows you to constrain two bodies so that the child is free to move along a specified path relative to the parent. Alternatively, you can create a single-bodied version of the constraint, where the constrained body can move along a path in world space. The child body's orientation is not restricted by the constraint. You could, for example, use a Point-Path constraint to simulate a bead on a wire. In most cases, you don't need to specify a parent rigid body for a Point-Path constraint, unless the motion of the path itself should follow another rigid body. Constraints | 4371 The constraint is simulated if it has the correct number of rigid bodies attached, a specified path shape, and is included in a valid Constraint Solver on page 4319. When not selected, invalid constraints are red in the viewport. Procedures To create a Point-Path constraint: ■ Choose one of the above options, and then click in any viewport to add the Point-Path constraint. NOTE The icon’s position has no effect on the constraint’s behavior. To specify objects and a path for the constraint: 1 Create the constraint and the bodies to constrain. 2 Create a line or curve in the viewport using one of the Shapes tools on the Create panel. 3 In the constraint’s Properties rollout, click the Child pick button, and then select the object you want to use as the child object in one of the viewports. 4 If you do not want to assign a second body to the constraint, turn off the Parent check box if necessary. 5 If the constraint is to be two-bodied, repeat step 2, using the Parent pick button to set the parent for the constraint. 6 Use the Path pick button to designate the path. The constraint icon moves to the designated path. By default, this constraint type is aligned so that the parent constraint space is aligned with the path shape's local space, while the child space is aligned with the child body's local space. To change the path position and orientation for the bodies: 1 With the constraint selected, open the Modify panel. 2 In the modifier stack, open the constraint’s sub-object list. 3 Access the sub-object level corresponding to the object whose constraint space you want to move: Child Space or Parent Space. If the Point-Path 4372 | Chapter 14 reactor constraint is single-bodied, Parent Space represents the world position and rotation of the path. 4 The space, represented by a set of axes and the path, becomes active in the viewport and can be moved or rotated using the Move or Rotate tool, respectively. The space maintains its position and rotation relative to its corresponding object. For example, if you move or rotate the child body, Child Space moves with it. Interface Modifier Stack Parent Space At this sub-object level, you can move and rotate the representation of the constraint for the parent body. The axes and path are defined in the parent body's space, which means that if you alter the position or rotation of the parent, the space moves as well and maintains its offset rotation and translation with respect to the parent. When you assign a parent body to the constraint, Parent Space is aligned with the path's local space. If the constraint is single-bodied, then Parent Space represents the world orientation and position of the path.Child Space At this sub-object level, you can move and rotate the representation of the constraint for the child body. The axes and path are defined in the child body's space, which means that if you alter the position or rotation of the child, the space moves as well and maintains its offset rotation and translation with respect to the child. When you assign a child body to the constraint, the Child Space is aligned with the child body's local space. Constraints | 4373 Properties rollout Parent When on, the constraint has two bodies and you can designate an object to be the parent body. When off, the constraint is single-bodied and the point occupied by the Parent Space sub-object is the parent. You assign the parent object by clicking this button and then selecting a rigid body from any viewport. Thereafter the button displays the name of the parent body. 4374 | Chapter 14 reactor Child Displays the name of the second rigid body attached to the constraint. You assign the child object by clicking this button and then selecting a rigid body from any viewport. Align Spaces To Use these options to align the bodies' local constraint spaces. You can find out more about each option in Working With Constraint Spaces on page 4302. Lock Relative Transform When on, the relative transform between the child and parent constraint spaces is locked: If you move either space in the viewport, the other space moves and rotates along with it, and vice-versa. Strength group Strength/Tau Govern the impulses applied to the constraint's bodies in order to maintain the constraint, and so how strongly the constraint works to restrict their movement. You can find out more about these parameters in Strength and Tau on page 4318. Breakable group Breakable When on, the constraint is breakable. If its breakable limits are exceeded during simulation, it ceases to exert impulses on the attached objects. You can find out more about breakable constraints in Breakable Constraints on page 4318. Display group Size Lets you change the size of the constraint space display in the viewport. Reset Default Values Returns the constraint's parameters to their default values. reactor Objects These topics describe helper objects that reactor provides specifically for use in dynamic reactor simulations. Plane Create panel ➤ (Helpers) ➤ reactor ➤ Plane reactor Objects | 4375 Animation menu ➤ reactor ➤ Create Object ➤ Plane reactor toolbar ➤ (Create Plane) The reactor Plane object is a type of rigid body that acts as a fixed, infinite plane in the simulation. It shouldn't be confused with the standard 3ds Max plane, which can also be used as a rigid body provided its simulation geometry property on page 4287 is set to Concave Mesh. Like other rigid bodies, the Plane can have display proxies assigned to it and can be contained in a compound rigid body. You can also assign friction and elasticity values to it. However, it is always fixed in the simulation (the Mass on page 4285 and Unyielding on page 4285 properties are ignored). The reactor Plane acts in only one direction, as shown in the viewport by an arrow pointing away from its solid surface. This means that rigid bodies approaching the plane from the "wrong" direction pass through it. You can, of course, also use two opposing planes. The reactor Plane as rendered in a viewport Procedures To create a Plane: 1 Choose one of the above options, and then click in any viewport. The plane’s normal is aligned with the viewport’s Z axis. 4376 | Chapter 14 reactor 2 Use the Move and Rotate tools to adjust its position and orientation, as necessary. Interface Properties rollout Show Normal When on, the Plane normal is displayed as an arrow in the viewport. Motor Create panel ➤ (Helpers) ➤ reactor ➤ Motor Animation menu ➤ reactor ➤ Create Object ➤ Motor reactor toolbar ➤ (Create Motor) The Motor helper lets you apply a turning force to any non-fixed rigid body in the scene. You can specify the angular velocity for the target and the maximum angular impulse the Motor can apply to achieve this velocity. You do not need to add a Motor explicitly to a simulation, as all valid motors in a scene are added to the simulation by default. A Motor is valid if its Rigid Body property has been set to a valid rigid body in the scene. When not selected, invalid motors are colored red in the viewport. reactor Objects | 4377 Procedures To create a motor: ■ Choose one of the above options, and then click in any viewport to add the motor. NOTE The icon’s position has no effect on the motor’s behavior. To set the rigid body for the motor: 1 Create the motor and the rigid body to attach the motor to. 2 On the Properties rollout, click the Rigid Body pick button and then, in one of the viewports, select the object you would like to motor to act on. The motor can apply rotational forces about one of the object’s axes. The default rotation axis is the object's Z axis. The rotation axis and rotation direction are displayed in the viewport. 4378 | Chapter 14 reactor Interface Motor Properties rollout Rigid Body Displays the name of the rigid body that the motor applies forces to. You assign a motor’s rigid body by clicking this button and then selecting a rigid body from any viewport. Ang Speed The target angular velocity that the motor attempts to achieve for the rigid body. It is specified in radians per second, so the default value of 3.14 (pi) results in 180 degrees of rotation per second or half a revolution per second. Gain The maximum angular impulse that the motor can apply to the rigid body in order to achieve the target velocity. Rotation Axis The local axis for the rigid body about which the motor applies impulses. This axis has a visual representation when the motor helper is selected. reactor Objects | 4379 Disabled When on, the motor is not added to the simulation. Size The size of the rotation axis in the viewport. Reset Default Values Returns Ang Speed, Gain, and Rotation Axis to their default values. Toy Car Create panel ➤ (Helpers) ➤ reactor ➤ Toy Car Animation menu ➤ reactor ➤ Create Object ➤ Toy Car reactor toolbar ➤ (Create Toy Car) The reactor Toy Car is a quick way to create and simulate a simple car without having to set up each constraint separately. The Toy Car helper lets you choose a chassis and wheels for your car, tweak various properties such as the strength of its suspension, and specify whether you would like reactor to turn its wheels during the simulation. reactor then sets up all the necessary constraints to simulate the car. A Toy Car is simulated if it has a rigid body assigned as a chassis and at least one rigid body assigned as a wheel. When not selected, an invalid Toy Car helper is red in the viewport. Procedures To set up a toy car, follow these procedures in order, and make sure the car has a surface to travel on, such as a level plane. For getting started, we suggest 4380 | Chapter 14 reactor you use Icon Orientation and ignore the procedure about Common Local Orientation. To create a Toy Car helper: ■ Choose one of the above menu options, and then click in any viewport to add the Toy Car. NOTE The icon’s initial position has no effect on the car's behavior. To set up the rigid bodies for a Toy Car: 1 Create and position the rigid bodies you want to connect using the Toy Car helper. A toy car must have a chassis and at least one wheel. 2 Use the Rigid Body Properties dialog to assign a mass value to each car element. The Mass values you specify affect how the toy car behaves. Ideally, the mass of the chassis should not be much greater than the total wheel mass, and the density of the bodies should be such that the Analyze World utility on page 4474 generates no warnings. reactor Objects | 4381 To assign rigid bodies to a Toy Car: 1 Create the Toy Car helper and the objects to connect using it, as described above. 2 On the Properties rollout, click the Chassis pick button, and then, in one of the viewports, select the object to use as the chassis. The Toy Car icon moves to the chosen rigid body. By default, the icon is aligned with the chassis's local space. reactor can use this orientation as a guide for the directions of the suspension and wheel axes. 3 Add your car's wheels to the helper. You can add wheels to the toy car either by picking or using a selection list: ■ Click the Pick button and then select the object to use as a wheel. ■ Click the Add button and then use the dialog to select one or more objects to use as wheels. By default, reactor uses the icon orientation (taken from the chassis) to provide the directions of the wheels' spin and suspension axes. Each spin axis is aligned with the icon's X axis and passes through the relevant wheel's pivot point. The suspension axes are aligned with the icon's Z axis, and also pass through each wheel's pivot point. NOTE For this to work, make sure that the wheels are oriented correctly relative to the icon before simulating. To change the wheel axis orientation (Icon Orientation): 1 Use the Rotate tool to change the toy car icon's orientation so that it matches that of the actual car model. 2 Ensure that Toy Car Properties rollout ➤ Toy Car Orientation is set to Icon Orientation (the default). The wheel axes are aligned with the icon's new orientation during the simulation. To change the wheel axis orientation (Common Local Orientation): 1 Ensure that the wheel and chassis local spaces are correctly aligned in world space. 4382 | Chapter 14 reactor The initial world space orientation of the wheels relative to the chassis/icon is unimportant when using this option, as reactor reorients the bodies so that their local spaces continue to match during the simulation. 2 On the Toy Car Properties rollout, set Toy Car Orientation to Common Local Orientation. 3 Use the radio buttons to change the Suspension and Spin directions relative to the bodies' local spaces. By default, the Spin axes are aligned with the wheel and chassis's local X axes, and the suspension axes with their Z axes. To spin the Toy Car wheels: 1 On the Toy Car Properties rollout, turn on the Spin Wheels check box. 2 Change the default Ang (Angular) Speed and Gain values as necessary. Angular Speed is the target angular velocity that reactor attempts to achieve for the wheels. The Gain is the maximum angular impulse that can be applied to the wheels in order to achieve the target velocity. reactor Objects | 4383 Interface Toy Car Properties rollout Chassis Displays the name of the rigid body that serves as the chassis. You assign the chassis object by clicking this button and then selecting a rigid body from any viewport. 4384 | Chapter 14 reactor Wheels Lists the names of the toy car's wheels. Pick Lets you add a wheel to the car. Click this button, and then in the viewport position the cursor over the object you would like to use as a wheel. If the object can be used as a rigid body, the cursor changes from an arrow to a cross and you can select the object to add it to the toy car. Add Lets you add one or more rigid bodies from the scene to act as wheels for the toy car. Click the button to open the Select Car Wheels dialog. Make a selection in the provided list, then add the wheels to the car by clicking the Select button. Delete Lets you remove wheels from the car. Highlight the wheels to remove from the car in the Wheels list and then click this button. NOTE The following four parameters are available with Havok 1 only. With Havok 3, use the Havok 3 Wheel Params rollout on page 4386 settings instead. Angular Strength The strength of the corrective forces applied to keep the wheels upright and pointing forward. Linear Strength The strength of the forces applied to keep the wheels in position relative to the chassis. Suspension The suspension strength for the car. The lower the value, the more the chassis bounces when forces are applied to it. Internal Substeps Allows the car to be simulated using more substeps per keyframe than the rest of the simulation. Increasing the Internal Substeps value can be useful if you are simulating a car with unusual parameters, which might require more substeps for stability. Toy Car Orientation group Choose how reactor orients the bodies in relation to the spin and suspension axes. Icon Orientation The Toy Car icon's initial orientation provides the directions of the wheels' spin and suspension axes. Each spin axis is aligned with the icon's X axis and pass through the relevant wheel's pivot point. The suspension axes are aligned with the icon's Z axis, and also pass through each wheel's pivot point. The wheels' own local orientations are unimportant. NOTE Animating the orientation of the Toy Car icon has no effect on the direction of motion during the simulation; reactor uses only the orientation at the start of the simulation. reactor Objects | 4385 Common Local Orientation With this option, you align the bodies' local spaces in world space, and specify the Spin and Suspension axes relative to this common orientation. The orientation of the rigid bodies in world space before simulating is unimportant. This means, for instance, that you can set up your car with its wheels turned sideways and they still spin around the correct axes when simulating. This option allows you to change the spin and suspension axes separately. By default, the spin axes are aligned with the wheel and chassis' local X axes, and the suspension axes with their Z axes. Allow Wheel Penetration When on, reactor disables collision detection between the chassis and the wheels. Spin Wheels When on, the car's wheels to spin during the simulation and an arrow appears on the Toy Car viewport icon showing the direction of motion. ■ Ang SpeedThe target angular velocity that reactor attempts to achieve for the wheels when Spin Wheels is on. It is specified in radians per second, so the default value of 3.14 (pi) results in 180 degrees of rotation per second or half a revolution per second. ■ GainThe maximum angular impulse that reactor can to the wheels in order to achieve the target velocity. Disabled When on, reactor removes the Toy Car helper from the simulation. Display Size The size of the Toy Car helper icon as displayed in the viewport. Reset Default Values Returns the Toy Car parameters to their default values. Havok 3 Wheel Params rollout These parameters apply only when the simulation engine is Havok 3, and reflect the implementation of a subset of Car-Wheel constraint parameters in the Toy Car object in Havok 3. 4386 | Chapter 14 reactor These parameters replicate the Car-Wheel constraint parameters of the same names on page 4370. Fracture Create panel ➤ (Helpers) ➤ reactor ➤ Fracture Animation menu ➤ reactor ➤ Create Object ➤ Fracture reactor toolbar ➤ (Create Fracture) The Fracture helper object simulates the breaking of a rigid body into a number of smaller pieces as the result of an impact. To do this, you need to supply the pieces that are glued together to create the whole object. This is known as "pre-fracturing." reactor does not break the pieces you supply into smaller pieces. reactor Objects | 4387 Asteroid fractures after a collision TIP An excellent tool for pre-fracturing your objects is the ProCutter compound object on page 758. Rigid bodies that are part of a Fracture helper move together as a single body. When a rigid body that belongs to a Fracture helper collides with another body, the collision information is analyzed and if a threshold is exceeded, the rigid body is removed from the fracture helper. Once the rigid body has been removed, it moves independently of the fracture object and is free to collide with the rigid bodies that are still part of the fracture object. This can often result in a chain reaction of pieces breaking off. You can optionally enable the use of connectivity. Connectivity analyzes the bodies belonging to the Fracture helper to find bodies that are in contact with each other before simulation occurs. This builds up an internal graph of which bodies are connected to which other bodies. Thus groups of rigid bodies that are connected to each other, but disconnected with other bodies in the fracture helper, can move independently as separate fracturable objects. As a result, you can get the effect of multiple fracturable objects in a single Fracture helper. After a fracture event occurs, reactor once again analyzes this connectivity graph to create new chunks if they exist. If you see floating disconnected 4388 | Chapter 14 reactor bodies moving strangely because they are invisibly still part of a larger fracture object, be sure to turn on connectivity. A body is considered to be in contact with another body if the closest distance between them is less than the collision tolerance. To allow the fracture feature to work reasonably well, reactor uses a special collision detection technique: penetration depth calculation. Unlike normal rigid bodies in reactor, bodies that are part of a fracture helper are allowed to continue to collide with each other, even when they are in a interpenetrating state. To see how the non-fracture bodies are treated during collision detection, see the Fracture Tips on page 4394 topic. Penetration depth calculation, especially in the context of the simulation paradigm used in reactor, is computationally expensive, so you might notice slower performance when the fracture bodies are penetrating each other. Stability in these cases can also become an issue. reactor provides a number of techniques for getting your fracture simulation to behave more realistically If you find that it is unstable. For instance, the fractured object might appear to explode after a single piece breaks loose. You can find these in the Fracture Tips on page 4394 topic. Procedures To create a Fracture helper: ■ Choose one of the above menu options, and then click in any viewport to add the Fracture helper. NOTE The icon’s position has no effect on the fracture object's behavior. To add rigid bodies to a Fracture helper: 1 Create a Fracture helper in the scene and some objects to use as rigid bodies. You can add rigid bodies to the helper in two ways: by picking or by using a selection list. 2 With the Fracture helper selected, use either (or both) of the following methods: ■ Click the Pick button on the Properties rollout and then select the select the rigid body to add to the helper. ■ Click the Add button and then use the dialog to select one or more objects to use as fracture elements. reactor Objects | 4389 The names of rigid bodies you add appear in the helper's Pieces list. To create the Fracture helper and add objects in a single step: ■ See the Scripts and Tools on page 4481 topic. To prevent the Fracture object from exploding: ■ See the Fracture Tips on page 4394 topic. 4390 | Chapter 14 reactor Interface Properties rollout Highlight Click this button to cause the objects in the Pieces list to momentarily display as if selected. reactor Objects | 4391 Pieces Lists the names of the objects currently part of the Fracture object. To highlight multiple contiguous list items, click and then Shift+click. To highlight multiple non-contiguous list items or remove highlighting, use Ctrl+click. Pick Lets you add an object to the Fracture helper. Click this button, and then in the viewport position the cursor over the object to add to the helper. If the object can be used as a fracture piece, the cursor changes from an arrow to a cross and you can select the object to add it to the helper. Add Lets you add one or more objects from the scene to the helper. Click the button to open the Select Rigid Bodies For Fracture dialog. Make a selection in the provided list, and then press the Select button to add the objects to the helper. Delete Lets you remove objects from the helper. In the Pieces list, highlight the bodies to remove from the helper and then click this button. Selected piece You can assign these properties to pieces highlighted in the Pieces list. Broken This read-only check box shows whether any of the highlighted pieces have broken off at the current frame. For example, say you've created an animation from frame 0 to frame 50 using Fracture, where piece A broke off at frame 10. Highlighting piece A and moving the time slider to frame 10 or after automatically turns on Broken. Moving the time slider to frame 9 or before turns off Broken. This is because reactor keeps track of the times pieces break off. That way, if you continue the animation at frame 50, reactor knows it shouldn't add piece A to the fracture object, so it keeps moving independently. You can restore a highlighted piece to its "unbroken" state with the Reset button (see following). Reset This button is available if any of the pieces broke off during a previous animation (reactor stores the times when pieces broke off). Clicking this button tells reactor to ignore the times they broke off in the previous animation. Choose the behavior for highlighted pieces: ■ NormalThe default behavior option for a fracture piece. ■ UnbreakableThe highlighted piece never breaks away from the Fracture object, even if it experiences an intense collision. ■ KeystoneIf this piece breaks, then all pieces break. ■ Break At Time The selected piece breaks at the time you specify. For this kind of piece the Broken check box reflects the state of the piece at the 4392 | Chapter 14 reactor current frame. Thus, if you set a piece to break at frame 5, the Broken check box is on at frame 5 and later, and off at frames before 5. Use Connectivity When on, groups of pieces that are connected to each other move independently of pieces that they are not connected to. This is like having multiple fracture objects contained in one fracture helper. The collision detector determines that two pieces are connected to each other if their distance from each other is less than the world's Collision Tolerance on page 4466. Break on Choose the method by which reactor determines whether fracturing should occur: ■ ImpulseWhen a piece of the fracture object experiences a collision where the impulse is greater than the threshold specified, it breaks off from the fracture object. The impulse of the collision is proportional to both the relative velocity of the collision and the mass of the objects involved in the collision. The higher the mass of the object that hit the piece, the larger the impulse. ■ VelocityWhen a piece of the fracture object experiences a collision where the relative velocity is greater than the threshold specified, it breaks off from the fracture object. The size or mass of the object is not be taken into account. Energy Loss The amount of extra kinetic energy is lost in the collision due to the breaking of the fracture bonds. This has the effect of dampening the collision somewhat and also transferring energy to the remaining, unbroken pieces of the fracture object. To simulate a brittle object, with maximum shatter effect, keep this value low. To simulate breakage of a material more like wood or concrete, use a high Energy Loss value. TIP Increasing this value can improve the performance and stability of the simulation. Display: Show Bounding Box When on, the viewports display a box that contains all the pieces of the fracture object. Disabled When on, the Fracture helper has no influence on the rigid bodies that are part of it. Reset Default Values Returns the settings to their default values. reactor Objects | 4393 World rollout > Fracture Penetrations group Several additional values govern fracture behavior. These are global in that they apply to every rigid body added to a Fracture object, and are found in the Utility panel ➤ reactor ➤ World rollout. These values control the behavior of penetration depth collision detection and response, and apply only to objects that are included in a Fracture helper. Separation Time Forces are applied to penetrating bodies that are strong enough so the bodies become separated within the time specified. To simulate an explosion effect, make this value very small and reduce the Velocity Cap value. Velocity Cap reactor won't apply penetration recovery forces if they cause the relative velocity between two penetrating bodies to exceed the specified value. Scale Tolerance The collision tolerance for bodies that use the penetration depth algorithm is determined by multiplying the Collision Tolerance value on page 4466 by the value specified. If this value is negative, the collision tolerance will extend inside the bodies, effectively shrinking the collision geometry. For more information about using these values, see the Fracture Tips on page 4394 topic. Fracture Tips This topic provides some tips on how to control fractures. After you procedurally slice up an object for fracture, the new pieces fit snugly among each other. When one piece breaks loose after a fracture event, it might be in contact with other pieces that are still part of the non-fractured body. This can throw the broken piece into unstable oscillations against two or more opposing pieces. The result is a chain-reaction throughout the fracture body, with all the pieces flying off into space. It might appear as though some of the pieces simply wink out of existence. Unlike normal rigid bodies in reactor, 4394 | Chapter 14 reactor Fracture pieces are allowed to exist in a state of interpenetration, where restoring forces are applied to separate them. Many objects sitting in penetrating states next to each other can result in an unstable system. To make the system more stable and less prone to exploding: Try one or more of the following: ■ Reduce the Scale Tolerance value on page 4394 in the Fracture Penetrations group of the reactor utility World rollout. This value can be as low as –1.0, but –0.1 should suffice in most cases. This scales the Collision Tolerance on page 4464 for pieces of a fracture object. A negative Scale Tolerance value effectively shrinks the object as it is perceived by the collision-detection system. Pieces that were snug against each other now have a comfortable safety zone where no collisions take place. This is tied to the Collision Tolerance value, so changing Collision Tolerance changes the effective tolerance used when fracture pieces collide with other fracture pieces. It dramatically reduces unstable oscillations. This is the most effective thing to try when you wish to avoid explosions. ■ Manually offset the pieces from each other, leaving a physical gap between all pieces. The gap should be as big as Collision Tolerance * Scale Tolerance. ■ Increase the Energy Loss value on the Fracture object's Properties rollout. This is the percent of energy that can be "lost" in the fracture event by transferring momentum from the broken piece to the unbroken Fracture object. Increasing it increases the relative velocity between the newly fractured piece and the remaining unfractured pieces. Ultimately this reduces the chances of a chain-reaction of unstable oscillations. ■ Increase the Separation Time value and/or decrease the Velocity Cap in the Fracture Penetrations on page 4394 group of the World rollout. This controls how aggressively reactor pushes the pieces out of a state of interpenetration. After doing this you may notice visible interpenetrations. ■ Slice up your object in a different configuration. Avoid creating very small pieces, especially if they are right next to very large pieces. ■ Turn on the Use Connectivity check box on the Properties rollout of the Fracture helper. When connectivity is enabled, clumps of pieces that are disconnected from other clumps but still internally glued to each other are set free to move independent of the other clumps. This serves to create gaps between fractured pieces earlier, so unstable oscillations won’t happen. reactor Objects | 4395 Storing and Accessing Collisions Utility panel ➤ reactor ➤ Collisions rollout reactor lets you store information about all rigid body collisions that occur during the simulation. You can access this information via MAXScript or save it to a text file. The information includes the objects involved, the point of collision, and the relative velocity during collision. You can then use it to generate particles or other effects in your animation when objects collide, trigger sounds, and so on. You can activate and configure collision storing using the reactor utility's Collisions rollout on page 4468. Interface Store Collisions group Store Collisions Use these options to store collision information when creating an animation. For each collision that occurs during the simulation, reactor 4396 | Chapter 14 reactor can record the simulation time at which the collision occured, the objects involved, the point of collision, and the relative velocity during the collision. ■ Do not storereactor stores no collision data. ■ Store oncereactor stores collision data next time an animation is created. ■ Always storereactor always stores collision data when creating an animation. # collisions stored This read-only field reports how many collisions were stored in reactor last time an animation was created. View Opens the Stored Collisions dialog on page 4398, which shows all the currently stored collision information. Clear Deletes all stored collision information. Filter Before Storing These options let you provide more specific details about the collision information you want to record. Objects When on, lets you store only collisions involving particular objects. Use the Objects button to designate those objects. Click this button to open the Filter Bodies In Collisions dialog on page 4400. This allows you to select the pairs of objects whose collisions interest you. Only collisions involving those pairs of objects are stored. Velocity When on, reactor stores only collisions that occur above a certain velocity. You can specify the threshold velocity using the provided field. reactor ignores this filter for phantom collisions on page 4286. Define Collision Pairs Allows you to enable or disable collision detection between specified pairs of objects. You can find out more about this in the Collisions Rollout on page 4468 topic. Storing and Accessing Collisions | 4397 Stored Collisions Dialog Collisions List Box This list box shows all the information stored about the collisions ocurred during the last animation. The information is organized in different columns: ■ TicksThe time, in ticks (1/4800th of a second) when the collision happened. ■ Frame / SMPTE / MM:SS:TicksThe time, in the current time units (which can be frames, ticks, SMPTE, etc.), when the collision happened. ■ Object AThe first rigid body involved in the collision. ■ Object BThe second rigid body involved in the collision. ■ PointThe location of the collision, in world coordinates. ■ NormalThe unit normal of the collision, specified from B to A. ■ SpeedThe relative velocity of the two objects along the specified normal direction. ■ PhantomSpecific information generated by phantom rigid bodies on page 4286. There are three possible values: ■ Not PhantomThis collision wasn't generated by a phantom rigid body. ■ EnteringThe time the phantom rigid body started penetrating (entered) the other rigid body. ■ LeavingThe time the phantom rigid body finished penetrating (exited) the other rigid body. 4398 | Chapter 14 reactor Close Closes the dialog. Save Allows you to save the stored information in a text file. This is an example of the format: .... Time : 4175 A : Box01 B : Teapot01 Point : ( 3.25862 -56.7632 10.0549 ) Normal : ( 1.28512e-007 3.18186e-007 -1 ) NRV : 53.4184 Phantom : Not Phantom Time : 4415 A : Phantom B : Box01 Point : ( 0 0 0 ) Normal : ( 0 0 0 ) NRV : 0 Phantom : Entering Time : 4495 A : GeoSphere01 B : Box01 Point : ( -6.02472 18.1558 10.1478 ) Normal : ( -2.48431e-006 1.51463e-006 1 ) NRV : 21.6887 Phantom : Not Phantom .... Storing and Accessing Collisions | 4399 Filter Bodies In Collisions dialog Bodies Lists the names of the reactor bodies in the scene. Highlighting an object populates the Store Collisions and Do Not Store Collisions lists for that object with respect to the other bodies in the scene. If you highlight more than one object in this list, how the lists are populated depends on the value of Common Collisions. Common Collisions When on, if more than one rigid body is highlighted in the Bodies list, the Store and Do Not Store lists are populated from the list of possible pairs that can be made using only your selected objects. When off, the lists contain all possible pairs from the scene that contain at least one of your selected objects. For example, take a scene containing four rigid bodies: Box01, Box02, Box03 and Box04. If Common Collisions is on, and you highlight Box01 and Box02 in the Bodies list, then the only possible pair that includes only your selected objects is Box01<- ➤ Box02. If you highlight Box01, Box02, and Box03, then the possible pairs using these objects are Box01<->Box02, Box02<->Box03, and Box01<->Box03. If highlight the same objects with Common Collisions off, then the lists also include the highlighted objects paired with the remaining objects in the collection. This means that the available pairs would also now include Box01<->Box04, Box02<->Box04 and Box03<->Box04. This option is selected by default. Store Collisions Collision data is stored for any pairs of objects in this list. Do Not Store Collisions Collision data is not stored for these pairs of objects. 4400 | Chapter 14 reactor > Moves the pairs that are highlighted in the Store list to the Do Not Store list. >> Moves all the pairs in the Store list to the Do Not Store list. < Moves the pairs that are highlighted in the Do Not Store list to the Store list. << Moves all the pairs in the Do Not Store list to the Store list. OK Closes the dialog, saving any changes. Cancel Closes the dialog without saving your changes. Deformable Bodies You can use rigid bodies on page 4282 in reactor to model any real-world object whose shape doesn't change over time. However, what if you want to simulate an object whose geometry does change over the course of the simulation, such as a cloak, hair, foam bricks, or perhaps a slithering tentacle? reactor allows you to model these with a second category of objects, called deformable bodies. The geometry (vertices) of deformable bodies can change over time, driven either by reactor during the simulation or by existing animation in 3ds Max, allowing the objects to bend, flex, and stretch while affecting and being affected by the rest of objects in the world simulation. IMPORTANT The Havok 3 engine does not support deformable bodies in reactor; you can use these only with the Havok 1 engine. In addition to creating entirely deformable objects, you can combine deformable bodies with rigid bodies, for instance to add secondary motion to a simulated character. Secondary motion could include swirling clothing, wobbling flesh, or a swinging tail. Deformable objects are also useful for environmental effects such as swinging ropes and chains, curtains, and flags with dynamic wind. Generally, you create a deformable body in reactor by first creating a mesh or spline that models the object's basic shape, and then applying a special modifier. You can then specify additional physical properties for the object. reactor includes four main types of deformable bodies, each of which is dealt with in its own section: ■ Cloth on page 4402, a deformable two-dimensional triangular mesh ■ Soft Body on page 4413, a deformable three-dimensional closed triangular mesh Deformable Bodies | 4401 ■ Rope on page 4425, a deformable one-dimensional chain of vertices. ■ Deforming Mesh on page 4433, a deformable mesh whose vertices have already been animated, for instance the skin on a character rig. As with rigid bodies, you must add deformable bodies to a collection in order to be added to the simulation. Each deformable body type has its own corresponding collection type. Also like rigid bodies, you can constrain the possible movement of deformable bodies: see Constraining Deformable Bodies on page 4437. NOTE Deformable bodies are more complex than rigid bodies on page 4282, so reactor requires more time to simulate them. Working with Deformable-Body Vertices reactor includes several tools for working with individual vertices in deformable bodies. The topics covering these are: ■ Fixing Vertices in World Space on page 4440 ■ Keyframing Vertices on page 4441 ■ Attaching Vertices to a Rigid Body on page 4443 ■ Attaching Vertices to Deforming Meshes (Skin) on page 4445 ■ Soft Selection on page 4447 Cloth Cloth objects in reactor are two-dimensional deformable bodies. Using cloth objects you can simulate flags, curtains, clothing (skirts, capes, shirts), banners and even materials like paper and sheet metal. 4402 | Chapter 14 reactor A character’s cape and kilt are modeled as cloth. Cloth Modifier Animation menu ➤ reactor ➤ Apply Modifier ➤ Cloth Modifier reactor toolbar ➤ (Apply Cloth Modifier) The Cloth modifier lets you to turn any geometry into a deformable mesh, allowing you to simulate the behavior of objects such as curtains, clothes, metal sheets, and flags. You can specify a number of special properties for cloth objects, including stiffness and how the object folds. To add a cloth object to the simulation, you need to add it to a Cloth Collection on page 4411. Cloth | 4403 Procedures To create a Cloth object: 1 Create the mesh object that you would like to simulate as cloth. NOTE In reactor the underlying topology of this object can influence the cloth's behavior. For instance, cloth tends to fold along contiguous edges; highly tessellated meshes also stretch more, etc. Irregular triangulations (for example, a Delaunay triangulation of a 3ds Max NURBS surface) results in isotropic behavior (same behavior across all directions), avoiding artificial creases and folds around specific directions; it can therefore produce more realistic-looking results for pieces of clothing. Regular triangulations (like that of a standard 3ds Max plane) lead to anisotropic behavior (tendency to folding and creasing is different depending on the direction), this of course might be irrelevant or even desirable in some situations. TIP A quick, easy way to create a Delaunay mesh for reactor Cloth is to apply the Garment Maker modifier on page 1206 to a shape. 4404 | Chapter 14 reactor Different tessellation produces different cloth behavior. 2 With the object selected, choose one of the above options. The Cloth modifier appears in the object's modifier stack. To edit a cloth object's physical properties: 1 Select the appropriate object in the scene. 2 On the Modify panel, ensure that the reactor Cloth modifier is highlighted in the modifier stack. Cloth | 4405 3 Use the Properties rollout to edit the properties, which are described in the Interface section, following. Interface Modifier Stack Vertex Allows you to select individual vertices of the cloth object to apply and modify deformable constraints on page 4437. 4406 | Chapter 14 reactor Cloth Properties rollout Mass The Cloth object's mass in kilograms. This affects the behavior during collisions with other objects, and also the stretching caused by attached rigid Cloth | 4407 bodies on page 4443: the higher the mass of the cloth, the less stretching induced by the rigid body. Friction The coefficient of friction for the cloth's surface. As with rigid bodies, this affects how smoothly the cloth moves relative to surfaces it contacts. The Friction values for both objects in contact combine to produce a coefficient for the interaction. Rel Density Cloth has no volume, so reactor cannot calculate its density. Instead, reactor provides a buoyancy property for Cloth objects, which reflects its relative density. The default value is 1.0, the density of water. This value is important only if you are going to float or immerse the cloth in water. Air Resistance The extent to which the cloth loses energy as it moves. Force Model Choose the way forces in the simulation affect your cloth object: ■ ■ Simple Force ModelThis default method is suitable for most situations. ■ StiffnessThe stiffness of the cloth. ■ DampingHow quickly the cloth dissipates energy as it changes shape. Complex Force ModelThis more-accurate model of cloth dynamics is more computationally expensive to simulate. It provides parameters to specify the shear and stretch stiffness separately, as well as a physically accurate out-of-plane bend property. ■ StretchThe cloth resistance to stretching. ■ BendThe cloth resistance to bending. ■ ShearThe cloth resistance to shearing. ■ DampingHow quickly the cloth dissipates energy as it changes shape. Fold Stiffness Fold stiffness governs the cloth resistance to folding. ■ NoneBy default, Cloth objects have no fold stiffness, and behave like a loose material such as silk. ■ Uniform ModelThis model adds fold stiffness uniformly across the surface of the cloth, regardless of its topology. ■ StiffnessThe fold stiffness value. 4408 | Chapter 14 reactor ■ Spatial ModelThis more-complex model of fold stiffness can be useful if you are simulating a complicated piece of cloth, such as a dress. It allows you, for instance, to add fold stiffness only to sections of the cloth that are flat. ■ StiffnessThe fold stiffness value. ■ DistanceThe degree of fold stiffness per unit area. A Distance value of 2 refers to twice the average triangle edge length in the cloth, so a large Distance value results in a large concentration of fold stiffness per unit area. ■ Spread AngleControls the degree to which fold stiffness is added to cloth when it has a non-flat shape. The angle relates to the threshold angle between two parts of the cloth, below which stiffness is added. If this value is 0.0, fold stiffness is added only to flat parts of the cloth. ■ Split AngleThe degree to which fold stiffness is added; specifically, how fold stiffness is concentrated along the grid lines of the cloth's original mesh. Avoid Self-Intersections When on, the cloth will not intersect with itself during the simulation. This results in a more realistic-looking simulation, but can increase simulation time. Constrain Deformation When on, limits the extent to which the cloth can stretch. ■ MaxA percentage value that indicates how stretchy the cloth is: The lower the value, the less stretching reactor allows. Start With Current State When on, the Cloth object starts the simulation using the current state stored in the modifier. This can be useful if you have, for example, draped the cloth around something in the Preview Window and then updated the viewport using Update MAX. When off, the cloth starts with the state it had originally, below the modifier. Available only when keyframes are stored. # Keyframes Stored This read-only shows the number of keyframes, if any, stored for the Cloth object. reactor stores keyframes for the object if you create a reactor animation, or if you use Update MAX in the Preview Window. Clear Keyframes Deletes any stored keyframes for the Cloth object. Cloth | 4409 Use Soft Selection Allows you to use soft selection to smooth the transition between keyframed and simulated vertices for this deformable object. For more information, see Soft Selection on page 4447. Reset Default Values Resets the values for the Cloth object to their defaults. Constraints rollout These options allow you to create different types of deformable constraints for the body. For more information, see Constraining Deformable Bodies on page 4437. 4410 | Chapter 14 reactor Cloth Collection Create panel ➤ (Helpers) ➤ reactor ➤ CLCollection Animation menu ➤ reactor ➤ Create Object ➤ Cloth Collection reactor toolbar ➤ (Create Cloth Collection) The Cloth Collection is a reactor helper object that acts as a container for Cloth objects. Once you have added a Cloth Collection to your scene, you can add Cloth objects (object with a Cloth modifier on page 4403) in the scene to the collection. When you run the simulation, reactor examines the cloth collections in the scene, and, provided that the collections are not disabled, adds the cloth objects they contain to the simulation. Procedures To create and use a Cloth Collection: 1 Create some Cloth objects by applying the reactor Cloth modifier to standard objects. 2 Choose one of the above commands, and then click in any viewport to add the Cloth Collection. NOTE The icon’s position has no effect on the collection’s behavior. The collection icon is added to the scene. You can add Cloth objects to the collection in two ways: by picking or by using a selection list. 3 Add objects to the collection using either (or both) of these methods: ■ On the Properties rollout, click the Pick button, and then in the viewport click an object to add. ■ On the Properties rollout, click the Add button, and then use the Select Cloths dialog to specify one or more objects to add. Cloth | 4411 To create the collection and add objects in a single step: ■ See the Scripts and Tools on page 4481 topic. Interface Cloth Collection Properties rollout Highlight Causes the objects in the collection to flash momentarily in the viewports. Cloth Entities Lists the names of the objects currently in the Cloth Collection. Pick Adds an object to the cloth collection. Click this button, then in the viewport move the cursor over an object to add to the collection. If it is a Cloth object, the cursor changes from an arrow to a cross and you can select the object to add it to the collection. Add Adds one or more objects from the scene to the collection. Click the button to open the Select Cloths dialog. Highlight one or more entries in the list, and then click the Select button to add the objects to the collection. Delete Removes objects from the collection. In the Cloth Entities list, highlight the bodies to remove from the collection and click this button. 4412 | Chapter 14 reactor Disabled When on, the collection and the bodies it contains are not added to the simulation. Advanced rollout Internal Steps Because deformable objects are more complex to simulate, it is usually necessary to perform more simulation steps on page 4266 to increase stability. This parameter specifies the number of steps reactor performs internally to simulate objects in this collection for each simulation substep taken globally during the simulation. For example, at 60 fps, simulating at one keyframe (step) per frame, 10 substeps, at three internal substeps for this collection, reactor simulates the objects in this collection using 60x10x3=1,800 steps per second, while the simulation in general uses 60x10=600 steps every second. This allows the objects in this collection to be simulated more accurately without slowing down the rest of the simulation. In general terms, you can think of it in this way: ■ Precision (stability) of overall simulation=Number of Substeps (as specified on the Preview and Animation rollout on page 4462) ■ Precision (stability) of objects in this collection=(Precision of overall simulation)x(Internal Substeps) Reset Default Values Restores Internal Steps to its default value. Soft Bodies Soft bodies are three-dimensional deformable bodies on page 4401. Like Cloth on page 4402 objects, they modify meshes. The main difference between cloth as soft bodies is that soft bodies have a notion of shape : a soft body tries, to some extent, to keep its original shape. Soft Bodies | 4413 Soft bodies in various stages of deformation You can use soft bodies to simulate squashy objects like a partially deflated beach ball, a water bottle, jelly, or fruit. They are also useful for adding realistic secondary motion to your objects and characters: floppy ears, noses, tails, etc. reactor provides two methods for simulating soft bodies: ■ The mesh-based method uses the vertices in the mesh to operate (as with cloth and rope). ■ FFD soft bodies on page 4419 manipulate the control points in an FFD grid instead. Depending on the complexity of your objects and the desired effect, you can use either method. 4414 | Chapter 14 reactor Soft Body Modifier Modify panel ➤ Modifier List ➤ reactor SoftBody Animation menu ➤ reactor ➤ Apply Modifier ➤ Soft Body Modifier reactor toolbar ➤ (Apply Soft Body Modifier) The Soft Body modifier lets you turn a rigid body into a closed, deformable, 3D triangular mesh, thus creating objects that can be flexed, bent, and squashed during the simulation. You can specify physical properties for soft bodies, including stiffness, mass, and friction. reactor provides two types of soft body: mesh-based soft bodies, where reactor deforms the underlying mesh directly; and Freeform Deformation (FFD) bodies, in which reactor encases the original mesh in a simpler lattice that it uses to update the mesh. For more information about creating FFD bodies, see FFD Soft Bodies on page 4419. To add a soft body to the simulation, you need to add it to a Soft Body Collection on page 4423. Procedures To create a soft body: 1 Create the mesh to use as the basic, non-deformed state of your soft body. You can turn any mesh with a fixed number of vertices into a soft body. 2 With the object selected, choose one of the above commands. The reactor SoftBody modifier appears in the object's modifier stack. To edit a soft body's physical properties: 1 Select an appropriate object in the scene. 2 On the Modify panel, ensure that the reactor SoftBody modifier is highlighted in the modifier stack. Soft Bodies | 4415 3 Use the Properties rollout to edit the properties, which are described in the Interface section, following. Interface Modifier Stack Vertex Allows you to select individual vertices of the soft body to which to apply and modify deformable constraints on page 4437. 4416 | Chapter 14 reactor Soft Body Properties rollout Mass The mass of the soft body in kilograms. This affects the soft body behavior upon colliding with other objects, its buoyancy when interacting with water, and the stretching caused by attached rigid bodies on page 4443: the higher the mass of the soft body, the less stretch induced by the rigid body. Soft Bodies | 4417 Stiffness The stiffness of the soft body: the stiffer it is, the harder it is to deform. Damping The damping coefficient for the oscillation of the soft body's compression and expansion. Friction The coefficient of friction for the soft body's surface. As with rigid bodies, this affects how smoothly the soft body will move relative to surfaces it’s in contact with. The friction values for both objects are combined to produce a coefficient for the interaction. Avoid Self-Intersections When on, the soft body does not intersect with itself during the simulation. This results in a more realistic simulation, but can increase simulation time. [soft body type] ■ ■ Mesh-BasedBy default, soft bodies are mesh-based - the modifier directly modifies the underlying mesh. This option is suitable for most simple objects, such as balls and bricks. For more complex meshes (greater than 200 triangles), however, this approach can be time-consuming and may slow down the simulation. A good alternative is to use FFD soft bodies on page 4419. ■ # keyframes storedThis indicates the number of keyframes stored for the soft body, if any. reactor stores keyframes for the object if you create a reactor animation, or use Update MAX in the Preview Window. ■ Clear KeyframesClears any stored keyframes for this soft body. ■ Start With Current StateThe soft body starts the simulation using the current state stored in the modifier. This can be useful if you have, for example, deformed the soft body in the Preview Window and then updated the viewport using Update MAX. When off, the soft body will start with the state it had originally (below the modifier). ■ Use Soft SelectionAllows you to use soft selection to smooth the transition between keyframed and simulated vertices for this deformable object. For more information, see Soft Selection on page 4447. FFD-BasedUses the FFD version of the Soft Body modifier. For more information about FFD bodies, including descriptions of these parameters, see FFD Soft Bodies on page 4419. Reset Default Values Restores the default values for parameters in the modifier. 4418 | Chapter 14 reactor Constraints rollout These options let you create different types of deformable constraint for the body. For more information, see Constraining Deformable Bodies on page 4437. FFD Soft Bodies reactor provides two different types of soft body: mesh-based soft bodies, where the underlying mesh is directly deformed, and Freeform Deformation (FFD) bodies. With an FFD body, reactor encases the original shape in a simpler FFD lattice. Then the simulation uses the lattice, rather than the object itself, Soft Bodies | 4419 as the soft body's shape. As the lattice deforms, it updates the original shape so that it, too, appears to deform. FFD soft body deformation applied to a character’s nose FFD bodies are less accurately modeled than mesh-based soft bodies, but also less computationally expensive to simulate. Because of this, it's generally advisable to use an FFD-based soft body when deforming a complex mesh. As a general rule of thumb, if a mesh has more than 200 triangles, it's probably a good idea to use an FFD-based soft body. NOTE When you view an FFD soft body in the Preview Window, you will see the FFD rather than the underlying shape. This should still give you some idea as to how the body will behave in your final animation. 4420 | Chapter 14 reactor Procedures To create an FFD soft body: 1 Create the mesh to use as the basic, non-deformed state of your soft body. 2 Apply an FFD modifier: the FFD 2x2x2, 3x3x3, 4x4x4 on page 1375 or FFD(box) on page 1380 modifier. Different FFD dimensions produce different behavior. When using FFD(box), set the dimensions to a number that leaves the FFD vertices evenly distributed over the lattice. You can also use the Conform To Shape command to make the FFD lattice better represent the underlying geometry. 3 Apply the reactor Soft Body modifier on page 4415 on top of the FFD modifier. 4 in the Properties rollout of the Soft Body modifier, choose FFD-Based. You can now add the body to a soft body collection on page 4423 and simulate it as an FFD soft body. Interface FFD Options FFD-based Specifies that you want to simulate this body as an FFD soft body. Soft Bodies | 4421 Stable Configuration Here you can specify which configuration (position of vertices) reactor considers to be the stable (non-deformed) configuration. The FFD soft body will tend to maintain that configuration. ■ Original BoxThe stable configuration for an FFD soft body is the original, non-deformed FFD box; any animation or modification of the lattice is ignored. This is the default option. ■ FrameLets you specify the state of the FFD state at a particular keyframe as the stable configuration for the object. Animate Transform When on, reactor animates both the FFD lattice and the transformation of the object. In some situations, the deformation calculated by the FFD modifier is more consistent if the object transformation follows the FFD lattice. IMPORTANT Use this option only when the FFD encloses the entire mesh of the object, as the transformation applies to the whole mesh; that is, the whole object will be transformed. Not animating the object transform can cause the FFD modifier to apply strange deformations. 4422 | Chapter 14 reactor Animating the object transform (turning on Animate Transform) fixes the problem. Soft Body Collection Create panel ➤ (Helpers) ➤ reactor ➤ SBCollection Animation menu ➤ reactor ➤ Create Object ➤ Soft Body Collection reactor toolbar ➤ (Create Soft Body Collection) The Soft Body Collection is a reactor helper object that acts as a container for soft bodies. Once you have created a Soft Body Collection, you can add any soft bodies in the scene to the collection. For more information about soft bodies, see Soft Body Modifier on page 4415. When you run the simulation, the soft body collections in the scene are examined, and, provided the collections are not disabled, reactor adds the soft bodies they contain to the simulation. Procedures To create and use a Soft Body Collection: 1 Create some soft bodies by applying the reactor SoftBody modifier to standard objects. 2 Choose any of the above commands, and then click in any viewport to add the Soft Body Collection. Soft Bodies | 4423 NOTE The icon’s position has no effect on the collection’s behavior. The collection icon is added to the scene. You can add soft bodies to the collection in two ways: by picking or by using a selection list. 3 Add objects to the collection using either (or both) of these methods: ■ On the Properties rollout, click the Pick button, and then in the viewport click an object to add. ■ On the Properties rollout, click the Add button, and then use the Select Soft Bodies dialog to specify one or more objects to add. To create the collection and add objects in a single step: ■ See the Scripts and Tools on page 4481 topic. Interface Soft Body Collection Properties rollout Highlight Click this button to cause the objects in the Soft Bodies list to momentarily display as if selected. 4424 | Chapter 14 reactor Soft Bodies Lists the names of the objects currently in the Soft Body Collection. Pick Adds an object to the Soft Body Collection. Click this button, and then in the viewport move the cursor over the object to add to the collection. If it is a soft body, the cursor will change from an arrow to a cross and you can select the object to add it to the collection. Add Adds one or more objects from the scene to the collection. Click the button to open the Select Soft Bodies dialog. Highlight one or more items in the list, and then click the Select button to add the objects to the collection. Delete Removes objects from the collection. In the Soft Bodies list, highlight the bodies to remove from the collection and click this button. Disabled When on, the collection and in turn the bodies it contains are not added to the simulation. Advanced rollout Internal Steps Specifies how many substeps per keyframe are used to simulate the collection. Deformable bodies often require a higher level of simulation accuracy than rigid bodies, so you might need to tweak this value to get realistic results. Reset Default Values Resets Internal Steps to its default value. Rope The reactor Rope is a one-dimensional deformable body on page 4401. You can use it to simulate rope, string, hair, and so on. Only shapes on page 506 can be simulated as ropes. Rope | 4425 Weighted ball at the end of a rope Rope Modifier Modify panel ➤ Modifier List ➤ reactor Rope Animation menu ➤ reactor ➤ Apply Modifier ➤ Rope Modifier reactor toolbar ➤ (Apply Rope Modifier) You can create a reactor Rope using any spline object in 3ds Max. The Rope modifier turns the object into a deforming, one-dimensional chain of vertices. You can use rope objects to simulate ropes, as well as hair, chains, fringing, and other rope-like objects. A rope must be added to a rope collection on page 4431 in order to be simulated. 4426 | Chapter 14 reactor Procedures To create a rope: 1 Create the spline-based shape to use to create the rope. As with all deformable bodies on page 4401, the underlying topology of this object will influence the rope's behavior. If the spline contains only two vertices, then the rope simulation geometry will have only a single section and will behave in a particularly un-rope-like fashion as a result. More vertices will allow the rope to bend easily and behave more realistically. 2 With the object selected, choose one of the commands listed above. The Rope modifier appears in the object's modifier stack. To edit a Rope's physical properties: 1 Select the Rope object. 2 On the Modify panel, ensure that the reactor Rope modifier is selected in the modifier stack. 3 Use the Properties rollout to edit the properties, which are described in the Interface section, following. Interface Modifier Stack Vertex Allows you to select individual vertices of the rope to apply and modify deformable constraints on page 4437. Rope | 4427 Rope Properties rollout Mass The rope's mass in kilograms. This affects the rope behavior on collisions against other objects, its buoyancy when interacting with water, and the stretching caused by attached rigid bodies on page 4443: the higher the mass of the rope, the less stretching induced by the rigid body. 4428 | Chapter 14 reactor Thickness Lets you specify a thickness for the simulated rope, as the shape used to create the rope has no inherent thickness. A rope with a thickness of 0.0 will not be visible in the simulation. Friction The coefficient of friction for the rope's surface. As with rigid bodies, this affects how smoothly the rope will move relative to surfaces it’s in contact with. The Friction values for both objects are combined to produce a coefficient for the interaction. Air Resistance The extent to which the rope loses energy as it moves. Rope Type ■ ■ SpringThe default rope type. ■ StiffnessHow much the rope can stretch. ■ DampingHow quickly oscillations settle down when the rope is compressed or expands. ■ Num WeavesThe extent to which the rope's inflexibility extends across vertices. For example, a value of 3 ensures that all vertices separated by three or fewer sections are subject to extra forces to stop bending. Large Num Weaves values produce an inflexible rope, whereas small values mean that only sections very close to each other will have restricted relative movement. ■ Keep ShapeWhen on, the rope tries to keep its original shape, such as a spiral, rather than returning to a straight line. The effectiveness of this depends on the number of weaves (the higher of number of weaves, the stronger the shape-keeping forces). ConstraintUses a simpler, and hence less computationally expensive, model to simulate the rope. Ropes of this type are quite stiff, and cannot be configured in the same way as ropes with a Spring type. Avoid Self-Intersections When on, the rope will not intersect with itself during the simulation. This results in a more realistic simulation, but can increase simulation time. Start With Current State The rope starts the simulation using the current state stored in the modifier. This can be useful if you have, for example, draped the rope around something in the Preview Window and then updated the viewport using Update MAX. When off, the rope starts with the state it had originally, below the modifier in the stack. Rope | 4429 # Stored Keyframes The number of keyframes, if any, stored for the rope. reactor stores keyframes for the rope if you create an animation, or if you use Update MAX in the Preview Window. Clear Keyframes Clears any stored keyframes for this rope. Use Soft Selection Allows you to use Soft Selection to smooth the transition between keyframed and simulated vertices for this deformable object. For more information, see Soft Selection on page 4447. Reset Default Values Resets the values for this rope to their defaults. Constraints rollout 4430 | Chapter 14 reactor These options let you create a different types of deformable constraint for the body. For more information, see Constraining Deformable Bodies on page 4437. Rope Collection Create panel ➤ (Helpers) ➤ reactor ➤ RPCollection Animation menu ➤ reactor ➤ Create Object ➤ Rope Collection reactor toolbar ➤ (Create Rope Collection) The Rope Collection is a reactor helper object that serves as a container for ropes. Once you have placed a Rope Collection in your scene, you can add any ropes in the scene to the collection. You can find out more about ropes in the Rope Modifier on page 4426 topic. When you run the simulation, the rope collections in the scene are examined, and, provided that the collections are not disabled, the ropes they contain are added to the simulation. Procedures To create and use a Rope Collection: 1 Choose any of the above commands, and then click in any viewport to add the Rigid Body Collection. NOTE The icon’s position has no effect on the collection’s behavior. The collection icon is added to the scene. You can add rigid bodies to the collection in two ways: by picking or by using a selection list. 2 Add objects to the collection using either (or both) of these methods: ■ On the Properties rollout, click the Pick button, and then in the viewport click an object to add. ■ On the Properties rollout, click the Add button, and then use the Select Rigid Bodies dialog to specify one or more objects to add. Rope | 4431 To create the collection and add objects in a single step: ■ See the Scripts and Tools on page 4481 topic. Interface Rope Collection Properties rollout Highlight Causes the objects in the collection to flash momentarily in the viewports. Rope Entities Lists the names of the objects currently in the Rope Collection. Pick Adds an object to the Rope Collection. Click this button, and then in the viewport move the cursor over an object. If it is a Rope object, the cursor changes from an arrow to a cross and you can select the object to add it to the collection. Add Adds one or more objects from the scene to the collection. Click the button to open the Select Ropes dialog. Highlight one or more objects in the list, then click the Select button to add the objects to the collection. Delete Removes objects from the collection. In the Rope Entities list, highlight the bodies to remove from the collection and click this button. 4432 | Chapter 14 reactor Disabled When on, the collection and the bodies it contains are not added to the simulation. Advanced rollout Internal Steps Because deformable objects are more complex to simulate, it is usually necessary to perform more simulation steps on page 4266 to increase stability. This parameter specifies how many steps will be taken internally to simulate objects in this collection for each simulation substep taken globally during the simulation. For example, at 60 fps, simulating at one keyframe (step) per frame, 10 substeps, at three internal substeps for this collection, the objects in this collection will be simulated using 60x10x3=1,800 steps every second , while the simulation in general uses 60x10=600 steps per second. This allows the objects in this collection to be simulated more accurately without slowing down the rest of the simulation. In general terms, you can think of it this way: ■ Precision (stability) of overall simulation=Number of Substeps (as specified in the Preview and Animation rollout on page 4462) ■ Precision (stability) of objects in this collection=Precision of overall simulation x (multiplied by) Internal Substeps Reset Default Values Resets Internal Steps to its default value. Deforming Meshes (Skin) A deforming mesh is a mesh whose vertices' behavior has been keyframed. The skin of a skinned character, where any deformation comes from the underlying animated character rig, could be used as a deforming mesh in reactor. Deforming Meshes (Skin) | 4433 Deforming mesh provides a gorilla’s skin. Why use deforming meshes? Firstly, rigid bodies on page 4282 and deformable bodies on page 4401 can collide with a deforming mesh as if it was another reactor body. The deforming mesh won't be affected by the collision, but the rigid body/deformable body will. So, for instance, you can create deformable clothes for a deforming mesh that you can drape realistically around his body, or you can cause environmental objects to react to the deforming mesh. You can also attach deformable bodies to deforming meshes. This allows you, for example, to attach physically-simulated hair, garments, or tentacles to a keyframed character. When the character moves, its simulated elements swirl, swing, or slither (as appropriate) along with it. This is known as secondary motion, and is an easy way to add realism to your characters without having to animate the behavior by hand. Unlike the other reactor deformable body types, you do not need to apply a special modifier to a deforming mesh or set physical properties for it. You just have to add the shape to a Deforming Mesh Collection on page 4435. This is because reactor itself does not deform the mesh's vertices during the simulation: The deforming mesh is simply controlled by its current animation. 4434 | Chapter 14 reactor For information about how to attach objects to deforming meshes , see Constraining Deformable Bodies on page 4437. Deforming Mesh Collection Create panel ➤ (Helpers) ➤ reactor ➤ DMCollection Animation menu ➤ reactor ➤ Create Object ➤ Deforming Mesh Collection reactor toolbar ➤ (Create Deforming Mesh Collection) The Deforming Mesh Collection is a reactor helper object that acts as a container for deforming meshes on page 4433. Once you have placed a Deforming Mesh Collection in your scene, you can add any deforming meshes in the scene to the collection. For more information about deforming meshes, see Deforming Meshes (Skin) on page 4433. When you run the simulation, reactor examines the deforming mesh collections in the scene, and, provided the collections are not disabled, adds the deforming meshes they contain to the simulation. Procedures To create and use a Deforming Mesh Collection: 1 Create some objects to use as deforming meshes. 2 Choose any of the above commands, and then click in any viewport to add the Deforming Mesh Collection. NOTE The icon’s position has no effect on the collection’s behavior. The collection icon is added to the scene. You can add deforming meshes to the collection in two ways: by picking or by using a selection list. 3 Add objects to the collection using either (or both) of these methods: ■ On the Properties rollout, click the Pick button, and then in the viewport click an object to add. ■ On the Properties rollout, click the Add button, and then use the dialog to specify one or more objects to add. Deforming Meshes (Skin) | 4435 To create the collection and add objects in a single step: ■ See the Scripts and Tools on page 4481 topic. Interface Deforming Mesh Collection Properties rollout Highlight Click this button to cause the objects in the collection to flash momentarily in the viewports. Deforming Meshes Lists the names of the objects in the deforming mesh collection. Pick Adds an object to the deforming mesh collection. Click this button, and then in the viewport move the cursor over an object to add to the collection. If it can be used as a deforming mesh, the cursor will change from an arrow to a cross and you can select the object to add it to the collection. Add Adds one or more objects from the scene to the collection. Click the button to open the Select Deforming Meshes dialog. Highlight one or more objects in the list, and then click the Select button to add the objects to the collection. 4436 | Chapter 14 reactor Delete Removes objects from the collection. In the Deforming Meshes list, select the bodies to remove from the collection and then click this button. Disabled When on, the collection and the bodies it contains are not added to the simulation. Advanced rollout Freeze When on, the deforming meshes in this collection do not follow their animation during the simulation but instead remain static. This is useful, for instance, if you want to drape clothes around a deforming-mesh-skinned character in the Preview window on page 4476 before using Update MAX - it's much easier to dress a character that isn't still walking around! Reset Default Values Resets the Freeze value to its default. Constraining Deformable Bodies reactor modifier (Cloth/Soft Body/Rope) ➤ Constraints rollout As with rigid bodies, you might want to constrain the possible movement of your deformable bodies. For instance, you might want to fix cloth draperies to a position in world space, or attach deformable clothing and hair to a moveable character. However, because deformable bodies can change their shape over the course of the simulation, you can't just specify attachment points in the object's local space as you do with rigid bodies. Instead, when you work with deformable bodies, you need to specify the vertices to constrain in the deformable mesh. You can then constrain the vertices using one of four deformable constraint types, which you can choose from the deformable body's deformable Constraints rollout. This section has separate topics for each of the following deformable constraint types: ■ Fixing Vertices in World Space on page 4440 Constraining Deformable Bodies | 4437 ■ Keyframing Vertices on page 4441 ■ Attaching Vertices to a Rigid Body on page 4443 ■ Attaching Vertices to Deforming Meshes (Skin) on page 4445 For information about using the Soft Selection option to smooth the transition between simulated and keyframed vertices for deformable bodies, see Soft Selection on page 4447. NOTE You can constrain deformable bodies only to points in world space, rigid bodies, or deforming meshes. You can't attach deformable bodies to "live" deformable bodies. You can, however, attach deformable bodies to other deformable bodies once they have been simulated. For example, after simulating a piece of cloth, you can remove it from the Cloth Collection and add it to a Deforming Mesh Collection on page 4435. You can then attach any deformable body (cloth, soft or rope) to it using the Attach to Deforming Mesh constraint on page 4445. Procedures The procedure for each deformable constraint type is described in its own topic. 4438 | Chapter 14 reactor Interface Constraints rollout Fix Vertices Creates a Fix Vertices to World constraint on page 4440 that fixes the chosen vertices to their current position in world space. Keyframe Vertices Creates a Keyframe constraint on page 4441 that makes the chosen vertices follow their current animation in 3ds Max. Attach to Rigid Body Creates an Attach to Rigid Body constraint on page 4443 between the chosen vertices and a rigid body. The vertices follow the animation (changes in position and rotation) of the rigid body on page 4282. Constraining Deformable Bodies | 4439 Attach to DefMesh Creates an Attach to Deforming Mesh constraint on page 4445 between the chosen vertices and a deforming mesh. The vertices will follow the animation (deformations) of the deforming mesh on page 4433. [constraints list] Displays a list of the deformable constraints for the deformable body. To highlight a constraint for changing its parameters or deleting it, click its name in the list. Delete Constraint Deletes the highlighted constraint in the list. Fixing Vertices in World Space reactor modifier (Cloth/Soft Body/Rope) ➤ Constraints rollout The Fix Vertices constraint lets you fix vertices in a deformable body to their current positions in world space. A row of vertices fixes the curtain to the wall. 4440 | Chapter 14 reactor Procedures To fix points in a deformable body in world space: 1 On the Modify panel, click Vertex in the deformable body modifier's sub-object list. This lets you select individual vertices in the deformable body. 2 On the Constraints rollout, click Fix Vertices. A new Constrain To World constraint appears in the constraints list. 3 Ensure the constraint is highlighted in the constraints list. 4 Select the vertices to constrain. These vertices remain fixed in place during the simulation, while the rest of the mesh is subject to physical forces and deformation as usual. 5 When you are finished choosing vertices, it's advisable to exit the Vertex sub-object level. This prevents you accidentally deselecting some of the constrained vertices before simulating. 6 To change the set of fixed vertices, select the object, access the modifier's Vertex sub-object level, highlight its Constrain To World constraint in the list, and then select a different set of vertices. Keyframing Vertices reactor modifier (Cloth/Soft Body/Rope) ➤ Constraints rollout This constraint allows you to make the deformable body's chosen vertices follow their current animation. Constraining Deformable Bodies | 4441 Vertices keyframed to pull a curtain across a projection screen Procedures To keyframe points for a deformable body: 1 On the Modify panel, click Vertex in the deformable body modifier's sub-object list. This lets you select individual vertices in the deformable body. 2 On the Constraints rollout, click Keyframe Vertices. A new Keyframe constraint appears in the constraints list. 3 Ensure the constraint is highlighted in the constraints list; this makes the Keyframe rollout available. 4 Select the vertices to constrain in the deformable body. During the simulation, these vertices follow the deformable body's current 4442 | Chapter 14 reactor animation, while the rest of the body is affected by the physical simulation as usual. 5 When finished, it's advisable to exit the Vertex sub-object level. This prevents you accidentally deselecting some of the constrained vertices before simulating. Interface Keyframe rollout Use Current Stored Keys When on, the animation used for these vertices is that after the reactor modifier is applied. In other words, if the modifier contains any keyframes, reactor uses those for the animation. When off, reactor evaluates the animation before the reactor modifier is applied, thus ignoring any stored keyframes. Attaching Vertices to a Rigid Body reactor modifier (Cloth/Soft Body/Rope) ➤ Constraints rollout The Attach To Rigid Body constraint allows you to fix vertices in a deformable body to a particular rigid body. Constraining Deformable Bodies | 4443 Vertices attach the sails to the mast and booms. Procedures To fix vertices in a deformable body to a rigid body: 1 On the Modify panel, click Vertex in the deformable body modifier's sub-object list. This lets you select individual vertices in the deformable body. 2 On the Constraints rollout, click Attach To Rigid Body. The new constraint appears in the Constraints list. 3 Ensure the constraint is selected in the Constraints list; this makes the Attach To RigidBody rollout available. 4 On the Attach To RigidBody rollout, click the Rigid Body pick button and then select the body to which to constrain the vertices. 4444 | Chapter 14 reactor 5 Select the vertices to constrain in the deformable body. During the simulation, these vertices maintain their positions relative to the rigid body. 6 When finished, it's advisable to exit the Vertex sub-object level, to keep from accidentally deselecting some of the constrained vertices before simulating. Interface Attach To Rigid Body rollout Rigid Body Displays the name of the rigid body to which the vertices are constrained. Choose a rigid body by clicking this button and then selecting a rigid body in one of the viewports. Do not affect rigid body When on, the attached deformable body does not affect the behavior of the rigid body in the simulation. In other words, the points in the deformable body will follow the rigid body, but no force is applied to the rigid body from the deformable. Ignore Collisions When on, disables collision detection between the rigid body and the deformable body. Attaching Vertices to Deforming Meshes (Skin) reactor modifier (Cloth/Soft Body/Rope) ➤ Constraints rollout Constraining Deformable Bodies | 4445 The Attach To Deforming Mesh constraint allows you to fix vertices in a deformable body to a particular deforming mesh on page 4433. This option is useful for adding physically simulated elements such as hair and clothing to an skinned character. Vertices attach a skirt (or kilt) to the waist of a character mesh. Procedures To fix vertices in a deformable body to a deforming mesh: 1 On the Modify panel, access the Vertex sub-object level of the deformable body's modifier. This lets you select individual vertices in the deformable body. 2 On the Constraints rollout, click Attach To DefMesh . The new constraint appears in the Constraints list. 3 Ensure the constraint is selected in the Constraints list; this makes the Attach To DefMesh rollout available. 4446 | Chapter 14 reactor 4 On the Attach To DefMesh rollout, click the Deformable Mesh pick button and then select the body to which to constrain the vertices. 5 Select the vertices to constrain in the deformable body. During the simulation, these vertices will maintain their position relative to the deforming mesh. 6 When finished, it's advisable to exit the Vertex sub-object level, to keep from accidentally deselecting some of the constrained vertices before simulating. Interface Attach To DefMesh rollout Deformable Mesh Displays the name of the deforming mesh to which the vertices are constrained. Choose a deforming mesh by clicking this button and then selecting the object in one of the viewports. Ignore Collisions When on, disables collision detection between the deforming mesh and the deformable body. Soft Selection You can use deformable constraints to specify that you want certain vertices of a deformable object to follow a user-specified animation, such as skinning, while the rest of the object is fully physically simulated. However, sometimes this can result in a visible "join" between the animated and simulated parts of a piece of cloth, soft body or rope. Constraining Deformable Bodies | 4447 To deal with this, the Cloth on page 4403, Soft Body on page 4415, and Rope on page 4426 modifiers have a Use Soft Selection option. The option can help smooth transitions between the keyframed and simulated vertices. The following illustration shows the effect of using this option. The cloth tube on the left has a keyframed top and a simulated bottom, with a visible join. The cloth on the right uses soft selection to blur the line between the two. Soft selection dampens the deformation Procedures To use soft selection when animating a deformable body: 1 Before you apply the reactor modifier to a deformable body, apply a modifier that has a Soft Selection option to your object, such as Edit Mesh on page 1263 or Mesh Select on page 1445. You can also apply this modifier to the body later, but it's important that it be below the reactor modifier in the object's modifier stack. 2 Follow the instructions in Keyframing Vertices on page 4441 to keyframe selected points for the deformable body, then create your reactor animation. 4448 | Chapter 14 reactor 3 With the body selected, open the selection modifier in the modifier stack, and access the Vertex sub-object level. 4 Select the vertices that should appear fully physically simulated. For instance, for a piece of cloth where the top section is keyframed, you might want only the bottom vertices to appear to be fully affected by the physical simulation. 5 On the Soft Selection rollout, turn on Use Soft Selection. 6 Set the Falloff value to specify a smooth falloff from the selected vertices to the unselected ones. This is represented visually in the viewport. 7 Now open the reactor modifier and turn on Use Soft Selection. When you run the animation, your specified falloff will be used to blend smoothly between the keyframed and simulated vertices. Constraining Deformable Bodies | 4449 Water Simulation The reactor Water object allows you to simulate the behavior of a water surface. Objects can interact with the water in physically realistic ways, creating waves and ripples. reactor calculates a buoyancy value for any objects that fall into the water using their mass and size, so that some objects sink and others float. You can even change the density of a water object, which affects how objects float in it. A rag-doll mannequin floats on simulated water. Water in reactor is a space warp on page 9312 that is simulated as water. Space warps don't render, so you need to provide reactor with a geometrical 4450 | Chapter 14 reactor representation of the water if you want it to appear in your final animation. You do this by binding a plane or other geometry to the space warp. Note that a representation of the water still appears in the Preview Window even if you haven't done this. Water Space Warp Create panel ➤ (Space Warps) ➤ reactor ➤ Water Animation menu ➤ reactor ➤ Create Object ➤ Water reactor toolbar ➤ (Create Water) You can use the Water space warp to simulate the behavior of a liquid surface in your reactor scene. You can specify a size for the water, and physical properties such as density, wave speed, and viscosity. You don't need to add the water to a collection for it to take part in the simulation. However, while it will appear in the Preview Window, it will not appear in a rendered animation unless you bind the space warp to a plane or other geometry. You can find out how to do this in Rendering Water on page 4454. Procedures To create a Water space warp: 1 Choose one of the above commands, and then in any viewport drag out a Water object. TIP For horizontal water, create the space warp in a Perspective or Top viewport. 2 Move and rotate the object as necessary using standard commands. For changing other properties, see the next procedure. Water Space Warp | 4451 To edit the properties of a Water object: 1 Select the object in the scene. 2 On the Modify panel, open the Properties rollout. 3 Use the rollout to specify properties, as described in the Interface section. 4452 | Chapter 14 reactor Interface Water Properties rollout Water Space Warp | 4453 Size X/Y The dimensions for the water object. Subdivisions X/Y The tessellation for the water's mesh. Landscape button Although water is defined using a rectangular area, you can simulate non-rectangular surfaces and obstacles inside the water by defining a landscape geometry. Once you designate landscape geometry, any vertex in the Water space warp that are contained in the landscape are fixed during the simulation and waves and ripples will be reflected at those points. Wave Speed The speed at which wave crests propagate across the surface of the water. Min/Max Ripple Limits on the size of the waves generated in the water. Density The relative density of the liquid. This determines which objects will sink into the water, and at what height objects of a lesser density will float. The density is specified relative to the density of water (1.0=1,000 kg/m3). Viscosity Resistance to flow: how difficult it is for objects to move through the liquid. A high value means that the motion of objects through the water is highly damped. Depth The depth of the water. Buoyancy is applied only to objects inside the water. Use Current State When on, the simulation uses the current animation to calculate the starting state. So if you have, for example, updated the water during the preview on page 4476 using the Update MAX command, the stored state is used as the initial state. Disabled Removes the water from the simulation. # Stored Keyframes This indicates if there are any keyframes stored for the water. Keyframes are stored for the water if you create a reactor animation in 3ds Max, or if you use Update MAX in the Preview Window. Clear Keyframes Clears any stored keyframes for this water. Show Text When off, the label "Water" doesn't appear next to the space warp in the viewports. Reset Default Values Restores the default values for the object. Rendering Water Water in reactor is defined using a space warp. Space warps don't render, so if you want the water to appear in your final animation, you need to provide 4454 | Chapter 14 reactor reactor with a geometrical representation of the water. To do this, you need to bind a plane or any other planar geometry to the water. The plane will deform according to the Water space warp on page 4451, and you can then render it as part of your scene. Binding an object to the water applies a modifier to that object, which lets you set a scale strength for the deformation. For example, if you set this scale value to 2.0, any water deformation is doubled for the vertices in the object. Procedures To bind a plane to reactor Water: 1 Draw a plane the same size as your water in the viewport. Put it in a different place so you can easily link the two. 2 On the main toolbar, click (Bind To Space Warp). 3 In the viewport, drag from the plane to the water space warp, or vice-versa. The reactor Water (WSM) modifier appears in the plane's modifier stack. 4 Move the plane to the same position and orientation as the space warp (or vice versa). Interface Water WS Modifier Properties rollout Rendering Water | 4455 Scale Strength Acts as a multiplier for the geometry's deformation by the water. Increases or decreases the deformation applied by the Water space warp on page 4451. Reset Default Values Returns Scale Strength to its default value: 1.0. Wind Create panel ➤ (Helpers) ➤ reactor ➤ Wind Animation menu ➤ reactor ➤ Create Object ➤ Wind reactor toolbar ➤ (Create Wind) The Wind helper object lets you add wind effects to reactor scenes, allowing you, for instance, to make curtains flap in the breeze. After adding the Wind helper to your scene, you can configure various properties for the effect such as its speed, gusts, and whether objects in your scene can be sheltered from the wind. You can animate most of these parameters. The orientation of the helper icon indicates the direction of the wind: It blows in the direction of the weathervane arrow. You can also animate this direction by animating the icon's orientation. 4456 | Chapter 14 reactor A curtain billows in wind. Procedures To add wind to a scene: 1 Choose one of the above commands, and then click in any viewport to add the Wind helper. NOTE The icon’s position has no effect on the wind's behavior unless you activate the Use Range option. 2 Use the Rotate tool to rotate the icon and set the wind direction. The wind blows in the direction indicated by the weathervane arrow. Wind | 4457 Interface Wind Properties rollout 4458 | Chapter 14 reactor Wind On [Animatable] Defines whether the wind forces are applied or not. Wind Speed [Animatable] The strength of the wind force. The direction is specified by the icon's orientation, which is also animatable. Perturb Speed When on, the strength of the wind varies over time, using the following parameters. ■ VarianceThe maximum amount of change in the speed. ■ Time ScaleHow quickly speed change occurs, with small values producing slow changes, and large values producing rapid changes. Ripple [Animatable] When on, the wind direction becomes a function of space and time, allowing you to add rippling effects to cloth objects affected by the wind. This effect can occur in the Left/Right, Up/Down, or Back/Forward directions, where Forward is the wind direction and Up is the up-axis of the wind icon. ■ MagnitudeThe directional variance for the ripples. ■ FrequencyThe regularity of ripple formation. ■ Perturb TimeWhen in, the spatial perturbation is itself perturbed over time, meaning that the ripples move back and forth. The Perturb Time feature has its own Magnitude and Frequency parameters. When off, the rippling cloth should eventually come to rest, unless Perturb Speed is on. Use Range [Animatable] When on, the wind effect has the specified range of action, starting from the icon. The range limit is displayed in the viewport, as depicted in the following illustration. Wind | 4459 ■ Fall OffThe extent to which the wind effect falls off towards its range limit. You can choose from None, Inv (strength decreases proportionally to distance), and Inv Sq (strength decreases proportionally to the square of the distance). Enable Sheltering [Animatable] When on, objects can be sheltered from the wind by other objects. Applies To These check boxes allow you to specify the types of objects that are affected by the wind. You can choose from Rigid Bodies, Cloth, Soft Bodies, and Ropes. Disabled Removes the wind from the simulation. Display The size of the wind icon in the viewports. Reset Default Values Resets the default property values for this Wind helper. The reactor Utility Utility panel ➤ reactor You can access much of reactor's functionality through the reactor utility. It lets you preview the simulation, change world and display parameters, and analyze the convexity of objects. It also lets you see and edit the rigid body properties associated with objects in the scene. Perhaps most important, it lets you switch between the Havok 1 and Havok 3 engines. 4460 | Chapter 14 reactor The utility is divided into a number of rollouts. For more information, follow the links. More information about the two different Havok versions is available later in this topic, in Differences between Havok 1 and Havok 3 on page 4461. ■ About: Choose Havok 1 or Havok 3 solver ■ Preview and Animation on page 4462 ■ Havok 1 World/Havok 3 World on page 4464 ■ Collisions on page 4468 ■ Display on page 4470 ■ Utils on page 4472 ■ Properties on page 4475 Differences between Havok 1 and Havok 3 You can use either of two different dynamics solvers in reactor: Havok 1 or Havok 3. To switch between them, choose the desired solver from the drop-down list on the About rollout. The active solver is saved with the scene file. The difference between the two, in a nutshell, is that Havok 1 provides a broader range of functionality, but Havok 3 is faster and more accurate. If your simulation requires only rigid bodies, you'll generally get better results with Havok 3. The reactor Utility | 4461 Following is a more detailed list of differences: Feature Havok 1 Havok 3 Simulation Discrete only Discrete or Continuous on page 4467with extra parameters Supported bodies Rigid/Cloth/Soft/Rope/Deforming Mesh/Water Rigid only Rigid Body Properties on page 4284 Standard Standard + Shell/Penetration/Quality on page 4286 Cooperative Constraints ➤ Breakable Constraints on page 4318 Linear, Angular Threshold Cooperative Constraints ➤ Strength settings on page 4318 Strength, Tau Strength only Preview Window: display Textures, smoothing, actual geometry Simulation geometry only Preview Window: interaction during preview right-button drag hold Spacebar and move mouse Toy Car on page 4380 Standard Additional parameters NOTE If you preview a simulation or create an animation using Havok 3 and the scene contains non-supported entities such as soft bodies, reactor simply ignores these entities and excludes them from the simulation. Preview & Animation Rollout Utility panel ➤ reactor ➤ Preview & Animation rollout This rollout lets you run and preview your reactor simulation, as well as specifying timing parameters for the simulation. 4462 | Chapter 14 reactor Interface Start Frame When creating a world to be simulated or previewed, reactor needs to access the objects in 3ds Max at a fixed point in time. This parameter defines this point in time (in 3ds Max frames). Initial shapes, positions and velocities are taken from the actual shapes, positions and velocities of the objects in the scene at this particular frame. When creating an animation, keyframes are created starting from this frame to the End Frame time. End Frame The last frame to simulate. When reactor creates an animation, it generates keyframes from the Start Frame time to this frame. Frames/Key The number of frames for every keyframe that reactor creates (time step). For example, a value of 2 will create a keyframe every other frame. Increasing this value forces reactor to take bigger time steps, potentially reducing the accuracy of the simulation; you might need to then update the Substeps/Key setting accordingly (see following). Preview & Animation Rollout | 4463 Substeps/Key The number of reactor simulation substeps per keyframe (that is, per time step). The higher this value, the more accurate the simulation will be, although it will also require more computation to simulate. For information about time steps and substeps, see Time Steps on page 4266. Time Scale This parameter maps between time in the simulation and time in 3ds Max. Changing the value lets you slow down or speed up the animation. Values less than 1.0 produce slow-motion animations, while values greater than 1.0 produce sped-up animations. Create Animation Runs the simulation and creates keyframes, starting at Start Frame and ending at End Frame. Update Viewports When on, updates the scene in the viewports as the animation is created. Create List/Layer When on, creates a List controller on page 3528 (unless one is already present) for the position and rotation tracks of those rigid bodies using Position/Rotation/Scale transform controllers. A new subcontroller is added to the List controller to hold the keys created by reactor. This new controller is weighted to 100, while the previous controllers are weighted to 0. In the special case of rigid bodies belonging to a character studio Biped on page 4822, a new biped layer is created every time a reactor animation is generated. Preview Animation Previews the simulated scene in the Preview Window on page 4476. Havok 1 World / Havok 3 World Rollout Utility panel ➤ reactor ➤ Havok 1 World/Havok 3 World rollout This rollout lets you set some general parameters for your simulated world, such as the strength and direction of gravity, the scale of the world, and how easily objects can collide with each other. When Choose Solver is set to Havok 1, the rollout name is Havok 1 World, and when Choose Solver is set to Havok 3, the name is Havok 3 World. Interface The only difference between the two different versions of the Havok World rollout is that the Havok 3 World rollout contains an extra group of parameters 4464 | Chapter 14 reactor at the end, named Simulation. The following illustration shows the Havok 3 version of the rollout. Gravity The acceleration, in world units, the objects in a scene have due to gravity. It is an important value because it affects the overall feeling of scale in a dynamics simulation. reactor will generate a warning if you specify a non-standard Gravity value compared to World Scale (see following); that is, if you set the value much higher or lower than –9.8 m/s2, where m is World Scale’s representation of one meter. The warnings are provided for guidance and can be safely ignored if you are happy with the behavior of your animation. The default Gravity value reflects "real-world" gravity: –9.8 m/s2 (–386.22 inches/s2) on the Z axis. For more information, see Scale on page 4269. World Scale The distance in 3ds Max world units, that represents one meter in the reactor world, and hence determines the size of every object in your simulation. NOTE Changing the World Scale value can drastically alter simulated objects' behavior. For more information, see Scale on page 4269. Havok 1 World / Havok 3 World Rollout | 4465 Col. Tolerance (Collision Tolerance) One of the tasks that reactor performs at each simulation step is detection of whether any objects in the scene are colliding, and then updating the scene accordingly. If objects are closer together than the Collision Tolerance value, reactor considers them to be colliding. A high Collision Tolerance value results in a stable simulation, but it can also cause gaps between "colliding" objects. The default value is 1/10th of World Scale (10 cm if you are modeling using real-world sizes), and it is a good rule of thumb to always keep it above 1/40th (4 mm), due to floating point precision limits in the processor. For standard scenes and object sizes, the default parameters for world scale and tolerance should be adequate. If you are simulating very small objects where the tolerance is still to visible, try reducing the World Scale value and the Collision Tolerance and Gravity accordingly. For more information, see Scale on page 4269. Add Deactivator When on, reactor adds a deactivator to the simulation. The deactivator keeps track of the objects in the simulation and deactivates (stops simulating) objects that it determines are at rest. This keeps reactor from wasting system resources simulating objects that aren't doing anything. When Add Deactivator is on, you have access to two distance parameters for determining whether an object is moving or not. The reason that there are two properties rather than just one is for bodies that vibrate. It's possible that a body can end up vibrating after a collision or some other occurrence. A vibrating body might vibrate a few millimeters in distance, which would keep it active for a typical Short Frequency test. However, the object is not really moving anywhere, so keeping it active wastes CPU time. However, if it vibrates in place, it fails the Long Frequency test and is deactivated. ■ Short FrequencyThe minimum distance, usually in millimeters, that an object must move during each step of a simulation. If an object in a simulation does not move the specified distance in each step, reactor deactivates it. ■ Long FrequencyAlso sets a distance, usually larger than the Short Frequency value. Long Frequency checks every few steps simulation rather than at every step. Any object that does not move the required Long Frequency distance is deactivated. Add Drag Action When on, ensures that rigid bodies are subject to constant drag. This damps their linear and angular velocities, so they come to rest sooner. This is useful, for example, where rigid bodies are joined with 4466 | Chapter 14 reactor constraints on page 4299, as it helps the constrained bodies to come to rest despite the forces applied by the constraints. ■ LinThe linear damping applied by Add Drag Action. ■ AngThe angular damping applied by Add Drag Action. Do Not Simulate Friction When on, reactor ignores all Friction values during the simulation, and objects slide easily across each other. Fracture Penetrations These parameters let you adjust how reactor simulates Fracture objects. For details, see World rollout ➤ World rollout > Fracture Penetrations group on page 4394. Simulation group These controls are available only with the Havok 3 engine. The first lets you choose how reactor computes the simulation: ■ Discretereactor checks for collisions only at the beginning and end of each simulation step. This is faster but less accurate. ■ Continuousreactor checks for collisions constantly, throughout each step. This is the default choice, and results in slower but highly accurate simulations. This option significantly reduces the chances of missed collisions. Max Linear Vel. The assumed maximum linear velocity for all bodies. This does not set objects' linear velocity. If, later on, a rigid body's velocity significantly exceeds this value, it might tunnel through other objects even if its Quality property is set to Critical. The default value is 200 meters/second. This value is used during continuous simulations by the collision solver to optimize the simulation, so if it can assume a maximum linear velocity it can discard several cases and get a solution faster. Stiffness The hardness of the constraints in the scene. Use this parameter to configure the dynamics solver. When constraints used in the scene are very hard or stiff, set this to Hard; the Soft or Medium setting works most other cases. Setting Stiffness to Soft can lead to unstable solutions if the constraints are too stiff. TIP Another way to reduce the stiffness of the simulation is by lowering the Strength value of constraints, thus relaxing the constraints. Havok 1 World / Havok 3 World Rollout | 4467 Collisions Rollout Utility panel ➤ reactor ➤ Collisions rollout These settings let you store collision details from your scene, and enable and disable collision detection for specific pairs of objects. Pairs of objects with collisions disabled pass through each other during the simulation. Disabling collisions can be useful when you have objects that are attached together, such as the wheels of a car and its chassis. This means reactor doesn't check for every small collision between the objects, which can slow down the simulation. Interface Collisions rollout Store Collisions See Storing and Accessing Collisions on page 4396. Filter Before Storing See Storing and Accessing Collisions on page 4396. Define Collision Pairs Opens the Define Collisions dialog on page 4469 . This allows you to toggle collision detection between specified pairs of objects. Pairs of objects with disabled collisions pass through each other during the simulation. Selected Pair: Enable Lets you quickly enable collisions between the selected pair of objects. This button is available only when both objects are part of a 4468 | Chapter 14 reactor collection (not necessarily the same collection) and their collisions are currently disabled. Selected Pair: Disable Click this button to quickly disable collisions between the selected pair of objects. This button is available only when both objects are part of a collection (not necessarily the same collection) and their collisions are currently enabled (the default condition). Define Collisions Dialog Entities Lists the names of the reactor bodies in the scene (any object added to a collection). Highlighting one object populates the Enabled Collisions and Disabled Collisions lists for that object with respect to the other bodies in the scene. If you select more than one object in this list, how the Enabled/Disabled lists are populated depends on the value of Common Collisions. Common Collisions When on, if more than one object is highlighted in the Entities list, the Enabled and Disabled lists are populated from the list of possible pairs that can be made using only the highlighted objects. When off, the lists contain all possible pairs from the scene that contain at least one of your selected objects. For example, take a scene containing four bodies: Box01, Box02, Box03, and Box04. If Common Collisions is on, and you then highlight Box01 and Box02 in the Entities list, then the only possible pair that just includes your selected objects is Box01<->Box02. If you highlight Box01, Box02, and Box03, the possible pairs using these objects are Box01<->Box02, Box02<->Box03 and Box01<->Box03. If you highlight the same objects with Common Collisions off, then the lists also include the highlighted objects paired with the remaining objects in the Collisions Rollout | 4469 collection. This means that the available pairs would now include Box01<->Box04, Box02<->Box04 and Box03<->Box04. This option is on by default. Enabled Collisions Lists pairs with collisions enabled. Disabled Collisions Lists pairs with collisions disabled. Disable Selection (Right Arrow) Moves pairs highlighted in the Enabled list to the Disabled list. Disable All (Double Right Arrow) Moves all pairs in the Enabled list to the Disabled list. Enable Selection (Left Arrow) Moves the pairs highlighted in the Disabled list to the Enabled list. Enable All (Double Left Arrow) Moves all pairs in the Disabled list to the Enabled list. OK Closes the dialog, saving any changes carried out while the dialog was open. Cancel Closes the dialog without saving changes. Display Rollout Utility panel ➤ reactor ➤ Display rollout This rollout lets you specify display options for previewing on page 4476 your simulation, including cameras and lighting. These options have no effect on the actual behavior of the final animation; they affect only the appearance of the preview window on page 4476. 4470 | Chapter 14 reactor Interface Camera Click this button and then pick a camera from the viewports to use as the initial view for the display. Your chosen camera’s name appears on the button. If you don’t assign a camera, the settings on the current Perspective viewport (if any) are used initially in the Preview Window. Display Rollout | 4471 Camera Clipping Planes If a camera is assigned, the display tries to use the camera to generate clipping planes. If no camera is assigned, reactor uses default values for the clipping planes in the display. Use Defaults It is possible that the clipping planes for your specified camera are not sufficient to display everything in the scene. Rather than having to change these values in the window every time the simulation is run, you can turn off Use Defaults and then specify your own clipping planes using the Near Plane and Far Plane values. ■ Near PlaneThe near plane to be used when Use Defaults is off. ■ Far PlaneThe far plane to be used when Use Defaults is off. Lights Lists the scene lights reactor uses for the preview. When the list is empty, reactor creates and uses a flashlight at the camera position; you can toggle this light from the Preview Window World rollout ➤ Display menu. You can combine up to six omni lights or spotlights to create the preview lighting. Choose lights from the scene one at a time with the Pick button, or add from a list of the available lights in the scene using the Add button. To remove a light from this list, highlight it in the list and then click Delete. Texture Quality The size (NxN pixels) of the textures generated for use in the display. A smaller value uses less memory. Mouse Spring These options allow you to configure the spring used when you select objects with the right mouse button (Havok 1) or Spacebar (Havok 3) in the preview window on page 4476. ■ StiffnessThe stiffness of the mouse spring. If the mouse spring is too strong you might be able to pull objects through each other; this won’t cause errors, but it can create an undesirable state. Default=30.0. ■ Rest LengthThe rest length of the mouse spring. Default=0.0. ■ DampingThe damping value for the mouse spring. Default=1.0. Use DirectX When on, the 3D rendering in the preview window uses the DirectX system. When off, the window uses OpenGL. reactor Utilities Utility panel ➤ reactor ➤ Utils rollout 4472 | Chapter 14 reactor Animation menu ➤ reactor ➤ Utilities reactor provides a number of helpful utilities that you can use to analyze and optimize your simulation. For instance, you can check your reactor world for the presence of any unusual physical states that might cause problems with the simulation, such as excessive gravity, and you can remove redundant keyframes from a generated animation. You can also access these utilities from the reactor menu. Interface reactor Utilities | 4473 Analyze World This utility begins by creating a simulation. If it finds any errors while constructing the simulation, such as invalid numbers of objects in systems or invalid meshes that would stop the simulation from running, it reports these in a dialog. These error checks are always carried out when creating a simulation, and if any of the tests fail the simulation cannot continue. If your simulation passes the initial error checks, the world analysis begins. This checks for unusual physical states that could cause issues in simulation, such as interpenetrating objects or extreme values for gravity or object density. If any such states are found, the utility reports them in a window. Options include the ability to show errors and warnings, and to clear the window automatically before generating another analysis report. Analyze Before Simulation When on, reactor always calls Analyze World before previewing or running the simulation. Default=on. Stop Simulation on Warnings When on, prevents reactor from creating an animation if any warnings occur during analysis. For example, if the analysis finds that a body's property such as Friction exceeds the bounds of real-world values, it halts generation of the animation. Has no effect on the Preview process. Default=off. Report Problems After Simulation When on, reactor reports problems detected during the simulation after it's finished. Default=on. Analyze on Solver Switch When on, reactor automatically calls Analyze World when you change the solver from the About rollout. Default=on. Save Before Simulation When on, reactor saves your scene before simulating. 4474 | Chapter 14 reactor Suppress Animation Warning When off, and you click Create Animation, reactor opens an alert warning you that animation creation cannot be undone, and asking you to confirm. When off, reactor simply creates the animation without warning you. Default=off. Key Management group After generating an animation with reactor, you often end up with a number of redundant keyframes. For instance, in a scene with a rolling rigid body, creating the initial animation might result in a keyframe for every frame. However, you can actually specify the body's animation with keys at just a few frames (perhaps frames 0, 25, and 90), allowing 3ds Max to interpolate frames between them. This utility allows you to remove any redundant keyframes for specified objects, thus saving memory. This functionality applies only to rigid bodies. Reduction Threshold Specifies how aggressive the key reduction is. Increasing this value causes more keys to be deleted, but the animation might lose fidelity. Lowering it retains more keys with greater accuracy, at the cost of memory. Default=0.5. Reduce After Simulation When on, reactor automatically applies keyframe reduction each time you simulate. Reduce Now Reduces keyframes for all the rigid bodies in the simulation. Delete All Keys Deletes all keyframes for all the rigid bodies in the simulation. Selection group Test Convexity Performs a convexity test on the object currently selected in the viewport, allowing you to check whether the object is convex or concave on page 4288 before choosing a simulation geometry on page 4287. Delete Keys Deletes all keyframes for the objects currently selected in the viewport. Reduce Keys Reduces keyframes for the objects currently selected in the viewport. Properties Rollout Utility panel ➤ reactor ➤ Properties rollout Properties Rollout | 4475 reactor toolbar World rollout ➤ Open Property Editor For details of this rollout, see Rigid Body Properties on page 4284. The Real-Time Preview Utility panel ➤ reactor ➤ Preview And Animation rollout ➤ Preview In Window button Animation menu ➤ reactor ➤ Preview Animation reactor toolbar ➤ (Preview Animation) It's useful to be able to preview reactor simulations from within 3ds Max. The Preview Window lets you view and interact with a simulation in real time. You can run the simulation, interact with the objects in the scene using the mouse, and even update your objects in 3ds Max with their current state in the preview. Procedures To preview a simulation in the Preview Window: 1 Choose one of the above commands. 2 If no errors are found in your current scene setup, the Preview Window opens with your scene. 3 Press P to start the simulation. At any time during the simulation, you can orbit around the scene by left-button dragging the mouse within the Preview Window. With Havok 1 and Havok 3, you can pan the window by middle-button dragging; with Havok 3, you can also pan the window by right-button dragging. To interact with objects in the Preview Window : 1 Position the mouse cursor over the object you want to interact with, and then press and hold the right mouse button (Havok 1) or the Spacebar (Havok 3). 4476 | Chapter 14 reactor This creates a reactor spring between the mouse cursor and your chosen object. 2 While holding the right mouse button (Havok 1) or the Spacebar (Havok 3), move the mouse. This drags the object, letting you pull it around, unless it's a fixed object, or attached to one, and interact with other objects in the scene. 3 To release the object, release the right mouse button (Havok 1) or the Spacebar (Havok 3). To update 3ds Max from the Preview Window: 1 Preview the simulation as described above. 2 When the scene is in your chosen state (for instance, you might want to drape some clothing over a figure, or let some objects fall and roll on the ground), open the MAX menu and choose Update MAX. NOTE The scene in 3ds Max will not be refreshed until you close the Preview Window. The Real-Time Preview | 4477 Interface Preview Window Menus Timing At the bottom of the window, profiling and timing information is shown : The information presented is: ■ The current time step (simulation step) on page 4266 used for the simulation. This value is initially taken from the Preview & Animation rollout on page 4462 but can also be changed by using the Performance menu on page 4480. ■ The number of substeps on page 4266 used for the simulation. Again, this value is initially taken from the Preview & Animation rollout on page 4462 but can also be changed by using the Performance menu on page 4480. ■ The current simulation time; that is, the time that the current image in the preview represents in the final animation. 4478 | Chapter 14 reactor During the preview, reactor tries to run the simulation in real time. In other words, if a simulation step of one second takes only 0.7 second of CPU to simulate, reactor "waits" 0.3 second before simulating the next step. That way, the animation is presented in the window at the same speed as the final animation in 3ds Max. However, for complex scenes or slow CPUs, simulating a particular period of time can take actually more CPU time than the specified period. For example, a simulation step of one second might actually take two seconds to calculate. In that case, it is not possible to present the animation in real time, and the animation is therefore presented during the preview at a slower speed that the final animation will have once it has been created. When this happens, the preview reports it by appending an asterisk (*) to the current time: Simulation menu Play/Pause (P) Starts and pauses the simulation. If the simulation is paused, the display remains active and you can still pan, rotate, and zoom the camera, but the physics world remains still. Reset (R) Resets the simulation, returning objects to their initial positions. Display menu IMPORTANT When About rollout World rollout ➤ Choose Solver is set to Havok 3, only Camera Settings is available from this menu. Camera Settings Opens a dialog that allows you to specify the near and far clipping planes for the camera, and to change the camera’s field of view (F.O.V.). The clipping planes can also be set externally from the reactor utility Display rollout. Faces When on, the faces (and not the edges) of the display bodies are rendered. Wireframe When on, the edges (and not the faces) of the display bodies are rendered. Sim Edges When on, the edges of the physically simulated geometry (the simulation geometry for each body) are rendered in the preview window. This is useful for seeing what’s physically happening in a simulation. Grid When on, three 2D grids are displayed in the XY, YZ and ZX planes. The Real-Time Preview | 4479 Origin When on, the X (in red), Y (in green) and Z (in blue) axis are displayed at the origin (0,0,0). Flashlight On/Off When on, a flashlight located behind the camera lights the scene. When off, lights defined on the Display rollout of the utility are used. If no lights are defined, the preview uses a single fixed light. Performance menu Fixed Step (60,50,40,30 fps) Choosing one of these options changes the frequency of the simulation to the given value; a frequency of 30 fps yields a time step of 1/30 (0.0666) second, 50 fps means a time step of 1/50 (0.02) second, etc. Substeps (1-100 substeps) Choosing of these options sets the number of substeps taken in every simulation step. Mouse menu This menu is available only when using the Havok 1 engine. Pick at C.O.M. During the preview, you can pick and drag objects (see To interact with objects in the Preview Window : on page 4476. A spring is the attached between the mouse cursor in the screen and the object. When this option is on, the spring is attached to the center of mass of the object. Otherwise the spring is attached to the point on the object where you first right-clicked. Mouse Help This option shows some help regarding the use of the mouse to control the camera and mouse picking. MAX Update MAX Takes the position and rotation of the objects in the simulation and uses them to update the objects in 3ds Max. Use MAX parameters Resets the substeps and time step (FPS) values to the values set in the reactor utility's Preview and Animation on page 4462 rollout. Display rollout The Display rollout of the reactor utility lets you configure various display options for the Preview Window, including cameras and lighting. For more information, see Display Rollout on page 4470. 4480 | Chapter 14 reactor Scripts and Tools This topic describes some useful scripts and tools that you can use to speed up your creation of reactor scenes. If you are interested in creating your own scripts, see the MAXScript Help, available from the 3ds Max Help menu. Setup Scripts These scripts allow you to quickly set up constraints and collections. They are run automatically when you follow the specified procedures. Constraint Creation This applies to all the reactor constraint on page 4299 types, except the Point-to-path constraint on page 4371. To create a constraint and attach objects in a single step: This method works with two or more objects only; it doesn't work with a single-body constraint setup such as Spring with a child only. 1 Create the object(s) to constrain, and then ensure they are both selected. If you select more than two objects, reactor will create constraints between them. If you link the objects together hierarchically in 3ds Max before creating the constraints, reactor will create constraints between link parents and children. Otherwise, reactor will examine the scene and try to choose appropriate pairs of objects. 2 Create the constraint(s) by using the reactor toolbar, menu or quad menu. The constraint automatically appears in the viewport, and as you will see in the constraint's Properties rollout, your objects are now attached to the constraint. If the objects are linked in 3ds Max, reactor will automatically make the link's child object the constraint child and the link parent the constraint parent. Otherwise, reactor will examine the scene and try to choose an appropriate parent and child. In addition, if the constrained objects are already added to a collection, reactor will disable collisions between them (except in the case of springs on page 4304). Scripts and Tools | 4481 Collection Creation This applies to all the reactor collection types: rigid body collections on page 4296, soft body collections on page 4423, cloth collections on page 4411, and rope collections on page 4431. It also applies to the Fracture on page 4387 and Constraint Solver on page 4319 helpers. To create a collection and add bodies in a single step: 1 Create the object(s) to add to the collection, then ensure that they are all selected. 2 Create the collection by using the reactor toolbar, menu or quad menu. The collection automatically appears in the viewport, and as you will see in the collection's Properties rollout, your objects are now added to the collection. The Rag Doll Utility This utility lets you quickly set up a simple humanoid character, using a mixture of Rag Doll on page 4322 and Hinge on page 4344 constraints to limit the movement of the character’s limbs. You can use the sample humanoid, or create your own character using the provided naming conventions and the script will set up its constraints. Alternatively, you can use the script as a basis for creating your own custom rag doll script. Procedures To create the sample rag doll: 1 From the Customize menu, choose Customize User Interface. Click the Toolbars tab, and from the Category list, choose reactor. Scroll the list to the Rag Doll Utility action, and then drag the action to a toolbar. This creates a “Rag Doll” button. Alternatively, you can use a similar method to create a custom keyboard shortcut or menu/quad entry for the same action. 2 Click the Rag Doll button or otherwise activate the utility, depending on the CUI method you’ve chosen. The Ragdoll dialog opens, with two rollouts: Create Humanoid and Constrain Humanoid. 3 On the Create Humanoid rollout, ensure that your chosen creation options are on, and then click Create Humanoid. A humanoid figure appears in the viewport. 4482 | Chapter 14 reactor 4 To set up the humanoid's constraints, ensure that your new humanoid is highlighted in the Humanoids list on the Constrain Humanoid rollout (by default, it's called Ragdoll) and that your chosen options are active on the rollout. 5 Click Constrain Humanoid. The script creates Rag Doll constraints and Hinge joints with appropriate limits for the humanoid. In addition, if Create RBCollection and Create CSolver are on, the script creates these helpers and adds the bodies and constraints to them. To turn your own humanoid figure into a constrained rag doll: 1 Create your figure using the naming conventions described in How It Works on page 4486. 2 Run the script as described above. The script searches the scene for geometry that follows the naming conventions and adds your figure to the Humanoids list. 3 Ensure your figure is highlighted in the list and then click Constrain Humanoid. Scripts and Tools | 4483 Interface Create Humanoid rollout Name Root This text box stores the root name for the objects to be created. For example, the Name Root "RagDoll" generates objects with names such as RagDoll Pelvis and RagDoll R UpperArm. Height The height of humanoid to be created. Vertebra The number of vertebra to be created in the character's spine. Add Hands When on, reactor creates boxes for the character's hands. Add Feet When on, reactor creates boxes for the character's feet. Link Parts When on, reactor links the created parts as a 3ds Max hierarchy. Create Humanoid Click to create the humanoid objects and add them to the scene. 4484 | Chapter 14 reactor Constrain Humanoid rollout Humanoids Displays a list of potential humanoids found in the current scene that could be used for creating rag dolls. In generating this list only the root node is examined so it is, in effect, a list of valid root nodes in the scene. If the rest of the hierarchy does not exist for a given root, when you use the root to create a rag doll 3ds Max writes errors to the MAXScript listener. Scripts and Tools | 4485 Vertebra The maximum number of Rag Doll constraints that the script creates for the character's spine. If this value exceeds the number of valid vertebrae in the selected humanoid, the script won't create the excess constraints. Create RBCollection When on, the tool creates a Rigid Body Collection on page 4296 and places all the parts of the newly created rag doll character into it. Create CSolver When on, the script adds a Constraint Solver on page 4319 to the scene, which is then associated with the freshly created Rigid Body Collection. All the hinges and rag doll constraints that are created for the selected humanoid are added to this. This option is available only if you have chosen to create a Rigid Body Collection. Add Hands When on, if the selected humanoid has hands, the script creates constraints to connect the humanoid's hands to the rest of the body. Add Feet When on, if the selected humanoid has feet, the script creates constraints to connect the humanoid's feet to the rest of the body. Snapshot Parts When on, the script creates a separate geometry object for each object to be attached to a constraint. It is the newly created snapshot that is then used in the constraint and added to the collection (if a collection is being created). Link To Original When on, the newly created snapshot geometries are linked to the original geometries. Available only when Snapshot Parts is on. Change Name When on, each geometric component of the new rag doll is prefixed with the text in the New Name field. Available only when Snapshot Parts is on. New Name When on, each geometric component of the new rag doll is prefixed with the text in the New Name field. Constrain Humanoid Click to create the Rag Doll constraints and, depending on the active options, also create a copy of the source objects, a Rigid Body Collection, and a Constraint Solver. How It Works The script works by assuming that you've used the following naming conventions for the rag doll parts. This naming convention follows that used by the character studio Biped object to name the limbs. However, as long as they are named as following, you can use any geometry created in 3ds Max. 4486 | Chapter 14 reactor The script scans the selection for geometry with names that include one of the following: ■ _R_UpperArm ■ _R_ForeArm ■ _L_UpperArm ■ _L_ForeArm ■ _R_Thigh ■ _R_Calf ■ _L_Thigh ■ _L_Calf ■ _Pelvis ■ _Spine ■ _Head The script assumes that there is only one of each type of part, except in the case of the spine, which can have up to five parts. At this point the adjoining parts are connected, using mostly Rag Doll constraints on page 4322. However, the script also uses Hinges on page 4344 for the elbow and knee joints, as using Rag Doll constraints would be overkill to achieve the simple constrained motion found in an elbow joint. The script also sets suitable limits for each constraint. In addition, the script sets the mass of each rigid body in the character to 10.0 kilograms, and the simulation geometry to be a bounding box. It also disables collisions between constrained pairs of bodies. Frequently Asked Questions This topic answers some frequently asked questions about reactor. Frequently Asked Questions | 4487 A figure floats on water. See also: Troubleshooting on page 4492 Can I assign initial velocities to objects? How? Yes. At the start of the simulation, reactor assigns to each object the velocity it currently has in 3ds Max. In other words, if an object is moving during the frame range A to B, and you start the reactor animation setting Start Frame on page 4462 in between A and B, the object will start with the velocity it had in your animation. WARNING Make sure the object has the desired velocity at the exact frame where reactor starts the simulation (Start Frame). Since 3ds Max usually decelerates an object when animating its movement using keys at time A and B, starting the reactor animation at time B won't add any velocity to the reactor simulation. In order to have initial velocity in the reactor animation, start at a frame between A and B. Is it possible to modify the animation in Cloth/Soft/Rope/Water? The animation for Cloth, Soft (mesh), and Rope is internally stored in the respective modifier using a memory-optimized format. Unfortunately, there 4488 | Chapter 14 reactor is no direct access to those keyframes. However, you can use the Point Cache modifier on page 1521 to do some manipulations. There is some MAXScript access to Water keyframes. For details on MAXScript, choose Help World rollout ➤ MAXScript Help. What happened to Point-Nail constraint? The Point-Nail constraint from reactor 1 has been superseded by generalizing the Point-Point constraint on page 4351. The old Point-Nail constraint is equivalent to a-single bodied Point-Point constraint Can I apply the Cloth/Soft/Rope modifier to part of a mesh? While the Soft, Cloth, and Rope on page 4401 modifiers apply to all the vertices, you can fix or keyframe vertices of the mesh or spline by using deformable constraints on page 4437. Fixed or keyframed vertices will not be simulated physically Can I apply the Cloth/Soft/Rope modifier to more than one object? In general, no, because the animation is stored explicitly in a single modifier. The only exception is the FFD soft body on page 4419: If you have an FFD modifier applied to more than one object, you can apply a reactor Soft Body modifier on page 4415 to any (or many) of the bodies. You should still add only one of the objects to the Soft Body Collection on page 4423. Which parameters can I animate? Only Wind on page 4456 parameters are animatable. Can a keyframed object participate in the simulation? Yes. For objects that don't change shape, and for which reactor should not create keyframes, use unyielding on page 4286 rigid bodies. For objects that change shape (deform), use deforming meshes on page 4433 . NOTE Unyielding rigid bodies are much faster and simpler to simulate than deforming meshes. Can reactor store collisions for deformable bodies (Soft, Cloth, Rope)? No. The storing collisions on page 4396 functionality applies only to rigid bodies. Frequently Asked Questions | 4489 What are the limitations of Water on page 4450 in reactor? Water in reactor is simulated as a height field (points are displaced vertically only). This can produce effects like ripples and waves, but it cannot reproduce certain other effects: ■ Wakes ■ Splashes. You can, though, use the information exposed through MAXScript to generate particles or other effects. ■ Flowing fluids (like water flowing through a pipe or pouring from a tap). Can I move the center of mass of my objects? How? You can't explicitly set the center of mass of an object. However, you can use compound rigid bodies where different pieces have different masses to simulate uneven mass distribution. For example, you can simulate an object with a low center of gravity by dividing the object into two pieces (primitives), top and bottom, where the bottom piece is heavy and the top piece is light; alternatively, you leave the original piece intact, with low mass, and add a small, heavy primitive at the point of the desired center of mass. For more information, see Compound Rigid Bodies on page 4294. 4490 | Chapter 14 reactor Rocking toy with center of mass at the bottom of the globe Can I attach Cloth/Rope/Soft Bodies to other Cloth/Rope/Soft Bodies? No. However, once a piece of, say, cloth has been simulated, you can take it out of its Cloth Collection and add it to a Deforming Mesh Collection on page 4435. By doing so, the cloth will still be part of the simulation the next time, but reactor won't recalculate its animation. You can then attach other pieces of Cloth/Soft/Rope to it by using the Attach To Deforming Mesh on page 4445 constraint. How can I make a rigid body not move until a collision happens? You can use the Inactive on page 4286 property for the rigid body. How can I animate a floating object, like a balloon? There are many alternatives you can try: ■ Use water on page 4450. The buoyancy of a balloon in the air follows the same rules as the buoyancy of a light object inside a fluid. You will need to place the water surface well above the scene so the objects are not visible when they reach it. Frequently Asked Questions | 4491 ■ Use very low mass for the objects, and add wind on page 4456 blowing in the up direction. You might want to also decrease the strength of gravity. Troubleshooting This topic provides solutions to some problems with reactor simulations that you might encounter. A character collides with a fracturing window. Check also : Frequently Asked Questions on page 4487 General Troubleshooting Analyzing the World Whenever you get unexpected behavior from reactor, it is advisable to perform a world analysis on page 4474 to get a report of anything detected by reactor as suspicious, unexpected, or prone to error in your scene. For more information, see reactor Utilities on page 4472. 4492 | Chapter 14 reactor Discussion Forums The Area provides you with a moderated community to discuss, learn, and share techniques and ideas with other 3D professionals. Need to know how to do something? Having a problem? Just want to show off your work? Post your questions to the appropriate forums. Simulation takes too long. General tip: ■ Before performing a CPU-intensive operation such as Create Animation or Reduce Keys, make sure you don't have any object selected in the scene. Having an object selected during some calculations can force 3ds Max to evaluate the selected object many times in order to update its UI, slowing down the calculations. If the scene is complex but contains independent parts that don't interact with each other, try adding the objects involved to different collections and solvers and create the animations independently for each subset, enabling and disabling the collections and solvers accordingly. If you are using Soft Bodies, Cloth, or Rope on page 4401: ■ Try to reduce the complexity of the mesh that flows to the reactor modifier. For example, you can apply a MeshSmooth modifier on top of the reactor modifier to render a smooth surface while simulating a simpler one. ■ For soft bodies with complex meshes, using FFD soft bodies on page 4419 can offer better results and decrease the computation time. ■ Unless necessary, do not use the Avoid Self-Intersections option, because it increases computation time and memory usage significantly. ■ Try to reduce the number of substeps on page 4462 used in the simulation. Also try to decrease the number of Internal Steps used by the Cloth/Soft/Rope collection. NOTE These steps also reduce the accuracy of the simulation, and can therefore cause instability. If you are using rigid bodies on page 4282: ■ For best results when using rigid bodies only, set Utilities panel World rollout ➤ reactor World rollout ➤ About rollout World rollout ➤ Choose Solver to Havok 3. Troubleshooting | 4493 ■ Reduce the complexity of the geometry used for the rigid bodies. Try using bounding boxes or sphere, and avoid using non-fixed concave objects. Use simpler geometry as a geometry proxy on page 4287 for the object. ■ If you are using Fracture, slowdowns can be caused by reactor trying to avoid instability. Follow some of these tips on page 4394 to help reduce the chances of instability happening ■ Try decreasing the number of substeps on page 4462 used in the simulation. Be aware that this will reduce the accuracy of the solution and therefore may cause instability. Water doesn't render. The reactor Water on page 4450 is a world-space modifier and therefore it is not a renderable object. You can bind renderable object (like planes) to the water WSM in order to render a water animation. See Rendering Water on page 4454. Cloth/Soft/Rope becomes unstable and explodes. ■ Check whether any unyielding rigid body or DefMesh on page 4433 is forcing the Cloth/Soft/Rope into a penetration. ■ If you are attaching to a rigid body on page 4443, make sure that the points of attachment are outside the rigid body; otherwise, make sure Ignore Collision is on. ■ If your Cloth/Soft/Rope is attached to a rigid body on page 4443, use Runge-Kutta as the ODE Solver for the Rigid Body Collection on page 4296 of the attached rigid body ■ Try increasing the amount of internal steps in the Cloth/Soft/Rope collection (Advanced rollout). Rigid bodies become unstable/explode/fly to infinity. In rare situations, simulation can become unstable and objects can "explode.” This typically happens only when using complex systems of objects, like Fracture on page 4387, or using simple constraints on page 4303 like springs or dashpots. ■ For best results when using rigid bodies only, set Utilities panel World rollout ➤ reactor World rollout ➤ About rollout World rollout ➤ Choose Solver to Havok 3. 4494 | Chapter 14 reactor ■ If you are using many simple constraints on page 4303 (spring, dashpots) working together, switching the ODE Solver in the Rigid Body Collection on page 4296 to Runge-Kutta can improve the results. ■ Usually, increasing the number of substeps on page 4462 in the simulation improves the stability of the simulation. ■ Also for springs and dashpots, avoid attaching objects with very different masses. Using a Strength value similar to the mass of the objects attached, and a Damping value of 1/10th of that Strength usually give good results. ■ If you are using constraints on page 4299, make sure you have aligned the constraint spaces on page 4300 properly. ■ If many objects start the simulation too close too each other (inside collision tolerance on page 4466), reactor will try to push them apart at the beginning of the simulation. Try increasing the space between them, or reducing the collision tolerance. ■ If you have constrained two rigid bodies so they are in continuous contact/penetration (like an upper arm and a forearm), be sure to disable collisions on page 4468 between those bodies. ■ Adding drag action on page 4466 can help damp the overall simulation. Try increasing the linear drag in the scene. ■ If you are working with Fracture, the Fracture Tips on page 4394 section provides information on how to avoid instability. Cloth/Soft/Rope object stretches too much If you have attached (using the Attach to RB Constraint on page 4443) it to a falling object, be sure to turn off Do Not Affect Rigid Body. If the problem remains, increase the mass of the Cloth/Soft/Rope, or decrease the mass of the attached rigid body. Increasing the strength and damping of the Cloth/Soft/Rope should also improve the situation. Objects seem to move very slowly Make sure you are using the proper World Scale on page 4464 in the scene. A 10cm box falling from a 1m height doesn't behave the same as a 1km box falling from a height of 10km: The second one will reach the ground much later). Use real-world units or have a proper mapping between 3ds Max units and simulation units (World Scale on page 4464). Troubleshooting | 4495 Why, after simulation, do I get warnings regarding "topology changes"? The term “topology” refers to the internal connections of the vertices, edges and faces of a mesh. If you change the number of vertices in a mesh, you are changing its topology. While 3ds Max lets you animate the topology of objects (e.g., change the number of vertices or faces over time), reactor can simulate only objects with fixed numbers of vertices. If, during a simulation, reactor detects a topology change, it ignores the object in question and reports the problem as a warning. Objects interpenetrate. There can be different reasons for this: ■ Check that you haven't disabled collisions for those bodies. You can disable collisions either globally on page 4468 for pairs of objects, or for the object in particular (Rigid Body Properties on page 4284). ■ If the objects are attached using deformable constraints on page 4437, make sure you haven't disabled collisions in the constraint parameters. ■ Make sure Collision Tolerance on page 4466 is set to a value that makes sense for the sizes of the objects. ■ Try increasing the number of substeps on page 4462 in the simulation. Cloth/Soft/Rope intersects itself. Make sure you have turned on the Avoid Self-Intersections option in the modifier on page 4401. I can't add an object to a Cloth/Soft/Rope Collection. Only an object that has the proper reactor modifier applied can be added to one of these collections. Make sure you have applied a reactor Cloth on page 4403, Soft Body on page 4415, or Rope on page 4425 modifier to the object. I can't add an object to a Rigid Body Collection. If you are using compound bodies on page 4294, make sure the group is open, as only the group parent can be added to a Rigid Body Collection on page 4296. Mass and other properties are disabled. Make sure you have selected only one object, and that this object is geometrical. The most common cause for this is the use of groups. You can use groups to create compound rigid bodies on page 4294, but in order to change 4496 | Chapter 14 reactor the properties of the primitives inside the group, you'll need to open it and selected the individual primitives inside it. Rigid bodies don't bounce enough. Increase the Elasticity property on page 4284 of the object. Try also increasing the Elasticity of the other object involved in the collisions, as the elasticity of a collisions is a function of the elasticity property on page 4284 of the two objects involved. Objects stop moving unexpectedly in the middle of a simulation. This can be caused by objects being deactivated. There are two ways objects can be deactivated: through the world on page 4464 deactivation or, if the object belongs to a constrained system, through the Constraint Solver on page 4319 deactivation parameters In both cases, try modifying the deactivation parameters for a less-aggressive deactivation, or disable deactivation in general. An object doesn't move during the simulation. Make sure that you've added the object to a RBCollection on page 4296 and that it has a mass on page 4284 other than 0.0 (objects with mass 0.0 are fixed). If you are using Fracture on page 4387, make sure none of the pieces is fixed (has mass 0.0). A keyframed object doesn't move during the simulation. Make sure that you enabled the unyielding on page 4284 property for that rigid body. My old scripts don't work. reactor exposes parameters and functionality to MAXScript in a much more consistent and complete way than previously. For the update, some reactor MAXScript interfaces had to be renamed, but all functionality exposed in previous versions is still available, and a lot more functionality has been exposed. While this means that some reactor-specific scripts need to be updated, it also means that a great deal more flexibility and power is now achievable using MAXScript with reactor. For more information, see the MAXScript Help, available from the Help menu. Troubleshooting | 4497 I can't disable collisions between two bodies. If your objects don't appear in the Define Collisions dialog on page 4469, make sure you've added the two bodies to a collection; only objects in collections are shown in that dialog. Rigid bodies don't sink/don't float in the water. Objects sink or float depending on their density and the density of the water. You define water density explicitly in the Water space warp on page 4450. The density of a rigid body is defined as its mass divided by its volume. ■ Check that your objects have real-world sizes (or adjust the world scale on page 4464) and masses on page 4284. If your bodies still don't sink enough for your liking, try the following: ■ Increase the mass of the bodies. ■ Decrease the density of the water. ■ Decrease the viscosity of the water, this can slow down the sinking. Follow the opposite steps if you're trying to make your objects float more. Water doesn't ripple enough You can either increase the Max Ripple value in the Water space warp on page 4451, or you can scale the effect of the space warp on a particular object that you've bound to the space warp by modifying the Scale Strength value in the Water world-space modifier on page 4454. The first option (increasing the Max Ripple value) is preferable, but you need to re-create the animation in order to see the effect. The second option (increase the Scale Strength parameter in the modifier) affects only the object bound to the Water space warp. It can thus produce inconsistent results if you have objects floating in the water, because they won't be affected by the change. I can't see any stored collisions. Make sure you've set reactor to store collisions on page 4396 during the simulation. Collisions are stored only for rigid bodies; not for Cloth, Soft Bodies, or Rope. 4498 | Chapter 14 reactor Constrained objects snap at the beginning of the simulation. During a simulation, reactor tries to match the two constraint spaces (sub-objects) defined in the constraint (see Constraint Concepts on page 4300 for more info). When you create a constraint those spaces are aligned by default. After setup, each space moves with the corresponding attached object. If you have moved the objects and wish to realign the constraint spaces, there are tools in the helper to do so (see Working With Constraint Spaces on page 4302 for more info). File size increases dramatically. ■ If you are using rigid bodies, try the Reduce Keys on page 4472 utility to reduce the number of keyframes created for each rigid body. ■ FFD-based soft bodies on page 4419 can also create a large number of keys in the FFD modifier (one for each vertex for each frame). Although the Reduce Keys on page 4472 functionality in reactor applies only to rigid bodies, you can reduce keys in the FFD modifier using the 3ds Max Reduce Keys tool, available from Track View on page 3827. reactor runs out of memory during simulation. Reduce the complexity of the objects simulated: ■ For rigid bodies, use a simpler geometry or proxy on page 4287 to simulate the object. ■ For Cloth and Soft Bodies, try to use a coarse mesh for the simulation, then apply a MeshSmooth modifier on top of the reactor modifier to smooth the final result. ■ For Soft Bodies, try to use FFD-based Soft Bodies on page 4419 instead of mesh-based soft bodies. For any deformable body, the Avoid Self-Intersection option is particularly memory-intensive. Avoid using this option if you are having problems regarding memory. Using FFD-Based Soft Bodies to animate a part of a mesh, the whole object seems to be rotated by the simulation. If you are using FFD Soft Bodies on page 4419 to animate just a subpart of a mesh, make sure the Animate Transform on page 4422 check box is off, as this option works only for FFD animating the whole mesh. Troubleshooting | 4499 Using FFD-Based Soft Bodies to animate a whole mesh, some weird squashing happens on occasion. If you are using FFD Soft Bodies on page 4419 to animate the whole mesh, sometimes the FFD modifier deformation can show artifacts when the lattice points are rotated. Try switching on the Animate Transform on page 4422 check box in the modifier to avoid those artifacts. Picking objects during preview makes them go unstable. Try reducing the strength and damping of the mouse spring on the Display rollout on page 4470. Objects barely move when picking during preview. Try increasing the strength and damping of the mouse spring on the Display rollout on page 4470. I can't see anything in the Preview Window. It might be caused by the lack of a proper camera; create a camera and select it in the Display rollout on page 4470. If still doesn't work, try changing the far and near clipping planes. The preview shows everything in black. If the scene uses texture maps but 3ds Max can't find the map files, they're shown as black. Disable textures by pressing X during the preview on page 4476. After the simulation I get a warning reporting that objects moved to infinity. When instability occurs, rigid bodies can reach extreme velocities and therefore move to infinity. If reactor detects this condition when creating an animation, it does not create keyframes, but instead reports the problem once the animation is finished. Check also the Rigid bodies become unstable on page 4494 section above. There is a visible gap between rigid bodies in the simulation. Try reducing the Collision Tolerance on page 4466 of the simulation. reactor complains about a no longer existing node. This can happen if you rename an object that is used as geometry or display proxy on page 4287 for a rigid body; proxies are stored by name, so if you change 4500 | Chapter 14 reactor the name of the proxy you'll have to manually update the rigid bodies that use it. Error : All vertices are coplanar, use concave mesh. By default, geometries in reactor are simulated by using their convex hull. reactor can't create a convex hull from geometry in which all the vertices lie in the same plane, such as a standard 3ds Max plane. Those geometries need to be simulated as concave. Check the Rigid Body Properties on page 4284 section for more information. Rope simulation modifies the smoothness of the spline. Although reactor simulates cloth as a series of linked vertices, the Rope modifier on page 4426 tries to produce a smooth curve going through the vertices. In most cases the curve generated by the modifier is suitable, but in some cases (for example, if the vertices in the spline are far apart) you might find that the generated curve is not optimal. In those cases you can: ■ Modify (refine) the spline below the Rope modifier so there is a uniform distance, not too great, between vertices. You will need to re-create the animation in order to see the final results. ■ Modify the spline after the Rope modifier using an Edit Spline modifier on page 1368. This is the most flexible option. Animation works in the preview, but not in 3ds Max after creating the animation. reactor creates the animation for rigid bodies on page 4282 by sending transforms (new rotation and new position) to the controllers assigned to those bodies. Some controllers, like procedural controllers (Noise) and some system controllers (Biped) do not handle these explicit transform updates. To overcome this, assign a regular keyframable controller such as Euler XYZ or Bezier to the objects or, if that's not possible or desirable, create a copy or snapshot of the bodies and make sure that a suitable controller is assigned to the snapshot copies. Use these copies for the reactor simulation instead. Rigid bodies in animation flicker and jump when playing the animation but not when moving the time slider. This is usually a problem with the subframe interpolation of the Euler (XYZ) rotation controller. While reactor sends valid transformation keys to the controller, the conversion from an arbitrary rotation to X,Y and Z Euler angles may cause non-smooth animations between keyframes (the controller produces Troubleshooting | 4501 noncontinuous X,Y and Z values). This problem can be solved by using a quaternion-based rotation controller, such as the TCB controller, for the rigid bodies. Preview Animation fails While the Preview Window on page 4476 should work with most OpenGL and DirectX compliant hardware, some specific hardware and driver configurations might cause problems: ■ Update to the latest drivers for your graphics card. Refer to the manufacturer's Web site for details. ■ Try to use DirectX instead of OpenGL (or vice versa) for the preview. This setting, independent of what is used for the 3ds Max viewports, can be changed on the Display rollout on page 4470. If you discover that your card works only with a particular configuration, you may want to create startup script (a script in the scripts/startup folder) that calls reactor.displayUsingDirectX = true/false. ■ Some problems can be caused by lack of display memory. Avoid having multiple sessions of 3ds Max open at the same time, and reduce the size of the windows and the display resolution. ■ Try changing the 3ds Max to different drivers: OpenGL, Direct3D or Software. Wind doesn't seem to work ■ Make sure the Wind Helper icon is pointing towards the right direction. ■ If the wind should act upon cloth, rigid bodies, etc., make sure the correct check box is on in the Wind Helper parameters. ■ Try to increase the strength of the wind, or decrease the weight of the objects it should affect. 4502 | Chapter 14 reactor Character Animation 15 3ds Max includes two complete, independent subsystems for animating characters: CAT and character studio. Both provide built-in, ready-to-go but eminently customizable character rigs that can be skinned with either the Physique on page 5294 or Skin on page 1614 modifier, and both are compatible with a range of motion-capture file formats. Each is quite powerful in its own way, but there are significant differences between them. The best way to determine which is best suited to a particular project you’re working on is to learn both, and then make the decision based on your experiences. However, if you’re pressed for time, read the following quick comparison and then look over the help for both systems. ■ CAT, while quite advanced, is the simpler of the two systems, and is better suited for rigging and animating multi-legged and non-humanoid characters (not to slight its humanoid-animation capabilities in any way, however). Among its built-in rigs are a number of multi-limbed creatures such as a dragon with four legs and two wings, a spider, and a centipede with 18 legs. These can easily be animated along paths with no foot sliding using the graph-based CATMotion editor. CATMotion is best suited for modifying cyclical motion in real time by adjusting parameters for body parts such as the pelvis; parameters include Twist, Roll, Pitch, Lift, and Push. Another powerful but relatively easy-to-use feature of CAT is the layering system, available both in CATMotion (for individual body-part cycles) and at the full-rig level, with keyframed weighting at both levels. The latter context supports color-coding of layers so it’s easy to see which layer is contributing to the motion at any given moment. CAT also supports blending between FK and IK for custom control. Last, CAT provides muscle and muscle strand objects for simulating character musculature. ■ character studio comprises an extensive character-animation toolset that can work with multi-legged characters but is intended primarily for use with bipedal rigs; hence the name of its basic rig object: Biped. Also part of character studio is the Physique modifier for skinning character rigs. Physique can be used with rig objects other than Biped, and offers features such as user-definable rigid and deforming sections of the skin. The third character studio component is Crowd, which enables procedural animation of large groups of characters with behaviors such as avoidance, random motion, and following a surface. Biped is by far the most advanced and powerful character studio component. Its features include procedural footstep (walk) creation, freeform animation, a specialized animation editor called Workbench, and a non-linear animation feature called Motion Mixer (also 4503 available for general animation). Also, the Motion Flow feature offers randomized script generation, procedural transitions, and more. CAT CAT is a character-animation plug-in for 3ds Max. CAT facilitates character rigging, nonlinear animation, animation layering, motion-capture import, and muscle simulation. Useful Links To view a number of how-to movies that can help you learn to use CAT, visit CAT Movies. To learn more about CAT, to post questions and comments, and to take part in discussions, visit these sites: ■ The 3ds Max CAT forums on The Area: http://area.autodesk.com/forum/autodesk-3ds-max/3ds-max-cat/ ■ The Tutorials section of The Area: http://area.autodesk.com/tutorials. Enter “cat” in the Word field and click Search. ■ Other sections of The Area, such as the Blogs section: http://area.autodesk.com/blogs 4504 | Chapter 15 Character Animation Getting Started: Rigging with CATRigs Image courtesy of NHNZ The CATRig is the hierarchy that defines the CAT skeletal animation system. It is a fast, sophisticated yet flexible character rig that is designed to let you create the characters you want without having to write scripts. The flexibility of the CATRig character rig is the result of keeping the structure as generic as possible. With CAT's modular composition design, a spine can also be a neck. Instead of pelvises and ribcages from which limbs and other parts extend, CAT has hubs. You can add and remove different rig elements to get the exact skeleton you need for your character. Each rig element combines geometry with special capabilities specific to its function. For example, each limb has its own, sophisticated IK system; spines have a powerful procedural spine on page 4565 algorithm; and hubs have a retargeting system. Each rig also has its own layered animation on page 4622 system, procedural walk-cycle system, and clip/pose system. In addition, CAT includes utilities for mixing poses, resizing rigs and animation, transferring animation automatically from one rig to another, and more. Creating a CATRig Create panel ➤ (Helpers) ➤ Choose CAT Objects from the drop-down list. ➤ CATParent ➤ CATRig Load Save rollout ➤ Add a CATRig to the scene. Getting Started: Rigging with CATRigs | 4505 Select a CATParent ➤ Modify panel A CATRig can take any form you require. It can have as many spines, heads, pelvises, limbs, fingers, toes and tails as you need; it can even have extra bones. CAT comes with a library of preset rigs for humans, animals, bugs, robots, and more. You can create a CATRig from scratch, but usually it is easiest to load in the rig closest to your requirements and edit from there. At any point you can save a custom CATRig as a new preset for subsequent reuse. This approach is available throughout CAT; load the preset closest to your requirements, edit it to suit your purposes, and then save the result as a new preset. Using CAT you can create the rig you need quickly. CATRigs include built-in IK as well as easy-to-manipulate spines and tails. Advanced digit controls make it easy to position fingers and toes. By default, legs are created with IK, and arms with FK. All limb bones can be segmented for twisting bones. Segment-twist weights are spline controlled. Even in setup mode (as opposed to animation mode), the rig is set up so that it can be manipulated intuitively. You can arrange arms using FK and legs with IK. You can move and rotate the pelvis, ribcage, and head intuitively. During setup you can resize CATRigs without breaking the IK setup, which is useful when merging files. Once an animation layer is created, resizing is no longer possible, thus preventing problems with existing animation. Procedures To load a CATRig preset: 1 Open the Create panel and click (Helpers). 2 Open the drop-down list at the top of the panel and choose CAT Objects. 3 Click the CATParent button. 4 Choose a preset rig from the list on the CATRig Load Save rollout. 4506 | Chapter 15 Character Animation 5 Click or drag in the viewport to add the preset to the scene. NOTE Preset rigs that use the RG3 format can be added to the scene only by clicking. You can resize the rig subsequently by changing the CAT Units Scale value. The rig appears in the viewport. Getting Started: Rigging with CATRigs | 4507 Marama CATRig preset On the Create panel, the CATRig Parameters rollout shows the rig’s basic parameters. You can change the parameters during creation; otherwise, like other 3ds Max objects, you can edit the creation parameters later by selecting the CATParent object and opening the Modify panel. NOTE If a CATRig has an animation layer, you cannot change the CAT Units Scale and Bone Length Axis settings. To create a CATRig from scratch: 1 Open the Create panel and click 4508 | Chapter 15 Character Animation (Helpers). 2 Open the drop-down list at the top of the panel and choose CAT Objects. 3 Click the CATParent button. 4 In the list on the CATRig Load Save rollout, make sure is highlighted, and then drag in the Perspective or Top viewport to add the CATParent object. 5 With the CATParent selected go to the Modify Panel. 6 At the bottom of the CATRig Load Save rollout, click Create Pelvis. The pelvis appears in the viewport, centered over the CATParent. Getting Started: Rigging with CATRigs | 4509 7 Select the pelvis. The pelvis is an example of a hub, and when you select it, the Hub Setup rollout appears on the Modify panel. From this rollout you can add legs, arms, spines, tails, extra bones, and additional rigging objects (props, spare parts, etc.). For more information about the Hub Setup parameters, see Hubs on page 4558 8 On the Hub Setup rollout, click Add Leg twice. Two legs are added on opposite sides of the pelvis. 4510 | Chapter 15 Character Animation 9 Click Add Spine. A spine, consisting of a number of bones and another hub, appears on top of the pelvis. In effect, the second hub is a ribcage. Getting Started: Rigging with CATRigs | 4511 10 Select the hub at the top of the spine and click Add Arm twice. Arms are added to either side of the ribcage. 4512 | Chapter 15 Character Animation 11 Click Add Spine. A new spine and a third hub appear atop the ribcage. This third hub can act as a head. 12 Move the head hub downward and slightly forward, to produce a more human-like structure. Getting Started: Rigging with CATRigs | 4513 You now have a basic CATRig. All of the example cATRigs were created using variations of this method, so you can see that it’s possible to create a vast variety of CATRigs with a few basic tools. See also: ■ CATParent on page 4543 ■ Editing a Rig Interactively in the Viewport on page 4541 ■ Removing Parts of the CATRig on page 4517 4514 | Chapter 15 Character Animation Customizing the Geometry on CATBones Select a rig bone. ➤ Modify panel ➤ Use Custom Mesh You can customize the geometry of all bones in CAT and then bake these edits into the bone mesh. These edits are also saved to your rig preset, thus enabling you to define complex rigs with customized geometry and load these presets into new scenes. CATRigs with customized geometry To edit the geometry of a CATBone, simply apply a modifer such as Edit Poly to the bone and begin editing. You can change the topology of the mesh, or even delete the mesh and assign a different one using the Attach function in Edit Poly or Edit Mesh. Getting Started: Rigging with CATRigs | 4515 Once you have finished editing the mesh, you can simply collapse the stack using the Modify panel or the right-click menu. Customizing a bone’s mesh automatically turns on Use Custom Mesh on the bone’s Setup rollout. 4516 | Chapter 15 Character Animation TIP To revert to the original mesh, turn off Use Custom Mesh. Removing Parts of the CATRig To remove an element, simply select it and press Delete. Deleting an element also removes all bones that are part of its local weights group. For example, if you delete any bone in a limb, this also deletes all the bones in the limb, the IK target, and any extra bones that have been added to the rig, regardless of whether they have ben relinked to other parts of the hierarchy. NOTE You can delete individual rig elements only in Setup mode. Deleting any part of the rig in Animation Mode deletes the entire rig. Procedures To delete an entire CATRig, do one of the following: ■ Delete the CATParent. ■ Delete the pelvis (root object). Getting Started: Rigging with CATRigs | 4517 To remove a limb: ■ Select any bone in the limb and delete it. To remove an upper body: ■ Delete the spine or the ribcage. To remove a digit (such as a finger): ■ Select any part of the digit and delete. Using CAT's Naming System CAT does not mandate any particular naming convention; instead, each rig preset contains a different naming scheme. You can easily modify the naming scheme to suit your requirements. Each bone’s name is defined by the combination of the CATRig’s name and name of any group the bone belongs to and also the bone’s local name. Of course, you can clear a name field and then this field will have no effect on the final name. + + + The default names given to bones when you create a rig from scratch are intended only as a basis for you to modify and define your own naming sceme. Naming the CATRig Each preset CATRig is created with its assigned name. If you want to have more than one of the same CATRig preset in a scene, it is a good idea to give it a unique name. To change a CATRig name, select the CATParent, go to the Modify panel and enter a new name in the Name field on the CATRig Parameters rollout. Doing so renames the CATParent, and the entire CATRig hierarchy inherits the new name. 4518 | Chapter 15 Character Animation Naming Hubs Each hub name derives from this simple formula: + So, for example, in the Alien rig, the hub names are AlienHead and AlienPelvis. Naming Limbs Each limb has a name parameter that you may wish to fill in with an appropriate name. For example, when you add an arm, the new arm’s default limb name parameter is "LArm" or “RArm,” depending on which side you add it to. Naming Limb Bones Limb bones can be divided into segments, and each segment should have a uniqe name. Each bone is assigned a name according to the following scheme. + + + For example, to name a character’s right upper-arm bone "FredLUpperarm," name the CATRig "Fred," enter "L" in the Limb Name field, and enter "Upperarm" in the Bone Name field. When the names are added together, the following is the result: "Fred"+"L"+"Upperarm"=FredLUpperarm Each bone segment can have a customized name as well. The Bone Seg Names become valid only when you have more than one bone segment. The bone seg names default to “1,” “2,” “3,” and so on, but you could change this to anything else, such as “A,” “B,” “C,” etc. Naming Palms and Ankles The palm or ankle stores a local name that is added to the CATRig name and the Limb name: $ + + Naming Digits Digits are made up of a hierarchy of bones that are all connected together with one digit controller. This is much the same way that limbs work. The Getting Started: Rigging with CATRigs | 4519 digit controller stores a name for the entire digit, and each bone in the digit also stores its own local name. $ + + + Naming Tails The tail is made up of a hierarchy of bones that are all connected together with one tail controller. This is much the same way that limbs work. The tail controller stores a name for the entire tail, and each bone in the tail also store its own local name. Each bone’s name is the result of concatenating the CATRig name and the tail name and the bone name. $ + + Naming Extra Bones Extra bone names are simpler than other body parts. Each extra bone stores its own name, which added on to the CATRig name. $ + Naming Spines The spine is made up of a hierarchy of bones that are connected together with one spine controller. The spine controller stores a name for the entire spine, and each bone in the spine also stores its own local name. Each bone’s name is the result of concatenating the CATRig name and the spine name and the bone name. $ + + Copying and Pasting Rig Parts Select a rig part. ➤ Modify panel ➤ Setup rollout The Copy/Paste/Paste Mirrored buttons are available on the Setup rollout for all body parts. You can copy any body part on a CATRig and then paste it to another of the same type on the same or a different rig. For example, you can paste a copied bone to another bone, but not to a hub. 4520 | Chapter 15 Character Animation Copy Click to copy the settings of selected body part ready for pasting. When the copy buffer is empty, or contains data from a different type of body part, this is the only available button. Paste Click to apply the settings of the copied body part to the selected body part. Paste Mirrored Click to apply the settings of the copied body part to the selected body part while mirroring (flipping) the pasted settings. NOTE The Paste Mirrored function is particularly important in setting up a face rig for use with the Pose Mixer on page 4711 feature. Applying Manipulation Gizmos Select a rig bone. ➤ Right-click ➤ Add Gizmo Manipulation gizmos provide a cleaner interface for working with your character. Often the CATBones are hidden under the skin mesh, so selecting and editing the bones can be difficult. The gizmo, which can be any of five different spline shapes (or a custom object), surrounds the bone so it’s easier to grab for applying transforms interactively. Getting Started: Rigging with CATRigs | 4521 Once you apply a gizmo to a CATRig part, selecting the gizmo provides access to the same interface elements as selecting the body part itself. Similarly, keyframes from animating the CATRig show up on the track bar when you select the gizmo. Even MAXScript calls work on the gizmo. When you right-click a gizmo, you get the same right-click menus as with the CATBone. Applying a Gizmo When the CATRig is in Setup mode and you right-click on any CATBone, the Tools2 quadrant includes the Add Gizmo command. 4522 | Chapter 15 Character Animation Choosing Add Gizmo opens a dialog with a list of preset gizmo shapes. Getting Started: Rigging with CATRigs | 4523 You can edit the gizmo settings to fit the size and shape of your character skin mesh. To do so, select the gizmo and go to the Modify panel. These settings are the same as for the equivalent spline objects in 3ds Max; see the main help for details. 4524 | Chapter 15 Character Animation As you modify the spline settings, the changes appear immediately in the viewports. Getting Started: Rigging with CATRigs | 4525 Tips ■ Deleting gizmosTo delete a gizmo, select it and press Delete. This doesn’t affect the CATBones was manipulating. ■ Creating custom gizmo hierarchiesIt is not necessary to link gizmo objects to every part of the CATRig, although it is possible and doesn’t cause any problems. In some cases it can actually be useful to link gizmos together. You can create hierarchies of gizmos that help you to navigate the rig, rather than use the actual hierarchies of the CATRig. For example, you could link the ribcage gizmo directly to the pelvis gizmo and then navigate the rig rapidly with the Page Up and Page Down keys. ■ Defying the laws of circular dependencyYou can link gizmos in ways that would normally cause a circular dependency in 3ds Max. You can, for example, link the gizmo for a leg platform (IK target) directly to the ankle gizmo without causing a circular dependancy. 4526 | Chapter 15 Character Animation ■ Adding to the list of gizmosThe list of gizmos that is displayed in the Gizmos dialog comes from a file called Gizmos.max, found in the system path under \plugcfg\CAT\Gizmos. (The full path, by default, is C:\Documents and Settings\[user name]\Local Settings\Application Data\Autodesk\3dsmax\[program version]\enu\plugcfg\CAT\Gizmos.) If you open this file, you can see the shape objects that comprise the list. To add to the list of predefined gizmo shapes, add your own gizmos to this file and resave it. You can use any type of object as a gizmo. ■ Removing unwanted right-click menusCAT uses the right-click menu system in 3ds Max to augment its workflow. If you assign a gizmo to CAT that has an Edit Spline/Poly/Mesh modifier at the top of the stack or is an editable spline or other object with object-specific quad menus, you will find additional, unnecessary options whenever you right-click your gizmo. The simplest solution is to assign a Push modifier or other modifer with no right-click menu options to the top of the stack. Thereafter, when you right-click the gizmo, you get only the CAT menus. Hierarchy Panel Select a CATBone. ➤ Hierarchy rollout Hierarchy panel ➤ Link Info ➤ Bone Every bone in the CATRig has an array of controls that defines how it can be manipulated and how it inherits motion. These controls are available on the Hierarchy panel. The Hierarchy panel settings allow you to configure a rig to be safer and more robust while animating. You can prevent an animator from moving and editing bones in ways that are undesirable for the rig by changing settings. For some examples of how these settings affect the ways bones can be manipulaed, examine the settings on different bones in the preset CATRigs. Joint Limits You can set up joint limits using CAT that are independent of the layers. The benefit of using the CAT limit system is that you can limit any kind of controller; for example, you can limit constraints. You could assign a Look At constraint on page 3619 for a character’s eye controllers on its setup controller, and then limit its motion so that it doesn’t turn too far. You can limit TCB Rotation controllers, or any kind of controller that you cannot limit using the standard Limit systems. Getting Started: Rigging with CATRigs | 4527 Procedure Example: To use the Hierarchy panel settings: This example uses a simple hierarchy of three Extra Bones on page 4593, as shown following: 1 Select the green bone and move it on the X axis. It moves as you might expect, based on standard rules of transforming hierarchy members. 4528 | Chapter 15 Character Animation 2 Undo any changes from step 1. 3 To lock the bone, go to the Hierarchy panel, click Link Info, and then in the Bone Hierarchy rollout ➤ SetupMode group, turn on Lock Local Position. Now, when you try to move the bone, nothing happens, because the position is locked. Getting Started: Rigging with CATRigs | 4529 4 On the Hierarchy panel, turn on Manipulation Affects Neighbors In Hierarchy. 5 Now, when you move the green bone, its local position doesn't change, but it rotates its parent (the red bone), and also rotates itself to look at its child (the blue bone). 4530 | Chapter 15 Character Animation 6 Select the red bone, and in the Setup Mode group, turn on Manipulation Causes Stretching. Now, when you move the green bone the red bone stretches to reach the position of the green bone. Getting Started: Rigging with CATRigs | 4531 7 Select the green bone, and in the Setup Mode group, turn on Manipulation Causes Stretching. Now, when you move the green bone, both the red and green bones stretch to reach the position of the green bone. 4532 | Chapter 15 Character Animation Getting Started: Rigging with CATRigs | 4533 Interface Apply Transforms Determines whether this bone is affected by direct transforms (that is, manipulation of its transform gizmo). If a bone has no parent, it usually needs to have this option enabled, while a bone that is a child of another CATBone should have this option off. Typically, the only bone that needs Apply Transforms to be on is the root hub (the pelvis), and the IK targets need it on as well. When you transform the animation of a layer, child bones in the hierarchy do not need to be transformed separately because they inherit the transformation from their parents. See Layer Transform Gizmo on page 4637. Display Onion Skins You can turn this on for any CATBone. This makes the CATBone display animation phases the same way the Views menu ➤ Ghosting feature works. The main difference is that the ghosting displays before and after the current frame by default. NOTE The ghosting is visible only in Animation mode. 4534 | Chapter 15 Character Animation Inheritance group Setup Mode Inheritance Position When on, the bone inherits its position from its parent in Setup mode; when off, from the CATParent. Rotation When on, the bone inherits its rotation from its parent in Setup mode; when off, from the CATParent. Animation Mode Inheritance Position When on, the bone inherits its position from its parent in Animation mode; when off, from the CATParent. When on, the bone inherits its rotation from its parent in Animation mode; when off, from the CATParent. Scale When on, the bone inherits its scale from its parent in Animation mode; when off, from the CATParent. Manipulation Affects Neighbors in Hierarchy When on, this bone affects neighboring bones in the hierarchy. Getting Started: Rigging with CATRigs | 4535 Setup Mode group Lock Local Position When on, the position of this bone is locked in Setup mode. If you try to move it, it will not move, but try to move its neighbors if Manipulation Affects Neighbors In Hierarchy is on. Lock Local Rotation When on, the rotation of this bone is locked in Setup mode. If you try to rotate it, it will not rotate. Lock Local Scale When on, the size of this bone is locked in Setup mode. If you try to scale it, it will not resize. Manipulation Causes Stretching When on, moving this bone in Setup mode causes it to stretch. When off, moving the bone moves its children. Static Matrix Value/Animation Controller Choose either of the following to determine the character pose in Setup mode (when returning from Animation mode): ■ Static Matrix ValueBy default, Setup mode is completely static, and the pose that the character returns to in Setup mode is defined by this matrix. ■ Animation ControllerAlternatively, you can set a bone to use an animation controller to define the character pose in Setup mode. By default, CATBones use a static transform value called SetupTM, which is not visible in the animation editor (because it can't be animated), and is accessible only via MAXScript. The idea of the setup pose is that it cannot be animated, so no setup animation controller is available by default. When you choose the Animation Controller option, you get a Setup animation controller, as a child of the LayerTrans (Layer Transform) track, that you can view and edit in Track View. 4536 | Chapter 15 Character Animation Track View hierarchy of CATbone with Setup Mode set to: Left: Static Matrix Value Right: Animation Controller The reason you might want an animation controller in setup mode is to take advantage of the feature Additive to Setup Pose on page 4539. You can apply your own procedural animation controller setup to the setup controller, and then make the layer system relative to that controller. You might want to use this capability to customize the inheritance of the arms or head of your character. You can simply assign a constraint to the setup mode controller to define the base value for the animation controllers to animate from. For example, you could make the hands face downward, but apply a LookAt constraint to the setup Rotation track, assigning an object high in the air as the LookAt target, and the ribcage as the Upnode. You could then create a new object, applying an Orientation constraint that targets the ribcage and pelvis, and use this object to drive the setup Getting Started: Rigging with CATRigs | 4537 orientation of your limbs. This would give you flexible control over the way your limbs behave instead of simply ineriting rotation from the ribcage. You can constrain the tail of your character to a spline, or an IK chain to use spline IK on a tail. In fact, the Apply Max IK utility on page 4790 on the Animation menu ➤ Animation - CAT submenu does exactly this. If you set the utilitys Pick Layer option to Use Setup Controller, then the CATBone chain is constrained to an IK chain using the Setup mode layer. If you’re setting up a face rig, you could also write a script to generate automatic eye blinks, or slightly inherit rotations from the eyeball movement. This would give you procedural motion, but with the benefit of CAT's layering system overlaid so you could easily add touches of hand animation on top of the procedural animation. Why not just put these procedural controllers into a layer, and then apply an additive layer on top for the hand keyframe touches? The layer system does not get saved with the rig preset, so if you were to save a rig preset, you would lose your work. The layer system is designed to hold keyframe controllers; when you want to build a complex controller configuration, it is often better to put it in the setup controller so that it is embedded in the rig, not restricted to a particular layer. Layers are specific to the scene. If you put a modification into a layer, it should apply strictly to that scene, rather than to the general rig setup. If you want to add a feature to the rig, then the setup controller is the place to do it. Animation Mode group 4538 | Chapter 15 Character Animation Lock Local Position When on, the position of this bone is locked in Animation mode. If you try to move it, it will not move, but try to move its neighbors if Manipulation Affects Neighbors In Hierarchy is on. Turn this lock on for bones that you do not wish to move during animation. Then, if an animator tries to move the bone, it will not allow the movement. This setting also affects the Capture Animation on page 4760 tool and the way it maps animation onto this bone. Lock Local Rotation When on, the rotation of this bone is locked in Animation mode. If you try to rotate it, it will not rotate. Lock Local Scale When on, the size of this bone is locked in Animation mode. If you try to scale it, it will not resize. It’s recommended that you lock the scale of bones that you prefer not to be scaled during animation. Then, if an animator accidentally scales the bone, CAT will ignore the stretching. Manipulation Causes Stretching When on, moving this bone in Animation mode causes it to stretch. When off, moving the bone moves its children. Layer Settings group Additive to Setup Pose When on, all layers in the layer stack work relative to the Setup pose. During evaluation, the following occurs: Bone Pose=Setup Mode Pose+Layer Values Remember Layer Settings Click this button to save the current layer configuration to the bone. If you want a bone to use a particular combination of controllers, you can simply setup the desired configuration, and then click this button. The bone then saves that configuration, and then whenever a new layer is added, the bone reloads that configuration. NOTE Remember Layer Settings works only on Absolute layers. Also, Remember Layer Settings does not work with Reaction controllers. Reaction controllers are not accessible via the SDK, so it is not possible to save and load them using CAT's animation saver and loader. If you wish so set up Reaction controllers, do so using the Animation Controller option in the Setup Mode group (see preceding). You can set up a Reaction controller on the Setup Controller, and then turn on the Additive To Setup Mode option in the Layer Settings group (see preceding). The RG3 file format can save and load the Reaction controllers with the rig. Last, you can set up limits using the Limit controller. You can limit your values manually and then click Remember Layer Settings to make the bone remember these limits values and reapply them each time you add a new Absolute layer. Getting Started: Rigging with CATRigs | 4539 Joint Limits group Position When on, use the X/Y/Z settings to specify permissible position-offset ranges for for the selected bone on the corresponding axes. A wireframe box superimposed on the bone depicts the position limits. Rotation When on, use the X/Y/Z settings to specify permissible rotation-offset ranges for the selected bone on the corresponding axes. Orange lines superimposed on the Rotation gizmo depict the rotation limits. 4540 | Chapter 15 Character Animation Editing a Rig Interactively in the Viewport The quickest and easiest way to edit your rig is in the viewport, in Setup mode on page 4632. Edit the proportions of the rig simply by dragging the elements around. To edit the spine length, move the child hub. The spine stretches to fit. With limbs it is much the same: Move the child element to edit the length and rotation of the element above it in the hierarchy. Element dimensions can be edited with the 3ds Max Scale function (in general, for best results use Non-uniform Scale for this). In Setup mode the rig elements are not scaled, but rather resized. Using the preceding methods it is possible to set up the majority of your rig simply by placing the joints correctly into your model; this is much faster then the alternative of incrementally editing the length and orientation of each element in turn. Procedure To adjust arm dimensions using stretchy bones: 1 Select the bone below the joint you wish to edit (in the case, the forearm). Getting Started: Rigging with CATRigs | 4541 2 Move the arm joint as required. The arm bones resize to suit. 4542 | Chapter 15 Character Animation Editing Bone Pivot Positions Sometimes you need to edit bone pivot positions. This is achieved by positioning your CATBone relative to its pivot point. The best way to do this is with the XForm modifier. Simply apply the XForm modifier and reposition the bone as required. Once your changes have been finalized, you can collapse the Modifier Stack to bake the changes into the bone, as with any other CATRig Mesh edits. See also Customizing the Geometry on CATBones on page 4515 CATParent Create panel ➤ (Helpers) ➤ Choose CAT Objects from the drop-down list ➤ CATRig Load Save rollout ➤ Add a CATRig to the scene. Select a CATParent ➤ Modify panel Every CATRig has one CATParent. The CATParent, which is the triangle+arrow symbol seen under each rig as it is created, can be considered the character node of the rig. Getting Started: Rigging with CATRigs | 4543 CATParent with no rig All of the elements of the rig are associated with the CATParent. It holds basic information about the whole rig, including its name, size and other basic data. It also holds the Rig Preset Manager, which allows you to load and save CATRig presets. The rig is not linked to the CATParent but can be transformed by it when in Setup mode. The rig inherits scale transforms from the CATParent in both Setup and Animation modes. Procedure To create a CATParent: 1 Open the Create panel and click (Helpers). 2 Open the drop-down list at the top of the panel and choose CAT Objects. 3 Click the CATParent button. 4 Do either of the following: ■ Click or drag in the viewport to add a CATParent without a rig. 4544 | Chapter 15 Character Animation ■ Choose a preset rig from the list on the CATRig Load Save rollout, and then click or drag in the viewport to add the preset to the scene. The CATParent or rig appears in the viewport. To save a new CATRig preset: 1 Click (Save Preset Rig). 2 Navigate to the desired folder. 3 Enter the rig name. 4 Click Save. Interface CATRig Parameters Rollout Name Shows and lets you edit the name CAT uses to prefix all bones in the CATRig. See Using CAT's Naming System on page 4518. CatUnits Ratio The scaling ratio for the CATRig. All size parameters on the CATRig that define such things as bone length width and height are in CATUnits. See Understanding CATUnits on page 4755. Getting Started: Rigging with CATRigs | 4545 Track Display Choose the method CAT uses for displaying the layers and keyframes on this CATRig in Track View. See Track Display Modes on page 4551. Bone Length Axis Choose the axis (X or Z) that the CATRig uses as the length axis. See Understanding the Bone Length Axis on page 4554. Motion Extraction Node Toggles the Motion Extraction Node on page 4548. About CAT Displays information about CAT, including the version number. CATRig Load Save Rollout The CATRig Load Save rollout displays a list of existing CATRig presets and provides controls for working with presets. NOTE The controls under the list are available only on the Modify panel. [CATRig preset list] Lists all available CATRig presets. To load a preset, click it in the list and then click or drag in the viewport. 4546 | Chapter 15 Character Animation NOTE On the Modify panel, the preset list shows only rigs in the RG3 format in the default location, with which you can replace the current rig by highlighting one and then clicking Reload (see following). Open Preset Rig Opens a file dialog for loading a CATRig preset (RG3 format only) onto the selected CATParent. Use this to load a preset from a location other than the default ([system path]\plugcfg\CAT\CATRigs\). Save Preset Rig Saves the selected CATRig to a preset file. If you use the default location (see preceding), the preset then appears on the list, making it easy to add to your scenes. NOTE You can save the preset in the RIG or RG3 format. The latter, which is the default format, is more recent and has more features, so is the recommended choice. An RG3 file contains the CATRig for one character, including the skin, muscles, etc. that make up the character if added with Add Rigging (see following). However, neither format contains the animation for that character. Create Pelvis/Reload The button label, function, and availability depend on the context. If no pelvis exists in the rig, the button label is Create Pelvis, and clicking it adds a pelvis that you can use as the basis for a custom rig on page 4508. If the rig contains a pelvis and was loaded from or saved as an RG3 preset, the Reload button label appears, and clicking it loads the current preset file. Use this to restore an RG3 rig to its as-saved state after editing. Reload works only with rigs in the RG3 format. TIP You can apply the current rig’s animation to a different preset rig by using Open Preset Rig (see preceding) with the animated rig. Add Rigging Allows you to add objects in the scene to the rig at the CATParent level. For details, see To add rigging objects: on page 4563. TIP The Extra Parts function is useful for saving complete character setups (except for animation) in the rig preset. For instance, you can save skin meshes, props, and even ancillary rigs as part of the preset. For a good example of how to use Add Rigging, see the Marama preset included with CAT. Add the Marama preset, then go to the Modify panel and click Add Rigging. The Extra Rig Nodes dialog that opens lists the various included skin-mesh objects as well as the additional MaramaFace facial rig. Getting Started: Rigging with CATRigs | 4547 Update Rig From Preset When on and you load a scene, the scene file retains the original character, but CAT automatically replaces the character with updated data (saved in the preset). CAT automatically applies the original character's animation to the new character. The more similar the characters, the better the transferred animation. See Also Creating a CATRig on page 4505 Using CAT's Naming System on page 4518 Motion Extraction Node Game developers often need to create one node to sit at the root of a character's CATRig. Uses for this node include: ■ As a simple marker for the character's motion in a 3D world, for collision detection and similar purposes. For example, you can move the character from one position to another by moving its root node. ■ As the node to which the position of all other parts of the character's rig are relative. This allows you to, for example, separate the motion of the character's arms and legs from the motion of the character itself within its world. In CAT, this feature is called the motion extraction node. Creating a Motion Extraction Node You can create a motion extraction node any time after you have created a CATParent node or loaded a CATRig preset. Here, for example, is Alien, one of the included CATRigs. 4548 | Chapter 15 Character Animation Before creating the motion extraction node The object under the alien, comprising a triangle and arrow, is its CATParent node. To create a motion-capture node: 1 Select the CATParent node. 2 Go to the Modify panel. 3 Click Motion Extraction Node. The arrow at the center of the CATParent appears to grow larger: Getting Started: Rigging with CATRigs | 4549 After creating the motion extraction node But this is misleading: Hiding the CATParent's arrow is a larger, separate arrow that represents the motion capture node. If you select the CATparent node, go to the Display panel, and click Hide Selected, you will still see the large arrow representing the motion extraction node. Or, if you animate the motion extraction node so that alien moves in its world, you will see both the CATParent's arrow and the motion extraction node's arrow. Animating the Character Once you have animated the character, you can see the difference in the two arrows: ■ The CATParent's smaller arrow represents Alien's original position in the world coordinate system. ■ The larger arrow represents Alien's current position in the world, which is also the origin of Alien's local coordinate system. And now we can distinguish between two kinds of motion: ■ The displacement (in the world coordinate system) between the two arrows represents Alien's motion in the world. 4550 | Chapter 15 Character Animation ■ The displacement (in Alien's local coordinate system) of Alien's legs relative to the motion extraction node. Track Display Modes To simplify the workspace, CAT displays only the controllers and keyframes for the active layer by default. As you are working on a layer, it is easier to understand the work you are doing if you can see the keyframes for the active layer only. You can find the Track Display settings for the CATParent on the Modify panel ➤ CATRig Parameters rollout. Active Layer Only the active layer is visible in the 'Assign Controller' rollout tree view, or in Track View. The other layers are not displayed and instead a dummy controller is displayed. Getting Started: Rigging with CATRigs | 4551 Contributing Layers Only layers that are currently contributing to the pose and animation of the CATRig are displayed. 4552 | Chapter 15 Character Animation All Layers All layers in the layer stack are displayed in full. All keyframes for all layers are displayed on the timeline, and you are able to do things like copy and paste controllers between layers in Track View. Getting Started: Rigging with CATRigs | 4553 Understanding the Bone Length Axis By default, CAT uses the X axis as the length axis for all bones. This means that if you select a bone and activate Move transform mode and set the coordinate system to Local, the axis designated as the length axis is aligned with the length of the bone. 4554 | Chapter 15 Character Animation Bone Length Axis set to X Axis Setting the bone length axis If you select the CATParent and go to the Modify panel you will find the Bone Length Axis group. If you change this setting from X to Z, you will see that your bones are now aligned to the Z axis. Getting Started: Rigging with CATRigs | 4555 4556 | Chapter 15 Character Animation Bone Length Axis set to Z Axis Why do we have the X-aligned mode? Initially CAT was designed to use the Z axis, which seemed logical at the time. However, many game developers requested that the software change from using Z to X. Most exporters are designed around exporting 3ds Max bones and biped, or Motion Builder characters, all of which use X. Often game physics engines would not work if the bone alignment was not X. So the X-aligned mode was added to accomodate engines that were designed around specific character rigs. Getting Started: Rigging with CATRigs | 4557 Why does everyone use X for their bones? One day, two famous roboticists decided that everyone needed to agree on a coordinate system for robotics, so they developed the Denavit-Hartenberg coordinate system, which defines X as the length axis for any bone. The rest is history. Most animation systems have since been developed around using the Z axis, despite problems being caused by gimbal lock. Hubs Select or add a hub object. ➤ Modify panel ➤ Hub Setup rollout A hub is a special type of CATBone that serves as an organizing device in the CATRig. Typically it’s a centerpoint from which spines on page 4565, arms on page 4576, legs on page 4576, tails on page 4590, and extra bones on page 4593 sprout. A hub can be a pelvis, ribcage, thorax, or head, depending on its function. The first hub created is the root object for the rig. In an upright, two-legged creature such as a human or a four-legged creature such as a horse this would be the pelvis. 4558 | Chapter 15 Character Animation Basic CATRig with CATParent below and hub (pelvis) above Getting Started: Rigging with CATRigs | 4559 Hubs on different CATRigs See also: ■ Manipulating Hubs on page 4666 ■ Hub Hierarchy Controls on page 4687 Procedures To create a hub, do one of the following: ■ Create the first hub of your character by and, on the Create Pelvis. selecting the CATParent, Modify panel ➤ CATRig Load Save rollout, click 4560 | Chapter 15 Character Animation Add a spine on page 4565 to a hub; this automatically creates an additional hub at the end of the spine. ■ To add limbs to a hub: NOTE When you add two limbs of the same type to a hub, the first limb is always the left and the second is automatically the right. 1 Select the hub to add a limb to. 2 To add a leg, do either of the following: Modify panel ➤ Hub Setup rollout, click Add Leg. ■ On the ■ In the viewport, right-click the hub, and from the lower-left quadrant of the quad menu, choose Add Leg. Getting Started: Rigging with CATRigs | 4561 3 To add an arm, do either of the following: Modify panel ➤ Hub Setup rollout, click Add Arm. ■ On the ■ In the viewport, right-click the hub, and from the lower-left quadrant of the quad menu, choose Add Arm. 4562 | Chapter 15 Character Animation To add rigging objects: You can specify additional objects such as skin meshes, helpers, and so on, to be included in a custom rig when you add it from the CATRig Load Save rollout. This is particularly useful when you need props that a character carries, such as a sword or a book. 1 Add the rigging objects to the scene. 2 Select the hub and then click Add Rigging. This opens the Extra Rig Nodes dialog. 3 Click the Add button. This opens a version of the Select From Scene dialog labeled Pick Extra Nodes. 4 Highlight the objects to add and then click Pick Nodes. The highlighted objects appear in the Extra Rig Nodes list. 5 Close the Extra Rig Nodes dialog by clicking the Close (X) button in the top-right corner. 6 Select the CATParent and on the CATRig Load Save rollout, click the Save button. Give the rig a name and click Save. The custom rig is added to the CATRig list. Now, when you add this rig, the additional objects are added as well. IMPORTANT To retain the added parts in the saved rigging, you must use the default CAT3 Rig Preset(*.rg3) file format. The alternative format, CAT Rig Preset(*.rig), does not support extra parts. Getting Started: Rigging with CATRigs | 4563 Interface Name The name of this hub. See Using CAT's Naming System on page 4518. Copy/Paste/Paste Mirrored Buttons for copying and pasting the hub settings to or from other hubs. See Copying and Pasting Rig Parts on page 4520. Use Custom Mesh Toggles the custom mesh for this hub bone. See Customizing the Geometry on CATBones on page 4515. Length/Width/Height Define the size of the hub in CATUnits. Add Leg/Add Arm Add new limbs on page 4576 to the hub. Add Spine Adds a spine on page 4565 to the hub. Add Tail Adds a tail on page 4590 to the hub. Add Bone Adds an extra bone on page 4593 to the hub. Add Rigging Adds special rigging objects, such as props, to the hub. For details, see To add rigging objects: on page 4563. 4564 | Chapter 15 Character Animation HubGroups A HubGroup is not an element in its own right, but rather a subset of the rig used for organizing rig components. A HubGroup comprises a hub, its limbs, and any tails. You see HubGroups wherever the CATRig hierarchy appears, such as the CATMotion Editor on page 4716. The HubGroup name starts with the name of the hub followed by “Group”; for example, RibcageGroup. The PelvisGroup on the Panther rig See also: ■ Hubs on page 4558 ■ Limbs on page 4576 ■ Tails on page 4590 Spines Select or add a hub object ➤ ➤ Add Spine Modify panel ➤ Hub Setup rollout Getting Started: Rigging with CATRigs | 4565 Spines are used in CAT to connect two hubs on page 4558 together. Spines provide special features that speed up your workflow, enable sharing of animation data among a diverse range of rigs, and allow sophisticated IK tools. See also: Manipulating Spines on page 4656 ■ Procedure To create a spine: 1 Select a hub on page 4558 to which to attach the spine. 2 Do either of the following: ■ On the Spine button. Modify panel ➤ Hub Setup rollout, click the Add 4566 | Chapter 15 Character Animation ■ In the viewport, right-click the hub and from the lower-left quadrant of the quad menu, choose Add Spine. Editing Spines Select or add a spine object ➤ Modify panel ➤ Spine Setup rollout To edit a CAT spine, use the Spine Setup rollout on the Modify panel. Getting Started: Rigging with CATRigs | 4567 Interface Spine Name The name of the spine. See Naming Spines on page 4520. Num Bones The number of bones in the spine. Length The length of the spine. NOTE This value represents the combined lengths of all the spine bones. When you change this value, the lengths of all spine bones are affected. A specific “Spine Length” value is not stored in the spine. Size The average size of the spine bones. You can use this value to quickly resize all the spine bones, or you can edit each individually on the Bone Setup rollout. Procedural/Keyframed Choose whether this spine uses the built-in procedural-spine algorithm, or standard forward kinematics (FK). 4568 | Chapter 15 Character Animation Procedural Spines When you set a spine to be Procedural, the motion of all the spine bones is defined by an algorithm. The CAT spine algorithm always tries to bend the spine in a way that makes sense for that spine. The bend amount for each bone is defined by the Spine Curvature graph. Benefits of using procedural spines include: ■ You do not need to keyframe each spine bone. This reduces the number of keyframes necessary to produce animation, thus keeping your scenes simpler. ■ It is easy to share animation between characters with different numbers of spine bones because there are no keyframes on each spine bone. ■ You avoid unsightly kinks in your spine. Absolute/Relative If you select a bone in a procedural spine and go to the Motion panel, you see a small Spine Motion rollout. The single slider on this rollout defines the Absolute/Relative behavior of the spine. A Relative spine produces a smooth C-shaped curve, while an Absolute spine creates an S-shaped curve. Getting Started: Rigging with CATRigs | 4569 Left: Relative spine Right: Absolute spine Relative Spines When you rotate the tip hub of a Relative spine, the hub moves in an arc around the base of the spine. You typically use a Relative spine when the curvature of the spine is more importnant than the exact locaion of the tip hub. This is why the default setting for necks in CAT is Relative. The position of the head is usually less important than the curvature of the neck. Absolute Spines When you rotate the tip hub on an Absolute spine, the hub stays approximately stationary. Use an Absolute spine when the position of the ribcage is important. For example, with a quadruped, the ribcage position is usually more important than it is with a biped. This is because the front legs of the quadruped are usually on the ground, so the position of the ribcage defines how straight the legs are. In this situation, even a small movement of the ribcage can change the shape of the legs and the weighting of your character. 4570 | Chapter 15 Character Animation Of course, in CAT the Absolute Relative value is animatable, so you can specify throughout an animation how the spine should behave at any given moment. In many cases, you might need to animate the spine settings to get the desired results. NOTE When animating with an Absolute spine, to get the ribcage into the correct location, move the ribcage and rotate it. The ribcage does not move when you rotate it. Spine Curvature Graph rollout The Spine Curvature rollout settings control the extent to which spine links rotate relative to each other. In other words, it controls how the rotation between the hubs is distributed along the spine. You edit the spline by adjusting the Tangent and Value settings at the bottom of the rollout. Tangent The Tangent settings control the shape of the curve at its left and right ends, respectively. Value The Value settings control the start and end values of the rotation weights. By default, the spine bends evenly along its length. As you rotate the tip hub, the spine interpolates the rotation throughout the spine nodes according to the curvature of the graph. Getting Started: Rigging with CATRigs | 4571 Default graph settings The default curvature is evenly distributed among the spine bones. The following examples use a spine with the Absolute Relative value set to 1, meaning that it is a Relative spine. If you adjust the graph to be flatter at the start and bend up sharply at the end, then the spine will also bend sharply at the end. 4572 | Chapter 15 Character Animation You can also configure the spine to bend more at its base. Getting Started: Rigging with CATRigs | 4573 TIP The graph influences all rotations, including twisting. TIP The spine color blends from the color of the pelvis to the color of the ribcage. The blend of the color reflects the falloff on the Spine Curvature graph. 4574 | Chapter 15 Character Animation Spine Direction Vector The Spine Direction vector is a line that determines the default direction for the spine. In other words, when the spine is at rest, it should project along this vector. By default, the Spine Direction vector points along the base hub’s length axis: Z for Z axis-aligned rigs and X for X-aligned rigs. See Understanding the Bone Length Axis on page 4554. You will get better results if you ensure that the blue line runs close to default curvature of the spine. TIP When creating a curved spine, edit the individual spine bones into position, leaving the hubs (ribcage and pelvis) aligned vertically, instead of rotating the hubs to create the curve. Procedure To edit the direction of a procedural spine: 1 Select any bone in the spine and go to the Motion panel. 2 Click the Sub-Object button. The Spine Direction vector becomes selected and you can reorient the spine by rotating the vector. Getting Started: Rigging with CATRigs | 4575 NOTE You cannot animate the direction of the vector. FK Spines FK (keyframed) spines behave like a standard hierarchy of bones in CAT. Each bone has its own Layer controller for controlling its transform and can be keyframed independently, giving you precise control. You can then do things like dislocate spine bones by animating the positions. NOTE It is not possible to convert animation from an FK spine to a Procedural spine. Also, FK Spines do not support the CAT retargeting features. Limbs Select or add a hub object ➤ ➤ Add Leg/Arm 4576 | Chapter 15 Character Animation Modify panel ➤ Hub Setup rollout You can use a limb as an arm, leg, wing, and so on. Arms and legs are mostly similar in that they use the same IK system on page 4606 and have identical user interfaces. There are two differences between legs and arms in CAT: ■ Legs are assigned FootPlatforms, which include CAT's foot pivot system. ■ Arms and legs are treated differently by CATMotion on page 4715. A limb can contain up to 20 bones, each of which can comprise up to 20 segments. Any limb can have a collarbone or palm, as appropriate. You can set up limb bones in any configuration. IK setup involves simply rotating the bones in Setup mode. Bone segments rotate only around the center of their bone. They allow for features such as twisting forearms. You control their relative rotations with the Bone Twist Weight graph (see Editing Limb Bones on page 4581). The Palm, which by default is automatically placed at the end of the arm, holds the arm controls for blending the arm between IK and FK. It also allows for the creation of an IK target for the arm, keying of all the rotations on a limb, and holds the master controls for the digits (fingers). CAT supports seamless blending between IK and FK. Each palm can have up to 100 digits and each digit up to 20 bones. Digits are set up with FK controls only. Digit controls include a weightable Digit Pose Manager and Digit modifiers for manipulating groups of digits. Getting Started: Rigging with CATRigs | 4577 The front leg of the Panther rig Procedure To add a limb: 1 Select a hub on page 4558 to which to attach the limb. 2 Do one of the following, depending on the type of limb to add: ■ To add an arm, do either of the following: Modify panel ➤ Hub Setup rollout, click Add ■ On the Arm. ■ In the viewport, right-click the hub and from the Tools 2 quadrant, choose Add Arm. 4578 | Chapter 15 Character Animation ■ To add a leg, do either of the following: Modify panel ➤ Hub Setup rollout, click Add ■ On the Leg. ■ In the viewport, right-click the hub and from the Tools 2 quadrant, choose Add Leg. Editing Limbs Select a limb bone. ➤ Modify panel ➤ Limb Setup rollout Editing arms and legs is mostly the same, with a few minor differences that are covered in this topic. The Difference Between Arms and Legs There is no Create Limb button, but rather the option of creating an arm or leg. However, the differences between arms and legs are fairly trivial. Legs get a foot platform (a rectangular IK target on page 4583) by default, and you can change an arm to use a foot platform rather than a cross-shaped IK target if you like. An arm inherits motion from the hub differently than a leg. The arm inherits the rotation off the ribcage but rotates it over so it points sideways and a leg flips over completely so that is points downwards by default. You can see this by adding a new layer and then setting the limb to FK and all the rotation values to 0. You can see that the leg’s rotation is 180 degrees different from the hub it is attached to and the arm is 90 degrees different Interface Limbs are made up of a number of possible sub-elements. These include a collarbone, limb bones, and palms. Master parameters for the limb are held in the Limb Setup rollout. Getting Started: Rigging with CATRigs | 4579 Name Edit the name of the limb in the field box. See Using CAT's Naming System on page 4518. Color swatch Click to change the limb color. L/M/R Choose whether the limb functions as a left, middle, or right arm or leg. Middle limbs are useful in a tripodal structure. Copy/Paste/Paste Mirrored Use these buttons for copying and pasting the limb settings to or from other limbs. See Copying and Pasting Rig Parts on page 4520. Collarbone When on, the limb incorporates a collarbone on page 4584, which is an extra bone between it and the hub. The collarbone is not part of the limb’s IK chain. By default, an arm has the Collarbone option on, while a leg has it off. Palm/Ankle When on, an arm has a palm at the end, while a leg has an ankle. See Palms, Ankles, and Digits on page 4585. Num Bones The number of bones in the limb. Range=1 to 20. Use Up Node When on, the software creates an upnode as an IK target: a cross-shaped Point helper on the limb axis. This now defines the upvector of the limb, and constrains the motion a bit more than the default. The upnode is particularly helpful when using the LookAt constraint, to define which direction is “up.” 4580 | Chapter 15 Character Animation Editing Limb Bones Select a limb bone. ➤ Weight rollouts Modify panel ➤ Bone Setup and Bone Twist A limb (arm or leg) can be made up of between 1 and 20 arm bones, each of which can contain up to 20 segments for creating twist effects. Interface The interface for editing limb bones comprises two rollouts: Bone Setup and Bone Twist Weight. Bone Setup rollout Access the setup parameters for a particular bone or segment by selecting it in the viewport. Name View and edit the name of the bone. See Naming Limbs on page 4519. Seg Name View and edit the name of the bone segment. This applies only to bones with more than one segment (Num Segs; see following). See Naming Limbs on page 4519. Getting Started: Rigging with CATRigs | 4581 Copy/Paste/Paste Mirrored Buttons for copying and pasting the bone settings to or from other bones. See Copying and Pasting Rig Parts on page 4520. Use Custom Mesh Use this when you’ve baked bone mesh edits into the bone (see Customizing the Geometry on CATBones on page 4515). When on, the bone displays as the edited mesh. When off, the bone displays in its original, unedited form, as a simple box. Num Segs The number of bone segments in the bone. Segments are useful for effects such as twisting forearms. Length/Width/Depth The size of the bone in three dimensions. Add Bone Adds an extra bone on page 4593, linked to the selected bone. The extra bone is created at the origin of the bone, at its endpoint. Add Rigging Adds special rigging objects, such as props, to the limb. For details, see To add rigging objects: on page 4563. Bone Twist Weight rollout This graph controls the amount each segment twists relative to those around it. You edit the spline by adjusting the Tangent and Value settings at the bottom of the rollout. For more information, see Spine Curvature Graph rollout on page 4571. Tangent The Tangent settings control the shape of the curve at its left and right ends, respectively. 4582 | Chapter 15 Character Animation Value The Value settings control the start and end values of the rotation weights. Limb IK Targets Every limb in CAT has an IK target built in. By default, in the case of legs, the IK target is displayed as a rectangular outline called the FootPlatform; on arms it is a cross-shaped Point helper. The latter is not present by default; it must be added with the Create IK Target on page 4673 command. Because of their function, IK targets are not linked to the rig, though they are transformed by the Layer Transform gizmo on page 4637. The only difference between the FootPlatform and the IK target for the arm is that, while keyframing, the FootPlatform allows you to animate the pivot position manually with the Foot Pivot system on page 4684. CATMotion on page 4715 has controls to animate the position of the pivot throughout the motion cycle. Normally you would want it at the toe as the foot lifts and at the heel as it plants, but the ultimate decision lies with you. By default, the local Y axis of the FootPlatform points forward and the local X axis points up. The FootPlatform on the Base Human rig (toes added) Getting Started: Rigging with CATRigs | 4583 Editing Limb IK Targets IK targets are available on all limbs. The IK target for legs is called the FootPlatform; it differs from the arm IK target (a cross-shaped Point helper) in that it has foot-pivot controls. Interface Length On platforms, controls the length of the platform. This setting has no effect on cross-shaped IK targets. Width The width of the FootPlatform, or size of the cross. Platform/Cross Displays the IK target as a wireframe rectangle (Platform) or a cross (Point helper). See also Editing Limbs on page 4579 Collarbones Select a limb bone. ➤ Modify panel ➤ Limb Setup rollout ➤ Turn on Collarbone. ➤ Select a collarbone bone. The collarbone is a special type of bone that can be added to limbs on page 4576. It appears between the limb and the hub to which it’s attached. The limb does not inherit rotations of the collarbone. See also: ■ Manipulating Collarbones on page 4668 ■ Editing Limbs on page 4579 4584 | Chapter 15 Character Animation ■ Editing Limb Bones on page 4581 Interface Name The name of the collarbone. See Using CAT's Naming System on page 4518. Copy/Paste/Paste Mirrored Buttons for copying and pasting the collarbone settings to or from other bones. See Copying and Pasting Rig Parts on page 4520. Use Custom Mesh Toggles the custom mesh for this collarbone. See Customizing the Geometry on CATBones on page 4515. X/Y/Z The size of the collarbone in the respective dimension, measured in CATUnits. Add Bone Adds an extra bone on page 4593 to the collarbone. Add Rigging Adds special rigging objects, such as props, to the collarbone. For details, see To add rigging objects: on page 4563. Palms, Ankles, and Digits Limbs can have palms, which are used as palms on arms, ankles on legs, and so on. Getting Started: Rigging with CATRigs | 4585 In IK Mode the palm can be aligned to the target or to the previous bone, such as the forearm, as required. Each palm can have up to 100 digits and each digit up to 20 bones. Digits do not have IK and can be transformed only in FK. Digit controls include a Digit Manager on page 4677 and powerful digit modifiers for manipulating groups of digits. By default, both palms and digits are aligned to the X axis. Editing Palms and Ankles Select a limb bone. ➤ Modify panel ➤ Limb Setup rollout ➤ Turn on Palm (for arm) or Ankle (for leg). ➤ Select palm or ankle bone. Palm parameters include dimensions and a list box for adding and remove digits. The Ankle Setup rollout is identical. 4586 | Chapter 15 Character Animation Interface Name The name of the palm. See Using CAT's Naming System on page 4518 Copy/Paste/Paste Mirrored Buttons for copying and pasting the palm settings to or from other palms. See Copying and Pasting Rig Parts on page 4520. Use Custom Mesh Toggles the custom mesh for this palm. See Customizing the Geometry on CATBones on page 4515. Length/Width/Height The size of the palm in the respective dimension, measured in CATUnits. Num Digits The number of digits (fingers or toes) the palm has. Range=0 to 100. After you add digits, you can edit them and their bones by selecting a digit bone. See Editing Digits on page 4588. Getting Started: Rigging with CATRigs | 4587 NOTE As you add and remove digits, the fingers distribute themselves automatically along the end of the palm. By default, Digit 1 is the thumb. Add Bone Adds an extra bone on page 4593 to the palm. Add Rigging Adds special rigging objects, such as props, to the palm. For details, see To add rigging objects: on page 4563. Editing Digits Select a palm or ankle bone. ➤ Modify panel ➤ Palm/Ankle Setup rollout ➤ Set Num Digits to a non-zero value. ➤ Select a digit bone. You can edit digits at the digit level as well as at the level of each bone in a digit. Interface Digit Setup rollout Access the Digit Setup rollout by selecting a digit bone in the viewport. These settings affect the entire digit to which the bone belongs. Name The name of the digit. See Using CAT's Naming System on page 4518 Copy/Paste/Paste Mirrored Buttons for copying and pasting the digit settings to or from other digits. See Copying and Pasting Rig Parts on page 4520. 4588 | Chapter 15 Character Animation Num Bones The number of bones the digit has. Range=0 to 20. NOTE Each new bone created will default to the same dimensions as the bone at the end of the digit. Width/Depth The size of the digit in the respective dimension, measured in CATUnits. Digit Bone Setup rollout This rollout has the settings for the selected digit bone. Name The name of the digit bone. See Using CAT's Naming System on page 4518 Use Custom Mesh Toggles the custom mesh for this digit bone. See Customizing the Geometry on CATBones on page 4515. Length The length of the digit bone, measured in CATUnits. Curl Weight Controls how much the DigitCurl on page 4743 values in CATMotion on page 4715 affect the digit bone. A value of 1.0 means that CATMotion has 100% effect. A value of 0.0 turns CATMotion off for the selected digit. A value of -0.5 would mean that DigitCurl would have half the effect in the opposite direction. Add Bone Adds an extra bone on page 4593 to the digit bone. Add Rigging Adds special rigging objects, such as props, to the digit bone. For details, see To add rigging objects: on page 4563. See also Palms, Ankles, and Digits on page 4585 Getting Started: Rigging with CATRigs | 4589 Editing Palms and Ankles on page 4586 Tails Select or add a hub object. ➤ ➤ Add Tail Modify panel ➤ Hub Setup rollout A tail in CAT is basically a long bone chain with a few special features built in to make it useful as a tail. The tail is similar to the spine except that it does not end in another hub and has additional controls. A tail applied to a head could also act as a dreadlock, ponytail, horn, and so on. A tail can have from one to 100 links. Tail stiffness is edited with the Tail Stiffness graph on page 4593. See also: ■ Manipulating Tails on page 4666 4590 | Chapter 15 Character Animation Procedure To add a tail: 1 Select the hub on page 4558 to which to add a tail. 2 Do either of the following: Modify panel ➤ Hub Setup rollout, click the Add ■ On the Tail button. ■ In the viewport, right-click the hub and from the lower-left quadrant of the quad menu, choose Add Tail. Editing Tails Select a tail bone. ➤ rollout Modify panel ➤ Tail Setup or Tail Stiffness Edit tails using the Tail Setup and Tail Stiffness rollouts. Getting Started: Rigging with CATRigs | 4591 See also: ■ Manipulating Tails on page 4666 Interface Tail Setup rollout Name Edit the name of the tail in the field box. See Using CAT's Naming System on page 4518. Color swatch Click to change the tail color. The tail bones range in color from the hub color at the base to this color at the tip. Copy/Paste/Paste Mirrored Use these buttons for copying and pasting the tail settings to or from other tails. See Copying and Pasting Rig Parts on page 4520. Num Links The number of bones in the tail. Length/Width/Height The overall size of the tail in the respective dimension. 4592 | Chapter 15 Character Animation Taper The rate at which the tail changes size over its length. Following are examples of the effects of different Taper values: ■ >1.0The tail gets smaller from the base to partway along its length, and then gets larger farther along. ■ 1.0The tail tapers to a point at the tip. ■ 0.0No tapering occurs. ■ <0.0 (negative value)Reverse taper: The tail gets larger from the base to the tip. Add Bone Adds an extra bone on page 4593 to the tail, linked to the selected bone. Add Rigging Adds special rigging objects, such as props, to the tail. For details, see To add rigging objects: on page 4563. Tail Stiffness rollout This graph controls the relative stiffness of the tail along its length. Tangent The left and right Tangent settings control the rate of change in stiffness over the length of the tail, from base to tip, respectively. Value The left and right Value settings control the stiffness amount over the length of the tail, from base to tip, respectively. Extra Bones Select a rig bone. ➤ Modify panel ➤ Setup rollout ➤ Add Bone Getting Started: Rigging with CATRigs | 4593 Exta bones are bones you can add to any bone in CAT for any reason. You can use extra bones for armor, breathing and facial animation, weapons, walking sticks, and so on. 4594 | Chapter 15 Character Animation Procedure To add an extra bone: 1 Select the hub or bone to which to add the bone. 2 Do either of the following: Modify panel ➤ Bone Setup rollout, click Add Bone. ■ On the ■ In the viewport, right-click the bone or hub and from the Tools 2 quadrant, choose Add Extra Bone. Getting Started: Rigging with CATRigs | 4595 Editing Extra Bones Select an extra bone. ➤ Modify panel ➤ Bone Setup rollout Editing an extra bone is similar to editing any other bone. Name The local name of this bone. See Using CAT's Naming System on page 4518. Copy/Paste/Paste Mirrored Buttons for copying and pasting the bone settings to or from other bones. See Copying and Pasting Rig Parts on page 4520. Use Custom Mesh Toggles the custom mesh for this bone. See Customizing the Geometry on CATBones on page 4515. X/Y/Z The size of the bone in the respective dimension, measured in CATUnits. Add Bone Adds an extra bone on page 4593 to the bone. Add Rigging Adds special rigging objects, such as props, to the bone. For details, see To add rigging objects: on page 4563. 4596 | Chapter 15 Character Animation Animating with CAT CAT's FK/IK rig-manipulation system lets you simply push and pull the rig parts into the pose you want, whether in IK or FK. For walk-cycle sequences, CATMotion allows you to create a fully customized walk cycle and then direct the character around the scene without the need to place individual footsteps. Footprint collision detection provides the icing on the cake. Animation is created in CAT's non-linear animation (NLA) system, the heart of which is the Layer Manager. One of the big advantages of CAT's NLA system is that you can work directly in an animation layer without having to go back out and tweak the source animation elsewhere. Image courtesy of Deck13, from the game 'Jack Keane' Animating with CAT | 4597 See also: ■ Working With Motion-Capture Data on page 4756 ■ CATMotion on page 4715 Introduction to Keyframe Animation CAT uses a layer-based animation system on page 4622, which means that all keyframes are created in layers. There are two types of layers for keyframe animation: Absolute on page 4599 and Adjustment on page 4602 (relative). Absolute layers are used to create new animation. Standard animation controllers store all transforms in the same way as when you animate other objects. Adjustment layers are used to tweak existing animation. Keyframes in an adjustment layer offset existing layers below them in the stack, including CATMotion on page 4715. IMPORTANT Before you can begin animating you must be in an active layer and out of Setup mode on page 4632. Keyframe animation in CAT is as simple as selecting the element you wish to animate and transforming it in the viewport. A CATRig is set up so that you can just push it around into the pose you require on page 4652. Because your animation is stored in standard 3ds Max animation controllers you can create and edit your animation as you are used to. Keyframes can be edited in Track View as normal on page 4693. How various rig elements and sub-elements relate to each other is dictated by their setup parameters, accessed in the Modify panel. Some rig elements have extra animation parameters too; most notably the limbs on page 4669, palms, and ankles on page 4675. TIP Before you skin your rig, it’s a good idea to make a few trial animations to ensure the rig behaves the way you want it to. See also: ■ CAT's IK System on page 4606 ■ Palm Animation Controls on page 4675 ■ Digit Manager on page 4677 4598 | Chapter 15 Character Animation ■ Limb Animation Controls on page 4669 ■ Foot-Pivot System on page 4684 Starting a New Animation You create new animation in Absolute layers. Absolute layers include CATMotion and absolute (keyframe animation) layers, as well as imported motion data, which you load into an absolute layer. Before you can start animating you need an absolute layer to create your animation in. To create an Absolute layer: 1 2 On the Select any part of your CATRig. Motion panel, go to the Layer Manager rollout. Animating with CAT | 4599 3 Click and hold on (Abs) so the flyout opens, and then drag down to the second Abs button. 4600 | Chapter 15 Character Animation An Absolute Layer is created in the Layer Manager list. 4 Above the list, click (Mode) to switch to Animation mode. You are now ready to start keyframing. Assign new animation layers as you need them. It is useful to break your animations down into manageable segments. See also: ■ Layer Manager (CAT) on page 4624 ■ Editing Animation on page 4602 ■ Blending Between Layers on page 4634 ■ Ranges View on page 4645 ■ Layer Transform Gizmo on page 4637 Animating with CAT | 4601 Editing Animation You can edit existing animation non-destructively with adjustment layers in the Layer Manager. Animation that can be affected with adjustment layers includes CATMotion, absolute keyframe animation, motion capture data, and even other adjustment layers. Keyframes in an adjustment layer offset the existing animation. For example, you could use an adjustment layer to control the head movements of a rig walking with CATMotion on page 4715. The head animation is applied on top of the existing CATMotion animation. CAT offers two types of adjustment layers: local and world. Local adjustment layers are useful for offsetting the rig element relative the to rig (for example, inclining the head). World adjustment layers are useful for offsetting IK targets, such as for a foot, in a motion-capture sequence. Local Adjustment Layers A Local Adjustment layer offsets animation in the local coordinate space of the rig. To create a Local Adjustment layer: 1 Select any part of the rig. 2 On the Motion panel, go to the Layer Manager rollout. In the layers list, highlight the Available item if necessary. 4602 | Chapter 15 Character Animation 3 Click and hold on down to (Abs) until the flyout opens, and then drag (Add Local Adjustment Layer) and release the mouse. 3ds Max creates a new layer below the existing layer. Animating with CAT | 4603 This new layer is active and is weighted to 100%, meaning that you can start tweaking your animation immediately. World Adjustment Layers The World Adjustment layer offsets the animation in world space. TIP World Adjustment layers are especially useful when offsetting limb IK targets, for example, from motion-capture data. To create a World Adjustment Layer: 1 Select any part of the rig. 2 On the Motion panel, go to the Layer Manager rollout. Make sure Available is highlighted in the Layers list. 4604 | Chapter 15 Character Animation 3 Click and hold on down to (Abs) until the flyout opens, and then drag (Add World Adjustment Layer) and release the mouse. 3ds Max creates a new World Adjustment layer below the existing layer. Animating with CAT | 4605 This new layer is selected and weighted to 100%, meaning that you can start tweaking your animation immediately. See also: ■ Layer Manager (CAT) on page 4624 ■ Starting a New Animation on page 4599 ■ Blending Between Layers on page 4634 ■ Ranges View on page 4645 ■ Layer Transform Gizmo on page 4637 CAT's IK System The goal of the inverse kinematics system in CAT, called FK-driven IK, is to let you interact with your character rig intuitively, without having to think too much about IK and FK at all. The system takes the current FK rotations of a limb and then fits them to the IK target. This flexible approach includes support for IK chains that rotate on any axis, not just one as with other IK systems. It is also easy to build in custom components, such as constraints, to customize how the system works. Configuring the IK Chain To set up the bones in the IK chain, just move and rotate the bones into the configuration you require. There is no limit on the direction you rotate the bones. The fact that the IK solution is derived from the FK solution means that in Setup mode it is important to keep the FK and IK configurations as close as possible. A good trick is to click the Match FK To IK button before you start to edit the limb in IK. For complex limbs, such as a spider’s, it is recommended that you position the limb in FK, turning on IK only when you are finished. 4606 | Chapter 15 Character Animation With complex limbs, rotate the bones in FK so that they sit on the footplatform. Animating with CAT | 4607 Because you can rotate the limb bones on any axis, you can have bowlegged IK chains for gunslinging cowboys. The Difference Between Working in IK and FK The difference between IK and FK in CAT is minor. The way a limb behaves when manipulated is much the same whether in IK or FK. The difference is that in IK the child end of the limb, for example the palm, always tries to follow the IK target. In FK the limb doesn't have this restriction. 4608 | Chapter 15 Character Animation Animating with CAT | 4609 When the ribcage is moved from side to side with the arms in FK the arms simply move with the rigcage. 4610 | Chapter 15 Character Animation Animating with CAT | 4611 With the arms in IK the hands stay put while the ribcage is transformed. When to Use IK Use IK when a limb must have a fixed end position. The most common example of this is animating legs walking, where feet must be planted on the ground without sliding around as you rotate the leg bones. Other examples would be arms holding onto other objects, such as guns or steering wheels. How to expect CAT's IK system to behave Moving the IK target As you would expect from any IK system, when you move the IK target, the IK chain retains its original configuration as closely as possible. 4612 | Chapter 15 Character Animation Animating with CAT | 4613 As the leg IK target moves out the limb maintains the basic leg setup as much as possible. Rotating the IK target You might be surprised to find that rotating the IK target does not rotate the limb. While in the first instance this may seem strange, it actually makes CAT's IK system more flexible and isn't a problem. 4614 | Chapter 15 Character Animation When you rotate the IK target it only rotates the ankle. The rest of the limb remains unaffected. One simple way to deal with this is simply to rotate the upper leg bone separately (see Tweaking the Limb Bone Rotations While Animating, below). Another alternative is to constrain the upper leg rotations to the Footplatform. Tweaking the Limb Bone Rotations While Animating As you animate the IK target around you might want to tweak the exact orientation of the bones in the IK chain. With CAT you just rotate the bones in the viewport as required. Animating with CAT | 4615 4616 | Chapter 15 Character Animation The hand has been moved over but the elbow is too low, so we just pull the elbow up on page 4652. Target Align The Target Align value lets you control whether the palm inherits the rotations of the IK target or not. When the Target Align value is set to 0.0 the palm will move with the IK target but will stay aligned to the last bone on the limb (forearm on a human). See also: ■ Limb Animation Controls on page 4669 ■ Palm Animation Controls on page 4675 ■ Retargeting on page 4690 ■ Manipulating the Rig on page 4652 Animating with CAT | 4617 Animating with Stretchy Bones To allow a bone to stretch during animation, select, go to the Hierarchy panel, click Link Info, and in the Animation Mode group, turn on Manipulation Causes Stretching on page 4536. This feature lets you create bounce-and-stretch animation interactively in the viewport simply by moving the rig elements around. Alien rig 4618 | Chapter 15 Character Animation Pulling the elbow stretches adjacent bones. Animating with CAT | 4619 Dragging the ribcage stretches the spine. As you make the changes with Auto Key on, the animation is stored as Scale keys in the rig bone's PRS controllers. You can access these keys can in the Curve Editor, as with any other keys. Stretching Limbs To stretch put a limb, simply drag the palm. 4620 | Chapter 15 Character Animation Palm selected Moving the palm stretches the limb. See also: ■ CATModes on page 4632 Animating with CAT | 4621 ■ Hierarchy Panel on page 4527 ■ Manipulating Spines on page 4656 Animation Layering CAT's animation layering system has been a fundamental part of the software since day one. All layer management is performed using a simple rollout called the Layer Manager (CAT) on page 4624. Layering Concepts in CAT The Layer Manager on page 4624 rollout is available for every bone in a CATRig. To access it, select any bone in the rig and go to the Motion panel. 4622 | Chapter 15 Character Animation Layers are Applied to an Entire CATRig With CAT's layering system, whenever you add a new layer is added, that new layer applies to every bone in the CATRig. There’s no such thing as an arm layer or hand layer. When you add a new layer, every bone gets that new layer, and you can choose the parts of the CATRig that should not use the new layer. This process is called Feathered Weighting on page 4637. All Basic Layers Contain Standard Max Controllers The layer system in CAT is simply a mechanism for holding and managing animation controllers. It supports all 3ds Max animation controllers, including all the various keyframe controllers such as Bezier, TCB, Linear, Quaternion, Animating with CAT | 4623 and Euler, as well as the procedural controllers such as script and expression controllers and constraints. Layer Manager (CAT) Select rig part. ➤ Motion panel ➤ Layer Manager rollout The Layer manager is the interface to the CATLayer system. As you animate with CAT, you this rollout serves as the center of your layering workflow. Here you can add, remove, move layers up and down , adjust and animate global or local layer weightings, and more. Procedure To access the Layer Manager rollout: 1 Select any part of the rig. 2 Go to the Motion panel. 3 Go to the Layer Manager rollout. See also: ■ CATModes on page 4632 ■ Ranges View on page 4645 ■ Layer Types on page 4628 ■ Collapsing Animation Layers on page 4651 ■ Layer Transform Gizmo on page 4637 4624 | Chapter 15 Character Animation Interface Setup/Animation Mode Toggle Switches between CATModes on page 4632: Animation and Setup. Rig Coloring Mode Sets the coloring mode for the rig: Choose the mode from the flyout. Available only in Animation mode (see preceding). Animating with CAT | 4625 By default, the rig displays with the colors assigned to the individual bones. In Layer Color mode, however, the overall rig color is determined by the active layer and modified by underlying, blended layers. Dope Sheet: Layer Ranges Opens Track View in Dope Sheet mode to display the ranges for all layers. See Ranges View on page 4645. [layer stack] Lists all animation layers for the current rig, along with the type, color (if applicable), and Global Weight value for each. To highlight a layer, click its name in the list. Add Layer Adds a new layer to the layer stack. Click and hold on the Abs button to open the flyout, drag down to the layer type to add, and release to create the layer. See Layer Types on page 4628. NOTE The new layer is inserted above the highlighted stack entry. To add a layer at the end of the list (that is, the top of the stack), make sure the (Available) entry is highlighted. Remove Layer Removes the highlighted layer from the layer stack. Copy Layer Copies the highlighted layer ready for pasting. Paste Layer Paste the copied layer into the layer stack. This tool is useful for quickly duplicating layers on one CATRig, or for copying animation from one rig to another in the same scene. It is better than using the animation saving and loading on page 4694 tools because some types of controllers, such as Reaction, cannot be saved using the Clip file saver. Collapse Layers Collapses a time range of your animation to an existing or new layer. See Collapsing Animation Layers on page 4651. 4626 | Chapter 15 Character Animation Name Shows the name of the highlighted layer. To change the name, edit this text field. IMPORTANT After editing a track name, press Enter to register the new name. [color swatch] The layer color. This determines the color of the layer’s transform gizmo (see following), as well as the rig color in Layer Color mode on page 4625. Click to change the color using the Color Selector dialog. Display Layer Transform Gizmo Creates a transform gizmo for the current layer in the layer stack. Transform gizmos are available for absolute layers only. See Layer Transform Gizmo on page 4637. NOTE When a CATMotion layer is active, this button changes to CATMotion Editor (see following). CATMotion Editor Opens the CATMotion on page 4715 Editor. Available only when a CATMotion layer is active. Key Pose To Layer Keys the current pose of the character into the selected layer when Auto Key on page 3403 is on or offsets the current pose of the character into the selected layer when Auto Key is off. Move Layer Up/Down Click the upper or lower button to move the highlighted layer up or down one position, respectively, in the layer stack. Weight group These controls determine how the highlighted layer interacts with those before it in the layer stack; that is, those preceding it in the list. Except for Solo and Time Warp, the controls are unavailable for the first layer in the stack. Animating with CAT | 4627 Ignore When on, the highlighted layer’s animation is not applied to the rig. NOTE Setting a layer to Ignore causes its stack entry to be grayed out, indicating its inactive status. Solo When on, only the highlighted layer’s animation is applied to the rig; other layers are ignored. NOTE Activating Solo for a layer sets all other layers to Ignore status (see preceding). Global Weight The extent to which the highlighted layer affects the overall animation. For details, see Blending Between Layers on page 4634. To edit the animation curve for a layer’s Global Weight value, click Editor: Global Weights. Curve Local Weight The extent to which animation in the highlighted layer for selected bones affects the overall animation. For details, see Feathered Weighting on page 4637. To edit the animation curve for a layer’s Global Weight value, click Editor: Local Weights. Curve Time Warp Enables control of the velocity of an animation layer. This value is typically animated. For details, see Layer Time Warps on page 4650. To edit the animation curve for a layer’s Time Warp value, click Editor: Time Warps. Curve Layer Types Select rig part. ➤ Motion panel ➤ Layer Manager rollout 4628 | Chapter 15 Character Animation The versatility of CAT's layering system is based on its support for a variety of different layer types. Each layer type has different features and serves different purposes. Layer Stack Evaluation As the layer stack evaluates from top to bottom, each of the layers is applied, one after the other. The layer types are as follows: Absolute By default, an Absolute layer overwrites the previous layer's animation with a new animation. This means that, with two Absolute layers on the stack, only the second layer has any effect. The Absolute layer is the basic animation layer type that you work on most of the time. Relative Local The Relative Local layer is additive and local to preceding layers in the layer stack. Sometimes referred to as an adjustment layer, the Relative Local type is for editing the pose of your character, or applying adjustments to your animation. It applies its effect on top of the result of the previous layer. The effect of the Relative Local layer is always affected by the previous layer in the layer stack. For example, if you apply a rotation offset on the X axis on a relative local layer, then as the animation of the previous layer moves and rotate the head, the head will always be rotated according to its own local axes. To visualize the way this layer works, suppose you have two objects linked together in 3ds Max. The Relative Local layer has the same effect as the child object. If you rotate the parent, the child moves in a circle around the parent. The child’s offset is always in the coordinate space of the parent, which is how the Relative Local layer works. Relative World Sometimes referred to as an adjustment world layer, Relative World is useful for applying adjustments, always applies its adjustments in world space. That is, it ignores the results of the previous layers and always apply its effects the same way. Animating with CAT | 4629 For example, Relative World is useful for editing the exact location of a foot plant during a walk sequence. If you used a Relative Local layer to adjust the position of a foot plant and then later rotated the foot slightly on the Absolute layer, then the foot location would change because the Relative Local offset would be rotated also. In such a situation, it would be more effective to use a Relative World layer. The best way to learn which type of layer to use in a particular situation is by experimenting. In some cases a local space adjustment is suitable, while others are best suited to a world space adjustment. Learning these layering tools by working with them will allow you to make the most of the layering tools in CAT. CATMotion The CATMotion on page 4715 layer is used to create walk-cycle animation. Assigning Controllers to Layers CAT does not impose any particular keyframe interpolation scheme; rather, it allows you to use any 3ds Max animation controller. With any of the basic layer types (Abs, +L, +W), you can assign new controllers to any bone to change the behaviour of the bone, or to change the interpolation of the keyframes. Changing Rotation Interpolation from Euler to Quaternion Because the Biped character-animation system in 3ds Max uses quaternion interpolation, some artists have developed workflows based around TCB keyframing. Also, some game exporters have been written with the assumption that you are using Biped, and that keyframe interpolation is TCB. TCB quaternion interpolation provides better rotation interpolation in many cases and is therefore often regarded as a superior tool for character animation. The downside to using TCB quaternion interpolation is that you are unable to view the animation in the form of curves in a curve editor. 4630 | Chapter 15 Character Animation Procedure To convert a bone from Euler to quaternion: 1 Select the bone to which to assign a TCB Rotation controller. 2 On the Motion panel ➤ Layer Manager rollout, highlight the layer to which to assign the TCB controller. 3 In the Assign Controller rollout list, navigate to the branch in the controller hierarchy that represents the selected layer, and highlight the Rotation channel. 4 Click (Assign Controller) and then choose the TCB Rotation controller from the list of available controllers. Animating with CAT | 4631 Now the CATBone will use TCB interpolation for that layer. CATModes Select a rig bone. ➤ Motion panel ➤ Layer Manager rollout ➤ Setup/Animation Mode Toggle button 4632 | Chapter 15 Character Animation CAT provides two basic modes of operation: Setup and Animation: ■ Setup Mode: In Setup Mode you create and modify your CAT rig. You can also add or remove bones later, even after animating the character. If your character is already skinned and you want to adjust bones, first go to frame 0 and on the Skin modifier ➤ Advanced Parameters rollout, turn off Always Deform. That way you can edit bones without affecting the mesh. ■ Animation Mode: In Animation Mode you animate your character. NOTE By default, bones don’t stretch when you manipulate them in Animation mode. However, if your animation requires it, you can enable a bone to change its length when manipulating it or its parent bone by selecting it, going to the Hierarchy panel, clicking Link Info, and turning on Animation Mode group ➤ Manipulation Causes Stretching. So, for example, if you enable this for the spine bones, then moving the ribcage mode will cause the top spine bone to stretch. Procedures To access Animation mode: 1 Select a rig bone or the CATParent, go to the Motion panel, and access the Layer Manager rollout. 2 Create an Absolute layer in which to animate. NOTE You can switch from Setup mode to Animation mode only if an animation layer is present. 3 Click (Setup Mode). The button image switches to Animation mode. You are now ready to start keyframing. Animating with CAT | 4633 NOTE The CATRig’s mode is saved with the scene, so if you save a scene containing a rig in Animation mode and then later open it, the rig is still in Animation mode. To access Setup mode: When you first create a CATRig, it’s in Setup mode, so you can copy and paste parts, apply manipulation gizmos, and so on. After you access Animation mode, you can switch back at any time by clicking the same button. ➤ Click (Setup/Animation Mode Toggle). The button image switches to Setup mode. You can now modify the rig setup. Blending Between Layers Select a rig part. ➤ Global Weight setting Motion panel ➤ Layer Manager rollout ➤ Blending between layers is often as simple as animating the Global Weight value for the top layer. Sometimes, however, you might want to blend between individual limbs or turn off some elements (for example, the legs) to use the animation from another layer, below the current layer on the stack. This is called feathered weighting on page 4637. One example of this would be where you are using keyframe animation for the upper body and CATMotion for the legs. You manage global weights with the Global Weight setting and the Curve Editor. Local weights have their own setting and Curve Editor. Weights View is stored on the CATParent. However you can also access the global and local weights directly. 4634 | Chapter 15 Character Animation To navigate directly to the Global Weight Curve Editor: ➤ On the Motion panel ➤ Layer Manager rollout, click Editor: Global Weights). (Curve Track View opens to display the layers in the layer stack. You can now view and edit the curves controlling the layer weights for the selected layer. To blend on an absolute layer: 1 Go to the frame to blend to, and on the Layer Manager rollout, add an Absolute layer. The Absolute layer overrides existing animation layers and the rig remains stationary on the frame that the layer is created. 2 Rename the layer if you like. 3 On the Motion panel ➤ Layer Manager rollout, click Global Weights). (Curve Editor: The Curve Editor opens to the Global Layer Weights view, showing the existing layers for the rig. The following illustration shows three layers: PreHit, Reactor and GetsUp. Animating with CAT | 4635 4 Use (Add Keys) on page 3991 to create a key at the frame to blend from and set the weight to 0.0. 5 Create another key at the frame to blend to and set the weight to 1.0. The layer will now blend on and the character will be controlled by the new layer. To navigate directly to the Local Weight Curve Editor: ➤ Select the rig element for which you want to edit the local weight, and on the Motion panel ➤ Layer Manager rollout, click (Local Weight Curve Editor) . Track View opens to display the layers in the layer stack. You can now view and edit the curves that control the layer weights for the selected object in the highlighted layer. See Also Feathered Weighting on page 4637 4636 | Chapter 15 Character Animation Feathered Weighting Select a rig part. ➤ Weight setting Motion panel ➤ Layer Manager rollout ➤ Local When you add a new layer, every bone gets that new layer, and you can choose the parts of the CATRig that you do not wish to use the new layer. This process is called feathered weighting. Feathered weighting is achieved by editing the local weights of individual rig elements. Example: To turn down the weight on the left arm only (feathering layer weights): 1 Select the left arm. 2 Set the Local Weight value to 0.0 (right-click the spinner). The arm is no longer affected by the current layer. See Also Blending Between Layers on page 4634 Layer Transform Gizmo Select a CATRig part. ➤ Motion panel ➤ Layer Manager rollout ➤ Create or highlight an Absolute animation layer. ➤ Click Display Layer Transform Gizmo. ➤ Select the transform gizmo. ➤ Layer Transform rollout You use a layer transform gizmo to transform an animation in space. You can move and rotate the transform gizmo to change the position and direction of an animation clip. It appears as if the character is linked to the transform gizmo, but it is not. In fact, each layer has its own transform gizmo. The transform gizmo’s main purpose is to allow you to reuse animations by moving and rotating them in space. Animating with CAT | 4637 The name of the transform gizmo is "[current animation layer name]Transform". After you rename an animation layer, update the name of the transform gizmo by toggling the Display Layer Transform Gizmo button. Transform gizmos are available for Absolute layers only, and each Absolute layer can have its own transform gizmo. While you can animate the transform gizmo, it does not support custom controller assignments and cannot be linked to other objects. If you wish to animate a transform gizmo, it is recommended that you not animate the rotation. Apply basic animation only. This it not a method for general animation. Creating the Transform Gizmo There are three different ways to create a transform gizmo: ■ Transform gizmo beneath the pelvis: Click the Display Layer Transform Gizmo button. This creates a transform gizmo with a specific offset from the pelvis, defined by the pose in the Setup mode. The distance between the origin and the pelvis defines the offset. In Animation mode this offset is always respected even if you move the pelvis down, so it can happen that the transform gizmo is created below the feet, for example. 4638 | Chapter 15 Character Animation ■ Transform gizmo at the location of a bone: If you click the Display Layer Transform Gizmo button while holding Ctrl, CAT creates the transform gizmo at the position of the selected bone. For example, if you select the foot of a character, hold Ctrl and click the transform gizmo button, the node appears exactly at the location of the foot. You could then highlight a different layer and, again holding Ctrl, turn on the transform gizmo for that layer. Now you can align the foot locations on both layers with the Align tool in 3ds Max. ■ Transform gizmo at the origin: If you click the Display Layer Transform Gizmo button while holding the Alt key, the new node appears at the wolrd origin (0,0,0). If you then move the node, the Coordinate Display (X/Y/Z fields near the bottom of the program window) show how much transformation has been applied to a layer. For example, you could load a walk cycle loop and move it forwards by exactly 60 units because this is how long the loop is. Procedure You can use the layer transform gizmo to transform your animation layers in the viewport. This includes moving, rotating, and scaling the data, both uniformly and non-uniformly. The layer transform gizmo is particularly useful for lining up clips for blending between them. To transform your animation layer with the layer transform gizmo: 1 In the Layer Manager list, select the layer to transform. Animating with CAT | 4639 2 Click (Display Layer Transform Gizmo). The gizmo appears in the viewport at its default position: between the feet of the rig. 4640 | Chapter 15 Character Animation NOTE The transform gizmo is not automatically selected when created, but is shown selected in the preceding illustration for better visibility. 3 Select the transform gizmo and move it. Animating with CAT | 4641 The rig and its entire animation move as well. 4642 | Chapter 15 Character Animation You’ll find the animation keys for the transform gizmo in the Curve Editor in the Transform branch, on the CATParent under the selected layer. You can also access the keys quickly with the Ranges View on page 4626 function. See also: ■ Layer Manager (CAT) on page 4624 ■ Hierarchy Panel on page 4527 Interface NOTE Only bones with the Apply Transforms option enabled on the Bone Hierarchy rollout on page 4534 are affected by the transform gizmo. Animating with CAT | 4643 Display Ghost After creating a transform gizmo, you can use it to display a ghost of the animation on a particular layer. This is particularly useful if you are blending between two different layers. The ghost can tell you which animation is being played back on a layer even if that layer is disabled, or whether your character is using a completely different animation on a separate layer. Animation Looping group Start Time The frame that the animation loop starts on. 4644 | Chapter 15 Character Animation End Time The frame that the animation loop ends on. Remove Displacement When on, the overall displacement of the character is disabled. This feature removes the overall movement of your rig. The transform gizmo measures the movement of your pelvis from the time specified in the start time, to the time specified in the end time, and then calculates the overall movement of your rig for this time frame. It then removes this displacement over the course of your animation. This feature is equivalent to the In Place Mode in character studio Biped. This function could described as a walk-in-place for hand animation. It works by displacing the animation linearly from the start and end points specified. The idea is that the movement in space is removed so that the character remains animated on the spot. This tool is mainly for game animators who are creating walk cycles for game assets. For example, if you are creating a walk cycle and you need to export it to your game engine without any overall displacement, then use this feature to remove the forward motion from your character, leaving only the walking motion. You can toggle this feature whenever you need to export animation data. Ranges View Select a CATRig part. ➤ Motion panel ➤ Layer Manager rollout ➤ Create or highlight an animation layer. ➤ Click Dope Sheet: Layer Ranges button. Ranges View is CAT's nonlinear animation (NLA) view; it lets you move and retime all keyframes in a layer simultaneously. Benefits include the ability to change the animation timing and speed and trim off the end of the animation. Animating with CAT | 4645 NOTE All Ranges View features are extensions of the standard 3ds Max Ranges feature, available in Track View ➤ Dope Sheet mode. To understand these features, we recommend that you experiment with adjusing the ranges on a single controller for a simple object. Create a sphere, create some keyframes, and then open Track View in Dope Sheet mode and start editing the range bar. For more detailed information on these features, see Edit Ranges on page 3978. To edit ranges: 1 On the Layer Manager on page 4624 rollout, click (Dope Sheet: Layer Ranges). The layers are displayed as individual tracks. Ranges View 2 The ranges for the layers can then be squashed, stretched, and moved as usual in 3ds Max. They can also be reversed. The range for a layer is specified by the first and last keyframes on any track for any part of the rig. If a range extends before the start or beyond the end of your animation, one of the rig bones might have rogue keyframes. 3ds Max 4646 | Chapter 15 Character Animation creates a keyframe at frame 0 whenever you keyframe (using Auto Key) an object for the first time. This can create an unintended keyframe. Whenever you use Ranges View to edit the keyframes on a layer, all the keyframes on the rig are moved. You can see this clearly by selecting a bone with keyframes and then editing the layer range bar. NOTE If you have a constraint on a layer, it can cause Ranges View to extend to infinity. You can still use Ranges View to move keyframes, but it is not possible to see the start and end times for the layer. Moving Keyframes in Time To move all the keyframes on a layer, drag the bar to the left or right. With a complex character, the movement might be somewhat slow or jerky. Remember that you are moving many keyframes at once and the entire rig is updating repeatedly as you drag the keyframes. Squashing and Stretching Keyframes You can speed up or slow down an animation by dragging the range bar endpoints. To slow down the entire animation, make the range bar longer by moving the end of the bar to the right, or the start to the left. To speed up your animation make the range bar shorter by moving the start of the bar to the right, or the end to the left. Reversing an Animation To reverse the direction of an animation, drag the start of the range bar past the end, thus reversing the order of the keyframes. Setting Looping Options for a Layer To access the looping options for this layer, click the Parameter Curve Out-of-Range Types' button. Animating with CAT | 4647 You might have an animation on a layer that you would like to repeat in some way. This could be a simple action like a breathing motion on a ribcage, or a while walk cycle. You can use the ranges view to set the looping options for the entire layer. Remember that each controller on the rig loops separately, so to get the whole layer to loop at the same time, you might want to set the layer time range manually (see following). Setting the Layer Time Range Manually Each controller in the rig has its own time range, which is defined by the first and last keyframes on that controller. This means, for example, that if you want your animation to loop, then each controller will loop according to its own time range. As a result, the whole animation can get out of sync and look incorrect. If you set the time range manually, you can force all the controllers on the character to use the same time range, thereby ensuring correct looping. To use position ranges on an animation layer: 1 In Dope Sheet mode, right-click the toolbar area of Track View. 4648 | Chapter 15 Character Animation 2 From the menu, choose Show Toolbars ➤ Ranges: Dope Sheet. 3ds Max opens the Ranges toolbar. 3 Click (Position Ranges). 4 Edit the Layer Range as usual. NOTE Once you have set your layer to manual range adjustment by activating Position Ranges, you can no longer move the keyframes in time. This is because when you move the range bar, it is actually moving the loop time for your controller, not the actual keyframes. If you need to move the keyframes again, you can recouple the ranges by clicking the Recouple Ranges button (see following). At some point you might wish to go back to standard range editing. You can do so by clicking (Recouple Ranges). This resets all the ranges to their default behavior where the time range is defined by the first and last keyframes. Animating with CAT | 4649 See also: ■ Layer Manager (CAT) on page 4624 ■ Layer Time Warps on page 4650 Layer Time Warps Select a rig part. ➤ Warp setting Motion panel ➤ Layer Manager rollout ➤ Time Time Warp curves enable you to control the velocity of an animation layer with a single spline curve. This lets you, for example, achieve Matrix-style bullet-time effects easily. The Time Warp curve can be found if you open the CATParent in the Curve Editor. You can also open it by clicking Manager ➤ Curve Editor: Time Warps. Curve Editor showing Time Warp curve 4650 | Chapter 15 Character Animation Layer See also: ■ Layer Manager (CAT) on page 4624 ■ Ranges View on page 4645 ■ Copying and Pasting Animation Layers on page 4651 Copying and Pasting Animation Layers Select a rig part. ➤ Motion panel ➤ Layer Manager rollout ➤ Copy Layer/Paste Layer buttons on page 4626 You can copy and paste animation layers, including between rigs. It is also possible to instance layers which means that different rigs can reference the same animation layer. A character with an instanced animation layer can still be retimed, time warped and transformed. This application is particularly useful for crowd sequences. See also: ■ Layer Manager (CAT) on page 4624 ■ Layer Transform Gizmo on page 4637 ■ Layer Time Warps on page 4650 Collapsing Animation Layers Select a CATRig part. ➤ Motion panel ➤ Layer Manager rollout ➤ Create or highlight an animation layer. ➤ Click Collapse Layers button. Use the Collapse Layers button to convert all the current animation in your layer stack to one layer. CAT will plot all your animation down to one layer using consistent sampling. Animating with CAT | 4651 Collapse to Existing/New Layer If you select an existing layer in the layer manager and click the Collapse Layers button, all the current animation will be plotted onto the selected layer. IMPORTANT The selected layer should not contain any animation, as it will be overridden with new keyframes. Alternatively, to plot all the animation on your CATRig to a new layer, highlight the (Available) layer and click Collapse Layers. See also: ■ Layer Manager (CAT) on page 4624 Manipulating the Rig The FK/IK system in CAT lets you simply push your character into the pose you want without having to worry about the too much about IK and FK. Most of the control you'd normally associate with IK is also present in FK as well and vice-versa. When working with the rig you will find you can achieve a great deal with the Move tool. Rotation is possible, of course, but often is not necessary. 4652 | Chapter 15 Character Animation The FK/IK system comprises three main features: effect hierarchy, FK-driven IK, and retargeting. These are complemented by CAT's procedural spine, digit controls, and foot-pivot system. One of the features of the CATRig is that if you move a bone in the hierarchy (regardless of whether you are in IK or FK), the bones on either side rotate to accommodate the move. This is system allows you to just manipulate the rig quickly and intuitively. This system is called Effect Hierarchy. Following are three examples of this. Bending the Elbow Moving the elbow (forearm) back bends the arm. Arm position before edit Animating with CAT | 4653 Arm position after moving forearm Tweaking the Fingers Moving finger parts is likewise intuitive. 4654 | Chapter 15 Character Animation Outstretched fingers Animating with CAT | 4655 Moving the middle digit bends up the finger. Manipulating Spines CATRigs have two types of spines, procedural and FK, both of which you can work with in much the same way. The main difference is that FK spines have PRS controllers on every spine bone, which means you can transform them individually. Be aware that FK spines have limitations as well. Spines interpolate between the hubs at their extremities, so all you have to do is transform the hubs as you want. 4656 | Chapter 15 Character Animation Original pose: Select the ribcage. Animating with CAT | 4657 As you move the ribcage, the spine interpolates with it. Limitations of FK Spines While FK spines let you animate each spine bone individually, they have limitations: ■ FK spines do not work with CATMotion. ■ FK spines do not work with CAT's retargeting system. NOTE Animation data from a rig created with a procedural spine will not load correctly onto a rig with a FK spine, and vice-versa. Last, FK spines require you to manage many more keyframes. Unless you really need the extra control, it is strongly recommended that you use a procedural spine. 4658 | Chapter 15 Character Animation Adjusting the Pelvis Sometimes you want to adjust the pelvis (parent hub) without affecting the ribcage (child hub). For this purpose CAT has a feature called Pin Bone, which lets you manipulate the pelvis without affecting the ribcage. Pelvis selected Animating with CAT | 4659 As the pelvis is transformed, the ribcage remains stationary. Manipulating Fingers (Digits) While you can transform fingers (digits) directly, you might prefer to use the Digit Manager on page 4677 instead. Its controls give you the ability to edit selected fingers’ spread, bend, roll, and curl. Digit Manager also has a built-in digit-pose preset manager. 4660 | Chapter 15 Character Animation Select the palm. Animating with CAT | 4661 In the Digit Modifiers list, highlight the digits to edit. 4662 | Chapter 15 Character Animation Drag the Curl spinner and the fingers curl in. Rotating the Feet In the Foot Pivot system, the Foot Pivot is a sub-object of the FootPlatform (the IK target for the foot). You simply position it as required and then rotate the foot. It is completely animatable. Animating with CAT | 4663 Select the Footplatform. When you select it you can already see the Foot Pivot. 4664 | Chapter 15 Character Animation Move the pivot to the front of the FootPlatform. Animating with CAT | 4665 When you rotate the FootPlatform it now rotates from the toe. As you continue to animate the Foot pivot is simply animated into position as required. Manipulating Hubs When you right-click a selected hub in Animate mode, you’ll find the Pin Bone command on the Tools 2 quadrant. When this control is on, you can, for example, edit the base hub (such as the pelvis), without affecting the position and rotation of the tip hub (such as the ribcage). See Pin Hub on page 4688. Manipulating the Tail To manipulate a tail, select several bones in the tail and rotate. All the bones rotate together to cause the tail to curl nicely. 4666 | Chapter 15 Character Animation Multiple tail links selected When rotated up the tail curls smoothly Animating with CAT | 4667 Manipulating Collarbones Typically, you rotate a collarbone rather than moving it. Also, it’s best not to twist the collarbone. An easy way to edit the collarbone rotation is to select the upper arm or shoulder bone and move it. When you move the upper arm bone, the collarbone will be rotated according to your movements. Alternatively, select the collarbone directly and use the Move, Rotate, and Scale tools. See also: ■ Foot-Pivot System on page 4684 ■ Animating with Stretchy Bones on page 4618 ■ Hierarchy Panel on page 4527 ■ Retargeting on page 4690 4668 | Chapter 15 Character Animation Animation Controls CAT provides dedicated IK controls for animating parts of the rig, including limbs, hands and fingers, feet, and hubs. This section includes descriptions of these controls. Limb Animation Controls Select a limb bone. ➤ Motion panel ➤ Limb Animation rollout Limb controls are found on the Limb Animation rollout, which is available in both Setup and Animation modes on page 4632. Moving the IK Target Up the Limb Traditionally the IK target sits at the end of the limb, but sometimes a different location is necessary. For example, for a crawling character, the IK target should be positioned at the knee. You can animate the IK target up and down the limb with the Num IK Bones on page 4674 setting. Num IK Bones allows you to slide the IK target up and down the limb. The Num IK Bones value ranges from 0.0 to the number of bones on the limb, including the palm. For example, with a typical leg setup of two leg bones and an ankle, the range goes from 0.0 to 3.0. Lowering the Num IK Bones value moves the IK target (for example, the Footplatform) up the limb, bone by bone. On a typical leg, the value 1.0 places the IK target at the knee, while a value of 0.0 places it at the top of the leg: the pelvis. As the value changes, the limb is pulled down through the IK target. This is normal. The part of the limb that is beyond the IK target is in FK. Animating with CAT | 4669 Num IK Bones=1.0 4670 | Chapter 15 Character Animation At this setting the lower leg can be rotated in FK. See also: ■ Manipulating the Rig on page 4652 ■ CAT's IK System on page 4606 ■ Retargeting on page 4690 Procedures To access to the Limb Animation rollout: ■ The IK controls for the limb are available for all limb bones. Select the limb and go to the Motion panel ➤ Limb Animation rollout. Animating with CAT | 4671 To blend a limb seamlessly from IK to FK: 1 Make sure an Absolute layer on page 4599 and Animation mode on page 4632 are active. 2 Go to the frame at which to start the blend. This should be an IK frame, meaning the IK/FK value is 0.0. 3 Turn on (Auto Key). 4 Click the Match IK And FK button. 5 Tweak the IK/FK slider to create a keyframe. 6 Go to the time at which to end the blend. 7 Move the IK/FK slider to 1.0. To blend from FK to IK: As you decrease the IK/FK value, the limb remains in the same place but is ready to animate in IK. 1 Make sure an Absolute layer on page 4599 and Animation mode on page 4632 are active. 2 Go to the frame at which to start the blend. This should be an FK frame, meaning the IK/FK value is 1.0. 3 Click the Move IK Target To Palm button. 4 Turn on (Auto Key). 5 Tweak the IK/FK slider to create a keyframe. 6 Go to the time at which to end the blend. 7 Set IK/FK to 0.0. 4672 | Chapter 15 Character Animation Interface The Limb Animation rollout provides access to the IK and FK settings for the limb. Create IK Target By default, a rig arm has no IK target. To animate in IK, first use the Create IK Target function. This creates a special point helper that serves as the IK target for the arm. The IK target for a leg is the FootPlatform. NOTE The Create IK Target function works only with an active Absolute layer. Select IK Target Selects the IK target for the selected palm or ankle without having to search for it in the scene. NOTE Moving the IK target affects the limb only when the IK/FK value (see following in this topic) is less than the maximum 1.0. Also, when the IK target is selected, the function and name of this button switch to Select Limb End. Move IKTarget to Palm Centers the IK target at the end of the palm. Use this function when you have been animating in FK mode, leaving the IK target behind, and you want to blend back to IK. Animating with CAT | 4673 Match IK and FK Creates a seamless blend between IK and FK modes. Click this button with Auto Key on before you blend to or from IK. IK/FK Blends between IK and FK on the limb, with 0.0 being IK and 1.0 being FK. TIP Normally, you would not leave the value between 0.0 and 1.0 while animating. The interim values are intended mainly for blending between IK and FK. Display FK Limb in IK When on, and the limb is in IK, displays a ghost/wireframe image of the position the limb would be if using FK. This option is useful when you are animating to see quickly what the FK solution is doing when in IK, in case you are having issues with the IK solver bending in the wrong direction. As you slide the IK/FK slider to the right, the limb gradually assumes the ghost position. Left: Limb in IK, with Display FK Limb In IK on Right: Limb in FK Num IK Bones Slides the IK target up and down the limb. The value ranges from 0.0 to the number of bones on the limb, including the palm. For example, with a typical leg setup of two leg bones and an ankle, the range is 0.0 to 3.0. Retargeting This slider blends CAT's retargeting on page 4690 for the selected limb. At 0.0, retargeting is off, and a value of 1.0 means retargeting is fully on. 4674 | Chapter 15 Character Animation Palm Animation Controls Select a palm bone. ➤ Motion panel ➤ Palm Animation rollout As well as holding the same Limb Animation rollout as the rest of the limb the Palm has its own, unique functionality. These include the Digit Manager and the Palm Animation rollout. The same controls are available for ankles. See also: ■ Digit Manager on page 4677 Interface The Palm Animation rollout comprises a single slider called Target Align. Target Align Controls the extent to which the palm inherits rotation of the IK target. When Target Align is set to 0.0, the palm moves but does not rotate with the IK target; instead, it remains aligned with the last bone on the limb. On a humanoid character, that is the forearm. Animating with CAT | 4675 E.g. of palm not inheriting IK target rotations 4676 | Chapter 15 Character Animation When the Target Align value is set to 1.0 the palm inherits both positions and rotations from the IK target. E.g. of palm inheriting IK target rotations Digit controls include a digit manager with advanced digit modifiers. Digit Manager Select a palm bone with one or more digits. ➤ Palm Animation rollout Motion panel ➤ The Digit Manager provides controls for posing the digits on a palm procedurally. The Digit Manager rollout appears on the Motion panel for a selected palm with one or more digits, although it’s most useful with palms that have multiple digits. Animating with CAT | 4677 TIP You are not limited to using CAT’s digit-manipulation controls for posing hands. You can also select individual digit bones in the viewport and transform them as normal. NOTE As elsewhere in this help, any reference to a palm in this topic applies equally to an ankle. See also: Palm Animation Controls on page 4675 ■ Procedure To access the Digit Manager rollout: 1 Select a palm bone on a rig. By default, a newly created palm has no digits; to use the Digit Manager, you need to add some. 2 On the Modify panel ➤ Palm/Ankle Setup rollout, set Num Digits to a value greater than 0. For example, with a human character, youd set it to 5. 3 Go to the if necessary. m Motion panel and expand the Digit Manager rollout, Interface The Digit Manager rollout includes two groups: Preset Poses and Digit Modifiers. Preset Poses group The Preset Poses list holds digit poses. A digit pose comprises the rotations for all digit bones on the palm or ankle. With the controls in this group you can save pose presets and then load them onto any other palm. 4678 | Chapter 15 Character Animation If the palm to which you apply a pose has fewer digits than those of the pose preset, the extra digits are ignored. If the palm has more digits, the extra digits receive no rotation data. You can weight a pose preset, blending from one pose to another or mixing poses to create a new preset. [pose list] Lists saved preset poses. To apply a preset to the selected palm without blending, double-click its name in the list. Weight The amount that the highlighted preset has on the digits. To blend a preset, select the palm, click a preset pose in the list once to highlight it, and then adjust the Weight value upward. NOTE The Weight value is relative, so that if you apply the same value several times, as long as the highlighted preset pose has been applied only partially, the blend amount increases. Store Preset Saves the current digit rotations as a new pose preset. TIP By default, digit poses are stored in separate files in \[system folder]\plugcfg\CAT\HandPosePresets\. You can use the Save As dialog to save poses in a different location, but they won’t then appear in the Preset Poses list. Remove Preset Deletes a pose preset from the Preset Poses list. WARNING Removing a preset deletes the file containing the preset permanently without prompting you. Animating with CAT | 4679 Digit Modifiers group The Digit Modifiers group provides tools to enable you to manipulate the digits, either singly or as a group. You can transform selected digits parametrically with the Spread, Bend, Roll, and Curl controls. NOTE All modifications are relative to the existing rotations. [digit list] Lists all digits on the selected palm. Before applying controls from this group, highlight the digits that the controls should affect. TIP You can highlight multiple contiguous list entries by dragging in the list. Spread Rotates highlighted digits away/towards each other from the base of the digit. 4680 | Chapter 15 Character Animation Bend Rotates highlighted digits up and down from the base of the digits. Animating with CAT | 4681 Roll Rotates highlighted digits around their length. 4682 | Chapter 15 Character Animation Curl Rotates bones of highlighted digit7s up and down. Animating with CAT | 4683 Foot-Pivot System The CAT foot-pivot system lets you position the rotation point of a foot anywhere you like. To use it, simply move the pivot where you want it and rotate the FootPlatform. The foot pivot is animatable, so you simply move it around with Auto Key on, the same way you animate anything in 3ds Max. 4684 | Chapter 15 Character Animation To work with the foot pivot system: 1 Add or highlight an animation layer and activate mode on page 4632. 2 Animation Select the FootPlatform. With the FootPlatform selected you can see the Foot Pivot: the cross in the middle of the FootPlatform. 3 On the Motion panel, turn on Selection Level ➤ Sub-Object. Animating with CAT | 4685 4 Move the pivot to the front of the FootPlatform. 5 Turn off Selection Level ➤ Sub-Object. Now, when you 4686 | Chapter 15 Character Animation rotate the FootPlatform, it rotates from the toe. 6 As you continue to animate, simply animate the Foot pivot position as required. See also: ■ Editing Limb IK Targets on page 4584 Hub Hierarchy Controls Select a hub. ➤ Hierarchy rollout Hierarchy panel ➤ Click Link Info. ➤ Hub The Hub Hierarchy rollout provides controls for pinning the hub, remedying spine pop, and retargeting. Animating with CAT | 4687 Procedures To adjust the pelvis without affecting the ribcage: 1 Select the ribcage. 2 Go to the Hierarchy panel. 3 On the Hub Hierarchy panel check Pin Hub. See also: ■ Hierarchy Panel on page 4527 Interface Pin Hub Locks a hub temporarily in position so that its parent can be transformed without affecting the child hub. This command is also available as Pin Bone on the Tools 2 quadrant when you right-click a selected hub in Animation mode on page 4632. A typical example of this would be pinning the ribcage of a character so that you can tilt the pelvis without repositioning the upper body. With Pin Hub on, manipulating the pelvis doesn’t affect the ribcage. NOTE This option does not work on FK spines. 4688 | Chapter 15 Character Animation The pelvis is selected Animating with CAT | 4689 As the pelvis is moved the ribcage remains static Spine Limits Movement Normally, when you try to lift a ribcage up, or push it too far, the spine restricts the movement of the hub to ensure it stays within range of the spine. If you find that moving the hub causes it to pop (move suddenly and unexpectedly), it might be the result of the spine incorrectly limiting its movement. To see if the spine is causing the problem, try turning off Spine LImits Movement. Retargeting - Allow IK Rotations Allow IK Rotations is for retargeting on page 4690 only. When on, the hub both rotates and moves to find a best fit between the positions of the limb IK targets and the angles of the limbs. When off, the hub moves only. Retargeting The retargeting system in CAT, available on all limbs, attempts to maintain the IK solution and the angles of the limb bones by pushing out or pulling in and rotating the hub. This is in contrast to a conventional IK system, which 4690 | Chapter 15 Character Animation leaves the root object (hub) in place and moves the IK target only without taking into account the angle of the limb bones. Retargeting was originally created to retarget imported motion data, and as a way to create straight-legged walk cycles in CATMotion. It is not limited to this, however, and has turned out to be powerful keyframe animation tool as well. You blend retargeting in and out with the Retargeting on page 4674 setting on the Limb Animation rollout. Also, in CATMotion there’s a comparable Retargeting setting on the Globals panel on page 4723. Retargeting in Action In the examples below both arms have Retargeting set to 100%. Starting position Animating with CAT | 4691 The IK target pulled forward As the right IK target is moved forward the system pulls the ribcage around, maintaining the angle of the arms until it is no longer possible. This is a much more natural movement than stretching out the arm and then rotating the ribcage. Pulling the IK target out to the side, farther than the arm can reach 4692 | Chapter 15 Character Animation As the IK target moves out to the side, the ribcage moves over, trying to keep between the two hands,while still being limited by the length of the spine. You can limit the hub behavior with the Hub Hierarchy rollout ➤ Allow IK Rotations on page 4690 check box on the Hierarchy ➤ Link Info panel. When the switch is on, the hub rotates and moves to fit the retargeting solution. When off, the hub only moves while maintaining its orientation. The IK target pulled forward With Allow IK Rotations off, the hub (ribcage) stays straight while still moving as far as it can. See also: ■ Retargeting Motion-Capture Data on page 4768 Editing Keyframes in Track View As with most types of animation in 3ds Max, animation keys in CAT are stored in Track View. To access the keys for an element in a CATRig, simply navigate to the element in Track View. Below the element’s Transform branch is an extra branch called LayerTrans (Layer Transform). Below this, the existing layers are visible, each with its own, individual transform controller. Animating with CAT | 4693 The animation curves on GameCharRibcage bone ➤ Backflip layer TIP Using the Selected Objects on page 3925 filter can save a lot of scrolling. TIP By default, all rotations are driven by a standard Euler XYZ rotation controller. This controller, although easy to work with, can cause problems such as gimbal issues. Biped, for example, uses TCB rotation interpolation which avoids this problem. To use quaternion rotations, you can assign a TCB controller instead of the Euler XYZ controller. Working with Poses and Animation CAT provides tools for working with motion data, including importing, mapping, retargeting and editing. You can save individual animation layers and even whole layer stacks for reuse, including on other characters. You can save and load poses and animation from any body part using quad menus. Select and then right-click an arm, leg, finger, tail, or any bone in CAT, and save pose or motion data from the context menu. 4694 | Chapter 15 Character Animation Image courtesy of Adam Walker Film How Motion Is Scaled to Fit Your Rig When you save motion or pose data from a CATRig, the CATUnits Ratio on page 4545 value is included with the file. When reloading, the CATUnits value from the saved file is compared with the CATUnits value of the rig onto which you are loading the data. The difference between the two CATUnits values is used to scale the data. For example, if you saved an animation from CATRig A with a CATUnits setting of 2.0, and you load that animation onto CATRig B, which has a CATUnits setting of 4.0, then the data is scaled by a factor of 4.0/2.0, or 2.0. So the data will be made twice as big to fit your new rig. This means that it is important to use CATUnits correctly. With the example rigs, we try to make sure the CATParent fits underneath the feet of your character. As long as all your rigs have CATParents which are the same relative size with respect to the CATRig, then the data will be scaled correctly. TIP When building rigs of different sizes, it is easier to build one rig and then resize it using CATUnits before adjusting proportions. This way, you are more likely to get correctly scaled CATUnits values when transferring animation between your rigs. See also: ■ Working With Motion-Capture Data on page 4756 Working with Poses and Animation | 4695 Saving and loading Poses and Animation using Right-Click Menus Animation mode on page 4632 ➤ Select posable CATRig part (such as a hub or limb bone). ➤ Right-click. ➤ Save/Load Pose/Anim With CAT, you can save and load poses and animation from individual body parts to entire rigs. You can save clip files from any body part; select and then right-click a rig part such as a finger or facial bone and save the animation. During loading, you can mirror, transform, and swap poses and animation. 4696 | Chapter 15 Character Animation CATRigs or Components You can save poses for whole CATRigs, hubs, arms and legs, hands and feet, fingers, toes, tails, and even sub-bone hieararchies. And you can reuse poses or animation from any body part. Working with Poses and Animation | 4697 Interactive Loading When a pose or animation file is being loaded, all the load parameters are “live.” You can change the loaded file, the time of the load, or any of the parameters related to how the pose is loaded. As the artist, you can validate the loaded pose by scrubbing the time slider and view the results of the loaded pose or animation data before commiting to the result by clicking OK. Transformations During loading, the artist has full interactive control over the transformation and mirroring of the pose or animation during load. Ghosting To help validate the loaded pose, the CATRig displays a ghost of the currently loaded pose. This lets you see the result of the loaded file as you scrub the timeline. Procedures To save a full-rig pose: With a hub selected, you can save a pose for an entire rig. 1 With Animation mode active, a pelvis, ribcage or head object. select a hub in your rig, such as 2 Right-click the selected hub object or its gizmo, and choose Save Pose from the bottom-left quadrant. This opens the Save Hub Pose dialog. 3 On the Save Hub Pose dialog, turn on Save Whole Rig. Change the name if you like, and then click OK. 4698 | Chapter 15 Character Animation To load a full-rig pose: With a hub selected, you can load a pose for an entire rig. 1 With Animation mode active, a pelvis, ribcage or head object. select a hub in your rig, such as 2 Right-click the selected hub object or its gizmo, and choose Load Pose from the bottom-left quadrant. This opens the Load Hub Pose dialog. The default pose-file name is that of the rig you saved most recently. 3 Turn on Load Whole Rig, if necessary. 4 To change the pose to load, click the ➤ button to the right of the pose name and then choose a different pose from the list. 5 On the Save Hub Pose dialog, turn on Save Whole Rig. Change the name if you like, and then click OK. 6 A ghost is displayed for the ghost at the time is it being loaded. Options include mirroring the pose, and you can use the Load Time setting to specify the time at which the pose is loaded. Also, if you turn on Transform Type-in, you can change any of the transformation options for the loaded file. 7 Click Ok to load the pose. Working with Poses and Animation | 4699 Interface Save Pose dialog The Save Pose dialog defines a file name and path. When using the copy and paste pose system, CAT saves pose files. The filename and location are generated automatically, but you can change these. [name field] The name of the pose file to save. The name of the pose is generated from the name of the bodypart you are saving and the frame at which you save the file. To change the name, edit the field, or to change the name and/or location, click the “b” button. b Click to browse for a different save path, and optionally change the file name. Save Whole Rig Available only when saving a pose from a hub on page 4558. When on, the pose is saved for the entire rig rather than just the hub. Load Pose dialog Load Pose, like all dialogs in this feature, is non-modal. This means that you can rotate the viewport, scrub the time slider, and validate your results as you edit the parameters of the loaded pose. The only exception is that deselecting the selected bone cancels the load operation. 4700 | Chapter 15 Character Animation [name field] The name of the pose file to load. By default, this is the most recently saved file, but you can choose a different one by clicking the ➤ button. > Expands the dialog and opens a list that shows all saved poses in the default location. Choose a different pose from the list or navigate to another location by double-clicking the <..> entry at the top of the list. Load Time The time at which the pose will be loaded. You can edit this value interactively to change the time the animation is loaded. Mirror Toggles whether the pose is mirrored when loaded. Mirroring is not available when loading limb, palm, or digit poses. Load Whole Rig Toggles whether you are loading a rig or a body-part pose. Available only when loading a hub pose. Transform Type-in Lets you apply a transformation to the loaded pose. Use the Pos(ition) and Rot(ation) Offset fields to enter values for the transformation of the pose data from the saved version. You can, for example, ensure that the pose is loaded in its exact original location for creating looped motions, or with a specific translation and rotation offset. Cancel Cancels the load operation and closes the window. If you deselect the selected CATBone, the load is automatically canceled. OK Loads the pose using the current settings. Working with Poses and Animation | 4701 Animation Saving and loading animation is similar to saving and loading poses. Save Animation dialog The Save Pose dialog defines a file name and path. When using the copy and paste anim system, CAT saves clip files. [name field] The name of the animation file to save. The name of the file is generated from the name of the bodypart you are saving and the frame at which you save the file. To change the name, edit the field, or to change the name and/or location, click the “b” button. b Click to browse for a different save path, and optionally change the file name. Save Whole Rig Available only when saving an animation from a hub on page 4558. When on, the animation is saved for the entire rig rather than just the hub. Start Time The first frame of the range to save. End Time The last frame of the range to save. Load Animation The Load Animation settings are the same as those for Load Pose on page 4700. 4702 | Chapter 15 Character Animation Clip/Pose Manager Select a CATParent. ➤ Motion panel ➤ Clip Manager rollout The Clip/Pose Manager provides controls for saving and loading animation clips and poses. Use the Clip and Pose buttons to switch between the Clip Manager and the Pose Manager (the rollout name is always “Clip Manager”). Working with Poses and Animation | 4703 Clip Manager Select the CATParent. ➤ Click Clip. Motion panel ➤ Clip Manager rollout ➤ Clip Manager allows you to save the layers in the Layer Manager on page 4622 (excluding CATMotion on page 4715) and load them later, even onto other rigs. The animation data is stored in CLP text-based files. A saved clip includes all current animation controllers and their parameters, so subsequent reloading of the clip restores all motion exactly. However, if an element’s controller is procedural, such as a LookAt constraint or a Script controller, the controller is loaded but its settings (for example, the LookAt target object) are not. In such cases you must reassign the LookAt target manually. In addition to CLP files, the Clip Manager can load BVH, HTR, and BIP motion-capture data. 4704 | Chapter 15 Character Animation Procedures To save a clip: 1 Click (Save Animated Clip). In the Save As dialog, specify a path and file name, and then click Save. TIP To have the clip appear in the list, use the default path. The Save CAT Clip dialog on page 4707 opens. 2 Leave Save Entire Time Range on, or, to save a specific frame range, turn it off and enter Start and End frame values. 3 Leave Save Entire Layer Stack on, or, to save a specific layer range, turn it off and choose the Start and End layers from the list. When you enter a range, CAT saves those layers and any layers between them in the layer stack. 4 Click the Save button to save the clip. If you use the default location, the clip then appears in the list. To load a clip: 1 Double-click a preset in the list or click file. (Browse) and open a clip The Clip Options dialog on page 4707 opens. 2 Set the desired clip options and then click the Load button on the dialog. Working with Poses and Animation | 4705 Interface [clip list] Lists clips saved in the default location. To apply a clip to the selected rig, double-click its list entry. This opens the Clip Options dialog on page 4707. Save Animated Clip Saves one or more layers as a clip. Clicking the button opens a file dialog where you can specify the name and location of the clip; when you click Save, the Save CAT Clip dialog on page 4707 opens. Browse Opens a file browser to locate a clip in a location other than the default. Delete Removes the highlighted clip from the list and deletes its disk file. 4706 | Chapter 15 Character Animation Save CAT Clip dialog Save Entire Time Range When on, saves all animation frames. When off, you can specify a frame range to save with the Start and End parameters. Start/End The first and last frames of the range to save. To save a subset of the animation, turn off Save Entire Frame Range (see preceding) and use these settings. Save Entire Layer Stack When on, saves all animation layers. When off, you can specify a range of layers to save with the Start and End settings. Start/End The first and last animation layers of the range to save. The saved clip contains these two layers and any intervening layers in the layer stack. To save a subset of the animation layers, turn off Save Entire Layer Stack (see preceding) and use these settings. Clip Options dialog This dialog opens when loading a saved clip. Working with Poses and Animation | 4707 Start Time The frame at which the clip will start. Scale Data When on, the size of the saved data is adjusted to the CATUnits Ratio setting of the current rig. See Understanding CATUnits on page 4755. Transform data to current position When on, the animation is offset to start at the current position of the rig. Mirror When on, the animation data is mirrored across the chosen coordinate plane: ■ Character Symmetry Plane The character is mirrored left to right across itself. ■ World Y Plane The character is mirrored across the World YZ plane. ■ World X Plane The character is mirrored across the World XZ plane. See also: ■ Layer Manager (CAT) on page 4624 ■ Pose Manager on page 4708 Pose Manager Select the CATParent. ➤ Motion panel ➤ Activate or create a layer and access Animation mode ➤ Clip Manager rollout ➤ Click Pose. 4708 | Chapter 15 Character Animation The Pose Manager allows you to save the current rotations of the rig parts to a file. The data is stored in PSE text-based files. NOTE To use Pose Manager, Animation mode on page 4632 must be active. Procedures To save a pose: 1 Select the animation layer you wish to save. 2 Go to the frame you wish to store. 3 Click (Save Pose). 3ds Max stores a keyframe for every bone in the current layer. To save a pose that is a combination of all the layers: 1 Create a new Absolute Layer at the top of the stack and give it a weight of 0.0. 2 Go to the frame at which to save the pose. 3 On the Layer Manager rollout, click (Create Keyframe). This creates a pose on the new layer that captures the current pose. 4 Click (Save Pose). To load a pose: 1 Select or create the animation layer into which to load the pose. 2 Go to the frame at which to load the pose. 3 Click (Browse) and open a file or double-click the pose name in the Pose Manager list. This opens the Clip Options dialog on page 4707. 4 Set the options and click the Load button. The pose loads at the current frame. Working with Poses and Animation | 4709 Interface [pose list] Lists poses saved in the default location. To apply a pose to the selected rig, double-click its list entry. This opens the Clip Options dialog on page 4707. Save Pose Saves the current pose from the active animation layer. Clicking the button opens a file dialog where you can specify the name and location of the pose file; when you click Save, the pose is saved. If you use the default location, the pose then appears in the pose list. Browse Opens a file browser to locate a clip in a location other than the default. After you specify the file and click Open, the Clip Options dialog on page 4707 opens. Delete Removes the highlighted pose from the list and deletes its disk file. See Also Layer Manager (CAT) on page 4624 Clip Manager on page 4704 4710 | Chapter 15 Character Animation Pose Mixer Select a rig part. ➤ Layer Manager ➤ Create or highlight an animation layer. ➤ Animation mode ➤ Animation menu ➤ Animation - CAT submenu ➤ Pose Mixer Animation menu ➤ Animation - CAT submenu ➤ Pose Mixer ➤ Click CATRig. ➤ Select a bone on the rig to work with. ➤ Layer Manager ➤ Create or highlight an animation layer. ➤ Animation mode The Pose Mixer enables you to save poses and then reload them back onto your CATRig. You can blend poses Poses can be blended while being loaded. While you can use Pose Mixer on any part of a CATRig, it is designed specifically for facial animation, allowing you to save, mix, and and reuse poses the same way you work with facial shape morphing. Configuring your Rig When you copy a bone and then use Paste Mirrored on another bone (see, for example, Copy/Paste/Paste Mirrored on page 4580), CAT remembers the symmetrical relationship between these bones. In this way, you build the “symmetry map” necessary for using Pose Mixer. For every bone on the left side, use Copy and then Paste Mirrored onto the equivalent bone on the right side, thereby ensuring that the rig contains a complete map of left and right bones and how to perform mirroring operations. Left/Middle/Right Pose Files When you save a pose file, you specify whether this pose is for the left side of the body or face, the right side, or the middle. This information is used when loading the file back in. So if you save a Left pose and then reload it using the Right spinner, then the pose is mirrored onto the right side of the body when loading. For example, you might edit the bones around the left eye to close the eye. Then select all the left eye bones and click Save. After you specify the file name, a small dialog opens offering you the choice of Left, Middle, or Right. Choose Left. Now you can load this pose onto the left or the right eye bones by adjusting the Left or Right spinner. For any given pose, you need only one file for both sides of the body. Working with Poses and Animation | 4711 TIP Tip: When saving poses, you might think that you should save a Left pose for the character’s left side. However, you might find it easier simply to save all poses in screen space. For example, when working on the character’s face, you are often facing the character. Thus you might want to save Left poses for parts of the face that are on the left side of the screen. This makes it simpler when loading because you need to think only about which side of the screen you are loading onto, rather than left and right from the character’s point of view. It’s up to you: Use whichever approach that fits best into your working methods. Creating Poses To create a pose, select bones and click the Save button. Select only the bones that are used in this pose. After you click Save, you’re prompted for a file name, and then for whether to save the pose for the left, middle, or right side (see preceding). Loading Poses To load a pose, highlight it in the Pose Mixer list and then adjust one of the spinners. You needn’t select any bones to load the pose. If a pose was saved as a Left or Right pose, then when you drag the Left or Right spinner the pose is loaded onto the left or right side of the body automatically. If the pose was saved as Middle, then it doesn't matter which spinner you use: It is loaded back onto the original bones it was saved from. Subtracting Poses Normally, you load a pose in an additive sense by dragging the spinner upward, to produce a positive value. However, you can also drag downward to produce a negative value, thus “subtracting” the pose. So, for example, if the character’s mouth is open and you wish to close the mouth, you can highlight the Mouth Open pose and set the spinner value to -100%. By default the Left and Right spinners always load poses using relative loading (see following). 4712 | Chapter 15 Character Animation Relative Pose Loading You can load a pose in either absolute or relative mode. Relative mode is the default method; you load the pose by highlighting it in the list and then adjusting the appropriate spinner. This means, for example, that if you have a pose of the mouth called Mouth Open and the character mouth is already open, then loading the pose again by the same amount will cause the mouth to be opened twice as much. Absolute Pose Loading In some cases you wish to load a pose “absolutely,” so the bones go to the exact positions stored in the pose file. Relative loading can introduce errors over time. For example, if you open and close the eyes on your character many times using relative loading, you might seethe eyelid bones start to accumulate positioning errors. To reset a pose to the correct values, load the pose in absolute mode by holding down the Alt key while loading. You can also double-click a pose in the mixer to load it at exactly 100%. TIP Save poses of your character’s facial bones in their relaxed or neutral state so that, if necessary, you can force the character face to return to the relaxed pose by loading the pose absolutely. Animating Using the Pose Mixer Always ensure that the right layer is active in CAT's Layer Manager, and that Animation mode (not Setup mode) is active. All pose loading is undoable with standard 3ds Max methods. For example, if, while loading a pose, you change your mind, you can restore the previous pose by right-clicking. Working with Poses and Animation | 4713 Interface Poses Folder Click to choose a folder for storing poses. CATRig Click to choose the CATRig that you will be working with. After clicking the button, click a bone (not the CATParent) in the rig to work with. If you select a rig part before opening Pose Mixer, the rig name already appears on this button. Save After selecting bones that define a pose, click Save to save the pose. For example, if you are saving a pose for the mouth, select the bones that form the mouth shape and click Save. Left/Right Adjust these settings to load the highlighted pose onto the respective side. You can use the keyboard, but the feature is designed to be used from the spinners. Dragging upward (positive value) applies the pose in the direction in which the bones were originally moved from the default positions, and dragging downward (negative value) applies the pose in the opposite direction. Because the spinners apply a relative adjustment, the spinner values reset to 0 after use. For more information, see the sections in the first part of this topic. 4714 | Chapter 15 Character Animation CATMotion CATMotion is CAT’s procedural-motion-cycle-generation system. Using CATMotion you can create motion cycles that adapt to the velocity and direction of the rig without sliding footsteps, even while moving over an uneven surface. For basic motion-cycle creation, CATMotion has a Walk On Spot mode. Then you can move the rig around the scene by linking it to a Path Node (typically a dummy or point object) which is animated as normal in 3ds Max. This could be assigning a Path constraint or linking the dummy to a crowd system. You can save CATMotion settings as presets and then apply them to any rig with the same configuration. You can load multiple presets at the same time and then blend from one to another by animating weights. The blending occurs without sliding footsteps. CATMotion works by breaking the motion of the rig down into its component parts, or controllers. For example, the motion cycle for the pelvis has eight different controllers, including Twist, Roll, Lift, and Push. You have parametric control over each component, typically by editing a four-point curve. You can animate all parameters and assign any kind of standard animation controller to the parameters. NOTE CATMotion is intended primarily for basic cycle generation. Typical usage, rather than animating individual components, is instead to create different cycles in layers on page 4719 and then blend between them by animating the Weight values. CATMotion | 4715 Image courtesy of Cobalt VFX CATMotion Controls The CATMotion hierarchy reflects the structure of your rig. CAT has five fundamental rig elements (Leg, Arm, Spine, Tail, Extra Bone) that define the control available in CATMotion. CATMotion generates footprints only for the limbs that are defined as legs. Footprints are unavailable to arms in CATMotion, although it might make sense in some cases; for example, you could animate a gorilla that walks with two legs and runs with four. So in general it is important to think about the motions of your character thoroughly before you build the rig in order to have all the controls you need when animating. CATMotion Editor Select a CATRig part ➤ Motion panel ➤ Layer Manager rollout ➤ Add or highlight a CATMotion layer ➤ 4716 | Chapter 15 Character Animation (CATMotion Editor) The non-modal CATMotion Editor dialog holds all of the controls for CATMotion. You can open a separate window for each CATRig in your scene and edit settings at any time without having to reselect the rig. This is convenient when working with multiple rigs. A separate editor window for each rig in the scene To open a CATMotion Editor dialog, click CATMotion Editor on the Layer Manager rollout. This button replaces the Display Layer Transform Gizmo button when a CATMotion layer is highlighted in the layers list. CATMotion | 4717 The CATMotion Editor button is available only when a CATMotion layer is highlighted in the layer stack. The editor dialog comprises two panels: On the left is the CATRig hierarchy, which mirrors the rig structure and includes the CATMotion controllers, and on the right is a control panel for the item currently highlighted in the hierarchy. The first three items in the hierarchy list are found in every CATRig: CATMotion Presets, Globals, and LimbPhases. The remaining hierarchy is organized by HubGroup. CATMotion works by first breaking up the rig into its elements (the CATRig hierarchy) and then assigning each element a series of controllers, each of which handles one aspect of the motion of that element. Each aspect of a particular motion (for example, the way the pelvis movees) has its own spline control. The combination of so many controllers allows for a wide range of possibilities in creating distinctive character animation. 4718 | Chapter 15 Character Animation A CATMotion preset comprises the saved settings for all the controllers in the CATHierarchy in the active CATMotion layer. CATMotion Presets/Layers CATMotion Editor on page 4716 ➤ CATMotion Presets. Hierarchy panel ➤ Click A CATMotion preset comprises the settings for all CATMotion controllers for a particular motion cycle. This data is contained in a CATMotion layer, which is different from the animation layers found on the Layer Manager rollout. You can save and load individual layers using text files with the extension .cmp. Using CATMotion Layers Like the CAT Layer Manager, CATMotion has a layers system, only for cyclical motion rather than for overall, frame-by-frame animation. The similarities are: ■ The layers are evaluated from the top of the list to the bottom, with layers lower on the list taking precedence over previous ones. For example, if the stack contains three layers, named Layer01, Layer02, and Layer03 (in that order in the list), and they all have Weight values of 100%, then the output consists exclusively of the animation in Layer03; the other two are ignored. ■ If a layer lower on the list has a Weight value of less than 100%, its motion is combined with one or more preceding layers. In the previous example, if the Layer03 weight is 33.3% and the other two remain at 100%, then one third of the motion comes from Layer03 and two thirds from Layer02; Layer01 is still ignored. ■ You can animate the Weight values to change how the layers blend throughout the animation. For example, say you have two layers: HappyWalk and SadWalk, in that order in the Current Layers list. When the Weight value for SadWalk is 100%, only that motion cycle is used. But if you were to turn on Auto Key and then set the Weight value for SadWalk to 0% at frame 34 (of a 100-frame animation) and then back to 100% at frame 67, then the first and last thirds of the animation would use SadWalk, while the middle third would use HappyWalk. CATMotion | 4719 There are differences, though, especially in the use of the curve graphs in the CATMotion editor. There is only ever one curve for any particular controller, no matter how many layers there are; the curve is the weighted, combined output of all the layers. When you edit the curve, you’re actually editing that combined output. So, for example, if you drag a point on a curve for a track weighted at 50%, with the previous track at 100%, the point will move at only half the rate of the mouse. Thus, for predictable results when editing curves, set the Weight for the track you’re editing to 100%; you can lower the value later, if you like, to mix the track with those lower on the stack. IMPORTANT You can edit values in a CATMotion layer only when the Weight value for the layer is over 50.0% (that is, 50.001% or higher). But, again, for predictable results, always set a layer weight to 100% when editing its components. Procedures To load a CATMotion preset: 1 If you want to replace an existing layer with the loaded preset, highlight the layer to replace in the Current Layers list. 2 In the Available Presets list in the CATMotion Editor, navigate to the preset to load and double-click its name. The Options dialog opens. 3 Choose whether to create a new layer or to replace the existing (highlighted) layer with the new one. After you load a preset, its name appears in the Current Layers list on the right-hand side of the dialog. The name is highlighted, and the preset has a weight of 100%. The preset is now loaded and in effect. 4720 | Chapter 15 Character Animation To remove a CATMotion layer: 1 In the Current Layers list, highlight the layer to remove. 2 Click (Remove Layer). NOTE You cannot remove the first layer. To save a CATMotion preset: 1 Highlight the layer to save. 2 Click (Save Preset). 3 Navigate to the desired folder. 4 Enter a new preset name. 5 Click Save. To blend between CATMotion presets: ■ Animate the Weight value for the highlighted layer. TIP To create or edit Weight animation, on the CATMotion Presets panel, click (Weights View). The rest of the editor window is dedicated to editing the selected layer, whether it is a loaded preset or a new, default layer. NOTE Before editing a preset, make sure the Preset layer to edit is highlighted in the Current Layers list. Interface You can load a CATMotion preset successfully onto a rig with any configuration, but not necessarily with ideal results. For example, loading a preset for a four-legged creature onto a biped will likely give undesirable results. It’s important to use sound preset naming conventions. CATMotion | 4721 As with the Layer Manager, the layer at the top of the stack overrides those underneath it. Each layer has an animatable weight to allow blending between presets. Available Presets This list shows the CATRig presets in the current folder. You can navigate up to other folders by double-clicking the <..> symbol at the top of the list. Current Layers This list shows the currently loaded layers/presets of your CATMotion layer. If the Current Layers list contains multiple layers, you can view and edit a layer/preset by clicking on it, so the curves for that layer/preset will be active in the CATMotion hierarchy, ready for editing. NOTE The advantage of having multiple layers in the Current Layers list within a single CATMotion layer is that you can blend seamlessly between different walk cycles while still controlling the whole walk sequence with a single set of footprints. This means you have non-sliding footsteps even while blending between different walk cycles (for example, walk/run/sneak). If you used multiple CATMotion layers in the Layer Manager instead, blending between the CATMotion layers would result in sliding footsteps and a lot of unnecessary footprints. Name The name of the highlighted layer. Weight The weight of the highlighted layer. Open CATMotion Preset Click to browse for a preset. 4722 | Chapter 15 Character Animation Save CATMotion Preset Save the settings of the highlighted CATMotion layer as a new preset. Add CATMotion Layer Create a new default CATMotion layer to edit. Delete CATMotion Layer Delete the highlighted layer. Curve Editor: CATMotion Weights Edit CATMotion Layer Weights in Track View on page 3827. Use this function to edit the animation of preset weights, blending between presets. Globals CATMotion Editor on page 4716 ➤ Hierarchy panel ➤ Click Globals. The Globals panel holds the master settings for the current CATMotion layer. Interface CATMotion | 4723 CATMotion Range group Start/End The frame range that the CATMotion system uses to calculate its motion and generate footprints. NOTE The Start frame defines when CATMotion starts calculating all the curves. This means if you set Start to 0 and a key of a curve in CATMotion is at frame 0, the timeline represents this key at frame 0, too. So setting Start to 0 makes it easier to edit a walk cycle or to create a new walk cycle from scratch. Also, if several characters are walking in a scene with identical walk cycles, you can quickly offset the walk sequences for different characters by changing the Start values in CATMotion slightly, so the characters are not walking in lockstep. Stride Parameters group Max Step Time The maximum time a step can take, in frames. Max Stride Length The maximum distance of a stride, measured in CATUnits on page 4755. Velocity The current velocity of the character based on the Max Step Time and Max Stride Length values. If the rig uses a Path Node, the velocity value displays the actual velocity at which the character moves. As the Path Node changes speed, the rig automatically varies the stride length, but it does not exceed the specified Max Step Time and Max Stride Length values. Direction When Walk Mode is set to Walk On Spot or Walk On Line, this value defines the direction in which the character moves. It does not change the direction that the character is facing. This setting is useful for prototyping cycles that are walking sideways or backwards. For example, if you specify a value of 90 degrees, the character moves sideways, and a value of 180 means the character walks backwards. If you are defining a cycle for a character walking backwards, start by setting Direction to 180 so you can see what your character looks like whn walking backwards. This allows you to see potential problems with the walk cycle. Gradient When Walk Mode is set to Walk On Spot or Walk On Line, this value defines the gradient of an imaginary slope on which character is walking. It does not change the direction that the character is facing. Walk Mode group Walk Mode Choose the option that determines whether and how the character moves through the scene when walking. 4724 | Chapter 15 Character Animation NOTE When Walk Mode is set to Walk On Spot or Walk On Line, the rig’s steps always match the Max Stride Length and Max Step Time settings. ■ Walk On SpotThe character walks without changing location. This mode is useful for examining the walk cycle in isolation, without any additional motion. ■ Walk On LineThe character walks in the direction specified by the Direction value and at the angle specified by the Gradient value. ■ Walk on Path NodeThe character follows a scene object and uses it to drive the animation of the rig. Available only after you specify a Path Node using the Path Node button (see following). Path Node Click to specify a Path Node object; select the object using any standard method. After you specify the object, the Path Node object name appears on the button. To use the Path Node, choose Walk On Path Node if necessary (see preceding). TIP You can use any object, such as a Point or Dummy helper, as a Path Node. Also, you can animate the Path Node using any standard method, such as keyframing or by assigning it to a Path constraint. You can even drive the Path Node with a script or with a Delegate helper from the character studio Crowd system. In some cases, after choosing the Walk On Path Node option, you might find it necessary to rotate the Path Node object to establish the proper orientation for the rig. Character Motion Preserve Character Shape Controls how the rig aligns itself to the motion of the Path Node; that is, along its direction. In general, this is applicable only when the rig has a horizontal spine, such as a quadruped. When the Preserve Character Shape value is 0.0, the spine keeps to the trajectory of the Path Node. When going around tight corners this can lead to unusual but possibly interesting results. When the Preserve Character Shape value is 1.0, the spine holds its shape. CATMotion | 4725 Top: Preserve Character Shape=1.0 Bottom: Preserve Character Shape=0.0 It can be useful to animate the Preserve Character Shape value. 4726 | Chapter 15 Character Animation Retargeting Blends legged motion from IK, at 0.0, to full retargeting on page 4690 at 1.0. LimbPhases CATMotion Editor on page 4716 ➤ LimbPhases. Hierarchy panel ➤ Click The LimbPhases panel provides global settings for the motion of arms and legs in CATMotion. Interface The upper part of the panel contains controls for footprints, while the lower section contains phase sliders for controlling the relative motions of the limbs. FootPrints group Footprints are helper objects that show and let you edit individual foot placement. As you edit the footprints the pelvis of the rig automatically repositions itself. CATMotion | 4727 NOTE You can animate footprints. For instance, you can keyframe the location of footprints to create actions such as a character slipping as it runs around a corner. You can also bind footprints to space warps on page 2920, or use the Attachment constraint on page 3608 to make a character walk over an animated surface. TIP The extent to which editing a footprint affect the location of the hub depends on the number of legs on the hub. For example, if a hub has two legs, the hub positions itself halfway between its footprints. If a hub has four legs the hub will move a quarter of the distance towards the footprint. Step Masks When on, the rig automatically comes to a stop when successive footprints are layered on top of each other; that is, when the Path Node stops, and starts walking again when the Path Node starts moving again. NOTE The cessation and restarting of the walking motion is not immediate. The rig usually finishes the last step for a few frames after the Path Node stops, and starts walking again shortly before the Path node begins moving after the stop. Create Click to show footprints in order to view and edit them. Delete Removes the footprints. The software remembers the footprints and any edits, but any footprint animation is lost. Use Create to restore the footprints Selected/All This choice determines whether the Reset and Pick Ground commands (see following) affect only selected footprints or all footprints. Reset Returns footprints to their original, unedited positions. Pick Ground Automatically aligns created footprints to a ground surface, such as a Plane primitive on page 352 with the Ripple modifier on page 1598 applied. After clicking Pick Ground, select the ground object. TIP If Auto Key on page 3403 is on, using Pick Ground will key the footprints, so you can fit the footprints to an animated surface by applying Pick Ground every fourth or fifth frame. This is a more intuitive way to constrain your footprints to an animated surface than using an Attachment constraint and constraining each footstep manually, because the Path Node and changes to Global settings are respected. Limb Phase Sliders Limb phases can also be though of as limb cadence, and affect the timing of the motion of the limbs. 4728 | Chapter 15 Character Animation The LimbPhases panel contains a slider for each limb on your character. Each arm and leg is driven by a phase offset. The phase offset defines the overall offset of the motion of that limb relative to the overall motion of the body. If several sliders are at the same value, the respective limbs move at the same time. If the sliders are exactly half a slider length apart in value, then the limbs will be exactly out of phase. The legs on a biped should be exactly out of phase so that each leg is taking steps when the other leg is planted on the ground. TIP Each slider’s label is the limb name, which you can edit in the Modify panel when a limb bone is selected. See Using CAT's Naming System on page 4518. If you modify a limb name while the LimbPhases panel is displayed, refresh the panel by switching to a different panel and back again. CATMotion Controllers After Globals on page 4723 and LimbPhases on page 4727, the rig is broken up hierarchically into the various HubGroups on page 4565. Each HubGroup and its children are assigned a series of controllers, usually depicted as graphs, that allow the user to edit the motion cycle. Many of these controllers are repeated in all areas, while some are specific to a particular area. Each CATMotion cycle is 100 frames long by default. The animation is then compressed or stretched to the right length with a combination of the Globals on page 4723 controls (Max Step Time and Max Stride Length) and the velocity of the Path Node. This means that the Time values are best thought of as percentages of the motion cycle rather than absolutes. For example, a time of 50 is halfway through the cycle. The light green in the graph background represents the time the feet are on the ground. The dark green represents the time that the feet are in the air. All controllers except for the OffsetRot and OffsetPos have graphs to show the curve for the motion of the selected controller within the motion cycle. TIP Because each HubGroup has a number of different children, it can be difficult to tell what each controller does when they’re all working together. To examine the effect of a single element, such as Pelvis ➤ Twist, set the control point values for all elements in the HubGroup to zero, and then go to the element youre interested in and start adjusting its control-point values. Its probably a good idea to do this in a new CATMotion layer, so you can go back to the original layer without having to restore all the control-point values. CATMotion | 4729 Interface To open the graph/settings panel for a particular controller, click its name in the hierarchy list in the left panel of the CATMotion editor. TIP To compare different graphs, hold down the Shift key and click the various controllers. The last one you click will be editable. A FootPlatform ➤ Lift controller / Make Unique (off/on) Divides the limbs into separate tracks. Below the Make Unique and Lock (see following) buttons is a box that provides access to individual limbs when Make Unique is on and Lock is off. In that context you can choose one of the list entries to make separate settings for that limb. Left: Limbs welded (Make Unique off) Center: Choose limb to adjust (Make Unique on/Lock off) Right: Limbs locked (Lock on) 4730 | Chapter 15 Character Animation When you have control over the individual limbs, the curve for each limb is drawn in the same color as the limb itself. Each curve uses the color of its respective limb. Also, if you move a point directly on a curve, the respective limb highlights in the list. / Lock (off/on) Instances the settings between the different tracks. Available only when Make Unique is on. (Previous)/ (Next) Click through the knots on the spline. You can also select a spline knot directly by clicking it in the window. When you select a knot, its Time, Value, Tangent, and tangent Lengths settings are displayed and are ready for editing. In some cases, settings are unavailable (grayed out), so cannot be edited. Copies the settings for the current CATMotion controller. Pastes settings from another CATMotion controller. Scale Acts as a percentage multiplier of all non-zero control points and tangents on the curve. Increasing the value moves all non-zero points away CATMotion | 4731 from the horizontal axis (Y=0), while decreasing the value moves all non-zero points closer to the axis. Offset Moves all control points horizontally, changing their Time values. Reset Restores the default values for the curve. All parameters are animatable. The Curve Editor button opens the Track View to the relevant area to edit animation keys for that controller. TIP The hierarchy in the CATMotion editor is also available in Track View by navigating to Objects ➤ (Character Name) ➤ Object ➤ Layers ➤ CATMotion Layer ➤ CATHierarchyroot. Here you can assign standard animation controllers to the various parameters. Zooms the graph to the curve extents. Time The time of the selected control point (horizontal axis). Value The value of the selected control point (vertical axis). Tangent The angle of the tangent to the selected control point. Adjusting this changes the shape of the curve around that point. Lengths The lengths of the incoming and outgoing tangent lines. Adjusting these changes the shape of the respective side of the curve. NOTE Overall limb phase is controlled on the LimbPhases on page 4727 panel. How CATMotion Controllers Work The output of every CATMotion controller is a combination of different factors. For example, the end result of FootPlatform ➤ Lift is a combination of Max Step Time, Max Stride Length, the velocity of the Path Node, and the values you assign to all the individual controllers for the FootPlatform. The curve you see on the FootPlatform ➤ Lift panel is useful for helping to create the result you want in the animation for that controller, but you can also see the actual result in Track View. 4732 | Chapter 15 Character Animation Procedure Example: To view the output curves for a FootPlatform: 1 Select the element in the viewport. This example uses the FootPlatform, but the basic procedure applies to any element in a CATRig. 2 Right-click the selected FootPlatform in the viewport and choose Curve Editor. The Curve Editor opens showing the curve for the CATStepShape track. 3 Click the CATMotionPos track. The information for the selected element is held in this controller. Here you can see the graph that represents the trajectory for the selected Footplatform, as compared to the CATMotion graph for the Footplatform controller (following). CATMotion | 4733 CATMotion and Retargeting CATMotion also integrates CAT's retargeting on page 4690 system, which has two advantages over standard IK: Retargeting eliminates the problem of snapping at the knee joint caused by overextension of the IK chain, and because the leg pushes the pelvis up, the character automatically has “weight.” Because retargeting enables completely straight legs, you can use it to achieve walks that would be difficult or impossible using IK. in CATMotion, retargeting is controlled by a combination of two controllers: KneeAngle and LegWeight. KneeAngle The walk cycle is divided up into four knee angles. Control over the knee angles is accessed in the KneeAngle controller, under Legs in the CATMotion editor. For clarity we call the four knee angles Lift, MidLift, Plant and MidPlant. 4734 | Chapter 15 Character Animation 1. MidPlant 2. Lift 3. MidLift 4. Plant MidPlant The angle of the knee between Plant and Lift. Lift The angle of the knee as the foot is about to leave the ground. MidLift The angle of the knee in the middle of its path through the air. Plant The angle of the knee as the foot is placed back on the ground. LegWeight The other controller important to retargeting is called LegWeight. It can be found with KneeAngle under Legs in the CATMotion editor. The LegWeight graph controls the how much the foot platform is being pulled down onto the ground plane. When LegWeight has a value of 0 increasing the knee angle will pull the foot higher into the air. When LegWeight has a value of 1.0 increasing the knee angle will pull the pelvis down. CATMotion | 4735 LegWeight can also be thought of as Leg Priority. The left side of the graph is the Lift Priority and the right side is the Plant Priority. This becomes important when you try to push the angles further than is possible to physically achieve. Then by adjusting the leg weights so that one is set to and the other to zero you can control where the error will be most. Usually the planting leg should get priority. Error within the system is absorbed in the ankles. If you notice the ankles tend to go straight up or otherwise behave strangely, try adjusting either LegWeight or KneeAngle. Usually the first thing to try is to reduce the Maximum Stride Length or increase or decrease various knee angles. If the movement looks a bit clunky it could be the LegWeight graph needs smoothing out. If the ankles are going too straight as the foot lifts it could be the LegWeight on the lift part of the graph is too long. Running and Retargeting While retargeting is useful for walking, it isn’t an ideal solution for running. At this point it is pretty much impossible to get a useful blend between where the leg weights let go and “flight” takes over. For now we recommend that you use IK for running and jumping. 4736 | Chapter 15 Character Animation Animating CATMotion Parameters Usually it is best not to animate individual CATMotion parameters, but instead simply to blend between CATMotion layers by animating the Weight value. This leaves you with far fewer keyframes to manage. That said, you can animate all parameters in the CATMotion Editor on page 4716 if you like. You do so using standard methods, either by setting keys in the viewports or with Track View. In Track View, the CATMotion data is held in is held on the CATParent, in its respective CATMotion layer. The controllers mirror the CATMotion editor hierarchy exactly. Each controller is visible and each preset layer present. The CATHierarchy in Track View for a standard rig TIP The easiest way to access the animation parameters for a specific CATMotion controller is to click on the Track View button on the panel for that controller in the CATMotion editor. To animate the Pelvis Lift value for the 2nd Knot: 1 In the CATMotion editor, access PelvisGroup ➤ Pelvis ➤ Lift. CATMotion | 4737 2 Click (Curve Editor (Open)). Track View opens to show all parameters for the selected controller. 3 Expand Key2Val. 4 Insert and edit animation keyframes as required. 4738 | Chapter 15 Character Animation TIP A key advantage of CAT is that you can assign any Float controller (for example, a Float List controller) to any parameter. TIP Animating offset controllers (OffsetRot and OffsetPos) is one way to add in extra action to your motion cycle while retaining secondary motion such as Head Lift, etc. Another (usually better) way to do this is to animate directly in an adjustment layer. Limb Controllers CATMotion Editor on page 4716 ➤ Hierarchy panel ➤ Expand the HubGroup hierarchy to which the limb belongs. ➤ Expand the limb hierarchy. ➤ Click the controller to edit. Animation controllers unique to legs include LiftPlantMod, KneeAngle, and LegWeight. LiftPlantMod LiftPlantMod is available for all limbs, but is relevant only to legs. This graph controls the ratio of the time the feet are on the ground to the time they are in the air. The only editable value in this window is the slider under the graph. CATMotion | 4739 As you move the slider to the left, the curve becomes narrower inside the dark-green area. This means that the feet are staying on the ground longer, producing a “walking on Jupiter” effect. If you move the slider to the right enough that the curve moves out into the light-green area, then for some of the cycle both feet will be in the air at the same time, moving them into a run. You can animate LiftPlantMod for characters that switch between walking and running during the animation. KneeAngle The KneeAngle controller is available only for legs. The graph controls the knee angle throughout the cycle. See Retargeting on page 4690 for more information. LegWeight The LegWeight graph controls the sharing of weight between each foot when using Retargeting on page 4690. 4740 | Chapter 15 Character Animation See also: ■ CATMotion Controllers on page 4729 Ankle Controllers CATMotion Editor on page 4716 ➤ Hierarchy panel ➤ Expand the HubGroup hierarchy to which the ankle belongs. ➤ Click the controller to edit. Ankle controllers include DigitRollAngle, DigitSpreadAngle, DigitCurlAngle, TargetAlign, and FootBend. NOTE The Digit-type controllers described here are available only for rigs whose ankles have one or more digits at the time the CATMotion layer is created (see Editing Palms and Ankles on page 4586). DigitRollAngle DigitRollAngle controls the amount of digit roll. CATMotion | 4741 TIP Use DigitRollAngle in conjunction with DigitSpreadAngle. DigitSpreadAngle DigitSpreadAngle controls the amount of spreading by the digits during the cycle. 4742 | Chapter 15 Character Animation TIP DigitSpreadAngle is useful for simulating heavy creatures that walk on their toes, like dinosaurs. Animate the spread to drop off as the foot lifts and back on as the foot plants again. DigitCurlAngle The DigitCurl controller controls the amount the digits curl during the cycle. TIP DigitCurl is especially useful for creatures with long claws like lizards or birds. TIP To control the curl values of individual digits, edit the Curl Weight on page 4588 in the setup specifications of a selected digit. TargetAlign TargetAlign controls the position of the pivot point for the ankle. A value of 0.0 places the pivot point at the ball of the foot (the base of the toes). A value of 1.0 places the pivot at the ankle joint. CATMotion | 4743 TIP A human typically has the pivot on the ball of the foot at Lift and at the heel on Plant. A creature that walks on its toes, such as most four-legged creatures, typically has a constant value of 0.0, leaving the pivot point at the ball of the foot. FootBend FootBend controls the angle of the ankle. 4744 | Chapter 15 Character Animation TIP When animating humans, FootBend is not usually required as the ankle lifts naturally anyway (assuming your TargetAlign settings are correct!). TIP This is most useful when working with creatures that walk on their toes. See also: ■ CATMotion Controllers on page 4729 FootPlatform Controllers CATMotion Editor on page 4716 ➤ Hierarchy panel ➤ Expand the HubGroup hierarchy to which the FootPlatform belongs. ➤ Click the controller to edit. The FootPlatform is the IK target for the feet. Its motion is critical to the animation of the legs. RollPivotPos A CATRig’s FootPlatform has an animated pivot position to make sure that the foot always rotates around the correct point. The RollPivotPos controller CATMotion | 4745 determines the position of the pivot across the X axis of the FootPlatform (or from one side to the other). A value of 1.0 represents the outside of the foot and a value of 0.0 the inside of the foot platform. NOTE You can animate this setting, but it is usually kept constant throughout the cycle. For a human, the normal value is 1.0. Roll The Roll controller controls the rotation of the FootPlatform along its length. In the following illustration, the roll starts before the foot leaves the ground and ends after the foot is on the ground. This is a typical scenario. 4746 | Chapter 15 Character Animation PitchPivotPos The FootPlatform has an animated pivot position to make sure the foot always rotates around the desired point. The PitchPivotPos controls the position of the pivot along the Y axis of the FootPlatform; that is, along its length. A value of 0.0 positions the pivot at the heel of the foot platform, and a value of 1.0 positions the pivot at the toe. For a human, this setting typically animates between the toe (1.0) for lift and the heel (0.0) for plant, as shown in the following illustration. CATMotion | 4747 Pitch As with the standard Pitch controller, FootPlatform Pitch controls the angle of the FootPlatform along its length (Y axis). It is used to control the angle of the foot as it lifts off and slaps down, as shown in the following illustration. 4748 | Chapter 15 Character Animation FootPush FootPush is a cyclic positional offset along the Y axis that enables you to throw the FootPlatform forward during the walk cycle. Swerve The Swerve controller is actually the same as the WeightShift controller. It controls the side-to-side (X axis) positional cycle for the FootPlatform. CATMotion | 4749 StepShape The StepShape controller controls the velocity of the FootPlatform as it moves through the air. In other words, it controls the ease-in and ease-out of the FootPlatform’s motion. TIP Slower movements will have bigger ease curves. Quick movement such as running will have an almost linear StepShape curve. See also: ■ CATMotion Controllers on page 4729 Arm Controllers CATMotion Editor on page 4716 ➤ Hierarchy panel ➤ Expand the HubGroup hierarchy to which the arm belongs. ➤ Click the controller to edit. Arm controllers include CrossSwing, Swing, and Bend. 4750 | Chapter 15 Character Animation CrossSwing CrossSwing controls the angle of the arm out from the body (arm Y axis). It is used in conjunction with Twist to tune the way the arm curves around the body as it swings. Swing Swing controls the rotation of the arm backwards and forwards, parallel to the body. CATMotion | 4751 Bend Bend controls how much the arms bend at the elbow. TIP You will probably need to edit both knots to make sure that the elbow is bending correctly. For example, with a human, knot 1 could have a value of -64 and knot 2 could have a value of 24. See also: ■ CATMotion Controllers on page 4729 Collarbone Controllers CATMotion Editor on page 4716 ➤ Hierarchy panel ➤ Expand the HubGroup hierarchy to which the collarbone belongs. ➤ Click the controller to edit. Collarbone controllers include MotionX, MotionY, and MotionZ. Motion X, Y, Z The MotionX, MotionY, and MotionZ controllers on the collarbone control their respective rotation cycles. 4752 | Chapter 15 Character Animation See also: ■ CATMotion Controllers on page 4729 Palm Controllers CATMotion Editor on page 4716 ➤ Hierarchy panel ➤ Expand the HubGroup hierarchy to which the palm belongs. ➤ Click the controller to edit. For the most part, palms have the same controllers as ankles on page 4741. The exception is HandFlop. HandFlopX HandFlop X controls the rotation of the Palm about its X axis. CATMotion | 4753 TIP HandFlopX works well for secondary motion on cartoon characters. HandFlopY HandFlop Y controls the rotation of the Palm about its Y axis. See also: ■ CATMotion Controllers on page 4729 4754 | Chapter 15 Character Animation Understanding CATUnits Select CATParent. ➤ ➤ CATUnits Ratio Modify panel ➤ CATRig Parameters rollout The CATUnits Ratio value is used throughout CAT to scale the character and its motion to allow sharing between characters. You can adjust it by selecting the CATParent on page 4543 and going to the Modify panel ➤ CATRig Parameters rollout on page 4545. Every bone length in a CATRig is multiplied by CATUnits Ratio. For example, if a bone length is 3.5 and CATUnits is set to 2.0, then the actual bone length is 7.0. Also, CATMotion uses CATUnits Ratio to scale the size of the motion to fit the rig. The height of the foot lift graph in the CATMotion editor for CATMotion is also scaled by CATUnits Ratio. See also: ■ Rig Resizer on page 4788 How to use CATUnits If you set CATUnits Ratio to 1.0, then all the bone lengths listed on the Modify panel are actual 3ds Max units and CATUnits Ratio has no effect on them. Thus you might be tempted to set CATUnits Ratio to 1.0 so bone lengths are measured in familiar units. This is not recommended because CATUnits Ratio serves a useful function by providing an approximate size setting for your character. A bigger character should have a larger CATUnits Ratio setting than a smaller character. What this means is that if you need to share animation data between the big character and the small character, CAT can use CATUnits Ratio to scale the motion to fit both characters. When you load an animation clip, an option to scale the data is available. This scaling is calculated using the CATUnits Ratio values of the two characters. In most default rigs, the CATPArent fits comfortably underneath the feet of the character. When building a custom rig, it’s good practice to make the CATParent approximately the same scale relative to the skeleton of your character. The easiest way to do this is to use an existing rig and modify it. CATMotion | 4755 Working With Motion-Capture Data You load motion-capture data into the Layer Manager in much the same way as any other keyframe data. Once the motion-capture data is loaded, all the same keyframe-editing tools are available to transform, edit, duplicate, and retime the motion data. You can then use all the layering tools to edit the motion-capture data in a nondestructive way. CAT supports loading data from BVH and HTR motion-capture file formats, as well as importing motion from character studio BIP files. The process has two stages: importing the motion data into a separate hierarchy in Max, and then mapping the animation data from the hierarchy onto the CATRig using Capture Animation. Each format has its own importer. Once the data is imported the mapping is all handled by the Capture Animation utility, which automatically maps the data onto your character and allows you to edit the mapping if required. 4756 | Chapter 15 Character Animation Once data is imported you can use the Layer Transform Gizmo to easily transform the whole clip/layer and Adjustment layers to enable you to tweak to the animation. See also: ■ Mapping Motion from Motion-Capture Point Clouds on page 4797 Importing HTR/BVH Files Right-click a bone in a CATRig. ➤ Tools2 quadrant ➤ FileIO ➤ Import HTR/Import BVH Select CATParent. ➤ Motion panel ➤ Clip Manager rollout ➤ Clip mode ➤ Click Load button. ➤ Set Files of Type to MotionAnalysis HTR(*.htr) or BioVision BVH(*.bvh). You can import HTR and BVH motion-capture files into CAT using the same method. The respective importer opens the file as a hierarchy of Box primitives with keyframes. You use the Capture Animation on page 4760 tool to map this motion onto your CATRig. Working With Motion-Capture Data | 4757 Interface Load Animation: When on, imports the full animation. When off, imports only the base pose in the motion-capture file. Capture Animation When on, automatically captures the animation, overlaying the new bones onto the CATRig. When off, imports the animation onto a new set of bones without affecting the CATRig. 4758 | Chapter 15 Character Animation CAM File Click to pick a CAM file if you have already created one. Start Time The frame at which the imported animation begins. Scale Factor The scaling applied to the imported hierarchy when it is created. Relative Bones Size The size of the bones created upon importing. See also: ■ Capture Animation on page 4760 Importing BIP Files CAT can import motion from BIP (character studio Biped)files onto CATRigs. This is not the same as importing the original BIP file. You are not loading in the original keyframes. There are no settings for BIP file import. Once you select the BIP file, the Capture Animation on page 4760 dialog opens right away. Interface Biped Height The height of the biped, for scaling purposes. This defaults to the last value used; in general, set it as close as possible to the original biped height. Capture Animation When on, automatically captures the animation, overlaying the new bones onto the CATRig. When off, imports the animation onto a new biped object without affecting the CATRig. CAM File Click to pick a CAM mapping file if you have already created one. Working With Motion-Capture Data | 4759 Capture Animation Import on page 4757 a motion-capture file. ➤ Import dialog ➤ Click OK. ➤ Capture Animation dialog Animation menu ➤ Animation - CAT submenu ➤ Capture Animation ➤ Capture Animation dialog The Capture Animation tool allows you to transfer animation from any hierarchy or collection of objects in Max onto a CATRig. Its purpose is to “capture” animation data from any animation hierarchy onto a CATRig. While Capture Animation is part of the import process, you can use the utility separately, externally to the motion capture process. Capture Animation is intended primarily to facilitate importing motion-capture data, but it can work with any animated hierarchy. After you import motion data into 3ds Max, the next step is to map the data onto your character with the Capture Animation utility. Auto Mapping The Auto Map feature in Capture Animation is a quick way to generate a mapping between the source hierarchy and your CATRig. It tries to find bones in the source hierarchy that correlate to bones in your Skeleton and map them to each other. When you use the motion-capture-import process in CAT, the Auto Map function occurs automatically. However, when you open Capture Animation as a utility, you must invoke Auto Map explicitly. NOTE The Auto Map feature can fail if the source hierarchy contains unusual bone names, or the hierarchy of the source skeleton has alignment issues. Also, Auto Map uses guesswork in attempting to align the source bones and the CATRig bones. In some cases, to obtain optimal mapping it’s necessary to refine the results. 4760 | Chapter 15 Character Animation Editing Bone Alignment In many cases you need to edit the alignment of the CATRig bones to correctly fit the source skeleton. Possible reasons to do so include that the CATBones use a different up axis as the source skeleton from which you are capturing animation, or because some software introduces offsets to bone rotations. Once you have begun the mapping process, you will notice that a new layer has been added to the bottom of your CATRigs layer list. This layer uses special controllers that hold 3ds Max animation constraints. It also stores the offset, and can scale the transferred motion to fit smaller characters. You can simply select bones and transform them to edit the alignment. Each bone does not inherit the offsets of its parent. This simplifies the process of editing your skeleton’s alignment, as you can edit each bone independently. This edit is stored in the controller that has been assigned to that bone. When you save a Capture Animation preset file (*.CAM), all the offsets and mapping are stored also. Working With Motion-Capture Data | 4761 Mapping Bones and Hierarchy Panel Locks The Capture animation tool uses settings on the Hierarchy panel on page 4527 ➤ Link Info ➤ Bone Hierarchy rollout to determine how bones should be mapped. If Animation Mode ➤ Lock Local Position is on for a CATBone, then the Capture Animation tool does not constrain the position of the bone to the position of the source bone. Likewise, if Animation Mode ➤ Lock Local Rotation is on for a CATBone, then Capture Animation does not constrain the rotation of the bone to the rotation of the source bone. Troubleshooting Sometimes you might not get the desired results when you begin the process of transferring animation data using Capture Animation. This could be because your source data is not a humanoid skeleton, or it does not follow standard naming conventions, or there might be rotation offsets in the source skeleton that cause the Auto Map function not to work. The following procedure provides some suggestions for correcting mapping problems: 1 Start by going to the Motion panel ➤ Layer Manager and deleting any animation layers created by automatic mapping. 2 Use Capture Animation to map the source pelvis to that of the CATRig, using the drag-and-drop method. 3 Select the CATRig pelvis and rotate it using the Local coordinate system so its orientation is correct. 4 Map another major component, such as the ribcage. For this you can use the right-click menu ➤ Map Bone function, after first selecting the CATRig ribcage. 5 Again, orientation. rotate if necessary on the local axes to correct the 4762 | Chapter 15 Character Animation 6 Repeat steps 4 and 5 for the rest of the hierarchy, starting with the major components such as the head, and then working your way down the hierarchy: the limb bones, and then the palm/ankle bones. TIP In some cases, especially with the leg bones, you’ll be more successful doing the manual mapping in FK rather than IK. To do so, select the bone, and on the Motion panel ➤ Limb Animation rollout, drag the IK/FK slider all the way to the right so the value is 1.0. However, when mapping an IK target such as a FootPlatform, which, incidentally, typically goes to the toe or foot of the source hierarchy, you might need to restore IK to see the correct orientation. 7 When everything looks good, save the mapping in a CAM file so you can restore it later if necessary. Procedures To use Capture Animation with motion-capture data imported directly onto the CATRig: 1 Access the Capture Animation dialog by importing on page 4757 motion-capture data directly onto the CATRig. 2 On the Capture Animation dialog, expand the CATRig Mapping rollout. You can see both hierarchies in the Source Nodes and Target CATRig lists. The Capture Node list, which shows the source nodes whose animation will be captured by the corresponding CATRig bones, is populated by the Auto Map function. Auto Map is performed automatically during the import process. 3 Check the Layer Manager rollout on the Motion panel. It contains a mapping layer created by Auto Map. 4 Click Capture Animation. The source rig animation plays while the animation is transferred onto the CATRig in a new (“Collapsed”) animation layer, which now also appears in the Layer Manager list. 5 Click the Close button (X) in the top-right corner of the Capture Animation dialog. Working With Motion-Capture Data | 4763 If Delete Source On Close is on, a small dialog opens asking whether to delete the source hierarchy and remove the mapping layer. Click Yes to do so, or No to keep both. In general, click Yes. To use Capture Animation with separately imported motion-capture data: 1 Add a CATRig to the scene. 2 Using the standard 3ds Max Import function, import motion-capture data such as an HTR file into the scene. 3 Locate the root node of the imported motion-capture hierarchy; typically, this is the topmost parent, visible in the Select From Scene dialog or Scene Explorer list. In a character studio biped, it’s the Bip01 (default name) object. In an HTR file, it’s usually a Dummy helper. 4 Open the Capture Animation dialog as a utility from the Animation menu ➤ Animation - CAT submenu. 5 On the Capture Animation dialog, click the Source Objects button and then select the root node of the imported hierarchy. 6 On the Capture Animation dialog, click the Target Rig button and then select the CATParent of the rig onto which to transfer the animation. 7 On the Capture Animation dialog, expand the CATRig Mapping rollout. You can see both hierarchies in the Source Nodes and Target CATRig lists. No mapping has been done yet; thus, the Capture Node list is empty, and the Capture Animation button is unavailable. 8 Click the Auto Map button. After a short pause, the Capture Node list shows the source nodes whose animation will be captured by the corresponding CATRig bones. 9 Click Capture Animation. The source rig animation plays while the animation is captured onto the CATRig in a new animation layer, which appears in the Layer Manager list. 10 Click the Close button in the top-right corner of the Capture Animation dialog. If Delete Source On Close is on, a small dialog opens asking whether to delete the source hierarchy and remove the mapping layer. Click Yes to do so, or No to keep both. In general, click Yes. 4764 | Chapter 15 Character Animation To map bones manually: If Auto Map’s results don’t meet your mapping needs, you can map bones manually with either of the following methods: ■ From the Source Nodes list, drag a bone to map to the comparable item in the Target CATRig list. For example, you would drag a source pelvis bone to the CATRig pelvis bone. After you release the mouse button, the source bone name appears in the Capture Node list next to the target bone to which it’s mapped. ■ Select the target bone to map to, right-click it, and from the Tools 2 quadrant, choose Map Bone. Then click the source bone to map to. IMPORTANT The Map Bone quad menu command appears only after you’ve mapped at least one bone using the manual method (see preceding). Working With Motion-Capture Data | 4765 4766 | Chapter 15 Character Animation Interface Source Objects Click to choose the hierarchy from which to capture animation. During motion-capture import this is the hierarchy created from the motion-capture data and the objects are selected automatically. When you use Capture Animation as a utility, rather than as part of the importation process, the button label is replaced by the name of the root node of the hierarchy. Target Rig Click to choose the CATRig to which to map the animation. When the Capture Animation utility is called as part of the import process, the Target Rig is the rig you are capturing onto, so it is selected automatically. Delete Source on Close When on and you exit Capture Animation, a small dialog appears asking whether to delete the source hierarchy and remove the mapping layer. Click Yes to do so, or No to keep both. Start Time/End Time The first and last frames of the capture. Frequency Determines the number of frames per created key. For example: 1 = one key per frame; 2 = one key every second frame. Auto Map Generates an approximate mapping of your data onto the CATrig. Working With Motion-Capture Data | 4767 Automatic mapping is done automatically when importing motion-capture data via CAT. You need to click this button only if you’re using Capture Animation as a utility, or have changed or cleared the mapping and want to restore the automatic mapping. Load Click to load a mapping arrangement, saved in a CAM file (see Save, following). Clear Mapping Removes the current mapping. Save Saves the current mapping for reuse as a CAM file. When you save mapping as a CAM file you can avoid reconfiguring the mapping every time you capture. Capture Animation Creates keyframes in the frame range specified by the Start and End Time values. Capturing animation bakes the live mapping onto keyframes on the CATRig. Available only after components in the Source Nodes and Target CATRig lists have been mapped to each other. CATRig Mapping rollout The CATRig Mapping rollout comprises two independently scrolling lists. To map rig components manually, drag an item from the Source Nodes list to the corresponding item in the Target CATRig list (for instance, Pelvis to Pelvis). Thereafter, the source node appears in the Capture Node list next to the CATRig node to which it is assigned. Alternatively, the software can perform the mapping automatically when importing motion-capture data via CAT or after importing motion-capture data with the 3ds Max Import function; see Procedures on page 4763 for details. Source Nodes Lists the hierarchy from which you’re capturing animation. Populate this list by clicking the Source Objects button. Target CATRig Lists the hierarchy to which the captured animation is transferred. Capture Node Shows the Source Node list item, if any, whose animation is to be transferred to the corresponding CATRig hierarchy member. Retargeting Motion-Capture Data CAT uses retargeting to calculate pelvis positioning and defaults to FK rotations for the rest of the body. 4768 | Chapter 15 Character Animation Limbs can be in IK mode, which preserves the original end positions, or in FK mode, which maintains the bone angles. Because of the way the motion is retargeted, it is important that the data be scaled to as close to the size of your rig as possible. Further tweaking can be achieved with an adjustment layer. TIP CAT uses retargeting to retarget the legs. This means that you will usually want retargeting for a leg to be set to 1.0. As an alternative you can leave retargeting off and reposition the pelvis/FootPlatforms with a World Adjustment Layer. TIP If your data describes a character falling over or otherwise leaving the ground, you would generally blend the legs to FK. See also: ■ Working With Motion-Capture Data on page 4756 ■ Retargeting on page 4690 Working With Muscles In CAT, muscles are non-rendering helper objects that you can use to create a skin that looks realistic when stretched and deformed. For example, the following illustration shows how the Marama rig's shoulder and upper arm have collapsed after being twisted and pulled in various directions. (Marama is one of the standard CATRigs included with CAT.) Working With Muscles | 4769 Marama's shoulder will behave better once we finish applying the CATMuscle to her CATBones. That happened because Marama's rigging includes no muscle objects; the skin shape is determined by the relative positions of the CATBones. In the illustration, the purple patches are the segments of a CATMuscle that was created and shaped to use as muscles for her pectorals and shoulder. To complete the job, you would: ■ Finish parenting the segments to appropriate positions on the CATBones. ■ Drive the skinning with the CATMuscle rather than the CATBones. 4770 | Chapter 15 Character Animation Muscle Types As the Create panel shows, you can create two kinds of muscles: ■ CATMuscle on page 4772: A planar (by default) helper object that is multi-segmented on both the U and V axes. ■ Muscle Strand on page 4780: A helper object that acts like a Bezier curve between two points. By default, the muscle strand is shaped like a cylinder that is thicker in the center and tapers off in size at the ends. Usage The muscle objects in CAT are designed to be used in three ways: ■ As a set of procedural bone deformers. When either muscle object is set to Bones mode, you can add it to the Skin modifer on page 1614 like any other bone. It can also be exported to game engines. ■ Both types of muscle objects, when set to Mesh mode, work well with the Skin Wrap modifier on page 1665. For film and advertising jobs, Skin Wrap often provides superior performance with high-resolution meshes than does the Skin modifier. ■ The CATMuscle object is designed to collide quickly and efficiently with the Muscle Strand, producing a nice skin-sliding effect. You could deform your mesh using CATMuscles, and then set up Muscle Strands underneath Working With Muscles | 4771 the CATMuscles, with the latter sliding over the strands. The Muscle Strand has controls for squash and stretch. CATMuscle Create panel ➤ drop-down list ➤ CATMuscle (Helpers) ➤ Choose CAT Objects from the A CATMuscle is a non-rendering multi-segmented helper object that is best used for broad areas, such as the shoulders and pectorals, that need relatively consistent stretching and deforming. After creating a CATMuscle, you can modify how it is segmented, its collision-detection properties, and so on. Procedure To use CATMuscle: 1 Create or load a character rig to attach muscles to, and determine where you’ll attach the muscles. 2 Add a CATMuscle object and position it on the rig. NOTE The CATMuscle object does not render, so even if it shows through the skin in the viewport, it won’t affect the final output. 4772 | Chapter 15 Character Animation 3 Set the CATMuscle parameters as desired. In particular, set Type to Bones if you’ll be using it with the Skin modifer on page 1614, or set it to Mesh when intended for use with Skin Wrap on page 1665. 4 On the main toolbar, click (Select And Link), and then drag from a corner handle on the CATMuscle to the bone to which it should be attached. 5 Repeat the preceding step for each of the other three corner handles. 6 For any additional muscles, repeat steps 2 - 5. Also, for bulging-type muscular deformation, add Muscle Strands on page 4780 and set them as collision objects on page 4778 for the CATMuscles. 7 Skin the character and be sure to include the muscles as bones (with Skin) or control objects (with Skin Wrap). Interface The CATMuscle structure comprises the muscle itself, made up of a rectangular array of flat panels, as well as handles at each corner, for setting the overall muscle shape. Each corner handle also has two subsidiary handles, like those found on knots in Bezier curves, for additional control in shaping the sides. In addition, you can add middle handles for shaping the muscle interior. You can select and move all of these handles at the object level; the CATMuscle has no sub-object levels. Working With Muscles | 4773 4774 | Chapter 15 Character Animation Type Choose Mesh or Bones. Both types have in common the ability to move the handles to reshape the muscle, with each handle having its own name while remaining a part of the muscle. The differences are as follows: ■ MeshThe muscle acts as a single piece, with the panels always fully attached to each other. This mode is best when used in conjunction with the Skin Wrap modifier on page 1665 (see Usage on page 4771). CATMuscle set to Mesh ■ BonesEach panel acts as a separate bone and has its own name, and the panels can separate somewhat when the muscle is reshaped by moving the handles. As a result, you can attach a subset of the panels to the Skin modifer on page 1614 when you don’t need all of them. Working With Muscles | 4775 CATMuscle set to Bones (Remove Skew off) NOTE You can select individual panels of a bones-type CATMuscle, but moving any panel moves the entire muscle. Remove Skew When Type is set to Bones, the panel corners can form angles other than 90 degrees when the muscle is deformed by moving the handles. To force the panel corners to always assume right angles, turn on Remove Skew. Available only when Type is set to Bones. This option is intended primarily for exporting to a game engine that does not support skewed bones. 4776 | Chapter 15 Character Animation CATMuscle set to Bones (Remove Skew on) Properties group Name The base name for the muscle components. CAT uses this name as a basis for the various components For example, if you name a mesh CATMuscle Lats, the muscle itself is named LatsM and the corner handles are named LatsM_A, LatsM_B, etc., and the subsidiary handles (attached to the corner handles) are named LatsM_AB and so on. Each panel in the bones-type CATMuscle has its own name, created by appending the base name with M and a number derived from the panel’s row and column, with the counts starting at 0. For example, in a 20 x 20 (U Segs x V Segs) muscle, the tenth panel in the first row would be LatsM09, and the twelfth panel in row 15 would be LatsM1411. The naming of the handles is the same as for mesh muscles (see preceding). Color The color of the muscle and its handles. To change the color, click the color swatch. Copies the settings for the selected CATMusclr. Pastes settings from another CATMuscle. Working With Muscles | 4777 U Segs / V Segs The number of segments into which the muscle is subdivided in the horizontal and vertical dimensions, respectively. The greater these numbers, the more definition available for deforming the muscle. L/M/R Left/Middle/Right: The side of the rig the muscle is on. For example, you can set up a muscle on the left side, choosing the L option, and then mirror the muscle across the center axis and specifying the R option. Mirror - X/Y/Z The axis along which the muscle lies. This helps the mirroring system work. Handles group Each CATMuscle has a handle at each corner, and each of those handles has two subsidiary handles that act like handles of Bezier-curve knots. You can alter the muscle shape by moving these handles, and you can also link on page 3665 any handle as the child of another object, such as a bone in a character rig. Thereafter, moving the parent object (the bone) also moves the handle, causing the muscle to deform accordingly. Visible Toggles display of the muscle handles. Normally, handles are depicted in the viewports as wireframe cubes surrounding the muscle; to disable the display of the handles, turn off Visible. This can be useful for simplifying the viewport display after connecting the muscles to their bones, and selecting the handles is no longer necessary. Middle Handles Toggles display of an additional Bezier-type handle connected to each corner handle, positioned near the center of the muscle. Use the handles to further modify the muscle shape. Handle Size The size of each handle; changing this affects all handles. Normally, the handles are sized proportionally to the overall muscle size when you create it; use this setting to make the handles larger or smaller. Collision Detection group In addition to being able to shape the CATMuscle by moving its handles, you can specify collision objects around which the muscle deforms when in proximity to them. For example, if you use a sphere as a collision object and move it around while intersecting the CATMuscle, the part of the muscle nearest the sphere forms a raised section. The deformation is greatest at the center of the collision object, and falls off toward its exterior. You can specify collision attributes for each collision object separately. 4778 | Chapter 15 Character Animation CATMuscle reshaped by Muscle Strand and sphere. The sphere is set to See-Through display so the full deformation is visible. Pick Collision Object Add a collision object to the list by clicking this button and then selecting the object. Remove Highlighted Collision Object After highlighting a list entry, click this button to remove it from the list. [list] Lists all collision objects for the current muscle. To remove an object from the list or change its properties, highlight it in the list and then use the appropriate controls. Hardness The extent to which the highlighted list item deforms the muscle. Default=1.0. Distortion Adds a roughness to the deformation caused by the collision object. In general, keep this value below 0.5. Vertex Normal / Object X Choose the direction of deformation caused by the collision object. Available only when a collision object is highlighted in the list. ■ Vertex NormalThis, the default choice, causes deformation in the direction of the surface normal of the affected area of the muscle; that is, perpendicular to the surface. ■ Object XCauses deformation in the positive direction of the collision object’s local X axis. To change the deformation direction, rotate the collision object. This setting makes it possible to have a tubular piece of skin, like an arm, with collision objects inside, and have CATMuscles colliding with them. At the edge where two CATMuscles meet, you usually want to avoid tearing Working With Muscles | 4779 due to the points at the joining edges on the muscles moving in different directions because of distortion. If you choose Object X, the points along the edges of the two muscles will move in the same direction because both are being deformed by the same object. Smooth When on, evens out the deformation caused by a collision object. Available only when a collision object is highlighted in the list. Invert Reverses the direction of deformation caused by a collision object. Available only when a collision object is highlighted in the list. Muscle Strand Create panel ➤ (Helpers) ➤ Choose CAT Objects from the drop-down list ➤ Muscle Strand A Muscle Strand is a non-rendering helper object used for skinning characters that acts like a Bezier curve between two points. Strands provide more precision than CATMUscles, and give better results when the skin must be twisted. While CATMuscles are best for skinning shoulders and pectorals, muscle strands work better for skinning arms and legs. The following illustration shows a muscle strand intended for use a bicep. Freshly created muscle strand, suitable for shaping into a bicep 4780 | Chapter 15 Character Animation While the Create panel is open, you have some ability to shape the Muscle Strand with your mouse. But the Modify panel is where you set most of its properties. Once you are satisfied with your bicep: ■ Attach (parent) one end to the top of the upper arm (that is, to the CATBone). ■ Attach the other end a bit below the top of the forearm. ■ Use the muscle strand rather than the CATBones to drive the skinning. Once you are satisfied with the behavior of one arm, you can easily create a copy of the arm (including all the CATBones, the muscle strands, the skin, and so forth) that is a mirror of the original. Procedures To create a Muscle Strand: Creating a Muscle Strand requires four clicks (after the initial button click to start the object): 1 On the Create panel, click (Helpers) and then, from the drop-down list, choose CAT Objects. On the Object Type rollout, click Muscle Strand. 2 Click in the viewport to set one endpoint, and then move the mouse. You’re now setting the angle of the first endpoint handle. You can adjust this later as well. 3 Click to set the handle angle. 4 Move the mouse again. You’re now setting the overall length of the Muscle Strand, as well as the size of the handles. You can adjust this later as well. 5 Click to create the second endpoint, thus setting the length. 6 Move the mouse again to set the second endpoint handle angle, and then click to finish the Muscle Strand. Thereafter you can adjust the muscle length by moving the endpoint helpers, and the curvature of the muscle spline by moving the handles. Working With Muscles | 4781 To use Muscle Strand: 1 Create or load a character rig to attach muscles to, and determine where you’ll attach the muscles. 2 Add a Muscle Strand object and position it on the rig. NOTE The Muscle Strand object does not render, so even if it shows through the skin in the viewport, it won’t affect the final output. 3 Set the Muscle Strand parameters as desired. In particular, set Type to Bones if you’ll be using it with the Skin modifer on page 1614, or set it to Mesh when intended for use with Skin Wrap on page 1665. 4 On the main toolbar, click (Select And Link), and then drag from an endpoint helper on the Muscle Strand to the bone to which it should be attached. 5 Repeat the preceding step for the other endpoint helper. Optionally, also link the endpoint handles to objects whose motion should affect the muscle curvature. 6 For any additional muscles, repeat steps 2–5. 7 Skin the character and be sure to include the muscles as bones (with Skin) or control objects (with Skin Wrap). 4782 | Chapter 15 Character Animation Interface Working With Muscles | 4783 Type Choose Mesh or Bones. Both types have in common the ability to move the handles to reshape the muscle, with each handle having its own name while remaining a part of the muscle. The differences are as follows: ■ MeshThe muscle acts as a single piece. This mode is best when used in conjunction with the Skin Wrap modifier on page 1665 (see Usage on page 4771). ■ BonesEach sphere acts as a separate bone and has its own name. As a result, you can attach a subset of the panels to the Skin modifer on page 1614 when you don’t need all of them. NOTE You can select individual spheres of a bones-type Muscle Strand, but moving any sphere moves the entire muscle. Muscle Properties group NOTE Unlike the CATMuscle, the Muscle Strand does not have a Name property. However, if you rename the object with Type set to Mesh (see preceding), this acts as a base name for the handles. For example, if you name the object Bicep, the endpoint helpers are named BicepM_Start and BicepM_End, and their handles BicepM_StartHdl and BicepM_EndHdl, respectively. This also applies to a Muscle Strand with Type set to Bones, when you rename the first sphere (default name: MuscleStrand01). However, renaming the first sphere does not affect the names of the other spheres, nor does renaming any other sphere in the Muscle Strand affect the object’s other components. Copies the settings for the selected Muscle Strand. Pastes settings from another Muscle Strand. L/M/R Left/Middle/Right: The side of the rig the muscle is on. For example, you can set up a muscle on the left side, choosing the L option, and then mirror the muscle across the center axis and specifying the R option. Mirror - X/Y/Z The axis along which the muscle lies. This helps the mirroring system work. 4784 | Chapter 15 Character Animation Handles group The Muscle Strand has a box-shaped helper at endpoint, and each of those helpers has a handle that act like a handle of a Bezier-curve knot. You can alter the muscle shape by moving these handles, and you can also link on page 3665 any handle as the child of another object, such as a bone in a character rig. Thereafter, moving the parent object (the bone) also moves the handle, causing the muscle to deform accordingly. Visible Toggles display of the muscle handles. Normally, handles are depicted in the viewports as wireframe cubes surrounding the muscle; to disable the display of the handles, turn off Visible. This can be useful for simplifying the viewport display after connecting the muscles to their bones, and selecting the handles is no longer necessary. Handle Size The size of each handle; changing this affects all handles. Normally, the handles are sized proportionally to the overall muscle size when you create it; use this setting to make the handles larger or smaller. Sphere Properties group Num Spheres The number of spheres that make up the Muscle Strand. The higher this value, the greater the resolution of the muscle. Show Profile Curve Opens the Muscle Profile Curve dialog containing a graph that you can edit to control the profile, or outline, of the Muscle Strand. By default, the muscle is thick in the middle and thin at the ends, but you can change this by moving the three points on the curve (it’s not possible to add points to the curve). Working With Muscles | 4785 To finish editing the curve, close the dialog or click Show Profile Curve again. Squash/Stretch group Enable When on, changing the muscle length affects the profile: Shortening the muscle makes it thicker (squash) while lengthening it makes it thinner (stretch). When off, the profile is not affected by the length. 4786 | Chapter 15 Character Animation Top: With Squash/Stretch off, Muscle Strand profile stays the same whether the muscle is shorter (left) or longer (right). Bottom: With Squash/Stretch enabled, Muscle Strand becomes thicker when short (left) and thinner when long (right). Current Scale This read-only field shows the scaling amount of the muscle based on the relaxed state (see following) and the length as adjusted by moving the endpoints. When Current Scale is 1.0, the muscle is in its relaxed state. When Current Scale is greater than 1.0, the muscle is squashed, and when less than 1.0, the muscle is stretched. Multiplier Increases or decreases the amount of squash and stretch. Increase this value for an exaggerated effect. Relaxed Length The length of the muscle when relaxed; that is, when Current Scale = 1.0. Current This read-only field shows the current length of the muscle. Set Relaxed State Click to set the relaxed state. This sets Relaxed Length to the current length, and Current Scale to 1.0. Thereafter, making the muscle shorter than the Relaxed Length causes squashing, and making it longer causes stretching. Working With Muscles | 4787 [sphere settings] The remaining controls on the Muscle Strand rollout let you set the length of each sphere in the muscle by adjusting its extent. Set Current Sphere to the sphere to adjust and then change the U Start and U End values. Current Sphere The sphere to adjust. This can be any value from 1 to [Num Spheres] on page 4785. Radius This read-only field shows the radius of the current sphere. U Start / U End The extents of the current sphere, measured in relation to the full length of the sphere, which in this context extends from 0.0 to 1.0. Essentially, you’re setting the percents along the muscle length at which the sphere starts and ends. To make the sphere shorter, increase U Start or decrease U End, and to make the sphere longer, decrease U Start or increase U End. For example, to make a sphere start 25 percent along the muscle length and end at 28 percent, set U Start to 0.25 and set U End to 0.28. Utilities CAT includes the following utilities, available from the Animation menu ➤ Animation - CAT submenu. ■ Capture Animation on page 4760 - A tool for transferring animation from one character or hierarchy to another. ■ Pose Mixer on page 4711 - Specifically designed to provide a flexible workflow for bones-based facial animation. ■ Rig Resizer on page 4788 - Resize an entire rig and associated entities, including animation. ■ Apply Max IK on page 4790 - Use IK systems from 3ds Max to animate CATRigs. Rig Resizer Animation menu ➤ Animation - CAT submenu ➤ Rig Resizer Rig Resizer scales all listed items, including rigs, associated objects (such as meshes), and animation frames by the specified percentage. 4788 | Chapter 15 Character Animation Procedure To use Rig Resizer: 1 Add a rig. 2 From the Animation menu ➤ Animation - CAT submenu, choose Rig Resizer. This opens the Rig Resizer dialog. 3 Click the Add button to open a Pick dialog. 4 Highlight the items to resize and then click the Frame button. All highlighted items appear in the Objects list, along with the type of object (for example, Skin Mesh, CATBone). Each listed item has an associated check box; to disable resizing for an item, turn off its check box. 5 Set the Scale Factor value. 6 Click Resize. All listed and enabled objects are scaled by the specified scale factor. Interface Utilities | 4789 [objects list] Lists all objects added with the Add function. To disable removal and resizing for an item, turn off its check box in the list. Add Opens a Pick dialog that you can use to specify the items to be resized. Remove Removes all list items whose check boxes are enabled. Scale Factor The percentage by which each enabled object will be resized when you click Resize. A value of 200.0 doubles the size, while a value or 50.0 halves the size. Resize Scales enabled items in the list by the specified Scale Factor value. Apply Max IK Animation menu ➤ Animation - CAT submenu ➤ Apply Max IK The Apply Max IK tool enables you to use the 3ds Max IK systems to animate CATRigs. You can use splines to control long tails, or HI/IK on digits to give a character’s fingers and toes IK controls. The 3ds Max IK Systems can affect only one layer at a time. This gives you the ability to use IK and FK on the same character at different times in the animation. Alternatively, you can assign the 3ds Max IK system to a relative layer at the bottom of the stack to control all layers on your character. Using Spline IK When assigning Spine IK, the tool needs a spline to use to control the IK system. The tool can create a new spline based on the CATBone hierarchy you have selected. 4790 | Chapter 15 Character Animation TIP Always make sure the hierarchy to which you assign the spline IK system is bent before assigning the IK system. Bend the hierarchy in the direction you would like to see the largest range of motion. For example, when constraining the tail of a lizard, bend the tail around the body to help configure the IK system for optimal motion. If the tail is perfectly straight before you assign the IK system, then the bones in the tail could flip around later, when the tail is animated. Click Yes and a spline will be created using the shape of the tail as a guide. You can also choose an existing spline to control your character. Utilities | 4791 The spline will be created with the number of knots specified on the Apply IK dialogue. Now you can animate the Point helpers to drive the animation of the tail. HI/IK System applied to the toe of the Lizard. 4792 | Chapter 15 Character Animation Interface Pick Hierarchy Select the bones to which to apply the IK system. You can select arms, legs, fingers, toes, or tails. Pick IK Solver Choose an IK system to assign from the drop-down list. For details about the solver choices, see the IK Solvers section of the main 3ds Max help. Pick Layer Use an existing layer to hold the IK system, or let the tool create a new layer. Num Knots When creating a new spline for a Spline IK system, defines the number of knots for the spline. See also: ■ Tails on page 4590 ■ Limbs on page 4576 ■ Palms, Ankles, and Digits on page 4585 Tips and Tricks This section offers suggestions for how to better use CAT in production. Customizing IK Using Constraints CAT's IK is customizable to the extent that you can use all regular 3ds Max constraints, and even write scripts to control a limb. Following are descriptions Tips and Tricks | 4793 of two leg setups that you might find useful: Knee LookAt and Orientation Constrained. LookAt Knee An effective method when applying IK to legs is to have the knee look at a target. With CAT you can accomplish this by using an extra bone as the target object. To set up a LookAt Knee: 1 Make sure there are no animation layers in the Layer Manager and return to Setup mode. 2 Select the thigh bone (upper leg). 3 Go to the Modify panel. 4 On the Bone Setup rollout, click Add Bone to create an extra bone. The extra bone is created at the end of the bone on which it is created. IMPORTANT Create the extra bone on the limb with which it will be associated, because even after an extra bone is relinked to the pelvis, it is still part of the limb group and thus will use the limb weight as its local weight. This is useful when working with feathered weighting. 5 Move the bone out in front of the knee. TIP Select the bone in a wireframe viewport. 6 Link the extra bone as a child of the pelvis. The knee LookAt should control the leg; if it remains linked to the leg it will follow the leg, not the other way around. 4794 | Chapter 15 Character Animation 7 Select the thigh bone again. 8 Go to the Motion panel, add an Absolute layer, and then add a relative layer (Adjustment Local or Adjustment World). 9 Put the rig into Animation mode. 10 Access the Assign Controller rollout and highlight the Rotation track of the current animation layer. 11 Click (Assign Controller) and assign a LookAt contraint. 12 Go to the LookAt Constraint rollout. 13 On the LookAt Constraint rollout click Add LookAt Target and choose the extra bone. Right-click to exit. 14 Put the thigh into FK. (Limb Animation rollout ➤ IK/FK=1.0) This is useful because you can get a much better idea of what is going on. 15 On the LookAt Constraint rollout, turn off Select Upnode ➤ World and assign the FootPlatform as the Upnode. 16 Set Upnode Control to LookAt and pick the footplatform as the target. 17 Set the Source Axis to Y and choose Flip. Tips and Tricks | 4795 18 Put the limb back into IK. Orientation Constrained When you want a leg to inherit motion from both its parent (the pelvis) and the FootPlatform, use an orientation-constrained setup. To set up an orientation-constrained leg: 1 Select the upper leg bone. 2 Go to the Motion panel, add an Absolute layer and activate Animation mode. 3 Put the limb into FK. 4 Go to the Assign Controller rollout and highlight the Rotation track in the current animation layer. 5 Click (Assign Controller) and assign an Orientation constraint. 6 On the Orientation Constraint rollout click Add Orientation Constraint and select the FootPlatform. 7 Turn on Keep Initial Offset. 8 The Leg should now be standing on the FootPlatform normally. 9 Blend the leg back into IK. Now when you rotate theFootPlatform the whole leg will rotate with it. To blend the leg rotation between the FootPlatform and the pelvis: 1 Apply an Orientation constraint and assign the FootPlatform as orientation target, as described in the preceding procedure. 2 Add a second Orientation constraint, this time assigning the pelvis as orientation target. 3 Adjust the constraint Weight settings between the two targets as required. 4796 | Chapter 15 Character Animation Saving Constraint Settings To save your IK constraint settings, set up the configuration in a layer and then save the layer as a clip file with no keyframes on it. When you want to add a new Absolute layer with the same configuration simply load in the layer. NOTE Note: Using these constraint systems makes it impossible to blend to FK on the same layer. To blend to FK, blend to another animation layer in which the limb doesn't have this system added. Mapping Motion from Motion-Capture Point Clouds If you are working with motion-capture data and would like to bring point-cloud data into 3ds Max and then map the motion onto a CATRig, this topic can help. Rather than a tutorial, this is an example of how to solve this problem. NOTE No scripting was used to configure this system. It might give you ideas on how you can solve your own motion-mapping problems. This is an exercise in configuring constraints to solve a complex integrated problem. Constraints are directional. In other words, if A is constrained to B, then B cannot reference A. The inability of constraints to support circular relationships means that we are forced to take a layered approach to the problem. The desired result is a set of bones with correctly animated joint positions and rotations. One simple way to solve this problem is to break the problem into two simpler problems, positions and rotations, and solve them separately. The postion of a bone does not depend on any other bones in the skeleton, nor does it depend on the rotation of any other bone. CAT simplifies the solution to this problem. ■ The Capture Animation tool makes it easy to map the CATRig to the bones rig. Each bone can contain offsets that lets you interactively adjust the pose of the CATRig while the motion is being mapped onto the rig. ■ The procedural spine makes it unnecessary to specify each bone in the spine. Given position and orientation data for the pelvis, ribcage, and head, CAT's procedural spine can interpolate the vertebrae accurately. ■ With CAT's IK system, you can constrain CATRig bones to the imported rig and let the software handle the IK solution. The retargeting feature means that even if the legs of the character go very straight and the CATRig Tips and Tricks | 4797 has legs that are longer or shorter that the original leg, the pose of the CATRig will be ajusted to fit the data. Example Scene The following illustrations depict the process of mapping a CATRig to imported point-cloud data. Point Cloud The original motion-capture data cloud 4798 | Chapter 15 Character Animation Joint Positions The first layer is for generating joint positions in the cloud using Point constraints. The joint positions are simply weighted Position constraints, and therefore relatively easy to set up. The red crosses in the scene file represent basic joint position helpers. A group of three Point helpers is used to define the pelvis orientation based on surrounding markers. An identical setup is used to drive the orientation of the ribcage and head. These are the blue points in the illustration. Tips and Tricks | 4799 Box Rig The second layer is the BoxRig, which defines the joint angles. Boxes are constrained to the joint positions and LookAt controllers define rotations. Note that the exact position of many of the bones is not important. For example, the knee joints move relative to the hip bone, but when this data is mapped onto the CATRig, the latter’s IK system effectively cleans up the motion and locks the joint locations. 4800 | Chapter 15 Character Animation CATRig The CATRig has been mapped onto the BoxRig using the Capture Animation tool. NOTE Retargeting has been turned on for the legs to help adjust the pelvis's position. character studio The character studio functionality in 3ds Max provides professional tools for animating 3D characters. It is an environment in which you can quickly and easily build skeletons and then animate them, thus creating motion sequences. You use the animated skeletons to drive the movement of geometry, thus creating virtual characters. And you can generate crowds of these characters using character studio, and animate crowd movement using a system of delegates and procedural behaviors. character studio | 4801 Crowd of mannequins in a subway station animated using character studio character studio comprises three components: Biped, Physique, and Crowd. ■ Biped on page 9106 builds and animates skeletal armatures, ready for character animation. You can combine different animations into sequential or overlapping motion scripts, or layer them together. You can also use Biped to edit motion capture files. NOTE Biped does not create character mesh objects. Create your character mesh before using Biped to create a skeleton for it. ■ Physique on page 9268 uses the biped armatures to animate the actual character mesh, simulating how the mesh flexes and bulges with the movement of the underlying skeleton. NOTE You can use Physique with other hierarchies beside the biped skeleton. And, as an alternative to Physique, you can use the Skin modifier on page 1614 to animate a character mesh with any hierarchy, including a biped. 4802 | Chapter 15 Character Animation ■ Crowd on page 9128 animates groups of 3D objects and characters using a system of delegates and behaviors. You can create crowds with highly complex behaviors. If you are new to 3ds Max, read What You Should Know to Use character studio on page 4804 and Understanding character studio Workflow on page 4816. If you are already use 3ds Max, proceed to Understanding Biped on page 4805 to continue. To find out about Physique, read Understanding Physique on page 4807. To learn about the Crowd system, read Crowd Animation on page 5456. What Is character studio? character studio is a set of components that provides a full set of tools for animating characters. character studio lets you create skeletal hierarchies for two-legged characters (called bipeds) that can be animated quickly using a wide variety of methods. If your character walks on two legs, character studio provides unique footstep animation on page 4853 that automatically creates movement based on gravity, balance, and other factors. If you want to animate motions manually, you can use freeform animation on page 4910. This type of animation is also suitable for characters with more than two legs, or characters that fly or swim. With freeform animation, you can animate the skeleton with traditional inverse kinematic techniques. You can also animate a biped skeleton by loading motion capture files on page 4987. You can convert back and forth between these methods to take advantage of their several benefits. character studio also provides tools for skinning a character using the biped skeleton, or any other type of linked hierarchy. character studio provides a unique ability to separate the motion of the animation from the structure of the character. Thus you can animate a giant walking and apply that motion to a tiny elf. Or you could animate a fat character and retarget the same motion to thin one. Using a library of motions, you can animate a character doing hundreds of different actions as easily as loading a file. character studio provides a comprehensive range of tools for motion editing. You use motion scripting to sequence animations with transitions. You can What Is character studio? | 4803 overlay different animations with layers, or blend them with the nonlinear Motion Mixer on page 4038. Function curve editing, available on the track bar and in Track View, as well as in the Animation Workbench on page 5162, lets you alter animations. The workbench also provides specialized tools for analyzing and correcting motion errors. Finally, character studio provides options for creating crowds of bipeds on page 5456 or other objects with a procedural-animation system that uses forces and behaviors to drive character motion. character studio consists of three basic components: ■ Biped® provides tools to create and animate skeletons. ■ The Physique® on page 5294 modifier associates a skeleton with the character-mesh objects, so you can control the mesh with the skeleton. ■ Crowd provides tools to create and animate crowds of animated objects, including bipeds. What You Should Know to Use character studio character studio provides you with a broad range of tools for animating virtually any type of character. A biped being pensive 4804 | Chapter 15 Character Animation To expedite your introduction to the product, be familiar with the following 3ds Max concepts: ■ Creation, transformation, and modification of objects ■ Selection of objects through clicking or dragging in viewports, and by using the Select From Scene dialog on page 184 ■ Navigation in viewports and changing your viewport configuration ■ Use of the Track View - Dope Sheet and Track View - Curve Editor, and the trackbar to view and edit animation tracks and keys For information on these areas, consult the remainder of this reference. If you are not familiar with 3ds Max, do some of the introductory tutorials found online in Help ➤ Tutorials. Understanding Biped Biped on page 4822 is a 3ds Max component that you access from the Create panel. Once you create a biped, you animate it using the Biped controls on the Motion panel. Biped provides tools to let you design and animate the figures and motion of characters. The Biped The biped skeleton created with the Biped module is a two-legged figure created as a linked hierarchy, and designed for animation. The biped skeleton has special properties that make it instantly ready to animate. Figure and Keyframe Modes character studio is designed to interchange motion and characters. In Figure mode on page 5104, you pose the biped to fit your character model. In Keyframe mode on page 9199, you animate the skeleton. Motions created for the biped can be saved and loaded onto other biped skeletons with different physical characteristics. For example, you could animate a giant ogre, save the animation, and load it onto a small child. Motion files are saved in the proprietary character studio BIP format on page 9105. You can use these files in a variety of ways with Motion Flow, the Motion Mixer, and the Crowd tools to combine animation or animate multiple characters. Understanding Biped | 4805 Animating the Biped There are two primary methods used in creating biped animation: footsteps method on page 9168 and freeform method on page 9170. Each method has advantages. You can convert from one method to the other, or you can use a combination of both techniques in a single animation. For detailed information, see the sections that follow: Creating Footstep Animation on page 4853 and Creating Freeform Animation on page 4910. Biped Properties The biped skeleton has some properties designed to help you animate faster and more accurately. ■ A human structure—Joints on the biped are hinged to follow human anatomy. By default, the biped resembles a human skeleton and has a stable inverse kinematics hierarchy. This property means that when you move a hand or foot, the corresponding elbow or knee orients itself accordingly, and produces a natural human posture. ■ Customizable for non-human structures—The biped skeleton can easily be made to work with a four-legged creature or an animal that naturally leans forward, such as a dinosaur. ■ Natural rotations—When you rotate the biped spine, the arms maintain their relative angle to the ground, rather than behaving as though fused to the shoulders. For example, take a biped in a standing position, with arms hanging at its sides. If you rotate the spine forward, the fingers touch the ground rather than pointing behind it. This position is more natural for the hands, which speeds the process of keyframing the biped. This feature also applies to the biped head. When you rotate the spine forward, the head maintains a forward-looking orientation. ■ Designed for footsteps—The biped skeleton is specially designed to animate with character studio footsteps, which help solve the common animation problem of locking the feet to the ground. Footstep animation also provides an easy way to rough out animation quickly. See the section Creating Footstep Animation on page 4853. See also: ■ Biped on page 4822 ■ Biped User Interface on page 5002 4806 | Chapter 15 Character Animation Understanding Physique Physique is a modifier that, when applied to a mesh, allows the movements of an underlying skeleton to move the mesh seamlessly, like bones and muscle under a human skin. Physique works on all point-based objects including geometric primitives, editable meshes, patch-based objects, NURBS, and even FFD space warps. For NURBS and FFDs, Physique deforms the control points, which in turn deform the model. You can attach it to any skeleton structure including a biped, 3ds Max bones, splines, or any 3ds Max hierarchy. When you apply Physique to the skin objects and attach the skin to the skeleton, Physique determines how each component of the skeleton influences each vertex of the skin, based on settings you specify. Physique affects a mesh after you click Attach To Node on the Physique rollout and select a root node in the viewports. During the attach process, Physique works its way through all of the children in a hierarchy, starting at the object you select, and creates its own links with associated envelopes on page 5319 for each link it finds. The links created by Physique are referred to within this documentation as the Physique deformation spline on page 9132. Vertices that fall within envelopes are influenced to follow the links and animate the mesh. Splines and 3ds Max bones can also be added using the Add button in the Floating Bones rollout on page 5371. Understanding Physique | 4807 Biped and Physique When the biped pelvis is selected in the viewports and Attach To Node on page 5363 is turned on, Physique traces its way from the pelvis down the legs to the toes. From the pelvis it also traces its way up through the spine and branches at the collar to the arms, hands, and fingers, and up the neck to the head. A link and associated envelopes are created for each link found. If any other objects, including 3ds Max bones, are linked to the biped, Physique treats them similarly: it creates a link and envelopes. When you use Physique to attach a mesh to the biped, remember this: If your character has additional limbs, link 3ds Max bones to the biped for the extra arms before using Attach To Node to create links and envelopes. When you apply Physique using Attach To Node, it creates links and envelopes for all the links in the biped, and for the linked bones. Link non-deformable objects like a sword after using Attach To Node. That way Physique doesn’t create a link and envelopes for the sword. Envelopes and Weighted Vertices The Physique modifier uses envelopes as its primary tool for controlling skin deformation. It also provides tendons and bulge angles for fine-tuning mesh deformation after envelopes are adjusted. All envelopes have an inner and outer bound (boundary). Vertices falling within the inner bound of a single link receive a full weight of 1.0 from that link. Those falling outside the outer bound receive no weight from that link. Vertices falling between the inner and outer bounds receive a weight from 0 through 1. Vertices move together with the link that influences them. Where multiple envelopes encompass a vertex, that vertex receives weight from each envelope and follows each link to an average position based on these weights. This weighting from multiple links is considered blending. It is possible that weights assigned to some vertices don’t reach a total weight of 1.0 or greater. Rather than leaving these vertices behind, Physique by default normalizes them to a value of 1.0. Adjusting falloff, overlap, scale, and other envelope parameters changes vertex weight distribution across links. This change, in turn, affects the way skin behaves as the biped moves. By and large, you correct the way skin deforms on a character by adjusting envelopes. Deformable and Rigid Envelopes There are two Envelope types per link: deformable and rigid on page 5319. Deformable envelopes follow the Physique deformation spline that runs through the joints in the hierarchy, and can be deformed using bulge angles, 4808 | Chapter 15 Character Animation tendons, and link parameters. Rigid envelopes determine vertex-link assignment based upon the linear 3ds Max link and move in an immobile relationship to the link. Vertices in a rigid envelope, however, are deformed (blended) in the overlap area of other envelopes. Typically you use deformable envelopes; however, game developers with game-engine restrictions might want to use rigid envelopes exclusively. Both rigid and deformable envelopes can be turned on for the same link. For example, by scaling both envelopes, you could deform the shoulder with a rigid envelope and the armpit with a deformable envelope. The Number of Links That Can Affect a Vertex Any number of overlapping envelopes (N Links on page 9235) can influence vertices. Normally, N Links are preferred. For special purposes such as games requirements, you can limit the number of links (envelopes) that can affect a vertex. The No Blending parameter is like the method used in version 1 of Physique: a vertex is assigned to only one link. Physique Workflow Before Physique is applied, align the biped to the mesh in Figure mode on page 5104. Use a pose with the arms outstretched so the hands are away from the torso. Save a figure file, so it’s easy to return to this pose whenever you need. Select the mesh and choose Physique in the Modify panel. Turn on Attach to Node and select the root node in the hierarchy (biped Pelvis or root node in a bones hierarchy, not the COM). In the Physique Initialization dialog box, click Initialize to create default envelopes based on the links in the hierarchy. The remainder of the work is adjusting envelopes and optionally adding bulge angles and tendons. Envelope size, overlap, and other parameters are adjusted with the character in an animated position (with Figure mode turned off). By scrubbing the time slider back and forth, you can spot problem areas and adjust the envelopes affecting the problem areas. In Place mode is useful to keep the character stationary during envelope adjustment. The finishing touches are link parameters, bulge angles, and tendons. You use link parameters to control skin sliding, the amount of twist, and crease blending as a character moves. Bulge angles let you expand areas like the biceps,and chest relative to the angle created by a link and its child in the hierarchy. Tendons can span multiple links in the hierarchy to stretch and pull a character skin. Understanding Physique | 4809 See also: ■ Physique on page 5294 ■ Physique User Interface on page 5363 Understanding Track Editing There are several places to view your animation represented as tracks in 3ds Max. These views include the Track Bar on page 8659 and Track View on page 3827. The tracks can be displayed as function curves, or as keys and ranges on a box graph. character studio makes special use of function curve editing capabilities with a customized version of the Track View - Curve Editor called the Animation Workbench on page 4811. Biped Curve Editing Using the Track Bar After creating animation of the biped in the viewport using keyframing tools from the Motion panel, you might need to work on the animation tracks, either to adjust key interpolation for smooth motion or to adjust ranges and affect timing. 3ds Max allows for some basic ways to do these tasks for all scene objects using direct key manipulation. The simplest and most direct access to keys and ranges can be found on the track bar. Keys for selected biped objects are immediately visible there. With some limitations, you can create keys by Shift+dragging in the track bar. Right-clicking a key displays a menu; choosing from this menu gives quick access to key properties such as interpolation controls. This Key Properties dialog is also accessible from a list on the Motion panel ➤ Assign Controller rollout. A right-click on the time slider also displays the Create Key dialog, which is another quick way to set keyframes. Selecting any two keys displays the range as a bar beneath the keys. You can reposition this range bar or resize it to adjust the timing of the animation. You can combine accelerator keys, like Ctrl and Alt, with left, middle, and right mouse buttons to extend or stretch the range displayed in the track bar. You can expand the track bar to display the keys on function curves. From there, you can select and manipulate keys. 4810 | Chapter 15 Character Animation Biped Curve Editing in Track View The same function-curve editing controls are found in Track View. Track View has two modes: Curve Editor and Dope Sheet. character studio displays function curves for biped components in the Track View - Curve Editor. Dope Sheet mode displays the footstep tracks and other biped keys as boxes. Here, you cut, copy, and paste keys to create repeated motion. You can use Time Editing in Dope Sheet mode, and cut, copy, paste, and insert time segments, complete with keys, into your animation. Curve display can help pinpoint troublesome spots in your animation. You can see where a curve has problems, often corresponding to motion problems in the viewport animation. You move the keys to compensate for the problems. Understanding the Workbench The Workbench is a curve editor customized for use with character studio. It provides specialized tools for selecting and displaying curves, and also for locating and fixing errors and discontinuities in motion. It is a visualization tool that allows you to see and manipulate quaternion function curves represented as euler angles. Also you can see curves for the position of a biped body part in any coordinate space. The Workbench automatically limits selections to biped body parts and scene objects related to that biped. You can analyze these selections for errors using a variety of detectors, and correct them using the provided fixers. You can also apply filters to perform operations on different biped body parts to affect the overall animation without error identification. Function Curve editing for Biped is also available in the 3ds Max Track View - Curve Editor and in the expanded track bar, but without the specialized Workbench tools. Especially when working with imported motion-capture data, you might find that curve editing is difficult using the standard 3ds Max tool set. This difficulty can arise from the fact that motion-capture data often has a key on every frame, so curve manipulation becomes cumbersome and awkward. It is difficult to pinpoint the trouble spots visually. The Animation Workbench offers automatic functions to reduce keys or apply filters to the motion curves to smooth animation. Understanding the Workbench | 4811 The Animation Workbench See also: ■ Working with the Workbench on page 5162 ■ Workbench User Interface on page 5169 Understanding Motion Flow Motion Flow is a tool that graphically arranges clips (motion files), flowing from one motion to the next. You can use a Motion Flow graph to set up a series of clips with transitions between them. The biped then performs the series of motions in sequence. 4812 | Chapter 15 Character Animation Motion Flow graph with transitions between motion files You can also create a network of clips on the graph, where each clip has a transition to two or more clips. With this type of graph, you can tell character studio to generate the actual motion sequence for you based on random selection. Multiple transitions from each clip Understanding Motion Flow | 4813 A crowd simulation can also be used to generate a motion sequence from this type of graph. Each biped in the crowd chooses from the motions and transitions in the graph based on its desired destination and speed. These factors, in turn, are determined by the crowd parameters you set. See also: ■ Working with Motion Flow on page 5194 ■ Motion Flow Mode on page 5233 ■ Motion Flow Rollout on page 5235 Understanding Crowds The Crowd system in character studio lets you create realistic simulations using large groups of characters, humanoid and otherwise, that behave and interact with one another by procedural means. You can use it to easily animate scenes containing hundreds of people and/or creatures, all with similar or widely varying sets of behaviors. These can vary dynamically according to other factors in the scene. Crowd of mannequins in a subway station animated using character studio 4814 | Chapter 15 Character Animation At the heart of the system are the Crowd and Delegate helper objects. A single Crowd object can control any number of delegates, which serve as stand-ins for crowd members. You can group delegates into teams, and assign behaviors such as Seek, Avoid, and Wander to individuals or teams. You can combine behaviors with weighting, so that, for example, a crowd member could seek a goal while wandering slightly. Crowd simulations can range in sophistication from simple and straightforward to highly complex. Aiding at the latter end of the range is the Cognitive Controller feature, which lets you use the scripts to apply conditional transitions to sequences of behaviors. For example, you could tell a delegate to approach a goal until it gets within a certain distance, and then start moving away. Or you could use a Cognitive Controller to have a delegate move among a series of goals. Another means of creating complex, dynamic crowd simulations is motion synthesis, which can be used in conjunction with the Cognitive Controller. The Crowd system offers two types of motion synthesis. ■ When working with bipeds, you use the Motion Flow feature to allow character studio to create scripts for the bipeds that match the delegate behaviors. ■ When working with non-bipedal characters, such as fish or birds, you use Clip Controllers that let you apply different animation segments to various types of motion. For example, a bird flaps its wings quickly while ascending but slowly while flying level, and stops flapping its wings during descent. One of the most important requirements of crowd simulations is avoidance; if characters pass through each other or other objects in the scene, realism suffers. The Crowd system offers various behaviors to help achieve proper avoidance. It also provides the Vector Field, a special space warp, which, when applied to an irregularly shaped object, allows delegates to move around the object without penetrating it. Used in combination, the Crowd-system tools described here can produce an endless variety of interesting, multi-character simulations. The Crowd topics in this manual provide detailed information about every aspect of crowd simulation. See also: ■ Crowd Animation on page 5456 ■ Crowd Animation User Interface on page 5505 Understanding Crowds | 4815 Understanding character studio Workflow Biped, Physique, and the Crowd system work together within 3ds Max to provide a complete set of character animation tools. Although these components can be used in a variety of ways, it is helpful to approach character studio with a basic understanding of how a typical character animation is created. The following sections provide a brief summary of the basic workflow and related benefits to creating a character with Biped and Physique. You might not use all the following steps, but you’re likely to do them in the following order. Create Skin Geometry Create a basic skin shape for your character using any 3ds Max modeling tools and surface types. Be sure to place your character skin in a neutral pose with arms outstretched and legs spaced slightly apart. You might also want to add sufficient detail to your skin mesh or control points around joints to facilitate deformation during movement. NOTE Physique deformations are based on a volume, which means you can refine your geometry later with minimal impact to skin behavior. Thus, you can create your animation before building your model, if you like. Create a Biped Skeleton Biped automates the creation of bipedal character skeletons. It also lets you introduce significant changes to the skeleton structure and sizing at any point during your animation without adversely affecting character motion. As a result, you can animate your character without knowing if it is short or tall, skinny, or fat. It also means that if the director changes the character proportions, the animation still works. For more detail on posing a biped skeleton, see Biped on page 4822. Attach the Skin ■ Position the biped character within its modeled skin. Use Figure mode on page 5104 to scale bone lengths and to orient the skeleton correctly within the skin volume. Scale bone thickness as desired to achieve a good initial fit. Then save a figure file, so it’s easy to return to this pose. ■ Use Physique to attach the skin geometry automatically to the biped or a 3ds Max bones hierarchy. The attachment is typically made to the root node in the hierarchy: the pelvis object on the biped or the root node on 4816 | Chapter 15 Character Animation a bones hierarchy, not the center of mass. The attached skin is deformed as the biped or bones hierarchy moves. ■ The links in the bones hierarchy are used to create a system of 3D envelopes that enclose nearby vertices. Envelopes typically overlap at the parent and child ends of links. Vertices within overlapping envelopes are blended to create smooth skin deformation over joints as the character moves. Adjust Skin Behavior Adjust Physique parameters and introduce skin behavior effects to achieve the desired characterization. ■ Change default envelope shapes by adding cross sections and control points to isolate a more specific volume of vertices for each bone. Use exclusion lists or per-vertex weighting to apply fine-tuning control over individual vertices. ■ Introduce bulge angles to change muscle shape based on the angle of a particular joint. Create tendons to simulate the motion of tendons under the skin, based on link movements. ■ Adjust link parameters to change skin twisting, sliding, and creasing as the biped moves. Sliding allows the skin to compress at the biceps and forearm as the elbow is bent. Twisting controls the amount of skin twisting across a joint intersection. ■ Create extra links using 3ds Max bones and dummy objects for added control. You can add links to the abdominal area to control compression, for example, or to create a link to animate the chest rising and falling as the character breathes. If a character has extra appendages,you can add 3ds Max bones to animate them. One common usage is to add a bone to animate the jaw. For further detail, see Physique on page 5294. Animate the Biped Skeleton Once you’ve attached the skin to a biped structure, you can animate the biped freely and see the skin behavior update automatically, based on the current pose. TIP Physique skin deformation can slow down playback of your Biped animation. To improve performance, you can hide the skin object temporarily or reduce its resolution in the modifier stack. Understanding character studio Workflow | 4817 You can also choose to develop Biped animations in a separate scene entirely, and apply them to your final skinned character when you are satisfied with your final motion. A biped on page 4822 character is essentially an integrated hierarchy of bones that you can position freely using keyframes, IK goals, and footsteps. You can position a biped character using all the rotation and transformation tools found in 3ds Max. Many of the 3ds Max coordinate systems can be used to position the biped. Local coordinates are useful to move a limb along its axis (the local X axis is always the axis along the biped limb); world coordinates are handy when there is any confusion regarding which way is up. You can use world coordinates as a home base. In 3ds Max, the world Z axis is always up. NOTE Rotations always occur about the local axis. Use Freeform Techniques Biped provides a variety of methods for creating character motion easily. You can use a purely traditional approach by manually creating keyframes in freeform mode for different poses, letting the computer interpolate between joint positions and IK goals. Use a Footstep-Driven Technique You can also choose a partially assisted approach by using footsteps and Biped dynamics to help you create a default walk, run, or jump cycle. You can then adjust the biped keyframes and footsteps individually. When using footsteps, biped dynamics on page 9106 helps you by simulating gravity and balance. ■ Gravity can help in a jumping motion to accelerate a character during the falling period and to bend the legs naturally on landing. ■ Balance enables retaining the character balance by adjusting its position when the spine is rotated and keyframed. ■ Dynamics can be turned off on a per-key basis or for the entire animation. The animator can override center of mass keyframes created using Dynamics calculation at any time. Simply set the dynamic properties of these keys or choose Spline Dynamics on page 9315 for keys generated by newly created footsteps. 4818 | Chapter 15 Character Animation Convert Between Animation Types Once you are satisfied with a particular footstep animation and its corresponding dynamic behavior, you can convert it on page 4908 to a freeform animation consisting of a simple combination of keyframes and IK goals. This intelligent conversion gives you control of animation behavior at every frame, for every joint of the character. Use Layers to Apply Global Changes Animation layers on page 9092 offer you a powerful tool for introducing global changes to an existing character animation. For example, you can convert an upright running motion into a crouched run by adding a layer on top of an existing run motion. The layer would contain a single keyframe with the biped's spine rotated forward. You can stack up layered changes, allowing you to refine your motion composition and eventually collapse your layers into a standard non-layered keyframe animation. Use In Place Mode to Control the View In Place Mode on page 4997 is a tool that lets you keep your biped in view during animation playback. It offers a convenient way of adjusting and adding keyframes to a character without constantly changing your view to follow the character motion. Import Motion-Capture Files Motion-capture files can be imported from the BVH or CSM formats, edited, and saved as BIP files. You can import these files with or without footsteps and dynamics and combine them in Motion Flow mode with other animations. You can use the supplied motion-capture samples as is or adjust them to suit your needs using the collection of animation tools in Biped. The ability to import motion-capture marker files directly into character studio using the CSM file eliminates much of the cost of post-processing optical motion capture data. You can import motion-capture files with an additional prop bone, to define the motion of an object such as a sword or club. You can also import HTR/HTR2 motion-capture files on page 8292, as well as TRC files on page 8294. Motion-capture files can be imported with key reduction, making for more manageable tracks for subsequent editing. Understanding character studio Workflow | 4819 Use Track View for Keyframe Editing Track View on page 5148 allows you to edit keys and footsteps relative to the animation time line. Footstep editing in Track View - Dope Sheet allows you to move footsteps in time. If you need a character to jump higher between footsteps, move the landing footsteps further down in time. Dynamics automatically compensate by making the character jump higher to keep it airborne longer. You can also specify a freeform period in a footstep animation, using Track View - Dope Sheet. This allows you to take advantage of footsteps and dynamics for part of an animation, then switch to manual keyframing during the freeform period. This approach can be useful in animations where there is a mix of animation where the feet are on the ground and then off. Examples of this type of animation include running and diving, or walking and then sitting down. Keyframe adjustment tools allow the following: ■ Find the next or previous key for the selected biped body part. ■ Use the Time spinner to slide a key back and forth in time. ■ Change Tension, Continuity, and Bias for a key. ■ Display trajectories. You can place arms and legs of a character into the coordinate space on page 9126 of another object or the world to simulate interaction with fixed or moving objects. In Freeform mode, for example, putting the legs into world space on page 9354 prevents them from sliding or moving when keyframing the center of mass of the character. Putting a hand in the coordinate space of a ball allows the hand to move wherever the ball moves. Many tools in 3ds Max can be leveraged with character studio. For example, you can use the Select and Link tool to attach objects to the biped. If you want a character to pick up and carry an object and then put it down, you can use the Link controller to animate the duration of the attachment. 3ds Max bones can be used to animate character subassemblies, like pistons, and to create extra links for Physique. Use the Motion Mixer to Mix Animations You can use the Motion mixer on page 4038 to combine motions on a biped. For example, you could combine a walking motion with a cheering motion, and cause the biped to walk while cheering. 4820 | Chapter 15 Character Animation Use Motion Flow to Combine Animations After you have created and modified various animation sequences, and stored them in biped motion files (BIP format), you can use Motion Flow mode on page 5233 to combine various motion files into longer animations that can be quickly previewed and edited. Motion Flow mode automatically places the animations end-to-end, allowing you to mix and match both freeform and footstep-driven motion files. Transitions between successive motions are automatically created for you, to provide a first-pass blending between overlapping frames of animation. The Motion Flow transitions use velocity interpolation on page 9343 to create seamless transitions between clips. You can use the Transition Editor on page 5247 to modify a variety of blending parameters, including transition start frame, length, and angle between clips. Refining Your Character Great character animation is the result of many refinements that tune the overall personality of your character. You will find the need to refine progressively both the skinning behavior and the animation timing of your character. Biped and Physique make this iteration process straightforward by using the 3ds Max modifier stack and undo methods. In addition, the ability of Biped to map motions between characters makes it easy to interchange great animations with existing characters, and tune their behaviors to achieve true integration of motion with character motivation and personality. Use Crowds to Animate Groups of Characters Once you've created animation sequences for characters or other models (such as a bird flapping its wings), you can replicate the models or characters and apply the motions to these groups using the Crowd system on page 5456. You can also combine them with a wide range of supplied behaviors to create lifelike activities in crowds, such as people streaming through a doorway, street traffic, or birds and fish flocking and avoiding obstacles. You can use Motion Flow mode to create motion clip networks. These allow characters to perform animation sequences appropriate to their current movement and transition smoothly between sequences. And you can use cognitive controllers in Crowd to transition between behaviors based on a variety of criteria. For more on crowd behaviors, see Creating a Crowd System on page 5457. Understanding character studio Workflow | 4821 Biped To work most efficiently with bipeds, it is important to follow the general workflow described in this topic. Create Skin Geometry Before you create a skeleton for a character, have a character skin ready to put the skeleton into. Create a basic skin shape for your character using any of the 3ds Max modeling tools and surface types. Be sure to place your character's skin in a neutral pose with arms outstretched and legs spaced slightly apart. You may also want to add sufficient detail to your skin's mesh or control points around joints to facilitate deformation during movement. Character mesh in a neutral pose TIP Before adding a biped skeleton, freeze your character mesh. When the mesh is frozen, you can still see it, but you can't select or alter it, reducing the chance for error or frustration. Create a Biped Skeleton Once you have a character mesh, you can create a biped skeleton to fit inside. Use Figure mode on page 5104 to set up your biped. 4822 | Chapter 15 Character Animation Before you position the skeleton, use controls on the Structure rollout on page 5108 to alter the biped to match your mesh, setting the number of links for the spine, arms, neck, or fingers, or adding props to represent weapons or tools. TIP You can use ponytails to create animated jaws, ears, or horns. NOTE Certain biped body parts, including fingers, tails, ponytails, props, and clavicles, can be repositioned in Figure mode to suit different characters. When you position the biped inside your mesh, start with the center of mass (COM), which is the parent of all objects in the biped hierarchy. The COM should be positioned in line with the hips of the mesh character. Scale the pelvis so that the legs fit properly in the mesh, and then use Move and Scale on the 3ds Max toolbar to position your biped skeleton. NOTE In addition to the standard move, rotate, and scale operations, you can also use modifiers to adjust the parts of the biped. NOTE Biped body parts cannot be removed, however unwanted parts can be hidden. If you delete a part the entire biped will be deleted. The following list includes some tips for positioning your skeleton: ■ Use the Page Up and Page Down keys to cycle through links. ■ Use Rubber Band mode on page 9285 to move and scale the arm and leg links on your skeleton simultaneously. ■ Use tools from the Bend Links rollout on page 5045, such as Bend Links Mode on page 9103 and Twist Links Mode on page 9338 to adjust tail, neck, spine, and ponytail links. ■ The head, toes, and fingertips should extend slightly beyond the mesh extents to fulfill the requirements of Physique. ■ Use the minimum number of fingers and toes. You need extra fingers or links only if you are planning on complex hand or foot animation. If your character is wearing gloves or shoes, then you probably only need one finger or toe, with one link. ■ To create a biped with knees that bend backwards, rotate the biped calves or thighs of both legs 180 degrees about their local X-axis (along the length of the limb). When you exit Figure mode, the biped walks, runs, and jumps with reversed knees. Biped | 4823 ■ When working with a mesh in a symmetrical pose, pose one side of the skeleton, and use controls on the Copy/Paste rollout on page 5071 to paste the posture to the opposite side of the biped. When you are satisfied with your pose, check the alignment in all viewports to make sure that the skeleton is positioned correctly in the mesh. Once you have successfully positioned a skeleton inside your character mesh, you are ready to attach the mesh with Physique. For more on this workflow, see Understanding Physique on page 4807. 4824 | Chapter 15 Character Animation Creating a Biped A biped model is a two-legged figure: human or animal or imaginary. Each biped is an armature designed for animation, created as a linked hierarchy. The biped skeleton has special properties that make it instantly ready to animate. Like humans, bipeds are especially designed to walk upright, although you can use bipeds to create multi-legged creatures. The joints of the biped skeleton are limited to match those of the human body. The biped skeleton is also specially designed to animate with character studio footsteps, which help solve the common animation problem of locking the feet to the ground. The parent object of the biped hierarchy is the biped’s center of mass object, which is named Bip01 by default. Creating a Biped A button for creating a Biped appears in the Create panel under Systems. You create a biped by clicking this button and then dragging in the active viewport. You define the height of the biped interactively as you move the cursor. During biped creation, you can change any of the default settings that are used to define its basic structure. The default settings, for Arms, Neck Links, Spine Links, and so on, are for a human figure. If you turn on Most Recent .fig File, the biped you make will use the parameters stored in the last FIG (figure) file you’ve loaded. Biped | 4825 Changing Biped Parameters Like other 3ds Max objects, you can change biped parameters on the Create panel at creation time. However, to modify or animate a biped, you use parameters on the Motion panel. For more information on changing biped parameters, see Structure Rollout on page 5108. Procedures To create a biped on a surface: 1 On the Create panel, click Type rollout, click Biped. (Systems), then on the Object 2 Turn on AutoGrid. 3 Move your cursor over any geometry in the viewport. A Transform gizmo moves with your cursor to indicate the location of the AutoGrid. 4 Drag out a biped. The biped feet will be in contact with the geometry. Understanding Biped Anatomy The geometry of a biped is a linked hierarchy of objects that by default resemble those of a human. The parent or root object of the biped is its center of mass (COM) on page 9115. This object is displayed as a blue octahedron near the center of the biped's pelvis. Moving the COM positions the entire biped. 4826 | Chapter 15 Character Animation Center of mass object You can select the center of mass by choosing Bip01 with the Select From Scene dialog on page 184. You can also select the center of mass by clicking Body Horizontal, Body Vertical or Body Rotation on the Track Selection rollout on page 5029. Changing the Biped Hierarchy The biped hierarchy is a little different from a standard 3ds Max hierarchy in that you can’t delete any of the components of the skeleton. If you try to delete any part of the biped skeleton, you delete the entire hierarchy. If you want to create a partial biped, for example a biped with no head, simply hide the objects you don’t want to use. Repositioning Biped Body Parts You can reposition certain biped body parts in Figure mode to suit different characters. You can move entire arm assemblies by selecting the clavicles and moving them up or down. You can also reposition the fingers, tail and ponytails as you like. See Posing the Biped on page 4830. Biped | 4827 Biped's structure also includes an option to add twist to any and all limbs. This feature uses a variable number of links to transfer twisting animation into the biped's associated mesh via Physique or Skin. Props The biped structure includes an option to add up to three props. Props appear next to the biped’s hands and body by default, but can be modified or animated throughout the scene like any 3ds Max object. Adding Extra Biped Body Parts To add extra legs, arms, or other body parts you need to create 3ds Max geometry for those parts, then link them to the biped hierarchy. You can use Snapshot to duplicate biped body parts to create these as well. In either case you will need to animate them with standard 3ds Max rotations, because biped IK will not be available on these extra parts. Changing Initial Biped Anatomy Use the body parameters to change initial biped anatomy. The Body parameters are in the Create Biped rollout that appears in the Create panel when you create a biped. NOTE You can change body parameters in the Create panel immediately only after creating a biped. Once you leave the Create panel, these settings are still available, but from the Structure rollout in the Motion panel. The body parameters in the Structure rollout are enabled when the biped is selected and Figure mode is active. See also: ■ Creating a Biped on page 4825 ■ Structure Rollout on page 5108 Naming the Biped If your scene is going to contain more than one biped, it's a good idea to give the biped a unique name. By default, the first biped in a scene is called Bip01. Succeeding bipeds have the same name except that the two-digit number is replaced by another number in sequence: 02, 03, 04, and so on. 4828 | Chapter 15 Character Animation Since the parent of the biped hierarchy is the biped’s center of mass object, that is also the object selected when you choose Bip01. You can link the biped center of mass to other objects or dummies for additional animation control. For more information on the biped’s hierarchy, see Understanding Biped Anatomy on page 4826. Procedures To change the biped name upon creation: Immediately after creating the biped and before moving to another panel, enter the new name in the Root Name field in the Create Biped rollout. The center of mass is renamed and the entire biped hierarchy inherits the new name. ■ To change the biped name after creation: 1 Select any part of the biped and go to the Motion panel. 2 In the Biped rollout, click the expander bar to display the Modes and Display groups. 3 Enter a new name in the Name field and press Enter. WARNING Do not use the usual Name And Color rollout to rename a biped. This changes only the name of the biped's root object (its center of mass) without updating the names of other biped parts in the hierarchy. To create a Named Selection for the biped center of mass: 1 Select the biped center of mass (the diamond-shaped object at the pelvis). 2 Type a name in the Named Selection Sets field on the 3ds Max toolbar. 3 Press Enter. You can now choose this selection if the biped is hidden and you want to view the biped and edit biped parameters on the Motion panel. Biped | 4829 TIP Give the center of mass selection the same name as your character in the Named Selection Sets field, "John," for example. With multiple characters, you can quickly select the character you want to edit by choosing the character's name in the Named Selection Sets dropdown. Posing the Biped After creating the default biped, you will often need to change the proportions of the skeleton to fit your model. Use Figure mode to change the biped structure in its rest pose. Activating Figure mode returns the biped to its original location and orientation. With the biped in Figure mode, you can use the transform tools to change the proportions and positions of body parts. For instance, you might apply a non-uniform scale to shorten the legs or lengthen the arms. 4830 | Chapter 15 Character Animation Biped | 4831 Biped proportioned to fit inside of Dr. X character geometry You might rotate the spine objects to create the figure for a hunchback or a dinosaur. Use the move tool to change the position of the thumb or the arms. You can even apply modifiers to the biped skeleton pieces, such as using an FFD on the biped head to adjust its shape. 4832 | Chapter 15 Character Animation FFD Modifier used to shape spine and head Once you have a default biped, you’ll need to match its proportions to the character’s geometry. It is quite typical to find the character’s geometry with the arms outstretched. The common workflow is to freeze the character and then in Figure mode, reposition the biped, so the center of mass is at the base of the torso. The spine objects, legs, and feet are scaled and rotated to fit within the confines of the mesh, then the arms and hands, neck and head. The tail and ponytail objects can be used for animating wings, fins, jaws, ears, horns, or hair. Biped | 4833 Once your biped proportions are correct, you can save them in a FIG file. Because Biped saves the character in the FIG file and animation in the BIP file, you can change the character’s proportions without affecting the animation. Changing the Biped Structure Bipeds don't have to appear human. You can change their elements and form to create other kinds of characters. Although you can change some initial aspects of the biped's structure in the Create panel, you use Figure mode to change all aspects of the biped's structure after its creation. Bipeds don’t have to be human ... 4834 | Chapter 15 Character Animation or even walk on two legs. Any number of bipeds can be in Figure mode at the same time, though you can only work on one biped at a time. When you select a biped, the Figure mode button indicates whether or not the biped is in Figure mode. In Figure mode you can: ■ Specify the number of links in each part of the biped. ■ Define the position of the base of the fingers, toes, clavicles, spine, tail, ponytails, and props relative to the body. ■ Define the position of the feet relative to the ankles. ■ Define the default pose of the biped before animation is applied to it, for example define a hunchback. ■ Scale the biped and its various parts. ■ Simultaneously scale and position biped parts using Rubber Band mode on page 9285. See Rubber-Banding Arms and Legs on page 4843. ■ Create natural links for Physique using Triangle Pelvis. ■ Use forearm links to transfer twisting animation to the biped's associated mesh. For more information on adjusting the biped’s proportions, see Scaling Links on page 4841. Biped | 4835 Working with Both Arms or Legs As you pose your biped, there are two different methods for posing both arms or legs symmetrically. The first method involves using Symmetrical on the Track Selection rollout on page 5029 to select both limbs simultaneously. With both limbs selected, you can rotate and scale the objects, and they will maintain a mirror-image relationship. You can also move the limbs, however they will not retain a symmetrical pose (with respect to the body) if you move them laterally. The second method involves posing only one side of the biped, then copying the posture to the corresponding limbs on the other side. NOTE You can scale biped limbs only in Figure mode on page 5104. See also: ■ Figure Mode on page 5104 ■ Biped Rollout on page 5010 ■ Creating a Skin on page 5296 Procedures To work in Figure mode: 1 Select the biped you want to pose, and then go to the Motion panel. The Motion panel doesn't show Biped controls unless the biped is selected. 2 On the Biped rollout, click (Figure Mode). The button turns blue to indicate a special edit mode. The biped's pose and location change to the one last specified when the biped was in Figure mode. If the biped was just created and, therefore, was never in Figure mode before, it changes to the pose and location it 4836 | Chapter 15 Character Animation had when you created it. When you turn off Figure mode, the biped returns to its animated pose and location in the scene. NOTE Biped disables all keyframe editing tools when Figure mode is active. Adjustments made in Figure mode are not animatable. To fit biped legs to the skin: 1 On the Biped rollout, turn on (Figure Mode). 2 Use the Scale Transform gizmo to scale the Z-axis of the biped’s pelvis so the biped’s leg links are centered in each leg of the skin. 3 Select the biped’s two thigh links (LLeg and RLeg) and scale the X-axis of the thigh links so they end at the knees of the skin. 4 Select the biped’s two lower leg links (LLeg1 and RLeg1), and scale the X-axis of the lower leg links so the biped’s ankles are level with the ankles of the skin. TIP When the two upper legs are selected, you can press Page Down to select the lower legs. 5 In a left or right viewport, scale the biped’s feet so their profile roughly matches the profile of the feet of the skin. 6 Scale toes or move them along their local X-axis so each toe is aligned with the corresponding toe in the skin. The ends of the final toe links should go through the tips of the skin’s toes. Biped | 4837 You might have to change the number of biped toes to match the number of skin toes. A biped must have at least one toe on each foot. If the skin has no toes or the character is wearing footgear, the position and number of biped toes doesn’t matter, but they should still extend beyond the skin. TIP During the fitting process, try Freezing the skin object to prevent accidental selection. To fit the spine to the skin torso: 1 On the Biped rollout, turn on (Figure Mode). 2 Select the lowest link of the spine (Bip01 Spine). Click (Select And Move), constrain movement to the spine link’s local X-axis, and move the spine link vertically to the waist of the skin, just below the navel. 3 Scale the other spine links in their local X-axis so they fit the upper part of the skin’s torso. The neck link should begin where the skin’s neck begins. If the torso of the skin curves, you should also rotate spine links about their local Z-axes, to align the spine with the longitudinal center of the torso. 4 Scale the biped’s neck along its local X-axis to match the length of the neck of the skin. The top of the last neck link (also the base of the head link) should be where you want the head to pivot. This is usually just below the ears, centered with the spine. Leave the head in its default position relative to the spine and neck links. 4838 | Chapter 15 Character Animation To fit both arms using copy/paste: 1 On the Biped rollout, turn on (Figure Mode). 2 Rotate one upper arm (R Arm1 or L Arm1) in its local Y-axis to center its link in the upper arm of the skin. 3 Scale the upper arm so its link ends at the elbow of the skin. 4 Scale the lower arm (R Arm2 or L Arm2) so its link ends at the wrist of the skin. If the skin’s arms are bent, rotate the lower arm to center its link as well. 5 Scale fingers, or move them along their local X-axis so each finger is aligned with the corresponding finger of the skin. The ends of the final finger links should go through the tips of the skin’s fingers. You might have to change the number of biped fingers to match the number of skin fingers. 6 When the arm is completely fitted to the skin, and on the Copy/Paste rollout, click 7 On the Copy/Paste rollout, click the opposite arm. select all of it (Copy Posture). (Paste Posture Opposite) to pose Biped | 4839 To pose both arms simultaneously: 1 On the Motion Panel ➤ Biped rollout, turn on 2 (Figure Mode). Select the biped's left or right hand. 3 On the Track Selection rollout, click (Symmetrical). The opposite hand is also selected. 4 Move, rotate, and scale the hands until you have the position and size you want. Use PAGE UP and PAGE DOWN to select different parts of the arm. NOTE If you move limbs laterally, they will both move in the same direction, and will no longer be symmetrical about the body. To create a symmetrical pose by copying one side of the biped to the other: 1 On the Motion Panel ➤ Biped rollout, turn on (Figure Mode). 2 3 Move, rotate, and scale the left arm and leg of the biped until you have the position and size you need. Select all of the bones in the left arm and leg. 4 On the Copy/Paste Rollout, create a collection, then click the Posture button and click (Copy Posture). 5 On the Copy/Paste Rollout, click 4840 | Chapter 15 Character Animation (Paste Posture Opposite). The right arm and leg assume the position and scale of their corresponding bones on the left. Scaling Links Use standard 3ds Max scale transforms to adjust a biped's posture by scaling the size of its links. You must be in Figure mode to scale the biped links. If you try to scale a biped without going into Figure mode, nothing happens. As with rotation, when you scale biped links, Biped constrains the transform to use the link's Local coordinate system. The position of other biped links can change so they remain attached to the resized link. If you shorten the thigh, the calf and ankle will maintain their size, but change their position. To scale a link, select any scale icon from the Scale flyout on the Main Toolbar. When you select a body part to scale, use the Transform gizmo to scale along one axis at a time. Biped | 4841 Use Scale and the Transform gizmo to scale links. If your character is symmetrical, select body parts in pairs and scale them at the same time. 4842 | Chapter 15 Character Animation Select one body part and then on the Track Selection rollout, click (Symmetrical). Now both are selected. You can also scale one and then on the Copy/Paste rollout, use Posture) and in your character. (Copy (Paste Posture Opposite). This approach ensures symmetry TIP Use the Page Up and Page Down keys to move through your hierarchy as you work. For example, after you scale the thighs, press Page Down to select the calves. Scaling the biped limbs to fit snugly to the mesh will help when Physique is used to associate the mesh with the biped. The Bounding Box option uses biped limb dimensions to size the envelopes. This saves time when you adjust envelopes in Physique. See also: ■ Rubber-Banding Arms and Legs on page 4843 Rubber-Banding Arms and Legs Rubber Band mode provides a way to proportion the arm and leg links simultaneously. Rubber Band mode works with the Move transform rather than the Scale transform. When you move an arm or leg with Rubber Band mode turned on, both the link and its child are scaled in a single step. Rubber-banding the upper arm rescales the upper and lower arm objects and moves the elbow link without affecting the position of the shoulder or the wrist. If you’ve spent a lot of time getting the fingers in the right place, you can reposition the elbow by rubber-banding, without affecting the hands. Biped | 4843 Using Rubber Band to resize an arm without changing the hand position 4844 | Chapter 15 Character Animation Procedures To rubber band an arm or leg link: 1 On the Motion panel ➤ Biped rollout, turn on 2 (Figure Mode). Select the arm or leg link you want to rubber band. 3 Click (Select And Move). 4 On the Biped rollout ➤ Modes group, turn on Mode). (Rubber Band NOTE This button is unavailable if you are not in Figure mode, or if a part of the biped other than the upper or lower arm or leg, or the center of mass is selected. NOTE The Modes group is hidden by default. To display it, click the expansion bar on the Biped rollout. 5 Move the selected arm or leg link. As you move the arm or leg link, the hands and feet are stationary as the knees or elbows are positioned. To adjust the biped center of mass with Rubber Band: 1 On the Motion panel ➤ Biped rollout, turn on 2 (Figure Mode). Select the biped’s center-of-mass object (the diamond-shape object at the pelvis). Biped | 4845 3 Click (Select And Move). 4 On the Biped rollout ➤ Modes group, turn on (Rubber Band Mode). This button is unavailable if you are not in Figure mode or if a part of the biped other than the upper or lower arm or leg or if the center of mass is selected. 5 Move the center of mass. While Rubber Band mode is active, the center of mass moves independently from the rest of the biped, which remains in the same position. TIP Another way to adjust the biped’s balance is to change the value of Balance Factor. Balance Factor displays on the Key Info rollout when a Body Horizontal key is current. Balance Factor can be keyframed. Biped Display Options For greater speed in displaying bipeds, or to make your viewports less cluttered while you edit your scene, Biped lets you turn off the display of some biped elements. These display controls are found in the Motion panel ➤ Biped rollout on page 5010 ➤ Display group on page 5015, rather than on the Display panel. These controls allow you to quickly turn on and off the biped bones, objects and footsteps, twist links and leg states, as well as footstep numbers and trajectories. There is also a Display Preferences dialog accessed from here that lets you control which bipeds are visible during Biped Playback. NOTE The Display group is hidden by default. To display the group, click the expansion bar on the Biped rollout. 4846 | Chapter 15 Character Animation Procedures To change biped display: 1 Go to the Motion panel. 2 On the Biped rollout ➤ Display group, click a button corresponding to the display choices you want. NOTE The Display group is hidden by default. To display the group, click the Modes And Display expansion bar on the Biped rollout. Deleting a Biped You can quickly and easily delete an entire biped from a scene. Procedures To delete a biped: 1 Select the entire biped or any part of the biped. 2 Press Del or Delete on your keyboard. Linking Character Body Parts to the Biped With the Physique component, you can use Biped to animate a deformable skin, usually a mesh object. However, some animations don't require deformation. For example, a knight clad entirely in rigid metal armor doesn't need to deform as skin does. Also, figures seen from a distance don't require the same degree of realism as figures seen close up. Biped | 4847 4848 | Chapter 15 Character Animation Jointed character linked with biped skeleton Characters available commercially often come in two varieties: jointless and jointed. Jointless characters have a seamless mesh at limb joints. Jointless characters should be attached to the biped using Physique. A jointed character has separate objects with ball joint geometry for the limbs, and lends itself to the linking technique described in this topic. Linking objects and other geometry to the biped can also be used in cases such as the following: ■ Link a weapon or a flower to the biped hand. ■ Link eyeballs or teeth to the biped head. ■ Link extra 3ds Max bones or splines to the biped to create extra envelopes when Physique is applied. Biped | 4849 ■ Link 3ds Max bones to the biped to automate mechanical assemblies when the biped is keyframed. ■ Link particle emitters to the biped hands or feet to create smoke or dust. NOTE If you've linked particle emitters or 3ds Max bones (with the IK controller) to the biped, the Animate button must be on when you reposition the biped. See also: ■ Biped Rollout on page 5010 Procedures To link a mechanical character to the biped (without Physique): With mechanical or jointed characters, you can simply link objects to the biped without using the Physique modifier. 1 Load or create a mechanical or jointed model. Body parts in this model should be separate 3ds Max objects. 2 Create a biped. 3 On the Biped rollout, turn on fit the biped to your mesh objects. (Figure Mode), then position and 4 Go through the mesh objects and use (Select And Link) to link each object to its corresponding part on the biped. All of keyframe animation applied to the biped will animate the model. TIP If you plan to use 3ds Max linking and Physique together, link the body parts to the biped after applying Physique. In this way, Physique will not create superfluous links from the biped to the mechanical body parts when it is applied. 4850 | Chapter 15 Character Animation Saving and Loading FIG Files Select a biped. ➤ Mode ➤ Select a biped. ➤ Mode ➤ Motion panel ➤ Biped rollout ➤ Figure Load File Motion panel ➤ Biped rollout ➤ Figure Save File Figure files save all information about a biped's anatomy: links, link positions, twist links, and Figure mode posture, and the scale of geometric elements. Figure (FIG) files have a .fig file name extension. Figure files do not contain the actual biped skeleton, or any animation. They are used strictly for setting or saving a biped's pose in Figure mode. Figure files are useful for quickly setting poses for similar or identical characters. Clicking Load File brings the Open dialog, from which you can pick a FIG file and choose from the following twist poses on page 5039 options: ■ Load Twist Poses: Loads both the twist links on page 5108 and twist poses data. (Default=on). ■ Don't Load Twist Poses: Loads only the twist links data. NOTE The pose presets are always available. ■ Load Twist Poses Only: Loads only the twist poses data without the twist links. NOTE The Twist and Bias values are not used without twist links. Refer to the Twist Poses rollout on page 5039 for details. Biped | 4851 See also: Figure Mode on page 5104 ■ Procedures To save a biped's figure information to a file: 1 Select the biped to save. 2 On the Motion panel, turn on 3 On the Motion panel ➤ Biped rollout, click (Figure Mode). (Save File). 4 In the file dialog, enter a name for the figure file, and then click OK. TIP While you work on creating a biped pose, save your work frequently in a figure file. To load a biped figure: 1 2 On the Select the biped to replace with a saved figure. Motion panel, turn on 3 On the Motion panel ➤ Biped rollout, click 4 In the file dialog, choose the figure file to load. 4852 | Chapter 15 Character Animation (Figure Mode). (Load File). 5 Choose one of the three loading options, depending on whether or not you want to load twist poses, or to load twist poses only. 6 Click OK. WARNING Loading a figure file replaces the selected biped's pose and base parameters. If you have created a new pose or a new biped structure, save it in a figure file before you load a different biped figure. Footstep Animation Footstep animation is a central compositional tool in Biped. Footsteps are biped sub-objects, similar to gizmos on page 9177 in 3ds Max. In viewports, footsteps look like the diagrams often used to illustrate ballroom dancing. Each footstep's position and orientation in the scene controls where the biped steps. Biped | 4853 Footsteps The language of footsteps allows you to more directly describe and compose the complex time and space relationships that are found in different forms of locomotion. While the placement of footsteps appears in viewports, the timing appears in Track View - Dope Sheet Editor. There, each footstep appears as a block of time, with each block representing the time when the foot is planted in a footstep. 4854 | Chapter 15 Character Animation Footstep keys in Track View Footsteps are appropriate for animation where the biped is on the ground or uses the ground a great deal, such as walking, standing, jumping, running, dancing, and athletic motion. For movement that does not require the biped to interact with the ground, such as swimming or flying, freeform animation on page 4910 is more appropriate. Footsteps are used to lock the foot to the ground. You can create the same result in freeform animation by simply creating planted keys on page 5052 for the feet. Workflow In general, you compose a footstep pattern with these actions: 1 Select the biped and go to the 2 Click Biped rollout ➤ Motion panel. (Footstep Mode). 3 In the Footstep Creation rollout, click (Walk), (Run), or (Jump) to choose the gait (a method or pattern of moving on foot). The gait sets the initial timing for footsteps you create. When you first create them, footsteps are inactive. They exist in the scene but don't yet control the biped's motion. Biped | 4855 4 Create the footstep pattern in viewports. You can create footsteps in a few different ways, each available in the Footstep Creation rollout: ■ Automatically create a number of footsteps with Footsteps), or ■ Individually place each footstep with (Create Multiple (Create Footsteps (Append)) or (Create Footsteps (At Current Frame)). Use Auto Grid to create footsteps on a surface of a mesh. 5 Edit footstep placement by moving or rotating footstep icons in viewports. 6 Edit footstep timing in the Track View - Dope Sheet mode. 7 Activate the footsteps to create keys for the biped. The biped will now move through the footsteps using the placement and timing you set up. 8 Play the motion to test it out, looking only at the leg and foot motion and disregarding the upper body for now. If the footstep motion isn't right, deactivate the footsteps, make changes to footstep placement or timing, reactivate the footsteps and play it again. Do this until the foot and leg motions are correct. When footsteps are activated, keys are created for each of the tracks of the figure: the head, spine, pelvis, arms, legs, and, if appropriate, tail and ponytails. These keys form an initial sketch of your animation. The default keys, when interpolated on page 9196, form the basic, minimal motion required to animate the figure according to the footstep pattern. Most likely you will want to adjust or replace these keys. 9 Edit the animation of the upper body using ordinary 3ds Max animation methods: Turn on Auto Key and move or rotate the biped parts. You can also use the character studio Set Key tools on the Key Info rollout on page 5049. 10 Play the animation again and make any corrections to the upper body motion. Footstep Method In the viewports, footsteps represent support periods in space for the biped feet. You can move and rotate footsteps in viewports. In Track View, each footstep appears as a block that represents a support period in time for each 4856 | Chapter 15 Character Animation of the biped's feet. You can move footsteps in time in Track View. The footstep position and orientation in the viewport controls where the biped will step. There are three ways to create footsteps for the biped: ■ Place footsteps individually. ■ Use the footstep tools to automatically create a walking, running or jumping animation. ■ Import motion-capture data to footsteps. A key advantage of the footstep method is the natural adaptation of the biped that occurs when the footsteps are edited in time and space. Editing footsteps in the viewports allows you to reposition all of the footsteps to move the entire animation. In Footstep mode, stride, length, width, and direction can be changed quickly for an entire animation and the biped automatically adapts. Using the Footsteps Show/Hide button on the Display rollout, all footsteps can become visible. Move the footsteps in the viewports to position them for proper ground collision with the terrain object. For example, if the biped toes are rotated for the Lift key at the last frame of a footstep (to create more toe curl as the character walks) the leg automatically repositions itself to maintain foot contact with the ground (footstep). These adaptations speed up the process of creating and editing animation for the biped. If necessary, the animator can prevent biped adaptation by using the Adapt Locks parameters on page 9083 on the Dynamics & Adaptation rollout on page 5101. Foot States Within a footstep animation, there can be four foot states on page 9167: move, touch, plant, and lift. These correspond to the state of the biped feet in relationship to the footsteps. Use the foot state displays in the Biped rollout to determine the state of the biped feet when you are editing the biped foot or leg keys. The foot states can be displayed in the viewport by turning on Leg states in the Display group of the expanded Biped rollout. The Foot states are represented as colored keys in Track View - Dope Sheet. Footstep Mode When Footstep mode is active, footstep creation controls appear in the Motion panel. Biped | 4857 Footstep controls in Motion panel 4858 | Chapter 15 Character Animation Footsteps displayed in Track View - Dope sheet editor Using the default keyframes as a starting point, you can interactively insert, replace, or delete keyframes in order to refine the motion of the biped and fill in the details of movement that are unique to your animation. NOTE By default, when Biped Dynamics on page 9106 is turned on in the Dynamics and Adaptation rollout, gravity (Dynamics Blend) and ballistic tension calculate the trajectory of the center of mass for all newly created keys in a footstep animation containing a running or jumping motion. If Spline Dynamics on page 9315 is turned on in the Dynamics and Adaptation rollout before footsteps are created and activated, the center of mass uses spline dynamics to calculate vertical motion, which does not take gravity into consideration. Using spline dynamics, you must set keys for the top of a jumping motion or the dip when the character lands; this trajectory is automatically calculated with biped dynamics. Footstep Editing At any point in the design process, you can choose to interactively edit your footstep's spatial pattern in the scene or the timing of footsteps in Track View. The keyframes adapt to each edit: changes to footstep location retain the details of all your keyframe positions. Keyframe timing remains synchronized Biped | 4859 with changes to footstep timing, except in cases where default leg keys must be regenerated to account for timing edits that alter the basic gait pattern, such as creating a hop in the middle of a walk. Use Footstep mode to create and edit footsteps. Use Keyframe mode (Footstep mode off ) to create and edit your character's keys. You can always edit the timing of both footsteps and keyframes in Track View. While the biped's feet are airborne, you can animate its legs as you do its upper body. Biped does not create keys based on physics while the biped is off the ground, so animating the legs might be necessary to make long leaps realistic. Alternatively, you might want to make the biped appear to be floating in midair, or underwater, or have it ride a bicycle. See Freeform Editing Between Footsteps on page 4904. You can make the biped interact with other objects in the scene: throwing or kicking a ball, opening a door, and so on. You do this by attaching a biped limb to an object in the scene. An animatable IK Blend parameter lets you store the anchored position and combine inverse with forward kinematics. After you've set keys, be sure to remove the anchors. TIP You can often get good results by loading an existing biped motion and then varying it. You'll find a set of sample motion files on the program disc in the \Samples\Motions directory. NOTE On the time slider or in Track View, you can move one Biped key past another. See Moving Keys on page 5152. Creating Footsteps The topics in this section deal with the creation of footsteps for animating bipeds. Planning for Footsteps Spend a little time planning your footstep animation with pencil and paper first. This will make the task of setting up footsteps much easier. Answering the questions below can help orient your planning. 4860 | Chapter 15 Character Animation Planning for Footstep Placement ■ How are the footsteps going to be positioned in viewports? Draw a sketch of their positions. ■ What is the sequence of the footsteps? This will determine the footstep numbers. Footsteps always begin with the number 0. Number them in your diagram if you can. ■ Is each footstep a left or right footstep? Planning for Footstep Timing ■ What is the support relationship between left and right footsteps? In other words, does the timing of the footsteps resemble a walk, run or jump pattern? A character doing a foxtrot or waltz, for example, is actually moving with “walk” timing – the character shifts weight from one foot to the other. ■ How long, in frames, should each footstep be? How long are the biped's airborne periods? ■ Are there any periods of time where the biped is standing on two feet for a while? Biped | 4861 Choosing a Gait A gait is a method or pattern of moving on foot. When you create new footsteps, the timing is determined by the gait you have chosen (Walk, Run, or Jump) and the parameters for that gait. You must choose the gait before parameters can be set. Choose the gait that most closely approximates the type of movement you want to create. You can alter or adjust the gait after footsteps have been created. Walk Gait In a walk, at least one foot is always in contact with the ground. A period where one or both feet are in contact with the ground is called a support period. If both feet are on the ground, this is known as a double support period. Turn on Walk before creating footsteps to create this type of gait. The gait parameters of a walk are: Walk Footstep The number of frames that each footstep remains on the ground. Double Support The number of frames in a double support period, that is, when both feet are on the ground. Run Gait With running, both feet are never on the ground at the same time. Either one foot is on the ground during the support period, or the body is airborne. While it is airborne, the body moves forward horizontally at a constant speed. In general, the longer the body is in the air, the higher it must fly after lifting off from the supporting foot to stay airborne for the specified period of time. Turn on Run before creating footsteps to create this type of gait. The gait parameters of a run are: Run Footstep The number of frames that each footstep remains on the ground. Airborne The number of frames that the biped is airborne, that is, when neither foot is on the ground. 4862 | Chapter 15 Character Animation Jump Gait Jumping is a special case of running. Both feet are in contact with the ground at the same time, or airborne at the same time. As with running, forward motion is horizontal and constant, but vertical motion depends on the length of the jump. Turn on Jump before creating footsteps to create this type of gait. The gait parameters of a jump are: Feet Down The number of frames in which both feet are on the ground. Airborne The number of frames that the biped is airborne, that is, when neither foot is on the ground. Changing these values changes the biped's jump behavior. Setting Gait Parameters Gait parameters can be found in two areas: ■ If creating footsteps automatically with Create Multiple Footsteps, the gait parameters appear on the Create Multiple Footsteps dialog on page 5128. ■ If creating footsteps manually with Create Footsteps (append) or Create Footsteps (at current frame), the gait parameters on the Footstep Creation rollout on page 5120 are used. Changing these values changes the timing for any footsteps placed after the values are set. Changing the Gait After Creating Footsteps After creating the footsteps, you can change the gait by editing footstep timing in Track View's Dope Sheet mode. See Editing Footstep Timing on page 4876. Gait parameters are only one way to define the timing and nature of the biped's gait. For a more complete description of gaits and other parameters that alter the nature of the biped's motion, see Adjusting Vertical Motion on page 4894. Biped | 4863 Creating Footsteps Automatically Automatic footstep creation is the easiest way to create a walk or run cycle. You can use this method to make the biped climb or descend a flight of stairs, hop repeatedly, and do a variety of motions. Automatic footstep creation places the footsteps for you, generating perfectly timed and spaced footsteps. See also: ■ Creating Footsteps Manually on page 4865 ■ Adjusting Vertical Motion on page 4894 Procedures To create footsteps automatically: 1 Select any part of the biped. 2 On the Motion panel ➤ Biped rollout, click (Footstep Mode). You are now in Footstep mode, where you can create, activate, or edit footsteps. 3 In the Footstep Creation rollout, choose the gait you want to use for the footsteps: (Walk), (Run), or (Jump). The selected gait determines the timing pattern of the automatically placed footsteps. 4 On the Footstep Creation rollout, click (Create Multiple Footsteps). The Create Multiple Footsteps dialog on page 5128 appears. This dialog determines various aspects of the footstep sequence, such as how far each footstep will be placed from the previous footstep. 5 Set the multiple footstep parameters, and then click OK. This places footstep icons in the scene. To make the biped move through the footsteps, you must create keys for the footsteps. 4864 | Chapter 15 Character Animation 6 On the Footstep Operations rollout, click Footsteps). (Create Keys For Inactive Keys have now been created for the footsteps. 7 Click (Play Animation) to see the animation. Creating Footsteps Manually Creating footsteps manually is useful for complicated footwork, such as dancing. Manual footstep creation allows you to place each new footstep carefully where you want it. Multiple footsteps can also be generated automatically. To quickly generate a simple walking, running, or jumping footstep patterns, see Creating Footsteps Automatically on page 4864. There are two ways to create footsteps manually: ■ You can start creating footsteps at the current frame with Create Footsteps (At Current Frame) in the Footstep Creation rollout on page 5120. Any footsteps added subsequently will extend in time from the first footstep. If you attempt to create a footstep at the same time as an existing footstep on the same side, an alert appears and you are not allowed to create the footstep. ■ You can also append footsteps onto the end of the existing footsteps with Create Footsteps (Append) in the Footstep Creation rollout on page 5120. Then Biped computes the frame at which the first footstep should be created based on the chosen gait and the existing footsteps. This option is disabled if there are no existing footsteps. As with all footsteps, any footsteps you create with these methods are inactive upon creation. You must activate them with Create Keys for Inactive Footsteps in order to make the biped move through them. Biped | 4865 Preparing to Create Footsteps Manually Before placing footsteps, you must choose the gait, then set parameters for the gait in the Footstep Creation rollout on page 5120. Footstep creation and gait buttons When you select the Walk, Run, or Jump gait, parameters for that gait appear on the Footstep Creation rollout. See Choosing a Gait on page 4862 for information on gaits and parameters. Switching Between Left and Right Footsteps By default, manually placed footsteps alternate left, right, left, right. The footstep cursor, which appears during individual footstep creation, shows you whether a left or right footstep will be placed next. If you want to change the footstep side that will be placed when you next click, press Q to toggle between them. Pressing Q also changes the cursor, showing you which footstep side will be placed next. Automatic Time Extension During manual footstep creation, your display remains at the current frame. However, footsteps are created sequentially in time. If the footsteps you create require more frames than are in the active time segment, the footstep creation process extends the active time segment, which can create new frames. Creating New Footsteps Between Existing Footsteps If inactive footsteps exist, you can only create new, inactive footsteps within or directly before or after the time of the inactive footsteps. If you need to add more footsteps near a time where there are only active footsteps, deactivate all footsteps first, then add footsteps and activate them again. See Deactivating Footsteps on page 4870. 4866 | Chapter 15 Character Animation See also: ■ Choosing a Gait on page 4862 ■ Creating Footsteps Automatically on page 4864 ■ Editing Footstep Placement on page 4875 Procedures To prepare for manual footstep creation: 1 On the Mode). Motion panel ➤ Biped rollout, click (Footstep You are now in Footstep mode, and can create, activate, or edit footsteps. 2 In the Footstep Creation rollout, choose the gait you want to use: Walk, Run, or Jump. See Choosing a Gait on page 4862 for details on gaits and their parameters. 3 In the Footstep Creation rollout, set parameters for the chosen gait. To create footsteps beginning at the current frame: 1 Turn on 2 Click (Footstep Mode). (Create Footsteps (At Current Frame)). 3 Click in a viewport to create a footstep. Move the cursor and click again to create another footstep. Repeat until you have created all the footsteps required. TIP Use the Top viewport to create the footsteps. Watch the footstep cursor to see whether a left or right footstep will be placed next. If you want to place two left or two right footsteps sequentially, place one footstep, then press Q once before placing the next one. Biped | 4867 4 Move and desired pattern. 5 Click 6 Click rotate footsteps until you have achieved the (Create Keys For Inactive Footsteps). (Play Animation) to see the animation. To append footsteps onto the existing footsteps: 1 Make sure (Footstep Mode) is turned on. 2 If the existing footsteps are active, deactivate them first. all footsteps and click 3 Click Select (Deactivate Footsteps). (Create Footsteps (Append)). 4 Click in a viewport to create a footstep. Move the cursor and continue clicking to create more footsteps TIP A Top viewport is usually best when you create footsteps individually. 5 Move and desired pattern. 6 Click 7 Click rotate footsteps until you have achieved the (Create Keys For Inactive Footsteps). (Play Animation) to see the animation. 4868 | Chapter 15 Character Animation To create footsteps using AutoGrid: The AutoGrid feature creates objects on a surface other than the default construction plane. You can use this feature to place footsteps on an irregular surface. 1 Using any 3ds Max modeling method, create a surface as the terrain for the biped to step on. 2 On the Create panel, click Type rollout, click Biped. (Systems), then on the Object 3 On the Object Type rollout, turn on AutoGrid. 4 Go to the Motion panel. 5 On the Biped rollout, turn on (Footstep Mode). 6 Click (Create Footsteps (At Current Frame)). Move the cursor over the terrain. A transform gizmo moves with your cursor to indicate the location and orientation of the gizmo. Click to place a footstep, then move the cursor and click again to place more footsteps. 7 When you have finished placing footsteps, click Inactive Footsteps). (Create Keys For Keys have now been created for the footsteps. 8 Click (Play Animation) to see the animation. The biped steps on the terrain, following the footsteps. Activating Footsteps When footsteps are created, they are inactive. To make the biped move through the footsteps, you must activate them by clicking Create Keys for Inactive Footsteps on the Footstep Operations rollout on page 5124. Biped | 4869 When you activate footsteps, keys are created for the biped's legs and feet, causing the biped to step through the footsteps. In addition, keys are created for the spine, arms, hips, and tail (if the biped has one) to make the biped move naturally through the footsteps. Keys are not created for the head, ponytails or props. When keys are created for footsteps, a generic type of motion is generated for the biped's body based on footstep placement and timing. This movement is intended as a starting point for your own animation, not as a final setup. There are times when it is appropriate to deactivate footsteps, make changes, and activate footsteps again. See Deactivating Footsteps on page 4870. See also: ■ Creating Footsteps Automatically on page 4864 ■ Creating Footsteps Manually on page 4865 Procedures To activate footsteps: 1 While in Footstep mode, create footsteps using the automatic or manual method. 2 Move, rotate, delete and edit footsteps as desired. 3 On the Footstep Operations rollout, click Footsteps). 4 Click (Create Keys For Inactive (Play Animation) to see the animation. Deactivating Footsteps When you change the position or timing of active footsteps, the biped's animation changes accordingly, causing the biped to step into the footsteps in their new positions with the new timing. 4870 | Chapter 15 Character Animation Deactivating footsteps temporarily suspends changes to animation when footsteps are changed. When you move deactivated footsteps or change their timing, the biped still continues to do the same motion it did before footsteps were deactivated. Footsteps should be deactivated when you make substantial changes to footstep timing or placement. Footsteps are deactivated by selecting footsteps and clicking Footsteps) on the Footstep Operations rollout on page 5124. (Deactivate After making changes to the footsteps, click (Create Keys For Inactive Footsteps) in the Footstep Operations rollout on page 5124. This will recreate keys for the biped and cause it to follow the footsteps. Active footsteps are pale in color, while inactive footsteps are brightly colored. This coloring appears both on footstep icons in viewports and on footstep keys in the Dope Sheet. NOTE Deactivating and reactivating footsteps causes all biped keys to be replaced with default animation keys for the current footstep pattern and timing. When to Deactivate Footsteps There are many situations where you will want or need to deactivate footsteps after activating them. ■ When you move or rotate active footsteps substantially, you might find that the original keys generated are no longer appropriate for your animation. If this happens, deactivate footsteps, move the footsteps into the correct locations, and activate footsteps again. ■ When changing footstep timing in the Curve Editor's Dope Sheet mode, you might receive an error message stating that what you are trying to do violates one of the rules of biped key placement. If this occurs, deactivate footsteps, make timing changes in the Dope Sheet, then activate footsteps again ■ If you have a large number of active footsteps in the scene, moving footsteps and making timing changes can cause delays as all keys are adapted and updated. You might find your work is faster if you deactivate footsteps while making your changes. Biped | 4871 ■ If you have activated footsteps then changed the default animation, then find you want to return to the default animation, you can deactivate footsteps and activate them again to recreate the default animation. Activation/Deactivation Workflow The fastest workflow with footsteps is to deactivate footsteps and make changes, reactivate footsteps and play the animation to check your work, and repeat this process until the footstep timing and placement are correct. However, deactivating and reactivating footsteps replaces any biped keys with the default animation for the current footstep pattern and timing. For this reason, it is recommended that you work with footsteps exclusively first, ignoring the upper body animation, and deactivate and reactivate footsteps as needed. When the motion of the feet is perfect or near-perfect, only then should you adjust the biped animation manually. Otherwise, you will lose all your manual animation work every time you deactivate and reactivate footsteps. TIP Alternatively, you can use layers on page 5087 to store any upper body animations you want to preserve while you proceed with changes in your biped's footsteps. Rules for Inactive Footsteps When you click deactivate footsteps, only selected footsteps are deactivated. If you haven't made any changes to the default animation, it is recommended that you deactivate all footsteps. However, if you've changed or added animation keys to part of the animation, you might want to deactivate only a portion of the footsteps. When some but not all footsteps are currently deactivated, limitations are imposed on the changes you can make to footsteps: ■ You cannot set, delete, move, or edit keys in any way; footstep tracks are disabled in the Dope Sheet. ■ You can create footsteps only when the new footsteps are among and adjacent to existing inactive footsteps. ■ You can delete only inactive footsteps, and at least one inactive footstep must remain. ■ You cannot deactivate a set of nonsequential footsteps. 4872 | Chapter 15 Character Animation See also: Activating Footsteps on page 4869 ■ Procedures To deactivate footsteps: 1 Select the footsteps to deactivate. The footsteps you select must be in sequence; you cannot deactivate a nonsequential set of footsteps. 2 On the Footstep Operations rollout, click Footsteps). (Deactivate Selected The footsteps are deactivated. Viewports and the Dope Sheet display them in bright colors again. Understanding Footstep and Body Keys When you activate footsteps, keys are created for biped body parts. Before you work with footstep placement and timing, it's essential that you understand the default keys generated and how they relate to footstep editing. Leg States A leg moving through a footstep has four states, beginning with the foot on the ground. Then the foot lifts, moves through the air, and returns to the ground again. These leg states are labeled by character studio to help you work with footsteps and leg/foot keys more easily when editing footsteps. These states are referred to in these topics to aid in understanding more advanced footstep concepts, so it's important that you become familiar with them. ■ Touch occurs at the leg keyframe where the foot first touches the footstep, and always corresponds with the start frame of a footstep in Track View. The Touch state is always one frame long. Biped | 4873 ■ Plant occurs after touching, and before lifting. It is always in between the start and end frames of a footstep in Track View. The Plant state is usually more than one frame long. ■ Lift occurs at the keyframe where the foot lifts off the ground, and always corresponds with the end frame of a footstep in Track View. The Lift state is always one frame long. ■ Move occurs while the foot is in the air, and is always in the intervals between footsteps in Track View. In walking, while one foot moves, the body is supported by the other leg. In running or jumping, there are periods where the body is not supported and moves in midair. For more information on these keys, see Editing Footstep Timing on page 4876. You can display the current state of each leg by turning on Leg States in Biped rollout ➤ Display group. The state name appears in viewports near the foot, corresponding to the state at the current frame. NOTE State names appear only on footsteps that have been previously activated. If active footsteps have been deactivated and edited, the state names that appear will correspond to states the legs were in before deactivation. For this reason, leg states displayed between deactivation and reactivation might not be accurate. Regardless of the footstep pattern, activating footsteps will always cause leg keys to be generated at each lift and touch frame. Although you can alter these keys to some degree by going to a touch or lift keyframe, turning on Auto Key and changing the leg positions or rotations, you cannot delete these keys. To change the foot/leg animation after footsteps are activated, seeAnimating Legs and Feet on page 4885 and Adjusting Body Keys in Track View on page 4887. Body Keys When foosteps are activated, keys are also generated for the center of mass (COM) object, the blue tetrahedron at the center of the biped's pelvis. The position and rotation of the COM determines the horizontal and vertical position of the biped body, as well as its rotation. Unlike other biped parts or 3ds Max objects, the COM has three separate animation tracks, two for motion and one for rotation. You select these tracks by clicking the appropriate button on the Track Selection rollout on page 5029: ■ Body Horizontal 4874 | Chapter 15 Character Animation ■ ■ Body Vertical Body Rotation (displays keys for the Body Turning track) Keys for these tracks are generated automatically when you activate footsteps. You can view the keys for each track on the Track Bar by turning off Footstep Mode and clicking the corresponding button listed above. These tracks are also visible in Track View's Dope Sheet mode. NOTE When you select the COM, only the keys corresponding to the selected track are displayed. If you select the COM and do not select a track, no keys are displayed on the Track Bar, even if the COM is animated. You can find out which COM track is selected by checking the status of the buttons displayed above. When a button is turned on, the track is selected. You can animate the COM or change existing keys after footsteps are activated. To change COM keys after footsteps are activated, seeAnimating the Upper Body on page 4886 and Adjusting Body Keys in Track View on page 4887. Editing Footstep Motion The topics in this section deal with the editing of footstep motion when animating bipeds. Editing Footstep Placement After you've created footsteps, there are several ways to edit their placement in the scene. ■ You can use standard 3ds Max controls to select, move, rotate, or delete footsteps. NOTE The 3ds Max scale transform will not scale the footstep icons themselves; the size of the icons is set by the size of the biped's feet. The biped foot size is originally set by the biped's height, then later by any scaling you perform on the feet in Figure Mode. See Posing the Biped on page 4830. Biped | 4875 ■ You can use the Bend and Scale controls in the Footstep Operations Rollout on page 5124 to edit the footsteps. The Bend value curves a selection of footsteps, while Scale changes the distance between selected footsteps. Selecting Footsteps To change footstep placement, you must first select the footsteps to change. When (Footstep Mode) is turned on, footsteps can be selected with the same methods used to select 3ds Max objects: ■ Click footstep icons while holding down the Ctrl key. ■ Click and drag to draw a bounding box around footsteps you want to select. ■ Unselect footsteps by holding down the Alt key and clicking footsteps. You can also select footsteps in Track View's Dope Sheet mode. See Editing Footstep Timing on page 4876. Biped Key Adaptation When you move, rotate, delete, bend, or scale active footsteps, character studio automatically alters biped keys to account for changes in balance and motion. This change is called adaptation on page 9084. For information on how adaptation occurs, see Editing Active Footsteps on page 4881. Editing Footstep Timing You can edit footstep timing in Track View. Footstep keys have their own display in Track View's Dope Sheet mode. Footstep keys are displayed as blocks of color, each indicating a period of time when one of the biped's feet is in a footstep. 4876 | Chapter 15 Character Animation Footsteps in Track View The footstep key colors match the colors of footstep icons in viewports. Just as with footstep icons, inactive footsteps are brightly colored, while active footsteps are displayed with pale colors. The footstep key display relates directly to the different states on page 4873 the leg and foot can be in at any given time. The left edge of each footstep key indicates the foot is in the Touch state, while the right edge indicates the Lift state. The duration of the footstep key between Touch and Lift indicates the time the foot is in the Plant state. The space between footstep keys indicates a time when the foot is completely out of a footstep, a Move state. You can change footstep timing in Track View by: ■ Moving footstep keys to an earlier or later time. ■ Moving footstep keys to change the time relationships between footsteps. ■ Changing the lengths of footstep keys. ■ Deleting footstep keys. You must select footstep keys before you can change their timing. Selecting Footsteps for Time Editing Selecting footstep keys is the same as selecting footstep icons; when one is selected, the other is selected as well. Footstep keys can be selected in a number of ways for editing in Track View. Biped | 4877 NOTE ■ To select footsteps, you must have Footstep Mode turned on. Select footsteps in viewports as you would any 3ds Max object. Click a footstep to select it, and hold down the Ctrl key and click additional footsteps to select them. You can also draw a selection box around footsteps to select them. Selecting footsteps also selects the footsteps in Track View. A selected footstep in Track View has a white border and a dot on both the left and right edges of the footstep key. Footstep key selected in Track View ■ Click the center of a footstep key in Track View to select it. Hold down the Ctrl key and click the center of additional footstep keys to select multiple footsteps. ■ To select several footsteps at once, draw a selection box around the footstep keys in Track View. ■ You can also select one edge of a footstep key by clicking the left or right edge in Track View. A single white dot appears at the selected edge. You can change the duration of the footstep by increasing or decreasing the length of the key on the selected edge. Left edge of footstep key selected in Track View ■ To select an edge, right-click the footstep track in Track View to display the Footstep Mode dialog on page 5144. Select one or more footstep keys, and use the controls in the Footstep Edge Selection group to select an edge. 4878 | Chapter 15 Character Animation Editing Footstep Timing Editing the timing of footsteps is a simple matter of moving selected footsteps or selected edges in time. Moving an entire footstep changes the time at which it starts and ends, but not its duration. Moving a footstep edge changes the duration of the footstep. Restrictions on Footstep Time Editing The timing for both active and inactive footsteps can be changed. Editing timing for active footsteps also changes keys for the center of mass and leg keys, but not the spine, arm or tail keys. This can cause the resulting animation to look different from the way you intended. For this reason, you might prefer to deactivate footsteps before editing timing. See Deactivating Footsteps on page 4870. When editing footstep timing in Track View, the following limitations apply to both inactive and active footsteps: ■ There must be at least one frame between footstep keys for the same foot. ■ Footstep keys cannot start in negative frames. ■ Every footstep must be at least two frames long. ■ If you want to add footstep keys, use the tools on the Footstep Creation rollout. See Creating Footsteps Automatically on page 4864 and Creating Footsteps Manually on page 4865. ■ Footsteps cannot be cloned. ■ To scale time of footsteps and body keys together, you can use Scale Time on the Track View toolbar. WARNING Do not use the Re-scale Time option in the Time Configuration dialog to scale an animation that contains active footsteps. If you do so, biped keys might not adapt appropriately. Instead, use Scale Time on the Track View toolbar. If you attempt to perform an illegal footstep timing change in Track View, an error message appears and the footstep timing pattern returns to the state it was in before you made edits. Biped | 4879 See also: ■ Adjusting Body Keys in Track View on page 4887 Procedures To display footstep keys in Track View: 1 Choose Graph Editors menu ➤ Track View - Dope Sheet. 2 If necessary, expand the Objects listing to display footstep keys. To move selected footsteps in time: ■ In Track View, drag any selected footstep key to drag all selected footstep keys in time. To change the duration of a footstep: 1 In Track View, click the left or right edge of a footstep key. In addition to a white border, a small white dot appears to indicate the edge is selected. 2 Drag the selected edge to make the footstep key longer or shorter. You can adjust a selection of multiple footsteps this way. You can also adjust any combination of left edge, right edge, and center selections. Dragging in Track View adjusts any combination of edge or center selection. To change the display of numbers of footstep keys: 1 In Track View, right-click the footstep track to display the Footstep Mode Dialog on page 5144. 2 Choose the values to display from the Footstep Number Display group. To scale keys in time: 1 On the Track View toolbar, click (Scale Time). 2 In the Track View window, click and drag to indicate the beginning and end of the time period you want to scale. 4880 | Chapter 15 Character Animation 3 Move the cursor over the selection region until a scale cursor appears. Drag to the left to reduce time, or drag to the right to increase time. Editing Active Footsteps One of the most powerful features of footsteps is the ability to adapt keyframes automatically to edits you make to your footstep pattern. By analogy, the footsteps become a kind of gizmo on page 9177 for manipulating the keyframes of your character's animation. In most cases, edits you make to footsteps act upon your keys in an intuitive fashion. In order to understand what happens when active footsteps are edited, you must first understand what happens to biped keys when footsteps are activated. See Understanding Footstep and Body Keys on page 4873. Key Adaptation for Footstep Placement Edits When you move or rotate active footsteps as described in Editing Footstep Placement on page 4875, the biped's keys are immediately influenced by the edit. The following keyframe tracks are influenced in the vicinity of the edited footsteps: ■ Body Horizontal keys change to step or hop within range of new footstep locations ■ Body Vertical keys change to match possible changes in stride length, since the center of mass must move lower to step longer distances ■ Body Turning (Body Rotation) keys change to bank into turns created by changes in path curvature or body speed ■ Right or left leg keys in a Move state (when the leg is not in a footstep) are adapted to step between new locations Other keys are preserved in the adaptation process. For example, if you animate the body to kneel while turned to the right, altering a nearby footstep will maintain the biped's height and turning motion as much as possible. Key Adaptation for Footstep Timing Edits To edit active footsteps in time, follow the methods described in Editing Footstep Timing on page 4876. Keyframes affected by the edit are updated immediately. Biped | 4881 A fundamental factor in how your keyframes are adapted is whether the sequence of leg support transitions has changed. Changing the relationship between opposite leg keys effectively changes the gait, which causes entirely new keyframes to be generated at that point. ■ If you move footstep keys in such a way that you remove an overlap or create a new overlap between opposite legs, you have changed the gait, and new keys will be generated for legs. ■ If you do not change the overlap relationship between opposite legs, existing legs keys are retained. WARNING Editing a jumping sequence so that the feet hit or leave the ground slightly out of phase rather than at the same time introduces a change in the leg support sequence. Hence, even in this case, the leg keys will be locally replaced with default keys. NOTE If you scale the biped's feet in Figure mode after activating footsteps, then turn off Figure mode, character studio will recalculate the footstep display size and the footstep dynamics automatically. Locking Keys You can lock specified tracks to prevent them from adapting automatically when you move active footsteps. The controls in the Footstep Adapt Locks group on the Dynamics & Adaptation rollout on page 5101 lock specified tracks. Procedures To prevent keys from changing when active footsteps are edited: 1 In the Motion panel ➤ Dynamics & Adaptation rollout ➤ Footstep Adapt Locks group, select the types of keys you want to lock. 2 Move, rotate, scale, or bend active footsteps. The tracks you lock are unaffected by footstep editing. 4882 | Chapter 15 Character Animation Splicing Footsteps You can copy the motion of a biped footstep sequence, and paste it either at the end or into the middle of another footstep sequence. This technique is called splicing on page 9314. You can use splicing to build an extended, or cyclic, motion sequence out of shorter sequences. You can also copy footsteps from one biped and paste them onto another biped with this technique. Splicing footsteps makes use of a footstep buffer to store footstep positions and keys. The buffer is a temporary area in memory where footsteps are stored. TIP Use motion splicing when you want to edit segments of a single footstep-based animation. To build longer animations by connecting finished BIP files, use Motion Flow on page 5194 or the Motion Mixer on page 4038. See also: Footstep Operations Rollout on page 5124 ■ Procedures To copy footsteps to the buffer: 1 Turn on 2 (Footstep Mode). Select a series of footsteps. 3 On the Footsteps Operations rollout, click (Copy Footsteps). To edit the footstep buffer: You can edit the footstep buffer only when footsteps have been copied to the buffer, as described in the previous procedure. 1 On the Biped rollout ➤ Modes group, click (Buffer Mode). This button is active only when there are footsteps in the buffer. The viewports now display the footsteps in the footstep buffer, rather than the footsteps in the currently activated footstep sequence. Biped | 4883 2 Edit footsteps or motion keys as you normally would – by moving and rotating footsteps, or turning on Auto Key and moving and rotating parts of the biped skeleton. NOTE You can’t splice (copy and paste) footsteps while in Buffer mode. If you load a BIP file by clicking Load File on the Biped rollout while Buffer mode is active, the footstep buffer is replaced with the motion in the BIP file. 3 Click Buffer Mode to turn it off. Now you can splice the edited buffer by pasting footsteps. To splice the footstep buffer: 1 On the Footstep Operations rollout, click (Paste Footsteps). The footsteps from the buffer appear in their saturated colors. 2 Click (Select And Move) to position the first pasted footstep at the point where you want to splice. When you move the first pasted footstep over an activated footstep of the same side, right or left, the activated footstep turns red to indicate splicing is possible. This step is usually easiest to do in a Top viewport. NOTE If you deselect the pasted footsteps by clicking elsewhere in a viewport, no paste occurs and the pasting process ends. 3 When you have moved the buffer footsteps to the desired location, release the mouse. The contents of the footstep buffer are placed over the active footsteps. The first footstep in the buffer replaces the footstep that turned red, and the rest of the buffer footsteps follow. 4 The footstep that turned red and the remaining original footsteps now appear in the viewports. They will be near the activated footsteps, in their saturated colors. They can now be moved and pasted onto the end of the spliced motion, which will, in effect, perform an insert of the buffer motion. The red footstep and is following footsteps can also be pasted 4884 | Chapter 15 Character Animation anywhere in the footstep sequence. If you pasted onto the last footstep, this step does not occur. If you don’t want to append the leftover footsteps, simply click anywhere in the viewport to dismiss them. WARNING If any footstep in the buffer overlaps in time with a footstep previous to the one onto that you are pasting, a message appears and the paste will not be performed. TIP To create a cycle of a motion with alternating footsteps, you must copy and paste at least three footsteps. Animating Legs and Feet When you activate footsteps, keys are created for the legs and feet according to the footstep pattern and timing. Leg and foot keys are set at each Touch and Lift frame, and between footsteps. Although the parts of the leg (thigh, calf, foot, toes) can move and rotate separately, one key dot appears on the Track Bar and in Track View for each leg structure unless you have turned on separate tracks in the Keyframing Tools rollout on page 5063. When the foot is not in a footstep, you can move or delete keyframes, and animate or reposition any part of the leg or foot. Simply turn on Auto Key and move or rotate the leg or foot to its new position. Animating Legs and Feet in Footsteps The leg keys created at either end of each footstep are locked, meaning they cannot be moved or deleted. You can, however, change the animation at these frames, or add new keyframes within the timespan of the footstep key. When the foot is in a footstep, you can animate or reposition the leg and foot to some degree: ■ You can rotate the foot around its pivot point within the footstep. ■ You can animate the pivot point with the Select Pivot option in Key Info rollout ➤ IK bar. See Animating Pivots on page 4949. ■ You cannot move a foot out of a footstep. If you do not want the foot to be in the footstep at a particular frame, change the timespan of the footstep Biped | 4885 key so it does not include that frame. See Editing Footstep Timing on page 4876. Animating the Upper Body When you use footsteps to animate the legs and feet, animating the spine, neck, head, arms, and other upper body parts is accomplished in the same way as for freeform animation. Simply turn on Auto Key and start moving and rotating body parts. See Animating by Moving Links on page 4917 and Animating by Rotating Links on page 4920. You can also click the Set Key button on the Key Info rollout on page 5049 to set keys for selected body parts at the current frame. This option allows you to move body parts as you like, setting keys only when you have decided to do so. WARNING biped. Do not use the 3ds Max Set Key button to set keys for the Animation on the center of mass (COM) works differently, depending on whether the biped is in a footstep at that particular frame. ■ If at least one foot is in a footstep, moving or rotating the COM will animate the entire body along with the COM, except a foot that is in a footstep. A foot in a footstep will stay planted in the footstep and the leg will bend or straighten as the COM is moved up or down. ■ If the biped is airborne (no footsteps at that frame), the COM can be moved horizontally and can be rotated, but cannot be moved vertically. This is because character studio automatically calculates how high the biped can go based on the biped's height and the current gravity setting. To make the biped jump higher or lower during airborne periods, see Freeform Animation Between Footsteps on page 4904. Working with Existing Keys Because keys are created for the spine, arms, and tail when footsteps are activated, you will want to take care when creating new keyframes. As with 3ds Max animation, placing keyframes one or two frames apart creates jerking or popping motions. 4886 | Chapter 15 Character Animation To avoid placing keyframes on upper body parts too close together, you can do one of the following: ■ Turn on the 3ds Max (Key Mode Toggle), select the body part, and use Next Key and Previous Key to move in time from one keyframe to another. Animate only on existing keyframes. ■ Delete all the body part keys except the key at frame 0, and create entirely new keys throughout the animation. WARNING If you delete all keys, including the key at frame 0, be sure to set a key at frame 0 before animating on other frames. character studio does not automatically place a key at frame 0 when you animate on frames other than 0, as 3ds Max does. Interdependencies Between Legs and Upper Body When footstep animation is used, animation of the upper body and animation of the legs are interdependent. Any time you change the position of the body's center of mass, leg positions are automatically updated to ensure the feet still move from footstep to footstep. Interdependencies between the upper body and legs are updated after a key has been set, sometimes causing the appearance of a pop in the leg position. However, in playing the animation you will find the motion to be smooth. When you set a leg key while the foot is on the ground, the location of the foot is automatically recalculated based on the natural roll of the foot from its point of initial contact with the ground. The pivot points are based on collisions between the footstep plane, the two corners of the heel, and the bones that connect the toes' links. This ability to preserve interdependent relationships allows you easily to experiment and improvise with motion, since you are assured that edits to one body part will not corrupt the integrity of other parts. In general, changes to the center of mass, spine, and pelvis cause the legs to adjust. Changes to the legs do not affect the center of mass's vertical position. Adjusting Body Keys in Track View When you activate footsteps, keys are created for biped body parts. After activating footsteps, you can also create keys by turning on Auto Key and Biped | 4887 animating body parts. All these keys can be viewed in Track View – Dope Sheet mode. In general, editing biped body keys in Track View is the same as editing keys of any sort in 3ds Max, with a few restrictions. Before reading this section, please read Understanding Footstep and Body Keys on page 4873 for terms and definitions used in this section. NOTE The information in this section applies only to biped body keys for the arms, legs, spine, neck, and other parts of the upper body. For rules for editing footstep keys, see Editing Footstep Timing on page 4876. Locked Keys Some biped keys are locked, meaning they cannot be moved in time. Locked keys are colored red in Track View. Locked keys for the COM Body Vertical track are created at each footstep's lift and touch frames. These are the only keys that are locked. These keys can be moved in time by changing footstep duration in Track View. Although you cannot move or delete a locked key in Track View, you can sometimes change the animation on the frame by going to the frame, turning on Auto Key and manually animating the key. Restrictions on Biped Body Key Editing All options available for editing biped body key timing are available only when Edit Keys on the Track View toolbar is turned on. The following rules apply to the editing biped body key timing in Track View: ■ You cannot move existing keys outside the area between the first and last footsteps, or to negative frames. ■ You can use Add Keys to add keys to any biped body track. You cannot add keys outside the area between the first and last footsteps, or to negative frames. ■ You can clone keys the same way you clone 3ds Max object keys, by selecting keys and holding down Shift as you drag them. You can also clone keys by copying and pasting postures. See Copying and Pasting Postures and Poses on page 4958. ■ The Track View – Curve Editor can be used to view and edit curves showing the interpolation between body keys. You can also use the Workbench to 4888 | Chapter 15 Character Animation analyze, edit and fix biped motion curves. See Working with the Workbench on page 5162. ■ You can use Scale Keys to scale selected keys, except for locked keys. TIP If you want to animate a biped performing movements with its upper body while standing, extend the length of the standing footsteps to cover the length of the standing animation, then add keys for the upper body. See also: ■ Animating the Upper Body on page 4886 Shifting the Biped's Balance After footsteps are activated, you can adjust the biped's overall balance. There are two ways to adjust the biped’s balance: ■ In the Biped rollout on page 5010, turn on move the biped's COM, or (Rubber Band Mode) and ■ Change or animate the Balance Factor parameter in the Key Info rollout on page 5049. Rubber-Banding the COM When Rubber Band mode is active, you can move the biped's center of mass in relation to the rest of the body, changing the biped's overall balance. Rubber-banding the center of mass defines your character's balance point in at-rest pose and in any resulting motion. When a character is standing at rest, with feet side by side, the center of mass should be directly above the area where the feet touch the ground. The center of mass determines the center of your character's distribution of weight. For most characters, the physical center of mass is located near the pelvis. Typical placements for the center of mass are: ■ Characters that stand erect, such as humanoids, use the default location of the center of mass within the pelvis. Biped | 4889 ■ Characters that naturally lean forward, such as some dinosaurs and birds, should have the center of mass moved slightly forward of the pelvis. This is also good for robots and droid soldiers. ■ Characters that are holding a heavy weight out in front of them, or overweight characters, might need their center of mass moved slightly forward of the pelvis. ■ Characters that are pushing or pulling objects might need their center of mass moved slightly behind the pelvis. NOTE If you place the center of mass too far in front of the pelvis, the character unnaturally compensates for balance. As each step is taken, the legs and body move in an awkward fashion, as if there was an invisible weight attached to the front of the character. 4890 | Chapter 15 Character Animation Center of mass moved behind the biped in rubber-band mode Biped | 4891 Center of mass moved in front of the biped in rubber-band mode For a tutorial that uses this technique, see “Creating the Illusion of Weight”. Balance Factor The balance factor on page 9101 is an animatable parameter that determines how the biped's hips and spine will compensate when the biped bends forward or backward. 4892 | Chapter 15 Character Animation The balance factor determines the degree and direction in which the head and/or hips swing out from their original vertical alignments when the biped bends over. Results when balance factor is set to 0.0, 1.0 and 2.0 before the spine is animated to make the biped bend over. The Balance Factor parameter can have any value from 0 to 2: ■ When Balance Factor is 1 (the default value) and you rotate the spine forward, both the hips and head swing out from their original vertical alignment to a similar degree to compensate for the shift in weight. This value is suitable for times when the biped leans forward while standing. ■ When Balance Factor is 0 and you rotate the spine forward, the COM keeps its original vertical alignment, and the head swings forward. There is no movement in the hips to compensate for the shift in body weight. This setting is good for animating a sitting biped who leans forward, to prevent its hips from shifting backward. It can also work well for characters with tails; the tail provides weight in back of the biped, so the hips don't have to shift backward to compensate when the character bends over. ■ When Balance Factor is 2 and you rotate the spine forward, the head retains its original vertical alignment while the COM swings backward. The hips compensate strongly for the shift in body weight. This setting can be useful for violent or acrobatic motions. Biped | 4893 In order to affect the animation, the balance factor must be set before you animate the biped. The balance factor can be animated to give the biped different reactions to bending motions over the course of the animation. The Balance Factor parameter appears in the Key Info rollout ➤ Body section. Procedures To set the balance factor: 1 On the turned on. Motion panel, turn off (Footstep Mode) if it is NOTE The Key Info rollout is accessible only when Footstep Mode is turned off. 2 Expand the Body bar on the Key Info rollout. 3 Go to the frame where you want to set the Balance Factor. 4 Click (Body Horizontal) to select this track on page 9330. 5 If no Body Horizontal key exists at the frame where you want to set the Balance Factor, create one by clicking Key Info rollout ➤ (Set Key). 6 Change the Balance Factor parameter. There is no need to click Set Key again after setting the Balance Factor parameter. 7 Rotate the biped's spine. The biped's hips and/or head shift position based on the Balance Factor value. Adjusting Vertical Motion A ballistic gait is any footstep pattern in which there are periods with no feet on the ground, causing the biped to become airborne, or ballistic. Running and jumping are ballistic gaits, while walking is not. 4894 | Chapter 15 Character Animation When Biped Dynamics is turned on in the Dynamics & Adaptation rollout on page 5101 and you activate footsteps, the Body Vertical keys that are automatically generated during a ballistic gait period will take gravity and landing speed into account. The parameters described in this section affect Body Vertical keys created in this manner. Airborne Dynamics With footsteps, each airborne period always begins and ends with Body Horizontal and Body Vertical keys. These keys define the position of the biped at lift-off and touchdown. When the biped is airborne and Biped Dynamics is turned on, the vertical motion is governed by physically based dynamics. Its airborne trajectory is based on the current gravity setting, the height of the Body Vertical key at lift-off and touchdown, and the amount of time in the air. By default, there is no Body Vertical key at the peak of the biped's trajectory; the biped's peak airborne height is calculated and enforced automatically. You cannot, for example, set a Body Vertical key at the peak of an airborne trajectory and move the biped up or down. If you attempt to do so, the biped will snap back to its original airborne height. Although this will cause a Body Vertical key on page 4873to appear on the Track Bar and in Track View, the key will have no effect on the biped's airborne height. Gravity and Timing In reality, the length of time a person, animal or insect stays in the air during a jump is based on two factors: ■ How high the creature jumps, which in turn is based on how hard the creature pushes with its legs at the start of the jump. The creature's weight has no bearing on the height of the jump, except to affect its ability to give a good push at the start. A very light character might be taken by the wind and thus stay in the air longer, but that circumstance is not part of the gravitational equation. ■ The gravitational pull of the planet from which the creature jumps. From these two factors, you can calculate how long the creature will stay in the air. You can also perform this calculation backward; if you know how long the creature was in the air and the gravitational equation for the planet, you can figure out how high it jumped. Biped | 4895 Jump height increases with time in air character studio uses the latter method for calculating the height of a biped's jump. It knows from footstep timing how long the biped will be in the air, and it has a method for determining the “gravitational pull” in your scene. The default gravity setting in character studio is based on the standard equation for calculating the Earth's gravitational pull, which is an acceleration of approximately 32 feet/sec/sec. Because this equation depends on an accurate measure of distance, the biped's height is used as a guide to actual distances in the scene. For the purpose of gravitational computation, the biped is considered to be about 5'10” tall, the average height for a male human being. Of course, some of your characters will not be the same height as the average man, so airborne periods between footsteps for these characters will appear inaccurate, with the biped jumping too high or too low for your purposes. 4896 | Chapter 15 Character Animation There are two solutions to this problem. You can change the amount of time the character is airborne between footsteps (see Editing Footstep Timing on page 4876), or you can accelerate gravity with the GravAccel parameter. Accelerating Gravity The GravAccel parameter on the Dynamics & Adaptation rollout on page 5101 alters the degree of gravitational pull imposed on the biped during its airborne periods between active footsteps. The GravAccel default value is based on the standard calculation for the Earth's gravity and its effects on a man of average height. When the GravAccel parameter is increased, the effects of gravity are decreased, and the biped jumps higher. The GravAccel parameter can be set separately for each biped in the scene. Biped | 4897 GravAccel values increase height of jump. (Left=500, Middle=1000,Right=1500). You can change GravAccel at any time during the animation process to affect the biped's vertical airborne motion, both for keys already created and for animation not yet created. This value cannot be animated; the current GravAccel value is used throughout the biped's footstep sequence. Changes to the GravAccel parameter have no effect whatsoever on the amount of time the biped spends in the air. TIP If you want to change GravAccel back to its default value but don't remember what that was, you can find out by creating another biped of the same height and noting its GravAccel value. 4898 | Chapter 15 Character Animation NOTE If there is not enough gravitational acceleration or time in the air to account for differences in vertical height (such as a biped falling from footsteps on a ledge in slow motion), the biped is placed on the ground at the touchdown frame, causing a discontinuity. You can fix this by either increasing GravAccel or increasing the amount of time between footsteps in Track View. See Editing Footstep Timing on page 4876. Touch and Lift Dynamics When footsteps are activated for a footstep pattern that includes airborne periods, Body Vertical keys are set at each Touch and Lift keyframe. Based on the time in the air and the biped's height, character studio calculates the height to which the biped will jump. From this, character studio figures out how hard the biped's legs would have to push at the Lift frame to reach this height, and how much the legs would have to bend to absorb the force of the landing at the Touch frame. Body Vertical keys are set at the Lift and Touch frames accordingly. You can adjust the timing of touch and lift dynamics by: ■ Changing Body Vertical keys at the Touch and Lift frames. ■ Setting, changing or deleting Body Vertical keys during a footstep. ■ Changing the stiffness or springiness of the biped's legs at Touch and Lift frames with the Ballistic Tension parameter. Ballistic Tension Ballistic tension refers to the stiffness or springiness of the biped's landing at the end of a jump, or takeoff at the start of a jump. The Ballistic Tension parameter on page 5049 changes the biped's motion only when it is set for footsteps immediately preceding or following an airborne period. You can edit the Ballistic Tension parameter only at Body Vertical keyframes where the body touches down (a Touch key) or lifts off (a Lift key). On the Motion panel Track Selection rollout on page 5029, Body Vertical must be selected and a key must be present at the current frame. With footsteps, a Body Vertical key is always set automatically at the landing footstep's Touch frame and the takeoff footstep's Lift frame. Ballistic Tension can range from 0 to 1, with 0.5 as the default value. Increasing Ballistic Tension to 1.0 makes the legs stiffer at takeoff or landing. Decreasing the tension to 0.0 makes the legs springier and less stiff. Biped | 4899 Ballistic tension determines springiness of landing. (Left = 0.0, Right = 1.0) Dynamics Blend The Dynamics Blend parameter in the Dynamics & Adaptation rollout on page 5101 determines whether biped dynamics or spline dynamics will be used during airborne periods. With biped dynamics on page 9106, the height and trajectory of the biped during airborne periods is determined by gravity calculations and other biped-specific information. With spline dynamics on page 9315, the airborne height and trajectory are not set for you automatically; you must set them manually with keyframes. 4900 | Chapter 15 Character Animation When Dynamics Blend is set to 1, biped dynamics are used. At 0, spline dynamics are used. You can animate this value to switch between the two during your animation. Procedures To locate vertical center of mass keys: 1 Select any part of the biped and go to the 2 On the Track Selection rollout, click Motion panel. (Body Vertical). 3 Use (Next Key) and (Previous Key) on the Key Info rollout to jump to the next or previous center of mass Body Vertical keyframes. TIP If the selected vertical COM key is a touchdown key from an airborne period, you can change the Ballistic Tension parameter on the Key Info rollout to control knee bend. Turn on Trajectories on the Display rollout to view how changing parameters affects the trajectory. To set a Body Vertical key: 1 On the Track Selection rollout, click 2 Turn on (Body Vertical). (Auto Key). 3 On the main toolbar, click (Select And Move). 4 Click and drag the center of mass up or down in the viewports. The biped is repositioned vertically, a key is created in the center of mass Body Vertical track. To set ballistic tension: 1 On the Biped rollout, turn off (Footstep Mode) if it is on. Biped | 4901 2 On the Track Selection rollout, click (Body Vertical). 3 Move to the Vertical track keyframe you want to adjust, either a Touch or Lift key. The Ballistic Tension parameter is available only on Touch and Lift keys. 4 In the Key Info rollout, expand the Body bar to access the Ballistic Tension parameter. 5 Adjust the Ballistic Tension value. Adjusting the ballistic tension changes the amount of crouch before a jump, and the amount of dampening that occurs after landing. To change Dynamics Blend for multiple Body Vertical keys: 1 Choose Graphs Editors menu ➤ Track View Dope Sheet. 2 Select all the Body Vertical keys you want to change. 3 Right-click over one of the selected keys to display the TCB dialog. 4 Change the value of Dynamics Blend in the TCB dialog. This changes it for all selected keys. NOTE This only affects the biped during airborne periods in a footstep animation. Changing Dynamics Blend keys in a walk motion does not affect the motion. Saving Footstep Animation After you have animated the biped with footsteps, you can save the data in either a BIP file or an STP file. ■ A BIP file saves both the footsteps and any animation on the upper body. You can save the entire footstep sequence, or just a portion of it. ■ An STP file saves just the footstep data. These files, in ASCII format, are sometimes used by game developers to save just the leg and foot motion data To save a either type of file, click (Save File) on the Biped rollout. Choose the desired file type from the Save as type pulldown. 4902 | Chapter 15 Character Animation For more detailed information on these file formats and how to work with them, see Loading and Saving BIP Animation on page 4978 and Loading and Saving STP Files on page 4986. Footstep and Freeform Animation character studio provides two distinct modes of animation, footstep and freeform. Footstep animation on page 9168 was originally designed for bipedal characters, that is, characters that walk on two legs. It uses a structured system of dynamics and balance to create secondary motion in the upper body, including arm swinging and tail swaying that is automatically applied when footsteps are used. By using default footsteps, you are assured that the biped's foot doesn't slide or pass through the ground, and that the foot easily rolls from heel to the ball of the foot as is common in a typical walk. Freeform animation on page 9170 provides a more traditional method of animating to those familiar with 3ds Max, or other character animation systems. Keys are set by using the character studio Set Key tools found in the Key Info rollout on page 5049, or by turning on Auto Key mode, moving the time slider and transforming the biped parts. Freeform animation includes preset key types called planted, sliding, and free keys; these make it very quick to lock a biped's foot or hand in space and get results similar to those of footstep animation. You can add freeform animation to footstep animation during airborne periods, making it possible to use both footstep and freeform animation on the same biped. Freeform animation is particularly useful for: ■ Animating a character with more than two legs. ■ Animating a biped switching between foot-based motion and freeform motion, such as a biped doing handstands, jumping into a swimming pool, or leaping up to begin flying through the air. Freeform animation also provides animated pivot points on the feet and hands. This makes it possible for you to simulate the roll of a foot from heel to toe, or create detailed finger animation. You can convert back and forth between footstep and freeform animation within some limitations. While it is easy to convert any footstep animation Biped | 4903 to freeform, there are limitations on the conversion from freeform animation to footsteps. Because of these limitations, a common workflow is to use footstep animation to rough out the animation, then convert to freeform to finalize the motions. The totally freeform animation is not bound by the rules of the footstep method, so it's easy to do anything you want, such as add keys at the beginning or end of the clip. See also: ■ Footstep Animation on page 4853 ■ Freeform Animation on page 4910 Freeform Animation Between Footsteps For certain types of footstep animation, it is necessary to suspend calculations of gravitational effects on the biped. For example, if you want the biped to run, dive into a pool then climb out of the pool, you would create footsteps for the running and climbing portions of the animation but not the swimming portion. When you activate footsteps, the biped will become airborne during the swimming period, jumping high in the air between the running and climbing footsteps. If you don't suspend gravity during the airborne period, you won't be able to change the biped's Body Vertical position to bring it down and place it in the pool. For more information on how the biped behaves during airborne periods between footsteps, see Adjusting Vertical Motion on page 4894. To suspend gravity during an airborne period, you can create a freeform period in your animation. During a freeform period, you can animate the biped in freeform mode, which includes positioning the biped anwhere in the scene regardless of the length of the airborne period. The Track View - Dope Sheet editor is used to insert a freeform period between footsteps. During a freeform period, vertical dynamics (gravitational effects) are suspended, and Body Vertical keys use spline dynamics on page 9315 instead. See also: ■ Track View (Biped) on page 5148 4904 | Chapter 15 Character Animation Procedures To convert an airborne period to freeform mode: 1 Create a footstep animation with at least one airborne period, and activate the footsteps. For the simplest method of creating a footstep pattern with an airborne period, see Creating Footsteps Automatically on page 4864. 2 Access Track View by choosing Graph Editors menu ➤ Track View Dope Sheet from the 3ds Max menu. 3 Expand the footstep key display for the biped. 4 Right-click the footstep key display area. The Footstep Mode dialog appears. 5 In the Footstep Mode dialog, choose the Edit Free Form (no physics) option. In each airborne period in Track View, a hollow yellow box appears. Biped | 4905 6 In the Track View footstep key display, click inside the yellow box for the airborne period for which you want to suspend gravity. This fills the yellow box, indicating that vertical dynamics are suspended for that period. 7 Play the animation. The biped uses vertical dynamics during all footstep motions except the freeform period. 4906 | Chapter 15 Character Animation Biped | 4907 No vertical dynamics during freeform period, then return to vertical dynamics during next airborne period. NOTE If you activate footsteps after a freeform period has been set between footsteps, the biped might skip footsteps at one end of the freeform period. For this reason, you should activate footsteps before setting up a freeform period. 8 During the freeform period, animate the biped and set keyframes as you like. To edit footstep timing after creating a freeform period, you must choose the Edit Footsteps option in the Footstep Mode dialog. Converting Between Footstep and Freeform Animations There might be times when you want to convert a footstep animation to a freeform animation, or vice versa. This can occur when someone gives you 4908 | Chapter 15 Character Animation an animation file that's animated in one mode, while you prefer to work in the other. Animators tend to develop a preference for either freeform or footstep animation. The ability to convert between the two means you can work in either format without concern for compatibility with other artists. Using the Convert tool on the Motion panel ➤ Biped rollout on page 5010, you can convert between footstep and freeform animation. There are no special considerations when converting from footsteps to freeform; this procedure works for all footstep sequences. However, to convert successfully from freeform to footstep animation, you must observe certain rules in order for footsteps to be generated. Converting from Freeform to Footsteps When converting from freeform to footsteps, footsteps are generated for a foot only during periods between two planted keys. In other words, the conversion process looks for times when a foot has two consecutive, identical keys with an IK Blend setting of 1 and Object space selected. In this case, a footstep icon is placed at the foot's location, with the duration of the footstep set by the time between the two identical keys. This is the only condition under which foosteps are generated. If converting freeform animation to footsteps does not create the expected result, your freeform animation might need adjustment prior to conversion. See Using IK Keyframe Parameters on page 4937 for information on setting freeform planted keys. If your freeform motion hasn't been prepared with planted keys for converting to footsteps, you can convert it to footsteps by loading it as a motion capture file and specifying footsteps as the extraction method. This technique uses a different method to determine footstep location and duration, and so can sometimes successfully convert to footsteps where the Convert command cannot. See Importing Motion-Capture Data on page 5266. Procedures To convert between footsteps and freeform animation: 1 On the Motion panel ➤ Biped rollout, click (Convert). Biped | 4909 Depending on which is the current animation method, either the Convert to Freeform dialog on page 5142 or the Convert to Footsteps dialog on page 5142 appears. 2 Change settings in the dialog as necessary, and click OK. If you're converting to freeform animation, the footstep patterns are removed from the viewport, gravity and dynamics are removed, and footstep mode is disabled. You are now working with a purely freeform animation. If you're converting to footsteps, and the operation is successful, footsteps appear in the viewport, biped dynamics on page 9106 is turned on, and Footstep mode is enabled. Freeform Animation While character studio calculates vertical dynamics and gravity based on its footstep-driven technology, you don’t always want your character strictly under these controls. You might want the character to fly, swim, or to do something improbable in a physical world. For these situations, Biped supports a comprehensive set of freeform animation controls that allow you to take total creative control over your character's pose, movement, and timing. Freeform animation of a biped swimming character studio gives you the option to animate characters using freeform mode exclusively, or to create freeform periods during a footstep animation. 4910 | Chapter 15 Character Animation In freeform mode (without footsteps), you can pose every joint of your character exactly as you like using traditional keyframe methods. Hands and feet can be locked down in space by setting planted keys. You can also animate the pivot points for hands and feet to simulate rolling motion. You can blend dynamically between forward kinematics and inverse kinematics to introduce higher-level control. To use freeform animation in Footstep mode, you create freeform periods between footsteps using Track View – Dope Sheet. You can convert an existing footstep animation into a freeform animation and back again. This lets you mix the use of footstep and freeform methods. WARNING You can't add a freeform period at the beginning or end of a footstep animation. TIP If you want to do this, stretch out the timing for the first or last set of footsteps, then convert the footstep animation to freeform. Freeform Method A freeform animation contains no footsteps; instead it relies on the transforms of the biped body objects and center of mass. Use Freeform for motions like swimming or falling where footsteps are not necessary. If you are a familiar with creating all of your keyframes manually to animate a character, you may want to use the freeform method exclusively. To start a freeform animation, turn on Auto Key and start positioning the biped. You can also leave Auto Key off and use the red set key buttons on the Key Info rollout on page 5049 to create keyframes. You can also create freeform animation by importing motion capture data and choosing freeform rather than footstep. TIP Take advantage of both methods by combining footsteps and freeform animation. You can create a freeform period for any airborne period between footsteps. A freeform period replaces the ballistic motion calculated using the GravAccel value with a user defined spline motion. If you are using footstep extraction with motion capture data, you often need a freeform interval to accommodate falling or tumbling motion in the data. The Fit to Existing option on the Motion Capture Conversion Parameters dialog allows for a combination of both methods. Extracting footsteps from motion capture files eliminates sliding feet, a common problem with motion capture data. Biped | 4911 Note that while you can add a freeform period to a footstep animation, you cannot add a footstep period into a freeform animation. If you want to add a footstep animation to an existing freeform, you can use the motion flow editor to create a script that sequences the footstep with the freeform. Inverse Kinematics Footstep and freeform animations use the same inverse kinematics on page 9196 constraints and extensions. This means that in a footstep animation, you can now edit keys to change footstep duration. By definition, a footstep is the start and end of a sequence of IK constraints in World Space with an IK Blend value greater than 0. Deleting and inserting keys or changing IK space or IK blending alters footstep duration. In cases involving edits that alter the length of ballistic intervals (when a biped is airborne), character studio ensures that there is a vertical key occurring at the lift-off and touchdown frames. This calculates the correct ballistic motion, so vertical keys are automatically inserted if not present. There are three types of IK keys you can create: planted, sliding and free keys. ■ Planted keys have an IK Blend of 1. They are joined to the Previous IK Key and are in Object space, rather than Body space. Planted keys lock the foot or hand to the ground, or to any object. ■ Sliding keys have moving IK constraints. Sliding footsteps are created if there is a moved IK constraint occurring in the footstep interval. In a footstep animation this means that the foot can be placed anywhere, even though there is a footstep icon. Footstep icons can be thought of as gizmos rather than the absolute location of a foot. Sliding keys have an IK blend of 1, and are in object space, but are not joined to the previous IK key. ■ Free keys have an IK blend of 0, and are in body space. They are not joined to the previous IK key. Free keys have no IK constraint. IK constraints are implemented with a pivot-based system. This allows you to pivot a hand or foot around a selected pivot. For example, in a walking motion you can select a pivot on the heel of a foot and rotate the foot around it,. You can then shift the pivot to the ball of the foot. Procedures To create a purely freeform animation: 1 Create a biped. 4912 | Chapter 15 Character Animation 2 Drag the time slider to any given frame, then do one of the following: ■ Turn on (Auto Key), then move or any biped component. This sets a key for that component. rotate ■ Pose any part of the biped, then on the Key Info rollout, click (Set Key). ■ Pose the hands and feet and then on the Key Info rollout, click (Set Planted Key). This will create keys that cause the hands or feet to stick in space. For more information on setting keys, see Setting Keys for Feet and Hands on page 4948. NOTE character studio doesn't behave the same as 3ds Max when creating keys. It doesn't automatically create keys at frame 0 when you create your first set of keys at a later frame. For this reason, it's often useful to select all the parts of the biped at frame 0, then click Set Key to creating holding keys for all. To create a freefrom animation from a footstep animation: 1 Select the biped whose footstep animation you want to convert to freeform. 2 On the Motion panel ➤ Biped rollout, click (Convert). A Convert To Freeform dialog is displayed. Click OK. Don't turn on Generate A Keyframe Per Frame unless you have a good reason to do so. Having a keyframe on every frame makes animation editing much more complex. Use this only if you are losing motion quality through a conversion process. Biped | 4913 Creating Freeform Animation The topics in this section deal with the creation of freeform animation for bipeds. Selecting Biped Tracks To animate your character with freeform methods, you need to know how to select the body part you want to animate, as well as the type of movement you want to affect for that part of the body.3ds Max and Biped provide a number of different methods for selecting and moving these animation tracks. Several involve using the 3ds Max Track View, a powerful environment for viewing and managing the geometry and motion data in your scene. For each biped body part, motion data is viewable in Track View or on the track bar. Once you've selected the biped object, using one of the methods described below, you can see its associated motion data on the track bar or displayed in the Transform branch for that object in Track View. Biped lets you expand and collapse certain animation tracks to give you more control over your character's movement as you set keyframes. For example, tracks for body parts in the arms can be animated using five separate tracks for maximum control. You can also collapse these tracks for simplicity, and use a single key to pose the entire arm. Tracks can be expanded or collapsed in this way for the arms, legs, ponytails, neck, tail, and spine. In 3ds Max, you have the ability to display the motion data as function curves. You can see and manipulate function curves either in the Track View – Curve Editor, or by using the Workbench on page 5169. The Workbench provides specialized tools for analyzing and fixing motion problems found in the curves. For fast track selection, you can also use the Track Selection rollout. These buttons let you quickly select the motion tracks for the horizontal and vertical movement of the biped center of mass, as well as selection of opposite limbs, or symmetrical limbs. Biped is unique in the way it separates the tracks for the center of mass into three tracks (one each for vertical, horizontal, and rotation). See also: ■ Dynamics & Adaptation Rollout on page 5101 ■ Track Selection Rollout on page 5029 4914 | Chapter 15 Character Animation ■ Track View (Biped) on page 5148 Selecting Tracks from the Track Selection Rollout The center of mass has three separate animation tracks, two for motion and one for rotation. These tracks can be selected on the Track Selection rollout on page 5029: ■ Body Horizontal ■ Body Vertical ■ Body Rotation (selects the Body Turning track) Selecting Tracks with the Select By Name Tool You can navigate to and select tracks for a given object using the text-entry field next to the Zoom Selected Object in Track View. Type the object name in the text field, using wildcards as necessary, and then press Enter. Selecting Tracks from the Track View You can navigate to a given object simply by traversing the Biped hierarchy in the Track View hierarchy window. Note that child objects in the hierarchy are nested below parent objects. You may need to open several parent objects to get to the nested object you want. The biped tracks are grouped as follows: ■ Center of Mass ■ Footsteps ■ Pelvis (branch1) Spine, Neck (branch), Head, Ponytail. ■ Pelvis (branch2) Thigh, Calf, Foot, Toes. ■ Pelvis (branch3) Tail. ■ Neck (branch 1), Head ■ Neck (branch 2), Clavicle, UpperArm, Forearm, Hand, Fingers. Biped | 4915 Each of these tracks can be seen in Track View, expanded trackbar and Workbench. Note that the hands and fingers are grouped with the arms, and the fingers and toes are grouped with the legs. The body's translation keys are separated into vertical and horizontal tracks. Procedures To access Track View, do one of the following: ■ On the 3ds Max toolbar, click (Curve Editor (Open)). ■ Select any biped object, then right-click and choose Curve Editor. The hierarchy list automatically displays the track of the selected biped object. ■ Choose Graph Editors menu ➤ Track View - Curve Editor. To select from the screen: 1 Place the cursor over the biped link whose tracks you want to examine. Use zoom controls, as necessary. 2 Pause over a part of the biped, and a tool-tip appears, informing you which object is at the cursor position. 3 Click to select the biped link. TIP Another feedback device is available once you've made your selection. The selected object's name is displayed in the topmost field in the Modify, Hierarchy, Motion, and Display panels. 4 On the Track View, click (Zoom Selected Object). The Track View hierarchy window repositions to show the selected object at the top of the window display. Nested below the object's name are the animation, or transform, tracks for that object, if any exist for the current motion. 4916 | Chapter 15 Character Animation NOTE By default, all keys for arm objects are in the Clavicle track, and all keys for leg objects are in the Thigh track. If you select a biped foot and click Zoom Selected Object, you may need to scroll up the Track View hierarchy to view the Thigh track transform keys. These keys also store foot transforms. TIP Use controls in the Separate Tracks area of the Keyframing Tools rollout on page 5063 if you prefer transform tracks for individual objects. To display footstep tracks: 1 Select any biped with footstep animation. 2 On the Mode). Motion panel ➤ Biped rollout, turn on (Footstep 3 Right-click in the viewport and choose Curve Editor. 4 On the Track View menu bar, choose Modes ➤ Dope Sheet. 5 Click any footstep in the viewport and the hierarchy list navigates to the Footstep track. Animating by Moving Links Use the standard 3ds Max Move transform to move biped links. As shown in the table below, there are two types of movements you can apply to a biped link: ■ General Move – When you select and move the center of mass object, it and all of its children move; that is, the entire biped moves. When you move the center of mass and one or more legs are planted on the ground with IK constraints (IK Blend=1.0), the Biped tries to maintain the legs' planted position while the body moves. ■ Inverse Kinematics – Applies to all parts of the arms, legs, fingers, and toes, except the clavicles. If you attempt to move a hand or foot beyond the biped's kinematic limit, the arm or leg straightens out and moves as far as possible in the direction you drag. Biped | 4917 The pelvis, head, neck, non-base spine links, and non-base tail links cannot be moved. They can only be rotated, although they move when their parent moves. When you select multiple biped parts and move them, the move applies only to selected biped parts that have no selected ancestors. For example, when the entire biped is selected, only its center of mass object is moved. When all of the finger joints are selected, the bases of all the fingers are moved. 4918 | Chapter 15 Character Animation TIP You can select the children of a hierarchy by double-clicking the parent. To quickly select and move a biped and its entire animation to a new location in space, use Move All mode on page 5010. Biped provides controls to help you give both arms or both legs the same pose. See Copy/Paste Rollout on page 5071 for more information. Biped Link Link Name Keyframe Mode Figure Mode Center of mass Bip01 (default) Positions entire biped Positions entire biped Pelvis Pelvis Does not move Does not move Head Head Does not move Does not move Neck Neck Does not move Does not move Spine Base Spine Does not move Positions upper body relative to lower body Tail Base Tail Does not move Positions tail relative to body Ponytail Ponytail1, 11, and so on Does not move Positions ponytail relative to body Clavicles R Clavicle, L Clavicle Do not move Positions arms relative to body Shoulders (upper arm) R UpperArm, L UpperArm IK from shoulder IK from shoulder Elbows (lower arm) R Forearm, L Forearm IK from hand IK from hand Hands R Hand, L Hand IK from hand IK from hand Fingers Finger 0, 01, and so on IK from finger Positions finger relative to hand (if base selected) Biped | 4919 Biped Link Link Name Keyframe Mode Figure Mode Hips (upper leg) R Thigh, L Thigh IK from knee IK from knee Knees (lower leg) R Calf, L Calf IK from foot IK from foot Feet R Foot, L Foot IK from foot IK from foot Toes Toe 0, 01, and so on IK from toe Positions toe relative to foot (if base selected) Animating by Rotating Links Use the standard 3ds Max Rotate transform to adjust a biped's posture by rotating its links. Use the main toolbar button, or right-click and choose Rotate from the quad menu. To make biped movement appear natural, certain biped joints are limited in how they can rotate, such as the elbows and knees. When a joint can rotate in all three axes, X, Y, and Z, it is said to have three degrees of freedom (DOF). A joint’s DOF can be modified by selecting it and then setting options on the Locks on page 3824 rollout of the Hierarchy panel. NOTE Changing a joint’s DOF will not replace its default DOF, meaning a locked axis by default can not be unlocked manually. The table below shows the degrees of freedom of each link. Biped allows a bit greater freedom than most human bodies are capable of. All rotations are performed in the local coordinate system. TIP First select the link to rotate, then click Rotate. While the Motion panel is active, Biped sets the transform managers to reflect the degrees of freedom of that link. For example, if you select the pelvis and then click Rotate, Biped changes the coordinate system to Local and turns on the Y axis constraint. (For joints that have more than one degree of freedom, you might later need to change the axis constraint setting.) To rotate the biped pelvis in all three dimensions, refer to Pelvis as Ball Joint on page 4922. 4920 | Chapter 15 Character Animation Biped Motion Constraints Some biped parts have special-case conditions that govern how you can transform them, as described in the table and sections that follow. Biped Link Link Name Free Axes Comments Center of mass Bip01 (default) X, Y, Z Rotates entire biped Pelvis Pelvis X, Y, Z If feet are planted, adjusts legs to keep feet and toes above ground Head Head X, Y, Z Neck Neck X, Y, Z Neck orientation does not affect head orientation Spine Spine, Spine1-4 X, Y, Z Spine rotation adjusts overall balance Tail Tail, Tail1-4 X, Y, Z Clavicles R Arm, L Arm Y, Z Shoulder orientation does not affect clavicle orientation Shoulders (upper arm) R UpperArm, L UpperArm X, Y, Z Rotating pivots from shoulder to wrist Elbows (lower arm) R Forearm, L Forearm X, Z Hinge plus special rotation Hips (upper leg) R Thigh, L Thigh X, Y, Z Rotating pivots from hip to ankle Knees (lower leg) R Calf, L Calf X, Z Hinge plus special rotation Biped | 4921 Biped Link Link Name Free Axes Comments Hands R Hand, L Hand X, Y, Z Feet R Foot, L Foot X, Y, Z If feet are planted, adjusts legs to keep feet and toes above ground Fingers Finger0, 01, 02 Finger1, 11, 12, amd so on X, Y, Z Finger bases have three free axes; other finger joints have Z only Toes Toe0, 01, 02 Toe1, 11, 12, and so on X, Y, Z Toe bases have three free axes; other toe joints have Z only Pelvis as Ball Joint The pelvis can be rotated in all three axes: X, Y, and Z. This ball joint provides three degrees of freedom, improving the flexibility of animating with a biped, because the pelvis gyrations are isolated from the center of mass (COM) rotation. This causes the COM to assume a smoother trajectory, which also influences the biped’s head and arms. As a result, they will look more natural moving in the body’s COM rotational space. It's important to be aware of the following behavioral changes resulting from this: ■ The three-DOF pelvis motion is displayed as three separate Euler or quaternion (TCB) function curves in the Curve Editor and Workbench. ■ Using key reduction on the biped’s spine produces improved results. ■ Rotations on the new pelvic axes (X and Z) are keyable in layers and supported in MAXScript. ■ The default parametric footstep animation is slightly adjusted to use the three-DOF pelvis. ■ If a legacy biped asset such as a BIP file is loaded onto the 3ds Max biped, the pelvis-related data will be adapted to the new DOFs and the new coordinate space within which the pelvis rotates. 4922 | Chapter 15 Character Animation ■ Using the Motion Mixer or Motion Flow, assets containing new pelvic rotation tracks will be blended with old assets lacking these tracks. Special Rotation: Elbows and Knees Elbows and Knees perform a special rotation when you rotate them about their X axis. They don't actually rotate around their X axis; this does not make sense because they have one degree of freedom. Instead, the upper and lower arm/leg are rotated together about an invisible axis defined by the line stretching from the shoulder to the wrist, and the hip to the ankle. This special rotation can be very useful for positioning the arms and legs. The special rotation can also be useful for creating characters with reverse knee bends. When the knees are rotated backward, at more than a 90-degree rotation from the front-facing human knee posture, Biped assumes the character has backward knees or bird legs, and uses this as a reference position for all .bip motions. Rotating the forearm along the X axis rotates the arm elements about an invisible axis between the shoulder and wrist. Balance: Spine Biped uses only the spine, in conjunction with the center of mass, to maintain the biped's balance. Because of this, rotating all of the spine or any one of its Biped | 4923 links causes the horizontal position of the body to change relative to its center of mass. These adjustments are performed in the center of mass's local reference coordinate system, ensuring that the figure will rotate naturally about its center of mass; for example, during flips in the air. On the Motion panel Key Info rollout on page 5049, you can turn this behavior off by setting Balance Factor to 0.0 for corresponding horizontal center of mass keys. The Balance Factor control is in the Body group on the rollout. Independent Orientation: Arms, Head, Feet Changing the orientation of a clavicle (the root Arm object) changes the position, but not the orientation, of its corresponding upper arm. In effect, the clavicles are a support from which the arms are suspended. Likewise, the orientation of the neck changes the position, but not the orientation, of the head. Although linked to the neck, the head typically rotates independently of the neck, and interpolation of these individually set orientations produces more natural-looking motion. Similar to the head and arms, changing the orientation of the upper or lower leg changes the position, but not the orientation, of the corresponding foot. In this way, the foot orientation remains relative to the ground plane. Adjusting Keys with TCB Rotation Rather than creating extra keys to fine-tune the motion of the biped limbs, you can use the TCB controls to adjust ease in, ease out, and limb trajectory on keys that already exist. Visualizing Rotation Animations with Function Curves Another way to visualize your rotation animation is through the Curve Editor on page 3841. Each key you add is displayed and connected to other keys, creating a curve that represents your animation. You can use either the TCB Rotation Controller on page 3595 or the Euler XYZ Controller on page 3482 (on the Quaternion/Euler rollout on page 5036) to display your rotation curve as Quaternion or Euler, respectively. Each controller affects the curve differently based on separate rotation calculations. To learn more about this, refer to Working with Euler Curves on Biped Animation on page 4971. 4924 | Chapter 15 Character Animation Tangent Euler Rotation curve Quaternion Rotation curve Procedures To change TCB for a biped arm: 1 On the Key Info rollout, turn on 2 (Trajectories). Select a biped arm. Biped | 4925 3 Use (Next Key) or (Previous Key) to locate an arm key. 4 If the TCB group is not already displayed, click the TCB divider. 5 Change the Tension, Continuity, and Bias spinners. The trajectory changes to reflect the new parameters. Play the animation to see the change. TIP You can also access TCB controls by right-clicking on keys in the trackbar, Track View – Curve Editor or the Workbench Curve View. Rotating Multiple Biped Links You rotate multiple biped links to produce curling effects such as fingers curling around a glass or a tail curling up and down. 4926 | Chapter 15 Character Animation Selecting and rotating a hand and all its fingers causes the fingers to curl. You can choose from two methods to rotate multiple links: ■ Select and rotate multiple links manually. ■ Enable (Bend Links Mode) on page 5045 and then select and rotate any spine, neck, or tail link to use the character studio technique of naturally bending the entire spine, neck, or tail. Selecting and Rotating Multiple Links When you select and rotate multiple biped links, the rotation is individually applied to each selected link. This is a convenient way to get fingers to curl, for example, or to keyframe a biped's arms, legs, multiple-jointed neck, or tail. To select and rotate multiple links: ■ Select and rotate any number of links. Biped | 4927 Typically, you select an object and all of its children; for example, the hand and all of its fingers. Using Bend Links Mode and Twist Links Mode You can use Bend Links Mode on page 5045 to rotate multiple links for the biped's spine, neck, or tail. Bend Links transfers the rotation of one link to the other links in a natural way. When applied to the spine, it is particularly useful for positioning the biped's hips. You can also use Twist Links Mode on the Bend Links rollout to twist multiple links along the X axis while preserving their relationship with the two other axes. Combining these two modes opens up a wider range of controls over your spine, neck or tail. To rotate all links in the spine, neck, or tail: 1 On the Bend Links rollout, click 2 Select and rotate a single spine, neck, or tail link. The other links in the spine, neck, or tail rotate to match the single link's rotation. 3 On the Bend Links rollout, click 4 (Bend Links Mode). (Twist Links Mode). Rotate the link in local X. The other links in the spine, neck, or tail twist properly to match the single link's rotation in X. TIP You can use Bend Links mode either to pose the biped or to animate the spine, neck, or tail while in Keyframe mode on page 9199. TIP You can also use the other Twist Links tools in the Bend Links rollout on page 5045 to further control the links' rotation. 4928 | Chapter 15 Character Animation Using Controllers character studio lets you add 3ds Max controllers to the biped object tracks. This allows you to mix the biped animation with standard 3ds Max animation techniques. Why Add Controllers Adding controllers to biped body parts lets you create animation that is difficult to do with character studio alone. For example, you can create “stretchy” cartoon arm or leg animation by adding a Scale controller to animate the bipeds arms and legs. You could make a character shaking by using a Noise controller for its limb rotations or for a Scale controller on the spine objects to make a character breathing. An Audio controller could be used to synchronize movement with sound. Biped SubAnims Different controllers can be added together, blended or sequenced in a list called a Biped SubAnim. These are the same as the weighted list controllers in 3ds Max. By animating the controller weights you can increase or decrease the effects of the different controllers. You can enable, disable or collapse the list controller animation tracks. If you collapse the track, you can then bring them into the Motion Mixer, Motion Flow, or Layer editor or export them to a game engine. NOTE Biped SubAnims exhibits different behaviors based on whether you assign a controller or a constraint as the SubAnim. A SubAnim with a controller assigned will layer the controller animation with the existing biped animation. If you use a constraint, however, this will replace the existing Biped Animation. TIP SubAnims are best used when combined with freeform animation. You can use them with footstep animations but you may experience unexpected results. If this happens, simply convert the footstep animation to freeform before applying the SubAnims. Assigning SubAnims Biped SubAnims can be applied several different ways. You can assign controllers to the Biped SubAnim in the Assign Controller on page 5007 rollout of the Motion panel. Controllers can also be added in the Animation Workbench on page 5169 using the Controller button to display the controller list. Right-click and choose Biped | 4929 Assign Controller from the right-click menu. You can assign controllers to multiple objects by using the SubAnims filter. Procedures To add a controller to a biped object: 1 Select the biped object that you want to control, and set a key for that object. 2 O n the Motion panel, expand the Assign Controller rollout. The Biped SubAnim entry is displayed in the list window. 3 Expand the Biped SubAnim entry in the Controller window. List controller entries are displayed for BipScale, BipRotation, and BipPosition. 4 Expand the list controller you want to add to and highlight the first Available entry. (Assign Controller) becomes active. 5 Click (Assign Controller). 3ds Max opens an Assign Controller dialog. 6 Choose the controller to want to use, and click OK. 7 Play the animation and observe the effect. You can animate the parameters for the controllers using Track View or by right-clicking the list entry in the controller window and then choosing Properties. Controllers can also be assigned in the Animation Workbench by displaying the Controllers list, choosing an Available entry, right-clicking and choosing Assign Controller. 4930 | Chapter 15 Character Animation To collapse a controller: You can collapse a controller to use the animation in the Motion Mixer, or with Layers, or to export to a games engine. 1 Select the biped object with the controller; for example an arm with an added noise rotation controller. 2 On the Motion panel, in the Assign Controller rollout, click the Biped SubAnim controller you want to collapse. 3 Right-click the Biped SubAnim and choose Properties. A dialog appears with the Collapse choices. If a different dialog appears, you don't have the correct selection in the list window. Be sure you've selected the Biped SubAnim entry and not something else. 4 Turn on the tracks you want to collapse in the Enable group. 5 Turn on the options you want to use in the Collapse group. 6 To perform the collapse, click the Collapse button. The controller tracks are “baked” into the Biped tracks. The new keys will appear in the track bar, or in the Workbench Curve View if the Workbench is open. To add controllers to multiple biped parts at the same time: 1 In the viewport list controllers. select the biped parts to which you want to add 2 Open the Workbench. The selection list in the Select panel has the biped parts highlighted. 3 Click the Controllers button on the Workbench toolbar. The controller list appears to the right of the select tab. Biped | 4931 4 Select the tracks you want to affect. 5 On the Filter panel, locate the part to Filter group. Set it to Selected Parts if it isn't already. 6 Choose a SubAnims filter from the drop-down list. 7 Adjust any other options you need to in the Filters tab, then click Position, Rotation, or Scale to add the subanims. 8 Expand the controller list to observe the newly added controllers. To animate the weights of an added controller: You can animate the weights of an added controller to determine when the effect takes place. A weight of 0 will yield no effect, a weight of 100 will provide the full effect. See the tutorial “Using Controllers with Biped” for an example of animating the weights. 1 Add a controller to a biped object, using either method outlined above. 2 Immediately after adding the controller select the appropriate BipScaleList, BipRotationList, or BipPositionList entry in the controller list, and expand it to see the Weights. 3 Expand the Weights and select Weight 0. 4 On the Motion panel ➤ Keyframing Tools rollout, click (Manipulate SubAnims). Three new rollouts appear in the Motion panel: Position List, Scale List and Rotation List. 5 Navigate to the appropriate List rollout. In the Layer window highlight the Controller you wish to weight. The Weight field becomes available 6 Turn on (Auto Key), move the time slider, and enter values in that field, or use the spinner to set keys to animate the weights. WARNING Don't even think about using the 3ds Max Set Key button to animate the weights. Avoid using this button with character studio as a rule. Use Auto Key or use the Key Info rollout set key buttons instead. 4932 | Chapter 15 Character Animation Using Props Props are objects that a biped could be holding or carrying, such as a gun, sword, or briefcase. They are represented as boxes that are additional links in the biped hierarchy, an extension of the biped structure you can access at creation time or in Figure mode. If you are loading motion-capture data that contains prop information, this will transfer to the biped prop. Each biped can have up to three props. Prop data will work seamlessly with other advanced features of character studio: in the Mixer, Motion Flow, Unification, and Layered edits. Props are defined in the Structure rollout. Props appear as boxes in the biped hierarchy. They can be moved, stretched, and scaled in Figure mode as other biped parts can. Props are supported by Physique, and are animated using the biped Transform controller in the same way as other objects. Create your prop and position it in relation to the biped in Figure mode. Props can be made to follow the motion of either hand by keyframing the Position and Rotation coordinate space of the prop. Bipeds with multiple props as swords Biped | 4933 Animating Prop Linkage Props can change linked parents (similar to the 3ds Max Link controller) at any keyframe. This is done using the Position Space and Coordinate Space lists in the Prop section of the Key Info rollout on page 5049. Once a key is set on the prop at a given frame, you can set or change the coordinate space in which it is transformed by choosing a new space from the drop-down list. You set rotation and position coordinate space independently. Position and rotation space controls Importing Motion-Capture Prop Data If your motion-capture file includes prop data, character studio can read that data and apply it to a prop object. Upon loading a CSM file on page 9128, the motion data will be applied to the prop. If the prop switches from one hand to another, character studio will automatically determine the switch of the prop's coordinate spaces as the prop is exchanged between the hands. This can be easily changed once the data is in the scene: go to the desired frame, choose a new coordinate space (as described in the previous section), then set a key. When loading a BIP file for retargeting onto other characters, the props move with each of the hands. 4934 | Chapter 15 Character Animation character studio ensures that the hands come together at the precise position on the prop during transfers. Props can be animated with 3ds Max controllers and that animation can then be collapsed onto the prop’s transform controller for editing with motion flow or the mixer. Procedures Example: To animate a biped swinging a prop with one hand: 1 Create a biped with a single prop. The biped appears with a single prop displayed as a box positioned near the biped's right hand. 2 On the Motion panel ➤ Biped rollout, turn on 3 (Figure Mode). Scale the prop so it is the correct size and proportion to be a sword. 4 Rotate and move the prop so it is in the correct orientation in relation to the right hand. 5 Turn off (Figure Mode). 6 Set a key for the prop at frame 0. To do this, make sure the prop is selected, then click (Set Key) on the Key Info rollout. 7 Now animate the biped as you like, or open a BIP file of a character swinging a sword. 8 Turn on (Auto Key), then select the prop. 9 Animate the prop using standard 3ds Max transforms. Biped | 4935 Example: To animate the biped switching the prop to the other hand: 1 Follow the steps in the previous procedure to animate the biped swinging the prop. 2 Move to the frame where you want the biped to switch the prop the other hand. 3 Move the biped's other hand so it is in contact with the prop, and set a key for the hand. 4 Select the prop and set a key for it. 5 Move the time slider ahead one frame and the prop. set another key for 6 On the Key Info rollout, expand the Prop section. The lists for Position and Rotation coordinate spaces should be available. Change the Position from the right hand to the left hand, and click Set Key again. The prop will now follow the movement of the left hand in the frames that follow. NOTE By default, the prop's rotation remains in Body space. Depending on your animation, you might also want to set keys so the Rotation space is Right Hand before the switch, and Left Hand after the switch. To collapse the transforms of a prop: 1 Animate the prop however you like. You can add list controllers to the prop as you can to any other part of the biped. 2 When the animation is correct, 4936 | Chapter 15 Character Animation select the prop. 3 In the Motion panel hierarchy list, select the prop transform list you want to collapse, and then right-click. A quad menu appears. 4 Choose Properties from the quad menu. 5 In the dialog that is displayed, make the appropriate choices, and then click Collapse. After a short delay, the track bar displays the keys that have been added. TIP If you see a different Properties dialog that doesn't offer you the Collapse button, you are too low in the hierarchy. Select the next level up in the hierarchy and try again. Freeform and IK The topics in this section deal with using freeform animation and inverse kinematics (IK). Using IK Keyframe Parameters Biped's inverse kinematics solution has three parameters set at each key of the arm and leg keyframe tracks. As the limb moves through each key: ■ IK Blend sets the motion interpolation to be a blend of forward and inverse kinematics. This allows you to blend swinging motions with hand-or-foot directed motions. Rotating an arm to move a hand is an example of forward kinematics. Using the position of the hand to move the arm is an example of inverse kinematics. The default blend is 0.0, or full forward kinematics. An IK Blend of 1.0 is full inverse kinematics. ■ Body or Object determines the reference coordinate space of the IK path. This allows you to move the IK path with your character's body or temporarily attach the hands or feet to follow other objects. The default is Body. ■ Join To Prev IK Key determines if the key should be part of the previous key (and have the same reference position as the previous key). Biped | 4937 Biped has three automatic ways to set these parameters. Setting planted, sliding, or free keys creates keys with different combinations of these three parameters. ■ Setting a planted key creates a key with IK Blend set to 1.0, Object and Join To Prev IK Key turned on. ■ Setting a sliding key creates a key with IK Blend set to 1.0, Object turned on, and Join To Prev IK Key turned off. ■ Setting a free key creates a key with IK Blend set to 0, and Body turned on. Join To Prev IK Key is turned off. IK Blend The IK Blend control is in the Key Info rollout on page 5049; visible when you expand the IK divider bar. You set IK Blend while in Keyframe mode . IK group parameters IK Blend can be set per key for any arm or leg track. The IK Blend setting determines whether, at a particular key, an arm or leg is moving through it using inverse kinematics, forward kinematics, or a blending of the two kinematic solutions. 4938 | Chapter 15 Character Animation An IK Blend value of 0.0 means full forward kinematics. The arm (or leg) is moved by interpolating the rotations of the joints at the keys. The hand (or foot) tends to move along sweeping circular arcs in this case, and the motion appears to be motivated by the apparent swinging at the joints. An IK Blend value of 1.0 means full inverse kinematics with the hand (or foot) being used as an end-effector. A spline path is computed through the keys of the hand, and the hand moves along that spline. Joint angles for the rest of the arm are computed to allow the hand to follow the spline. The motion, in this case, appears to be directed by the hand (or foot). An IK Blend value between 0.0 and 1.0 means a combination of inverse and forward kinematics; when IK Blend is closer to 0.0, forward kinematics are more heavily weighted in the solution, and when IK Blend is closer to 1.0, inverse kinematics are more heavily weighted. It is best to use forward kinematics when you want the arms to swing, such as when a biped is walking. In the case of a boxer, however, since the hand should follow a directed path when punching, inverse kinematics should be used. To set the IK Blend value of a key: 1 Select a single arm or leg track by selecting one or more parts of a biped's arm or leg. The IK Blend spinner and the other controls in the IK area are enabled only when a single arm or leg track is selected. 2 Set a key if one doesn't already exist. 3 Set the desired value of IK Blend. Body and Object Options By default, Biped calculates the kinematics solution using the coordinate system of the biped figure's center-of-mass, or the Body coordinate system. This means that the IK path of the hand (or foot) translates and rotates with your character as it moves. For example, the boxer's hand trajectory always moves relative to the weaving, bobbing, and turning of the boxer's body. The Object option is used for animating dynamic links between the limbs and other objects in the scene. Biped | 4939 The IK Blend control activates when a biped arm or leg (hand and foot) key is current. ■ 0 with Body turned on is forward kinematics on page 9169, or normal biped space. ■ 1 with Body turned on is inverse kinematics on page 9196, creates more straight-line motion between biped keys. ■ 1 with Object turned on, but no IK object specified, puts the limb fully into world space. Use this to control foot sliding in a freeform animation. ■ 1 with Object turned on and an IK object specified puts the biped limb into the coordinate space of the selected object; the biped limb follows the specified object. Join To Prev IK Key This IK constraint is used to specify if a footstep is sliding or planted. If Join To Prev IK Key is on, then the biped foot maintains a reference position to the previous key, keeping the foot planted. If Join To Prev IK Key is off during a footstep, then the foot can be moved to a new position creating a sliding footstep. Join To Prev IK Key also functions to lock the biped hands in space. Use Set Planted Key on the biped hands to lock their position in space. TIP If you are having trouble with a foot or hand popping back to a previous ‘keyed’ position, check to make sure that the Join To Prev IK Key is off, especially when you're using pivot points. See also: ■ Key Info Rollout on page 5049 Understanding Walk Cycle Constraints Walking motions in both freeform and footstep animations should follow the rules of certain IK constraints. In both freeform and footstep animation, a footstep interval is the start and end of a sequence of IK constraints in world space, with IK Blend set to be greater than 0.0. A biped foot in the Move state should have body space turned on with an IK Blend of 0.0. By using these IK constraints, you can convert between the two animation methods seamlessly. 4940 | Chapter 15 Character Animation In a freeform walking animation, typically you need two key types for the legs: ■ If the foot is planted on the ground, the key must have IK Blend=1.0 with Object Space and Join To Prev Key turned on. ■ If the foot is in the air between footsteps, then IK Blend=0.0 with Body Space turned on, and Join To Prev Key turned off. In the course of creating a walk or run cycle, you need to alternate these IK constraints for the feet. If the foot is sliding on the ground, then the IK constraints are IK Blend=1.0 in Object Space with Join To Prev Key tuned off. All of these IK parameters can be found on the Key Info rollout. To speed up the process of applying these IK constraints, the Key Info rollout has three additional set key buttons: Set Planted Key, Set Sliding Key, and Set Free Key. By clicking one of these buttons, all the necessary IK constraints are applied automatically. For example, by clicking Set Planted Key, all of the IK constraints necessary are applied at once; IK Blend=1.0 with object space and Join To Prev Key turned on. See also: ■ Key Info Rollout on page 5049 Walking Keys Let's examine the IK constraints for one footstep. The footstep rolls on the heel of the foot, then rotates down flat on the ground, then raises up on the ball of the foot, rotates at the end of the toes, and finally lifts off of the ground. Biped | 4941 Touch state: pivot planted at heel at frame 14 The foot is touching the ground at the heel. In the Key Info rollout, Set Planted Key is clicked to set IK Blend=1.0 with object space and Join To Prev Key turned on. A pivot is selected on the heel of the foot. 4942 | Chapter 15 Character Animation Pivot point shifts to ball of foot at frame 16. The next keyframe is also a planted key, as the foot is flat on the ground. In the Key Info rollout, Set Planted Key is clicked. The pivot on the ball of the foot is selected. Biped | 4943 Planted key set to lock pivot at frame 17 This key has the pivot on the ball of the foot as well. Click Set Planted Key. Two consecutive keys with the pivot at the ball of the foot are necessary to rotate the foot about the ball of the foot. 4944 | Chapter 15 Character Animation Heel lifts, toe remains flat at frame 18 After rotating the foot about the pivot at the ball of the foot, you set another planted key with the pivot on the toe. Biped | 4945 Foot rotates off pivot at end of toe at frame 19. Here is another planted key with a pivot at the end of the toe; the foot rotates about the tip of the toe. 4946 | Chapter 15 Character Animation Free Key allows foot to travel off the ground at frame 20. Here, Click Set Free Key to set a free key, the foot is off of the ground. The cycle is repeated to create a walk or run cycle in a freeform animation. The pivot points are selected by turning on Select Pivot on the IK Key Info rollout, selecting a pivot in the viewports, turning off Select Pivot and then rotating the foot in the viewports. When Join To Prev is turned on, as it is with all planted footstep keys, the foot pivots at the previous key's pivot point. If you find that the foot is not rotating around the visible pivot, remember that it is using the previous key's pivot. In such a case, you must set two consecutive keys with the pivot at the same location: then the foot will rotate around the displayed pivot. If you adhere to these rules in creating footsteps in a freeform animation, then you can use Convert in the Biped rollout to easily change from a freeform animation to a footstep animation. Note that IK constraints in a footstep animation are applied exactly the same way as in a freeform animation. If you examine a footstep animation, you will notice that the foot IK constraints follow the same rules as for a freeform animation. Footsteps are simply gizmos Biped | 4947 that define a foot's coordinate system. A foot can slide and move relative to the footstep. Also, if you delete or add a key in a footstep animation, the footstep duration is changed. Setting Keys for Feet and Hands You can animate biped's body parts as you do other 3ds Max objects: by setting keys for postures at keyframes. character studio provides three different ways to set keys at the current frame: ■ Pose the biped body part, and then click one of the set key buttons in the Key Info rollout. ■ Turn on the Auto Key button, and then pose the biped part. You can transform the parts using transform tools, or you can copy and paste poses and postures to keyframe the biped. ■ Right-click the time slider and use the Create Key dialog to create keys for selected biped parts. WARNING Do not use the large Set Key button, found below the viewports, when animating a biped. Doing so will cause unpredictable results. Instead, always use the Set Key buttons found on the Key Info rollout. If you are animating a walk cycle or an intricate hand animation, then you should make use of the three different types of set key buttons in the Key Info rollout. Each set key button applies different IK constraints, depending on whether a foot or finger is in a planted state, a move state, or a sliding state. For more information on the three set key buttons, see Key Info Rollout on page 5049. You can also set keys to make hands and feet follow a stationary or animated object. See Animating IK Attachments on page 4955. If a Bones system using the IK controller or a particle emitter is linked to the biped, the Auto Key button must be on in order to position the biped's limbs. This is also true for biped objects if you turn on 3ds Max Trajectories at the top of the Motion panel, or if you choose Views ➤ Show Ghosting. 4948 | Chapter 15 Character Animation The Set Key options on the Key Info rollout have the advantage that you can easily experiment with different poses for your character without unintentionally setting keys as a side-effect. Use the Set Key buttons to commit the changes you make to the pose. The Auto Key mode approach is especially useful when you make adjustments to keyframes that have already been set, or if you are used to working with Auto Key in3ds Max and tend to forget to click the Set Key buttons. TIP Use Set Key to insert a key on a frame where a key doesn't exist. You'll often want to refine the motion using controls in the Key Info rollout, without selecting and moving an object in the viewport. Keyboard shortcut: Pressing 0 (zero) is equivalent to clicking Set Key on the Key Info rollout. To use character studio-specific shortcuts, make sure that the Keyboard Shortcut Override Toggle on page 9008 is active. Ground Plane Collision Detection for the Pelvis and Feet When one or two feet are planted, and the pelvis or a planted foot is rotated, character studio detects collisions of the foot and its toes with the ground plane defined by the planted foot's footstep or pivot point. As the pelvis or foot is rotated, character studio uses inverse kinematics to alter the rotations of the leg joints so that the foot and its toes do not go below the plane defined by the footstep or pivot point. NOTE A biped foot on a sliding footstep is a special case. The biped foot can be moved to any position and orientation for the duration of the footstep. NOTE Changing rotation values for the legs and toes also maintains collision detection, but the position adjustment is not made until you set a key. Animating Pivots In both freeform and footstep animation, pivots allow you to rotate the biped’s hands and feet around various points. For example, by activating a pivot on the ball of a foot, you can rotate the foot around the ball of the foot. The biped’s hands and feet have the same Biped | 4949 number of pivots, and pivot location is similar. Pivots are active only if the biped hand or foot is in world or object coordinate space. In a walking motion, you can pivot on the heel first, then on the ball of the foot, and finally onthe toes. Pivots are essentially extensions of the IK chain. By setting a planted key for the hand, the hand is anchored in world space: you can move the biped or the collarbone and the hand remains planted. Pivots on the hands make it easy to animate hands and fingers. 4950 | Chapter 15 Character Animation While pivots are used in both freeform and footstep animation, the pivots are only visible and accessible when in Freeform mode. Biped IK To understand interactive IK limb manipulation using character studio, it is useful to distinguish two types of limb joints: primary and secondary. The primary joints are the shoulder, elbow, hip, and knees. Animals use primary joints to coordinate the positioning of hands and feet, as these joints have the most influence and flexibility in positioning tasks. Even the placement of fingers and toes over specific spots is the task of the primary joints. The secondary joints are the wrists, ankles, toes, and fingers. These joints are typically used for grasping and support rather than positioning, so they most frequently exercise independent joint angle control suited to a particular task, such as rotating the foot to raise the heels during walking, or curling the fingers around an object. Because these joints have little influence on end effector position, they are rarely engaged for positioning tasks. For example, if you want to place your finger on your nose, you will most naturally rotate only your shoulder and elbow, keeping your wrist stationary. character studio mimics the IK behavior of "natural" systems. The primary joints are used for IK positioning, while the secondary joints are independently and precisely controlled by the animator. The secondary joints will not rotate unless the animator explicitly selects and rotates them. Therefore, if an IK pivot is set, and the limb is interactively manipulated, (say, the finger is moved onto the nose), only the primary joints adjust to satisfy the IK constraint. The secondary joints remain in place and will never "drift" in an IK solution; they simply obey the values set by the animator. Because there is no drift for the secondary joints, the animator does not have to tediously assign "tension" values to hold them in place. If an IK pivot point constraint has been set, some by-products of character studio "natural IK" are that: ■ Interactively rotating a secondary joint will always adjust the primary joints to hold the IK pivot in place. ■ character studio "special rotations," the forearm/calf X-axis rotations, rotate the elbow about the axis from the shoulder to the wrist and rotate the knee about the axis from the hip to the ankle. These rotations give the animator a direct way to interactively rotate the primary joints while holding the IK pivot in place. ■ Interactively translating a limb part to move the IK pivot will alter only the primary joints. Biped | 4951 ■ Interactively rotating a primary joint will move the IK pivot with it. After an IK pivot has been placed, applying 1) and 2) gives the animator exact control over all possible IK solutions. The IK pivots can be easily moved by applying 3) and 4). In general, you don't need to remember these "rules," because the system works in an intuitive way. You merely need to position the pivots as desired, set the IK constraint, and then fine-tune the posture of the limb, if desired, by rotating the secondary joints and using the special rotation to adjust the primary joints. NOTE During animation playback, the Ankle Tension parameter is used to set the relative importance of the interpolated ankle joint over the interpolated knee joint for intervals in between keyframes. This is relevant only to interpolation on bipeds. 4952 | Chapter 15 Character Animation Using IK constraints and pivots on the biped hands and feet allows you to animate quadrupeds. See also: Key Info Rollout on page 5049 ■ Procedures To use pivots: 1 Select a biped hand or foot. 2 On the Key Info rollout, click (Set Key), and then choose Object. You can also select an object if you like at this point, by selecting a non-biped object in the viewport. 3 Turn on Select Pivot. Biped | 4953 4 Select a pivot in the viewports. Pivots are shown as red dots on the hands and feet. Use wireframe viewport shading if you have problems seeing the choices. 5 Turn off Select Pivot. 6 Rotate the hand or foot around the selected pivot. TIP If you find that you are not rotating around the selected pivot, set two consecutive keys at adjacent keys with the same pivot. Animating a Quadruped While character studio was initially designed as an specialized program for animating two-legged, or bipedal characters, it works quite well for creatures that walk on four or more legs. Here are some general rules to follow when animating characters that don't walk upright on two legs: ■ Use Freeform animation, not Footstep animation, if your character walks on four legs all the time. ■ Pose the biped to match the mesh in Figure mode, scaling and rotating body parts so the spine is horizontal, and the arms stretch to reach the ground. ■ If appropriate for your mesh, set Leg Links to 4 and rotate the legs so the knees point backwards. You can set this value at creation time in the Create Biped rollout on the Create panel, or later using the Structure rollout on page 5108 on the Motion panel. ■ Animate pivot points with planted keys to mimic the rolling of the feet from heel to toe. Treat the hands the same as the feet. Set planted keys on the hands and feet, then move the center of mass object to bend the knees and elbows. See Key Info Rollout on page 5049 for more information on the three set key buttons. The ForeFeet option lets you set planted keys for fingers in the same way you do for toes. This option is located on the Structure rollout on page 5108. 4954 | Chapter 15 Character Animation ■ You can save 3ds Max objects as part of the BIP file. If you need additional legs (for a centipede) or extra arms or wings you can use standard bone objects with IK chains, and save all of it with the BIP file. ■ The Balance Factor in the Key Info rollout Body group, is designed to synchronize upper body and lower body movement. Set Balance Factor to 0 if you find the movement of spine links is affecting the biped's hip movements in an undesirable way. Animating IK Attachments A biped can interact with other objects in the 3ds Max scene. Links between objects are usually static, unless you're using the Link controller. In character studio, such attachments are "animatable" as well; during the course of an animation, the links between the hands, feet, and objects in the scene can change as your character interacts with them. This capability is useful for: ■ Creating freeform motions (without footsteps and gravity) that require that feet or hands be planted with IK, and then released. Examples are climbing a ladder, riding a bike, or rowing a boat. ■ Motions that involve the temporary manipulation of objects, such as bouncing or kicking a ball, opening a door, or touching another biped. An object to which a hand or foot can be attached is called an IK object. See the tutorial “Interacting with Objects” for lessons that show you how to make a biped iron clothing, ride a skateboard, bounce a basketball, climb a ladder, and pick up a briefcase. Procedures To make a hand or foot follow an object: 1 Create the object for the hand or foot to follow. 2 Select the biped's hand or foot. TIP You can select any part of the biped's arm to set keys for the hand, or any part of the leg to set keys for the foot. Biped | 4955 3 In the Key Info rollout on page 5049, expand the IK divider to see the IK section of the rollout. 4 Click (Set Key). Once a key is set, the IK Blend value and other IK parameters become available. 5 Click (Select IK Object), and choose the object for the hand or foot to follow. The object name appears in the field below the Body and Object radio buttons. 6 On frames where you want the hand or foot to start following the object, set a key, set IK Blend to 1.0 and choose the Object option on the Key Info rollout. You can also click parameters all at once. (Set Sliding Key) to set these NOTE If Object space is turned on with no IK object specified, the IK constraints will be in World space. In effect, the hand or foot will be attached to the world, and will not move during the time such a key is set. Set one key when you want the attachment to begin, and a second key when you want the attachment to stop. This defines an Object space interval, the duration of a temporary attachment. 7 On the frame that defines the end of an attachment interval, set IK Blend to 1.0, choose the Object option, and turn on Join to Prev IK Key. You can also click (Set Planted Key) to set these parameters all at once. 8 On frames where you don't want the hand or foot to follow the object, set a key, set IK Blend to 0.0 and choose the Body option. You can also click (Set Free Key) to set these parameters all at once. 4956 | Chapter 15 Character Animation To anchor a hand or foot: You can use anchoring to temporarily look a hand or foot to a specific point in space while you are animating IK attachments. 1 Move and rotate the hand or foot into the desired posture. 2 On the Keyframing Tools rollout, click the button for the limb you want to anchor: (Anchor Right Arm), (Anchor Right Leg), or (Anchor Left Arm), (Anchor Left Leg). NOTE The arm or leg you select beforehand does not actually have to be the same as the arm or leg you are anchoring. 3 Set keys for the arm or leg as described in the previous procedure. NOTE You can also use anchors to hold a foot or hand in position while you render the animation. However, be aware that anchors are turned off when you close the MAX file. If you want to use anchors from one session to the next, you must turn them on again the next time you open the file. Editing Freeform Animation The topics in this section deal with the editing of freeform animation for bipeds. Editing Biped Keys There are a few different ways to move among biped keys and edit them. You can move back and forth between keys by clicking (Previous Key) and (Next Key) on the Key Info rollout. The fields to the right of these buttons indicate the key number and frame number. Biped | 4957 As with other 3ds Max objects, you can also move back and forth between keys using the general animation controls: Turn on (Key Mode Toggle), select an element associated with a given track, and then click (Previous Key) and (Next Key). For example, you can view keys, move between them, and set keys for a right arm track if any of the right arm's objects (clavicle, upper arm, lower arm, hand, fingers) are selected. Or use the < and > keys on the keyboard to move between keys in Key Mode. To delete a key, click (Delete Key) on the Key Info rollout. The biped part that has the key must be selected, and the current frame must be the keyframe you want to delete. Keys that are locked (appearing in red in Track View) cannot be deleted. TIP When you've selected the biped part you want to transform, click (Selection Lock Toggle) on the 3ds Max prompt line. Now you can transform the part without accidentally selecting a different part of the biped. The default keyboard shortcut for Selection Lock Toggle is the spacebar. Copying and Pasting Postures and Poses The Copy/Paste rollout on the Motion panel provides controls to help you copy and paste biped postures, poses, and tracks. A posture on page 9273 is the rotation and position of any selection of biped objects. A pose on page 9272is the rotation and position of all the objects in a particular biped. A track on page 9330 is the animation for any selection of biped parts. For information on working with tracks, see Copying and Pasting Tracks on page 4989. 4958 | Chapter 15 Character Animation You can create and store postures, poses, and tracks in multiple buffers accessed by a drop-down list. You can choose from that list and see a thumbnail image associated with the selection, then paste that selection onto the same biped or any other biped in the scene. You can choose between posture, pose, or track for these operations. Using these tools lets you work in a traditional pose-to-pose method of animating. You can create a variety of poses and postures, store them in the list, then in Auto Key mode, copy them to any biped at any frame to create animation. Use the Copy Tracks function to copy the animation of biped parts onto other parts and other bipeds. You can further manipulate these tracks with the Curve Editor and Dope Sheet Editor, using all the standard tools found there. Copy Tracks works with both footstep and freeform animation. TIP The copy collections on page 5072 feature acts as an additional layer of organization, allowing your copied postures, poses, and tracks to be grouped together so you can transfer them between files within a single session. After saving a collection, you can load it into another scene either by replacing the current collection or by appending yours to it. If you choose to append, the collection maintains the copy buffer structure. Biped | 4959 NOTE You must create a copy collection before you can copy a biped's posture, pose or track. Using Paste Posture The Paste Posture command is useful for copying a posture in one frame of an animation to another frame of the animation. Copy the posture, then turn on Auto Key and move to another frame, then paste the posture. The Paste Posture and Paste Pose commands are also useful for copying a pose from one biped to another. Copy the pose or posture, select the other biped, and then paste. Copying a posture then using Paste Posture Opposite is particularly useful for copying the posture of an arm or leg or a part of an arm or leg onto the opposite arm or leg of the same biped. Both Paste Posture and Paste Posture Opposite work differently in and out of Figure mode. Out of Figure mode, only the orientation of the copied links is pasted. In Figure mode, both the orientation and the scale of the copied links are pasted. Also, when you paste the finger base, toe base, spine base, tail base, or clavicles in Figure mode, the position of that link relative to the biped's body is pasted. Copying the Entire Biped Pose The Copy Pose functionality allows you to copy the rotation and position of all the parts of the entire biped at once. It doesn't contain the animation track data, only the individual keys at that frame, and the buttons to copy tracks are unavailable when Copy Pose is in use. 4960 | Chapter 15 Character Animation Pose shows the whole biped You can create animation using Copy Pose by simply copying different poses to the same biped at different frames, and setting keys for those poses. Copy Pose works with the character studio Set Key buttons found on the Key Info rollout on page 5049, and with Auto Key mode. WARNING Don't use the Set Key Mode toggle or the large Set Keys button next to Auto Key. These will not produce the correct results. Keyboard Shortcuts The following are Biped keyboard shortcuts to the copy and paste posture commands. Make sure the Keyboard Shortcut Override Toggle on page 9008 is active. Shortcut Meaning Alt+C Copy Posture Alt+V Paste Posture Alt+B Paste Posture Opposite Biped | 4961 Procedures To copy a posture: 1 Select the set of biped parts that defines the part of the biped's posture you want to copy. 2 On the Copy/Paste rollout, click the new collection Biped Posture. (Create Collection) and rename 3 Click (Posture) to toggle Posture mode and then click Copy Posture. The thumbnail image appears in the image window below the Copied Postures drop-down list. 4 Rename the posture by editing the name in the Copied Postures name field. The posture of the set of selected objects in the biped is copied to the list. You can retrieve this posture and use it to paste (or paste opposite) to any biped at any frame. For hands-on experience using the Copy/Paste rollout functions, see the lesson called “Creating a Simple Freeform Animation” found in the Animating with Freeform tutorial. To paste the posture: NOTE Turning on the Auto Key button before pasting posture automatically sets a key for all objects whose posture has changed. 1 Choose the Posture you want from the copied postures drop-down list. 2 Select the biped you want to paste to, or move to another frame for the same biped. 3 Click (Paste Posture). 4962 | Chapter 15 Character Animation The copied posture is pasted onto the selected biped. It doesn't matter which part of the biped is selected; all biped parts whose posture was saved by the most recent Copy are pasted. WARNING If you paste a posture while the Auto Key button is off, no key is set. If you want the pasted posture to set a key, you must click the character studio Set Key button on the Key Info rollout while objects are still selected. To paste a limb posture on the opposite limb: 1 On the Copy/Paste rollout, click Posture. 2 Select all of the limb, arm, or leg whose posture you want to copy. 3 Click (Copy Posture). The posture thumbnail image is displayed in the image window, and the new posture name appears in the named posture field. 4 Rename the posture. The default names combine the chosen body track with the selected bodyparts. It's a good idea to replace this with a descriptive name you can easily identify with the action it represents. 5 Click (Paste Posture Opposite). The opposite limb now has the posture of the limb you copied. To copy the entire pose of a biped: 1 Select any part of the biped whose pose you want to copy. 2 On the Copy/Paste rollout, click the new collection Biped Pose. (Create Collection) and rename Biped | 4963 3 Click (Copy Pose). 4 Advance to a new frame or select another biped. 5 Turn on 6 Click (Auto Key). (Paste Pose) or (Paste Pose Opposite). TIP You can use Paste Pose Opposite to create symmetrical runs and walk cycles. Mirroring Motion Mirror, on the Keyframing Tools rollout on page 5063, mirrors the motion of the biped through both the X and Y axes of the World coordinate system. The entire biped animation, including all footsteps and keys, is mirrored symmetrically through an axis that joins the center for the biped to the world origin. For example, if a biped is walking from the center of the world grid toward the user, the mirror will change the motion so the biped is now walking away from the user. 4964 | Chapter 15 Character Animation Original motion Biped | 4965 Mirrored motion Use Mirror if you want to create the opposite of a motion you've already created. For example, if a biped walks to the left and swings its right arm, mirroring the motion results in a motion where the biped walks to the right and swings its left arm. The mirrored motion replaces the existing motion for the biped. If you want to keep the existing motion and add the mirrored motion, use Paste Opposite in the Copy/Paste rollout. NOTE This feature mirrors only those biped tracks that have at least one key. The position of a keyless object is not mirrored. Using Layers Layers allow you to add successive layers of animation above the original biped animation. This is a powerful way of making global changes to your character animation. For example, simply add a layer, and rotate the spine forward at any frame, and a run cycle becomes a crouched run. The original biped motion is kept intact, and can be viewed by switching back to the original layer. Layers can 4966 | Chapter 15 Character Animation be viewed individually, or as a composite of all the animation in all the Layers. Layers behave like a freeform animation on page 9170: the biped can adopt any position. Layers allow you to easily adjust raw motion capture data containing keys at every frame. Simply add a layer, and keyframe the biped. You can also use layers to change the global position of the biped in a freeform or footsteps animation by adding a layer and moving the center of mass. See also: ■ Layers on page 9201 ■ Layers Rollout on page 5087 Procedures To increment all keys using layers (global offset): 1 On the Motion panel ➤ Layers rollout, click (Create Layer) to create a new layer. Enter a name for the layer in the Layer name field. 2 Create an offset (or "increment") by setting one key. You can either use Auto Key mode, or click (Set Key) on the Key Info rollout on page 5049 (you can do this at any frame.) 3 Click (Collapse) to collapse the layer. To increment an interval of keys with an envelope (blended offset): 1 Create a new named layer. 2 Create an offset by setting one key. You can use either Auto Key mode, or click (Set Key) on the Key Info rollout at the frame where the increment is to occur. 3 To create the envelope, use after the incremented range. (Snap Set Key) to create keys before and Biped | 4967 4 Click (Collapse) to collapse the layer. To increment an interval of keys without an envelope (nonblended offset): 1 Create a new named layer. 2 Create an offset by setting two keys. You can use either Auto Key mode, or click (Set Key) on the Key Info rollout. Set one key before the frame where the increment starts, and another after the frame where the increment ends. 3 Use (Snap Set Key) to create keys before and after the incremented range to clamp the motion to the offset only occurs in the range between the two keys. 4 Click (Collapse) to collapse the layer. Editing Trajectory Keys By turning on biped trajectories, selecting the center-of-mass track, and turning on Sub-Object: Trajectories, you can select a key on the trajectory. Then either use Bend Horizontal in the Keyframing Tools rollout on page 5063 to bend the trajectory about the selected key, or simply move the key. You can move center of mass trajectory keys either horizontally or vertically. This allows you to view the entire trajectory of the center of mass and bend or edit the trajectory. TIP You can select the center of mass's horizontal or vertical tracks by clicking the appropriate button in the Track Selection rollout on page 5029. 4968 | Chapter 15 Character Animation Above: Bending the trajectory Below: Moving a key on the trajectory WARNING Do not use 3ds Max trajectories (Motion panel ➤ Trajectories text button) to edit biped trajectories. Biped | 4969 Procedures To bend a biped trajectory: 1 Select an animated biped. 2 On the Motion panel ➤ Biped rollout, expand the horizontal bar (click the plus sign at the left) to display the Modes And Display groups. 3 In the Display group, turn on (Trajectories). The trajectory is displayed in the viewport for whatever biped part is selected. WARNING Don't click the Trajectories button next to Parameters. That is for other scene objects, not bipeds. 4 On the Track Selection rollout, click (Body Horizontal). 3ds Max displays the center-of-mass object. 5 At the top of the panel, below Selection Level, turn on Sub-Object, and choose Trajectories on the drop-down list if it isn't already displayed. 6 In a viewport, select as many keys as you want on the trajectory. The selected keys turn red in the viewport. 7 If you want to bend the trajectory open the Keyframing Tools rollout and locate the Bend Horizontal spinner. Then adjust the Bend Horizontal values as desired. To edit keys on the Center of Mass trajectory: 1 Load a freeform animation. 2 On the Key Info rollout, turn on 4970 | Chapter 15 Character Animation (Trajectories). 3 On the Track Selection rollout click (Body Vertical). (Body Horizontal) or 4 At the top of the Motion panel, turn on the Sub-Object button. (Sub-Object ➤ Trajectories becomes active). 5 In the viewports, select and move keys on the Center of Mass trajectory. Working with Biped Animation The topics in this section deal with some special cases of biped animation. Working with Euler Curves on Biped Animation You can control a biped's position and orientation using Euler curves in addition to quaternion curves in the Workbench and Curve Editor. Using the Euler XYZ controller is an efficient way to animate your biped because you can use Bezier tangents to change the interpolation of your XYZ curves (quaternion curves do not have tangents). To learn more about how the Euler XYZ and TCB Rotation controllers differ from each other, refer to Euler XYZ Rotation Controller on page 3482. You can switch between Euler XYZ and TCB Rotation controllers via the Quaternion/Euler rollout on page 5036. The Curve Editor on page 5169 displays the animation curves based on the chosen controller. Each curve is labeled starting with one of the following: ■ “Quaternion Rotation of the ...” ■ “Tangent Euler Rotation of the ...” ■ “TCB Euler Rotation of the ...” You can animate most biped parts (center of mass, pelvis, spine, head, neck, arms, legs, and tail) in Euler. However, fingers and toes are considered differently, as all first base links are controlled as quaternion and any subsequent links as TCB/Euler. Fingers and toes do not have tangents. Biped limbs with only one degree of freedom (DOF), such as forearms and lower legs, are controlled with a single TCB/Euler curve. Biped | 4971 Tangent Euler Rotation curve NOTE Props are not supported with the Euler controller. Rotation curves on a biped (including its center of mass) are always set in local parent space, whether they are controlled in Euler or quaternion. The XYZ function curves of an Euler rotation track are locked together. This means that creating a new key on one axis automatically does so for all axes. Also, moving a key in time drags all three axes with it. Displaying Position Curves Bezier position curves are available only for the biped's hands, feets, and center of mass (COM). Hands and feets' positions are set in world space while the COM position is set local to the world. FK/IK key blending is illustrated as follows: ■ Full lines represent IK periods. ■ Gaps between lines represent FK periods. ■ Vertical dotted lines represent a change in pivot points. NOTE Keys set to Join to Prev IK Key on page 4937 are locked in value until the next un-joined key. 4972 | Chapter 15 Character Animation TIP The Workbench and Curve Editor are synchronized so changing the curve display from the Workbench toolbar on page 5169 also updates the display from the Curve Editor, as well as activate the corresponding tool from the Biped Toolbar on page 3907. Curve Conversion Between Quaternion and Euler When an animation converts from one controller to the other, its integrity is maintained as much as possible. This means that despite variations in key interpolation results, the keyframed poses are preserved. If you convert a quaternion rotation curve to Euler, the resulting tangent keys are set to Smooth. If, on the other hand, you switch an Euler rotation curve to quaternion, the bezier interpolation from the tangents is maintained as much as possible. However, if that interpolation is too extreme and can not be matched by TCB values, it is then reduced to fit under quaternion limits. Extreme tangents on a Euler rotation curve Using Euler animations with Layers, Motion Mixer, and Motion Flow Both Euler tangents and quaternion TCB data are stored in each keyframe. Therefore, even if you are using the Euler XYZ controller, you can still change the profile of your curves using quaternion/TCB control values (on the Key Info rollout on page 5049). If you add a new layer to an Euler controlled biped part, that layer is converted into quaternion until it is collapsed back with the original layer. On collapse, the curve changes back into Euler following the same conversion rules stated earlier. Biped | 4973 When clips containing Euler animations are brought into the Motion Mixer, Euler tangents are preserved in the blending process. However, once they are mixed together in a mixdown on page 9224, the resulting animation becomes quaternion. TIP When creating a mixdown, you can preserve your Euler tangents by turning on A Keyframe Per Frame in the Mixer Preferences dialog on page 4080. Motion Flow follows the same rules as the Motion Mixer. If clips brought into Motion Flow contain Euler animations, their tangents are preserved. However, creating an unified motion results in a quaternion animation. TIP Euler tangents can be preserved when creating a unified motion by turning on A Keyframe Per Frame in the Unify Options dialog (by clicking Create Unified Motion in the Motion Flow Scripts Group on page 5238). Turn on A Keyframe Per Frame to preserve Euler tangents. Copy-Pasting Data between Euler and Quaternion Curves When you copy a track and paste it onto another, its type (Euler or quaternion) is pasted as well. This sometimes results in animations switching from quaternion to Euler and vice-versa. Euler tangents of copied poses or postures are never copied. If you copy an Euler track and paste it onto any type of track with Auto Key turned on, the current TCB or tangent values (depending on the type of track onto which you pasting) are ignored and instead set to Default . Following the same rule, pasting a pose or posture on a Euler track with Auto Key turned on doesn't transfer the TCB values of the copied track. If a new key is created before pasting the track, the resulting tangent is set to Default. 4974 | Chapter 15 Character Animation Loading and Saving Biped Assets with Euler Curves When you load an external biped asset file (BIP) onto a biped, they each might contain different animation controllers (for example, a Euler asset loaded onto a quaternion biped). When this happens, the biped animations are converted to match the controller from the biped asset file. When you save a biped asset file, it stores both Euler tangents and quaternion TCB control values. NOTE While this doesn't affect overall performance, it may slightly impact the biped asset file size. Working with XRef Bipeds Using the XRef Objects dialog on page 7977, you can externally reference bipeds in your scene. This lets you work efficiently in a collaborative environment because the changes that the artist applies to his source XRef biped updates your master scene content. See XRef Objects on page 7971 for more information. Externally Referencing a Biped When you create an XRef biped, certain modes on the Motion Panel's Biped rollout on page 5010 become unavailable as XRef data is read-only: ■ Figure Mode on page 5104 ■ Footstep Mode on page 5120 ■ Motion Flow Mode on page 5233 ■ Mixer Mode on page 4140 As a result, you need to go back to the source scene in order to make desired changes to your biped. Biped | 4975 Example: Changing the Structure of an Xref Biped An integrator externally references a biped into his master scene. He discovers that the biped does not have the right number of spine and neck links, and that the arm links are too short to reach a specific goal target. Because Figure Mode is unavailable in the master scene, the artist currently in the source scene inputs the changes to the biped's structure, and then saves his file. This update now reflects in the master scene. Example: Modifying the Footsteps of an Xref Biped An integrator externally references a biped into his master scene. He sees the footstep animation but cannot edit it because Footstep Mode is unavailable. The artist currently in the source scene goes into Footstep Mode and alters the animation. This update now reflects in the master scene. XRef Layer Externally referencing a biped automatically creates a new “XREF LAYER” in the Layers rollout on page 5087, whether or not the source biped contains any animation. As a result, the original layer becomes a level one “Local Layer” which you can use to add animation on top of it. NOTE If the XRef biped contains multiple animation layers in the source scene, 3ds Max collapses them into one layer before creating the XRef. NOTE Saving animation on page 4978 from your XRef biped breaks the XRef link. Loading, Saving, and Displaying Biped Motion The topics in this section explain how to load, save, and display biped motion. Working with Biped Motion Files character studio uses a variety of file formats to save, load, and edit motion. ■ BIP file (.bip) The native character studio file format for saving biped motion. A BIP file saves all information about biped motion: footsteps, keyframe settings including limb rotation, the scale of the biped, the active gravity (GravAccel) value, and prop animation. IK Blend values for the keys and Object Space settings are also saved. See Loading and Saving BIP Animation on page 4978. 4976 | Chapter 15 Character Animation ■ BVH file (.bvh) The BioVision motion capture format. Typically, BVH files are obtained from motion capture hardware that records the movements of a human performer. Data saved in a BVH file includes both skeletal data, and information about limb and joint rotations. NOTE For the BVH file specification, see the BVH.rtf document on the program disc. ■ CSM file (.csm) The Character Studio Marker format. This is an alternative format for recording motion capture data. It stores positional data for various markers on a biped figure. See Motion Capture Rollout on page 5273. NOTE For the CSM file specification, see the CSM.rtf document on the program disc. ■ MIX file (.mix) A MIX file contains data from the Motion Mixer, such as trackgroups, tracks, and transitions. See Using the Motion Mixer on page 4038. ■ MFE file (.mfe) The Motion Flow Editor format saves scripts you create in the Motion Flow Editor, including clip references and transitions. See Motion Flow Mode on page 5233. ■ MNM file (.mnm) The Marker Name File format matches custom marker names in a CSM or BVH file with the standard, preset marker names used by a biped. NOTE For BVH and CSM file specifications, see the BVH.rtf and CSM.rtf documents on the program disc. ■ STP file (.stp) The Step file format saves footstep data. Unlike a BIP file, it does not save keys for the feet or upper body. STP files are ASCII files. The main purpose for this format is to enable developers to write programs that generate step files. Biped can later be used to create keys for the software-generated footsteps. See Loading and Saving STP Files on page 4986. Biped | 4977 Motion File History Lists The file dialogs for Biped motion files include a history list that lets you quickly choose directories where you have recently saved or opened files. 3ds Max maintains a separate history list for each type of motion file. NOTE When you load or save motion flow snippets, or mixer clips through the reservoir, if a file is already specified for that snippet or clip, its directory will appear at the top of the history list, even if that directory was not originally in the history list. If you cancel the load or save of the snippet or clip, that directory will not be added to the history. If you go ahead and load or save the snippet or clip, the directory will be added to the history. Loading and Saving BIP Animation Biped motion (BIP) files have a .bip file name extension. They save all information about biped motion: footsteps, keyframe settings including limb rotation, the scale of the biped, and the active gravity (GravAccel) value. IK Blend values for the keys and Object Space settings are also saved. IK objects, props and other objects in the scene can also be saved with the BIP file. There are several ways to create or acquire .bip files: ■ By loading one of the sample animation files that come with 3ds Max. Refer to the Installation Guide for more details. ■ By creating your own animation with footsteps or freeform methods, and saving the animation with the the procedures that follow. ■ Save button in the Biped rollout. See By loading and filtering a motion capture file, then saving the animation with the Save button in the Biped rollout. See Filtering Motion-Capture and Marker Data on page 5267. When you save a Motion Mixer on page 4038 (MIX) file or a Motion Flow Editor on page 5194 (MFE) file, the paths to the referenced BIP files are also saved. If these paths are broken (for example, if the BIP files have been moved or renamed), a Missing Motion Mixer Files dialog or Missing Motion Flow Files dialog, respectively, opens listing the missing files. To rectify this, open the Asset Tracking dialog on page 8115 and set a new path for the files. 4978 | Chapter 15 Character Animation Procedures To load biped motion from an existing BIP file: 1 Select the biped you want to animate, and go to the Motion panel. 2 On the Biped rollout, make sure you are not in Figure mode, and click (Load File). NOTE When Figure mode on page 5104 is active, the Load File option loads figure (FIG) files. Anything done in Figure mode changes the basic shape and structure of the biped. When Figure mode is turned off, the Load File tool loads BIP files, which animate the figure. 3 In the file dialog, choose the BIP motion file to load, and then click OK. 4 The biped repositions itself in the scene, as it assumes the initial position of the animation file. You might need to use Zoom Extents to see the biped after it is repositioned. TIP The Biped keyboard shortcut Alt+R sets the animation range to that of the currently selected biped. Since the length of the animation can change after loading a BIP file, this keystroke can be useful. To use it, make sure that the Keyboard Shortcut Override Toggle is active. To save animation you have created or imported to a BIP file: 1 Animate the biped with footsteps or freeform animation (or both). 2 Select the biped that has the animation you want to save, and go to the Motion panel. 3 On the Biped rollout, make sure you are not in Figure mode, and click (Save File). Biped | 4979 4 In the file dialog, enter a name for the motion file, and then click OK. Importing and Exporting Animation Data You can use character studio with 3ds Max FBX import/export support to simplify the animation of 3ds Max bones. To transform an animated biped into a set of animated bones, export it to FBX on page 8235 and then import your file. Click the Help button on the FBX dialog to view the latest 3ds Max FBX Plug-in Guide. Motion Mapping: Retargeting Biped Motion One of the more powerful features of Biped is the ability to retarget or map the motion of any biped onto any other biped. If you map the motion of a biped without a tail onto a biped with a tail, default tail motion for the biped with a tail will be computed. Default motion will also be computed when mapping the motion of a biped with fewer links in the legs, spine, or neck onto a biped with more links in the legs, spine, or neck. There are a few ways to perform motion mapping. You can: ■ Go into Figure mode and change the structure of your biped. When you exit Figure mode, the new structure of the biped will adapt to the existing animation. ■ Save a BIP or STP file from one biped, and load it onto another biped of a different structure and size. ■ Copy footsteps from one biped, and paste them onto the footsteps of a differently structured and scaled biped. Scale Stride Mode Scale Stride mode gives you control over whether or not certain aspects of motion mapping occur. If Scale Stride mode is active (the default): ■ When you exit Figure mode after loading a FIG file or changing the biped's leg length, pelvis width, or height, the locations of the footsteps will be scaled to match the leg length and pelvis width, and gravity will be changed to match the new height of the biped. 4980 | Chapter 15 Character Animation ■ When you load a BIP or STP file, the locations of the footsteps in the file will be scaled to match the leg length and pelvis width of the existing biped. Gravity will be adjusted to be proportional to the gravity stored in the file. (A motion stored in a BIP or STP file has a gravity value associated with it.) ■ When you paste footsteps copied from one biped onto another biped, the locations of the footsteps in the buffer will be scaled to match the leg length and pelvis width of the existing biped. Gravity will be adjusted to be proportional to the gravity stored in the file. (A motion stored in a BIP or STP file has a gravity value associated with it.) If Scale Stride mode is not active, no computations will be performed in any of the above cases. Then you might see your biped moving over footsteps that are spaced inappropriately far apart or close together for the size of your biped. Typically, you should leave Scale Stride mode active, unless you want to maintain the spatial relationship between the biped and other objects in your scene. Procedures To turn off Scale Stride mode: 1 Select the biped, and go to the Motion panel. 2 On the Biped rollout, click the bar at the bottom to expand the rollout. (If the rollout is already expanded, the bar shows a minus sign at the left, instead of a plus.) 3 In the Modes group, click (Scale Stride Mode) to turn it off. The button changes to indicate stride scaling has been turned off. 4 Use (Figure Mode) to edit the figure. Biped | 4981 When you return to Keyframe mode or Footstep mode, the biped's stride length is unchanged, regardless of the biped figure's new proportions. Merging and Cloning a Character At some point you might need to use the File ➤ Merge command to merge a character into your scene. Also, you can use Merge to clone a biped that has a mesh with the Physique modifier applied, as described in this topic. Cloning a Character To clone a character (that is, a biped with a Physique mesh), save a scene that contains the character, change the original biped's name, and then use File ➤ Merge to merge the copy from the saved file. You can merge from a saved version of the scene that is currently open. See the procedures for details. Procedures To merge a skinned biped: 1 Before you merge, make sure the root name of the biped you want to import is different from that of bipeds already in your scene. If there is a name conflict, select the conflicting biped, go to the Motion panel, and use the Structure rollout's Root Name field to change the biped's root name. If you skip this step, you will get a Duplicate Name dialog for every object in the merged biped's hierarchy! 2 Choose File ➤ Merge, then choose the MAX file that contains the biped to import. 3ds Max opens the Merge dialog. 3 In the Merge dialog, click to turn on Select Subtree. 4 Locate and click the biped's center of mass name in the Merge dialog list. The default name for the biped center of mass is Bip001. If the biped was renamed on the Structure rollout, find the renamed center of mass in the list. 4982 | Chapter 15 Character Animation NOTE The center of mass is the root object in the biped hierarchy, if this is selected with Select Subtree turned on, then all the child links are selected, including extra bones and the mesh skin (the mesh skin is linked when Attach To Node is used in Physique). Selecting a biped while merging a MAX scene In the illustration, the center of mass object is named Hero. With Select Subtree active, all the children are also selected when you click Hero, including the Physique mesh. Biped | 4983 5 Click OK. Probably a Duplicate Name dialog is displayed. If it isn't, the merge is done; if it is, see the following step. 6 On the Duplicate Name dialog, turn on Apply To All Duplicates, and then click Merge. NOTE Even when the bipeds in your scene have different root names from the biped you are merging, the biped finger/toe/head dummies in the file to be merged can have the same names as other biped dummies in your scene. This step merges these dummy objects. Dummies with duplicate names can appear in the Select From Scene dialog, so the duplicate names are not a problem. The biped and its animation is merged with the scene. To hide the finger, toe, and head dummy objects: The dummy objects for fingers, toes, and the head are visible on the newly merged biped. Usually these dummies are hidden from sight. They are used by Physique to create envelopes for all the finger tips, toe tips, and head; these dummies display when a character is merged. The quickest way to hide them again is simply to toggle the Objects button in the Biped rollout's Display group, as described in these steps. 1 With the merged biped still selected, go to the Motion panel. Fingertip dummies displayed as blue cubes The number of biped dummies varies according to how many fingers and toes the character has. 2 At the bottom of the Biped rollout, click the bar by the plus sign to expand the rollout. 4984 | Chapter 15 Character Animation (If the rollout is already expanded, the bar shows a minus sign at the left, instead of a plus.) 3 In the Display group, turn (Objects) off and then back on again to hide the biped finger/toe/head dummy objects. To clone a skinned biped: 1 Save a copy of the scene that contains the biped you want to clone. 2 On the Structure rollout, change the original biped's root name, as described above. 3 Merge the saved biped, as described in the previous procedure, To merge a skinned biped on page 4982. The original biped, with its Physique modifier, is cloned. It appears in the same location as the original biped. Motion panel ➤ Biped rollout, turn on 4 On the Mode). 5 Use scene. (Move All (Select And Move) to move the clone to a new location in the Combining BIP Motions character studio provides two main ways of combining BIP files to build more complex character animations: Motion Flow and the Motion Mixer. ■ Motion Flow on page 5194 uses BIP files as clips in a script. The motion-flow script joins clips together using transitions. Transitions can be unconditional, they can be chosen at random, or they can be governed by rules such as collision detection. You can control when a transition begins and ends. You can use motion flow to animate a single biped, or a crowd of bipeds. Motion flow scripts are saved as Motion Flow Editor (MFE) files. ■ The Motion Mixer on page 4038 also uses BIP files and MFE files as clips. In addition to creating transitions from one BIP animation to another, over Biped | 4985 time, Mixer scripts can combine the upper-body movement of one biped with the lower-body movement of another, adjust the timing of movements, and provide a number of other effects. The Mixer is especially useful when you work with motion-capture files on page 5264. Mixer scripts are saved as BIP files or MIX files. Loading and Saving STP Files Step (STP) files save footsteps, but don't save body keyframes. The STP file format is an ASCII format that enables developers to write programs that generate step files for biped motion. The online document stp.rtf, provided with character studio in the ..\cstudio\docs directory, describes the STP format. Procedures To load footstep data: 1 Select the biped to animate via saved footsteps, then go to the Motion panel. 2 On the Biped rollout, make sure you are not in Figure mode, then click (Load File). 3 In the file dialog, choose Step Files (.STP) as the file type to load. 4 Choose the footstep file to load, and then click OK. The footsteps are loaded onto the biped, and new default keys are generated to match the footsteps. 4986 | Chapter 15 Character Animation To save footstep data: 1 Select the biped whose footsteps you want to save, and go to the Motion panel. 2 On the Biped rollout, make sure you are not in Figure mode, then click (Save File). 3 In the file dialog, choose Step Files (.STP) as the file type to save. 4 Enter a name for the footstep file, and then click OK. Using Motion-Capture Data Besides animating a biped with footsteps or with keyframing (freeform animation), you can import a motion-capture file. The overall workflow for motion capture is straightforward: ■ Import the motion-capture data See Importing Motion-Capture Data on page 5266. ■ Filter the data Motion-capture files are typically dense, with keys on every frame. Filtering the data reduces the number of keys, resulting in an animation with better performance. You filter the data with the Motion Capture Conversion Parameters dialog on page 5283. This dialog can reduce large numbers of keys at once. It is displayed when you use the Motion Capture rollout to load a BIP, BVH, or CSM file. Once you have loaded a motion-capture file, you can filter the data further by clicking Convert From Buffer (also on the Motion Capture rollout), which also displays this dialog. See Filtering Motion-Capture and Marker Data on page 5267. ■ (Optional) Edit the data Once you are happy with the converted animation, you can use the freeform animation tools to make specific changes. TIP The Motion Mixer on page 4038 provides another way to edit motion-capture data. Biped | 4987 Motion-capture files can be one of three file types: the native character studio BIP format, the BioVision (BVH) format, or the Character Studio Marker (CSM) format. For an introduction to using motion capture, see the tutorial “Working with Motion-Capture Data.” Correcting Posture A particular motion file might position a biped body part inappropriately. For example, the collarbones might be rotated down too far, affecting your mesh deformation. All you need to do is go into Figure mode, rotate the biped collarbones up, and then exit Figure mode: this corrects the collarbone position for the entire animation. The motion references the Figure mode position, if the biped is adjusted, and this adjustment is reflected in your animation when you exit Figure mode. TIP Save a FIG file for the biped pose you used when you applied Physique. Then you can use the FIG file to reload this position if you need to reapply the Physique modifier or reinitialize the Physique settings. How Biped Uses Figure Mode When you animate the biped, the Biped plug-in maintains the at-rest pose you have created for these elements of the biped body: ■ Spine ■ Neck ■ Clavicles ■ Tail ■ Ponytails ■ Center of mass position, relative to the body. When Biped adapts the keyframed motions stored in BIP files to different characters, the keyframes of the above elements are recreated as an offset from the at-rest posture associated with each character's figure. The at-rest posture associated with the arms and legs is always assumed to be a standing posture, with straight legs. 4988 | Chapter 15 Character Animation Restructuring a Biped to Match a BIP File When you load a BIP file, there is an option to restructure the biped to match the file. If you turn this on when you load the file, the biped’s structure will change to match the figure of the biped in the BIP file. Talent Figure Mode and Adjust Talent Pose Talent Figure Mode on page 5281 and Adjust Talent Pose on page 5282 on the Motion Capture rollout have a purpose similar to that of Figure mode. They are used to size and position biped body parts to better fit raw motion capture data. After importing motion capture data, you might discover that certain biped limbs or the biped scale need a global adjustment in order to provide a closer match to the figure of the talent who performed the motion. See also: ■ Motion Capture Rollout on page 5273 Copying and Pasting Tracks Biped's Copy/Paste rollout on the Motion panel provides controls for copying and pasting biped tracks from one part of the biped to another, or from one biped to a different biped. At the top of this rollout are three buttons: Posture, Pose, and Track. Biped | 4989 This section covers the copying and pasting of tracks. For information on the other options on this rollout, see Copying and Pasting Postures and Poses on page 4958. To copy and paste biped tracks, turn on Tracks. The remaining controls in the rollout change to reflect that you are working with tracks: ■ The copy button changes to a Copy Tracks button. ■ The two Paste buttons become Paste Tracks and Paste Tracks Opposite, respectively. ■ The Paste Horizontal, Paste Vertical, and Paste Rotation buttons in the Paste Options group on page 5085 become active. 4990 | Chapter 15 Character Animation Procedures To copy a track from one biped to another: 1 Select any part of the biped, then go to the Motion panel. 2 On the Copy/Paste rollout, click new collection Biped Track. (Create Collection). Rename the 3 Click the Track button to use Track mode. Then parts whose tracks you want to copy. 4 Click select the biped (Copy Track). Biped creates a new track buffer, and adds it to the list as the active buffer. The buffer's name indicates which biped parts you selected. 5 Select any part of the other biped. 6 In the Paste Options group, enable all three 7 Click (Paste Track) or Paste buttons. (Paste Track Opposite). The tracks for all biped parts are applied to the other biped regardless of which parts are selected on the biped. Repositioning the Biped The method you should use to reposition a biped depends on which tools were used to animate the biped. ■ If the biped uses freeform or footstep animation, use Move All mode. This is also the easiest way to move a biped that is not animated. Biped | 4991 ■ If the biped uses freeform animation and IK attachment (that is, there are keys where IK Blend is greater than zero), then you need to use a dummy object. ■ If the biped is animated with motion flow, use the Start Position spinners. Procedures NOTE The procedures in this topic assume that you have already selected the biped and gone to the Motion panel. To reposition a freeform animation (with no IK attachment) or a footstep animation: 1 On the Biped rollout, turn on (Move All Mode). The biped's center of mass is selected and displayed in a larger-than-usual size. On the main toolbar, Select And Move is turned on. Move All mode is a convenient way to select the biped's center of mass, and to reposition the biped. Use it when the biped is not yet animated, when the biped has freeform animation with no IK attachment, or when it has footstep animation. NOTE The alternative way to move a biped with footstep animation is to select all of its footsteps, rather than its center of mass. 2 Move the biped. The Collapse button on the Move All dialog box allows you to reset the position and rotation values in the Move All dialog to zero, but does not change the position of the biped. 3 Turn off (Move All Mode). To reposition a biped with limbs attached to an Object Space object (IK attachment): 1 Create a dummy object and position it near the biped's center of mass. 4992 | Chapter 15 Character Animation 2 On the main toolbar, use (Select And Link) to link both the Object Space object and the biped's center of mass to the dummy object. IMPORTANT Make sure you link both at the same frame. 3 Move the dummy object to reposition the biped. To reposition a biped with limbs attached to world space (IK attachment): A biped with limbs in world space has an IK Blend setting of 1.0 for each limb, with no Object Space object specified. For example, when you plant the feet of a biped so its knees will bend when you lower its center of mass, or you plant the hands of a biped doing pushups, typically you do not specify an Object Space object. 1 Create a dummy object near the biped's center of mass. 2 On the main toolbar, use (Select And Link) to link both the biped's center of mass and the biped part with planted keys to the dummy object. TIP To be on the safe side, you can double-click the upper limb and link all of the limb to the dummy. IMPORTANT Make sure you create all links at the same frame. 3 Move the dummy object to reposition the biped. NOTE Depending on the animation, at some of attached object's keys you might need to set IK Blend back to 0.0. Otherwise, the limb can get “stuck” in a posture. Biped | 4993 To reposition a biped animated with a motion flow script: By default, the biped's position at the beginning of a motion flow script is the position specified by the first BIP or STP file in the script. 1 Turn on (Motion Flow Mode). 2 On the Motion Flow rollout, use Start Position X, Start Position Y, and Start Position Z to change the XYZ position of the biped. 3 Turn off (Motion Flow Mode). To use layers to reposition a biped with freeform animation: Using layers and Auto Key when you reposition a freeform biped gives you some editing choices, as described below. 1 On the Layers rollout, click (Create Layer). NOTE If the biped uses footstep animation, the button will become unavailable. 2 Turn on (Move All Mode) (Auto Key). 3 Reposition the biped as described in the previous procedure, To reposition a freeform animation (with no IK attachment) or a footstep animation on page 4992. 4 Turn off (Auto Key). You now have these aids to animation editing: ■ Lower layers show the biped's original position, as does the red stick figure. ■ Clicking (Snap Set Key) on the Layers rollout snaps the biped to its position on the previous layer, and sets a position key. The 4994 | Chapter 15 Character Animation animation is blended between the biped's new position and its previous position at frames where the key is set. Previewing Biped Motion There are two types of animation playback available within character studio: the 3ds Max Play Animation button and the Biped Playback button. ■ You can use (Play Animation) in the viewport playback controls to play biped animation, the same as you can any other 3ds Max animation. ■ Use (Biped Playback) on page 5011 on the Biped rollout to play back the animation with the biped displayed as a stick figure, while hiding everything else in the scene. NOTE It is possible to turn on both buttons at once. This is not recommended. Depending on your system configuration, turning on Play Animation and Biped Playback at the same time can considerably slow down performance. Biped Playback Biped playback previews the motion of all existing, visible bipeds. If you hide a part or all of biped, the hidden biped or biped part does not appear in the Biped playback. Objects in the animation that are not bipeds do not appear in Biped playback. If the 3ds Max home grid is visible, a grid appears at Z=0 in the Biped playback viewport. While Biped controls are visible in the Motion panel, you can also press V to start or stop Biped Playback. For this keyboard shortcut to work, the Keyboard Shortcut Override Toggle must be turned on. Biped always previews the existing animation range. Biped Playback responds to the parameters in the 3ds Max Time Configuration dialog. If Real Time playback is chosen in this dialog, Biped plays back at the current frame rate, sometimes skipping frames if necessary. If Real Time is turned off, Biped plays back as fast as it can, depending on the capacity of the graphics card installed on your system. Biped | 4995 NOTE Hardware acceleration has no effect on Biped playback. If you are using a hardware-accelerated display card, you might find 3ds Max playback to be faster under certain circumstances. Procedures To preview biped motion using the Biped playback stick figure: 1 Activate the viewport with the view you want to see. 2 Hide or show the bipeds you want to appear in the playback. 3 Select one of the visible bipeds, and go to the Motion panel. 4 On the Biped rollout, click (Biped Playback). Stick-figure biped animation plays back in the active viewport. Animation plays back for all visible bipeds. To preview biped motion using the full biped model, do one of the following: ■ Drag the time slider. ■ Click (Play Animation). Biped animation plays back in the active viewport. Depending on your system, biped animation might not play back in real time using 3ds Max viewport playback. WARNING You might miss critical frames of your animation if Real Time is selected in the Time Configuration dialog. 4996 | Chapter 15 Character Animation In Place Mode Create or select a biped. ➤ Motion panel ➤ Biped rollout ➤ Expand the rollout. ➤ Modes group ➤ In Place flyout ➤ (In Place) In Place mode on page 9192 allows you to display biped motion as if it were occurring on a treadmill. Regardless of the distance the biped covers under control of the current motion file, the biped stays within the active viewport when you've turned on In Place Mode. In Place playback prevents lateral (XY) movement of the biped center of mass during animation playback; vertical motion along the Z-axis is preserved. Biped limbs, footsteps, and center of mass keys can be adjusted in this mode. When the center of mass is moved on the XY axes in this mode, the footsteps move. Use this feature to view biped playback without requiring a follow camera. In this viewing mode, visible footsteps appear to slide under the biped. For export to games, this feature is valuable, as many game engines intelligently move the character's center of mass laterally according to game play. In Place mode makes it easy to view, tune, and export animation in a manner that is complementary to game engine playback. NOTE Trajectories do not display using In Place mode. In Place Mode Options The In Place Mode button is the default button on a three-button flyout. There are two further options: ■ In Place X ModeLocks center of mass X-axis motion. Use this for game export where the character stays in place but the swinging motion of the hips and upper body along the Y-axis is preserved. ■ In Place Y ModeLocks center of mass Y-axis motion. Use this for game export where the character stays in place but the swinging motion of the hips and upper body along the X-axis is preserved. Biped | 4997 Using In Place Mode to Adjust Keyframes In Place Mode is a good way to adjust keys on a biped that already has animation applied to it. Rather than scrolling the view at different frames to keep a running biped visible, turn on In Place Mode. Now when you scrub the time slider, or use the Next Key and Previous Key buttons, the biped remains visible. A key that needs adjustment can be quickly spotted and corrected. TIP Judging lateral center-of-mass motion using In Place mode is difficult. In Place mode limits center-of-mass motion on the XY axes; all sense of body momentum on these axes is suspended during playback. You might want to turn off In Place playback to gain a sense of lateral momentum when setting or adjusting horizontal keys (Body Horizontal Track) for the center of mass. Procedures To use In Place mode to adjust keyframes: 1 Select a biped that has animation, and go to the Motion panel. 2 On the Biped rollout, click the bar at the bottom to expand the rollout. (If the rollout is already expanded, the bar shows a minus sign at the left, instead of a plus.) 3 In the Modes group, click (In Place Mode) to turn it on. 4 At the bottom of the 3ds Max window, turn on (Auto Key). 5 Find a frame where the biped needs adjustment, and modify or add keys. Trajectory Display When a biped is animated, you can view its motion not only using Biped Playback, but you can also see the path, or trajectory, the biped (or selected biped links) follows throughout the motion. 4998 | Chapter 15 Character Animation Display of the trajectory of a biped's lower spine You turn on trajectory display by clicking Trajectories in either of these user-interface locations: ■ Motion panel ➤ Biped rollout ➤ Expand Biped rollout. ➤ Display group ➤ ■ (Trajectories) Motion panel ➤ Key Info rollout ➤ (Trajectories) TIP Do not use 3ds Max trajectory controls to display or edit biped trajectories. These include the options accessed with Object Properties ➤ Display Properties ➤ Trajectory on the quad menu, and those under Motion panel ➤ Trajectories text button. Trajectories provide useful visual feedback as you edit keys, showing the effects on the motion path for the parameters you're adjusting. You also can use trajectory display to compare filtered and unfiltered motion capture data. Changes to Tension, Continuity, Bias, Dynamics Blend, Ballistic Tension, and the overall gravity setting GravAccel are reflected in the trajectories. Biped | 4999 NOTE Trajectories do not display while you play an animation using In Place mode. You can customize the trajectory information for the selected biped link by using the Display Preferences dialog on page 5027. You can choose between Bone Base and Bone Tip, show an entire trajectory, or a moving range of frames. See also: Biped Color-coded Keys and Trajectories on page 5153 ■ Procedures To edit biped trajectory keys in a viewport: 1 Select an animated biped and go to the 2 On the Track Selection rollout, turn on (Body Vertical). Motion panel. (Body Horizontal) or 3 At the bottom of the Biped rollout, expand the Modes And Display sub-rollout if necessary by clicking its name. 4 In the Display group, turn on (Trajectories). 5 Turn on Sub-Object selection level. 6 On the main toolbar, click (Select And Move). 7 Use the Transform gizmo to move the keys on the trajectory. Display Preferences The Display Preferences dialog on page 5027 lets you customize how bipeds are displayed while you work with them. This topic introduces some of the commonly used options. 5000 | Chapter 15 Character Animation Use controls on this dialog to change footstep, trajectory, and playback display. In the Trajectories group, you can choose between the Bone Base or Bone tip for trajectory display. You can show the entire trajectory, or define a range of frames for partial trajectory display. In the Footsteps group, you can choose colors for the left and right footsteps, and generate various colors or standard colors in the viewport or Track View. You can also Show or Hide All Footsteps or Footstep Numbers. In the Playback group, you can define which bipeds will appear in Biped Playback. (This can be useful for speeding performance if your scene contains a number of bipeds.) See also: ■ Display group on page 5015 Biped | 5001 Biped User Interface The Biped user interface is split up into “modes” of operation. You activate these modes by selecting the appropriate button in the Biped rollout on the Motion panel, which is visible when a biped is selected. Four modes are available: Figure mode is used to change the biped skeletal structure and to align the biped to a mesh. Footstep mode is used to create and edit footstep animation. Motion Flow mode is used to create scripts that combine motion files into longer animations. Mixer mode is used to view, save, and load animation created with the Motion Mixer. As with other parts of 3ds Max, the rollouts change depending on the mode character studio is in. When no modes are active, the following rollouts are displayed: ■ Assign Controller Rollout (character studio) on page 5007 ■ Biped Apps Rollout on page 5009 ■ Biped Rollout on page 5010 ■ Track Selection Rollout on page 5029 ■ Quaternion/Euler Rollout on page 5036 ■ Twist Poses Rollout on page 5039 ■ Bend Links Rollout on page 5045 ■ Key Info Rollout on page 5049 ■ Keyframing Tools Rollout on page 5063 ■ Copy/Paste Rollout on page 5071 ■ Layers Rollout on page 5087 ■ Motion Capture Rollout on page 5273 5002 | Chapter 15 Character Animation ■ Dynamics & Adaptation Rollout on page 5101 The Assign Controller, Biped Apps, and Biped rollouts are displayed during all modes. The remaining rollouts depend on the mode. In Figure mode, Structure on page 5108 is the only additional rollout. In Footstep Mode, the rollouts displayed are: Footstep Creation on page 5120, Footstep Operations on page 5124, and Dynamics & Adaptation. In Motion Flow mode, Motion Flow on page 5235 is the only additional rollout displayed. In Mixer mode, Mixer on page 4140 is the only rollout displayed. When no modes are active, you can edit tracks and keys, set IK constraints, work with layers, and work with motion capture data. You can also create freeform animation without any of the modes active simply by turning on the Auto Key button and moving or rotating any part of the biped. Motion Panel (Biped) Once you have created a biped, use the Biped controls on the Motion panel to animate the biped, load and save Biped files, and fit the biped to a mesh representing your character. Create a biped if one does not exist, and select any part of the biped to see the controls on the Motion panel. Depending on the active mode, the Motion panel contains the following rollouts: Assign Controller Rollout (character studio) on page 5007 Biped Apps Rollout on page 5009 Biped Rollout on page 5010 Track Selection Rollout on page 5029 Copy/Paste Rollout on page 5071 Footstep Creation Rollout on page 5120 Footstep Operations Rollout on page 5124 Motion Flow Rollout on page 5235 Mixer Rollout on page 4140 Biped | 5003 Key Info Rollout on page 5049 Keyframing Tools Rollout on page 5063 Display group on page 5015 Layers Rollout on page 5087 Motion Capture Rollout on page 5273 Dynamics & Adaptation Rollout on page 5101 Structure Rollout on page 5108 Center of Mass The parent object of the biped is its center of mass, which appears as a blue octahedron near the center of the biped’s pelvis. The name of this object is the root name of the biped (Bip01 by default). The Center of Mass (COM) object is the root parent. The center of mass is sometimes referred to as the COM. 5004 | Chapter 15 Character Animation Center of Mass Animation Tracks Unlike other objects and biped body parts, the center of mass has three separate animation tracks: ■ Body Horizontal ■ Body Vertical ■ Body Turning (selected with the Body Rotation button) You can use these buttons, available on the Track Selection rollout on page 5029, to select each track as well as the COM itself. Rotating About a Different Pivot Point You can “decouple” rotation from the COM, and rotate the biped about a pivot point you choose. For instructions on how to do so, see To rotate the biped about a pivot that is not the COM on page 5032. Left: Pivot point moved to be near the biped’s feet. Right: Rotating the biped after moving the pivot. Linking the Center of Mass Object Using the Select And Link tool on page 3666 you can link the center of mass object to another object if you need to reposition an animation sequence. An example of this might be a surfer. You could create an animation of a biped Biped | 5005 running up and down the surfboard, hanging its toes off the end of the surfboard, and so on, and then link the center of mass object to the board. When you animate the surfboard, the biped animation would travel with it. The biped moves with the surfboard because the center of mass is linked to the surfboard. Because the COM is the root object in the biped hierarchy, it is the only object in the biped that you can link directly to other objects in the scene by using Select And Link. To make other body parts, such as feet and hands, follow other objects in the scene, use the technique of IK attachment: see Animating IK Attachments on page 4955. Center of Mass Shadow The center of mass shadow object, the circle between the biped’s feet on the world plane, provides a sense of the position of the character’s center of mass, relative to the feet. Another use of the center of mass shadow is to link objects to it. For example, you might link a camera and its target to the shadow object, to make the camera to follow the character. 5006 | Chapter 15 Character Animation The center of mass shadow between the biped's feet. Motion Panel Rollouts (Biped) These topics describe the main Motion panel rollouts for Biped. Assign Controller Rollout (character studio) Select a biped's COM. ➤ Motion panel ➤ Assign Controller rollout The Assign Controller rollout assigns and appends different transform controllers to individual objects. You can also assign controllers in Track View. Animation controllers are plug-ins that handle all of the animation tasks in 3ds Max. For a complete list of available Animation controllers, see Assign Controller on page 3930. Biped | 5007 Interface Assign Controller Displays a selectable list of controllers for a selected track. Once controllers have been added, right-click the Biped SubAnim entry in the list and choose Properties to display the SubAnims dialog. 5008 | Chapter 15 Character Animation Enable section Enable Selectively activates or disables the three list controllers. Choose any combination of Position, Rotation, and Scale. Position List When turned on, selects the Position controller to be collapsed into the Biped SubAnim track. Rotation List When turned on, selects the Rotation controller to be collapsed into the Biped SubAnim track. Scale List When turned on, selects the Scale controller to be collapsed into the Biped SubAnim track. Collapse section Position Collapses the Position controller when you click Collapse. Rotation Collapses the Rotation controller when you click Collapse. Don't Delete Prevents the removal of the list controller after collapsing and hides the controller instead. Per Frame Creates a key per frame during the collapse, preventing the controller from collapsing onto the key times of the biped and SubAnim controller. Collapse Performs the collapse. Biped Apps Rollout Select a biped. ➤ Motion panel ➤ Biped Apps rollout The Biped Apps rollout allows you to choose either of two tools for working with the biped motion. Interface Mixer Opens the Motion Mixer, where you can layer animation files to customize biped motion. Biped | 5009 See Using the Motion Mixer on page 4038. Workbench Opens the Workbench, where you can analyze and adjust biped motion curves. See Working with the Workbench on page 5162. Biped Rollout Select the biped ➤ Motion panel ➤ Biped rollout Use controls on the Biped rollout to put the biped into Figure, Footstep, Motion Flow, or Mixer modes, and to load and save BIP, STP, MFE, and FIG files. You'll find other controls on the Biped rollout, as well. The Modes group on the Biped rollout lets you turn on the Buffer, Bend Links, Rubber Band, Scale Stride, and In Place mode. The Display group on the Biped rollout lets you adjust how the biped is displayed, providing controls to show or hide Objects, Bones, Footsteps, and Trajectories. In addition, the Biped rollout provides controls for converting footsteps into a freeform animation, or a freeform into a footstep animation. NOTE The Modes group, Display group, and Name field are hidden by default. Click on the Modes and Display expansion bar to display them. Interface Figure Mode Use Figure mode on page 5104 to fit a biped to the mesh or mesh objects representing your character. Leave Figure mode on when you 5010 | Chapter 15 Character Animation attach the mesh to the biped with Physique. Figure mode is also used to scale a biped with a mesh attached, to make biped "fit" adjustments after Physique is applied, and to correct posture in motion files that need a global posture change. The Structure Rollout on page 5108 appears when Figure mode is active. NOTE When Figure mode is turned on, the biped jumps from its animated position to its Figure mode pose. Animation is preserved when you exit Figure mode. Footstep Mode Create and edit footsteps; generate a walk, run, or jump footstep pattern; edit selected footsteps in space; and append footsteps using parameters available in Footstep mode. Two additional rollouts display on the Motion panel when Footstep mode on page 5120 is active: ■ Footstep Creation rollout on page 5120 ■ Footstep Operations rollout on page 5124 Motion Flow Mode Create scripts and use editable transitions to combine BIP files together to create character animation in Motion Flow mode on page 5233. After creating a script and editing transitions, use Save Segment on the Biped rollout to store a script as one long BIP file. Save an MFE file; this enables you to continue Motion Flow work in progress. TIP Use Motion Flow mode to cut motion capture files together. NOTE The Motion Flow rollout on page 5235 appears when Motion Flow mode is active. Mixer Mode Activates any current Mixer on page 4038 animation on the Biped and displays the Mixer rollout on page 4140. Biped Playback Plays the animation for all bipeds unless they are excluded on the Display Preferences dialog on page 5027. This playback mode usually gives real-time playback, which you may not get if you use Play on the 3ds Max toolbar. Biped | 5011 NOTE In Biped Playback mode, the biped is displayed as bones only, with no other scene objects visible. Load File The Open dialog on page 5021 lets you load .bip, .fig or .stp files. Save File Opens the Save As dialog on page 5018, where you can save Biped files (.bip), figure files (.fig), and step files (.stp) files. Convert Convert a footstep animation to a freeform animation. This works in both directions. Displays the Convert to Freeform dialog on page 5142 or Convert to Footsteps dialog on page 5142 depending on the direction. ■ Convert uses biped foot IK Blend values to extract footsteps. ■ Use Convert to extract footsteps from an animation saved using Save Segment in Motion Flow mode. ■ Convert the animation in either direction depending on how you like to work. Convert to freeform for unrestricted key editing. Convert to footsteps to take advantage of footsteps. Move All Mode Allows the biped to be moved and rotated with its relative animation intact. You can transform the biped interactively in the viewport or with the dialog box that opens when the button is active. When this button is active, the biped’s center of mass enlarges to be more easily selected for translation. The Collapse button on the Move All dialog box allows you to reset the position and rotation values in the Move All dialog to zero, but does not change the position of the biped. Modes group NOTE The Modes group is hidden by default. To display it, click on the Modes & Display expander in the Biped rollout. Buffer Mode Edit segments of an animation in Buffer mode. Copy footsteps and associated biped keys into the buffer using Copy Footsteps on 5012 | Chapter 15 Character Animation the Footstep Operation rollout first, then turn on Buffer mode to view and edit the copied segment of your animation. TIP Paste buffered motion back to the original animation repeatedly to create looping motions. Edit footstep and biped animation that have been copied into the buffer using Copy Footsteps on the Footsteps Operation rollout. The changes can be pasted back by turning off Buffer Mode, turning on Paste Footsteps on the Footstep Operation rollout, and overlapping the buffered footsteps with the original footsteps. The buffered motion is spliced into the original animation. Rubber Band Mode Use this to reposition the biped elbows and knees without moving the biped hands or feet in Figure mode. Reposition the biped center of mass to simulate the physics of wind or weight pushing against the biped. Figure mode must be turned on to enable Rubber Band Mode. To reposition biped knees and elbows, turn on Figure mode and turn on Rubber Band mode. Select the Move transform tool, then select and drag a biped upperarm or thigh in the viewports. Use this as an aid to fitting a biped to a mesh. To reposition the biped center of mass relative to the rest of the biped skeleton, turn on Figure mode and turn on Rubber Band mode. Select the Move transform tool, then select and drag the center of mass in the viewports. Use this to account for wind force or pushing against a heavy object. See Shifting the Biped's Balance on page 4889. Biped | 5013 Moving the biped center of mass (blue diamond) behind the character, turns this default walk cycle into a struggle against a high wind. NOTE Rubber Band mode behaves differently than Non-Uniform Scale. For example, if you "Rubber-Band" the biped thigh, the thigh and biped calf objects scale proportionally to keep the biped foot stationary. Using Non-Uniform Scale, the calf retains its scale and the foot moves. Scale Stride Mode Footstep stride length and width are scaled to match the stride length and width of the biped figure. Scale Stride mode is on by default. Displays when Scale Stride mode is off. Scale Stride mode is on by default, so scaling occurs automatically when you load a .bip, .stp, or .fig file. Scaling occurs when you paste footsteps and when you scale the biped’s legs or pelvis. For example, if you load a .bip file that was saved from a larger biped, the footsteps come into your current scene scaled to match the selected smaller biped. If Scale Stride mode is off, the footsteps come into the current scene without being scaled down. If you turn off Scale Stride mode and then go into Figure mode and scale the biped up or down, the footstep stride width and length remains the same when you exit Figure mode. 5014 | Chapter 15 Character Animation In Place Mode Use In Place mode to keep the biped visible in the viewports while the animation plays. Use this for biped key editing or adjusting envelopes with Physique. It prevents XY movement of the biped center of mass during animation playback; however, motion along the Z axis is preserved. This is a three-button fly-out. In Place mode is stored with the 3ds Max file. In Place X Mode Lock center of mass X-axis motion. Use this for game export where the character stays in place but the swinging motion of the hips and upper body along the Y-axis is preserved. In Place Y Mode Locks center of mass Y-axis motion. Use this for game export where the character stays in place but the swinging motion of the hips and upper body along the X-axis is preserved. Biped keys for limbs, footsteps, and center of mass can be adjusted using In Place mode. When the center of mass is moved on the XY-axes in this mode, the footsteps move. View biped playback without requiring a follow camera. In this viewing mode, visible footsteps “slide” under the biped. For export to games, this feature is valuable since many game engines intelligently move the character’s center of mass laterally according to game play. In Place mode makes it easy to view, tune, and export animation in a manner that is complimentary to game engine playback. TIP Another way of following a moving character is to link a camera and camera target to the center of mass shadow, which is the disc between the biped’s feet. NOTE Trajectories do not display when In Place mode is active. Display group NOTE The Display group is hidden by default. To display it, click on the Modes and Display expander in the Biped rollout. Biped | 5015 Display Objects flyout This flyout lets you display bones and objects, together or independently: ■ ObjectsDisplays biped body objects; these will render if you do not turn them off before rendering. Hide the biped objects before scene rendering. You can also hide individual body objects by using the standard 3ds Max Hide controls found in the Display panel and Display Floater. ■ BonesDisplays biped bones. Bones, which do not render, are represented as the color of the corresponding links. Displaying Bones is useful for seeing exactly where the joints fall in relation to the biped objects. ■ Objects and BonesDisplays bones and objects simultaneously. 5016 | Chapter 15 Character Animation Display Footsteps flyout This flyout lets you display or hide footsteps and their numbers: ■ Show Footsteps and NumbersDisplays biped footsteps and footstep numbers. Footstep numbers specify the order in which the biped will move along the path created by the footsteps. Footstep numbers are displayed in white and do not render, but do appear in preview renderings. ■ Show FootstepsDisplays biped footsteps in the viewport, but no footstep numbers. Footsteps are represented as green and blue foot-shaped outlines by default; these are also visible in preview renderings. ■ Hide FootstepsTurns off footsteps and footstep numbers in the viewport. Twist Links Toggles the display of twist links used in biped. Default=on. Leg States When this button is on, the viewport displays Move, Slide, and Plant at each foot at the appropriate frame. Trajectories Displays trajectories for selected biped limbs. Biped | 5017 TIP You can edit keys on the biped's horizontal and vertical track by turning on Trajectories, turning on Sub-Object, selecting the horizontal or vertical center of mass track and transforming keys in the viewports. Use Trajectories when editing keyframe parameters to visualize their influence, and to compare raw and filtered motion capture data. Display Preferences Displays the Display Preferences dialog on page 5027 which is used to change footstep colors, trajectory parameters, and to set the number of bipeds to be played back when you use Biped Playback on the Biped rollout. Footstep color preference is a good way to distinguish between the footsteps of two or more bipeds in a scene. Name Rollout The Name rollout lets you change the name of the biped. When you change the name in the Biped rollout, the center of mass is renamed and the entire biped hierarchy inherits the new name. Save As Dialog (Biped) Select a Biped. ➤ File) Motion panel ➤ Biped rollout ➤ (Save The Save As dialog lets you save biped (BIP), figure (FIG), and step (STP) files. When saving FIG files (in Figure mode), the Save As dialog is a standard Windows Save File dialog. However, when you save BIP or STP files, you can save objects and animation controllers with the file. 5018 | Chapter 15 Character Animation Interface Save As dialog for a FIG, BIP, or STP file Biped | 5019 History This drop-down list lets you choose directories where you have recently saved Biped motion files. See Motion File History Lists on page 4978. File Name The name of your FIG, BIP, or STP file. Save as type Sets the file type for your saved file. ■ Saves an incremented version of the segment without overwriting an existing file. ■ Figure file (.FIG)Saves the structure and position of a biped in Figure mode. After fitting the biped to a mesh in Figure mode, save a figure file. If the biped is accidentally moved in Figure mode, reload this file. ■ Biped file (.BIP)Saves a biped motion file. A BIP file includes footsteps and keyframe data. Biped files store the complete movement and allow you to create libraries of motion. Create your own BIP library by animating the biped and saving a BIP file. ■ Step file (.STP)Save footstep timing and location data in an ASCII format. Step files contain no body keys (spine, arms, etc.). Save Segment Lets you select segments of your animation for your BIP or STP file. ■ From: Starts saving at this frame of the named animation. ■ To: Stops saving at this frame of the named animation. ■ Active Time Segment: When on, animation in the active time segment is saved. ■ Edited Transition Interval: Saves frames in a transition only. To activate this button, select a clip in the Motion Flow rollout ➤ Script list, open the Transition Editor, and then click Save File and in the Save As dialog, turn on Save Segment At Current Position And Rotation. TIP Saving only the motion in the transition can be useful in game development. 5020 | Chapter 15 Character Animation ■ Biped Animation Period When selected, only time containing biped animation is saved. A Keyframe per Frame Saves a key at every frame. Turn this on if you plan to extract footsteps using Load Motion Capture on the Motion Capture rollout. Save MAX Objects group Save MAX Objects When on, any IK, Head Target, or linked object in the scene is saved with the BIP file. Object list Each object associated with the biped in the scene is displayed here along with its object type. All When on, all associated objects are saved with the BIP file. Selected When on, only the highlighted objects are saved with the BIP file. Save List Controllers group Save List Controllers When on, any animation controllers assigned to the biped are saved with the BIP file. Controller List Each animation controller used with the biped in the scene is displayed here along with the object that it controls. All When on, all associated animation controllers are saved with the BIP file. Selected When on, only the highlighted animation controllers are saved with the BIP file. Open Dialog (Biped) Select a biped. ➤ File) Motion panel ➤ Biped rollout ➤ (Load The Open dialog lets you load biped (BIP), figure (FIG), and step (STP) files. When you load a FIG file (in Figure mode), the Open dialog is a standard Windows Open File dialog. However, when you load a BIP or STP file, you can preview the animation and control how much information is loaded into your biped. Biped | 5021 NOTE This option is unavailable when you load a BIP file into a clip or onto a biped that is in Edit Clip mode, because all the clips in the motion flow would have to be adapted. 5022 | Chapter 15 Character Animation Interface Open dialog for BIP or STP files Biped | 5023 History This drop-down list lets you choose directories where you have recently opened Biped motion files. See Motion File History Lists on page 4978. File Name The name of your FIG, BIP, or STP file. Files of Type Sets the type of file to load. ■ Figure file (.FIG)Load a Figure file. Figure mode must be active to load a Figure file. Figure files allow you to apply the structure of one biped to another. Reload a Figure file if you accidentally lose your biped Figure mode pose; this pose is the biped fitted to a mesh. s ■ Biped file (.BIP)Load a biped motion file (clip). Motion files include footsteps, keyframe settings, the biped scale, and the active gravity value (GravAccel). IK Blend values for keys and IK objects and their animation are also loaded. If you select a BIP file saved from a scene whose frame rate differs from that of the current scene, 3ds Max opens a Frame Rate Change dialog on page 5026, which prompts you to choose how to adapt the original animation. If you select a BIP file saved with a previous version of character studio, the preview will not be visible. After selecting the file for loading, you will be notified that the file is obsolete and should be resaved, unless you have indicated that you no longer want to see this message. ■ Step file (.STP)Load footsteps without body keyframes. Using this ASCII file format enables developers to write programs that generate step files for biped motion. Biped will generate body keys for the loaded steps. See stp.rtf in the cstudio\docs directory for more details on the step file format. NOTE In Figure mode, you can load only FIG files. In other modes, you can load BIP and STP files. Motion Preview Lets you scrub through the animation in a BIP or STP file manually before opening it. Restructure biped to match file When on, the structure of the current biped is changed to match the structure in the BIP file. Set lowest starting foot height to Z=0 (.bip files only) Sets the lowest starting foot height to Z=0. This is an option in the Load File dialog. Default=On. In Biped, the height of a motion clip can be retained. This is important if you want to retain the height of a motion clip for motions adapted to characters of different sizes. If, for example, the character is jumping off a rock and you want to retain the Z position of the character, you would turn this option off. Leave this option off if Motion Flow motions must be blended that begin and 5024 | Chapter 15 Character Animation end at different heights, such as three clips that have the character mounting a bicycle, riding the bicycle, and dismounting the bicycle. Turning off this option can, however, cause a jump in the motion during motion flow transitions. Turn this on for smooth transitions in Motion Flow mode. If adaptation takes place, the height is set so that the lowest foot at frame 0 starts at the Z=0 height. This lines up clips along the Z axis and creates smooth transitions. TIP Use Load Motion Capture File on the Motion Capture rollout on page 5273 to load the raw version of the motion capture BIP files included with 3ds Max. These files have no footsteps and keys at every frame. Loading files using Load Motion Capture File allows you to filter the data and extract footsteps. Load MAX Objects group Load MAX Objects When on, character studio will import any IK, Head Target, or linked object saved with the BIP data. Object list Each object saved with the BIP file is displayed in this list along with its object type. The only way to eliminate an object from the animation is to resave the BIP file without it and reload. NOTE The settings for loading 3ds Max objects are only active if Load MAX Objects is checked and there are objects in the data. Prompt for Duplicates Opens a Merge dialog for each object in the BIP file that has a duplicate in the scene. In this dialog, you can Merge, Skip, or Delete Old. If Prompt for Duplicates is off, the objects in your scene will be automatically overwritten. Retarget When on, the position of the objects in the BIP file adapt to the size of the target biped, based on either height or limb sizes. Scale IK Object's Size When on, the imported objects are scaled in size to match the target biped. Load List Controllers group Load List Controllers When on, and sub-animation controllers saved with the BIP file are loaded onto your target biped. Controller list Displays the sub-animation controllers in the BIP file. Biped | 5025 NOTE The only way to eliminate a controller from the animation is to resave the BIP file without it and reload. Frame Rate Change Dialog (Biped) Select a biped. ➤ Motion panel ➤ Biped rollout ➤ File) ➤ Frame Rate Change dialog (Load Biped opens this dialog if you load a BIP file onto a Biped, and the BIP was saved from a scene with a different frame rate than the current scene. Interface QUANTIZE (The default.) Adjusts the animation so that keys occur at frames. This might alter the timing of the animation. MAP FRAMES Maps frames at the old rate onto frames at the new rate. The timing of the animation remains constant, relative to the new frame rate, but it might become shorter or longer than the original animation. 5026 | Chapter 15 Character Animation Display Preferences Dialog (Biped) Select a biped ➤ ➤ Motion panel ➤ Biped rollout ➤ Display group (Display Preferences) Use the controls in the Display Preferences dialog to change footstep colors and trajectory parameters, and to set the number of bipeds to play back when you use Biped Playback on the Biped rollout. You access the Display Preferences dialog by clicking the Display Preferences button on the Display group in the Biped rollout. Interface Biped | 5027 Trajectories group NOTE Trajectories do not display using In Place mode. Bone base Displays bone base trajectories. Bone Tip Displays bone tip trajectories (default). Show Entire Trajectory Displays trajectories for all animated frames. Before Trajectory Sets the number of frames to display trajectories before the current frame. After Trajectory Sets the number of frames to display trajectories after the current frame. Using Before and After Trajectory will result in a “traveling” trajectory display that will move with the biped through space. Footsteps group Left Selects the color for left footsteps. Click the color swatch next to this selection to display the Color Selector and set the color for left footsteps. Right Selects the color for right footsteps. Click the color swatch next to this selection to display the Color Selector and set the color for right footsteps. Generate Various Colors Asks whether you want different colors for left and right footsteps. Based on your response, generates various colors for footsteps in the viewports. This works with multiple bipeds. Generate Normal Colors Changes right footsteps to blue and left footsteps to green, the default. Applies to all bipeds in the viewports. Viewport Colors in Track View Displays viewport footstep colors in Track View. Normal Colors in Track View Displays normal footstep colors in Track View. Show All Shows all footsteps. Hide All Hides all footsteps. Show All Numbers Shows all footstep numbers. Hide All Numbers Hides all footstep numbers. Show and hide are useful when there are multiple bipeds in the viewports. Playback group Controls in this group limit the number of bipeds to play back when you use Biped Playback on the Biped rollout on the Motion panel. 5028 | Chapter 15 Character Animation Show Time Displays frame numbers in the viewport during playback. All Bipeds Lists all bipeds in the scene. Select a biped name in the window and click the right arrow to move it into the list of bipeds that will be visible during playback with Biped Playback. Bipeds Visible in Playback Lists bipeds visible during playback with Biped Playback. Select a biped name and click the left arrow to exclude it from this list. Track Selection Rollout Select a biped ➤ Motion panel ➤ Track Selection rollout The Track Selection rollout give you specialized tools for manipulating the biped center of mass (COM) on page 5004. The center of mass object is the root of the biped hierarchy, and controls the entire biped structure. Changing its position and orientation affects the biped as a whole, which is an important part of posing and animating the biped. Also available on this rollout are tools for selecting symmetrical and opposite biped body parts. You can select the COM in various ways: ■ If the viewport rendering method on page 8963 is set to Wireframe, you can select the COM in your viewport; it’s an octahedron located near the center of the biped's pelvis. ■ You can turn on Move All Mode on the Biped rollout on page 5010, which enlarges the COM in your viewport. This is useful in shaded viewports where the biped pelvis covers the center of mass. ■ You can open the Select From Scene dialog on page 184, which displays all visible objects in your scene. The first listed biped item (Bip01, for example) usually refers to the root; you can select it from there. ■ You have access to three tools on the Track Selection rollout (on the Motion panel) to edit the COM's position and orientation: Body Horizontal, Body Biped | 5029 Vertical, and Body Rotation. Choosing one automatically selects the center of mass. Once the biped's center of mass is selected, you can move or rotate it using the Transform gizmo on page 9334. Controlling the COM using the Track Selection rollout tools is sometimes quicker because selecting the center of mass in your viewports can be difficult if your biped resides inside a bigger rigged model. As long as you select your biped by any limb, activating the COM tools from the Track Selection rollout automatically selects the center of mass with the proper Transform gizmo: ■ Body Horizontal and Body Vertical enable the Move gizmo. ■ Body Rotation enables the Rotate gizmo. When you key the COM's position or orientation using Set Key on page 8682 or Auto Key on page 8679, the animation data is stored within the respective biped transform tracks. The biped Transform tracks contain the COM keyed data. See also: ■ Biped Color-coded Keys and Trajectories on page 5153 Procedures To Edit the COM's position and orientation: 1 Create a biped. 5030 | Chapter 15 Character Animation 2 On the turn on Motion panel, expand the Track Selection rollout and (Body Horizontal). The Move Transform gizmo appears at the COM's location, highlighting the X and Y axes because they are referring to the biped Horizontal Transform track. The Transform gizmo centered on the biped's COM. TIP To avoid deselecting the COM inadvertently, you can use Lock Selection on page 3942 to keep your selection on the center of mass, ignoring all other objects in your scene. TIP You can scale the Transform gizmo using the - (hyphen) and = (equal sign) shortcut keys. Scaling the gizmo makes it easier to use, but does not affect the transform values. 3 Select the Move gizmo's Z axis. This turns off Body Horizontal and turns on Body Vertical. 4 On the Track Selection rollout, turn on (Body Rotation). 3ds Max replaces the Move Transform gizmo with the Rotate Transform gizmo. You can now change the biped's orientation. Biped | 5031 To Lock all Biped COM Tools: This procedure follows the concept from the previous procedure, and centers on selecting multiple COM tracks at the same time, as well as locking them. 1 On the Track Selection rollout, turn on 2 Turn on (Body Horizontal). (Lock COM Keying). Lock COM Keying allows you to activate all center of mass tracks at the same time. 3 Turn on both 4 (Body Horizontal) and (Body Rotation). Select any other part of your biped. The COM track controls become inactive. Note that Lock COM Keying is storing the selected controls. 5 Reselect the biped COM either by selecting the blue octahedron near the center of the biped's pelvis, or by clicking one of the three COM track controls. Lock COM Keying restores the selected controls. To rotate the biped about a pivot that is not the COM: This is an example that shows the biped falling over by rotating about its feet. 5032 | Chapter 15 Character Animation NOTE These steps do not work when this mode always uses World coordinates. 1 (Move All Mode) is active, because Select both of the biped’s feet, and set Planted keys for them. 2 Select the biped’s COM. 3 Click (Select And Rotate) to activate it, and then from the Use Center flyout, choose (Use Transform Coordinate Center). 4 From the Reference Coordinate System drop-down list, choose Pick. TIP You can also use a Working pivot on page 3800 in place of one you pick. 5 In a viewport, click the pivot point you want to use. For this example, click a pivot point near the feet. 6 On the Track Selection rollout, click it on, then turn on all three tracks: Vertical), and (Lock COM Keying) to turn (Body Horizontal), (Body (Body Rotation). IMPORTANT This step is essential if you want to animate the rotation. If the COM is not locked, and all three tracks are not turned on, then when you click Set Key, 3ds Max sets keys only on those tracks that are selected. The resulting animation can be strange and unexpected. Biped | 5033 7 On the Key Info rollout, click (Set Key). WARNING You must use the Biped Set Key. You cannot use Auto Key for this operation. 8 Move to a new frame, rotate the biped, and click (Set Key) again. 9 Continue working this way until the rotation is complete. To return to rotating the biped about its COM, choose World from the Reference Coordinate System drop-down list. Interface Body Track Tools (Center of Mass Tracks) Body Horizontal and Body Vertical refer to the center of mass's translation axes while Body Rotation focuses on its rotate axes. Once you turn them on, you can move or rotate the COM by either using the Transform gizmo, by entering values in the Coordinate Display area on page 8669. TIP You can also set COM positions using the Tension, Continuity, and Bias values on the Key Info rollout on page 5049 (in the TCB group). When you activate Body Horizontal or Body Vertical, you have access to advanced Biped Dynamics parameters on page 9106, such as Balance Factor on page 9101 and Ballistic Tension on page 9102, which you can control from the Key Info rollout on page 5049 and Dynamics & Adaptation rollout on page 5101. NOTE Tension, Continuity, and Bias affect the COM Body Vertical keys only when the value of Dynamics Blend on page 9141 is less than 1.0. To turn off gravity at a vertical center of mass key, set the value of Dynamics Blend to 0.0. TIP To view the way a parameter change affects the animation, Turn on Trajectories on page 9334. 5034 | Chapter 15 Character Animation Keyed keys for COM tracks are color coded as follows: ■ Keys containing Body Horizontal tracks are red. ■ Keys containing Body Vertical are yellow. ■ Keys containing Body Rotation are green. NOTE If a frame contains multiple keyed COM tracks, the key's color code is divided accordingly. A key's color reflects its keyed COM tracks. Body Horizontal Selects the center of mass to edit horizontal biped motion. The Body Horizontal track has a Balance Factor on page 4892 parameter that automatically orients the biped to maintain balance. This saves the animator from having to reposition the pelvis when the biped leans forward, backwards, or sideways. NOTE You can animate Biped Dynamics on page 9106 parameters from no effect to full effect at each keyframe. Body Vertical Selects the center of mass to edit vertical biped motion. The Body Vertical track uses the Dynamics Blend parameter to control gravity in a footstep animation. A Dynamics Blend value of 1.0 uses the value of GravAccel on page 9181 (global gravity value) to calculate an airborne trajectory for the biped. No keyframes are required to position the biped in the air, a trajectory is calculated automatically. A value of 0.0 uses Spline Dynamics for the vertical position of the biped; you must create keyframes to position the biped vertically. The Body Vertical track also has a Ballistic Tension on page 9102 parameter that controls how much the biped knees bend when the biped lands from an airborne period. This means that keys do not need to be created at the lowest position of the biped after landing; a trajectory is calculated automatically. NOTE You can create keys manually to override the calculated trajectory during the landing period. However, vertical keys must have Dynamics Blend=0.0 in order to override fully the trajectory during the airborne period. Biped | 5035 Body Rotation Selects the center of mass to edit biped rotational motion. You can rotate the biped about a pivot point that is different from the COM. For instructions on how to do so, see the “Procedures” section above. Lock COM Keying When on, allows you to select multiple COM tracks at the same time. Once locked, the tracks are stored in memory, and are remembered every time the COM is selected. NOTE Locked COM tracks are also honored after a scene reset or a session change. Symmetrical Selects the matching object on the other side of the biped. For example, if the right arm is selected, clicking Symmetrical Tracks selects the left arm too. You can then make changes to both sides of the body at once. Symmetrical works for single and multiple biped parts. Opposite Selects the matching object on the other side of the biped, and deselects the current object. For example, if the right arm is selected, clicking Opposite Tracks selects the left arm and deselects the right arm. You can use Opposite Tracks for single or multiple objects. Quaternion/Euler Rollout Select the biped ➤ Motion panel ➤ Quaternion/Euler rollout This rollout contains options to switch between Euler or quaternion controllers on biped animations. These choices offer alternative ways to control an animation in the Curve Editor. For more details, refer to Working with Euler Curves on Biped Animation on page 4971. Procedures To switch between quaternion and Euler rotation controllers: 1 Create a biped. 2 Turn on (Auto Key). 5036 | Chapter 15 Character Animation 3 Rotate the biped's upper arm so it extends forward. 4 Go to frame 20 and 5 Go to frame 40 and orientation. rotate the upper arm so it extends sideways. rotate the upper arm back to its original From left to right, the biped at frame 0, 20, and 40. In the Motion Panel, on the Quaternion/Euler rollout, notice that the Quaternion option is active by default. NOTE If you change options for that biped limb, your choice is preserved in the 3dsmax.ini on page 42 file, from which it is restored after a scene reset or session change. 6 On the Biped Apps rollout, click Workbench to open it. Biped | 5037 The animation is displayed as three separate TCB rotation curves labeled “Quaternion Rotation”. 7 On the Quaternion/Euler rollout, choose the Euler option. The curves have been converted to display Euler controlled rotations. You now have access to the curve's tangent handles to change the curve's interpolation. The animation is displayed as three separate Euler curves labeled “Tangent Euler Rotation”. 8 Choose a different axis ordering from the Axis Order drop-down list (under the Euler option). The curve display changes to reflect the new ordering while preserving the biped posture. 5038 | Chapter 15 Character Animation 9 Choose the Quaternion option to convert the curves back to a TCB interpolation. NOTE Converting a curve from Euler to quaternion can affect its interpolation. See Working with Euler Curves on Biped Animation on page 4971 for details. Interface The following options set the rotation controller for biped animations. ■ QuaternionConverts the selected biped animation to quaternion rotation. If the biped selection has not been animated yet, this starts as the default option. If you change options for any biped limb, your choice is preserved in the 3dsmax.ini file, from which it is restored after a scene reset or session change. ■ EulerConverts the selected biped animation to Euler rotation. Axis Order Lets you choose the order in which the Euler rotation curves are calculated. Available only when Euler is active. Default=YXZ. Changing the ordering reflects on the curves, which are modified accordingly. However, this change does not affect the animation itself. NOTE This setting is independent of the Workbench Axis Order setting. Twist Poses Rollout Select a biped. ➤ Motion panel ➤ Twist Poses rollout The toolset of this rollout lets you create and edit twist poses for a biped's limbs. You can either use the rollout's preset poses (which you can modify and rename), or create your own. When you add a new pose, you establish a Biped | 5039 reference between the selected's limb relative orientation and the rollout's Twist value of 0 (which means no twist). When more than one reference pose are set for a rotated limb, the limb's twisting is calculated based on the nearest pose. TIP It is suggested that you add twist poses for all major limb rotated poses. This ensures that rotating your biped's limb produces well-calibrated twisting. NOTE You don't technically have to enable twist links on page 5116 to use the Twist Poses rollout toolset. However, if your biped does not contain twist links, the Twist and Bias settings are not used. The Twist Poses rollout tools only affect limbs with three degrees of freedom (DOF), such as upper arms and thighs, because you can control their twist links by rotating them. Two-DOF limbs (forearms and calves, for instance) differ due to the fact that you can only control their twist links if you rotate their child limb. The upper arm can twist itself while the forearm needs the wrist to twist it. 5040 | Chapter 15 Character Animation NOTE If you select a two-DOF limb, the only available setting is the Bias value; you can change it to adjust the rotation distribution along the twist links. Procedures Example: To Add and Edit Twist Poses: This procedure takes into account the concept of adding twist links on page 5116 to biped limbs and concentrates on using the tools from the Twist Poses rollout to set up basic poses. 1 Prepare a biped with five twist links on each upper arm. TIP You can use See-Through on page 143 on the biped's limbs to better distinguish the twist links inside. 2 Exit 3 (Figure Mode), and then expand the Twist Poses rollout. Select the right upper arm. The rollout controls are enabled because you selected a three-DOF limb. 4 Use (Previous Key) and pose presets. (Next Key) to cycle through the different Biped | 5041 TIP You can often use these presets as a starting point for posing your limbs. 5 Choose pose6 from the drop-down list. The biped's arm extends upwards and shows some twisting. 6 Click Set. This assigns the Twist value of 0 to the upper arm's twist links. NOTE A twist change is always reflected on both sides (in this case, both upper arms). 7 Rotate the upper arm locally around its Y axis so it extends to the side. 5042 | Chapter 15 Character Animation 8 Click Add to create a new pose. Rename it Arm At Side. This new pose resets the current Twist value of the twist links. 9 Rotate the upper arm locally around its X axis. The twisting in the upper arm is calculated based on the limb's proximity to the saved poses. Rotate the upper arm to verify the twist links. Biped | 5043 Interface Previous/Next Key Scrolls and selects through the list of twist poses. Twist Poses List Lets you choose a preset or saved pose to apply to the biped's selected limb. By default, five twist poses are available for each three-DOF limb: Up, front, lateral, down, and back. You can also rename the current twist pose. Twist Sets the amount of twist rotation (in degrees) applied to the twist links linked to the selected limb. The twist links from the opposite side are so affected. Default=0. Range=–180 to 180. NOTE Changing the Twist value automatically resets the current limb's orientation to the active twist pose. Bias Sets the distribution of rotation along the twist links. A setting of 1.0 concentrates the twist towards the top link while a setting of 0.0 instead concentrates it towards the bottom link. The default setting is 0.5, distributing the rotation evenly throughout the links. The twist links from the opposite side are so affected. NOTE Changing the Bias value automatically resets the current limb's orientation to the active twist pose. NOTE You can also set a Bias value for Two-DOF limbs. Add Creates a new twist pose based on the selected limb's orientation and resets Twist and Bias to their default values. NOTE Adding a new pose for one limb automatically makes it available for the limb on the opposite side. Set Updates the active twist pose with the current Twist and Bias values. Delete Removes the current twist pose. Default Replaces all twist poses of all three-DOF limbs with five default preset poses. 5044 | Chapter 15 Character Animation Bend Links Rollout Select the biped ➤ Motion panel ➤ Bend Links rollout This toolset combines the Bend Links Mode, previously located on the Biped rollout, with other tools to allow an easier control over a chain link, such as a biped spine, neck or tail. NOTE Activating one of the Bend Links rollout modes deactivates any of the others. However, clicking Zero Twist or Zero All maintain any mode currently active. NOTE The Bend Links rollout is displayed in Mixer Mode, Motion Flow Mode or Footstep Modes. Procedures To bend a spine naturally using Bend Links Mode: 1 Select any link in the biped's spine. Biped | 5045 2 Rotate the spine link. Notice that all chain links rotates the same way. 3 On the Bend Links rollout, click 4 (Bend Links Mode) to activate it. Rotate the spine link. The other links in the chain rotates to match the single link's rotation, creating a natural bend along the spine. To twist a spine naturally using Twist Links Mode: 1 Select any link in the biped's spine. 2 On the Bend Links rollout, click 3 (Bend Links Mode) to activate it. Rotate the spine link until you reach a pronounced bend. 5046 | Chapter 15 Character Animation 4 Rotate the spine link in local X. Notice that all chain links rotates in a weird way due to the fact that they do not maintain their relationship with the two other axis. Undo the rotation. 5 On the Bend Links rollout, click 6 (Twist Links Mode) to activate it. Rotate the spine link in local X. The rotation averages up the spine for all links while the spine maintains its existing profile. To twist a spine link without affecting the chain using Twist Individual Mode: 1 Select the bottom link in the biped's spine, just above the pelvis. 2 On the Bend Links rollout, click 3 Rotate the link so the spine's shape follows a noticeable curvature. 4 On the Bends Links rollout, click it. 5 (Bend Links Mode) to activate it. (Twist Individual Mode) to activate Select a link in the middle of the spine and rotate it in local X. The rotation affects only the selected link. To smooth out a spine using Smooth Twist Mode: 1 Select the bottom link in the biped's spine. Biped | 5047 2 On the Bends Links rollout, click it. (Twist Individual Mode) to activate 3 Rotate the link 45 degrees in local X. 4 Select and rotate the spine's top link –45 degrees in local X. 5 On the Bends Links rollout, click it. 6 (Smooth Twist Mode) to activate Rotate either the bottom or top spine link. The chain links rotates to smooth out the orientation difference between the two link extremities. Adjust the Smoothing Bias control to distribute the chain's rotation towards the base or top link. Interface Bend Links Mode This mode can be used to rotate multiple links of a chain without having to select all of them beforehand. Bend Links Mode transfers the rotation of one link to the other links, following a natural curvature. NOTE Using Bend Links Mode in Auto Key mode or setting a key after twisting results in keys on all the links of the selected chain. See Separate Tracks on page 5063 for further details. Twist Links Mode Similar to Bend Links Mode, this mode takes the rotation in local X applied to the selected link and increment it equally 5048 | Chapter 15 Character Animation throughout the rest of the chain while maintaining the relationships between the links in the other two axes. NOTE Using Twist Links Mode in Auto Key mode or setting a key after twisting results in keys on all the links of the selected chain. See Separate Tracks on page 5063 for further details. Twist Individual Mode Similar to Bend Links Mode, this mode allows a selected chain link to be rotated in local X without affecting its parent or child. The chain therefore maintains its shape while the individual link is adjusted. NOTE Using Twist Individual Mode in Auto Key mode or setting a key after twisting results in keys on all the links of the selected chain. See Separate Tracks on page 5063 for further details. Smooth Twist Mode This mode takes into account the orientation in local X of the chain's first and last links in order to distribute the rotation of the other links. This results in a smooth rotation between every chain link. The rotation distribution can be set by adjusting the Smoothing Bias control or by rotating either the first or last link of the chain. Smoothing Bias Sets the rotation distribution based on a value between 0.0 and 1.0. 0.0 biases towards the first link and 1.0 towards the last link of the chain. The chain's smoothness can be interactively set by dragging the bias setting between those 2 values. Zero Twist Resets every chain link's rotation to 0 in local X based on the current orientation of the chain's parent. This does not change the current shape of the chain. Zero All Resets every chain link's rotation to 0 in all axes based on the current orientation of the chain's parent. This adjusts the current shape of the chain so it becomes parallel to the biped. Key Info Rollout Select the biped. ➤ Motion panel ➤ Key Info rollout Biped | 5049 These tools are for navigating and editing biped keys. Tools in the Key Info rollout allow you to do the following: ■ Find the next or previous key for the selected biped body part. ■ Use the Time spinner to slide a key back and forth in time. ■ Change Tension, Continuity, and Bias for a key and display trajectories. ■ Adjust biped dynamics. ■ Set planted, sliding, or free keys. ■ Set IK constraints and pivots for the biped hands and feet. When the Body Vertical on page 5035 COM (center of mass) track is active, you can change the vertical dynamics of the motion, on a key-by-key basis. When the Body Horizontal COM track is active you can change the balance factor for shifts in weight distribution. NOTE On the time slider or in Track View, you can move one Biped key past another. See Moving Keys on page 5152. Activating Parameters Groups of the Key Info rollout are unavailable depending on what part of the biped is selected and if a key is current. Body Vertical on page 5035, Body Horizontal on page 5035, and Body Rotation on page 5036 refer to the three tracks used to animate the biped center of mass. Select one of the three center of mass tracks on the Track Selection rollout, then use Next Key or Previous Key to find a key to edit. ■ If Body Vertical is active and a key is current, then parameters for Dynamics Blend, Ballistic Tension, Z Position, Time, and TCB parameters (Tension, Continuity and Bias) are active. Ballistic Tension is available only at keys just before or just after an airborne state, as between footsteps in a run or jump. NOTE TCB controls are not effective at Body Vertical keys just before and just after an airborne period, between footsteps, if Dynamics Blend=1. Biped Dynamics calculates the airborne trajectory; in this case, lower the value of Dynamics Blend to use the TCB controls. In a walk sequence where footsteps overlap, Dynamics Blend has no effect you can use and TCB controls. 5050 | Chapter 15 Character Animation ■ If Body Horizontal is selected and a key is current, the Balance Factor parameter, XY Position, Time, and TCB parameters are active. Z Position, Dynamics Blend, Ballistic Tension are unavailable. ■ If Body Rotation is selected and a key is current, only the Time and TCB parameters are active. ■ If a biped hand is selected and a key is current, then all parameters are active except parameters in the Body Dynamics group. ■ If a biped foot key is selected and current, then all parameters are active except for parameters in the Body Dynamics group. ■ If a biped leg is selected and a key is current, then Time and TCB parameters are active. XYZ Position and Body Dynamics parameters are made unavailable. In a footstep animation, Time is made unavailable at a Touch and Lift key. ■ If a biped arm is selected and a key is current, then Time and TCB parameters are active. XYZ Position and Body Dynamics parameters are made unavailable. Interface The Key Info rollout is divided up into several groups: TCB, IK, Head, Body, and Prop. You can expand and hide each of these groups by clicking the line next to its name. Next Key-Previous Key Find the next or previous keyframe for the selected biped part. The field displays the key number. Time Enter a value to specify when in time the key occurs. Biped | 5051 Use this to fine tune keyframe timing on a character by moving a key backwards and forwards in time. Set Key Creates keys at the current frame when you are moving biped objects. This is identical to Set Key on the 3ds Max toolbar. You can experiment with different biped poses without updating the motion until you find the desired pose. You can also quickly fine tune your motion by setting a key and adjusting the key parameters on the Key Info rollout without having to transform the biped in the viewports. NOTE If a biped key is current, then TCB, XYZ position spinners, and IK Blend parameters can be updated without using Set Key or having the Auto Key button turned on. NOTE If 3ds Max bones using the IK Controller or 3ds Max Particle Emitters are linked to the biped, or if you are displaying 3ds Max trajectories or ghosting, the Auto Key button must be on while the biped is positioned. These objects update their parameters in real time as they are positioned. Delete Key Deletes the key of the selected object at the current frame. By default, biped arm, hand, and finger keys are stored in the clavicle track. If you delete keys for any one of these objects, you lose positions for the rest of the arm objects at that frame. If you plan on extensive hand animation, turn on Arms in the Separate Tracks group of the Keyframing Tools rollout. This creates separate tracks for each biped arm object. Deleting an upper arm key will preserve hand and finger keys. Set Planted Key Sets a biped key with IK Blend=1, Join To Previous IK Key turned on, and Object selected in the IK group. In a Footstep or Freefrom animation, all footsteps that do not slide should have Join To Previous IK Key turned on. TIP Right-click to open the Planted Key Defaults dialog on page ?, which lets you set new default values for subsequent TCB keys. Set Sliding Key Sets a biped key with IK Blend=1, Join To Previous IK Key turned off, and Object selected in the IK group. This creates a sliding footstep. Sliding footsteps display in the viewports with a line running through 5052 | Chapter 15 Character Animation the middle of the footstep. Sliding footsteps are understood as footsteps with moving IK constraints. In a Footstep or Freeform animation, if the foot slides rather than being planted, use Set Sliding Key. TIP Right-click to open the Sliding Key Defaults dialog on page ?, which lets you set new default values for subsequent TCB keys. Set Free Key Sets a biped key with IK Blend=0, Join To Previous IK Key turned off, and Body selected in the IK group. In a Footstep or Freeform animation, a biped leg in a move state should have a “free” key. TIP Right-click to open the Free Key Defaults dialog on page ?, which lets you set new default values for subsequent TCB keys. To change the default values for TCB keys, right-click either Set Planted Key, Set Sliding Key, or Set Free Key to open the respective dialog. Use When on, subsequent keys set with either Set Planted Key, Set Sliding Key, or Set Free Key use the TCB values from the respective dialog. Otherwise, the system uses the default values. Tension Controls the amount of curvature in the animation curve. Default=25. Continuity Controls the tangential property of the curve at the key. Default=25. Bias Controls where the animation curve occurs with respect to the key. Default=25. Trajectories Shows and hides trajectories for the selected biped object. You can edit keys on the biped's horizontal and vertical track by turning on Biped | 5053 Trajectories, turning on Sub-Object, selecting the horizontal or vertical center of mass track, and transforming keys in the viewports. ■ You can bend the horizontal center of mass trajectory around selected horizontal keys by using the Bend Horizontal spinner in the Keyframing Tools rollout. ■ Display trajectories to view how parameter changes in the Key Info rollout affects the biped motion. Changing Tension, Continuity, and Bias in the Tcb group affects the trajectory around the current key. Changing the value of IK Blend for a hand or foot will affect the trajectory between keys. ■ Leave Trajectories on and turn on Show Buffer Trajectories on the Motion Capture rollout to compare a raw motion capture trajectory with the filtered trajectory on the biped. This assumes a motion capture file has been loaded. ■ Changing Dynamics Blend for a center of mass vertical key or changing the value of GravAccel will change gravity in a foostep animation and will therefore affect the trajectory. TCB group 5054 | Chapter 15 Character Animation You can use the TCB controls to adjust easing and trajectories on keys that already exist. XYZ Position Reposition the selected biped part using these spinners. A hand or foot can be repositioned in world coordinate XYZ. The biped center of mass can also be positioned using these spinners. TCB Graph Charts the effect that changing the controller properties will have on the animation. The red mark at the top of the curve represents the key. The marks to the left and right of the curve represent an even division of time to either side of the key. The TCB graph is a stylized representation of the animation around a single key. Ease To Slows the velocity of the animation curve as it approaches the key. Default=0. High Ease To causes the animation to decelerate as it approaches the key. The default setting causes no extra deceleration. Ease From Slows the velocity of the animation curve as it leaves the key. Default=0. High Ease From causes the animation to start slow and accelerate as it leaves the key. The default setting causes no change of the animation curve. Tension Controls the amount of curvature in the animation curve. High Tension produces a linear curve. It also has a slight Ease To and Ease From effect. Low Tension produces a very wide, rounded, curve. It also has a slight negative Ease To and Ease From effect. The default value of 25 produces an even amount of curvature through the key. Continuity Controls the tangential property of the curve at the key. The default setting is the only value that produces a smooth animation curve through the key. All other values produce a discontinuity in the animation curve causing an abrupt change in the animation. Default=25. High Continuity values create curved overshoot on both sides of the key. Low Continuity values create a linear animation curve. Low continuity creates a linear curve similar to high tension except without the Ease To and Ease From side effect. The default setting creates a smooth continuous curve at the key. Biped | 5055 Bias Controls where the animation curve occurs with respect to the key. Default=25. High Bias pushes the curve beyond the key. This produces a linear curve coming into the key and an exaggerated curve leaving the key. Low Bias pulls the curve before the key. This produces an exaggerated curve coming into the key and a linear curve leaving the key. The default setting distributes the curve evenly to both sides of the key. IK group This group lets you set IK keys and adjust parameters for IK keys. NOTE You can make and adjust settings for multiple selected IK-capable biped parts. For example, say at the same frame one foot has a planted key and the other has a sliding key. This means they both have (by default) IK Blend values of 1.0 and Ankle Tension values of 0.0. If you select both feet, all of the Key buttons near the top of the Key Info rollout are available, and you can change IK Blend and Ankle Tension values for both. IK Blend Determines how character studio mixes forward kinematics and inverse kinematics to interpolate an intermediate position. An example of forward kinematics is moving the arm to control the hand. An example of inverse kinematics is moving the hand to control the arm. Activates when a biped arm or leg (hand and foot) key is current. ■ 0 with Body on page 5058 chosen is normal biped space (forward kinematics). ■ 1 with Body on page 5058 chosen is inverse kinematics, which creates more straight-line motion between biped keys. ■ 1 with Object on page 5058 chosen, but no IK Object specified on page 5058, puts the limb fully into world space. 5056 | Chapter 15 Character Animation ■ 1 with Object on page 5058 chosen and an IK Object specified on page 5058 puts the biped limb into the coordinate space of the selected object; the biped limb follows the specified object. Ankle Tension Adjusts the precedence of the ankle joint over the knee joint. When set to 0, the knee takes precedence. When set to 1, the ankle takes precedence. This effect is only visible between keyframes. Select Pivot Activate to designate pivots around which the biped hands and feet should rotate. After clicking a pivot in the viewports, turn off Select Pivot and then rotate the hand or foot. TIP For better accuracy in setting pivots, use the Pivot Selection dialog (see following). Pivot Selection Dialog Opens a small dialog that shows the current pivot for the selected limb on the limb's respective hand or foot, and lets you change it. When the chart is green (or blue) and red, indicating that you're on an IK key, the red dot indicates the current location of the pivot. To designate a different pivot, click another dot on the chart. This provides an alternative method to using Select Pivot (see preceding). The dialog is named according to the displayed hand or foot, depicts the actual number of digits and joints in use, and resizes itself accordingly. The displayed chart uses three different schemes, depending on the context: ■ Green/blue and red dots for the right/left hand or foot when on an IK key (pivot is editable) ■ Gray and white dots when in an IK period but not on a key (pivot is visible but not editable) ■ No dots if you're in an FK (forward kinematics) period, or no limb or multiple limbs are selected (dialog disabled; no relevant data exist) These are shown in the following illustration: Biped | 5057 NOTE When on an IK key, the left hand and foot charts use a blue/red color scheme: When you have turned on Knuckles on page 5114, the hand chart shows all bones; for example: Join to Previous IK Key When on, places the biped foot in the coordinate space of the previous key. Turn off to put the biped foot into a new reference position. Turn off and move the biped foot to create a sliding footstep, for example. Body The biped limb is in biped coordinate space. Object Object Space: the biped limb is either in World coordinate space or the coordinate space of the selected IK object. Coordinate space can be blended between keys. Select IK Object Chooses an object for the biped's hand or foot to follow when IK Blend is 1 and Object is selected. The selected object's name is displayed next to the button. 5058 | Chapter 15 Character Animation This selection cannot be animated; only one IK object can be active for each hand and foot throughout the animation. TIP If you want to change the object the hand or foot follows at different times in the animation, select a dummy object as the IK object, and assign a Link Constraint to the dummy object to make it link to different objects at different times. Head group The Head group lets you define a target object for the target to look at. Target Blend Determines the extent to which the target blends with the head's existing animation. A setting of 1.0 causes the head to look directly at the target, 0.5 causes the head to blend half of its existing animation with looking at the target, and a setting of 0.0 causes the head to ignore the target, maintaining its existing animation. Select Look At Target Click to select an object for the head to look at. NOTE When an object is selected, its name is displayed next to the button. Body group These parameters apply to the biped center of mass and are used by character studio to calculate the biped’s airborne trajectory based on gravity (GravAccel) and time between footsteps, the amount of knee bend on landing (Ballistic Tension) and how the biped objects adapt to maintain balance (Balance Factor). Biped | 5059 Balance Factor Position the biped's weight anywhere along a line that extends from the center of mass to the biped’s head. This center of mass (Body Horizontal track) parameter can be keyframed. To activate Balance Factor select the Horizontal Track (in the Track Selection rollout), set a key and enter a value in the Balance Factor field. For example, to create a sit then walk sequence, you could shift the biped’s weight (balance) between 0 (the character is supported by the chair) for the sit key and 1 for the stand key (the character’s pelvis shifts to maintain balance). If a character is seated, and reaches across the table, leave Balance Factor at 0; however the character leans, he will pivot from the center of mass. The pelvis will not move back to maintain balance. In a walking motion, a value of 2 will swing the hips and keep the biped head steady; a value of 0 will keep the hips steady and swing the upper body. 5060 | Chapter 15 Character Animation A Balance Factor value of 0 in the first image causes the biped not to compensate for weight. A Balance Factor value of 2 in the second image causes the biped pelvis to move away from the Center of Mass to compensate for weight. The Balance Factor determines how far the biped's hips will shift forward or backward to compensate for forward or backward bending of the spine. When the biped has a normal weight distribution between the upper and lower body, the default value of 1 causes the hips to swing backward as the biped bends over to compensate for the forward weight. At times, when the biped leans, you will want the biped's hips to refrain from shifting to compensate for the forward weight. This would be when the biped is sitting or falling down. A Balance Factor of 0 (the minimum value) causes the hips to stay still when the biped leans forward or backward. A value of 0 places the biped’s weight at the center of mass. A value of 1 places the biped’s weight above the center of mass. A value of 2 places the biped’s weight in the head. Click the spinner up arrow to move the biped’s weight distribution toward the head. Range=0.0 to 2.0; Default=1. NOTE You can also shift the center of mass by turning on Figure mode, selecting the center of mass object, and using Rubber Band mode on page 5010 to move the center of mass to a new position. This method cannot be keyframed, but it allows you to move the center of mass outside the biped body. For example, you can simulate pushing a heavy object by moving the center of mass behind the biped. Biped | 5061 Dynamics Blend Select the Body Vertical track (center of mass vertical track) and control the amount of gravity in an airborne period, as in a running or jumping motion. This parameter has no effect on a walking motion where footsteps overlap. The vertical center of mass track Dynamics Blend parameter is set to 1 for both keys (white squares) in the first jump, and to .5 in the second jump. A value of 1 uses the GravAccel on page 5101 value to calculate gravity. A value of 0 removes the effects of gravity calculation and flattens a jumping or airborne motion. Ballistic Tension Select the Body Vertical track (COM) and control the amount of spring or tension when the biped lands or takes off from a jump or run step. The change is subtle. A walk cycle will not activate this value. The biped has to be airborne, then the Lift and Touch vertical keys will display a Ballistic Tension value. If there are more than three vertical keys during a support period, you can also edit Ballistic Tension for the lift-off key; otherwise Biped uses the same value for touchdown and lift-off, since it is assumed that there is only one vertical dip in the motion. Low values are high tension (less dip in the trajectory). Default=0.5; Range=0 to 1; Prop group 5062 | Chapter 15 Character Animation The Coordinate Space pulldowns will set the Prop to refer to the World, Body, Right Hand or Left Hand coordinate space for position and rotation at the current frame. Position Space Lets you set the prop position space to World, Body, Right Hand, or Left Hand. Rotation Space Lets you set the prop rotation space to World, Body, Right Hand, or Left Hand. Keyframing Tools Rollout Select the biped. ➤ Motion panel ➤ Keyframing Tools rollout Use controls on the Keyframing Tools rollout to clear animation on a biped or selected parts, mirror biped animation, and cause the Neck to rotate in body space rather than parent space. You can also bend the horizontal center of mass track around a selected horizontal key. Separate Tracks By default, 3ds Max uses an optimized method for key storage. For example, keys for the fingers, hand, forearm, and upper arm are stored in the Clavicle transform track. If you prefer instead to have a transform track available for Biped | 5063 each arm object, use the Separate Tracks group to make these transform tracks available; transform tracks are displayed in Track View. When the Separate FK Tracks options are on for the Arms and Fingers, only these tracks receive keys. When the Separate FK Tracks options are off, all limb tracks receive keys. 5064 | Chapter 15 Character Animation TIP Separate Tracks are designed to be used with forward-kinematic (FK) rotations. Using the Move tool to change the position of a biped limb with Separate Tracks requires that you turn on Set Parents Mode. If Set Parents Mode is off, then the limb you move is stored relative to its parent objects, and the new parent positions are not stored. The parent objects will snap back to their originally stored location. Turning on Set Parents Mode ensures that the position of the entire biped limb is stored. NOTE Separate Tracks are intended to be used as a preference. It is better to turn them on once for the tracks you plan to edit by hand. Turning off Separate Tracks that are currently on causes a key to be stored for every biped object in the limb for the frames where any biped keys previously existed. Interface Enable Subanims Enables Biped subanims. For more information about Biped subanims, see Using Controllers on page 4929 Manipulate Subanims Modifies Biped subanims. For more information about Biped subanims, see Using Controllers on page 4929 Biped | 5065 Clear Selected Tracks Removes all keys and constraints from the selected objects and tracks. Clear All Animation Removes all keys and constraints from the biped. Mirror and Mirror In Place flyout This flyout offers two options. Both options mirror the animation locally, so that the right side of the biped now does what the left side does, and vice versa. Also, if the spline leaned to the left, it now leans to the right. The same goes for the neck, pelvis, head, and so on. ■ MirrorReflects the animation about the world-space XZ plane. This option reverses the biped’s position by 180 degrees, so it now faces in the opposite direction. ■ Mirror in PlaceReflects the animation locally, but at the initial frame, maintains the world-space position and orientation of the biped. The biped continues to face in the same direction. 5066 | Chapter 15 Character Animation Original animation: The biped turns to the left as it walks. Left: When you click Mirror, the animation and the biped turn completely around. Right: When you click Mirror In Place, the biped still moves forward, but now it turns to the right. Set Multiple Keys Select keys using filters or apply a rotational increment to selected keys. Use this to change periodic motion keys in Track View. Displays the Set Multiple Keys dialog on page 5069 Biped | 5067 Set Parents Mode When a limb key is created, keys are created for the parent objects also, provided Set Parents Mode is turned on. Use Set Parents Mode when you turn on Separate FK Tracks. Set Parents Mode stores the position of the entire limb when a biped limb is moved using inverse kinematics instead of rotated using forward kinematics. For example, if Set Parents Mode is off and Separate Tracks are turned on for the biped arms, then the arm will snap back to its original position if you transform the biped hand. If Separate Tracks are turned on for a biped body part, then turn on Set Parents Mode. This lets you use the Move transform to position the biped limbs. NOTE Separate Tracks adds biped object transform tracks. Anchor Right Arm, Left Arm, Right Leg, Left Leg Let you temporarily fix the location and orientation of hands and feet. Use anchors when you are setting up animation with inverse kinematics object space, in which the arm or leg follows an object in the scene. Anchors ensure that the arm or leg keeps its alignment until you set the second key that establishes the object-space sequence. TIP An alternative to anchors is to use Set Planted Key on the Key Info rollout on page 5049. When you use Set Planted Key, the limb is positioned to the previous IK key (Join To Previous IK Key). Show All in Track View Shows all the curves for the options in the Keyframing rollout in the track view. Separate FK Tracks group By default, character studio stores a finger, hand, forearm, and upper-arm key in the Clavicle track. The toe, foot, and calf keys are stored in the thigh track. This optimized approach to key storage works well in most cases. If you need extra tracks, turn them on for a specific biped body part. For example, turn on Arms if you plan to create extensive finger-hand animation; if an arm key is deleted, it will not affect the finger-hand keys. You must turn on Set Parents Mode for these toggles to take effect. 5068 | Chapter 15 Character Animation Arms Turn on to create separate transform tracks for the finger, hand, forearm, and upper arm. By default, there is one finger track per hand. All finger keys are stored in the Finger0 transform track, the first link of the biped thumb. Neck Turn on to create separate transform tracks for the neck links. Legs Turn on to create separate toe, foot, and calf transform tracks. Tail Turn on to create separate transform tracks for each tail link. Fingers Turn on to create separate transform tracks for fingers. Spine Turn on to create separate spine transform tracks. Toes Turn on to create separate transform tracks for toes. Ponytail 1 Turn on to create separate ponytail 1 transform tracks. Ponytail 2 Turn on to create separate ponytail 2 transform tracks. Xtras Turn on to create separate tracks for an extra tail. See Xtras group on page 5118. ■ Drop-down listUse this list to choose the specific extra tail for which you’re creating tracks. Set Multiple Keys Dialog Select the Biped ➤ Motion panel ➤ Keyframing Tools rollout ➤ (Set Multiple Keys) ➤ Set Multiple Keys dialog Keys can be selected manually in Track View or the Track Bar and an increment applied to the selected keys. State Filters in this dialog select certain biped keys for you, based on foot states (Touch, Plant, Lift, and Move). Select Left Leg and the Move state filter, then click Select to select all the left leg keys in a Move state for example (Move is the leg state between footsteps). Biped | 5069 Interface Change Multiple Keys group These controls allow you to apply to a set of keys the rotation or IK translation of a limb at the current frame. First select the keys in Track View, then rotate or move the limb, then click Apply Increment. Apply Increment Adjusts the rotation and/or position of a limb at the selected keys. Use this feature when you need to set the position of a limb over multiple keys. 5070 | Chapter 15 Character Animation Scale Tail Keys Exaggerates or tones down the default motion applied to the biped’s tail for three types of rotation. To activate all three spinners, select tail keys in the biped Tail track in Track View. Forward Sets the amount of forward and backward swing in the tail. Sideways Sets the amount of side-to-side swing of the tail. Twist Sets the amount of local X axis rotation of each tail object. Select Multiple Keys group These controls allow you to select keys according to the foot state at that frame. This is very helpful when you want to apply an increment to all keys of a particular type in a particular track. ■ First, select the tracks you want: Left Leg, Right Leg, Body Horizontal, Body Vertical. ■ Then select the foot states: Touch, Plant, Lift, Move ■ Then click Select to select all the matching keys. Selected keys are highlighted in white in Track View. Copy/Paste Rollout Create a biped or select one. ➤ Motion panel ➤ Copy/Paste rollout (not available in Footstep, Motion Flow, or Mixer modes) Controls on the Copy/Paste rollout let you copy and then paste posture, pose, or track information from one part of a biped to another, or from one biped to a different one. These are the three categories of information you can copy and paste: ■ PostureThe positioning of selected biped objects. ■ PoseThe positioning of the entire biped. ■ TrackThe animation track from the selected biped objects. NOTE Your copied information will be stored in the current copy collection. Biped | 5071 Copy Collections Copy collections are designed to make it easier to manage copied posture, pose, and track information by grouping it together. This improves the way copied animation data is organized when it is transferred between files within a session: ■ You can display smaller sets of poses, postures, and tracks in the list. ■ You can load more than one CPY on page 9127 file into a single scene. ■ You can either append a loaded set to an existing one or replace it entirely. NOTE You must create a copy collection before you can copy a biped's posture, pose or track. Copy/Paste Buffers In character studio, you can save multiple copy/paste buffers for each of the three modes: Posture, Pose, and Track. These are available from the Copied Postures/Poses/Tracks drop-down list; the active buffer that the Paste buttons use is the one whose name is visible in the field at the top of the list. A thumbnail view gives a preview of what the active buffer has saved. Buffers are saved with your MAX scene file, and also remain available in your 3ds Max session, even if you reset. The default name of a buffer depends on which mode you are in. In the Posture and Pose modes, the name of the buffer consists of abbreviated names of the body parts you selected, followed by a sequence number. For example, RArmRFing1 is the first buffer for the posture or tracks of the biped's right arm and finger. In Pose mode, the name of the buffer is always “Pose,” followed by a sequence number. For example, Pose03. To give a buffer a custom name, make it active, highlight its name in the field at the top of the buffer list, and then enter a new name. For hands-on experience using the Copy/Paste rollout, see the lesson called “Creating a Simple Freeform Animation” found in the tutorial entitled Animating with Freeform. TIP When copying poses or postures containing COM data, the Paste Options on page 5085 are activated. 5072 | Chapter 15 Character Animation Paste and Paste Opposite For each mode, there are two paste options: Paste, and Paste Opposite. These are useful in different situations: ■ PasteIn the Posture and Pose modes, Paste is useful for copying positioning from one biped to a different biped, or for restoring a biped's positioning at a different frame of an animation. In Track mode, Paste is useful mainly for copying movement from one biped to a different biped. ■ Paste OppositeIn Posture mode, Paste Opposite is useful for making one limb assume the posture of the other, either at the same frame or different frames. In Pose mode, Paste Opposite reverses the biped's pose, or applies that reverse pose to a different biped. In Track mode, Paste Opposite can make a biped's limbs move symmetrically, or apply the opposite of the copied movement to a different biped. TIP After pasting a pose or tracks to a different biped, often you have to reposition it. This is easily done with Move All mode. NOTE If a copied pose, posture or track contains sub-animations, they can be pasted to another pose, posture or track as long as the same sub-animations already exist. Otherwise, they are ignored. Procedures Example: To load multiple collections between files within a single session: 1 Create a biped and load some animation onto it. 2 On the Motion panel ➤ Copy/Paste rollout, click and name the collection Upper. (Create Collection) Biped | 5073 3 Select all of the biped's links from the spine up and, after making sure you're in Posture mode on page 5083, click this step for every 10 frames of your animation. 4 (Copy Posture). Repeat Create a new collection and name it Lower. 5 Go to frame 0. down and Select all of the biped's links from the pelvis copy a posture at every 10 frames. 6 Choose the Upper collection from the Copy Collections drop-down list, and well. save it. Then, choose the Lower collection and 5074 | Chapter 15 Character Animation save it as 7 Save your scene and then reset 3ds Max ( menu ➤ Reset). 8 Create a new biped and Application load the Upper collection. 9 For every 10 frames, select the biped's upper body and paste the corresponding posture from the Copied Postures drop-down list. Set a key for each pasted posture. 10 Load the Lower collection and repeat the last step with the biped's lower body selected, 11 setting a key for each posture. Delete the Lower collection. 12 On the Copy/Paste rollout, click (Max Load Preferences) and in the dialog, make sure both options are turned on. Close the dialog and load the saved 3ds Max file. Biped | 5075 Notice that the Copy Collections drop-down list now contains three collections: two Upper collections (one from the current file and one from the incoming) and one Lower collection from the incoming file. To capture different snapshots: 1 Under the thumbnail snapshot of the Copied Postures group, click (Capture Snapshot From Viewport). 2 Orbit your current viewport to different user views and a biped posture. copy Notice that your snapshot matches the viewport angle. 3 Click again. (Capture Snapshot Automatically) and copy a posture Notice that your snapshot is displayed from a frontal view. 4 Click (No Snapshot) and copy another posture. The capture has been replaced by a gray placeholder. Example: To maintain copied COM data when pasting poses: 1 Create a biped and then Poses. 5076 | Chapter 15 Character Animation create a new collection. Name the collection 2 Make sure you're in Pose mode, and at frame 0, click Then go to frame 30. (Copy Pose) 0. 3 Using tools from the Track Selection rollout on page 5029, move your biped away from its current position and rotate it in all three axes. The biped with offset position and orientation 4 In the Paste Options group on page 5085, enable buttons. 5 Click (Paste Pose). The biped resets back to its original position and orientation since its copied COM data is maintained. step. 6 Disable all three Paste Undo this (Paste Rotation) but keep the other two buttons enabled. Biped | 5077 7 Click (Paste Pose). The biped resets back to its original position but remains rotated. This is due to the fact that the copied COM orientation is not maintained on paste. 8 Disable both enable Undo the step. (Paste Horizontal) and (Paste Rotation) once again. Click (Paste Vertical) but (Paste Pose). This time, the biped's position is maintained but not its orientation. Paste Rotation is the only enabled button Example: To maintain COM offsets using By Velocity: 1 Create a biped. Then, on the Track Selection rollout on page 5029, turn on (Body Horizontal). 2 At frame 0, set a key. Then make sure Pose mode is active, and copy your biped's pose. 3 Go to frame 10 and move the Body COM 50 units in the Y axis. Set a new key. 4 In the Paste Options group on page 5085, enable but leave By Velocity turned off. 5 Go to frame 30 and paste your biped's pose. The biped jumps to the center of your scene. 5078 | Chapter 15 Character Animation (Paste Horizontal) Undo this step. 6 In the Paste Options group, turn on By Velocity. Then try pasting your pose again. Notice how the biped's COM position is now offsetted by another 50 units in Y. Example: To set TCB/IK Values when pasting postures: 1 Create a biped and then 2 Select the page 5049, create a new collection. Name it Hands. biped's right hand, and on the Key Info rollout on set a key. 3 In the TCB group, set Ease To to 10, Ease From to 50, and all three TCB values to 5. 4 In the IK group, set IK Blend to 0.5. Choose the Object [Object Space[ option. Then set another key. 5 On the Copy/Paste rollout, make sure you're in Posture mode, then click (Copy Posture). Biped | 5079 6 Create a new biped next to the original one. Create a box next to its right hand. The original biped (left) and the new biped with box (right) 7 In the IK group, constrain the biped's hand to the box by clicking (Select IK Object) and then colicking the box in a viewport. Make sure the Body [Body Space] option is chosen. 8 On the Keyframing Tools rollout on page 5063, turn off Separate FK Tracks ➤ Arms. Then turn on (Auto Key). 9 In the Paste Options group on page 5085, set the Auto-Key TCB/IK Values to Default. 5080 | Chapter 15 Character Animation 10 Click (Paste Posture). The hand assumes the copied posture and the key's TCB and IK values are set to default. Keys are also set for the whole arm. 11 Go to frame 30 and turn on Separate FK Tracks ➤ Arms. 12 Set Auto-Key TCB/IK Values to Copied and paste the posture. The copied value information is transferred to this new key. The key values are now 10 and 50 for the Ease To/Ease From, 5 for the TCB, and 0.5 for the IK Blend. The box is still the IK Object and Object Space remains chosen. Also notice that the hand is the only keyed limb. 13 Go to frame 15, set the Auto-Key TCB/IK Values to Interpolated, and paste the posture again. This new key averages up the values based on the previous and next keys, setting Ease To/Ease From to 5 and 25, TCB to 15, and IK Blend to 0.25. Also, Body Space is selected from the previous key. Interface Biped | 5081 Create Collections Clears the current collection name and the poses, postures and tracks associated with it. Load Collections Loads a CPY file and displays its collection name at the top of the Copy Collections drop-down list, making it active. Save Collections Saves all the postures, poses and tracks stored within the active collection of the current session in a CPY file. Delete Collection Removes the current collection from the scene. Delete All Collection Removes all collections from the scene. Max Load Preferences Displays a dialog with options for actions to take upon Max file open. Keep Existing Collections When on, sets biped to overwrite the existing Copy/Paste Buffer upon load. Default=Off. Load Collections When on, sets biped to load the Copy/Paste buffer from the incoming file, appending the current buffer. Default=On. Posture, Pose, and Track Choose one of these buttons to choose which kind of information you are copying and pasting. The copy/paste buttons change to indicate the current mode. Default=Pose. Copy/Paste buttons These buttons change according to the current mode, as described below in Posture on page 5083, Pose on page 5083 and Track on page 5084. 5082 | Chapter 15 Character Animation Delete Selected Deletes the selected posture, pose, or track buffer. The selected buffer is the active one; that is, the buffer whose name is currently displayed in the Copied Postures/Poses/Tracks list. Delete All Deletes all the buffers in the Copied Postures/Poses/Tracks list. Posture mode Copy Posture Copies the posture of the selected biped objects and saves it in a new posture buffer. Paste Posture Pastes the posture of the active buffer onto the biped. Paste Posture Opposite Pastes the posture of the active buffer onto the opposite side of the biped. Pose mode Copy Pose Copies the current pose of the entire biped and saves it in a new pose buffer. Paste Pose Pastes the pose of the active buffer onto the biped. Paste Pose Opposite Pastes the opposite of the pose of the active buffer onto the biped. Biped | 5083 Track mode Copy Track Copies the tracks for the selected biped objects and creates a new track buffer. Paste Track Pastes the track or tracks in the active buffer onto the biped. Paste Track Opposite Pastes the track or tracks in the active buffer onto the opposite side of the biped. Copied Postures group Copied Postures/Poses/Tracks list For each of the modes, lists the buffers you have copied. The active buffer is the one that will be pasted by the paste buttons. To make a buffer active, choose it from the drop-down list. To change the name of a buffer, make it active, highlight its name, and enter a new name. Thumbnail buffer view For Posture and Track mode, displays a schematic view of the parts of the biped in the active copy buffer. For Pose mode, displays a schematic view of the entire biped. This can help you preview the effect of pasting the active buffer. Thumbnail showing a copied left arm posture 5084 | Chapter 15 Character Animation Thumbnail showing a copied pose Capture Snapshot from Viewport When chosen, creates a snapshot of the active 2D or 3D viewport of entire biped. Capture Snapshot Automatically (The default.) When chosen, creates a front view snapshot of the isolated body parts. No Snapshot When chosen, replaces the snapshot with a gray canvas. Show/Hide Snapshot Toggles display of the snapshot view. Paste Options group The Horizontal, Vertical and Rotation copy options found in older versions of character studio have been replaced by the Paste Options. By default, copying poses or postures with the COM selected copies all three COM tracks. Paste Horizontal/Vertical/Rotation buttons When turned on, the COM's Body Horizontal, Vertical or Rotation data are set to be pasted next time you perform a paste operation. Choosing to paste COM data maintains the world space positions and orientation of the copied COM onto the current data tracks. Otherwise, the COM's current positions and orientation are Biped | 5085 maintained when the copied data tracks are pasted. See Example: To maintain copied COM data when pasting poses: on page 5076 TIP This choice can be seen as pasting absolute or relative COM animation. The former will overwrite the current data with the copied one while the latter will maintain the current data, ignoring all copied information. By Velocity When on, determines the values of the active COM tracks based on the previous trajectory of the COM through the scene. This option is only enabled when the Paste Horizontal/Vertical/Rotation buttons are active. See Example: To maintain COM offsets using By Velocity: on page 5078 NOTE If there is no previous trajectory from which to gather the velocity data, the COM result is considered as absolute. Auto-Key TCB/IK Values Active only in Auto Key mode on page 8679. NOTE If part of the copied biped is linked to an IK object, that object it is not transferable using the copy/paste process. However, the Join to Prev IK Key option is maintained, as well as they Body or Object options. If a copied pose or posture contains an IK Object, the data becomes baked into the biped's link while keeping the key in Object space. NOTE If part of the pasted biped is linked to an IK object, that object is maintained even while the new pose or posture is honored. In other words, if an incoming pose requires a change in an existing link between a biped limb and an IK object, the link is maintained and adjusted accordingly. ■ DefaultSets (on the Key Info rollout on page 5049) the TCB Ease To and Ease From to 0, and Tension, Continuity and Bias to 25. These settings are unrelated to what was copied or where it is pasted. Any IK key values already set are maintained. Otherwise, values will be obtained from the position in time between the previous and next keys. ■ CopiedSets the TCB/IK values to match those from the copied data. If a copied pose or posture is not on a key, the TCB/IK values are based on interpolation from the previous and next keys. ■ InterpolatedSets the TCB values to an interpolation from the animation on which you are pasting. If an existing key is being pasted, its TCB values are maintained. Along the same lines, existing IK values are also maintained when pasted. If no key is present, the IK values are set from the position in time between the previous and next keys. 5086 | Chapter 15 Character Animation Layers Rollout Select the Biped ➤ Motion panel ➤ Layers rollout Controls on the Layers rollout allow you to add layers of animation above the original biped animation. This is a powerful way of making global changes to your character animation. For example, add a layer to a run cycle and rotate the spine forward at any frame, and it becomes a crouched run. The original biped motion is kept intact and can be viewed by switching back to the original layer. You can view layers individually or as a composite of all the animation in all the layers. Layers behave like freeform animation; the biped can adopt any position. TIP You can globally translate both footstep and freeform animation by doing a layered edit on the center of mass on page 5004. For example, by adding a layer and moving the center of mass you can move a freeform or footstep animation. With layers, you can easily adjust raw motion-capture data, which contains keys at every frame. Simply add a layer and keyframe the biped. The original layer is displayed as red bones. Biped | 5087 Honoring IK Constraints Across Layers You can maintain a biped's IK constraints across layers by retargeting its hands and feet to the original layer. This assures that the biped's constrained body parts are honored and locked in place while you make animation changes on the upper layers. You can also choose to retarget a biped using another one as reference. This is useful when you need to precisely match hands and feet positioning between two animated bipeds with different body proportions. You can save an animation containing honored constraints across layers in a BIP on page 9105 file. However, if the layered animation links to another biped as reference, that link is not saved with the animation. 5088 | Chapter 15 Character Animation Procedures Example: To Maintain IK Constraints Across Layers: This procedure takes into account the fundamentals of animating across layers and expands on the concept of honoring IK constraints. 1 Prepare a biped with IK keys on its feet, and its left hand constrained to an IK object. 2 3 Select your biped and on the the Layers rollout. Motion panel, expand Create a new layer and name it Low center of mass. The (Retarget Left Arm) button in the Retargeting group becomes active, which indicates that the current layer honors the IK constraint of the base layer for this body part. Biped | 5089 4 Turn on Auto Key on page 8679. 5 On the Track Selection rollout, turn on (Body Vertical). This selects the biped's center of mass. 6 Lower the center of mass on the Z axis until the biped's head is under the base layer's head display (represented as a red box). TIP To avoid deselecting the center of mass, you can lock it by clicking the (Selection Lock Toggle) on page 8667 (or press the spacebar). 5090 | Chapter 15 Character Animation The entire biped is lowered except its left hand, which remains locked to the object because the current layer retargets it to match the respective IK constraint of the base layer. Only the biped's left hand constraint is honored. 7 In the Retargeting group, turn on both (Retarget Right Leg). Then click Update. (Retarget Left Leg) and The biped's IK feet are adjusted to match those of the base layer. The animation keys are updated to reflect the current layer's retargeted feet. TIP If some body parts assume odd positions, simply drag the time slider on page 8656 a few frames past your current frame, and then drag it back home. Biped | 5091 Both the biped's feet and left hand constraints are honored. 8 You can continue animating the biped to your liking. your layers when you are satisfied. Collapse Example: To Maintain IK Constraints From a Reference Biped: This procedure centers on using an animated biped as a retarget reference for another biped with disproportionate body parts. This method is often used when a motion is imported from raw data and adapted to bipeds with different proportions. 1 Prepare an animated biped or load a BIP on page 9105 file onto one. 2 Create a second biped alongside and rename it Disproportionate Biped. 5092 | Chapter 15 Character Animation The animated biped on the left and Disproportionate Biped on the right 3 Select Disproportionate Biped and enter (Figure Mode) on page 5104. Now you can change the biped's structure. 4 Scale its upper arms and thighs to make them disproportionate from the rest of its body. TIP You can quickly select body parts on both sides of a biped if you first select the body part, then on the Track Selection rollout on page 5029, click (Symmetrical). Biped | 5093 5 Exit (Figure Mode). 6 Keep Disproportionate Biped selected and expand the Layers rollout. 7 Click biped. (Select Reference Biped) and in a viewport, select your original Disproportionate Biped adopts the animation from the reference biped, whose name is now displayed next to the button. 5094 | Chapter 15 Character Animation (Select Reference Biped) 8 Add a new layer and name it Retargeted Biped. 9 Turn on both (Retarget Left Arm) and Arm), and then click Update. (Retarget Right Both hands precisely match those from the reference biped. The animation keys are updated to reflect the current layer's retargeted hands. Biped | 5095 Both hands are retargeted to honor the base layer IK constraints. 10 Turn on both (Retarget Left Leg) and Leg). Then, click Update. (Retarget Right The feet are correctly retargeted to the reference biped, updating the respective animation keys. 5096 | Chapter 15 Character Animation The feet are retargeted to honor the base layer IK constraints. 11 Use (Previous Layer) and (Next Layer) to switch between the original and Retargeted Biped layers. The base layer displays the non-targeted motion while Retargeted Biped shows an adjusted motion that matches both hands and feet from Disproportionate Biped with the original biped. 12 You can continue animating the biped to your liking. your layers when you are satisfied. Collapse Biped | 5097 Interface Load and Save buttons You can load and save individual biped layers as BIP files. Load Layer Click to display a file selector and open a BIP file for t he layer that is currently active. 3ds Max objects and list controllers are loaded only at the base layer (0). When you load into a higher layer, separate tracks are removed, and IK is removed for any limb. If Retarget is on for a limb, the limb keys are removed. After you load a layer, retargetting does not happen automatically: you must click Update after you load the layer. 5098 | Chapter 15 Character Animation Save Layer Click to display a file selector and save the current layer’s animation in a BIP file. 3ds Max objects are saved only at the base layer (0). _____ Previous-Next Layer Navigate through the layers using the up and down arrows. Level This field displays the current layer (Level). Active Toggles the displayed layer on and off. Name Field Type a name to easily identify a layer. Create Layer Creates a layer, and the Level field increments. Position the biped to create keys in a layer. Delete Layer Deletes the current layer. All layer numbers ‘above’ the one deleted are decremented by one. Collapse Layers Collapses all the layers into layer 0. Legs that stray from the original footsteps in higher layers are "pulled in" to the original footsteps. Snap Set Key Snaps the selected biped part to its original position in layer 0 and creates a key. Use this in higher layers to return the selected biped part to the original motion. If a layer has a posture key that bends the character forward at frame 2 and you want to return the biped to its original posture motion at frame 50, use Snap Set Key at frame 50 with a spine object selected. The character will interpolate from its forward posture position to its original posture position between frame 2 and 50. Activate Only Me View the animation in the selected layer. Choose Play after turning on Activate Only Me to view a layer’s keys in motion. Biped | 5099 Activate All Activates all the layers. Playing the animation shows a composite of all the layers. Visible Before Sets the number of preceding layers to display as stick figures. Visible After Sets the number of succeeding layers to display as stick figures. Key Highlight Displays keys by highlighting the stick figures. Retargeting Group The tools in this group let you animate a biped across layers while maintaining the IK constraints of the base layer. You can also choose to use a different biped in your scene to use as reference for your biped's retargeted hands and feet. Biped's Base Layer Choose this method to use the IK constraints from the selected biped's original layer as retarget reference. Default=active. Reference Biped Choose this method to use the biped whose name is displayed next to the Select Reference Biped button as retarget reference. Select Reference Biped Lets you choose a biped to use as retarget reference for the selected biped. The chosen biped's name is displayed next to the button. Retarget Left Arm When on, the IK constraints of the base layer are honored for the biped's left arm. Retarget Right Arm When on, the IK constraints of the base layer are honored for the biped's right arm. Retarget Left Leg When on, the IK constraints of the base layer are honored for the biped's left leg. Retarget Right Leg When on, the IK constraints of the base layer are honored for the biped's right leg. Update Calculates the selected biped's hands and feet positions for every set key based on the retarget method (Base Layer or Reference Biped), the active retarget body parts buttons, and the IK Only option. 5100 | Chapter 15 Character Animation IK Only When on, the biped's constrained hands and feet are retargeted only during the frames on which they are IK controlled. When off, the hands and feet are retargeted during both IK and FK keys. Default=off. Dynamics & Adaptation Rollout Select the biped. ➤ Motion panel ➤ Dynamics & Adaptation rollout The controls on the Dynamics & Adaptation rollout let you specify the way you want to create biped animation. The parameters let you modify gravity strength, dynamic properties for keys generated by newly created footsteps, the number of transform tracks available on the biped, and prevent key adaptation. Biped Dynamics and Spline Dynamics These parameters specify how new biped center of mass keys are created and therefore how you want to work with the biped. Turning on Spline Dynamics will create center of mass keys, without gravity and balance calculation, for newly created footsteps. This may feel more familiar to new users who are already familiar with spline interpolation. Biped Dynamics calculates biped airborne trajectory, knee bend on landing and positions the biped to maintain balance when the spine is rotated. When parameters change, the biped adapts. Turn on Biped Dynamics and use this adaptation to your advantage. You can always change from one method to the other on a per-key basis or for the entire animation at any time. See also: ■ Adjusting Vertical Motion on page 4894 Biped | 5101 Interface GravAccel Sets the strength of the gravitational acceleration used to calculate the biped’s motion. By default, this parameter is set to accurately simulate Newtonian gravity as found on the Earth's surface. At a value of 0, the biped still runs but the feet hardly get off the ground. Biped Dynamics Creates new center-of-mass keys using Biped Dynamics. Keys for the center of mass (COM) Balance Factor and Dynamics Blend parameters are set to a value of 1. Biped calculates airborne trajectories and biped balance. NOTE Use Dynamics Blend on the Key Info rollout ➤ Body group to set a vertical COM key that is a blend between Dynamics and Spline Interpolation; a value of 1 is full Dynamics, a value of 0 is full Spline interpolation. Spline Dynamics Creates new center-of-mass keys using full spline interpolation. All new vertical COM keys are created with Dynamics Blend=0, and all new horizontal COM keys are created with Balance Factor=0. 5102 | Chapter 15 Character Animation Footstep Adapt Locks group Lock specified tracks to prevent automatic adjustments being made to those tracks when footsteps are moved in space or edited in time. All the locks except for Time work for footstep editing in space. Time locks upper body keys when footsteps are edited in time (Track View). Adapt Locks only applies to a Footstep animation, not a freeform animation. When you move a footstep in space or adjust footstep timing, Biped automatically adapts existing keyframes to match the new footsteps. Adapt locks allows you to preserve the exact position of already created keys for a selected track. Adapt Locks does not need to be on all the time. For example, if you want to raise all the footsteps along the world Z-axis, without changing the upper body position, turn on Footstep Adapt Locks group ➤ Body Vertical Keys, turn on Footstep mode, select all the footsteps and move them up along the world Z-axis. The footsteps are repositioned, the legs are adapted, but the upper body retains the same motion rather than being raised with the footsteps. Now turn off Body Vertical Keys, and the upper body still retains its original motion. Use Footstep Adapt Locks ➤ Time to retain upper body motion while editing footstep duration in Track View. When the duration of a footstep is changed, the biped leg will adapt by re-timing the touch, plant, and lift keys. The biped upper body keys will retain their exact motion. Body Horizontal Keys Turn on to prevent adaptation of body horizontal keys when footsteps are edited in space. Body Vertical Keys Turn on to prevent adaptation of body vertical keys when footsteps are edited in space. Body Turning Keys Turn on to prevent adaptation of body turning keys when footsteps are edited in space. Right Leg Move Keys Turn on to prevent adaptation of right leg move keys (a leg move key, is a leg key between footsteps) when footsteps are edited in space. Left Leg Move Keys Turn on to prevent adaptation of left leg move keys (a leg move key, is a leg key between footsteps) when footsteps are edited in space. Freeform Keys Turn on to prevent adaptation of a freeform period in a footstep animation. The biped’s position during a freeform period will not move if footsteps after the freeform period are moved further away. Biped | 5103 Time Turn on to prevent adaptation of upper body keys when footstep duration is changed in Track View. NOTE Leg and foot keys for frames in which the foot is in contact with the ground are always automatically adapted. Figure Mode Select the Biped ➤ Mode) Motion Panel ➤ Biped rollout ➤ (Figure While Figure mode is active, you can change biped structure and fit that structure to a character mesh.It can be used for a variety of other procedures as well. ■ Figure mode is a reference position to fit a biped to a mesh. Use Figure mode to fit a biped to the mesh representing your character. This "reference" or Figure mode position, in which the biped is aligned to the mesh, is necessary when a mesh is linked or attached to the biped with Physique. After the biped is positioned to fit within a mesh, leave Figure mode on during the process of attaching a mesh to the biped with Physique, or when using Select And Link on the 3ds Max toolbar to link the mesh objects of a character to the biped. The relationship or "fit" position between the biped and the mesh can always be restored by turning on Figure mode, regardless of which motion file happens to be loaded. After fitting a biped to a mesh in Figure mode, 5104 | Chapter 15 Character Animation use Save on the Biped rollout to save a figure file (.fig). If you accidentally reposition the biped in Figure mode, load the figure file. ■ Figure mode is used for biped adjustment after a mesh is attached to correct biped joint location. After using Physique to attach a mesh character to the biped, you may want to reposition a biped limb relative to the mesh. For example, if the biped shoulder joint is too far out relative to the mesh shoulder, then the Physique modifier must be inactivated, the biped limbs adjusted, and then a Reinitialize in Physique must be performed before reactivating the Physique modifier. ■ Figure mode is used for biped adjustment after a mesh is attached to correct posture in a motion file. Figure mode is also used to make adjustments after a character is attached or linked to the biped. After loading a .bip motion file, for example, you may find that the character is hunched too far forward during the entire animation. Rotating the biped's spine objects in Figure mode will correct the character’s posture for the entire animation. This is a basic procedure where you simply rotate the biped limbs in Figure mode and then exit Figure mode; the posture will be corrected for the entire animation. ■ Figure mode is used to define biped structure. The Structure rollout on page 5108 is displayed when you work in Figure mode, allowing you to tailor the biped to your mesh character. After creating a biped, make all of your biped structure changes on the Structure rollout. For example, you may want to use one toe with one toe link if your character is wearing shoes or if your character's toes do not need to be keyframed individually. Set the biped structure before "fitting" the biped to the your mesh character. ■ Turn Figure mode on to scale a character. Use the height spinner on the Structure rollout to scale a complete character (a complete character has a biped and mesh attached with Physique). ■ Reverse-Knee Characters. If your character mesh has reverse knees, rotate the biped calves or thighs along the local X axis 180 degrees in Figure mode; the biped local X axis is along the length of the limb. character studio assumes you want a reverse knees character if the calves or thighs are rotated past 90 degrees in the local X axis. When Figure mode is turned off, the biped walks, runs, and jumps with reverse knees. Moving the Head While in Figure mode, you can move the head relative to the body. This is another way to help fit the biped into a character’s skin. Biped | 5105 You can move a biped’s head in Figure mode. Notes on Fitting the Biped to a Mesh in Figure Mode These are quick notes designed to give you a general sense of the issues involved when a biped is fitted to a mesh. ■ Use the Structure rollout to set the number of toes and fingers; specify the number of links per finger and toe. One toe with one toe link is often sufficient if your character wears shoes, or if animating individual toes will not be necessary. ■ Put the lowest biped spine object at the character’s belt-line. 5106 | Chapter 15 Character Animation ■ Scale the biped fingers to slightly protrude from the character’s hand. ■ Rubber Band mode and scale are used to size the biped limbs to fit the biped to a mesh. ■ Use the options from the Twist Links group on page 5116 to transfer twisting animation in the biped's associated mesh. ■ Use Props to represent weapons or tools attached to your character. ■ Use Select And Link on the 3ds Max toolbar to link non-deformable (mechanical) objects to the biped. Do this after Physique is applied to prevent Physique from generating extra links (Envelopes). Superflous envelopes (links) can be turned off in Physique however, so this is not critical. NOTE Objects like eyeballs and weapons should be linked to the biped after Physique is applied; otherwise links (Envelopes) will extend to these objects when Physique is applied. ■ Reposition and use Ponytails on the Structure rollout to animate a character’s jaw, ears, hat, hair and ponytails. ■ A saved .fig file can be reloaded if the biped is repositioned in Figure mode by mistake. Move the first link on each finger to position the fingers relative to the mesh; use local and world coordinate systems for this. Scale the finger links to position the joints. After positioning the thumb, rotate the first thumb link around the local X-axis until the local Z-axis creates a natural rotation for the thumb (refer to the image). A User view and toggling back and forth between a shaded and wireframe display is helpful when fingers are positioned. Biped | 5107 Structure Rollout Select the biped. ➤ Motion panel ➤ Biped rollout ➤ Turn on (Figure Mode) ➤ Structure rollout Turn Figure mode on to enable parameters on the Structure rollout. The Structure rollout provides parameters for changing the biped’s skeletal structure to match your character mesh (dinosaur, robot, human, and so on). You can also add up to three props to your biped, to represent tools or weapons. After setting parameters to suit your character, use the Height parameter to scale the biped to the size of the mesh representing your character. This is the first step in fitting a biped to a mesh in Figure mode. Procedures To scale a Biped and a Physique Mesh: Select the biped, turn on (Figure Mode), and then change the biped height on the Structure rollout. The biped and mesh scale together. ■ To skin a Biped with Twist Links: This procedure takes into account the process of skinning a character and expands on the concept of using twist links to better deform a skinned mesh. 1 2 Position a biped within the mesh. Select the biped and turn on (Figure Mode). 3 On the Structure rollout, turn on the Twists option. This enables the input fields for all biped limbs. 5108 | Chapter 15 Character Animation NOTE Horse Link is available only if your biped has four leg links. 4 Set Forearm to 5. Both forearms have five twist links. TIP To get a better view of your twist links, you can select the forearms and turn on See-Through in the Display Properties rollout on page 143 on the Display panel (or press Alt+X). See-Through turned on for the right forearm only. 5 Add a Skin modifier on page 1614 to the mesh. 6 Unfreeze all the biped twist bones. 7 On the Motion panel ➤ Parameters rollout, add all the biped bones to the skin except the forearms. 8 Select and freeze the twist bones again. 9 On the Parameters rollout, turn on Edit Envelopes. Biped | 5109 10 Select and adjust the Envelopes of the twist bones until the desired behavior is achieved, moving and rotating the hand to test. Interface Body Type group The Body Type group lets you select the biped's body type: ■ Skeleton The skeleton body type provides a realistic skeleton which fits naturally into mesh skins. 5110 | Chapter 15 Character Animation ■ Male The male body type provides a silhouette mold based on basic male proportions. ■ Female The female body type provides a silhouette mold based on basic female proportions. ■ Classic The classic body type is the same as the biped object from older versions of character studio. _____ Arms Sets whether arms will be generated for the current biped. Neck Links Sets the number of links in the biped neck. Default=1. Range=1 to 25. Spine Links Sets the number of links in the biped spine. Default=4. Range=1 to 10. Leg Links Sets the number of links in the biped legs. Default=3. Range=3 to 4. Setting Leg Links adds a horse link: an additional, lower leg bone suitable for animating quadrupeds, or humanoids with animal legs such as the Greek god Pan. Tail Links Sets the number of links in the biped tail. A value of 0 specifies no tail. Default=0. Range=0 to 25. Ponytail1/2 Links Sets the number of Ponytail Links. Default=0. Range=0 to 25. You can animate hair with ponytail links. Ponytails are linked to a character’s head and can be used to animate other appendages. Reposition ponytails in Figure mode and use them to animate a character’s jaw, ears, nose, or anything that should move with the head. Unlike the process of selecting the biped hand and dragging to reposition the entire arm, ponytails must be keyed using rotational transformations. Fingers Sets the number of biped fingers. Default=1. Range=0 to 5. When you turn on Knuckles, 3ds Max sets this value to 5. While Knuckles is on, you can reduce the number of fingers, depending on the character you want to animate. Finger Links Sets the number of links per finger. Default=1. Range=1 to 4. When you turn on Knuckles, 3ds Max sets this value to 4. While Knuckles is on, you can reduce the number of finger links, depending on the character you want to animate. Biped | 5111 Toes Sets the number of biped toes. Default=1. Range=1 to 5. Toe Links Sets the number of links per toe. Default=3. Range=1 to 3. TIP Characters wearing shoes might need only one toe with one link. Props 1/2/3 Turns on up to three props, which can be used to represent tools or weapons attached to the biped. By default, prop 1 appears next to the right hand, prop 2 appears next to the left hand, and prop 3 appears centered between in front of the torso. You can animate props throughout the scene, like any object. You can use 3ds Max controllers to animate props and can then collapse animation onto the prop’s transform controller for use in Mixer, Motion Flow, and Layer editing. Ankle Attach Specifies the ankles’ point of attachment along the corresponding foot block. The ankles can be placed anywhere along the centerline of the foot block, from the heel to the toe. Ankle Attach=0.25 and Ankle Attach=0.5 A value of 0 places the ankle attachment point at the heel. A value of 1 places the ankle attachment point at the toes. Click the spinner up arrow to move the ankle attach point toward the toes. Range=0 to 1. Height Sets the height of the current biped. Use to size the biped to your mesh character before Physique is attached. This parameter is also used in a procedure to scale your character after Physique is attached. Triangle Pelvis Turn on to create links from the upper legs to the lowest biped spine object when Physique is attached. Normally the legs are linked to the biped pelvis object. 5112 | Chapter 15 Character Animation The pelvis area can be a problem when the mesh is deformed with Physique. Triangle Pelvis creates a more natural spline for mesh deformation. Triangle Pelvis creates two links that extend from the legs to the lowest biped spine object. A link from the biped pelvis to the lowest spine object is also created. This provides natural deformation to this area after Physique is applied and the character is moving. If you are working on a new character, turn this on before applying Physique. If Bones is turned on in the Display rollout, links from the legs to the lower spine object are visible. Triangle Neck When on, links clavicles to the top spine link instead of to the neck. Default=off. Like Triangle Pelvis, this feature has no effect on how the biped animates. It is a convenience when you skin the biped using Physique. Some meshes deform more naturally with the triangular neck configuration. If you have a mesh where this is the case, turn on Triangle Neck before you apply Phsyique. Left: A normal neck. The neck is the parent of each clavicle. Biped | 5113 Right: Triangle Neck. The top segment of the spine (Spine3) is the parent of each clavicle. ForeFeet When on, the biped hands and fingers behave as feet and toes: when you set Planted keys for a hand, rotating the hand does not affect the position of the fingers. Default=off. This option turns the biped into a quadruped. You can think of the name of this option as also meaning “Four Feet.” As with feet, the planted behavior applies only to IK periods of biped animation. After you set a Free key, the fingers rotate as children of the hands, using FK, until you set another Planted key. This option is disable when Knuckles is turned on. Knuckles When on, uses an anatomically correct hand structure, with bones for each digit. Default=off. A standard biped hand. This setup doesn’t allow for finely detailed hand animation. 5114 | Chapter 15 Character Animation A biped hand with Knuckles turned on. The hand has a small base and individual bones for all its digits, allowing for detailed animation. NOTE As of Autodesk 3ds Max 2011, you always can rotate each bone of each digit with three degrees of freedom: that is, along any axis. And as with other biped bones (except for toes), you can use the Quaternion/Euler rollout on page 5036 to choose between quaternion or Euler rotation for bones in the hand. When you turn on Knuckles, 3ds Max automatically sets the Fingers value to 5 and Finger Links to 4. Depending on the character you are animating, you can reduce the value of Fingers or Finger Links. Knuckles supports zero to five fingers on each hand, and from one to four finger links. This option is disabled when ForeFeet is turned on. ■ Short Thumb When on, the thumb has one less bone that the four for the other digits. If other digits have four bones, the thumb has three, as in a human hand. When off, all five digits have the same number of bones. Default=on while Knuckles is on. You might want to turn off Short Thumb when you are creating a nonhuman character. Biped | 5115 Short Thumb turned off while Finger Links = 4, so that all digits have four bones. Twist Links group The bone twist option, previously limited to the biped's forearm, has been expanded to include all limbs. These settings allow better mesh deformation on skinned models (using Physique on page 4807 or Skin on page 1614) when twisting occurs on animated limbs. Use the Twist Poses rollout on page 5039 for better control over your twist links. 5116 | Chapter 15 Character Animation NOTE If a limb has twist links, they control skin deformation while the base link (the biped's forearm, for example) drives the animation. Twist links cannot be animated. Twists Enables twist links for biped limbs. When enabled, twist links become visible but remain frozen. You can unfreeze them using Unfreeze By Name or Unfreeze By Hit on the Freeze rollout on page 142. Upper Arm Sets the number of twist links in the upper arms. Default=0. Range=0 to 10. Forearm Sets the number of twist links in the forearms. Default=0. Range=0 to 10. Thigh Sets the number of twist links in the thighs. Default=0. Range=0 to 10. Calf Sets the number of twist links in the calves. Default=0. Range=0 to 10. Horse Link Sets the number of twist links in the horse link: the additional, lower leg bone that appears when you set Leg Links on page 5111 to 4. Default=0. Range=0 to 10. NOTE You must set Leg Links to 4 to enable Horse Link. Biped | 5117 Xtras group The Xtras group lets you add extra tails to the biped. Extra tails are like ponytails: they don’t use inverse kinematics, and you must animate them with forward kinematics such as rotation keys. On the other hand, extra tails don’t have to be attached to the head. Animation for extra tails is saved in MAX and BIP files. Create Xtra Click to create a new Xtra tail. By default, the parent of the tail is the biped’s root Center Of Mass (COM) object. You can change this by using the Pick Parent button. Delete Xtra Click to delete the Xtra tail that is highlighted in the list. If you the Xtra tail you delete is parent to another tail, the child tail reverts to having the COM as its parent, but it is not repositioned. 5118 | Chapter 15 Character Animation Create Opposite Xtra Click to create another Xtra tail on the opposite side of the biped. First you must use the list to select the original Xtra tail’s name, and the original must not already have an opposite tail. Synch Selection When on, any Xtra tail selected in the list is selected in viewports, and vice versa. Select Symmetrical When on, selecting one tail selects the tail’s opposite as well. Xtra name field Displays the name of the new Xtra tail. Edit this field to change the default name of the Xtra tail. List of xtras Lists the biped’s Xtra tails, by name. Links Sets the number of links in the tail. Default=1. Parent name field (Motion panel only.) Displays the name of the tail’s parent object. Pick Parent (Motion panel only.) Reassigns the parent object. Click this button to turn it on, then in a viewport, click a different part of the same biped. The part you pick becomes the tail’s parent. Reorient to Parent (Motion panel only.) When on, the extra tail moves to the new parent object, and is oriented to the new parent. When off, assigning a new parent does not move the tail. Default=on. Footstep Mode Rollouts These topics describe the Motion panel rollouts that are open and active while a biped is in Footstep mode. Biped | 5119 Footstep Mode Select a Biped. ➤ (Footstep Mode) Motion panel ➤ Biped rollout ➤ When Footstep mode is active, you can create or edit footsteps to generate a walk, run, and jump footstep pattern. You also edit selected footsteps in space and append footsteps using parameters available in Footstep mode. If footsteps are extracted during motion capture import, turn on Footstep mode to edit footsteps in the viewports. A powerful feature in Biped is the ability to adapt keyframes when footsteps are edited in space or time. The following tracks are influenced in the vicinity when a footstep is edited in space: ■ Body Horizontal keys change to step or hop within range of new footstep locations. ■ Body Vertical keys change to match possible changes in stride length, since the body must be lower in order to step longer distances. ■ Body Rotation keys change to bank into turns created by changes in path curvature or body speed. ■ Right or left leg keys in a move state must be adapted to step between new locations. NOTE If for some reason you do not want the adaptation to occur, use the Footstep Adapt Locks settings on the Dynamics & Adaptation rollout on page 5101 to keep the biped from correcting the body position. Two additional rollouts display when Footstep mode is active: Footstep Creation rollout on page 5120 and Footstep Operations rollout on page 5124. Footstep Creation Rollout Select a Biped with footsteps ➤ Motion panel ➤ Biped rollout ➤ (Footstep Mode) ➤ Footstep Creation rollout 5120 | Chapter 15 Character Animation The Footstep Creation rollout, available on the Motion panel when Footstep mode is on, provides controls for creating and editing footsteps. Create a walk, run, or jump footstep pattern using these controls. TIP All footsteps created here are inactive; you activate them using Create Keys For Multiple Footsteps on the Footstep Operations rollout on page 5124. The timing parameters at the bottom of the rollout work with Create Footsteps (append) and Create Footsteps (at current frame) to change timing for newly created footsteps. These change depending on whether you select Walk, Run, or Jump mode. Procedures To create multiple footsteps: 1 On the Biped rollout, click (Footstep Mode). You are now in Footstep mode, and can create, activate, or edit footsteps. 2 On the Footstep Creation rollout, choose the gait you want to create: (Walk), 3 Click (Run), or (Jump). (Create Multiple Footsteps). 3ds Max opens the Create Multiple Footsteps dialog for the selected gait. 4 Set multiple footstep parameters, and then click OK. 5 To activate the footsteps, on the Footstep Operations rollout, click (Create Keys For Inactive Footsteps). To create footsteps manually, beginning at the current frame: 1 On the Footstep Creation rollout, click (Walk), (Run), or (Jump), and set timing parameters for the gait you chose. Biped | 5121 2 Click (Create Footsteps (At Current Frame)). 3 Click in a viewport to create a footstep. Continue clicking to create more footsteps. 4 On the Footstep Operations rollout, click Footsteps). 5 (Create Keys For Inactive Play the animation. To append footsteps onto the existing footsteps: 1 On the Footstep Creation rollout, click (Create Footsteps (Append)). 2 Click in a viewport to create a footstep. Continue clicking to create more footsteps By default, footsteps alternate from foot to foot. The first click creates a right footstep, the next click creates a left footstep, and so on. Look at the prompt line and the cursor to see which type of footstep will be created next. Interface Create Footsteps (append) Turn on Create Footstep mode. Manually place footsteps by clicking in any viewport. Hold the mouse button down after clicking to move a footstep. Release the mouse button to place the footstep. Each new footstep is appended to the end of the biped’s footstep sequence. Create Footsteps alternates right and left footsteps as you create new ones. Press Q to toggle between a left and right footstep. 5122 | Chapter 15 Character Animation Newly created footsteps are bright green for right footsteps and bright blue for left footsteps. Once the footsteps have been activated, the footsteps change color to pastel green and pastel blue. Create Footsteps (insert at current frame) Create footsteps at the current frame. Footstep creation alternates between left and right footsteps. Create Multiple Footsteps Create a walk, run, or jump footstep pattern automatically. Select a gait type before using Create Multiple Footsteps. Displays the Create Multiple Footsteps dialog. The dialog differs slightly depending on the gait (walk, run, jump) you have selected. Create Multiple Footsteps Dialog: Walk on page 5128 Create Multiple Footsteps Dialog: Run on page 5134 Create Multiple Footsteps Dialog: Jump on page 5138 Walk Sets the biped gait to Walk. Any footsteps you add will have walk characteristics until you change to another mode (run or jump). Each new footstep will start before the end of the previous footstep on the opposite side. Run Sets the biped gait to Run. Any footsteps you add will have run characteristics until you change to another mode (walk or jump). Each new footstep will start after the end of the previous footstep on the opposite side. Jump Sets the biped gait to Jump. Any footsteps you add will have jump characteristics until you change to another mode (walk or run). Each new footstep will start at the same time as the most recent footstep on the opposite side. Alternately, it may start after the end of the previous footstep. Timing parameters Use these parameters with Create Footsteps (append) or Create Footsteps (at current frame) to apply timing to newly created footsteps. These parameters are different for each gait and change as you select a different gait. Biped | 5123 Walk Footstep (Walk only): Specifies the number of frames a new footstep will be on the ground during a walk. Double Support (Walk only): Specifies the number of frames when both feet will be on the ground at the same time during a walk. Run Footstep (Run only): Specifies the number of frames a new footstep will be on the ground during a run. Airborne (Run and jump only): Specifies the number of frames when the body will be in the air during a run or a jump. 2 Feet Down (Jump only): Specifies the number of frames when two sequential footsteps, on opposite sides, will be on the ground during a jump. Footstep Operations Rollout Select the Biped ➤ Motion Panel ➤ Biped rollout ➤ (Footstep Mode) ➤ Footstep Operations rollout Once footsteps are created on the Footstep Creation rollout, use parameters on the Footstep Operations rollout to activate and deactivate footsteps, and to adjust the footstep path. Interface Create Keys for Inactive Footsteps Activates all inactive footsteps. Activation creates default keys for any footsteps that do not have them. If a footstep does not have keys, it is displayed as bright green (right foot) or bright 5124 | Chapter 15 Character Animation blue (left foot). After keys are created for the footsteps, the footsteps change color to pastel green and pastel blue. Inactive footsteps on the left and activated footsteps on the right Deactivate Footsteps Removes the body keys assigned to the selected footsteps, making those footsteps inactive. The footsteps themselves remain in the scene. Delete Footsteps Deletes the selected footsteps. Copy Footsteps Copies the selected footsteps and biped keys to the footstep buffer. Biped will only copy a continuous sequence of footsteps (2,3,4,5...). You can't copy discontinuous footsteps (3,4,7,8...). If any footsteps exist that have not been activated, the Copy button is grayed. Activate the footsteps first, then try again. TIP Turn on Buffer mode on the Biped rollout to view and edit only the buffered footsteps and biped motion. Biped | 5125 A pasted footstep is inactive until it overlaps a like foot and turns red. Mouse up to activate the new footsteps. Paste Footsteps Pastes footsteps from the footstep buffer into a scene. The footsteps appear inactive in the scene. Move them so they overlap the active footsteps. When a footstep turns red, mouse up and the pasted footsteps will activate. WARNING If any footstep in the buffer overlaps in time with a footstep previous to the one onto which you are pasting, a message appears and the paste is not performed. This can occur if the first footstep you are pasting and the original footstep you are pasting onto both have double support periods during the same duration of the footstep. The second pasted footstep and the footstep prior to the one you are pasting onto may overlap in time. To correct the problem, you may want to move the right edge of the preceding footstep from the original scene to the left, or move the left edge of the second pasted footstep to the right while in buffer mode. Which option you choose depends on what footstep timing and support relations you want to end up with. TIP To create a cycle of a motion with alternating footsteps, you must copy and paste at least three footsteps. All body keys between the start of the first step and end of the last step are also copied and pasted. Bend Bends the path for the selected footsteps. The path is bent to the left or right as you move the spinner. Other footsteps after the selected footsteps will be moved to maintain their positions relative to the repositioned footsteps. The Bend spinner is grayed if inactive footsteps are present. 5126 | Chapter 15 Character Animation Bend=0.5 Scale Changes the width or length for the selected footsteps. The selected footsteps are scaled around the first footstep in the selection. First select the width or length box (or both), then use the spinner to set the amount of scaling. If any footsteps exist that have not been activated, the Scale spinner is grayed out. Activate the footsteps first, then try again. Length When Length is selected, the Scale spinner changes the stride length of the selected footsteps. Length and Width may both be active at the same time. Length=1 and Length=2 Width When Width is selected, Scale changes the stride width of the selected footsteps. Length and Width may both be active at the same time. Biped | 5127 Width=1 and Width=2 Create Multiple Footsteps Dialog: Walk Select the Biped. ➤ Motion Panel ➤ Biped rollout ➤ (Footstep Mode) ➤ Footstep Creation rollout ➤ (Walk) ➤ (Create Multiple Footsteps) ➤ Create Multiple Footsteps: Walk dialog The Create Multiple Footsteps dialog for the walk gait creates a sequence of walking footsteps using a series of parameters. This dialog displays when you select the Walk gait on the Motion panel's Footstep Creation rollout, then click Create Multiple Footsteps. NOTE The Create Multiple Footsteps dialog appears differently depending on the gait chosen. For other gaits, see Create Multiple Footsteps Dialog: Run on page 5134 and Create Multiple Footsteps Dialog: Jump on page 5138. Procedures To make the biped walk up or down stairs: ■ In the First Step group, set Actual Stride Height to a value other than 0. A value higher than 0 will cause the biped to step up, while a value below 0 will make it step down. 5128 | Chapter 15 Character Animation To make the biped walk in place: ■ In the First Step group, Set Parametric Stride Length to zero. To make the biped walk backward: ■ In the First Step group, set Parametric Stride Length to a value less than zero. The absolute value of the Parametric Stride Length is still the length of the stride. To make the biped speed up as it walks: 1 In the Timing group, click Interpolate. The controls in the Last Step group are enabled. 2 In the Last Step group, set Time To Next Footstep to be a value less than Time To Next Footstep in the First Step group. You can adjust the values in either group, or both. The important thing is to make the Last Step a shorter time than the First Step. Interface Biped | 5129 Start Left Starts the footstep sequence with a left step. Start Right Starts the footstep sequence with a right step. Alternate Footsteps will alternate between right and left. Alternate is always selected when the Walk gait is selected. You can only clear Alternate when Run or Jump gaits are selected. Number of Footsteps Determines the number of new footsteps to be created. Parametric Stride Width Sets the stride width as a percentage of the pelvis width. A value of 1.0 produces a stride width equal to the pelvis width. A value of 3.0 produces a wide, waddling stride. Changes to this setting automatically change the Actual Stride Width. Parametric describes the parameter in terms of biped anatomy, and Actual describes the value in 3ds Max units. Stride Width=1 and Stride Width=3 Actual Stride Width Sets the stride width in modeling units. Changes to this setting automatically change the Parametric Stride Width. Total Distance Displays the total distance the footsteps will travel with the current settings. This value cannot be changed directly. OK Creates footsteps with the current settings. Cancel Cancels footstep creation. Default Resets the values on the dialog to default values. Timing group Auto Timing Sets timing parameters automatically. Auto Timing affects the following timing parameters for the Walk gait: ■ Walk footstep, Double Support 5130 | Chapter 15 Character Animation When Auto Timing is selected, these parameters are automatically adjusted to reasonable values. Control the footstep sequence by adjusting the Stride Length and Time To Next Footstep parameters. When Auto Timing is off, you can control the footstep sequence by adjusting the gait timing parameters, but you can't change the Time To Next Footstep parameter. Interpolate Control acceleration or deceleration of the series of footsteps. When this box is selected, a second set of step parameters under Last Step is enabled. Biped creates footsteps starting with the values of the parameters under First Step and ending with the values of the parameters under Last Step. By interpolating between the two, Biped produces a footstep series that changes over time. When Interpolate is cleared, the Last Step parameters are grayed out. Biped creates all the footsteps using only the parameters under First Step. Start After Last Footstep Appends the newly created footsteps to the end of the existing footstep sequence. Start at Current Frame Inserts the newly created footsteps at the current frame after the existing footstep sequence, allowing you to make a gap in time before the footsteps start again. First Step and Last Step groups Parametric Stride Length Sets the stride length for the new footsteps as a percentage of the length of the biped’s leg. The default value of 0.75 gives an average stride of normal proportions. A value of 1.0 will produce a stride length equal to the leg length, which makes the biped stretch slightly to reach the next step. A value of 0.0 will make the biped walk in place. A negative stride length will make the biped walk backwards. When a biped walks backwards, it does not simply reverse the forward movement but maintains the correct foot-state sequence with the toe touching the ground first, followed by the heel. Adjusting Parametric Stride Length automatically changes the value for Actual Stride Length. Biped | 5131 Stride Length=0.75 and Stride Length=1 Actual Stride Length Sets the stride length for new footsteps in 3ds Max units. The same rules apply as for Parametric Stride Length (described above). Adjusting Actual Stride Length automatically changes the value for Parametric Stride Length. Actual Stride Height Sets the rise or fall between footsteps. You can use this parameter to create a set of footsteps going up or down a slope or a stairway. The value for Actual Stride Height is the difference in height in units between each of the new footsteps. Positive values step up and negative values step down. Stride Height=5 units Time to Next Footstep Specifies the number of frames in each foot movement cycle. A cycle starts with the frame that a foot touches the ground, continues as the foot lifts and moves, and ends with the frame before the foot touches the ground again. This parameter is only enabled if Auto Timing is on. 5132 | Chapter 15 Character Animation Speed Displays the number of units the biped will move per frame. It changes in response to changes in the other parameters but cannot be adjusted directly. The following two parameters are only enabled when Auto Timing is off. You can use these parameters instead of Auto Timing to control the speed of the forward motion over the series of footsteps. However, because these parameters both affect the footsteps’ time in contact with the ground, using them to slow down a walk gives the walk a hesitant, ‘stop-go’ quality. Walk Footstep Specifies the number of frames each footstep will be on the ground during a walk. The higher the number, the longer each biped foot remains in contact with the ground and, consequently, the slower the speed of the walking motion. Footsteps 3 through 5 are on the ground for 22 frames each Double Support Specifies the number of frames both feet will be on the ground at the same time during a walk. The higher the number, the longer the period during which both feet remain in contact with the ground during each walk cycle and, consequently, the slower the speed of the walking motion. The dotted line surrounds the double-support period (6 frames) Biped | 5133 Create Multiple Footsteps Dialog: Run Select the Biped ➤ Motion Panel ➤ Biped rollout ➤ (Footstep Mode) ➤ Footstep Creation rollout ➤ (Run) ➤ (Create Multiple Footsteps) ➤ Create Multiple Footsteps: Run dialog The Create Multiple Footsteps dialog for the run gait allows you to create a sequence of running footsteps by setting a series of parameters. This dialog will display when Run is selected on the Footstep Creation rollout first, and then Create Multiple Footsteps is clicked. Interface Start Left Starts the footstep sequence with a left step. Start Right Starts the footstep sequence with a right step. Alternate Turn on to alternate between right and left footsteps. When this box is cleared, all of the footsteps will be either right or left, producing the effect of a hopping run on one foot. Number of Footsteps Determines the number of new footsteps to be created. Parametric Stride Width Sets the stride width as a percentage of the pelvis width. A value of 1.0 produces a stride width equal to the pelvis width. A value of 3.0 produces a wide, waddling stride. Changes to this setting automatically change the Actual Stride Width. Parametric describes the parameter in terms of biped anatomy, and Actual describes the value in 3ds Max units. 5134 | Chapter 15 Character Animation Stride Width=1 and Stride Width=3 Actual Stride Width Sets the stride width in modeling units. Changes to this setting automatically change the Parametric Stride Width. Timing Auto Timing Sets timing parameters automatically. Auto Timing affects the following timing parameters for the Run gait: ■ Run footstep, Airborne When Auto Timing is selected, these parameters are automatically adjusted to reasonable values. You control the footstep sequence by adjusting the Stride Length and Time to Next Footstep parameters. When Auto Timing is off, you can control the footstep sequence by adjusting the gait timing parameters, but you can't change the Time to Next Footstep parameter. Interpolate Control acceleration or deceleration of the series of footsteps. When this box is selected, a second set of step parameters under Last Step is enabled. Biped creates the footsteps starting with the values of the parameters under First Step and ending with the values of the parameters under Last Step. By interpolating between the two, Biped produces a footstep series that changes over time. When Interpolate is cleared, the Last Step parameters are grayed out. Biped creates all the footsteps using only the parameters under First Step. Start After Last Footstep Appends the newly created footsteps to the end of the existing footstep sequence. Biped | 5135 Start at Current Frame Inserts the newly created footsteps at the current frame after the existing footstep sequence allowing you to make a gap in time before the footsteps start again. First Step and Last Step Parametric Stride Length Sets the stride length for the new footsteps as a percentage of the length of the biped’s leg. The default value of 1.5 gives a typical running stride. A value of 1.0 will produce a stride length equal to the leg length, which makes the biped stretch slightly to reach the next step. A value of 0.0 will make the biped run in place. A negative stride length will make the biped run backwards. When a biped runs backwards, it does not simply reverse the forward movement but maintains the correct foot-state sequence with the toe touching the ground first, followed by the heel. Adjusting Parametric Stride Length automatically changes the value for Actual Stride Length. Stride Length=0.75 and Stride Length=1 Actual Stride Length Sets the stride length for the new footsteps in 3ds Max units. The same rules apply as for Parametric Stride Length (described above). Adjusting Actual Stride Length automatically changes the value for Parametric Stride Length. 5136 | Chapter 15 Character Animation Stride Height=5 units Actual Stride Height Sets the rise or fall between footsteps. You can use this parameter to create a set of footsteps going up or down a slope or a stairway. The value for Actual Stride Height is the difference in height in units between each of the new footsteps. Positive values step up and negative values step down. Time to Next Footstep Specifies the number of frames in each foot movement cycle. A cycle starts with the frame in which a biped foot touches the ground, continues as the foot lifts and moves, and ends with the frame before the foot touches the ground again. This parameter is only enabled if Auto Timing is on. Speed Displays the number of units the biped will move per frame. It changes in response to changes in the other parameters but cannot be adjusted directly. The following two parameters are only enabled when Auto Timing is off. You can use these parameters instead of Auto Timing to control the speed of the forward motion over the series of footsteps. Run Footstep Specifies the number of frames each footstep will be on the ground during the run. The higher the number, the longer the biped foot remains in contact with the ground and, consequently, the slower the speed of the running motion. Footsteps 2 and 3 are on the ground for 5 frames each Biped | 5137 Airborne Specifies the number of frames the body will be in the air between footsteps. The higher the number, the longer the biped hangs in the air for each step and, consequently, the slower the speed of the running motion. Create Multiple Footsteps Dialog: Jump Select the biped. ➤ Motion Panel ➤ Biped rollout ➤ (Footstep Mode) ➤ Footstep Creation rollout ➤ (Jump) ➤ (Create Multiple Footsteps) ➤ Create Multiple Footsteps: Jump dialog The Create Multiple Footsteps dialog for the jump gait allows you to create a sequence of jumps by setting a series of parameters. It displays when you’ve selected Jump on the Footstep Creation rollout on the Motion panel, and then click Create Multiple Footsteps. Interface Start Left Starts the footstep sequence with a left step. Start Right Starts the footstep sequence with a right step. Alternate When this box is selected, the footsteps will alternate between right and left. When this box is cleared, the footsteps will be either right or left steps, causing the biped to hop on one foot. Number of Footsteps Determines the number of new footsteps to be created. Parametric Stride Width Sets the stride width as a percentage of the pelvis width. A value of 1.0 produces a stride width equal to the pelvis width. A value of 3.0 produces a wide, waddling stride. Changes to this setting automatically change the Actual Stride Width. Parametric describes the parameter in terms of biped anatomy, and Actual describes the value in 3ds Max units. 5138 | Chapter 15 Character Animation Stride Width=1 and Stride Width=3 Actual Stride Width Sets the stride width in modeling units. Changes to this setting automatically change the Parametric Stride Width. Timing Auto Timing Sets timing parameters automatically. Auto Timing affects the following timing parameters for the Jump gait: ■ 2 Feet Down, Airborne When Auto Timing is selected, these parameters are automatically adjusted to reasonable values. You control the footstep sequence by adjusting the Stride Length and Time To Next Footstep parameters. When Auto Timing is off, you can control the footstep sequence by adjusting the gait timing parameters, but you can't change the Time To Next Footstep parameter. Interpolate Allows you to control acceleration or deceleration of the series of footsteps. When this box is selected, a second set of step parameters under Last Step is enabled. Biped creates the footsteps starting with the values of the parameters under First Step and ending with the values of the parameters under Last Step. By interpolating between the two, Biped produces a footstep series that changes over time. When Interpolate is cleared, the Last Step parameters are grayed out. Biped creates all the footsteps using only the parameters under First Step. Start After Last Footstep Appends the newly created footsteps to the end of the existing footstep sequence. Biped | 5139 Start at Current Frame Inserts the newly created footsteps at the current frame after the existing footstep sequence, allowing you to make a gap in time before the footsteps start again. First Step and Last Step Parametric Stride Length Sets the stride length for the new footsteps as a percentage of the length of the biped’s leg. The default value of 2.4 gives a jumping stride. A value of 1.0 will produce a jump length equal to the leg length, which makes the biped stretch slightly to reach the next step. A value of 0.0 will make the biped jump in place. A negative stride length will make the biped jump backwards. When a biped jumps backwards, it does not simply reverse the forward movement but maintains the correct foot-state sequence with the toe touching the ground first, followed by the heel. Adjusting Parametric Stride Length automatically changes the value for Actual Stride Length. Stride Length=0.75 and Stride Length=1.0 Actual Stride Length Sets the stride length for the new footsteps in 3ds Max units. The same rules apply as for Parametric Stride Length (described above). Adjusting Actual Stride Length automatically changes the value for Parametric Stride Length. Actual Stride Height Sets the rise or fall between footsteps. You can use this parameter to create a set of footsteps going up or down a slope or a stairway. The value for Actual Stride Height is the difference in height in units between each of the new footsteps. Positive values step up and negative values step down. 5140 | Chapter 15 Character Animation Stride Height=5 units Time to Next Footstep Specifies the number of frames in each foot movement cycle. A cycle starts with the frame a particular foot touches the ground, continues as the foot lifts, moves, and ends with the frame before the foot touches the ground again. This parameter is only enabled if Auto Timing is on. Speed Displays the number of units the biped will move per frame. This changes in response to changes in the other parameters but cannot be adjusted directly. The following two parameters are only enabled when Auto Timing is off. You can use these parameters instead of Auto Timing to control the speed of the forward motion over the series of footsteps. 2 Feet Down Specifies the number of frames that the left and right footsteps will be on the ground during the jump. The higher the number, the longer the pause between each jump and, consequently, the slower the speed of the jumping motion. The dotted line surrounds the 2 feet down period (15 frames) Airborne Specifies the number of frames the body will be in the air during the jump. The higher the number, the longer the biped hangs in the air for each jump and, consequently, the slower the speed of the jumping motion. Biped | 5141 The dotted line surrounds the airborne period (13 frames) Convert to Freeform or Footsteps Dialogs Select the Biped. ➤ (Convert) Motion panel ➤ Biped rollout ➤ When you click Convert on the Biped rollout of the Motion panel, a Convert To dialog displays: Convert to Freeform or Convert to Footsteps, depending on the animation method of the currently loaded motion. Use Convert To Freeform for unrestricted key editing or Convert To Footsteps to take advatage of footsteps. NOTE By default, Jumping or airborne periods between footsteps are calculated by character studio based on gravity strength (GravAccel) and time between footsteps. Biped elevation during these jumping and airborne periods will be lost when converting to freeform from footsteps (unless you create a vertical COM key in the airborne period in the footstep animation), a freeform animation uses spline interpolation for the center of mass position and does not account for gravity. Elevation in airborne periods is restored if you convert back to footsteps. When to Use Convert ■ Use Convert after using Save Segment in Motion Flow mode to save a script as a BIP file. Exit Motion Flow mode, load the BIP file and click Convert to extract footsteps. Save Segment applies IK Blend values of 1 to the biped foot keys for the keys at footsteps. If a freeform animation is part of the script in Motion Flow mode, and you want to convert the entire script motion to footsteps, then use the Save Keys at every Frame option in Save Segment and use Load Motion Capture File on the Motion Capture rollout. This will allow you to extract footsteps using the proximity method. 5142 | Chapter 15 Character Animation ■ Use Convert if you are working on a footstep animation and want to switch to a freeform animation. ■ Use Convert if you have started a freeform animation and want to convert to a footstep animation. In order to convert a freeform animation to a footstep animation, the file must be properly set up by locking the feet to world space using IK Blend before converting to footsteps. When creating freeform animations, you should set your leg keys to IK Blend=1.0 during the periods you want the feet to be planted, and set the move keys to IK Blend=0.0. This will insure that the feet are locked and rid of unnecessary foot sliding as the body is moved. When converting, if the leg keys have been set up this way, Biped will extract footsteps during any duration where IK Blend=1.0. Interface Convert to Freeform dialog Generate a keyframe per frame Creates keys at every frame. NOTE Converting footsteps to freeform creates foot IK Blend values of 1 for the biped feet for the original footstep keys. This simplifies keyframing by putting the feet into world coordinate space, which prevents them from sliding when the biped is moved. These foot IK Blend values are also used when you click Convert (on the Biped rollout) to convert back to footsteps. Biped | 5143 Convert to Footsteps dialog Generate a key per frame Creates a key at every frame, and extracts footsteps based on foot IK Blend values equal to 1. Save Segment in Motion Flow mode stores the active script as a BIP file without footsteps. The biped foot keys are assigned IK Blend values of 1 for the original footstep keys. After loading a BIP file saved using Save Segment in Motion Flow mode, use Convert (on the Biped rollout) to extract footsteps. Convert is also useful if you have already converted from footsteps to freeform in which case the feet are assigned an IK Blend value of 1 for the keys that represented footsteps. Flatten Footsteps to Z=0 The entire biped is repositioned to place the footsteps at Z=0. NOTE An IK Blend value of 1 for the feet puts them into world coordinate space and prevents them from slipping while setting biped keys in a freeform animation. Footstep Mode Dialog Graph Editors menu ➤ Track View Dope Sheet ➤ Right-click on a footstep track. Right-click anywhere in the Footstep track in Track View (Dope Sheet) to display the Footstep Mode dialog. This is a modeless dialog and can remain visible while you continue to work in Track View. This dialog allows you to: ■ Control the duration information displayed with the footsteps. ■ Create a freeform period between footsteps. ■ Select the right or left edges of footstep blocks or the whole block. 5144 | Chapter 15 Character Animation Interface Edit Footsteps In this mode (which is the default), you can edit the biped’s footsteps to change their duration; start and end frames; airborne duration; and so on. Edit Free Form (no physics) In this mode, you can edit the biped’s body keys for the frames at which the biped is airborne. Free Form suspends the physically based dynamics that normally control biped motion. This is essential when you want to make the biped fly, or sit down, or fall over. Note that the freeform period must be between footsteps. The freeform area appears as a yellow block between the footsteps. Biped | 5145 Footstep Number Display group The footstep blocks can have any one of four time settings displayed for them. You can only show one of these at a time. The footstep step number is always displayed on the footstep blocks (in boldface). Start and End Frame Displays the start and end frames of the footstep (from Touch to Lift). Biped displays just the start frame if the footstep block is too small to show both. Zoom in to see both start and end numbers. Both footsteps 0 and 1 begin at frame 0 and end at frame 19. Start Frame Displays just the start frame number (Touch). Both footsteps 0 and 1 begin at frame 0. Duration Displays the number of frames that the foot is in contact with the ground (from Touch to Lift). Both footsteps 0 and 1 are in contact with the ground for 20 frames. Double Support Displays the number of overlapping frames in which both feet are in contact with the ground. 5146 | Chapter 15 Character Animation You can also turn on the following two numbers for the intervals between the footsteps. You can display both numbers at the same time by selecting both boxes. Footsteps 0 and 1 share a double-support period of 20 frames. No Support Displays the number of frames that the whole biped is airborne; that is, the frames in which neither of the feet have any contact with the ground. The no-support period between frames 3 and 4 and 4 and 5 is 12 frames. Foot Air Duration Displays the number of frames that each foot has no contact with the ground. The foot air duration for the left footstep track between frames 3 and 5 is 31 frames. Biped | 5147 Footstep Edge Selection group Select Start of Footstep Selects the leftmost key for the current footstep selection. Select Entire Footstep Selects the entire footstep. Select End of Footstep Selects rightmost key for the current footstep selection. Track View (Biped) Graph Editors menu ➤ Track View - Dope Sheet or Track View - Curve Editor You can use the Dope Sheet to create and adjust biped keyframes, edit biped footsteps, and specify freeform periods. Biped keys display as dots on the tracks. Footsteps display as squares that can be moved in time. Biped dynamics and footsteps work together; if footsteps are moved in time, Biped adapts leg keys and vertical positions to account for the editing. There are a couple of restrictions: you can’t overlap footsteps on the same track, or move footsteps into negative time. In this Track View - Dope Sheet view of a walking motion, footsteps are represented by colored squares, footstep numbers appear in boldface inside the squares, in between the start and end frames of the footstep. The numbers between the colored boxes represent foot-air duration. 5148 | Chapter 15 Character Animation The Curve Editor can be used to make adjustments to biped keyframe animation. The Curve Editor is a Track View mode that allows you to work with motion expressed as function curves on a graph. It lets you visualize the interpolation of the motion, the object transformations that character studio creates between the keyframes. You can see and control the motion and animation of the objects in the scene using the keys found on the curves. You can even draw curves directly on the graph. Footsteps in Track View - Dope Sheet By default, left leg footsteps are blue and right leg footsteps are green. Inactive footsteps are more saturated values of blue and green, active footsteps are pale blue and green. The left edge of each footstep block indicates when a foot touches a footstep (Touch State). The right edge of each footstep block indicates the last frame the foot is on a footstep (Lift State). The space between two footsteps indicates an airborne state for the foot (Move State). The period between the Touch and Lift States is the Plant State. Editing Biped Keys in Track View Track View is often used to change multiple keys simultaneously. For example, to change Dynamics Blend for all the vertical centers of mass keys, select all the vertical keys, display the TCB (Tension, Continuity, and Bias) dialog by right-clicking over the selected keys and change the Dynamics Blend parameter. Right-click a key in Track View to display the TCB dialog. Biped | 5149 Separate Tracks By default, Biped stores all of the toe, foot, and calf keys in the thigh track. The finger, hand, forearms, and upper-arm keys are stored in the clavicle track. All the spine keys are stored in the spine 01 track. Although you can see all of these objects in the Track View hierarchy, they have no transform track, unless you enable them in the Separate Tracks group of the Keyframing Tools rollout on page 5063. For example, if you rotate a biped foot, a key is created in the biped thigh track. This optimized approach works well in many cases. If your animation requires extensive hand and finger keyframing, turn on Arms on the Keyframing Tools rollout; all of the arm transform tracks are now enabled, down to the first finger link on each finger. Now if you delete an upper arm key, your finger-hand animation is preserved. How Dynamics and Footsteps Relate When footsteps are created, a footstep track displays in Track View – Dope Sheet. Footsteps appear as blue and green blocks, laid out to show their exact placement in time. If you compare the center of mass tracks to the footsteps, you will notice that frames where leading and trailing edges of the footsteps occur also have keys for the center of mass Body Vertical and Horizontal tracks. These keys contain dynamics information used by character studio to calculate airborne body position relative to gravity, and leg bend on landing and balance. Biped Dynamics is the reason you do not need a vertical center of mass key at the top of a jumping motion or at the bottom of dip when the biped lands from an airborne period. Click and drag the middle of a footstep to move it in time. Click and drag one edge of a footstep to stretch the footstep in time. NOTE Changing the duration of footsteps or moving them relative to one another may change the “support relationships” of the footsteps. Whenever the support relationships change, Biped generates new keys and deletes any existing leg keys in the airborne period between the edited footsteps. 5150 | Chapter 15 Character Animation Because of Biped Dynamics, no keys are necessary for the highest part of this jumping motion or for the dip when the biped lands; character studio calculates the trajectory of the Body. This image shows the center of mass trajectory. Keyframes are white squares on the trajectory. Simply change gravity (GravAccel on the Dynamics & Adaptation rollout), and the jumping motion is flattened. The biped looks like it’s hopping on the moon. By selecting half the footsteps in Track View - Dope Sheet and moving them to the right in time, the biped has to jump higher to account for the added time to the next footstep. Notice that the yellow dots, representing frames, are tightly bunched together; there are more frames in this airborne period. Biped | 5151 Here, the center of mass is moved in the Z plane. Now the biped heel never hits the ground; the biped appears to do a jump using just its toes. Here, character studio understands that you want to override the calculated trajectory and position the keyframe yourself. Moving Keys You can use the time slider to move one Biped key past another. The result is as if the original key were deleted from its original frame and copied to the new frame. Simply drag the key to the new frame, then release the mouse to complete the move. The key's various Biped properties (ease values, TCB values, IK blend, and so on) are not changed. You can move a key past either the following key or the previous one. You can also move it past multiple keys. If you move a key onto a frame where a key is already present, it replaces the original key. In Track View, you can move a key past another using the transform track. You can also scale keys forward in time such that some keys are now past the keys that weren't scaled. If keys move into negative time, a warning reminds you that keys in negative frames can't be used for footstep animation: a workaround is to set new keys in the negative frames, instead of moving existing ones. If you change the key to Euler control (on the Quaternion/Euler rollout) and then drag it past another, the key's tangent type is maintained. If you add a layer (on the Layers rollout), set two keys, and then move the first one past the second one, this also works. Freeform Animation It is left to you to create all the keys in a freeform animation; Biped Dynamics is not active and does not recalculate body position. Balance Factor is active in a freeform animation. A completely freeform animation contains no footsteps. 5152 | Chapter 15 Character Animation To start an entirely freeform animation, simply create a biped and begin keyframing. NOTE Once you initiate a freeform animation, you cannot add footsteps to it in Footstep mode. You can, however, convert your freeform animation to a footstep animation using Convert on the Biped rollout. You will often want a freeform period in a footstep sequence; for a walk then fall type of motion for example. In cases like this, a freeform period is specified between footsteps in Track View using the Footstep Mode dialog on page 5144. A combination of footsteps and freeform is often required when motion capture data is imported. A freeform period is created using controls in the Footstep Mode dialog and display as a yellow boxes between footsteps in Track View. Right-click the footstep track to display the Footstep Mode dialog; here you specify a freeform period, select multiple footstep edges, and set footstep numbering display options. Biped Color-coded Keys and Trajectories Biped uses color coding for IK keys in three places: Track View, Track Bar, and when trajectories are displayed in the viewports. Also, depending on the types of keys, trajectories themselves can be color coded. The color coding helps you visualize when IK and FK are in use, and the transitions between them. This topic describes color coding of non-COM on page 9115 tracks. For information about COM key color coding, check here on page 5035. Color-coded Keys in Track View and on the Track Bar Biped IK keys as displayed in Track View and on the track bar use the following color scheme: ■ orange for planted keys ■ yellow for sliding keys ■ blue for body-space IK keys with a non-zero value for IK Blend All other keys use the default color: gray. Biped | 5153 Color-coded biped keys in Track View and on the track bar Visualizing Pivot Trajectories and Keys To view trajectories for Biped parts in the viewports, go to the Motion panel and on the Biped rollout ➤ Modes And Display sub-rollout, or on the Key Info rollout, turn on Trajectories. Trajectories Shows and hides trajectories for the selected biped object. You can edit keys on the biped's horizontal and vertical track by turning on Trajectories, turning on Sub-Object, selecting the horizontal or vertical center of mass track, and transforming keys in the viewports. ■ You can bend the horizontal center of mass trajectory around selected horizontal keys by using the Bend Horizontal spinner in the Keyframing Tools rollout. ■ Display trajectories to view how parameter changes in the Key Info rollout affects the biped motion. Changing Tension, Continuity, and Bias in the Tcb group affects the trajectory around the current key. Changing the value of IK Blend for a hand or foot will affect the trajectory between keys. ■ Leave Trajectories on and turn on Show Buffer Trajectories on the Motion Capture rollout to compare a raw motion capture trajectory with the filtered trajectory on the biped. This assumes a motion capture file has been loaded. ■ Changing Dynamics Blend for a center of mass vertical key or changing the value of GravAccel will change gravity in a foostep animation and will therefore affect the trajectory. 5154 | Chapter 15 Character Animation To make Biped pivots easier to interpret and manipulate, Pivot trajectories and their keys are represented in the viewport during IK periods and display in the color of the associated key type: ■ orange for planted keys ■ yellow for sliding keys ■ blue for body-space IK keys TIP One way to create a body-space IK key is to set a regular IK planted or sliding key, and then, at that frame, on the Key Info follout ➤ IK section, choose Body. Or you can convert an FK key that's already set to Body by increasing its IK Blend value above 0.0. During FK periods the node trajectory and its keys display in purple (the same keys are gray on the track bar). During FK/IK blend periods the trajectory of the resulting blend is displayed and its color is determined by the amount of the blend; for example, a blend of 0.5 to a sliding key results in a trajectory that is a 50:50 blend of yellow and purple. Because pivots are located in all extremes of the hands and feet, their trajectories discontinuous when both FK and IK periods are employed. The following figure shows a simple example of this. During the planted IK periods, the pivot trajectories show just the keys on the heel and toe (because the keys are planted, each pivot stays in place), and during the FK periods the trajectories are derived from the foot’s node pivot location. This gives you more-detailed information about the animation that is driving the foot. Footstep trajectory Biped | 5155 In following illustration, while the biped walks, the right hand reaches up to touch something in IK, as shown by the yellow trajectory, made by two sliding IK keys. Later, the biped touches its own face, using body space IK, as shown by the bright blue keys. The color transition in the trajectory from purple to blue indicates a changing blend from FK to body-space IK, showing the interpolated value of the IK Blend parameter. Hand trajectory Following is a chart showing the result of going from one key type to another. the last three rows of the chart show transitions between object and body space that produce pure FK. In the past, it was hard to know what type of trajectory these combinations produced. The new trajectory colors clarify the result. In the chart, the letters have the following meanings: ■ O: object space ■ B: body space 5156 | Chapter 15 Character Animation ■ IK: a key where IK Blend ➤ 0. It is always accompanied by the space: O or B. ■ FK: a key where IK Blend = 0, no matter what space it’s in From -> To Result Trajectory Drawn Trajectory Color OIK -> OIK OIK Pivot Yellow BIK -> BIK BIK Node Blue FK -> FK FK Node Purple BIK -> BFK BIK/BFK blend Node Blue -> Purple OIK -> OFK OIK/OFK blend Node Yellow -> Purple OIK -> BIK FK Node Purple OIK -> BFK FK Node Purple BIK -> OFK FK Node Purple NOTE When separate tracks exist for either a limb or its digits, the FK trajectory of the bone base is always drawn, regardless of whether the trajectory display is set to Bone Base or Bone Tip on the Display Preferences dialog on page 5027. Biped Shortcuts The table in this topic shows the default keyboard shortcuts for character studio. Use the Keyboard Shortcut Override toggle on page 9008 on the main toolbar to enable the character studio keyboard shortcuts. All character studio keyboard shortcuts activate when the Motion panel is active and the Keyboard Shortcut Override button is active. To customize your shortcuts, use the Customize User Interface dialog on page 8837. Biped | 5157 See also: ■ Keyboard Shortcuts on page 9007 ■ Keyboard Panel on page 8837 ■ Customize User Interface Dialog on page 8837 Action Shortcut Description Activate Layer (Toggle) Bend Links Mode Body Horizontal Selects the center of mass to edit horizontal biped motion Body Rotation Selects the center of mass to edit biped rotational motion Body Vertical Selects the center of mass to edit vertical biped motion Buffer Mode Change Leg State Alt+Ctrl+S Clear All Animation Clear Selected Tracks Collapse Layer Collapse Move All Mode Changes Alt+M 5158 | Chapter 15 Character Animation Toggles foot states of the selected leg at the current frame. View the state change in the leg states displayed on the Biped rollout. Action Shortcut Description Copy Posture Alt+C Copies the posture of the selected biped objects to the clipboard. Alt+Ctrl+F Searches for any problem in the motion and prompts you whether or not to fix problems it encounters. Problems it looks for include overlapping keys, keys past the end of the footstep range, keys at negative frames, or illegal footstep timing. Click OK when prompted to fix these problems automatically. Create Layer Delete Layer Display Biped Trajectory Display Bones Display Footstep Number Display Footsteps Enable Subanims Figure Mode Fix Graphs Footstep Mode Free Mode In Place Mode In Place X Mode Biped | 5159 Action Shortcut Description Alt+Ctrl+L Toggles locked keys (red) on and off for the selected leg or vertical track key at the current frame. In Track View, you can watch the key turn from red to gray, and back again, as you lock and unlock it. Paste Posture Alt+V Pastes the posture from the clipboard onto the currently selected biped. Paste Posture Opposite Alt+B Pastes Posture Opposite for the currently selected biped. Play Biped V Toggles Biped playback. In Place Y Mode Load .bip File Lock Selected Keys (toggle) Manipulate Subanims Mirror Mixer Mode Motion Flow Mode Move All Mode Next Layer Previous Layer Reset all limb keys Alt+K Rubber Band Mode 5160 | Chapter 15 Character Animation Action Shortcut Description Alt+Ctrl+E This toggle strips the scale from the biped. Developers should use this when exporting biped objects as regular 3ds Max links through the 3ds Max SDK. Animators should not use this shortcut. 0 Sets a biped key. Alt+R Resets the total animation length to the length of the current biped footstep range. Save .bip File Scale In Transform (toggle) Scale Stride Mode Set Free Key Set Key Set Layer Snap Key Set Multiple Keys Set Planted Key Set Range Set Sliding Key Smooth Twist Mode Toggle Biped Keys in Track Bar Alt+T Track View Select end of footstep Alt+D Selects all right edges of the selected footsteps in Track View. Biped | 5161 Action Shortcut Description Track View Select entire footstep Alt+S Selects both edges of the selected footsteps in Track View. Track View Select start of footstep Alt+A Selects all left edges of the selected footsteps in Track View. Twist Links Mode * Not available for customization in the Customize User Interface dialog. Working with the Workbench The Workbench is a customized version of Track View that you use for correcting and improving biped animation. It extends the functionality of existing curve editors by giving you different options for visualizing and manipulating curves, and provides filters to perform general rotation, position and other biped-specific operations. With the Workbench, you can analyze curves for error conditions and apply filters to the identified keyframes, or filter selected biped tracks to generally improve the motion of a track without errors. See also: ■ Navigating the Workbench on page 5164 Workbench Workflow Here are the overall steps you would follow to use the Workbench to analyze and fix a biped for problems: 1 Create your animation and play it. Note visually anything that jumps out at you as being wrong or incorrect. 2 With the biped selected in the viewport, open the Workbench by clicking the Workbench button in the Biped Apps rollout on the Motion panel. 3 Select the biped body part that seems to have the problem. You can select it in the viewport, or from the list in the Select panel. 5162 | Chapter 15 Character Animation Be aware that some biped objects share tracks. For example, all the objects in a leg or an arm share a single track. 4 On the Analyze panel, choose an analyzer from the drop-down list. Set the analysis conditions, then click Analyze. Any errors the analyzer encounters will be displayed in a list at the bottom of the Analyze panel. The Curve view also indicates the problem area by displaying a vertical bar. 5 On the Fix panel, select the errors you want to fix. Select the filter for the fix, adjust its parameters, and then click Fix Selected. You can select the errors one at a time, or in any combination. You can sort the errors by time or body part, depending on what kind of fix is needed. Errors displayed as yellow lines in Curve View If the results aren't satisfactory, try changing the parameters and fixing again. Repeat the process until you find the combination of parameters that correct the movement. Or try a different fixer or filter (these are described later in this topic). Animation Workbench Tools The Animation Workbench provides three types of tools to use with biped animation: analyzers, fixers, and filters. Biped | 5163 Analyzers These are used to find out-of-the ordinary properties in your animation. Certain analyzers parse the waveform of your motion tracks and detect variation from the curves. There are two detectors available that do this; Noise and Spike. There are also analyzers for finding and fixing knee conditions, specifically knee wobble and extension. For more information, see Analyze Panel on page 5178. Fixers Fixers address problems found by the analyzer. The fixers work by running a specified operation over just the analyzer result. They don't change the complete animation, just areas around the problem. For more information, see Fix Panel on page 5184. Filters Filters are operations that are performed on the specified animation tracks. Unlike fixers, they affect the complete specified time interval, not just the analyzer result. The Rot Smoothing, Rot Blurring, Rot Boosting, Adv Rot Smoothing, Pos Smoothing, Pos Blurring and Pos Boosting filters are all variants of one type of filter. They all share the same parameters: Width and Damping. For more information on these filter types, see Filters Panel on page 5189. Navigating the Workbench The Animation Workbench, a customized version of Track View, uses some of the standard Track View controls, and adds new ones of its own. The areas of the Workbench interface include: ■ The Tab panels: Select, Analyze, Fix, and Filter ■ The Curve view, with Track View toolbars for key selection, manipulation, and view navigation. ■ The Workbench toolbar, with tools for choosing Coordinate space, display of sub-animations, and tools to hide the Tab area and controller list. Each section of the Workbench User has specific navigation techniques. 5164 | Chapter 15 Character Animation See also: ■ Selecting Workbench Tracks on page 5167 Navigating the Tab Panel Simply click the tabs to move from one panel to another. The tools displayed change with each panel. The overall workflow is left to right for the tabs, and top to bottom within each panel. Selections are displayed in lists: clicking a name in a list selects that entry. Operations are usually performed by clicking a button at the bottom of the panel. TIP The Tab panels can be hidden once the operations are performed and you don't need to see the panels any more. Click the Tab button in the Workbench toolbar to hide the panel display. Displaying the Controller List Click the Controllers button in the Workbench toolbar to display the Controller List. When the controller list is displayed you can select multiple tracks as you like, right-click them and assign controllers using the pop-up menu. You can also get to properties for controllers such as Noise that don't have keyframes. Click the Controllers button in the Workbench toolbar to display the embedded curve editor's Controller window. The biped body tracks shown are in the list are the ones that are selected in the Select panel on page 5175, in addition to any scene objects that are attached to those body parts or are used as IK objects for those body parts. The controller list is similar to the one in the curve editor. Biped | 5165 Controller list displayed Navigating the Curve View Use the standard 3ds Max Track View navigation tools to adjust the view of curves in the Curve view window. Zoom, Zoom Extents Horizontal and Vertical, and Pan are often used to get a better view of an entire curve, or a portion of a curve. As a default, the curve view automatically displays the curve of whatever biped object is selected in the viewport. The Workbench window can be resized to make it easier to work with curves. You can float or hide toolbars to give you even more room. You can dock toolbars left and right as well. Docking the Workbench You can dock the Workbench in a viewport. With the Workbench open, click or right-click the Point-Of-View viewport label, then from the POV viewport label menu on page 8712 choose Extended ➤ Biped AnimationWorkbench. The open workbench docks in the viewport. TIP This works best if you change your layout so there is at least one horizontal viewport. 5166 | Chapter 15 Character Animation NOTE Unlike the 3ds Max Track View – Dope Sheet and Curve Editor, the Workbench cannot be docked below the viewport trackbar. Show Layered Edit You can affect a layered range of keys by turning on Show Layered Edit. This is a special Workbench mode that extends the edit to affect keys surrounding the one you are editing. It works like soft selection in 3ds Max but gives you greater control over the displacement. It can help you blend your edits into existing motion. Selecting Workbench Tracks As a default behavior, whatever biped part is selected in the viewport will have its curves displayed in the Curve view. You can also use the Select panel on page 5175 to select biped parts by name. The functionality of the Select panel is derived from the Selection Floater on page 187; you can invert the selection set or enter a name into the Selection field to find a track. Biped | 5167 You can also use the controller window as a selection mechanism. With the Controllers list visible you can click on track entries there to work on the curves. NOTE Sometimes a curve will not appear in the display at first. Click Zoom Extents Horizontal and Zoom Extents Vertical to make sure the curve can be seen. The Workbench toolbar lets you choose the type of curve to display and the coordinate space in which it is displayed. For example, if you know you are dealing with rotational errors, choose an Rot or Quat type curve. If it is an error of positional data, choose Pos. If you open the Track View – Curve Editor or expand the track bar while you have the Workbench open, you will see a simultaneous display. The views are all synchronized, so selecting a track in one graph editor selects it in all. When using footstep animation, you can see the footstep keys by opening a Track View – Dope Sheet window. Analyzing Curves Once you have selected curves, you can analyze them to discover error conditions. You choose between four kinds of detectors; Noise, Spike, Knee Wobble or Knee Extension. You can also select only a the portion of a curve to analyze. Perform the analysis by clicking the Analyze button. The errors are found based on the detector's parameter settings. If no errors are found, try adjusting the parameters and clicking Analyze again. Lowering the Standard Deviation value will yield more errors. When an error has been detected, the biped part name appears in the Analyze Results list. If multiple errors are detected, the entry displays a number that tells how many errors were found. Errors are also displayed in the Curve View as vertical brown lines. Once errors have been located, you can use the tools on the Fix panel to correct those keys and the keys around them. Or you can use the error location merely to identify the keys, then manually make changes using standard interpolation techniques. Right-clicking a key in the Curve view will display the properties dialog that allows for such adjustments. 5168 | Chapter 15 Character Animation Results of the Analyze operation can be loaded or saved as a file using the Load or Save buttons at the bottom of the interface. Results of the last analysis can be cleared using the Clear button, also found at the bottom of the panel. Fixing Curves After you have selected curves and analyzed them for error, you can use the tools found on the Fix panel to process the curves and reduce the errors. The fixes are determined by which type of fixer you choose, and the parameters you set for that fixer. Clicking Fix Selected or Fix All at the bottom of the panel performs the Fix operation. In general, fixes are made either by changing the position or value of a key, or by removing the key. The basic fixing techniques involve smoothing, blurring, boosting, or key deletion. This is similar to audio-editing software, where you view music as a waveform, and then edit the waves in various ways to alter the sound. Similarly, the motion of the biped body parts, as defined by position and rotation tracks, can be evaluated for error conditions regarding speed, angle, acceleration, or change of direction. Of course, you can also fix curves manually. You can select the key on the curve and move it, using the standard Track View key buttons duplicated in the Workbench, such as Move, Slide, Scale or Delete Keys. You can achieve a layered range of keys by turning on Show Layered Edit. This is a special Workbench mode that extends the edit to affect keys surrounding the one you are editing. It works like soft selection in 3ds Max but gives you greater control over the displacement. It can help you blend your edits into existing motion. Workbench User Interface Select a biped body part. ➤ Workbench button Motion panel ➤ Biped Apps ➤ Biped | 5169 The Animation Workbench is a tool for working with biped function curves. It is a customized version of Track View, with many of the same toolbars and buttons, plus some new ones. In addition to the standard Track View features, the workbench has tools to help you select curves, analyze them for errors, and automatically fix those errors based on various settings. This is especially useful when working with motion-capture data, or other animation that has many keys. Of course, you can also display and manipulate function curves for bipeds in the standard 3ds Max Track View and expanded track bar, as well. However, you have access to the automatic error-analysis tools only in the Workbench NOTE On the time slider or in Track View, you can move one Biped key past another. See Moving Keys on page 5152. The Animation Workbench displays rotation curves in local biped space for both quaternion and euler rotations. This improves the speed of curve manipulation since the whole biped doesn't need to be calculated in order to draw a single curve. NOTE This does not affect position curves, which are still evaluated in world space. NOTE Curve display will only change for certain objects in COM space: base of spine, neck, clavicles, upper arms, upper thighs, and feet. See also: Working with the Workbench on page 5162 ■ Procedures To display the local rotation curve of an animated spine link: 1 Create a biped and 2 Set a key at frame 0. 5170 | Chapter 15 Character Animation select its upper spine link. 3 Go to frame 10, axis, then rotate the spine link 30 degrees in the local Z set a key. 4 Open the Animation Workbench. Only one curve is displayed because the upper spine rotates in local space by default. 5 Select the biped's head. Notice how there are no curves in the workbench because the head doesn't inherit the spine link's rotation and doesn't have an internal rotation of its own. Biped | 5171 Interface 1. Tab panels (Select, Analyze, Fix, and Filter). 2. Display Tab panels 3. Display Controllers list 4. Workbench toolbar 5. Curve View 6. Curve View toolbars (same as Track View toolbars). Animation Workbench Tab Panel The Animation Workbench Tab panel consists of four panels: ■ Select panelProvides tools to select curves for biped body parts. For more information on the Select panel user interface, see Select Panel on page 5175. ■ Analyze panelEvaluates the curves for error conditions. For more information on the Analyze panel user interface, see Analyze Panel on page 5178. ■ Fix panelProvides a variety of methods to be applied to the errors located by the analysis. For more information on the Fix tab user interface, see Fix Panel on page 5184. ■ Filters panelThese are a special type of fixer that perform an operation over each key that is selected. When no keys are selected it performs the operation over the whole curve rather than using the results of the last error analysis. Use this when you have errors visible in the motion, but the fixer refuses to find them. For more information on the Filter panel user interface, see Filters Panel on page 5189. Use the Tab button on the Workbench toolbar to display and hide the Tab panel. 5172 | Chapter 15 Character Animation Curve View To the right of the Tab area is the Curve View, where keys and curves for the selected biped parts are displayed. This is the same as the Track View Key window. Curve View Toolbars Directly above and below the Curve View are some of the standard 3ds Max Track View toolbars. They give access to tools used to navigate the view and manipulate the keys. The toolbars below the Curve View are used for selection and navigation; toolbars above the Curve View are used to move, slide, and scale keys; to scale values; and to add new keys. Animation Workbench Toolbar The Workbench toolbar extends the toolset found in the 3ds Max Track View. The Workbench toolbar includes: ■ TabHides or displays the Workbench Tab panel, which contains the tools for automated error analysis and correction fixers and filters. ■ ControllersHides or displays a controller-window hierarchy list. This is the same list you see in standard Track View with the same right-click menus used to assign controllers. ■ Curve TypeDetermines which curves are displayed for the selected object. Rot Curve, Rot Speed, Rot Accel, and Rot Jerk curves represent rotation. Pos Curve, Pos Speed, Pos Accel and Pos Jerk curves represent position. NOTE Choosing Rot Curve or Pos Curve turns on Show Biped Rotation Curves or Show Biped, Position Curves, respectively, in the Biped toolbar of the Curve Editor on page 3907. Noise curves represent random position and rotation. Each biped part can show any of these curves, except for the Horizontal and Vertical tracks, which show only positional curves, and the Turning track, which shows only angular curves. The Axis order drop-down lets you choose the order in which the rotation curves are calculated. The ordering follows the same rules as the Euler Axis Order on the Quaternion/Euler rollout on page 5036. Biped | 5173 When manipulating position curves, the Workbench allows the curves to be displayed relative to the World, the Biped Root, or any object in the scene as picked via the arrow button. World Displays curves relative to the World. Biped Root Displays curves relative to the biped root object (COM) . Scene Root Displays the curves relative to a selected object. Turn on the arrow button, then click the object in a viewport. The name of the object will be displayed on the button. The X, Y, and Z buttons Choose which curves of the selected object are displayed in the Workbench. NOTE Toggling X, Y, or Z also toggles the corresponding Biped toolbar button of the Curve Editor on page 3907. The 180 limit Sets the Quat Curve to display as “clamped” between 180 and –180 degrees, instead of accumulated. Default=off. Draw While Moving Sets the Workbench to update the curves as you move keys. When off, curves display as optimized lines until you release the mouse after moving or changing a key. Default=on. Show Layered Edit When on, displays a graphic tool for adjusting sets of keys along a curve within a range. To set the range, click to highlight one of the square handles, and then drag it. As you drag, the handle follows the curve. 5174 | Chapter 15 Character Animation Handle follows curve. To set a layered offset, click to highlight the circular handle, and then drag it to the desired position. The circular handle follows the curve unless you hold down the Esc key. If you drag while holding down Esc, you can move the handle off the curve, which scales the keys within the range. Enable Sub Anims When on, sets the Workbench to display the curves of the selected part’s subanim in combination with the position or rotation curves. Subanims are list controllers which can be added to provide additional animation controls to biped body parts. Default=off. Biped Key Manipulation Interactive key manipulation behaves in the Workbench much as it does in Track View. The difference is that you can't move keys beyond other keys. This has always been a restriction of biped animation. Select Panel Select a biped body part. ➤ Workbench button ➤ Select panel Motion panel ➤ Biped Apps ➤ The Select panel of the Animation Workbench provides tools for selecting bipeds or biped components. You can manipulate the selected biped part's animation tracks via curves displayed in the Workbench, or by using the Analyze, Fix, and Filter panels to automatically identify errors and fix them. Biped | 5175 The objects whose curves might be displayed are set using the selection drop-down list. To change the curves that are displayed go into the Controller window and select the curves you want to see Once you’ve made a selection, you can hide the entire Tab area by clicking the Tab button on the Workbench toolbar. This gives you more room to work on the curves in Curve View. The functionality of the Select panel is similar to the standard 3ds Max Selection Floater on page 187. See also: ■ Analyze Panel on page 5178 Procedures To display a biped body part curve in the Workbench, do one of the following: 1 On the Select panel, make sure Select From Scene is turned on, then in a viewport, click any biped object. The object's curve is displayed in the Workbench Curve window. 2 On the Select panel of the Animation Workbench, click to highlight the name of the body part in the scrollable Selection list. 3 On the Workbench toolbar, turn on Controllers. In the hierarchy list, highlight the body part track whose curve you want to see. To hide or unhide the Tab panel: 1 Click the Tab button on the Workbench toolbar. The Tab panel disappears from view. 2 Click the Tab button again. The Tab panel returns to view. 5176 | Chapter 15 Character Animation Interface Selection field Enter the name of the biped part you want to locate. That name (if found) will be highlighted in the Selection list. This is useful when you can't find an entry by scanning the list. Biped | 5177 You can use the question mark and asterisk characters as wildcards, in order to select multiple objects at once. Selection list The Selection list displays all the body parts of all the bipeds in the scene. You can use the Shift, Ctrl, and Alt keys to build selection sets, as in the rest of 3ds Max. All Selects every entry in the list. None Clears the selection so nothing is highlighted. Invert Selects everything not highlighted in the list. Subtree group Display Indents the list to show the biped hierarchy. Default=off. Select When on, selecting one biped part selects both it and all of its children. Default=off. _____ Named selection list When you create a named selection in the scene, the named selection becomes available. Select From Viewport When Select From Viewport is on, you can click the biped body parts directly in the viewport, rather than from the list. The curves are immediately displayed in the Workbench Curve View. This is handy if you don't know the name of the part you need to select. Analyze Panel Select a biped body part. ➤ Motion panel ➤ Biped Apps rollout ➤ Workbench button ➤ Analyze panel The Analyze panel provides tools to evaluate the curves for the selected biped parts, and review them for certain error conditions. It can spot spikes and noise in the curves, and locate specific keyframes that are responsible for discontinuous motion. The errors are displayed as brown lines over the curves, and are also listed at the bottom of the Analyze panel. You can then use the Fix panel to automatically fix errors, or you can fix errors by manually adjusting keys and curves in Curve view. 5178 | Chapter 15 Character Animation Brown lines on the curve show the errors. See also: ■ Fix Panel on page 5184 Procedures To analyze a curve: 1 On the Select panel, choose the biped object whose curve you want to correct. You can select the object from the Select list, in a viewport, or from the Controllers hierarchy. 2 Click the Analyze tab, then on the Analyze panel, choose the analyzer you want to use from the drop-down list. By default, there are two choices: Noise Detector and Spike Detector. Biped | 5179 3 If you chose Noise Detector, choose the appropriate Property from the Property drop-down list. 4 Click Analyze. Any errors found are displayed in the error result list at the bottom of the panel. The errors also appear in Curve View as brown lines. 5 If no errors are found, try lowering the standard deviation value or make sure you have used the appropriate property when using the noise detector. For example, if you have a problem with the rotation of a leg, but you choose a Pos property, that error will not be detected. 5180 | Chapter 15 Character Animation Interface Parts to Analyze These options choose which parts to analyze: ■ Display Curve PartWhen this is turned on, the curve displayed is analyzed. Biped | 5181 ■ Selected PartsWhen this is turned on, the parts selected in the list or viewport are analyzed. Use this when you want to analyze an entire biped without displaying all of the curves in Curve View. Time to Analyze Sets the range to be analyzed. You can choose either: ■ Entire AnimationAnalyzes the entire animation. NOTE This is independent of the active 3ds Max time segment. ■ Active Time SegmentChoose this to use the active time segment, as set by the 3ds Max Time Configuration dialog. ■ From / ToThese values let you specify a range with a particular start and end frame. Analyzers group Analyzers drop-down list Lets you choose which analyzer will be used to evaluate the curves. Each analyzer can present its own individual settings. The default choices are Noise Detector and Spike Detector. ■ Noise DetectorFinds any large change in the animation, either rotational or positional as determined by the standard deviation value. Can operate on specific curves as determined by the selection in the Property drop-down list, regardless of what’s currently visible in the Workbench. NOTE It's important to understand that noise isn't always bad. For example, in an animation of a person waving his hand, then suddenly punching: the movement from the wave to the punch, plus the pullback from the punch might be analyzed as noise, but it is noise that you want. The Workbench will identify the magnitude of these changes by showing you the acceleration and the jerk curves. By being selective with the fixers, you can smooth out only what you want to improve, and maintain the rest. ■ Spike DetectorFinds any large change in the animation that also contains a change in direction (in quaternion space or position space). Can operate on all curves in the animation, regardless of what’s currently visible in the Workbench. The analysis can be adjusted for Standard Deviation, which is the degree to which the animation departs from its overall pattern. ■ Knee Wobble Finds knees that wobble or shake when a foot is planted. Uses Frame and Fluctuation parameters to determine what is a wobble error. 5182 | Chapter 15 Character Animation ■ Knee ExtensionFinds knees that overextend when a foot is planted. Uses a Knee Angle parameter to determine extension errors. Property drop-down list Lets you choose the criterion that the Noise detector uses to evaluate the curves errors. Use Rotational (Rot) properties to analyze rotational errors; use Position (Pos) properties to analyze move transform errors. NOTE This control is not available when using the Spike detector. Options in this drop-down list include: ■ Rot SpeedLooks for noise in the speed of the rotational angle. ■ Rot Accel Looks for noise in the acceleration of the rotational angle. ■ Rot JerkLooks for noise in the jerk of the rotational angle. ■ Pos SpeedLooks for noise in the speed of the position. ■ Pos AccelLooks for noise in the acceleration of the position. ■ Pos JerkLooks for noise in the jerk of the position. Standard Deviation Lets you set the degree to which the animation can depart from its overall pattern. For example, in data that is somewhat noisy by design, the Noise detector can look for instances that are noisier. Lower deviation numbers mean higher sensitivity, and thus more errors found. _____ Error results list Displays all errors that the analyzer finds. Each entry lists the name of the body part, and the number of errors found. Errors are also graphically highlighted with a vertical brown line in Curve View. Clicking an error entry in the list highlights that error in Curve View. Analyze Click to perform the analysis. Clear Results Deletes the results of the latest analysis. Load Analysis File Loads the results of a previous analysis. Save Analysis Saves the results of the latest analysis. Biped | 5183 Fix Panel Select a biped body part. ➤ Motion panel ➤ Biped Apps rollout ➤ Workbench button ➤ Fix panel The Fix panel provides access to the tools that can be used to automatically fix the errors found by the Analyze panel on page 5178. A variety of methods is available to automatically correct errors found in the curves. Smoothing, blurring, and removing keys are all options. Or, if you prefer, you can correct the error manually by adjusting the interpolation per key, using standard 3ds Max methods. You can move the key on the curve, or right-click the key to access interpolation controls. A fix is performed as a specific operation on a particular biped body part or set of parts, at a particular time. In general, fixes either change the value of a key or remove keys to produce corrected motion. The results of last analysis are displayed in the Analyze Results list. Clicking an error in the list once displays the error as a yellow line over the curve; clicking the error twice updates the viewport scene, making the error the current frame. Errors can be sorted by Part or by Time. Fixes can be applied to individual errors, selected errors, or to all errors at once. See also: ■ Filters Panel on page 5189 Procedures To fix an individual error: 1 Click to highlight the error in the Analyze Results list. 2 Choose the Fixer type you want to use to automatically correct the problem. 3 Click Fix Selected. 4 Observe the change in the Curve View. 5184 | Chapter 15 Character Animation 5 Play the animation to see if the error has been corrected. 6 If the error is still visible, try changing the parameters for the fixer, or choosing a different fixer. The Rot and Pos fixers attempt to solve the problem by changing the values of the keys; if they don't give good results, it might be more useful to use the Remove Keys fixer. To fix multiple errors: 1 Highlight all the errors in the Analyze Results list. You can use the Ctrl and Shift keys to add to your selection. 2 Choose the Fixer type you want to use to automatically correct the problem. 3 Click Fix All. 4 Check your results as you would if you were fixing a single error (see the previous procedure). To remove keys from curves automatically: 1 On the Select panel, highlight the biped part in the list. TIP If you don't know the name of the part, you can click it in a viewport. 2 On the Analyze panel, choose the appropriate Analyzer type and properties. 3 Click Analyze. The errors are listed in the error result list at the bottom of the panel. 4 On the Fix panel, choose the errors you want to fix. 5 In the Fixers drop-down list, choose Remove Keys. 6 Click Fix Selected. The removed keys will disappear from the list and the curves. TIP You can use the Delete Keys option and Interval Width to create a threshold for deleting keys. If you turn on Delete Keys, the Interval Width will disallow the deletion of keys based on that value. Use this if too many keys are being deleted when you use Remove Keys. Biped | 5185 Interface Analyze Results error list Displays all the errors the analyzer found for the selected body parts. The name of the Biped object is preceded by the frame number of the error. Clicking the error once displays a yellow line at that 5186 | Chapter 15 Character Animation frame in the Curve View. Clicking it twice moves the current frame to match the error frame number: the viewports display that frame as well. Sort by: Lets you change the display of the error analysis results. ■ Part: Displays all the errors for each part listed together. ■ TimeDisplays all the errors sequentially, by frame. Fixers Determines the method used to attempt to correct the errors found by the analyzer. In general, try to match the fixer to the analyzer property. For example, if you have selected a Noise detector with Rot Speed, then choose a Fixer with Rot in the name as well. The exception to this would be when it is obvious that you'd prefer to remove the keys rather than modify them. In that case, choose a Remove Keys fixer. Fixer options include: ■ Rot SmoothingCorrects rotational errors by smoothing the curve. Can be repeated on the same track for greater effect. Slower than blurring, but keeps more detail of the curve. ■ Rot BlurringCorrects rotational errors by blurring the curve. Good if you just want to keep the general shape of the animation, but don't want to keep the details. May remove too much detail in the animation. ■ Adv Rot SmoothingWorks even better than the normal smoothing filter when it comes to only modifying large changes. Can be repeated on the same track for greater effect. It is the slowest filter, great at keeping minute details, which can be very important, especially with motion-capture data when you want to keep nuances. ■ Pos Smoothing Corrects move transform problems by smoothing the curve. Can be repeated on the same track for greater effect. Slower than blurring, but keeps more detail of the curve. ■ Pos BlurringCorrects positional problems by blurring the curve. Good if you just want to keep the general shape of the animation, but don't want to keep the details. May remove too much detail in the animation. ■ Remove KeysFixes errors by deleting keys based on an interval setting. ■ Knee Wobble Fixes knees that wobble or shake when a foot is planted. Uses a Knee Angle value as criteria for error status. ■ Knee ExtensionFixes knees that overextend when a foot is planted. Uses a Fluctuation value as criteria for error status. Biped | 5187 Fixer parameters Individual fixers display different parameters. These include: ■ WidthDetermines how much of the curve is affected around the keyframe. All the Fixers except for Remove Keys display this parameter. ■ DampingDetermines how the fix is blended into the existing curve. Changes how effective the fixer should be. A higher value, the more dramatic the change. A damping value of 1.0 is normal behavior All the Fixers except for Remove Keys display this parameter. ■ Delete KeysAllows for selective key removal based on Interval Width. When Delete Keys is used, keys are removed only within the Interval Width. When Delete Keys is not turned on, Remove Keys will remove the selected keys without considering the Interval Width. This parameter is available only when Remove Keys is the fixer. ■ Interval WidthDetermines the number of frames around the error to consider when deleting keys. This parameter is available only when Remove Keys is the fixer. ■ Knee Angle Sets the rotation angle to determine what constitutes knee extension errors. If the knee is planted and its angle is less than or equal to the knee limit angle, then the center-of-mass object is adjusted so that the knee angle doesn't exceed the limit. This parameter is available only when Knee Extension is the fixer. ■ Frames Determines the interval to consider for fluctuation evaluation. This parameter is available only when Knee Wobble is the fixer. ■ Fluctuation Establishes the amount of change allowed before knee wobble is identified. This parameter is available only when Knee Wobble is the fixer. If the knee angle fluctuates greater than the fluctuation threshold for 2 knee angles within the frame interval threshold, then the knee's angle is changed, so that the wobble is eliminated. _____ Fix Selected Applies the Fixer operation to the selection in the Analyze Results error list. Fix All Applies the Fixer operation to all the errors, whether they are selected in the Analyze Results error list, or not. 5188 | Chapter 15 Character Animation Filters Panel Select a biped part. ➤ Motion panel ➤ Biped Apps rollout ➤ Workbench button ➤ Filters panel Filters are simply operations that can be performed to different biped body parts. They are similar to fixers, but they operate over an interval of time rather than on the results of the last analysis. Thus, you can use a filter without analyzing. Certain filters share parameter types and functionality as fixers, though the values are not shared and are distinct for each filter. Use a filter whenever you want to perform a general operation over a body parts motion, like smooth out or boost up some noise." Procedures To filter a track: 1 Choose the parts you want to filter: either just a particular curve, or an entire selection. 2 Choose the time range you want to filter: either the entire biped animation, the active time segment, or a custom range. 3 Choose the filter you want to apply. Adjust its individual parameter as required. 4 Click Filter at the bottom of the panel. 5 Observe the effect on the graph in the Curve view. 6 Play the animation and observe the difference, if any. Click Undo if the results are unexpected or incorrect. Biped | 5189 Interface Parts to Filter Sets the filter to act on either the display object or the entire selection of objects. ■ Display Curve Part Sets the filter to act on the displayed object curves. 5190 | Chapter 15 Character Animation ■ Selected PartsSets the filter to act on the active selection. Especially useful when working on the whole biped. Time to Filter Sets the range to be filtered to either the entire biped animation, the active time segment, or a custom range of frames. ■ Entire AnimationSets the time to filter to be the complete biped animation (disregarding the active time segment). ■ Active Time SegmentSets the time to filter to be the scene active time segment. You set the active time segment in the 3ds Max Time Configuration dialog. ■ From / To:Sets the time to filter to a custom range of frames. Filters group Filters list Choose the filter to use from this drop-down list. The available filter types include smoothing, blurring, boosting, key reduction, and subanims. ■ Rot filters work in quaternion rotation space, and modify the quaternions of the specified animation tracks. ■ Pos filters work in the specified positional coordinate system, and modify the positions of the animation tracks. ■ BlurringUses basic Gaussian filters that take a weighted average over the width. Blurring filters are good for smoothing out noise, but can also over-smooth areas that aren't noisy. See Blurring, Smoothing, and Boosting parameters on page 5192, below. ■ Smoothing filters, on the other hand, are much better than blurring filters for keeping the general shape of the track or curve. They affect only areas that have big changes. The drawback of the smoothing filters is that they don't change the curve as dramatically as the blurring filters do, so sometimes you'll need to run the smoothing filter multiple times to smooth out a particularly noisy area. ■ Adv Rot Smoothing works even better than the normal angular smoothing filter when it comes to modifying only large changes and not small ones. See Blurring, Smoothing, and Boosting parameters on page 5192. (There is no comparable “advanced position” fixer or filter.) Biped | 5191 ■ BoostingBoosting filters are the opposite of blurring filters. They increase, rather than decrease, changes in the track. Boosting filters are helpful if you want to make a track have more exaggeration or a little more jerkiness. See Blurring, Smoothing, and Boosting parameters on page 5192. ■ Sub AnimsThe Sub Anims filter manages sub-animation of biped objects. Clicking a button that corresponds to a transform (Position, Rotation, or Scale) displays a dialog that lets you assign a controller to that transform. Assigning a controller in this way assigns it only to the selected biped parts. This is very handy for adding controllers to multiple biped parts all at once. Also includes the ability to enable or disable the three list controllers selectively, and avoids creating SubAnims, where they already exist. See Sub Anim parameters on page 5193. ■ Key Reducer Creates tracks with fewer keys, by removing certain keys based on tolerance and key spacing parameters. This works similarly to how key reduction works during motion-capture import. See Key Reducer parameters on page 5193. ■ Knee Wobble Corrects knees that wobble or shake when a foot is planted. If the knee is determined to wobble by the filter, the center of mass object is adjusted to eliminate the wobble. ■ Knee ExtensionCorrects knees that overextend when a foot is planted. If the knee extension is identified by the filter, the center of mass object is adjusted to eliminate the extension. Blurring, Smoothing, and Boosting parameters Width Width is the size of the filter kernel width in frames. It tells you how much of the animation is taken into effect when filtering a specified keyframe. Damping The Damping value changes how effective the filter should be. A higher value, the more dramatic the change. A damping value of 1.0 is normal filter behavior 5192 | Chapter 15 Character Animation Sub Anim parameters Enable Turns Position, Rotation, and Scale subanims on and off for the selected biped parts. Collapse Adds the subanim animation of the selected biped part to that part’s Transform controller. NOTE When you choose the Sub Anims filter, the Filter button at the bottom of the panel disappears. That's because the operations of this filter are immediate. Don’t Delete Maintains the subanim in the list as it’s collapsed onto the biped. Per Frame Sets keys at every frame of the collapsed controller. The Sub Anims filter tools are also available from the Motion panel. You can assign controllers to a biped subanim, and then collapse it by right-clicking and choosing Properties. The difference between using this in the Motion panel and in the Workbench is that you can apply subanims to multiple biped objects in one step when using the Workbench filter. Key Reducer parameters Create Key Per Frame When on, the filter creates a key per frame for every selected track. Default=off. Biped | 5193 Tolerance Sets the maximum angular or positional deviation for a track (other than a COM track). Default=3.0. Values are in units of translation for position tracks, and in degrees for rotation tracks. Key Spacing Sets the minimum number of frames between keys (other than COM keys). Tolerance is computed first, then Minimum Key Spacing computes further key reduction. COM Parameters These Tolerance and Key Spacing settings affect key reduction only on specified center-of-mass (COM) tracks (horizontal, vertical, or rotational). Filter Click to apply the active filter to the selected tracks. Working with Motion Flow Select a biped ➤ (Motion Flow Mode) Motion panel ➤ Biped rollout ➤ Motion flow mode provides an area to graphically arrange clips into a network and tools to create and edit transitions between clips. You can use Motion flow mode to organize clips into a network to animate one or more bipeds. The network of clips are joined together by transitions. A motion flow script associates the network of clips with the biped. To animate one biped, you create a single motion flow script that uses a list of clips to animate the biped. To animate multiple bipeds or a crowd of bipeds, you can either use the random method of clip selection or a delegate–driven approach. 5194 | Chapter 15 Character Animation The random method simply picks clips at random and creates random scripts for each biped. This approach works well if the bipeds are standing still or are far apart and don’t require collision detection: a crowd of cheering fans at a ball game, for example. Clip and transition percentages are set with the Create Random Motion on page 5255 command during motion synthesis. When dealing with a crowd, or multiple bipeds that are close together, the delegate driven approach is the best solution. This approach uses many parameters to simulate moving crowds and incorporates collision detection, surface follow and other parameters. The delegate–driven method uses a network of clips, but instead of random selection. it bases clip selection on a delegate's speed and heading. In a delegate–driven crowd simulation, clips are arranged to follow a logical sequence. For example, the first clip could be a start walk clip, then a walk loop, then a branch to a turn right and turn left clip, then a slow to stop clip and so on. During motion synthesis, this arrangement is used to pick clips. If character studio senses a collision ahead, the slow to stop clip is selected, or a veer to avoid clip is chosen. For a detailed breakdown of delegate driven crowd behavior, see Crowd Animation on page 5456. Placing Motions on the Motion Flow Graph The Motion Flow Graph on page 5242 contains the tools you'll use to add clips to the dialog window, calculate optimized transitions, set random script Biped | 5195 transition values, move and delete clips, and display clip dependencies. Clips display as icons and transitions appear as arrows in the Motion Flow Graph. The Motion Flow Graph displays when you click Show Graph on the Motion Flow rollout on page 5235 on the Motion panel. Motion Flow Graph The first step in Motion Flow mode is to add clips in the Motion Flow Graph for use in scripts. Clips represent all or part of a BIP file. Transitions represent different paths through the clips in the Motion Flow Graph. A transition looping back to the same clip represents a cycle or loop. If a biped is using a shared motion flow, then the title of the graph dialog says "Shared Motion Flow Graph", followed by the name of the shared motion flow. Shared Motion Flows are used to control multiple bipeds with one shared motion flow. There are two ways to create clips in the Motion Flow Graph on page 5242. The first method lets you create a blank clip to which you later assign a BIP file. The second method lets you create multiple clips at once by choosing a several BIP files at once. 5196 | Chapter 15 Character Animation Procedures To create clips in the Motion Flow Graph: 1 Select a biped 2 Go to the Motion panel. 3 On the Biped rollout, click (Motion Flow Mode). 4 On the Motion Flow rollout, click Flow Graph. (Show Graph) to open the Motion 5 On the Motion Flow Graph toolbar, click (Create Clip). 6 Click a few times inside the Motion Flow Graph dialog. Clip icons will appear in the Motion Flow Graph on page 5242 that are named clip1, clip2 and so on. 7 On the Motion Flow Graph toolbar, click (Select Clip/Transition). 8 Right-click over a clip in the window. 3ds Max opens a clip dialog. 9 In the clip dialog, click Browse. Use the file dialog to choose a BIP file. 10 Optionally, set the Start Frame and End Frame values. Biped | 5197 11 Click OK. The selected icon displays the clip name in the Motion Flow Graph on page 5242; this clip can now be used for script creation. 12 Click (Select Clip/Transition) again and load BIP files for the other clips you created. To create multiple clips in the Motion Flow Graph: 1 On the Motion Flow rollout, click Flow Graph. (Show Graph) to open the Motion 2 On the Motion Flow Graph toolbar, click (Create Multiple Clips). Use the file dialog to choose the location of your BIP files. 3 While holding down the Ctrl key, choose multiple clips in the file dialog. Once processed, multiple clips appear in the Motion Flow Graph on page 5242 window. 5198 | Chapter 15 Character Animation NOTE The number of clips you can load depends on the amount of memory you have in your system. Creating Transitions Select a biped. ➤ Motion panel ➤ Biped rollout ➤ (Motion Flow Mode) ➤ Motion Flow rollout ➤ Motion Flow Graph dialog (Show Graph) ➤ Transitions, shown as arrows, link motion files (clips) together to create longer character animation and crowd simulations. Transitions can be created manually with the Transition Editor on page 5247 or automatically by character studio. Biped | 5199 Transitions can also be optimized for better flow. To create optimized transitions, use the Optimize Selected Transition on the Motion Flow Graph toolbar or Optimize Transition in the Transition Editor. By default, minimum motion loss is used to compute transitions. Optimized transitions use an algorithm that minimizes foot sliding. Optimized transitions take longer to compute but yield very fluid results. Crowd simulations can use dozens of motion clips so automatic creation of optimized transitions can be a big time saver. Whether you plan on animating one or many bipeds using Motion Flow mode you’ll need transitions between the clips in the Motion Flow Graph. Procedures To create transitions using the From > To or To < From method: 1 On the Motion Flow rollout, click Flow Graph. (Show Graph) to open the Motion 2 On the Motion Flow Graph toolbar, click (Create Multiple Clips). Use the file dialog to choose the location of your BIP files. 3 While holding down the Ctrl key, choose multiple clips in the file dialog. Once processed, multiple clips appear in Motion Flow Graph on page 5242. 5200 | Chapter 15 Character Animation 4 On the Motion Flow Graph toolbar, turn on either (Create Transition From -> To) or (Create Transition To <- From) and then drag from one clip to another clip. The top set of clips are linked using Create Transition From->To. The bottom set of clips are linked using Create Transition To<-From. To create transitions using Create All Transitions: 1 On the Motion Flow rollout, click Flow Graph. (Show Graph) to open the Motion 2 On the Motion Flow Graph toolbar, click (Create Multiple Clips) Use the file dialog to choose the location of your .bip files. 3 While holding down the Ctrl key, choose multiple clips in the file dialog. Once processed, multiple clips appear in the Motion Flow Graph dialog. 4 Click (Select Clip/Transition) and select all the clips you added. Biped | 5201 5 On the Motion Flow Graph toolbar, turn on (Create All Transitions). 6 3ds Max opens a Biped dialog. In the dialog, click Yes to create transitions from each selected clip to itself. 3ds Max creates transitions between all the clips, including from each clip to itself. Possible transitions from one clip to the next are automatically generated. To optimize transitions in the Motion Flow Graph: 1 After adding several clips and transitions, click (Select Clip/Transition) and select one or more transitions. 5202 | Chapter 15 Character Animation Selected transitions display in white 2 On the Motion Flow toolbar, click (Optimize Selected Transitions). The Transition Optimization dialog is displayed. 3 Click OK. While the optimizations are being processed, a processing bar scrolls across the top of the Motion Flow Graph window on page 5242. Biped | 5203 Creating a Motion Flow Script Select a biped. ➤ (Motion Flow Mode) Motion panel ➤ Biped rollout ➤ A script is a list of clips (BIP files) that control the character you are animating. To create a script, add clips to the Motion Flow Graph on page 5242, then click Define Script in the Scripts section of the Motion Flow rollout on page 5235, and click a sequence of clips in the Motion Flow Graph. Default transitions are assigned if no transitions exist between the clips. The clip names and starting frame numbers display in the list on the Motion Flow Script list. A sample script as it appears in the Scripts group on the Motion Flow rollout Random scripts vary the order of the clips found in the Motion Flow Graph. Scripts are run in a top-down order to animate the character. Click Play to view scripted motions on the biped. 5204 | Chapter 15 Character Animation TIP As the length of a script varies, use Alt+R to set the Active Time in 3ds Max to the length of the script. Once a script is put together, you have additional controls that let you adjust the starting frame, the starting X, Y, or Z locations and the starting rotation of the animation. Procedures To create a Motion Flow script: 1 Create a motion flow graph with three or more motion files. For information on how to set up the graph, see To create multiple clips in the Motion Flow Graph on page 5198. 2 In the Motion Flow rollout ➤ Scripts group, click (Define Script), and then select a sequence of clips from the Motion Flow Graph dialog on page 5242. As you select the clips in the Motion Flow Graph dialog, they are added to the script list. Biped | 5205 NOTE Transitions are automatically made in the Motion Flow Graph as you add clips to the script. 3 Give the script a new, descriptive name. Adding a descriptive name is less confusing if you ever append Motion Flow Editor files together. 4 Click (Play Animation) to see the biped move to the scripted clips. 5206 | Chapter 15 Character Animation 5 Click (Stop Animation). Change the Start Frame setting to 25 and move the frame slider. Now the biped will hold its start position until frame 25, then start moving. 6 Change the Start Position X:, Y,: or Z: setting. These settings let you control the position of the footsteps that the character follows. 7 Change the Start Rotation setting to 90. Often, the footsteps in a BIP file are not oriented in the direction you want. This setting lets you adjust which direction the character faces. NOTE Each Start setting affects the entire animation. You cannot select a single entry in the script and make a change to affect only that clip. Biped | 5207 Saving, Loading, and Appending Motion Flow Graphs Select a biped. ➤ Motion panel ➤ Biped rollout ➤ (Motion Flow Mode) ➤ Motion Flow rollout Scripts, transitions, and clip references are saved in a Motion Flow Editor MFE, file, for later editing. This format lets you save a Motion Flow and script from one biped and load it onto another biped. You save, load, and append MFE files from the Motion Flow rollout. Procedures To save Motion Flow Editor files: 1 Create a Motion Flow Graph with three or more motion files. For information on how to set up the graph, see To create multiple clips in the Motion Flow Graph on page 5198. 2 Create a script using the clips in the Motion Flow Graph. For information on how to create a script, see To create Motion Flow Scripts on page 5205. 5208 | Chapter 15 Character Animation A sample script called Kicking Script containing four clips 3 Click (Save File) to save a Motion Flow Editor MFE file. 3ds Max opens the Save As dialog. Biped | 5209 4 Specify a folder on your hard drive where you plan to store your Motion Flow Editor files. To load Motion Flow Editor files: 1 Select a biped. 2 Go to the Motion panel. 3 On the Biped rollout, click 4 On the Motion Flow rollout, click 3ds Max opens a file dialog. 5210 | Chapter 15 Character Animation (Motion Flow Mode). (Load File). 5 Navigate to the folder where your MFE files are stored. 6 Choose the file to load. 7 Click (Play Animation) to see the biped move to the scripted clips. To append Motion Flow Editor files: 1 Select a biped. 2 Go to the Motion panel. 3 On the Biped rollout, click 4 On the Motion Flow rollout, click (Motion Flow Mode). (Load File). 3ds Max opens a file dialog. Biped | 5211 5 Select an MFE file from the folder where your Motion Flow Editor files are stored. 6 Click (Append File). 3ds Max opens a file dialog again. 7 Choose a different MFE file. A new script appears in the script drop–down list and the appended sequence of clips appears directly below the original sequence of clips in the Motion Flow Graph dialog. You might have to scroll down to see it. Customizing Transitions Select a biped. ➤ Motion panel ➤ Biped rollout ➤ (Motion Flow Mode) ➤ Motion Flow rollout A good transition links two clips together seamlessly. The motion through the transition should appear natural, as though the motion was captured as one long motion sequence. If clips do not transition smoothly, you might find it necessary to edit or customize your transitions. 5212 | Chapter 15 Character Animation There are two ways to manually edit transitions: ■ In the Motion Flow Graph, you can right click a transition arrow. ■ If you have defined a script, highlight a clip and click the Edit Transition button. Transitions can be edited automatically by using the Optimize Transition features. When you create a script, default transitions are set between the clips. Default transitions use minimum motion loss and are quick to compute. However, the best quality transitions are the optimized transitions. Optimized transitions use a minimum foot sliding algorithm to compute the transition and yield very good results. Procedures To manually customize transitions between two clips: 1 Select a biped. On the Biped rollout, turn on Flow Mode). (Motion 2 Create or load a script with at least two clips. For information on how to create a script, see To create Motion Flow Scripts on page 5205 3 Choose the first clip in the clip list in the Scripts section on the Motion Flow rollout. 4 Click (Edit Transition) to display the Transition Editor for the selected clip and the clip following it in the list. 5 Scrub the Frame spinners in the Ghost areas of the Source Clip and Destination Clip, to find a place in both clips to start the transition. Two stick figures appear to help you find an appropriate start frame. The yellow figure represents the Source Clip and the red figure represents the Destination Clip. The stick figures can be positioned far apart during this process. Look for body motions in the two clips that will transition well. 6 In both Ghost groups, click Start Frame. (Set Start Frame) when you locate a good Biped | 5213 character studio repositions the destination clip for a best body fit between the two clips. 7 Set the transition duration in the Length field. A transition duration of 10 to 25 frames is normal. 8 Click OK. 9 Click transition. (Play Animation) or scrub the time slider to view the To automatically customize transitions between two clips: 1 Select a biped. On the Biped rollout, turn on Flow Mode). (Motion 2 Create or load a script with at least two clips. For information on how to create a script, see To create Motion Flow Scripts on page 5205 3 Choose the first clip in the clip list in the Scripts section on the Motion Flow rollout. 4 Click (Edit Transition) to display the Transition Editor for the selected clip and the clip following it in the list. 5 At the upper-left corner of the Transition Editor, click Transition In Script). 6 Click (Optimize Transition).3ds Max opens the Transition Optimization dialog. 5214 | Chapter 15 Character Animation (Next 7 Choose either Search Entire Clip or Search Near Existing Transition, and click OK. 8 Click OK on the Transition Editor dialog. 9 Click transition. (Play Animation) or scrub the time slider to view the Creating Random Motion You can randomly traverse clips in a motion flow graph to animate one or more bipeds using controls in the Create Random Motion dialog. You set parameters for random motion in the Motion Flow Graph, in the clip and transition dialogs, as well as in the Create Random Motion dialog. You create random motion by first adding clips to the Motion Flow Graph and adding transitions between the clips. Clips and transitions are then given percentages, which are used to create random motion for one or more bipeds. You can manually control the “weighting” for a possible start clip, transitions, and frame range. This allows you to animate multiple bipeds in a crowd scene for example. A different script is created for each biped. Biped | 5215 NOTE If you want to create random motion for multiple bipeds, they must be sharing a motion flow. Details of Random Motions When choreographing a random motion for your biped, the default “weighting” for all clips and transitions is set to 100. This ensures that all clips and transitions have an equal chance of being chosen. You can adjust the weighting of transitions in the Motion Flow Graph or Transition Editor to give transitions a higher probability of being selected. You can also set a specific start clip for your biped to use while the remainder of the clips in the script are randomly chosen from the Motion Flow Graph. To customize transition “weighting” and setting a start clip: 1 Select a biped. On the Biped rollout, turn on Flow Mode). 5216 | Chapter 15 Character Animation (Motion 2 On the Motion Flow rollout, click (Show Graph). This displays the Motion Flow Graph. 3 On the Motion Flow rollout, click (Load File) 3ds Max opens a file dialog. 4 Choose an MFE file from the folder where your Motion Flow Editor files are stored. The clips and transitions appear in the Motion Flow Graph. Each transition displays its “weighting” value, 100 by default. 5 On the Motion Flow Graph toolbar, click (Select Clip/Transition), and right-click a transition that you want to adjust. 3ds Max opens the Transition Editor dialog. 6 Adjust the Probability setting to give the transition a higher or lower probability of being randomly chosen for the motion flow script. NOTE The Probability range is 0 to 100. 7 On the Motion Flow Graph toolbar, click (Select Random Start Clips). Biped | 5217 8 Select the clip you want used as the start clip. The clip turns purple and is assigned a weighting of 100. The selected clip will be used first by any biped using the random motion script. 9 In the Scripts section on the Motion Flow rollout, click Random Motion). (Create 10 On the Create Random Motion dialog, set a value for Minimum Animation Length. This should be long enough to include the clips you want in the animation. 11 Click Create. A random script is created based on clips in the Motion Flow Graph and the Minimum Animation Length. 12 Click transition. (Play Animation) or scrub the time slider to view the Procedures To create a random script for one biped: 1 Select a biped. On the Biped rollout, turn on Flow Mode). 2 On the Motion Flow rollout, click (Motion (Show Graph). This displays the Motion Flow Graph. 3 On the Motion Flow Graph toolbar, click (Create Multiple Clips). 3ds Max opens a file dialog, where you can choose the location of your BIP files. 4 After adding several clips and transitions, click Clip/Transition) and select all the clips. 5218 | Chapter 15 Character Animation (Select 5 On the Motion Flow Graph, click (Create All Transitions). Click Yes when asked if you want to create a transition from each selected clip to itself. 6 On the Motion Flow Graph toolbar, click (Select Random Start Clips). All the transitions linking clips are weighted at 100, meaning all the transitions have a even chance of starting first. 7 Region-select all the clips in the Motion Flow Graph. The clips all turn purple and each is assigned a weighting of 100. All the clips have an even chance of starting first. Biped | 5219 8 In the Motion Flow rollout ➤ Scripts group, click Motion). (Create Random 9 On the Create Random Motion dialog, set a value for Minimum Animation Length. This should be long enough to include the clips you want in the animation. 10 Click Create. 3ds Max creates a random script based on clips in the Motion Flow Graph. You can vary clip and transition percentages in the clip dialog or Transition Editor to favor a clip or transition if you like. 11 Click script. (Play Animation) or scrub the time slider to view the random Unifying Motion The Create Unified Motion command allows you to create one motion from a script. The entire unified motion is then available when you exit Motion Flow mode. 5220 | Chapter 15 Character Animation Create Unified Motion converts a script into a freeform unified motion. The created motion replaces animation present when the Motion Flow Mode button is turned off. This is useful if you want to make changes to the biped like raising its arms or turning its head. Procedures Example: To create a unified motion: 1 Create a biped. 2 On the Biped rollout, turn on (Motion Flow Mode). 3 On the Motion Flow rollout, click (Show Graph). This displays the Motion Flow Graph. 4 On the Motion Flow rollout, click file. 5 Click (Load File), then open an MFE (Create Unified Motion). 6 On the Biped rollout, turn off 7 Open the Layers rollout and click (Motion Flow Mode). (Create Layer). A new layer is created and you see a red skeleton appear on your biped. Biped | 5221 8 Activate the Front viewport and turn on 9 At frame 0, the Y axis. (Auto Key). select and rotate the biped's upper left arm about 5222 | Chapter 15 Character Animation 10 Turn off (Auto Key) and click (Play Animation). Sharing Motion Flow Shared Motion Flow on page 5258 allows you to assign one motion flow to multiple bipeds or crowds. Rather than building a motion flow network of clips for each biped, you can create a motion flow with all the clips and transitions to animate multiple bipeds. Random motion creation will use each biped's own motion flow. If a biped’s motion flow happens to be a shared motion flow, then the shared motion flow will be used to compute random motion. A biped that shares a motion flow shares only the clips you have added to the Motion Flow Graph. Scripts are unique to each biped, although the scripts point to the clips of the shared motion flow. You can manipulate each biped's motion flow and scripts in the usual ways. You can create random motion on a biped that shares a motion flow, or create a motion flow script using the crowd system. Biped | 5223 There are a few indicators in the user interface that show if a biped is using a shared motion flow. If it is, a white circle surrounds the Shared Motion Flow button when you edit that biped. If you edit that biped's motion flow graph, the title of the graph dialog will say "Shared Motion Flow Graph", followed by the name of the shared motion flow. NOTE All bipeds in a shared motion flow should have the same leg scale and structure. Adaptation for differently sized bipeds does not occur in a shared motion flow. If you want differently sized bipeds in a crowd, then create a shared motion flow for each size. TIP The only way to save a shared motion flow, along with the bipeds sharing it, and keep everything hooked up correctly is to save it all in a .max file. Procedures Example: To share a random motion flow among multiple bipeds: 1 Create three bipeds. 2 On the Biped rollout, turn on 3 On the Motion Flow rollout, click (Motion Flow Mode). (Shared Motion Flow). 3ds Max opens the Shared Motion Flow dialog. 4 On the Shared Motion Flow dialog, click New. 3ds Max creates a new shared motion flow. 5224 | Chapter 15 Character Animation 5 In the Shared Motion Flow dialog ➤ Parameters group, click Add. 6 On the Select dialog, choose all the bipeds. The bipeds are added to the list. If you add clips to the motion flow graph they will be shared by the bipeds. 7 Click OK to close the Shared Motion Flow dialog. 8 On the Motion Flow rollout, click (Show Graph). Biped | 5225 This displays the Motion Flow Graph. 9 Click (Create Multiple Clips) and add three or four clips (or more) to the Motion Flow Graph. 3ds Max opens a file dialog, where you can choose the location of your BIP files. 10 After adding the clips, click (Move Clips) and arrange the clips so they are not so close to one another. This will make it easier to see the transitions later. 11 Click (Select Clip/Transition) and region-select all the clips. 12 On the Motion Flow Graph, click (Create All Transitions), and click Yes when asked if you want to create a transition from each selected clip to itself. 5226 | Chapter 15 Character Animation 13 On the Motion Flow Graph toolbar, turn on Clips). (Select Random Start All the transitions linking clips are weighted at 100, meaning all the transitions have a even chance of being chosen randomly. 14 Region-select all the clips in the Motion Flow Graph dialog. The clips all turn purple and each is assigned a weighting of 100. Now all the clips have an even chance of starting first. Biped | 5227 15 In the Motion Flow rollout ➤ Scripts group, click Motion).3ds Max opens (Create Random the Create Random Motion dialog. 16 On the Create Random Motion dialog, change the second value that follows Random Start Range to 10 or 20. This will stagger the beginning of each biped’s movement. 17 Turn on Create Motion For All Bipeds Sharing This Motion Flow. Failure to do this will result in the motion flow being added only to the selected biped. 18 Click Create. A Unify Options dialog appears once for each of the bipeds in the scene. Click OK to accept the defaults. After the Unify Options dialogs, an alert dialog asks if you want to put all the bipeds into Motion Flow mode. Click Yes. 3ds Max creates a random script for each of the bipeds that shar the motion flow. Footsteps appear in the viewports, and the bipeds’ initial poses might change. 5228 | Chapter 15 Character Animation 19 Click (Play Animation) or scrub the time slider to view the effect of the randomized script. To apply a shared motion flow to a different group of bipeds: character studio can save and load shared motion flow setups. With this facility, you can create and refine a crowd simulation using bipeds that don't have meshes attached, thus avoiding the computational overhead that Physique requires. Once the simulation is ready, you can save the shared motion flow setup, apply it to a similar set of bipeds with Physique applied, and then render the final animation with no further crowd setup required. For best results, the two sets of bipeds should have the same number of members and be of comparable structure and size, and the biped structures should have the same root names. 1 Create a biped/crowd simulation using a shared motion flow. For details, see Using bipeds in a crowd simulation on page 5495. 2 On the Shared Motion Flow dialog, click Save and save the shared motion flow in SMF format. 3 Set up a new scene containing the same number of bipeds, each with a character mesh with Physique applied. The easiest way to do this is to set up one such character and then clone it. Make sure the bipeds have the same root names (for example, Bip001, Bip002) as those in the original setup. 4 Select one of the bipeds. On the (Motion Flow Mode), and then click Motion panel, turn on (Shared Motion Flow). 5 On the Shared Motion Flow dialog, click New, and then click Load and load the shared motion flow from step 2. The shared motion flow is loaded and applied to the new set of bipeds. The biped names appear in the dialog list. If “(wrong scale)” appears after any biped names, use the Reset Wrong Scales buttons to correct the scales. Biped | 5229 6 Click (Put Multiple Bipeds In Motion Flow) to place all of the bipeds in the list in Motion Flow mode, and then click OK to exit the dialog. 7 Play the animation to ensure that it's correct, and then render. Refer to Working with Crowd Animation on page 5456 for information regarding crowd animation. Setting Up Paths for Motion Flow Files On a Motion Flow Graph, the location of the referenced BIP files is saved in the MFE file. If a BIP file cannot be found, 3ds Max looks in the Animations directory specified by Configure User Paths ➤ File I/O on page 8875. If a BIP file is not found in the Animations directory, then 3ds Max looks for the file in the same location as the currently loaded MAX file. If it is still not found, 3ds Max appends the local path of the referenced file to the path to the current MAX file. The file is saved back to the same location in which it is found. If a referenced BIP file cannot be found in its current location, there are two ways to resolve this. ■ From the Reset Unfound Motion Flow Files dialog, direct 3ds Max to the folder where the missing BIP file resides. 5230 | Chapter 15 Character Animation ■ Find and move the missing BIP file to the specified Motion Flow folder. NOTE When you find the BIP file, you can turn on the Add Directory To .INI File option and the directory is automatically added to your biped.ini file. Since the biped.ini file accepts multiple search paths, the new directory is added as another MoFloDir= line. 3ds Max will search the directories in the order they appear and will use the first instance of the file that it finds. When network rendering, the file names need to be UNC–compatible. Procedures To load a Motion Flow scene from another system: 1 Open a Motion Flow scene that was created on a different system. If referenced BIP files cannot be found, the Reset Unfound Motion Flow File dialog is displayed. Biped | 5231 2 If any of the referenced BIP files are on your local drive, navigate to the folder where they reside and select the BIP file. 3 Turn on the “Add Directory To .ini File” option, and click Open. Turning on the Add Directory To .ini File option automatically adds another MoFlowDir= line to your biped.ini file. NOTE Turn on Add Directory to Search if you want to search for referenced BIP files during your current session, but do not want to add the directories to the biped.ini file. 4 Click (Play Animation) after paths for all the referenced BIP files are properly set. 5232 | Chapter 15 Character Animation Motion Flow Mode Select a biped. ➤ (Motion Flow Mode) Motion panel ➤ Biped rollout ➤ In Motion Flow mode, you combine BIP files, using either velocity-interpolated transitions or optimized transitions that compute minimum foot sliding, to create longer character animations. First you add clips and reference them to BIP files in the Motion Flow Graph. You then use these to create a script in the Motion Flow Script list. You adjust transitions between BIP files with the Transition Editor. You save scripts, transitions, and clip references in a Motion Flow Editor file (MFE) for later editing. The Transition Editor uses ghosts to represent the source (yellow) and destination (red) clips. Use these stick-figure ghosts to judge body position and set a likely start frame in both clips for the transition. Random Motion and Crowds You can generate random motions for one or more bipeds using the Create Random Motion command. For example, you can use these to animate a Biped | 5233 crowd of bipeds. For a crowd, you must share one motion flow script among many bipeds. If you are driving a crowd using delegates and behaviors, then rather than a completely random motion, character studio picks appropriate clips based on the delegate's speed and direction. If the delegate slows to a stop, character studio will find and use a clip that slows to a stop, if one exists. In all crowd simulations you must load clips and create transitions before synthesizing the crowd motion. Often, many clips are used to synthesize crowds. Automatic transitions relieve you of having to create transitions between clips manually. One additional rollout displays in Motion Flow mode: The Motion Flow rollout on page 5235 provides access to the Motion Flow Graph and lets you load and save motion flow files (MFE). The rollout also contains a Scripts section where you can create scripts, edit transitions, create a unified motion, and create random motions for the bipeds. NOTE In Motion Flow mode, some character studio controls are disabled. Workflow: Getting Started with Clips and Transitions in Motion Flow Mode Create your own library of BIP files from imported and converted motion-capture data and from your own character animation. With a biped selected, turn on Motion Flow mode. On the Motion Flow rollout, turn on Show Graph to open the Motion Flow Graph. On the Motion Flow Graph, click Create Clip, and add clips in the Motion Flow dialog. Associate the clips to BIP files by first turning on Select Clips-Transitions on the Motion Flow Graph toolbar and then right-clicking a clip icon; a clip dialog appears, allowing you to browse for a clip. Click Define Script on the Motion Flow rollout, then select a series of clips on the Motion Flow Graph. By left-clicking on a clip it will appear in the Scripts list. The clips are connected visually in the Motion Flow Graph with red arrows (active script) representing default transitions (Minimum Motion Loss). The default duration for a transition is 25 frames, which provides good results in many cases. Transitions, by default, use velocity interpolation between clips. Use Edit Transition in the Scripts section to fine-tune the transitions between clips. Select a clip in the Scripts list, then from the Scripts commands, click Edit Transition; the Transition Editor on page 5247 displays, and the source and destination clip names are displayed at the top of the Transition Editor. In the Source Clip area, Start Frame represents the frame in the source file where the transition starts. For example, if Source Clip Start Frame is 60, the 5234 | Chapter 15 Character Animation transition from the source clip starts at frame 60. The duration of the transition is set in the Length field at the upper left; Length values are in frames. In this example, if Length is set to 10, the transition to the destination clip takes 10 frames. In the Destination Clip area, Start Frame represents the frame in the destination clip that the transition starts; a value of 80, for example, starts the transition at frame 80 of the destination clip. In this example, the source clip plays from 0 to 60, there is a 10 frame transition from frame 60 of the source clip to frame 90 of the destination clip (frames 80 to 90 cover the destination clip transition period), then the rest of the destination clip plays. When the Transition Editor displays, the first things to try, before manually editing the transition, are the Optimized Transitions. Optimized transitions use a minimum foot sliding algorithm. The top right-hand corner of the Transition Editor dialog is the icon for optimized transitions. If the optimized transition is not satisfactory, try editing the transition manually. Manual transition editing offers the most control; the Frame spinners in the Ghost areas of the Transition Editor allow you to scrub the source and destination clips while viewing two stick figures. Find a good start frame in both clips using the Frame spinners. Things to look for in both clips are similar supporting feet, body momentum that will appear natural, and arm motion similarities. If velocity changes between the clips are too abrupt, use the Length field to adjust the duration of the transition. On the Motion Flow rollout, click Save File to save your work as an MFE file; transitions and scripts are saved. These BIP files contain no footsteps. Biped foot keys are saved with an IK Blend value of 1 for footsteps. To extract footsteps, exit Motion Flow mode, use Load File on the Biped rollout, and then click Convert. Convert looks at foot IK Blend values of 1 to extract footsteps. TIP The location of any referenced BIP file is saved in the MFE file. If the BIP file cannot be found, a Missing Motion Flow Files dialog opens up respectively, in which the missing files are listed. To rectify this, open the Asset Tracking dialog on page 8115 and set a new path of the missing files. Motion Flow Rollout Select a biped. ➤ Motion panel ➤ Biped rollout ➤ (Motion Flow Mode) ➤ Motion Flow rollout Biped | 5235 The Motion Flow rollout displays when Motion Flow mode is active on the Biped rollout. You can load, append, and save motion flow editor files (MFE), and open the Motion Flow Graph on page 5242 and Shared Motion Flow dialogs using controls on this rollout. To load, append, or save a Motion Flow Editor (MFE) file, refer to the following procedures: ■ To load Motion Flow Editor files on page 5210 ■ To append Motion Flow Editor files on page 5211 ■ To save Motion Flow Editor files on page 5208 Interface 5236 | Chapter 15 Character Animation Motion Flow buttons Load File Load a Motion Flow Editor file (MFE). Motion Flow Editor files include: ■ ClipsReferences to biped animation files. ■ TransitionsNames, attributes, and connections between clips. ■ ScriptsDifferent paths through a set of connected clips and transitions. TIP The location of the referenced BIP files is saved in the MFE file. If the BIP file cannot be found, 3ds Max looks in the Animations directory specified by Configure User Paths ➤ File I/O on page 8875. If you load an MFE file onto a biped using a shared motion flow, you will get a warning and the biped will be removed from the shared motion flow. The biped will get the newly loaded motion flow and all its scripts. Append File Append a Motion Flow Editor (MFE) file to the MFE that is already loaded. Displays a load file dialog. The appended graph will appear directly below the bottom of the existing graph in the graph window, so you may have to scroll down to see it. Save File Save a Motion Flow Editor (MFE) file. Saving an MFE file from a biped having a shared motion flow will save the motion flow and its scripts as if it were not shared. It will be a normal MFE file. NOTE To save a script as a BIP file, use Unified motion to have the scripted motion available when you exit Motion Flow mode. Show Graph Opens the Motion Flow Graph on page 5242. The first step in script creation is to add clips to the Motion Flow Graph. Shared Motion Flow Displays the Shared Motion Flows dialog on page 5258. Allows you to create, delete, and modify shared motion flows. Shared motion flows are used to animate one or more bipeds to simulate a crowd. Biped | 5237 If the selected biped is using a shared motion flow, then the icon has a white circle around it. Scripts group See Motion Flow Scripts Group on page 5238. Motion Flow Scripts Group Select a biped. ➤ Motion panel ➤ Biped rollout ➤ (Motion Flow Mode) ➤ Motion Flow rollout ➤ Scripts group Create and delete scripts, name scripts, edit transitions, edit clips, and position the entire animation using tools in the Scripts group. Create random motion for one or more bipeds using controls in this rollout. The Scripts group on the Motion Flow rollout is available only when Motion Flow mode on page 5233 is active. Scripts A Script is a list of clips (BIP files) that you constructed and are executed as you designed to animate a character. To create a script, add clips to the Motion Flow Graph, then select Define Script in the Scripts group and click a sequence of clips from the Motion Flow Graph window. Default transitions are assigned if no transitions exist between the clips. The clip names and starting frame numbers display in the list in the Scripts group. Different scripts vary the order of the clips found in the Motion Flow Graph. Scripts are run in a top-down order to animate the character. Click Play to view script motion on the biped. TIP As the length of a script varies, use Alt+R to set the Active Time in 3ds Max to the length of the script. Turn on the Keyboard Shortcut Override Toggle on the main toolbar to enable Biped shortcuts. Transitions Between Clips By default, when a script is created, Minimum Motion Loss is used to find likely start frames for the source and destination clips. 5238 | Chapter 15 Character Animation Editing transitions using the Transition Editor on page 5247 allows you to determine where a transition occurs in the source and destination clip. Transition duration and the orientation of the destination clip can also be adjusted in the Transition Editor. Random Motion The Create Random Motion command traverses clips in the Motion Flow Graph based on transition percentages. Transitions are given percentages, and character studio creates random scripts based on the transition percentages. This is a quick way to create crowd scenes or to try out different scripts on a single biped. For example, if five clips are present in the Motion Flow Graph and transitions exist between all the clips and each clip has a percentage or probability of being used, you can use Create Random Motion to create a script that is comprised of the five clips that are selected at random. Position the Entire Animation Use the Position, Rotation, and Start Frame controls to position the entire animation. If you are editing the script for a character in a scene with other objects or characters, use these controls to position the animation relative to the rest of the scene. For more information regarding scripts, refer to Creating a Motion Flow Script on page 5204. Biped | 5239 Interface Define Script Displays the Biped Motion Flow Script dialog (no dialog displays if there are no scripts; in this case, simply select clips in the Motion Flow Graph). The Biped Motion Flow Script dialog has the following options: ■ Create New ScriptNames a new script. Select clips in Motion Flow Graph to create the clip list for the new script. ■ Redefine ScriptKeeps the script name and removes clips in the list. Select clips in Motion Flow Graph to create a new clip list. ■ Insert Above Selected Clip itemInserts a clip above the selected clip in the list. First select a clip in the list, choose Insert Above Selected Clip item, and then click a clip in the Motion Flow Graph. ■ Insert Below Selected Clip itemInserts a clip below the selected clip in the list. ■ Append to End of ScriptAppends a clip to the end of the clip list. 5240 | Chapter 15 Character Animation Create Random Motion Displays the Create Random Motion on page 5255 dialog. Controls in the Create Random Motion dialog allow you to create random scripts to animate one or more bipeds. Random motion on multiple bipeds can be used to create a crowd scene. Delete Script Deletes the current script; displays the previous script if one is present. Create Unified Motion Converts a script into a Freeform unified motion. The created motion replaces animation present when Motion Flow Mode is turned off. Go to Frame Make the first frame of the selected clip the current frame. Cut Removes the selected clip from the script list and creates a default transition to the next clip on the list. Copy Copy the selected clip to the clipboard. Paste Paste a clip from the clipboard. Clip Mode Edit biped footsteps and limbs for the selected clip. Use Set Key on the Keyframing rollout to set biped limb keys. Edit Clip Displays the Clip Properties dialog on page 5263. Change the start and end frame for the current clip, or replace the current clip with another one. You can also set the Random Start Probability here. Random Start Probability is used when multiple clips are selected as possible start clips when you generate a random motion flow. The clip name in the script list and the icon in the graph window are updated if the clip is replaced. Edit Transition Displays the Transition Editor on page 5247 for the selected clip. Edit the transition for the selected clip and the clip following it. By default, when a script is created, Minimum Motion Loss is used to find start frames Biped | 5241 for the source and destination clips. Use Edit Transition to select your own start frames or to try out optimized transitions. NOTE Right-clicking a transition “arrow” in the Motion Flow Graph also displays the Transition Editor, but it will only give you the basic transition editing tools. To edit the transition’s Source Clip-Frame Start and the Destination Clip, use the Edit Transition button. Move the Entire Animation Start Frame Set the start frame for the first clip in the script. Start Position X Move the entire script along a world X-axis. Start Position Y Move the entire script along a world Y-axis. Start Position Z Move the entire script along a world Z-axis. Start Rotation Rotate the entire script around the world Z-axis. All transformation and rotation is based on the original position and affect the entire script. Motion Flow Graph Dialog Select a biped. ➤ Motion panel ➤ Biped rollout ➤ (Motion Flow Mode) ➤ Motion Flow rollout ➤ Motion Flow Graph dialog (Show Graph) ➤ Use tools in the Motion Flow Graph to add clips to the graph, calculate optimized transitions, set random script transition values, move and delete clips, and display clip dependencies. Clips and transitions display as icons in the Motion Flow Graph dialog. The Motion Flow Graph displays when you click Show Graph on the Motion Flow rollout on page 5235 on the Motion panel. The first step in Motion Flow mode is to add clips in the Motion Flow Graph for use in scripts. Clips represent all or part of a BIP file. Scripts represent different paths through the clips in the Motion Flow Graph. The first clip in the current script is red. Transitions are shown as arrows between clips, red 5242 | Chapter 15 Character Animation arrows represent the path through the active script. Black transition arrows indicate unloaded scripts. A transition looping back to the same clip represents a cycle or loop. If the biped is using a shared motion flow, then the title of the graph window will say "*SHARED* Motion Flow Graph", followed by the name of the shared motion flow. Shared Motion Flows are used to control multiple bipeds with one shared motion flow. By default, minimum motion loss is used to compute transitions. Optimized transitions use an algorithm that uses minimum foot sliding. Optimized transitions take longer to compute but yield very high quality results. Random Scripts for One or More Bipeds You can create random scripts by using the Create Random Motion command in the Script group on the Motion Flow rollout. Random scripts are created by randomly traversing clips in a motion flow graph. To use Create Random Motion, each biped must be in the same shared motion flow. To use a shared motion flow to create random scripts for multiple bipeds, the first step is to click Shared Motion Flow on the Motion Flow rollout, and then add bipeds that will share one shared motion flow. On the Motion Flow Graph, clips are added and transitions are created between all the clips. Then Create Random Motion is used to compute a random motion for all the bipeds. Clips and transitions are given percentages that are used by character studio to generate random scripts. Percentages for clips and transitions are set in the clip dialogs and in the Transition Editor dialog. You can load many clips and use Create All Transitions to create all possible transitions between the clips. You can then use Optimize Selected Transitions to create optimized transitions. Once the transitions are created, you can quickly create scripts with optimized transitions or generate random motions for a crowd of bipeds. The MFE file stores pointers to the clips, transition parameters, and scripts. See Placing Motions on the Motion Flow Graph on page 5195 to add clips to the graph, or Creating Random Motion on page 5215 to create a random script and transitions. Biped | 5243 Interface Create Clip Select and click in the dialog window to create clips. The clips are empty. Right-click a clip using the Select Clip tool to display the Clip Properties dialog on page 5263; then select a BIP file and set its duration in the Clip Properties dialog. You can also set the Random Start Probability here. Random Start Probability is used when multiple clips are selected as possible start clips when you generate a random motion flow. NOTE Setting clip duration is not critical for transitions; the Transition Editor on page 5247 allows you to start and end a transition on any frame of a clip. Create Multiple Clips Load multiple motion files. Displays an open file dialog. Select multiple files and click OK; multiple files are loaded into the Motion Flow Graph window. Set lowest starting foot height to Z=0 (BIP files only) Sets the lowest starting foot height to Z=0. This is an option in the Load File dialog. Default=On. In Biped, the height of a motion clip can be retained. This is important if you want to retain the height of a motion clip for motions adapted to characters 5244 | Chapter 15 Character Animation of different sizes. If, for example, the character is jumping off a rock and you want to retain the Z position of the character, you would turn this option off. Leave this option off if Motion Flow motions must be blended that begin and end at different heights, such as three clips that have the character mounting a bicycle, riding the bicycle, and dismounting the bicycle. Turning off this option can, however, cause a jump in the motion during motion flow transitions. Turn this on for smooth transitions in Motion Flow mode. If adaptation takes place, the height is set so that the lowest foot at frame 0 starts at the Z=0 height. This lines up clips along the Z axis and creates smooth transitions. Create Transition From –> To Create a transition between two clips. Click+drag from one clip to another in the Motion Flow Graph dialog. Click on a single clip and then mouse up to create a loop transition. It is necessary to have this capability in order to create random scripts. You can create transitions which are not included in a script. Create Transition To –> From Create a transition between two clips. Click+drag to one clip from another in the Motion Flow Graph dialog. Click on a single clip and then mouse up to create a loop transition. It is necessary to have this capability in order to create random scripts. You can create transitions which are not included in a script. Create All Transitions Creates transitions between every clip, including loop transitions. Select all the clips that require transitions, then click Create All Transitions. The transitions are not optimized. Use Optimize Selected Transitions to optimize the transitions. Optimized transitions take time to compute but are high quality. Delete Clip/Transition Deletes a clip or transition. If a script is dependent on the clip, a dialog displays a warning; clicking OK on the dialog deletes the clip and the script that is dependent on it. If you delete the selected clips and transitions from a shared motion flow, it will delete all the scripts from all the bipeds sharing that motion flow which are dependent on those clips and transitions. Select Clip/Transition Selects a motion clip or transition. Biped | 5245 Right-click a clip to display the Clip Properties dialog on page 5263. Right-click a transition to display the Transition Editor dialog on page 5247. Move Clip Moves clips within the Motion Flow Graph. This does not affect the animation. Pan Pans the layout of the clips. Zoom Adjusts the view magnification of the Motion Flow window. Drag up to increase magnification. Drag down to decrease magnification. Zoom Region Click Zoom Region mode to drag a rectangular region and magnify that region to fill the Motion Flow Graph window. Fit to Window Re-sizes the contents to fit the size of the Motion Flow Graph window. Save Clip Files Lets you set a path where selected clip files can be stored. Clip Mode Edit biped footsteps and limbs for the selected clip. Use Set Key on the Keyframing rollout to set biped limb keys. Clips turn green in the Motion Flow Graph window in Clip Mode. Show Script Dependencies Displays the scripts that use the selected clip. If you push the Show Script Dependencies button on a shared motion flow graph, it will check all the bipeds sharing that motion flow for scripts dependent on the selected clips and transitions. Select Random Start Clips Turn on and select clips in the Motion Flow Graph window. Press Ctrl+click to add clips. Selected clips are used by Create Random Motion in the Scripts group to start on one of the selected clips based on percentage. If three clips are selected using the default weighting of 100, then each clip has an equal chance of being the start clip. 5246 | Chapter 15 Character Animation Show Random Percentages Displays clip and transition percentages in the Motion Flow Graph window. Random start clips display in purple and display their probability of starting a random script. This also shows the probability (0 - 100) that each transition will be chosen. Create Random Motion in the Scripts group uses clip and transition percentages to generate random scripts. Optimize Selected Transitions Select one or more transitions and then click Optimize Selected Transition to optimize them. Displays the Transition Optimization dialog on page 5261 to set the location of the transition. Optimized transitions take time to compute. A progress bar is displayed when you use this feature. Minimum foot sliding is the method used to compute an optimized transition. Show Optimal Transition Costs Displays costs in the Motion Flow Graph window. The lower the number the better the transition. Check All Transitions Checks the graph for overlapping transitions and transitions whose length is too long for the clip. It informs you of any problems, or tells you that none have been found. Auto Clip Names Names the clip based on the name of the motion file. Turn off to name a clip yourself. Transition Editor Select a biped. ➤ Motion panel ➤ Biped rollout ➤ (Motion Flow Mode) ➤ Scripts group ➤ Select a clip in the script list. ➤ Click (Edit Transition). ➤ Transition Editor Biped | 5247 Display the Transition Editor by selecting a clip in the list of the Scripts group and clicking Edit Transition in the same group or right-clicking a transition arrow in the Motion Flow Graph. Transitions A good transition links two clips together seamlessly; the motion through the transition should appear natural, as though the motion was captured as one long motion sequence. Like an AB roll transition in video editing, an appropriate section in both clips is selected for the transition (dissolve) from the source clip to the destination clip. Velocity differences between the source and destination clips are matched during the period of transition producing a seamless result. By default, Minimum Motion Loss is used to find likely start frames in the source and destination clips when clips are appended to a script. Optimized transitions can be computed by using Optimize Transition in the upper right-hand corner of the Transition Editor dialog. Optimized transitions use a minimum foot sliding method to compute transitions. Optimized transitions take longer to compute, but produces very smooth motions. Although only one arrow is used to represent a transition between two clips in the Motion Flow Graph, any number of transitions can be named and stored in the Transition Editor representing that transition. If, for example, you create 5 different transitions between two clips for one script, all of these transitions are available in a new script that uses the same two clips. Think of Motion Flow Graph as a data storage area; if all of the scripts are deleted, the transitions are preserved and can be stored in an MFE file. Automatic Transitions When you create a script, default transitions are used between the clips. Default transitions use minimum motion loss and are quick to compute. However, the best quality transitions are the optimized transitions. Once the Transition Editor is open, the first thing to try, before manual editing, are the optimized transitions (upper-right corner of the dialog). Length (Transition Duration) Set the duration of a transition in the Length field. A value of 10, for example, creates a transition of 10 frames between the source and destination clips. During the period of transition, the velocity of the source clip is interpolated to the velocity of the destination clip. If the transition takes place at the last frame of the source clip and the first frame of the destination clip, and Length is set to 10, then the last frame of the source clip is interpolated with the first 10 frames of the destination clip. 5248 | Chapter 15 Character Animation Editing Transitions Manually (Ghosts) Manually setting the Start Frame for the source and destination clips offers the most control. Unwanted motion in either clip can be avoided and judging the best Start Frames for both clips is left to you. The Ghost area Frame spinners allow you to view and scrub the source and destination clips by displaying stick figures (ghosts); yellow and red stick figures represent the source and destination clips. When a suitable Start Frame is located for both clips, use Set Start Frame in the Ghost area to copy the Frame values to the Start Frame fields in the Source and Destination Clip areas. Scrubbing the time slider over the transition period enables you to view the biped's transition from the yellow stick figure (source) to the red stick figure (destination). Other Transition Editor Features Rolling and Fixed specify whether a clip is rolling (in motion) or fixed (single frame) during the transition. Change the direction of the destination clip using the Angle field. Other parameters in the Transition Editor allow you to create and name new transitions, scroll through the saved transitions, jump to the transition-starting frame, set automatic transition parameters, and go to the next transition in the script You can save all transitions and their attributes in an MFE file. See Customizing Transitions on page 5212 to manually and automatically customize transitions. Biped | 5249 Interface Length Sets the number of frames for the duration of the transition. Transitions are calculated by matching velocities in both clips. Smooth out abrupt velocity changes using longer transitions. Ease In Ease-in value for the source clip. Ease Out Ease-out value for the destination clip. Transition Focus Lets you specify a focus point on the biped where the transition takes place. The Mixer will attempt to match movement based on this selection. For example, if Left Foot is selected, the transition will use the left foot as a focal point during the transition, aligning the motion of the left foot in both clips as much as possible during the transition. Default=Auto. ■ AutoThe transition focus is calculated by averaging the overall position of the biped as it transitions from one clip to the next. 5250 | Chapter 15 Character Animation ■ Center Of MassThe transition focus is based on the center of mass position of the biped as it transitions from one clip to the next. ■ Left FootThe transition focus is based on the left foot position of the biped as it transitions from one clip to the next. ■ Right FootThe transition focus is based on the right foot position of the biped as it transitions from one clip to the next. ■ Both FeetThe transition focus is based on an averaged foot position of both of the biped's feet as it transitions from one clip to the next. NOTE The best way to see the differences between the transition foci is by watching the yellow and red ghosts. Angle Sets the direction of the destination clip. The angle of the destination clip is automatically set for best body fit between the two clips when the Start Frame values change. Use Angle to change the direction of the destination clip. Probability Set a probability value for random transitions. This is used by Create Random Motion when a random script is generated. Previous/Next Transition buttons, Start Frame controls, and Optimize button Previous Transition Go to the previous transition in the transition track. Displays the previous transition in the Transition Editor, moves the time slider to the start frame of the previous transition and highlights the previous clip in the transition track. Next Transition Go to the next transition in the transition track. Biped | 5251 Displays the next transition in the Transition Editor, moves the time slider to the start frame of the next transition and highlights the next clip in the Scripts list. Start Frame This text field displays the number of the first frame of the transition. Go To Start Frame Moves the time slider to the first frame of the transition. Optimize Transition Displays the Transition Optimization dialog on page 4117. Options in the Transition Optimization dialog allow you to search for the range over which the optimizer searches for the transition. Source Clip and Destination Cip groups Clip range This text field displays the range of the source or destination clip. The ranges are relative to the clip itself, not to the frame range of the full animation. Start Frame Sets the transition start frame for the source or destination clip. The start frame is relative to the clip itself, not to the frame range of the full animation. Transition options These choices control how the transition is interpolated. ■ RollingRetains the clip motion during the transition. ■ FixedFor the source clip, this option freezes the biped at the Start Frame position during the transition. For the destination clip, this option freezes the biped at the End Frame position. If Fixed is chosen for both the source and destination clips, the transition is a gradual interpolation from one frozen pose to another. 5252 | Chapter 15 Character Animation Ghost subgroups (Source and Destination clips) The Ghost group Frame spinners allow you to view and scrub the source and destination clips by displaying stick figures (ghosts); yellow and red stick figures represent the source and destination clips. The source and destination bipeds might not be near each other during this scrubbing process; the destination clip will be repositioned when you click Set Start Frame is clicked. When you locate a suitable start frame, click Set Start Frame to copy the values in the Frame field to the Start Frame field. Monitor foot position status in the field provided. Set Start Frame Copy the value in the Frame field of the Ghost area to the Start Frame field in the Clip area. The position of the destination clip changes to match the biped body in the destination clip to the biped body in the source clip. Biped | 5253 Locate an appropriate start frame for the source and destination clips by using the Frame spinner and viewing the positions of both stick figures, then click Set Start Frame. The destination clip is rotated and positioned to match both bipeds. Use the Angle spinner to reorient the destination clip. Frame Use the Frame spinner to scrub a stick figure back and forth, which allows you to determine a start frame for the source and destination clips. Visual feedback of the stick figures is a good way to judge which start frames are needed for the source and destination clips. Playback group These controls let you play back the transition from the Transition Editor dialog. Play Transition Click to play the transition. Click again to stop playback. Speed Chooses the playback speed. ■ 1/4 x Plays at one-quarter of real time. ■ 1/2 x Plays at half real time. ■ 1 x (The default.) Plays at real time (full speed). Frames Before/Frames After Set the number of frames to play before and after the transition period. Selected Only When on, plays back only the selected biped. Default=off. Play Ghosts When on, shows transition ghosts during playback. Default=off. _____ 5254 | Chapter 15 Character Animation Create Transition Click to create a new transition. The transition number field increments. Any number of transitions can be stored. NOTE Clicking OK saves the displayed transition. Create Transition is used only if you want to work on a new transition. Delete Transition Click to delete a transition. Previous Transition Go to the previous stored transition. This button is grayed if no previous transition exists. Next Transition Go to the next stored transition. This button is grayed if no next transition exists. Active transition Displays the number of the transition that is currently active. Name field In this field, you can enter a name or a comment for the current transition. On the Motion Flow rollout, the text you enter here appears to the right of the original clip name. OK Store transitions and exit the dialog. Create Random Motion Dialog Select a biped. ➤ Motion panel ➤ Biped rollout ➤ (Motion Flow Mode) ➤ Motion Flow rollout ➤ Scripts group ➤ (Create Random Motion) ➤ Create Random Motion dialog You can randomly traverse clips in a motion flow graph to animate one or more bipeds using controls in the Create Random Motion dialog. Parameters Biped | 5255 for random motion are set in the Motion Flow Graph, in the clip and transition dialogs, as well as in the Create Random Motion dialog. Random motion is created by first adding clips to the Motion Flow Graph window and adding transitions between the clips. Clips and transitions are then given percentages, which are used to create random motion for one or more bipeds. You can manually control the “weighting” for possible start clip, transitions, and frame range. This allows you to animate multiple bipeds in a crowd scene, for example. A different script is created for each biped. If you want to create random motion for multiple bipeds, they must be sharing a motion flow. For more information about using random motions and transitions, refer to Creating Random Motion on page 5215. Interface Script Name Type a name for the script to be generated. Random Start Range Set the start and end frame range over which the new script(s) will start. Minimum Animation Length Set the minimum animation length. 5256 | Chapter 15 Character Animation When a random motion is created, it is done by making a motion flow script which traverses the clips in the Motion Flow Graph, adding clips based on random calculations. It will add clips until the length of the script is greater than or equal to the minimum animation length, specified here. first clip in script Gets the start position and rotation from the first clip. biped’s current position/rotation Uses the biped’s current position to start the script. Create motion flow script Creates a script after computing the motion. If this is on, a motion flow script will be created. If not, a script will still be created internally in order to generate the random motion, but it will be deleted after the random motion is generated. Append to existing script Appends random motion to the existing script. Create unified motion Creates a unified motion. The generated motion will be available when you exit Motion Flow mode. If multiple bipeds are in the random calculation, then the motion is unified for each biped. Store as .bip file Stores the random motion as a BIP file. If multiple bipeds are in the random calculation, they are saved separately with incrementing numbers. File Name Type a name for the BIP file. The .bip extension is added automatically. Directory Type a directory path or browse for the path. Browse Browse to a directory. Create motion for all bipeds sharing this motion flow Turn on to create a random script for each biped sharing the current biped’s motion flow. You can create a shared motion flow by using the Shared Motion Flow command on the Motion Flow rollout and adding bipeds in the Shared Motion Flow dialog. Create Creates random motion for the selected biped or all the bipeds in the shared motion flow. Cancel Cancel and close the dialog. Biped | 5257 Shared Motion Flow Dialog Select a biped. ➤ Motion panel ➤ Biped rollout ➤ (Motion Flow Mode) ➤ Motion Flow rollout ➤ Flow) ➤ Shared Motion Flow dialog (Shared Motion Controls in the Shared Motion Flow dialog allow you to assign one motion flow to multiple bipeds. Instead of choreographing a motion flow script for individual bipeds, you can create a motion flow with all the clips and transitions to create a script to animate multiple bipeds. Random motion creation will use each bipeds' own motion flow. If a biped’s motion flow happens to be a shared motion flow, then the shared motion flow will be used to compute random motion. A biped that shares a motion flow shares only the graph. Its scripts are unique to that biped, although the scripts point to the clips of the shared motion flow. You can manipulate that biped's motion flow and scripts. You can create random motion on a biped that shares a motion flow, or create a motion flow script via the crowd system. A white circle around the Shared Motion Flow icon indicates that a biped is using a shared motion flow. If you edit that biped's motion flow graph, the title of the graph dialog will say "Shared Motion Flow Graph", followed by the name of the shared motion flow. Bipeds in a shared motion flow should have the same lower body scale and structure. Adaptation for differently sized bipeds does not occur in a shared motion flow. If you want differently sized bipeds in a crowd, then create a shared motion flow for each size. See Sharing Motion Flow on page 5223 for more details about setting up a shared motion flow. 5258 | Chapter 15 Character Animation Interface Shared Motion Flows list Lists shared motion flows. New Creates a new shared motion flow. Delete Deletes the current shared motion flow. The scripts of the bipeds sharing the deleted motion flow will be deleted. Those bipeds will have an empty motion flow graph and no scripts. Load Loads a shared motion flow (SMF) file. Biped | 5259 This file is created with the Save command (see following). The file contains the shared motion flow graph as well as the scripts for all bipeds sharing the motion flow. Save Saves a shared motion flow (SMF) file. The file contains the shared motion flow graph as well as the scripts for all bipeds sharing the motion flow. Use this facility to speed biped/crowd-simulation setup. Create and refine the crowd simulation with bipeds that don't use Physique, save the shared motion flow, load or create your final crowd members that use Physique, and then load the shared motion flow. For a procedure, see To apply a shared motion flow to a different group of bipeds: on page 5229. Load .mfe Displays a load file dialog. Load an MFE file into the shared motion flow. NOTE If you load aN MFE file, via the Motion Flow rollout, into a biped using a shared motion flow, you will get a warning and the biped will be removed from the shared motion flow. The biped will get the newly loaded motion flow and all its scripts. The shared motion flow will remain the same. Bipeds Sharing this Motion Flow list Lists the bipeds that share this motion flow. Add Displays a dialog where you can choose bipeds to add to the motion flow list. Add bipeds to the list of bipeds that share a motion flow. When you add a biped, its current motion flow graph and motion flow scripts will be deleted. It will now have the shared motion flow graph. A biped can only share one motion flow graph. You must remove a biped from its shared motion flow in order to add it to a different shared motion flow. Remove Removes the selected bipeds in the list from the current shared motion flow. These bipeds' scripts will be deleted. They will have an empty motion flow graph. Put Multiple Bipeds in Motion Flow Put the bipeds in the list into Motion Flow mode. The crowd system needs Motion Flow mode to be turned on to perform calculations for motion. This is a convenient way of turning on Motion Flow mode for multiple bipeds. 5260 | Chapter 15 Character Animation Take Multiple Bipeds out of Motion Flow Take the bipeds in the list out of Motion Flow mode. Set Shared Moflow Leg Scale Adapts the shared motion flow to the scale of the biped currently selected in the list. After this operation, the selected biped will have the correct leg scale, although other bipeds may not. Reset Wrong Scales Just Legs: Reset the leg scale only of the bipeds that have the wrong scale, so that they adapt appropriately to the shared motion flow. Reset Wrong Scales Entire Figure: Resets the entire figure structure of the bipeds that have the wrong scale, to match the figure structure of the correctly scaled biped. When you add the first biped to the shared motion flow, the system adapts to the size of that biped. If the leg scale of a biped you add subsequently doesn't match that of the first biped, it will be marked in the list with "wrong scale" after it. All the bipeds you plan on using in a shared motion flow must have the same lower body structure and scale. Transition Optimization Dialog Select a biped. ➤ Motion panel ➤ Biped rollout ➤ (Motion Flow Mode) ➤ Motion Flow rollout ➤ (Show Graph) ➤ Motion Flow Graph dialog ➤ Select transitions in the graph window. ➤ (Optimize Selected Transitions) ➤ Transition Optimization dialog Select a biped. ➤ Motion panel ➤ Biped rollout ➤ (Motion Flow Mode) ➤ Motion Flow rollout ➤ Scripts group ➤ Select a Biped | 5261 clip in the Script list. ➤ (Edit Transition) ➤ Transition Editor ➤ (Optimize Transition) ➤ Transition Optimization dialog Options in the Transition Optimization dialog allow you to select the range over which the optimize algorithm will search for the transition. It can search either the whole clip, or it can search near the existing transition. You must specify the preferred length of the optimized transition. character studio will try to get as close to that length as possible, still opting to give you the best length. If it searches about the existing transition, you must specify the number of frames about which it will search before and after the existing transition. Optimized transitions compute for minimum foot sliding over the range of the transition. This method yields very high quality results. Interface Preferred Transition Length Specify the length of the optimized transition. Search Entire Clip Search the entire clip for an optimized transition start frame. 5262 | Chapter 15 Character Animation Search Near Existing Transition Create an optimized transition near the existing transition. You may search the range about the existing transitions by setting before and after frame values. Clip Properties Dialog Select a biped. ➤ Motion panel ➤ Biped rollout ➤ (Motion Flow Mode) ➤ Motion Flow rollout ➤ (Show Graph) ➤ Motion Flow Graph dialog ➤ Right-click a clip in the Motion Flow Graph window. ➤ Clip Properties dialog Motion Flow Mode ➤ Motion Flow script rollout ➤ Select a clip in the list. ➤ Edit Clip ➤ Clip Properties dialog Parameters in the Clip Properties dialog allow you to browse for a clip, set a start and end frame for the clip and set a random start probability for the clip. Random start probability is used when you use Create Random Motion to generate a random script for a biped. Interface Clip Name The clip name as it appears in the Motion Flow Graph. File Name The path and file name of the motion clip. Length The length of the clip in frames. Biped | 5263 Browse Displays a load file dialog. Browse for a motion file. Set lowest starting foot height to Z=0 (.bip files only) Sets the lowest starting foot height to Z=0. This is an option in the Load File dialog. Default=On. In character studio the height of a motion clip can be retained. This is important if you want to retain the height of a motion clip for motions adapted to characters of different sizes. If, for example, the character is jumping off a rock and you want to retain the Z position of the character, you would turn this option off. Leave this option off if Motion Flow motions must be blended that begin and end at different heights, such as three clips that have the character mounting a bicycle, riding the bicycle, and dismounting the bicycle. Turning off this option can, however, cause a jump in the motion during motion flow transitions. Turn this on for smooth transitions in Motion Flow mode. If adaptation takes place, the height is set so that the lowest foot at frame 0 starts at the Z=0 height. This lines up clips along the Z axis and creates smooth transitions. Start Frame Sets the start frame for the clip. End Frame Sets the end frame for the clip. Active Activates the clip. Inactive clips display as a green color in the Motion Flow Graph. Random Start Probability Set a percentage for random start probability. This is used when multiple clips are selected as possible starting clips in a random motion flow. The Create Random Motion command allows you to generate random motion for one or more bipeds. Working with Motion-Capture Data Motion capture is the practice of getting motion data from live actors performing various actions. The motion data is captured (retrieved) via sensors placed at the actors' joints and extremities. 3ds Max does not perform motion capture, but it accepts motion-capture data in the most commonly used formats. This data can be imported to the biped and used as is, or combined with other motions with Motion Flow on page 5194 or the Motion Mixer on page 4038. Motion-capture data typically needs some adjustment before it fits your biped or animation perfectly. When motion-capture data is imported to 3ds Max, it can be filtered to: ■ Use fewer keyframes 5264 | Chapter 15 Character Animation ■ Create footstep motion ■ Use props in the scene In addition, some motion-capture files come with a separate marker file, which can be used to match the biped posture to the motion-capture actor. How Motion-Capture Data is Acquired Motion-capture data is typically acquired by one of several means: ■ Optical sensing technology Optical systems have become quite popular over the last couple of years. These systems can offer the performer the most freedom of movement since they do not require any cabling. Optical systems incorporate directionally reflective balls, referred to as markers on page 9216, that attach to the performer. Optical systems require at least three video cameras, each of which is equipped with a light source that is aligned to illuminate the field of view for that camera. Each camera is in turn connected to a synchronized frame buffer. The computer is presented with each camera view in order to calculate a 3D position of each marker; the resulting data stream therefore consists of 3D position data for each marker. This data is typically applied to an inverse kinematics system, to animate a skeleton. ■ Electro-magnetic sensing technology This is a popular method used for performance capture. Magnetic capture involves the use of a centrally located transmitter, and a set of receivers that are strapped on to various parts of the performer’s body. These receivers are capable of measuring their spatial relationship to the transmitter. Each receiver is connected to an interface that can be synchronized to prevent data skew. The resulting data stream consists of 3D positions and orientations for each receiver. This data is typically applied to an inverse kinematics system to drive an animated skeleton. This magnetic approach shares the same lack of occlusion problems with the audio method, but it also shares the same negative factors, such as the hindrance of cables, lack of sufficient receivers, and the limited capture area. In addition, being magnetic, the system is affected by any sizable areas of metal in the vicinity of the capture area, such as girders, posts, and so on ■ Prosthetic sensing technology This is one of the early methods for capturing the motion from various parts of human anatomy. These methods include simple "on/off" type of motion-detection systems as well as complex motion-tracking systems. The latter type of prosthetic motion capture would be an ideal approach if it weren’t for the complex mechanical requirements and the Biped | 5265 performance-inhibiting qualities generally associated with such designs. However, the type of data provided can be clean, rotational data collected in real time without any occlusion problems. This method is based on a set of armatures that must be attached all over the performer’s body. The armatures are then connected to each other by using a series of rotational and linear encoders. These encoders are then connected to an interface that can simultaneously read all the encoders in order to prevent data skewing. Finally, through a set of trigonometry functions, the performer’s motion can be analyzed. These design restrictions seem to be quite difficult to overcome, and will probably limit the use of this type of device for character animation. ■ Acoustic sensing technology Acoustic capture is another method currently used for performance capture. This method involves the use of a triad of audio receivers. An array of audio transmitters are strapped to various parts of the performer's body. The transmitters are sequentially triggered to output a "click" and each receiver measures the time it takes for the sound to travel from each transmitter. The calculated distance of the three receivers is triangulated to provide a point in 3D space. An inherent issue with this approach is the sequential nature of the position data it creates. In general, one would like to see a "snap shot" of the performer’s skeletal position rather than a time-skewed data stream. This position data is typically applied to an inverse kinematics system, which in turn drives an animated skeleton. Importing Motion-Capture Data In character studio, you can import both rotation and position type motion-capture files. ■ BioVision (.bvh) files contain limb and joint rotation data. ■ character studio marker files (.csm) contain raw marker position data generated by a motion-capture device: markers are attached to an actor during a motion-capture performance. Marker files typically require some calibration. If necessary, the biped is sized to fit the markers first, then the biped limbs are oriented to align them to the markers. Marker files should be loaded with keys at every frame and no footstep extraction; this is required for calibration, and also enables the calibration controls. Calibration controls are the second row of buttons on the Motion Capture rollout. In character studio, the .csm marker file format supports a prop bone in either or both hands. See Prop Bone on page 5272. 5266 | Chapter 15 Character Animation Key reduction, track selection, footstep extraction, and clip looping are some of the options available using the Motion Capture import filter. Key reduction makes it easy to manipulate the biped and personalize the imported motion-capture data. Extracting footsteps from motion-capture data prevents inappropriate sliding feet, which are a common problem with motion-capture data. Typically you do not use an entire motion-capture clip as is, unless you capture motions at a studio for your own production. You should become familiar with the body motion in the files you have, then use Motion Flow mode to cut portions of these files together to create animation. For example, take a stretch motion in one clip, and combine it with the walking motion in another clip. You can then save the edited script as a BIP file using the Save Segment command on the Biped rollout. Load this BIP file for standard motion editing. This provides a good starting place for you to edit the result to your liking. All motion-capture controls are on the Motion Capture rollout on page 5273. Filtering Motion-Capture and Marker Data Select a biped. ➤ Motion panel ➤ Motion Capture rollout ➤ Click (Load Motion Capture File). Motion-capture and marker data typically have keys at every frame. Filtering motion-capture data reduces keys, simplifying the job of altering or personalizing the motion data. Biped lets you filter the data of each track with its own filtering settings, so you have control over which nuances of motion you want to pick up without filling the rest of the tracks with unwanted keys. Filtering is done using the Motion Capture Conversion Parameters rollout. Other filtering options include footstep filtering and extraction, looping the data, and importing a portion of the motion-capture file. 3ds Max ships with a variety of raw (unfiltered) motion-capture data files, in BIP, CSM, and BVH formats. Some of the same data is available in filtered versions, either with footsteps or freeform. Try your own filtering adjustments on the raw versions of this data. Importing the raw data displays the original motion very accurately when you select Show Buffer on the Motion Capture Biped | 5267 rollout. Use the Motion Capture buffer as a guide when adjusting and refining the filtered data. Several tools are available in the Motion Capture rollout to aid you in this process. Create your own library of imported and optimized motion capture data by saving BIP files for use with other characters, or as part of a longer script in Motion Flow mode. Use a biped that has no mesh attached with Physique. TIP Overall, you import the data, adjust it to your liking, and save it as a BIP file. You can also run standard BIP files through this filtering process to create loops or to extract footsteps from a freeform animation. NOTE Marker files, such as CSM, contain position data. Hierarchical motion-capture files, such as BVH, contain joint rotation data. Motion Capture rollout character studio Marker Files The .csm on page 9128 format is an ASCII file used to import positional marker data from motion-capture systems onto a biped. 5268 | Chapter 15 Character Animation The Show Markers command displays marker positions and names. Procedures To import a motion-capture file: 1 Select a biped. 2 On the Motion Capture rollout, click (Load Motion Capture File). 3 Choose the file type: BVH, BIP, or CSM. TIP CSM marker files, loaded for the first time, should be imported with no key reduction and no footstep extraction. This enables the calibration buttons. Marker files typically need some calibration. 4 Choose a file and click Open. 3ds Max opens the Motion Capture Conversion Parameters dialog (see Motion Capture Conversion Parameters Dialog on page 5283). 5 Select the filter options you want and click OK. The biped adapts itself to the motion data. If Footstep Extraction is turned on, footsteps appear. TIP Use a biped that does not have a mesh attached with Physique. Import motion-capture data with the idea of then saving a BIP file that can be used for any character. If skeletal scale information is loaded from a motion-capture file, a mesh with a Physique modifier might deform unnaturally. To import a marker file: Typically, when a marker file is loaded for the first time, it requires scale and position calibration. A raw marker file must be loaded, with no key reduction or footstep extraction, to enable the calibration functions. After calibration is performed, use Convert From Buffer to extract footsteps and reduce keys. 1 Select a biped. Biped | 5269 2 On the Motion Capture rollout, click to load a marker name file (.mnm). (Load Marker Name File) This step is not required if the marker names in the marker file adhere to the Biped marker naming convention. 3 On the Marker Name File dialog, click Load CSM Marker File, and choose the MNM file from the file open dialog that appears. 4 On the Motion Capture rollout, click and choose a CSM marker file. (Load Motion Capture File) 3ds Max opens the Motion Capture Conversion Parameters dialog (see Motion Capture Conversion Parameters Dialog on page 5283). 5 Adjust the filter parameters and click OK. NOTE Load raw marker data (No Key Reduction, Freeform) to enable the marker calibration buttons. The biped adapts itself to the marker data. 6 On the Motion Capture rollout, click (Show Markers). On the Marker Display dialog, turn on Show Recognized Markers and the option for On All Objects. 7 Now, on the Motion Capture rollout, click (Talent Figure Mode). Use (Select And Non-Uniform Scale) or Biped rollout ➤ (Rubber Band Mode) to size the biped to the displayed markers. NOTE This step is optional and should be used if you need to correct for slight differences in limb scale between the original talent who performed the motion and the scale of the biped after the data is imported. For example, if the leg is too short, scale the length of the leg in Talent Figure mode to adjust the knee position. 8 Click (Talent Figure Mode) again to exit the mode. 5270 | Chapter 15 Character Animation Key adaptation takes place when you exit Talent Figure mode. Now biped limb positions relative to the markers can be adjusted. 9 Align the biped limbs to the markers if necessary, then click Adjust Talent Pose to compute the offset for the entire animation. 10 Use (Save Talent Figure Structure) to save the structure as a FIG file, and (Save Talent Pose Adjustment) to save the pose as a CAL file. 11 Load these files in the Motion Capture Conversion Parameters dialog when similar marker files are imported in the future. At this point, you can use (Convert From Buffer) to extract footsteps and reduce keyframes. Both scale and position adjustments will be incorporated. Save the motion as an optimized BIP file. Sliding Footsteps Motion-capture and marker data typically have keys at every frame. Filtering motion-capture data reduces keys, making the job of altering or personalizing the motion data much simpler. You can create your own library of imported and optimized motion-capture data by saving BIP files for use with other characters or as part of a longer script in Motion Flow mode. Use a biped that has no mesh attached to it with Physique. You import the data, adjust it to your liking, and save it as a BIP file. You can also run standard BIP files through this filtering process to create loops or to extract footsteps from a freeform animation. Motion Capture Import Footstep motion capture is enabled automatically when importing motion capture data using the Sliding Tolerance and Sliding Angle controls in the Motion Capture Conversion Parameters dialog on page 5283. Footstep Extraction group The following options are active when Footstep Extraction is on during motion capture conversion. Extraction Tolerance Sets the sensitivity of footstep extraction. Biped determines if the footstep is there by checking that the foot does not move Biped | 5271 beyond the distance determined by the Extraction Tolerance value. Smaller numbers are more sensitive and extract more footsteps. The value is a percentage of foot length. The default value is 0.15. Increase this value to 0.2 or 0.25 if too many footsteps are generated. Sliding Distance Creates a sliding footstep when positional tolerance is reached. This value is a percentage of foot length. By default the foot must slide its own distance (100), before a sliding footstep is created. Use this with motion-capture files that contain sliding feet. A sliding footstep can be created manually by setting IK Blend ➤ 0 for a biped foot at a "touch" state key (biped foot first touches a footstep). NOTE Sliding footsteps display as a footstep with a line through the center. Sliding Angle Creates a sliding footstep when rotational tolerance is reached. This value is in degrees. The default is set high (360 degrees), the foot must make a complete turn before a sliding footstep is created. Use this with motion-capture files that contain feet that pivot, as in a dance motion. NOTE Sliding footsteps display as a footstep with a line through the center. Only Extract Footsteps Within Tolerance Turns on Z -axis Tolerance. These controls filter out footsteps that do not fall within a given range of the ground plane. Use this when filtering motions, such as hopping or pitching a baseball, in which a foot might come off the ground and remain stationary, but its position is not intended as a footstep. ■ ToleranceValue is a percentage of leg length. ■ From Z LevelSet a Z value (ground). Flatten Footsteps to Z=0 Moves extracted footsteps to Z=0. Use this to flatten out minor differences in the height of the extracted footsteps. Prop Bone In 3ds Max, the CSM marker file format supports a prop bone in either or both hands (left, right, or middle). There are nine additional markers for the top, bottom, and middle of the three prop types. If character studio detects these tracks, it creates a dummy helper on page 2871 object. 5272 | Chapter 15 Character Animation The length of the prop is the average distance between the top and bottom prop marker during animation. The prop will be oriented in the plane of the three prop markers, and its origin will be at the bottom prop marker. The dummies are named bip01prop, bip02prop, and so on. If a prop of that name already exists, its animation and size is reset upon loading the CSM file. The Marker Display dialog contains a check box for toggling display of the prop markers. The prop track names are LPRPB, LPRPM, LPRPT, MPRPB, MPRPM, MPRPT, RPRPB, RPRPM, and RPRPT. These stand, respectively, for left prop bottom, left prop middle, left prop top, middle prop bottom, middle prop middle, middle prop top, right prop bottom, right prop middle, and right prop top. You can change the track names by editing the MNM file. The props don't necessarily have a relation to the left and right hands. For example, a prop could be a hat. Motion Capture Rollout Create or select a biped. ➤ Motion panel ➤ Motion Capture rollout The tools on the Motion Capture rollout on the Motion panel are typically used for working with raw motion-capture data. You can also load standard Biped | 5273 BIP files using Load Motion Capture File. For example, you might do this if you want to loop the motion. This rollout includes tools for: ■ Batch conversion of motion-capture files. ■ Converting the motion-capture file stored in the motion capture buffer. ■ Pasting one frame of motion-capture data from memory to selected biped limbs. ■ Displaying raw motion-capture data as a stick figure. ■ Displaying raw motion-capture trajectories. The buttons in the bottom row are used mainly with marker files, although the calibration controls also work with raw BVH files. Import, calibrate, and filter marker files (CSM) using tools on the Motion Capture rollout. Markers are placed on an actor during motion capture to identify joints; calibration lets you adjust the biped relative to the original marker positions if necessary. Load only raw marker files with no key reduction or footsteps to enable marker calibration controls. NOTE For BVH and CSM file specifications, see the BVH.rtf and CSM.rtf documents on the program disc. Motion-Capture Buffer Raw motion data is automatically stored in the motion-capture buffer when files (CSM, BVH, and BIP) are loaded using Load Motion Capture File on page 5279. This buffered raw motion data is independent of the biped motion in your scene, and can be used in various ways: ■ Use Convert From Buffer on page 5280 to try alternate filter settings quickly; this saves you from having to browse for the same file. ■ After importing a BVH or BIP file using footstep extraction and key reduction, you can use Paste From Buffer on page 5280 on selected biped limbs (and COM) to paste keys from the raw motion-capture data to the filtered data; do this if critical motion has been lost in the filtering process. ■ If you specify Load Buffer Only in the Motion Capture Conversion Parameters dialog on page 5283, the motion file is loaded into the motion-capture buffer without altering the biped animation. Use this to paste posture and limb keys from any file onto the biped animation in your scene. 5274 | Chapter 15 Character Animation When you load a motion-capture file, the motion-capture buffer is loaded with motion-capture data from that file. This buffer is altered during calibration. It is also used to show the motion-capture markers and trajectories. Internally, there is only one motion-capture buffer. It is often large, so its contents are not saved before a file load or a calibration. Therefore, if you undo a motion-capture file load, the contents of the motion-capture buffer do not change. That's why you'll still see old markers and trajectories. It is not possible to undo calibration. Marker Files Unlike a BIP or BVH file that contains limb rotation data, a CSM marker file on page 9216 contains only marker position data. When a raw marker file is imported, only marker position data is buffered in the motion-capture buffer. 3ds Max uses the marker data to extract limb rotation data to position the biped. After using the calibration controls on the Motion Capture rollout to correct biped scale and posture relative to the markers, use Convert From Buffer on page 5280 to filter the raw marker data to key reduce and extract footsteps. NOTE A CSM marker file is an ASCII file. See also: ■ Importing Motion-Capture Data on page 5266 ■ Marker Files on page 9216 Procedures To use Convert From Buffer: A motion-capture file should already be in memory. Use Load Motion Capture File on the Motion Capture rollout to import a motion-capture file if one is not already be in memory. 1 Select a biped. 2 On the Motion Capture rollout, click (Convert From Buffer) to display the Motion Capture Conversion Parameters dialog. Biped | 5275 3 Adjust parameters, then click OK. To compare raw and filtered trajectories: 1 Select a biped and on the Motion Capture rollout, turn on (Show Buffer Trajectory). 2 On the Display rollout, click (Trajectories). As you select various biped parts, two trajectories are displayed. The yellow trajectory represents raw motion-capture data in the motion-capture buffer; the purple trajectory represents the filtered data. To use Show Buffer: 1 Create a biped. 2 On the Motion Capture rollout, click to import a motion-capture file. 3 On the Motion Capture rollout, turn on (Load Motion Capture File) (Show Buffer). A red stick figure appears, representing the raw motion-capture data. 4 Play the animation. The biped, which represents filtered motion-capture data, and the red stick figure, which represents the raw data, play back together. TIP For a very accurate visual comparison between raw motion capture data and filtered data, toggle Show/Hide Objects on the Display rollout to hide the biped. Toggle Show/Hide Bones in the same rollout to display only biped bones (the yellow stick figure), then play the animation with Show Buffer turned on. The two stick figures move together, and any discrepancies are easily spotted. To learn how to use Show Buffer with the Fit To Existing parameter in Motion Capture Conversion Parameters rollout, see To use Fit To Existing to import a motion capture file on page 5284. 5276 | Chapter 15 Character Animation To import a motion-capture file: 1 Select a biped. 2 If necessary, on the Motion Capture rollout, click Name File). (See MNM Files on page 9224). (Load Marker NOTE This step is not required if the marker or joint names in the motion-capture file adhere to the character studio marker naming convention. 3 Click (Load Motion Capture File). 3ds Max opens a file dialog. 4 Choose a file type: BVH, BIP, or CSM. 5 Choose a file and click Open. 3ds Max opens the Motion Capture Conversion Parameters dialog on page 5283. 6 Select the filter options you want, then click OK. The biped adapts itself to the motion data. If Footstep Extraction is turned on, footsteps appear. NOTE Load raw marker data (No Key Reduction, Freeform) to enable the marker calibration buttons. TIP Use a biped that does not have a mesh attached to it with Physique. Import motion-capture data with the idea of then saving a BIP file that can be used for any character. If skeletal scale information is loaded from a motion-capture file, a mesh with the Physique modifier applied might deform unnaturally. 7 If a marker file was loaded, turn on aid for biped scale and limb correction. (Show Markers) as a visual If correction is necessary, adjust biped scale first. Keyframe adaptation takes place in order to accommodate a biped scale change. Biped | 5277 The remaining steps in this procedure are optional, unless you need to calibrate motion-capture files. 8 Click (Talent Figure Mode) and use Non-Uniform Scale) or Biped rollout ➤ size the biped to the displayed markers. 9 Click (Select And (Rubber Band Mode) to (Talent Figure Mode) again to exit the mode. Key Adaptation takes place when you exit Talent Figure mode. Now, biped limb positions relative to the markers can be adjusted. 10 Align the biped limbs to the markers, if necessary, and then click Adjust Talent Pose to compute the offset for the entire animation. 11 Use (Save Talent Figure Structure) to save the structure as a FIG file, and (Save Talent Pose Adjustment) to save the pose as a CAL file. Load these files in the Motion Capture Conversion Parameters dialog when you import similar marker files in the future. At this point, you can use (Convert From Buffer) to extract footsteps and reduce keyframes. Both scale and position adjustments will be incorporated. Save the motion as an optimized BIP file. Interface 5278 | Chapter 15 Character Animation Load Motion Capture File Key reduce and extract footsteps from raw motion-capture data. Load BIP, CSM, or BVH files. After you open a file, the Motion Capture Conversion Parameters dialog on page 5283 opens. Following are descriptions of settings in the Open dialog. Files of type ■ BIPFilters the raw version of the motion-capture data that ships with 3ds Max. These are in a BIP format. Filter standard BIP files to convert footstep animation to a freeform animation; extract footsteps from a freeform animation; and to loop a BIP file. ■ BVHBioVision motion-capture data file. Contains the “actor’s” skeletal and motion information. Once the motion-capture data is filtered and adjusted, save it as a BIP file for later use. ■ CSMImports a character studio marker file (ASCII format file). Optionally, load a Marker Name file (MNM), a Talent Structure file (FIG), and a Talent Pose file (CAL) before loading a CSM file. Marker files should be loaded with no key reduction and no footstep extraction to enable the calibration controls. Restructure biped to match file (BIP files only) Turn on to change the biped structure to match the structure stored in the BIP file. The file loads with the stored biped structure. This is an Open dialog option. This option is unavailable when you load a BIP file into a clip or onto a biped that is in Edit Clip mode, because all the clips in the motion flow would have to be adapted. NOTE CSM and BVH files always load with the biped structure stored in the file. Set lowest starting foot height to Z=0 (BIP files only) Sets the lowest starting foot height to Z=0. This is an Open dialog option. Default=on. In 3ds Max, the height of a motion clip can be retained. This is important if you want to retain the height of a motion clip for motions adapted to characters of different sizes. If, for example, the character is jumping off a rock, and you want to retain the Z position of the character, you would turn this option off. Leave this option off if Motion Flow motions must be blended that begin and end at different heights, such as three clips that have the character mounting a bicycle, riding the bicycle, and dismounting the bicycle. Turning off this option can, however, cause a jump in the motion during motion flow transitions. Turn this on for smooth transitions in Motion Flow mode. If adaptation takes place, the height is set so that the lowest foot at Biped | 5279 frame 0 starts at the Z=0 height. This lines up clips along the Z-axis and creates smooth transitions. First load raw marker data and turn on Show Markers to help you decide if calibration is necessary. If both scale and position calibration are necessary, calibrate scale first (Talent Figure mode) and then calibrate limb position. 3ds Max adapts biped keys after biped scale is changed in Talent Figure mode. Orient the biped limbs relative to the markers and click Adjust Talent Pose to apply this offset to the entire animation. Save Talent Figure Structure and Talent Pose to a FIG and a CAL file, respectively. Load a FIG and a CAL before loading a marker file that requires the scale and position offsets contained in these files. NOTE Calibration files can be loaded in the Motion Capture Conversion Parameters dialog before filtering marker files. Convert from Buffer Filters the most recently loaded motion-capture data. This data is stored in the motion-capture buffer. Displays the Motion Capture Conversion Parameters dialog. The most recently imported motion-capture file is stored in its raw form in the motion-capture buffer. Convert From Buffer provides a quick way to try new conversion parameters in the Motion Capture Conversion Parameters dialog. Paste from Buffer Pastes a frame of raw motion-capture data to the selected parts of the biped. After importing a motion-capture file, you might discover a subtle movement has been lost in the process of reducing keyframes. Paste From Buffer can add a keyframe from the raw motion-capture data to a selected biped body part to restore this motion. Turn on Auto Key before using Paste From Buffer, or click Set Key after using Paste From Buffer to store the new position in a key. Show Buffer Displays raw motion-capture data as a red stick figure. Use Show Buffer to compare raw and filtered motion-capture data. Ideally, the motion of the biped and the red stick figure are very similar. If this is not the case, alter the filter parameters and import the motion-capture file again, or select a biped object and use Paste From Buffer at selected frames to restore the lost motion. Raw motion-capture data is buffered for the currently loaded or most recently imported motion-capture file, allowing easy comparison of the raw and filtered 5280 | Chapter 15 Character Animation motion data. Show Buffer displays a red stick figure representing the raw buffered data; compare this to the filtered motion of the biped during playback. Show Buffer Trajectory Displays buffered raw motion-capture data as yellow trajectories for the selected biped body parts. Use Show Buffer Trajectory to display a trajectory based on the buffered raw motion-capture data for any biped body part. Use this in combination with Show/Hide Trajectories on the Display rollout to see how closely the raw and filtered data match. This assumes a motion-capture file has been imported. Batch File Conversion Converts one or more CSM or BVH motion-capture files to filtered BIP format. Displays the Motion Capture Batch File Conversion dialog on page 5292. Talent Figure Mode After loading a raw marker file, turn on Talent Figure mode to scale the biped relative to the markers. Calibration for the entire marker file takes place when you exit Talent Figure mode. Keyframe adaptation takes place in order to accommodate the new biped scale; because of this, you should adjust the biped scale before adjusting the biped position relative to the markers. Use Rubber Band mode on the Biped rollout and Non-Uniform Scale to size the biped in Talent Figure mode. Ideally, you will not need to use this feature. When loading a motion-capture file, 3ds Max attempts to extract the appropriate figure scale from the given data. Use Talent Figure mode only if the extracted scale of the biped doesn’t match the scale of the original talent. Even minor differences in scale will alter the motion. NOTE Calibration controls are enabled only when a marker or BVH file is imported in its raw form. Do not use key reduction or extract footsteps when you import a marker file for the first time. Save Talent Figure Structure After changing the biped scale in Talent Figure mode, you can store the changes into a FIG file. Use this file in the Motion Capture Conversion Parameters dialog to adjust marker files created by the same actor. Biped | 5281 Adjust Talent Pose After loading a marker file, use Adjust Talent Pose to correct the biped position relative to the markers. Align the biped limbs to the markers, then click Adjust Talent Pose to compute this offset for all the loaded marker data. NOTE Calibration controls are enabled only when a marker or BVH file is imported in its raw form. Do not use key reduction or extract footsteps when you import a marker file for the first time. Save Talent Pose Adjustment Saves a Talent Pose adjustment as a CAL file. Save a CAL file after adjusting the biped relative to the markers. A CAL file is used for processing marker files that require the same adjustment. A CAL file can be loaded in the Motion Capture Conversion Parameters dialog during marker file importation. Load Marker Name File Loads a Marker Name (MNM) file to map incoming marker names in motion-capture files (BVH or CSM) to the character studio marker naming convention. Displays the Marker Name File dialog. Load a CSM marker file Browses for a marker file for use with a CSM file. Load a BVH marker file Browses for a marker file for use with a BVH file. When a BVH file is loaded, checks for and reports unknown track names, but loads the file anyway. Reports if any required tracks were not in the file and if so aborts the file load Use Uses the marker name file when importing motion capture files If necessary, load a Marker Name File before loading a BVH or CSM file. Edit these ASCII files if the marker files you have use unique names for markers. NOTE For BVH and CSM file specifications, see the BVH.rtf and CSM.rtf documents on the program disc. Show Markers Opens the Marker Display dialog on page 5293, with settings for specifying how markers are displayed. Marker and marker names are displayed around the biped. You can use these to spot and adjust discrepancies; for example, the biped elbow position relative to the elbow marker. For information on how to correct these discrepancies, see Talent Figure mode on page 5281 and Adjust Talent Pose on page 5282. 5282 | Chapter 15 Character Animation Motion Capture Conversion Parameters Dialog Create or select a biped. ➤ ➤ Motion panel ➤ Motion Capture rollout (Load Motion Capture File) ➤ Open a file. ➤ panel ➤ Motion Capture rollout ➤ Capture Conversion Parameters dialog Motion (Convert From Buffer) ➤ Motion Motion-capture and marker data typically have keys at every frame. Filtering motion-capture data reduces keys, making the job of altering or personalizing the motion data much simpler. Other filtering options include footstep extraction, applying the skeletal structure stored in the motion-capture file to the biped, looping the data, importing a portion of the motion-capture file, and selecting tracks to load. Motion-Capture Buffer Any file imported using Load Motion Capture File is stored in its raw (nonfiltered) form in the motion-capture buffer. This buffer is used to try new filtering options with the Convert From Buffer command, and to paste keys from the raw motion-capture data to the biped using Paste From Buffer on the Motion Capture rollout. The Show Buffer command displays a stick figure that represents the buffered data. You can create your own library of imported and optimized motion-capture data by saving .bip files for use with other characters or as part of a longer script in Motion Flow mode. Use a biped that has no mesh attached to it with Physique. You import the data, adjust it to your liking, and save it as a .bip file. You can also run standard .bip files through this filtering process to create loops or to extract footsteps from a freeform animation. NOTE Marker files contain position data. Regular motion-capture files contain joint rotation data. Biped | 5283 biped.ini Parameters The biped.ini text file in the \plugcfg directory has parameters for smoothing the values of motion-capture joint angles for the body's center of mass, the spine, and the head during import. The lines appear as below: MocapHeightSmoothing=0 MocapBodyHorzSmoothing=0 MocapBodyRotSmoothing=0 MocapSpineSmoothing=0 MocapHeadSmoothing=0 Higher values of smoothing will cause the importer to filter and "smooth out" the data using a gaussian filter, taking out spikes and jerks in the motion. These values must be integers, and can range from 0 to any high number, but practical values would probably always be less than 10. For most cases, smoothing is not needed, so the default values are set to zero. Procedures To use Fit To Existing to import a motion-capture file: Use a motion-capture file that contains footsteps and other motion. A handspring motion would be ideal for this example. 1 Select a biped. 2 Click Motion panel ➤ Motion Capture rollout ➤ Capture File). (Load Motion 3 Choose a motion-capture file. The Motion Capture Conversion Parameters dialog displays. 4 Set Footstep Extraction to On, then click OK. The motion-capture file loads. 5 Click Motion Capture rollout ➤ (Show Buffer) to display raw motion-capture data as a red stick figure, then click 5284 | Chapter 15 Character Animation Play. During the “hand spring” period of the playback, the hands on the red stick figure representing the raw motion data touch the ground. The biped, using the filtered data, is positioned higher and cannot reach the ground. Dynamics calculates the biped higher than the raw motion data because the footsteps before and after the handspring are so far apart in time. Creating a freeform period in Track View — Dope Sheet and reloading the same file using the Fit To Existing option will match the biped's position to the motion-capture position during the handspring. 6 In Track View, find the Footsteps track for the biped. 7 Right-click the footsteps area of the Track View Edit window, then select Edit Free Form (No Physics) in the Footstep Mode dialog. 8 Click the “handspring” area between the footsteps. It turns to a solid yellow. Motion-capture data will replace the keys in this freeform period. 9 Reload the same motion-capture file using the Fit To Existing option on the Motion Capture Conversion Parameters dialog. The freeform area created in Track View is replaced with motion-capture data. The biped closely matches the red stick figure during the handspring part of the playback. Biped | 5285 Interface Motion Capture File Displays the file to be imported. Footstep Extraction Motion capture data can be applied to the biped in one of three ways: ■ None: FreeformNo footsteps are extracted. For swimming or flying motion data, footstep extraction is not necessary. For a traditional approach to character keyframing, use this option to keyframe the biped without footsteps or Biped Dynamics; this is essentially a freeform animation. 5286 | Chapter 15 Character Animation ■ OnExtracts footsteps. Direction and style of the motion-capture data are easily edited. Allows changes to the toe structure of the biped after import; footsteps will readjust the character’s motion to maintain correct foot-toe-ground contact at all times, a common problem associated with motion-capture import. Inappropriate “sliding feet” in the motion data are corrected. ■ Fit to ExistingFits to existing footsteps. Use with motion data that has both footstep motion and flying, swimming, falling, or tumbling motions. First load the motion data using Perform Footstep Extraction. Create a freeform period for the flying, swimming, or falling portion of the data in Track View, and then reload the same motion capture file using the Fit to Existing option. The freeform area is loaded with data from the motion capture file without the influence of biped dynamics. Conversion Chooses the type of key processing. ■ Use Key ReductionReduces keys for simpler key editing. ■ No Key ReductionDoes not reduce keys. Use this on files that are already key reduced or if you want to work with all the data in a raw motion-capture file. NOTE Marker files imported for the first time should be loaded with no key reduction or footstep extraction to enable the calibration controls on the Motion Capture rollout. ■ Load Buffer OnlyDoes not apply the data to the biped, but loads the data to the motion-capture buffer only. Use this either to compare your edited version with the original or to paste postures from the motion-capture buffer to the biped in the scene. TIP To compare the filtered data with raw motion-capture data, use Show Buffer on the Motion Capture rollout on page 5273 rather than turning off key reduction. Up Vector Sets the vertical axis used in the motion-capture data. Scale Factor Multiplies the stored talent size by this value and size the biped accordingly. Biped | 5287 Footstep Extraction group Options here are active when Footstep Extraction is on. Extraction Tolerance Sets the sensitivity of footstep extraction. character studio determines if the footstep is there by checking that the foot does not move beyond the distance determined by the Extraction Tolerance value. Smaller numbers are more sensitive and extract more footsteps. The value is a percentage of foot length. The default value is 0.15. Increase this value to 0.2 or 0.25 if too many footsteps are generated. Sliding Distance Creates a sliding footstep on page 5271 when positional tolerance is reached. This value is a percentage of foot length. By default, the foot must slide its own distance (100), before a sliding footstep is created. Use this with motion-capture files that contain sliding feet. A sliding footstep can be created manually by setting IK Blend ➤ 0 for a biped foot at a "touch" state key (biped foot first touches a footstep). NOTE Sliding footsteps display as a footstep with a line through the center. Sliding Angle Creates a sliding footstep on page 5271 when rotational tolerance is reached. This value is in degrees; the default is set high (360 degrees). The foot must make a complete turn before a sliding footstep is created. Use this with motion-capture files that contain feet that pivot, as in a dance motion. NOTE Sliding footsteps display as a footstep with a line through the center. Only Extract Footsteps Within Tolerance Turns on Z -axis Tolerance. These controls filter out footsteps that do not fall within a given range of the ground plane. Use this when filtering motions, such as hopping or pitching a baseball, in which a foot might come off the ground and remain stationary, but its position is not intended as a footstep. ■ ToleranceValue is a percentage of leg length. ■ From Z LevelSet a Z value (ground). Flatten Footsteps to Z=0 Moves extracted footsteps to Z=0. Use this to flatten out minor differences in the height of the extracted footsteps. 5288 | Chapter 15 Character Animation Load Frames group Start Start importing at this frame. Default is frame 0, the first frame. End Stop importing at this frame. Default is the last frame of the clip. Loop Loop the data by the value set here. This is relative. Succeeding loops start where the previous loop left off. The clips are not blended and may require editing unless the original clip was designed to loop. Use this for clips designed to loop. NOTE This often works best if Footstep Extraction is tuned off. Key Reduction Settings group Key reduction keeps the original motion intact and intelligently filters out more than 80 percent of the keys in the motion-capture file, making the process of altering the biped animation much simpler. Use the Tolerance and Minimum Key Spacing settings to fine-tune key reduction for a specific track (body part). Specify whether or not to filter a track in the Filter column. These settings are available only if Conversion is set to Use Key Reduction. Biped | 5289 Tolerance Sets the maximum angular or positional deviation for a track. Values are in units of translation for position tracks, and in degrees for rotation tracks. Minimum Key Spacing Sets the minimum number of frames between keys. Tolerance is computed first, then Minimum Key Spacing computes further key reduction. A Minimum Key Spacing value of 10 for the head track ensures that no two keys are closer than 10 frames for this track. Filter Turn off to prevent filtering of the motion capture data into a track. When this is off, there is no key reduction for the track. Set All Forces all tracks to the values set in these fields. 5290 | Chapter 15 Character Animation Higher values here can determine how much key reduction is possible while preserving the original motion. Limb Orientation group The biped elbow and knee hinge joints are perpendicular to the triangles formed by the shoulder-elbow-wrist and hip-knee-ankle respectively. Resolve errors in the motion-capture data that break this rule by using either the angle or point method. Angle Moves the knee or elbow position to create the biped joint key. Point Rotates the shoulder-elbow-wrist or hip-knee-ankle to create the biped joint key. Auto Auto reads exact hand and foot positions from the motion-capture data; character studio then places the knees and elbows in a natural position. For marker files involving running and walking, this option can clean up the data nearly instantly, regardless of how many markers were used and where they were placed. Talent Definition group Loads a Figure Structure File (.fig) and a Pose Adjustment file (.cal) prior to importing a marker file. Typically you correct a marker file by importing it and adjusting the biped scale and limb positions relative to the markers, then saving a .fig and a .cal file using Save Talent Figure Stucture and Save Talent Pose Adjustment on the Motion Capture rollout. These files can then be loaded in the Talent Definition area when importing marker files created by the same actor in a motion capture session. Figure Structure Loads a .fig file. Biped | 5291 Pose Adjustment Loads a .cal file. Browse Browses for a .fig or .cal file. Use Use either or both the .fig and .cal files to adjust marker files during a marker file import procedure. Load Parameters Loads a motion capture parameter file (.moc). Save Parameters Saves a motion capture parameter file (.moc). Motion Capture Batch File Conversion Dialog Create or select a biped. ➤ ➤ dialog Motion panel ➤ Motion Capture rollout (Batch File Conversion) ➤ Motion Capture Batch File Conversion Converts one or more CSM or BVH motion-capture files to filtered BIP format. Interface Source File Selection Opens a dialog where you can specify motion-capture files to convert. Use Shift+click to select all files between two that you click. Use Ctrl+click to add individual files to the selection. Destination Directory Specifies the directory in which to store the filtered files. 5292 | Chapter 15 Character Animation Specify Conversion Parameters ... Lets you choose how to specify conversion parameters: ■ Specify Conversion Parameters OnceImported files use a single set of conversion parameters. ■ Specify Parameters For Each FileYou specify conversion parameters for each file. Marker Display Dialog Create or select a biped. ➤ ➤ Motion panel ➤ Motion Capture rollout (Show Markers) The Marker Display dialog lets you specify how markers from .csm files are displayed in the viewports. For further information on markers and .csm files, see Character Studio Marker Files on page 9116. Biped | 5293 Interface Show Recognized Markers When on, displays the markers that character studio recognizes. ■ On Selected ObjectsDisplays the markers on selected objects only. ■ On All ObjectsDisplays the markers on all objects. Show Prop Markers Enables the display of markers on prop bones on page 5272. Show Unrecognized Markers Displays the markers that character studio does not recognize. Physique Use the Physique modifier to attach a skin to a skeleton structure such as a biped. The skin is a 3ds Max object: it can be any deformable, vertex-based object such as a mesh, a patch, or a shape. When you animate the skeleton with skin attached, Physique deforms the skin to match the skeleton's movement. 5294 | Chapter 15 Character Animation Animating the underlying skeleton enables you to animate a single contiguous model of a character that bends, creases, and bulges about an arbitrary number of joints within the attached skeleton. With Physique, you can define how the skin behaves when it deforms. For example: ■ You can make portions of the skin solid, excluding them from Physique's deformation, though solid portions still move along with the root node Physique | 5295 of the skeleton they are attached to. These solid portions are said to be root vertices. ■ You can make portions of the skin deformable. They move with the deformation spline, the smooth curve running through the links of the skeleton they are attached to. ■ You can make portions of the skin rigid, directly moving along with the skeleton they're attached to. ■ You can add bulges to simulate bulging muscles. Bulges are controlled by editable cross sections of the skin, and by bulge angles that you set. ■ You can add tendons to distribute the effect of one bone's motion to areas of the skin other than those around the bone itself. ■ You can save Physique data to a Physique (.phy) file, preserving data common to all objects sharing a given Physique modifier. Later, you can reload the data file, either to restore the data that belongs to a particular skin or portion of skin. Physique works with bipeds created and animated using the Biped plug-in, and with 3ds Max hierarchies, including the Bones systems. Physique also works with bones that are not in a hierarchy and splines. See also: ■ Posing the Biped on page 4830 Using Physique Topics in this section provide an overall introduction to using Physique. Creating a Skin A mesh deformed by a skeletal structure is called a skin. In character studio, Physique is a modifier you apply to a skin to make it deformable by the biped, or by another skeletal structure. The images below show meshes for different skeletons. 5296 | Chapter 15 Character Animation Physique | 5297 Meshes for Physique A skin used with Physique can be any 3ds Max object that has vertices or control points. Specifically, a skin can be: ■ An editable mesh or editable poly object. This is the most commonly used type of object for Physique. Often, it has been collapsed from an object with modifiers, or a compound object. ■ An uncollapsed object with modifiers or a compound object. ■ A parametric geometry primitive such as a cylinder. Geometric primitives are useful mainly for simple applications of Physique; for example, a cylinder with two bone links to depict an arm. ■ A patch object. ■ A spline or text shape. ■ A NURBS object. ■ A Free-Form Deformation (FFD) modifier. 5298 | Chapter 15 Character Animation ■ A mesh object you import from another application such as AutoCAD®. TIP Although you can apply Physique to a compound object or an object with modifiers, you should collapse the stack before applying Physique, if possible. This will maximize performance and reduce the amount of work you'll need to do to get Physique working properly. An exception is the Optimize modifier, which can be useful for improving performance when applied below Physique on the stack. WARNING After you collapse a compound or modified object, you can no longer edit it parametrically. If you work extensively with complex meshes of this sort, you can save two .max files: one to contain the original, editable objects and modifiers, and the other to contain only the collapsed mesh. You can create a figure’s skin out of several objects. For example, you could have separate objects for the torso, legs and arms. In this case, select all the objects and apply Physique to all of them at once. Posing the Skin When you create a skin to use with a biped figure, you should pose the arms and legs of the skin in a standard reference pose. Physique | 5299 Mesh in reference pose for use with bipeds Use the following positions when you create the reference pose: ■ Spread the legs somewhat apart, at a parade rest position. ■ Spread the arms wide, level with shoulder height. The hands should be level with the arms, not dangling: palms facing down, fingers straight and slightly spread apart. ■ Position the head so it will face in the correct direction when you load the biped's at-rest standing pose. If the skin and biped are for a figure that stands erect, position the head normally. If the character stoops forward, for example, a chimpanzee, make the head face upward so that it will face forward after the spine is bent. 5300 | Chapter 15 Character Animation As a general rule, create a reference pose that has the limbs outstretched, but otherwise represents the character's natural at-rest posture. Skin Simplicity The degree of detail on the model makes a difference in how well it works for skinning. On one hand, your skin must have a sufficient number of vertices so Physique can deform it smoothly. On the other hand, the fewer vertices the mesh has, the easier it will be for you to adjust Physique for the mesh. In addition, a highly complex mesh can slow your system's performance when working with Physique. If you plan to use an Editable Poly mesh, create the mesh with evenly-sized, rectangular polygons. Avoid using long, triangular polygons, as these do not deform smoothly with Physique. These attributes are particularly important around the hip and shoulder areas. Models with evenly-sized rectangular polygons A common workflow is to create the simplest possible version of the mesh, apply Physique to it, and apply the MeshSmooth modifier above Physique on the stack. This makes Physique as easy as possible to work with, but retains mesh smoothness for rendering. Physique | 5301 Same models rendered with MeshSmooth applied If you want to use a particular mesh but its polygons violate these guidelines, use 3ds Max to add or delete edges and polygons as needed before applying Physique to the mesh. Usually, these rules are not so important for the facial area of the model, where little deformation will take place with Physique. For example, the character shown below was originally modeled as designed, but with no regard for the best polygon distribution for Physique. The numerous odd-shaped polygons (especially around the hips), and the pose with the legs too close together, would have made this model difficult to work with after Physique was applied. 5302 | Chapter 15 Character Animation The model was altered to work better with Physique by deleting edges and vertices, and reshaping many of the polygons in the hip area. The model was also altered to make the character assume the reference pose. Physique | 5303 After MeshSmooth is applied to the simplified mesh, renderings of the two models look identical. However, the second model works much better with Physique. 5304 | Chapter 15 Character Animation Using Physique with a Biped The skeleton to which you attach a skin using Physique can be a 3ds Max hierarchy, bones in a hierarchy, bones not in a hierarchy, and splines. Physique deforms the skin based on the relative position of the bone or links in the hierarchy. Specifically, it uses the length of each link and the angle between two connected links; it can also use the scale of a link. The skeleton hierarchy can also be a 3ds Max system object that defines a behavior as well as a hierarchy. Three kinds of objects that are especially useful with Physique: ■ Bipeds are provided by character studio. ■ Bones are a standard Systems object provided with 3ds Max. ■ Splines can be used rather than a “bones” hierarchy. You create both bones and bipeds using the Systems object category on the Create panel. Bones are useful for facial animation, a face with moving lips for example, or for non-bipedal characters. Bipeds are the system of choice for humanoid and other bipedal characters. Usually you create the Physique skin before you create the skeleton, because you must adapt the skeleton's dimensions to the dimensions of the skin, in order to optimize vertex assignment to the links in the hierarchy. Physique | 5305 This Physique hierarchy is created with dummy objects linked to each other. Physique mesh with a biped skeleton. 5306 | Chapter 15 Character Animation Physique can use a spline to defrom the mesh. Using Physique with 3ds Max Bones 3ds Max bones with or without the IK Controller can be used with the biped for various effects. They can be used with Physique to add extra links and envelopes for any character, or to animate assemblies on a robot or mechanical character. Bones can also be added to animate extra appendages, a hat, a jaw and so on. NOTE If 3ds Max bones using the IK Controller are linked to the biped, the Auto Key button must be left on while the biped is positioned. Physique | 5307 Two examples of compressible bones. In the top image, 3ds Max bones are used to animate the linked piston assemblies. The bottom image shows 3ds Max bones used for added control when Physique is applied. In both cases the bones compress automatically as the biped is positioned. 5308 | Chapter 15 Character Animation Bones That Compress One way to use bones with the biped is to use the Select And Link tool on the 3ds Max toolbar to link the root of the bone to one part of the biped and have the bone End Effector follow another part of the biped. As the biped moves these bones compress and expand. In the image of the mechanical leg, piston objects are linked to the bones. As the bones compress and expand, they also animate the linked piston assembly. As the bones compress and expand in the abdominal area in the bottom image, the envelopes created by Physique for the bones compress and expand to animate this area on the mesh. IK Solution In the IK Controller Parameters rollout, you specify the accuracy of the IK solution and the frame duration of the solution. For bones that compress, you generally want an accurate solution to ensure that the bone follows the end effector perfectly, without any drift. In the image of the rollout Position has a value of 0, the least amount of allowable distance (Rotation is at its default value of 1, the Rotation End Effector is not used in this example). Iterations is set high, ensuring that that the solution is accurate, even if the character is scaled down a great deal. Start and End Time should span the animation. There are many ways to use bones with the biped. You could automatically animate the bending of a hose that is attached to a character’s shoulder and mouth when the biped head rotates, for example. Bones attached to the biped Physique | 5309 create links and envelopes when Physique is applied; these extra Physique links offer localized skin control if necessary. Procedures To make compressible bones (bones with end effectors): 1 Create a bones system with end effectors. 2 3 On the 4 5 On the Link the root of the bone to the appropriate biped object. Motion Panel, specify an End Effector Parent. Select another part of the bones system. Motion Panel, set the Position Threshold to 0. 6 On the Hierarchy panel ➤ IK ➤ Sliding Joints rollout, turn on all the sliding parameters. 5310 | Chapter 15 Character Animation 7 Animate the bones system. The bones expand and compress with the motion of the character. To add a bone after Physique is applied using Reinitialize: 1 Turn on (Figure Mode). 2 Add a bone where it is needed. 3 Link the root node of the bone to the biped. 4 On the Physique rollout, click (Reinitialize). 5 On the Physique Initialization dialog, click Initial Skeleton Pose and then click Include New Bones. Vertex Link Assignment turns on also. 6 Click Initialize. 7 Adjust envelopes in Sub-Object Envelope. 8 Turn off (Figure Mode). If you want the end of the bone to follow the biped, select the bone and delete the bone end effector in the Motion Panel Physique | 5311 This bone is used to animate the character's nose. To add a bone after Physique is applied using Add (Add Bone): 1 Turn on (Figure Mode). 2 Add a bone where it is needed. 3 Link the root node of the bone to the biped. 4 On the Physique ➤ Floating Bones rollout, click Add. 5 In the viewports, click a bone. Repeat until all bones are added. 6 Adjust envelopes. 7 Turn off (Figure Mode). 5312 | Chapter 15 Character Animation Using Physique with 3ds Max Objects The skeleton to which you attach a skin using Physique can be a 3ds Max hierarchy, bones in a hierarchy, bones not in a hierarchy, and splines. Physique deforms the skin based on the relative position of the bone or links in the hierarchy. Specifically, it uses the length of each link and the angle between two connected links; it can also use the scale of a link. The skeleton hierarchy can also be a 3ds Max system object that defines a behavior as well as a hierarchy. There are two kinds of objects that are especially useful with Physique: ■ Bones are a standard Systems object provided with 3ds Max. Bones can either be hierarchically linked or floating. ■ Splines can be used rather than a “bones” hierarchy. You create bones using the Systems object category on the Create panel. Bones are useful for facial animation, a face with moving lips for example, or for non-bipedal characters. Usually you create the Physique skin before you create the skeleton, because you must adapt the skeleton's dimensions to the dimensions of the skin, in order to optimize vertex assignment to the links in the hierarchy. This Physique hierarchy is created with dummy objects linked to each other. Physique | 5313 Floating Bones Floating bones are bones that are not linked together and know nothing about each other. By adding floating bones to Physique, you can deform the mesh by animating the bones. This is in contrast to using Attach To Node and clicking the root of a hierarchy, like the biped pelvis. For Attach To Node to work all the bones should be linked together. Spline-Based Physique Deformation In addition to the biped and 3ds Max bones, Physique supports spline and NURBS curves for mesh deformation. By animating vertices on a spline, you can animate the mesh. You can use this technique for facial animation or to deform any mesh. To control a mesh with a spline: 1 Place a spline inside a mesh. 2 Select the mesh and apply the Physique modifier. 5314 | Chapter 15 Character Animation 3 In the Physique ➤ Floating Bones rollout, click Add and in a viewport, pick the spline. 4 Select the spline, go to the Vertex sub-object level, and move the spline vertices to animate the mesh. See also: ■ Using Physique with a Biped on page 5305 Physique | 5315 Applying and Initializing Physique After you have created a skin and a skeleton, and fitted the skeleton to the skin, you apply the Physique modifier to the skin. The process entails these steps: ■ Selecting the mesh ■ Turning on Figure mode (if a biped is used) ■ Adding the Physique modifier to the stack ■ Attaching the Physique skin to the skeleton ■ Initializing Physique See also: Physique Rollout on page 5363 ■ Procedures To attach a mesh to a bones hierarchy using Physique: 1 Select or create a bones hierarchy. 2 Position the bones hierarchy inside the mesh. TIP When you use a bones hierarchy with Physique, use frame 0 as your "figure mode." Don't include frame 0 in your animation. Use it as the place where you position the bones and fit them to the mesh. 3 Select the mesh. 4 Go to the to the mesh. Modify panel. Use the Modifier List to apply Physique 5316 | Chapter 15 Character Animation 5 Click to turn on (Attach To Node). In a viewport, pick the root bone of the bones hierarchy. The Physique Initialization dialog on page 5374 is displayed. 6 Click Initialize, accepting the default settings. When you use (Attach To Node) to attach a Physique skin to a hierarchy, the Physique Initialization dialog appears. NOTE This dialog also appears when you want to reset Physique settings by clicking Reinitialize in the Physique rollout. Physique initialization settings affect how envelopes are created and blending is handled. The Link Settings, Joint Intersections, and Cross Sections rollouts are used later to change default settings globally. For this reason, the Vertex-Link rollout is open when the dialog appears. This is where you determine the following default settings: ■ Whether envelopes should be used to manage the vertex-to-link assignments ■ Whether Physique uses deformable or rigid envelopes to manage the vertex-to-link assignments ■ Number of links considered for blending Previewing Motion After you have attached the skin to the skeleton, Physique deforms the skin when the skeleton is animated. From this point on, you can preview animation to see how the Physique skin deforms and whether you can use it in a finished animation or need to correct and refine it further. Very likely, you'll need to adjust some of the default envelope settings to ensure all vertices are being properly handled. It's by moving the skinned character in the viewports that you'll see vertex assignment problems. Physique | 5317 A stray vertex on the right elbow not encompassed by an envelope. See the Envelope Sub-Object on page 5411 topic for procedures and interface. TIP Physique skins are usually too large for 3ds Max to play them back in real time at 30 frames per second. However, speed improvements in character studio will allow fluid motions of many skinned meshes. When you attempt to play back at 30 fps, 3ds Max may drop frames during playback, which makes it hard to see how Physique has animated the skin. Use the Time Configuration dialog to turn off real time playback. The animation plays back more slowly than usual, but it plays every frame. TIP You can also specify which elements of the characters not to display in the viewports, and thereby speed up redraw. See Physique Level of Detail Rollout on page 5368. For a skin attached to a complicated skeleton such as a biped, you will almost always need to correct some vertex assignments before the skin animates correctly. Most often, you'll do so simply by adjusting the envelope's shape. See . 5318 | Chapter 15 Character Animation Envelopes Envelopes are Physique's primary tool to control skin deformation. Envelopes define an area of influence about a single link in the hierarchy and can be set to overlap adjacent links. Vertices that fall in the overlap area of the envelopes are weighted to produce smooth blending at joint intersections. Each envelope comprises a pair of inner and outer bounds, each with four cross sections. Envelopes Deformable and Rigid Envelopes There are two envelope types: deformable and rigid. ■ Deformable envelopes influence vertices they encompass to follow the deformation spline created through the hierarchy. Only the vertices encompassed by deformable envelopes can be affected by bulge angles or tendons. ■ Vertices in a rigid envelope are linked to the node (the bone) and move in an immobile relationship to the link. Vertices in a rigid envelope, however, are deformed (blended) in the overlap area of other envelopes. There is a twist parameter in Link Sub-Object that can be enabled in a rigid Physique | 5319 envelope. This allows the rigid envelope to twist along the length of the link. 5320 | Chapter 15 Character Animation Deformable envelopes (above); Rigid envelopes (below) Typically, you use deformable envelopes when you attach a mesh to the biped pelvis to produce a soft, flexible skin. Later you reassign certain links, such as the character's head, to the rigid envelope to minimize the deformation. For special cases, you can turn on both deformable and rigid envelopes for the same link. This advanced feature allows you to average the effect of the two types of skin deformation for additional firmness in the skin. The forearms and legs are sometimes good candidates for this. Physique | 5321 Blending Between Links Blending between envelopes controls deformation. Blending controls specify the influence of overlapping envelopes on vertices contained within the overlap area. By the actual shape of adjacent envelopes, you can control the degree of influence each has on blending at the overlap area. You can further control the number of envelopes that participate in the blending effect, or whether no blending takes place at all. Where you specify no blending, a vertex in an overlap area is influenced by a single link only. 5322 | Chapter 15 Character Animation Inner and Outer Bounds Inner and outer bounds Where a vertex falls within the inner and outer bounds determines the percent of influence of the attached link(s). Vertices that fall within the inner bound have a weight of 1. Vertices that fall between the inner and outer bound have a weighted value that falls off to 0 at the outer bound. Vertices are color-coded in the viewports according to their weight; the color is based on parameters you specify in the Blending Envelope Display Options Dialog on page 5400. See also: ■ Envelope Sub-Object on page 5411 Adjusting Default Envelope Shape When you want to address vertex-linking anomalies, the first step is to resize or reposition the envelope about the problem link. Most often, the problem Physique | 5323 is an envelope that is too small to surround, and thereby influence, certain vertices. This can happen because your biped character misaligns slightly with the mesh, or the link lengths used to create envelopes with unbounded bones systems links were insufficient to surround all vertices attached to the link. Another potential source of problems is overlapping inner bounds. This can sometimes create too strong a deformation at the joint. You'll note problems with vertices as you preview motion. It sometimes looks like vertices got left behind when the link they were supposed to be attached to moves in 3D space. In fact, that's just what is happening: they weren't assigned to any link at all, and remain where they were at the initial skeletal pose: the pose of the mesh and its skeleton at the time Physique was applied and initialized. The other case would be vertices being moved too much, resulting in a dent in the mesh. You'd fix this by decreasing the overlap of the envelopes affecting a joint. 5324 | Chapter 15 Character Animation Stray vertices (above) reassigned to correct link(s) by modifying envelope shape (below). See also: ■ Envelope Sub-Object on page 5411 ■ Fine-Tuning Envelopes on page 5328 Procedures To adjust the default envelope shape: 1 In the Blending Envelopes rollout ➤ Selection Level group, activate (Link). In a viewport, pick any link. 2 In the Parameters group, turn on the Inner, Outer or Both option and then increase the value of Radial Scale until the outer envelope just surrounds the character mesh. NOTE With Both turned on, both the inner and outer bounds scale together. Physique | 5325 3 Increase the Parent Overlap value until the inner (red) envelope appears through the mesh. 4 If necessary, decrease the Falloff value to strengthen this envelope. To adjust envelopes around the biped’s pelvis: The Biped Triangle Pelvis option was used in this model. Triangle Pelvis creates additional links from the legs to the lower spine. Top: The default envelope from the pelvis to the lower spine object is too small. Middle: Mesh appears “scrambled” because the pelvis doesn't control all the vertices that surround it. 5326 | Chapter 15 Character Animation Bottom: Increasing the envelope size corrects the mesh problem in the pelvis area. 1 In the Selection Level group, activate middle link. (Link). In a viewport, pick the 2 In the Parameters group, turn on Both, and then increase the value of Radial Scale until the outer envelope just surrounds the mesh in pelvis area. NOTE With Both turned on, both the inner and outer bounds scale together. 3 Increase the Parent Overlap value until the inner (red) envelope appears through the mesh. 4 If necessary, decrease the Falloff value to strengthen this envelope. 5 To finish correcting the pelvis area, adjust the Overlap of the thigh and buttock envelopes. To select and edit cross sections: 1 In the Selection Level group, activate (Cross Section). 2 In the Envelope Parameters group, turn on Inner or Outer if you want to work with cross sections solely in that part of the envelope. Turn on Both to be able to work on both Inner and Outer cross sections at the same time. 3 On the main toolbar, click the cross section you want. (Select Object), and in a viewport, click As you move the cursor over a selectable cross section, it changes to a plus shape, letting you know the object at that location is selectable. By default, selected cross sections are yellow. (You can customize this color with the Blending Envelope Display Options dialog on page 5400.) You can use Ctrl+click to add other cross sections to the selection set. 4 Use Radial Scale to resize the selected cross section, and the transform tools to move, rotate, and scale it. Physique | 5327 5 To move to the adjacent cross section within the current bound, click (Next) or (Previous). TIP You can also use the cross section control points. (Control Point) level to individually transform To copy an envelope and its settings to a mirrored link (for example, from one thigh to the other): 1 Select the source link. 2 In the Edit Commands group, click Copy. The envelope settings are saved in a buffer. 3 Select the mirror link, and then in the Edit Commands group, click Paste. The envelope is applied to the opposite link, but without mirroring. It is now the currently selected envelope. 4 In the Edit Commands group, click Mirror. The selection flips about the mirror axis. 5 Use the orientation. Rotate transform to rotate the selection to its final Fine-Tuning Envelopes Once you have adjusted inner and outer bounds of envelopes at the Envelope Sub-Object level, you may find you need still finer control: 5328 | Chapter 15 Character Animation choose either the Cross Section or Control Point selection level in the Blending Envelopes rollout. Using Cross Sections Both inner and outer envelope bounds are like hulls about ribs, the cross sections. For each envelope, there are by default four cross sections you can use to alter the envelope's shape. Physique | 5329 Envelope cross sections can be scaled and moved. Using Control Points By default, each cross section consists of four control points. You can use these control points to alter the shape of a single cross section. The control points define the shape (perimeter) of the section. Moving one point affects the shape between itself and its neighbors on each side. Rotating and Scaling Control points are internally positioned using cylindrical coordinates, that is a distance from the link at some angle around the link. To move a control point, you must scale it to the correct distance from the link and then rotate it into the orientation you desire. The move tool actually serves the dual function of rotating and scaling at the same time. 5330 | Chapter 15 Character Animation By moving a control point the envelope is also scaled. Physique | 5331 See also: ■ Envelope Sub-Object on page 5411 Customizing Vertex Assignments Use Vertex sub-object controls to customize vertex assignments. There are a few different reasons you might want to customize vertex assignments: ■ Override vertex-link assignments currently in effect. ■ Change the blending type and weight. ■ Assign vertices to their links yourself, bypassing Physique's envelope method for vertex-link assignment. You might want to reassign link assignments in effect about adjacent fingers, for example, even after working to reshape envelope size and position. You may find that you need greater control in areas where adjacent envelopes overlap: perhaps movement in the ring finger is causing unwanted movement in some vertices for the middle finger. You'd use Vertex sub-object controls to remove ring-finger vertices from the middle finger links, in effect reassigning them solely to the ring-finger links. When you choose Vertex as the sub-object to edit in the Physique modifier, the Physique Selection Status and Vertex-Link Assignment on page 5447 rollouts appear. Envelope Display Options This topic describes some options for controlling how envelopes display in the viewports. Interactive Redraw By default, Interactive Redraw, an option in the Envelope and Bulge sub-object levels, is turned off. After you change an envelope, the mesh is refreshed when you release the mouse button. Turn this option on for interactive viewing of how envelopes and bulges are affecting vertices. As you adjust the envelopes, the vertices move to show the effects of the resized envelopes 5332 | Chapter 15 Character Animation Changing Display Options You can change the display settings for envelopes and their component parts. Click the associated color sample to open the Color Selector and change color setting for: ■ Inner and outer bounds on both deformable and rigid envelope types. ■ Differently weighted vertices, as they fall within the inner bound, or between it and the outer bound. ■ Selected cross sections and control points. ■ Turn on or off the associated check box to determine whether any of the above envelope components are displayed. ■ Number of sides for inner and outer bounds. The default is 4. Choose Initial Skeletal Pose on page 5349 if you want to work in the position of the mesh and its skeleton at the time Physique was applied. Returning to this pose can be useful if the display becomes confused with the effects of unassigned vertices when the character moves through an animation. See also: ■ Fine-Tuning Envelopes on page 5328 Working with Deformable Envelopes Once you've got the deformable envelopes working the way you want to control overall skin deformation, you might want to adjust the finer aspects of skin control. Several different sub-object levels can help you fine-tune skin behavior: ■ Skin bending, twisting, sliding, and scaling about single links are controlled at the Link sub-object level. See Adjusting Link Parameters on page 5335. ■ Link sub-object primarily controls the deformation spline on page 9132. You use Link sub-object options to affect the shape of the spline and the smoothness of the skin. See Adjusting Link Parameters on page 5335. ■ Crease behavior where links meet and bend is controlled at the Link sub-object level with Joint Intersection on page 5428 parameters. Physique | 5333 ■ Muscle bulges as your character's limbs move through a range of motion are controlled at the Bulge sub-object level. See Creating Bulges on page 5340. ■ Skin stretching, generally between non-contiguous links, is controlled at the Tendon sub-object level. Tendons provide a secondary movement (a pulling or stretching) based on links farther up or down the skeleton. See Creating Tendons on page 5344. See also: ■ Link Sub-Object on page 5419 ■ Bulge Sub-Object on page 5431 ■ Tendons Sub-Object on page 5441 Working with Rigid Envelopes Vertices influenced by a rigid envelope follow the link itself rather than the deformation spline, as deformable vertices do. Low vertex-count models used for games are typically connected to the skeletons with rigid envelopes to simplify export to game engines. In such a case, each vertex can be simply described as assigned to a specific link. It can be located by giving a length along the link, a distance from the center of the link, and an angle around the link. As the link is transformed, all the vertices assigned to the vertex are uniformly transformed. This makes it simple for game engines to move the character's skin. The vertices move equally with the controlling link, so the skin appears rigid. For instance, in the case of a flexing arm, the skin between the wrist and elbow tightly follows the movement of the forearm, with no change in the spacing between vertices. The skin between the elbow and shoulder tightly follows the upper arm. Vertices around the elbow influenced by both links, smoothly blend to an average position between the two changed links. Rigid and deformable envelopes can be mixed on a given character. You might, for instance, use deformable envelopes for most of the character, but choose rigid for the head and for a suit of armor around the torso. NOTE In Link sub-object, you can turn on twisting for rigid envelopes. As the wrist twists the vertices on the forearm will twist also. 5334 | Chapter 15 Character Animation See also: ■ Envelope Sub-Object on page 5411 Working with Both Deformable and Rigid Envelopes You can assign both Deformable and Rigid to a given link. For example, you might assign both to the shins, and size the envelopes differently to gain the benefits of both. First, size the deformable envelope to affect the whole lower leg area and smoothly transition into the thigh and ankle areas. Next, you define a smaller rigid envelope to encompass the stiff unbendable section of the shin. Increase the weight of the rigid envelope to balance its effect against that of the deformable envelope. Some users might use both envelopes as a way to have a bone affect two completely separate regions of a mesh. The envelopes are scaled so that the deformable envelope influences certain vertices on one side of the link and the rigid envelope affects the other side. See also: ■ Envelope Sub-Object on page 5411 Adjusting Link Parameters Physique creates a continuous spline through each of the joints in the hierarchy. The spline is represented by an orange line within the object. It maintains continuity through each joint: as a joint angle changes, the spline passing through the joint remains a smooth curve. Physique relies on the deformation spline to obtain smooth bends of the skin object. Physique offers bias and tension controls to adjust the shape of the deformation spline. Physique | 5335 Links depicted by deformable spline. You can use controls at the Link sub-object level on page 5419 to adjust the skin behavior about a given link. These link parameters define how the skin deformation behaves, relative to the motion of the underlying skeleton. There are four kinds of link parameters on page 5421: ■ Bend parameters affect the curvature of the deformation spline through the joint at a given link. As a result the skin deformation can range from more angular at the joint to more like a stiff rubber tube. 5336 | Chapter 15 Character Animation ■ Twist parameters control how the skin deforms when a joint rotates along its length, as in turning a doorknob. Consider, for example, winding up the rubber band on a toy airplane propeller; Twist parameters determine how the twist is distributed along the link and across the joint. Twist parameters apply to link rotation whose axis is the same as the axis along the length of the link. ■ Sliding parameters control how the skin moves along the length of a link as a joint rotates. On the outside, the side where the angle is greater than 180 degrees, the skin moves toward the joint. On the inside, the side where the joint angle is less than 180 degrees, the skin moves away from the joint. The sliding effect tightens the outside to keep detail at the joint and prevent the facets of the mesh from moving apart. It relaxes the inside to prevent the mesh from bunching up at the joint. ■ Radial Scale parameters affect the influence on the skin caused by scaling links of the skeleton. Certain settings, such as Breathe and Stretch, react to scaling of the skeleton, but only with standard 3ds Max bones or a 3ds Max hierarchy. NOTE Bipeds and 3ds Max IK controllers don't support scaling. Link Scale provides a way to globally scale all the vertices influenced by the link. CS Amplitude scales the effect of bulge cross sections across the entire link. It can be used for animated scaling of the bones or for general mesh adjustments. The intent is not to edit the character itself, but rather the effect the bones have on it. You set Link parameters at the sub-object level, in the Physique Link Settings rollout on page 5421. Partial Blending and Weight Assignments Most often, you will want to use envelopes to correct the way skin behaves as the biped moves. However, you can override envelopes by manually assigning vertex properties. For example, you can remove the influence of inappropriate links from selected vertices. You can also change the weight distribution between links for a single vertex by using type-in weights. Physique | 5337 In Cases where No Envelopes Use Partial Blending (the Default) Vertex v is assigned to links l1, l2, and l3, and the weights for these links are: w1 = 0.2, w2 = 0.3, and w3 = 0.4. In a non-partial blended case, the sum of these vertex weights is w1 + w2 + w3 = 0.9 (less than 1.0). With partial blending off, Physique will normalize the weights so they sum to 1.0. For example: w1' = w1 / w1+w2+w3 = 0.2/0.9 = .2222222... w2' = w2 / w1+w2+w3 = 0.3/0.9 = .3333333... w3' = w3 / w1+w2+w3 = 0.4/0.9 = .4444444... so w1'+w2'+w3' = 1.0 In Cases where All Envelopes Use Partial Blending The weight fill-in for vertices with a weight less than 1 will always fill with the weight of the root. Whenever a vertex is assigned to a group of links, all of which are partially blended, then the remaining weight will be assigned and blended with the root link. This works well for a case where you want partial deformation falling off to no deformation. An example would be a static head, where you are deforming the head for facial expressions, but the head itself remains in place. For example: vertex v is assigned to links l1, l2, and l3. The weights for these links are: w1 = 0.2, w2 = 0.3, and w3 = 0.4. The sum of these vertex weights is w1 + w2 + w3 = 0.9 (less than 1.0). We need an additional fill-in weight (wf). The fill-in weight is determined by 1.0 (w1+w2+w3) = 0.1, or 10%. Physique fills in with weight wf from the root (leaving the vertex partially undeformed). The resulting deformation will be w1*l1 + w2*l2 + w3*l3 + wf*root. The root portion of this deformation is essentially an undeformed portion that simply follows the root of the skeleton. In Cases where Some Envelopes Use Partial Blending and Some Do Not The vertex weight fill-in in overlap areas will be based on the percentage of partial and non partial weights. For example, If the total weight of non partial links is 80% of the total summed partial and non partial weight, then 80% of the fill-in will be more of the non partial deformation. The remaining 20% fill-in will come from the root. 5338 | Chapter 15 Character Animation Example: If Vertex v is assigned to links l1, l2, and l3, the weights for these links are: w1 = 0.2, w2 = 0.3, and w3 = 0.4. Let's assume l1 and l2 are nonpartial, and l3 is partial. The nonpartial weight is w1 + w2 = 0.5; the partial weight is w3 = 0.4; the nonpartial weight is 0.5/(0.5+0.4) = .555555, or 56%; and the fill-in weight is still (1.0 - .9) or wf = 0.1. Physique fills in with 56% of wf with more of the nonpartial blended links. The remaining 44% of wf is filled in with the root as in the partial blended case. This provides a smooth transition between the partial and nonpartial links. Bulges For some animations, simply attaching the skin and correcting its vertex assignments results in an animated skin you can use in final renderings. For other animations, you might need to give the skin more realistic movement: for example, muscles that bulge. Physique lets you simulate an underlying musculature for the skin by adding tendons on page 5344 and bulges: ■ Bulges change the skin's profile to simulate bulging muscles. You create the bulge by establishing bulge angles, relationships between cross-sectional slices of the skin and specific poses of the skeleton joint. Imagine a cross section to be a slice through the skin's mesh, perpendicular to the link. By making changes to cross sections, you in turn distort the shape of the mesh. Bulges in your character can be constructed by associating certain poses with related changes to the cross sections, in other words by defining bulge angles. At any joint angle, you can define a bulge angle, and you may define as many bulge angles as needed. The bulge angle consists of the current orientation of the joint together with any defined cross sections. In addition, you can adjust the influence of a bulge angle. Physique considers all the bulge angles as the character moves. The resulting bulge is created by interpolating the effects of the various bulge angles having some influence at the current joint angle. For example, to create a bulging biceps muscle, in Bulge sub-object level, on a selected link, insert a cross section near the center of the upper arm. Pose the arm into a flexed position, with the angle between upper and lower arms at 90 degrees or less. Insert a bulge angle and adjust the cross section so that it distorts the mesh appropriately. In the viewports and in the Bulge Editor on page 5379, you can edit the shape of the bulge to look Physique | 5339 like a flexed biceps muscle: higher and wider above the bone than below it. Now as the elbow bends from a straight orientation up and toward the shoulder, Physique bulges the biceps appropriately. see Creating Bulges on page 5340 for more information about creating bulges. Because bulges are optional, you can approach Physique animation in a couple of ways: ■ Apply only as much detail as you need to get the effect you want for a particular scene in your animation. This is probably the best approach when the Physique animation is meant to be used only once, or is not the main focus of the animation. ■ Define a fully deformable character, with bulges for its entire range of motion. This is probably the best approach when you intend to reuse the Physique character in an ongoing series of animations, for example, or in a video game that has a variety of character action. See also: ■ Bulge Sub-Object on page 5431 Creating Bulges Bulges simulate bulging muscles. Physique creates bulges based on bulge angles and cross section shapes you specify, not on keyframe settings. You create a bulge by: ■ Reposing the character to a position where the bulge will have its greatest effect. This can just be a matter of using the time slider to scrub to that place in a loaded motion file. ■ Setting a bulge angle between two links, the currently selected link and its child link in the hierarchy. The bulge angle is the angle of the joint where the bulge has its full effect. When the joint has a different angle, Physique interpolates so the bulge can grow as the joint flexes toward that angle. See Setting Bulge Angles on page 5342 for more information. 5340 | Chapter 15 Character Animation NOTE The resulting bulge for any given frame in an animation is determined by the interpolated effects of all bulge angles for the link, based on the relationship of each bulge angle to the current joint angle. Bulge angles are not directly associated with keyframe parameters, but are relative to the skeleton's behavior. Bulge shape is interpolated as joint movement approaches a bulge angle. ■ Creating and shaping the cross sections associated with the bulge angle. A link's cross sections and its profile are spline controls of the shape of the skin. To create and shape cross sections, see Shaping the Bulge on page 5343. Each bulge angle affects both neighboring links. Therefore, each link contains a set of cross sections for each bulge at both its parent and child joint angles. For example, the forearm link can be deformed by bulge angles associated with both the elbow and wrist joints. Physique | 5341 ■ Adjusting bulge parameters, including the joint intersection parameters. Bulge parameters control the smoothness and the strength of the bulge and are found at the Bulge sub-object level. Joint intersection parameters control how the skin behaves when bulges would overlap each other if there were no collision detection for skin vertices. They are in a Physique rollout for Link sub-objects. See Reinitializing Physique Settings on page 5347. See also: ■ Bulge Sub-Object on page 5431 Setting Bulge Angles A bulge angle associates an angle value and a name. By default, each link has one bulge angle whose default name is the name of the link followed by "Bulge 0". The default bulge angle's initial angle value is the angle between the link and its child when you first attach Physique to the skeleton. Bulges are effective because they grow and shrink as the joint moves. The initial bulge angle defines one shape that the skin can deform to; this would normally be like a default musculature. With no other bulge angles defined, the skin would always look like the first bulge angle, regardless of pose. Additional bulge angles provide the other shapes the mesh can deform to. In the simple case of a flexing biceps muscle, one bulge angle defines the relaxed position and another defines the muscle in its flexed pose. Both are exposed so you can add definition to the default character. As in a biceps muscle, a heavily-muscled character might have some shape even in a relaxed pose. This lets you change the baseline without disturbing the original mesh. You can actually use Physique bulge cross sections to model your character. The cross section deformation for a given link is determined by interpolating between the contributions of all bulge angles that affect the link. This includes bulge angles for both the link's parent joint angle and its own (child) joint angle. Each bulge angle's contribution is determined by: ■ Influence (how far away the bulge angle is from the current joint angle rotation) ■ Power (an ease based on the influence of the angle) ■ Weight (the relative strength of the bulge angle) 5342 | Chapter 15 Character Animation Keep in mind that bulge angles can be set for arbitrary rotations, and are not limited to single-axis hinge joints. See also: ■ Bulge Sub-Object on page 5431 Fine-Tuning Bulges The Bulge Editor on page 5379 duplicates many of the controls available at the Bulge sub-object level. It gives you a focused, two-dimensional view of the current bulge settings. Shaping the Bulge Once you've inserted the bulge angle, and recorded the angle setting, you then shape the bulge by inserting and adjusting cross sections. You can either move and scale the cross sections, or adjust each one's shape using control points. Adding More Poses to Your Character For more complex body movements, you may need to add bulges for different positions. Overall, you might want to build a generic character that works in a number of situations, regardless of the type of motion. Some examples are: ■ Moving the character into several extreme poses. ■ Putting the arms high over the head and bending them into different positions. ■ Making the character squat and lifting the legs into various positions. ■ Adding bulge angles to the links at places where real muscles would bulge. Once the skin reacts well to the full range of motions, you can then place the character into a less demanding pose and it should work perfectly. Physique | 5343 Tendons Tendons tie links together, extending the effect of moving one link to another link where the tendon is based. Their effect is similar to that of tendons in a body. For example, raising an arm usually stretches the skin along the same side of the body. To get this effect using Physique, you could base a tendon on a spine link, then attach it to the upper arm or collarbone, so when the arm lifts, the skin around the torso stretches as well. see Creating Tendons on page 5344 for more information about creating tendons. See also: ■ Tendons Sub-Object on page 5441 Creating Tendons Like tendons in an actual body, tendons in Physique on page 5441 link one bone to another. They spread the effect of moving one link to the skin around a different link. Tendons can improve the realism of skin movement when it is animated by Physique. Basically, a tendon consists of base points that live on a cross section near the skin. A base point is attached to another link on the skeleton that pulls it. As the tendon base point is pulled, it deforms the skin around it. Several parameters control how much the point is pulled in each direction. You insert the tendon cross section at the location where you want the skin to stretch. You then attach it to the link that influences the movement. Each link can contain several tendon cross sections, and each control point may be attached to a separate link. In a practical application, however, such as in the area below the armpits, you might have two control points attached to each of the left and right clavicles. Procedures To create and attach a tendon: 1 Go to the Tendons sub-object level. In the Tendons rollout ➤ Selection Level group, activate 5344 | Chapter 15 Character Animation (Link). 2 In a viewport, select a link. 3 In the Insert Settings group, click to turn on Insert. 4 In a viewport, position the cursor over the link. The cursor changes to a small star. 5 Click to create cross sections on the link. 6 Click to turn off Insert. TIP You can also right-click in a viewport to turn off tendon creation. 7 In the Selection Level group, turn on (Cross Section). 8 Use the Rotate tool to rotate the cross section so the control points are positioned in useful places. 9 In the Tendon Parameters group, use the Radius spinner to scale the cross section radially so the control points fall close to the surface of the skin. 10 In the Selection Level group, activate (Control Point), then in a viewport, select one or more control points. 11 In the Edit Commands group, turn on Attach, then in a viewport, click a different link. Tendons span the area between the links. 12 Adjust the Pinch, Pull, and Stretch settings to adjust the skin behavior. 13 Adjust the Upper and Lower Boundary settings to control the extent of the effect on neighboring links. To attach a tendon to another link: 1 In the Tendons rollout ➤ Selection Level group, activate Point) to make it the active selection level. (Control 2 In a viewport, select one or more of the tendon's attach points. Physique | 5345 Click a point to select it; use Ctrl+click to add points to the selection; or drag a rectangular region to select multiple points. 3 In the Edit Commands group, turn on Attach. 4 In a viewport, click the link to which you want to attach the tendon. In the viewports, red lines appear showing the tendon's connection from its base to the other link. The skin mesh might also deform as a result of attaching the tendon. TIP The tendon can have fixed attach points that are not connected to another link. These are useful for giving some rigidity to the skin, as when (in an actual body) a bone lies close to the skin's surface. For example, you might leave two fixed attach points on either side of a character's chest area, to simulate the effect of the sternum. When all tendons are attached to other links, the skin over the base link can have a "squishy" appearance when it is animated. This is appropriate for some animated characters, but not for others. To delete a tendon: 1 At the Tendons sub-object ➤ (Link) selection level, select the link that has the tendon you want to remove. 2 In the Insert Settings group, click Delete. Saving and Loading Physique Data You can save Physique data to a Physique (.phy) file to save data common to all objects that share a given Physique modifier Later, you can reload the data file, either to restore the data that belongs to a particular skin or portion of skin, or to transfer the Physique of one skin (or portion) to a different one. See also: ■ Physique Rollout on page 5363 ■ Physique Load Specification Dialog on page 5394 5346 | Chapter 15 Character Animation Reinitializing Physique Settings When you need to reset vertex, envelope, and other skin parameters on a Physique mesh, click Reinitialize to display the Physique Initialization dialog. Using controls in this dialog, select the category to update, and apply the new global settings. For example, if you've added a new bone to the hierarchy and want it included and influenced by the Physique modifier, use the reinitialization mechanism to effect its inclusion. Or maybe you've repositioned the biped structure relative to the mesh, you'd need to reinitialize Physique settings to recognize those changes. Reinitializing with changed settings applies them as new defaults in the areas you choose. Reinitializing without changing settings on the Physique Initialization dialog is a method of erasing unsatisfactory changes you've made to the Physique settings, again in those areas you specify. Physique | 5347 Reinitialization mode of Initialization dialog Initialization Group The Initialization group in the Physique Initialization dialog is where you name the category of settings to reset. (When you applied Physique to the mesh initially, these settings appeared unavailable; in fact, all settings are set at Initialization.) 5348 | Chapter 15 Character Animation WARNING Select only the check boxes for those settings you need to reset. If you select everything, your model is returned to the state it was in immediately after applying Physique. That's a quick way to discard changes that aren't working; just make sure that's what you want to do. If you change settings in rollouts on this dialog and fail to select the corresponding check box, those rollout settings are ignored and initial defaults are reestablished. See also: Reinitialize Physique on page 5376 ■ Working with an Initial Pose At times, you'll need to alter the fit of the hierarchy in the Physique mesh, or change its structure. To do so, you change the default, initial pose, which Physique uses as a reference for various operations, including reinitializing. ■ For a biped, you change the structure in Figure mode, then reinitialize the Initial Skeleton Pose. ■ For a Bones system with the HD IK solver, there is a Show Initial State check box in the Motion panel, on the IK Controller Parameters rollout. ■ For any other hierarchy, use frame 0 for the initial pose. Be sure your animation does not affect the position of the skeleton in frame 0. See also: Figure Mode on page 5104 ■ Procedures To load a file created with different system units: NOTE If the System Unit Scale has a value that is different from that of the file you are loading, 3ds Max prompts you to rescale the scene. If you do so, any objects that have a Physique modifier exhibit a double scaling. Do the following: 1 Select the object. Physique | 5349 2 Reinitialize with both Initial Skeletal Pose and Vertex Settings (the last check box) turned on. Improving Interactive Performance This topic presents some ways to improve the interactive performance of Physique. Physique is multithreaded, and optimized for modifier stack changes below the Physique modifier. Level of Detail Controls The controls in the Physique Level of Detail rollout on page 5368 help you optimize performance while working with Physique, by letting you specify which skin deformations are refreshed automatically in viewports. The more complex the skin object, the more effective these controls can be at speeding up your work. NOTE The 3ds Max renderer also heeds Level of Detail settings. Don't forget to reset these controls before the final render. Turning Blending On and Off When Physique is first initialized, the Blending Between Links parameter in the Physique Initialization dialog on page 5374 is set to N Links on page 9235. This means that every envelope must be considered when determining the influence on any vertex on page 5396. You can reinitialize with No Blending (or only 2, 3, or 4 links) to reduce this calculation permanently, although at the cost of losing some or all blending at the joints. NOTE Setting to No Blending is advised only for those developing characters to be used by real-time game engines. You can also set No Blending at the Vertex sub-object level. You can temporarily disable Link Blending on the Physique Level of Detail rollout, on the Modify panel. Using the Optimize Modifier with Physique The standard 3ds Max Optimize modifier allows you to reduce the level of mesh detail in order to increase display performance and speed up screen 5350 | Chapter 15 Character Animation refreshes. Optimize can be helpful with Physique when you work with complicated skin objects such as detailed biped figures. There are stack update options that determine how the stack is updated. See the Physique Level of Detail rollout on page 5368 for a reference on the stack update options. WARNING If the current stack update option is Reassign Globally, any modifier in the stack below Physique causes Physique to reevaluate vertex assignments each time the stack is changed. While this technique will improve performance in one way, it will hurt performance if you need repeatedly to make changes down in the stack. Procedures To optimize skin objects: 1 Select the skin. If the skin consists of multiple objects, select all of its component objects. 2 Apply an Optimize modifier to the skin. The Optimize modifier's Parameters rollout appears on the Modify panel. 3 In the Optimize group of the Parameters rollout, increase the value of Face Threshold. As you increase Face Threshold, Optimize reduces the number of faces in the mesh. The optimized mesh displays more quickly and speeds up your work with Physique. However, it doesn't show full detail, and sometimes an optimized skin does not animate correctly, because of the reduced number of vertices. TIP Always turn off Optimize before you render the animated skin. Scaling a Character Using standard 3ds Max scale transform tools, you can adjust a biped's posture by scaling the size of its links. You must be in Figure mode to scale the biped links. If you try to scale a biped without going into Figure mode, nothing happens. Physique | 5351 Procedures To scale a biped that has a mesh attached to it by using Physique: 1 Select the biped. Motion panel ➤ Biped rollout, turn on 2 On the Mode). (Figure 3 On the Structure rollout, change the biped's height. The biped and mesh scale together. To reinitialize a scaled mesh: Reinitializing a scaled mesh might be necessary if you use Initial Skeleton Pose in Physique. In this case, the mesh appears at its size before scaling. To correct for this, perform the following steps: 1 On the Modify panel, either make Physique inactive, or highlight the skin object so the active level is below the Physique modifier in the stack. 2 Scale and move the mesh until it matches the biped or bones. 3 Re-enable Physique, or highlight its name once more in the stack display. The mesh will get large because it is doubly scaled. 4 Reinitialize with Initial Skeleton Pose turned on. The mesh will shrink to the size you set during scaling. 5352 | Chapter 15 Character Animation Facial Animation You can use Physique for facial animation, as an alternative to morphing. To do so, you must set up the face of a character with extra links. By setting up 3ds Max bones or other objects at appropriate locations on the mesh head, you can define a skeletal structure for moving the facial features. Boxes form the facial skeletal structure. You can also use splines linked to the biped head to deform the mesh. You can add a spline to a character that already has Physique applied by using Add in the Physique Bones rollout and clicking the spline in a viewport. Physique | 5353 Splines used for detailed facial animation. Facial Bone Structure A common skeletal structure for the face includes: ■ Bones to make the upper and lower lips open and close. ■ Bones to push the outer corners of the mouth, as for a smile. ■ Bones to make the eyes open and close. ■ A bone to control the jaw opening and closing. ■ The main head bone going straight up from the neck to the top of the head. This bone controls the head overall, and any vertices not affected by bones on the eyes, mouth and jaw. Use this bone to bend the head forward or backward. 5354 | Chapter 15 Character Animation TIP If you've never set up a facial bone structure before, refer to a text on character animation for information on the facial bones needed to create various expressions. In general, the lower lip bones should be linked to the jaw, and upper lip, jaw and eye bones should be linked to the main head bone. Facial bone linkage If you use objects other than 3ds Max bones, you must create dummy objects at the end of each object used as a bone, and link each one to its corresponding bone before applying Physique. This is necessary because Physique extends links to the end of the second-to-last object in the hierarchy, not the last. In other words, if you don't create and link the dummy objects to the bones, Physique will not extend links to the ends of the bones. Physique | 5355 Dummy objects at ends of bones Mesh objects that are to be animated along with the face, such as the eyes and hair, should not be linked to the bone structure until after Physique is applied. If you link them beforehand, Physique will treat them like bones. You can link these objects to the main head bone after you apply Physique. Separate or Connected Head There a two ways a setup like this could be used with a character body: The head could be attached to the body mesh, or it could be separate. If possible, use a head that is separate from the body mesh. For human characters, this often works fine; most character animation doesn't provide a view of the underside of the neck, so your viewers will most likely never notice that they're separated. If you use a separate head, it will be easier to control the facial animation. If you use a separate head, apply Physique to the head mesh alone. Click Attach to Node and pick the main head bone. Check the links to make sure they extend to the ends of the bones. Then, link the main head bone to the biped head. 5356 | Chapter 15 Character Animation If the character's head is connected to the mesh, link the main head bone to the biped head before applying Physique. Alternately, you can use the biped's head as the main head bone, linking the facial bones directly to the biped's head. When you apply Physique and click Attach to Node, pick the biped's COM as usual. After applying Physique to the head or the entire structure, you can adjust envelopes and vertex assignments for the facial bones as you would for any biped bone. Animating the Facial Structure After you apply Physique to the structure, you can animate it by rotating or moving bones. 3ds Max manipulators on page 2892 are useful for setting up a custom user interface for bone animation. Physique | 5357 Facial expressions animated with Physique and facial bones. TIP Hierarchies other than bipeds can't use Figure mode, so special consideration is needed to establish the initial skeletal pose. Position the facial bones in the “at rest” position at frame 0, and start keyframing the face at frame 1 or later. You can perform lip synch animation by loading a sound track in Track View. By scrubbing the time slider, you can locate a sound and keyframe the dummies to appropriate positions. 5358 | Chapter 15 Character Animation Procedures To isolate lip vertices from influence by inappropriate links: When working with a complicated facial bone structure, envelopes for the lower lip are bound to affect vertices in the upper lip, and vice versa. In general, this can be corrected in at the Vertex sub-object level: 1 Select the head. On the sub-object level. Modify panel, go to the Vertex 2 Turn on Initial Skeletal Pose (the check box at the bottom of the Vertex - Link Assignment rollout). 3 Turn on Select, region-select vertices of the lower lip, then click Remove From Link. 4 Select the links of the upper lip, and click Lock Assignments. 5 Region-select vertices of the upper lip, and click Remove From Link. 6 Select links of the lower lip, and click Lock Assignments. Combining Physique with Other Modifiers Although you can apply Physique to an object with modifiers, this can affect performance. If you use other animated modifiers in combination with Physique, this reduction is unavoidable. If the other modifiers are not animated, you can collapse the stack to remove modifiers prior to Physique. This can significantly improve performance. How Physique reevaluates vertices coming up the stack depends on the stack update options. Stack Update Options In Physique, there are three stack update options available from the Physique Level of Detail rollout on page 5368 to determine how Physique handles animated vertices coming up the modifier stack. Physique | 5359 Add Change Add Change adds in the changes from the stack and then applies mesh deformation. No vertex remapping or reassigning is done. This is the default option, and usually will give you the deformation that you want. There is no performance degradation from Physique. Remap Locally Remap Locally resets vertex position on the spline used for bending and the link position used to interpolate twist. Use this option when vertices are sliding along the length of the spline, and you want them to bend and twist based on the spline position but don't want the weights to change. Reassign Globally Reassign Globally does a complete vertex reassign for each frame. Use this option when vertices are moving to different envelopes and you want them reassigned to the new envelopes. This option should rarely be used. The only reason would be if vertices are sliding along a link and you want the twist to be interpolated based on the new position. Using Physique with Changing Geometry Physique can effectively handle dynamically changing geometry. That is, if the geometry coming through the modifier stack to Physique changes, Physique dynamically adjusts to accommodate the changes to the geometry, while maintaining its own parameter settings, including manual vertex assignments. This is why, when using Optimize, you can effectively change the resolution of the geometry deformed by Physique. Only in situations where the changes dramatically increase the density of data is there ever a need to manually adjust vertex assignments. Physique remembers your manual vertex assignments, and uses these assignments to reassign vertices when the geometry changes. Physique and Free-Form Deformations (FFDs) You can apply Physique to a Free-Form Deformation (FFD) space warp, which in turn can animate a mesh that is bound to the FFD. For example, you could use this technique to animate a credit card or a box of cereal. 5360 | Chapter 15 Character Animation Procedures To apply Physique to an FFD to animate the entire mesh: 1 Place an FFD (Box) space warp around the mesh to deform. The box should be large enough to encompass the mesh. The number of control points you use for the FFD can be fine-tuned later by going back down in the stack to the FFD to adjust the number of control points. 2 Select the FFD and apply the Physique modifier. 3 Click (Attach To Node), and then click the biped pelvis or the root node of your bone structure. 4 If necessary, select the FFD space warp and adjust the vertex assignments of the control points so they are assigned to the proper links. This can be done in the same way as done using Physique with a mesh, only there are fewer assignments to deal with. Although fewer assignments provide smoother surface deformation with the FFD, control points and their link assignments must be thoughtfully placed. 5 Use 6 (Bind To Space Warp) to bind the mesh to the FFD space warp. Link the mesh to the biped pelvis, or the root node of the bone structure, so it follows the skeleton and FFD as they move around the scene. To use an FFD to complement the effects of Physique on a portion of a character mesh: TIP You can use this procedure to animate clothes or amorphous shapes. 1 Place an FFD (Box) space warp around the mesh to deform. The box should be large enough to encompass the mesh. The number of control points you use for the FFD can be fine-tuned later by going back down in the stack to the FFD to adjust the number of control points. Physique | 5361 2 Select the FFD and the mesh and apply a Physique modifier to both. 3 Click 4 (Attach To Node) and in a viewport, click the biped pelvis. Select the mesh only, and add a Mesh Select modifier to the mesh above Physique in the modifier stack. NOTE If you are using a NURBS model, use the NSurf Sel modifier (rather than Mesh Select) to select sub-object control vertices that lie inside the FFD lattice. 5 Go to the Vertex sub-object level (or Control Vertex), and select the set of vertices (or CVs) that lie inside the FFD space warp you are using. 6 While in the Vertex sub-object level, bind the mesh to the FFD space warp. Now only the selected vertices or CVs will be affected by the FFD. 7 With the mesh selected, highlight the Physique level in the stack, and assign all vertices or CVs affected by the space warp as blue (rigid). These should be the same vertices or CVs selected in step 5, above. 8 Assign the rest of the vertices or CVs that fall outside the FFD as deformable, in the same way you normally assign vertices to links on page 5447 with Physique. 9 Select the FFD space warp. If necessary, adjust the vertex assignments of the control points so they are assigned to the proper links. You do this in the same way as you do when using Physique with a mesh, except there are fewer assignments to deal with. Although fewer 5362 | Chapter 15 Character Animation assignments provide smoother surface deformation with the FFD, control points and their link assignments must be thoughtfully placed. Physique User Interface Select a mesh. ➤ Modify panel ➤ Modifier List ➤ Physique. Select a mesh that has the Physique modifier applied to it. ➤ Modify panel ➤ Floating Bones, Physique, and Physique Level of Detail rollouts The main controls for the Physique modifier include the Physique and Floating Bones rollouts for attaching the mesh to the biped, splines, or bones. Additional controls in the Physique Level Of Detail rollout are for troubleshooting envelopes, bulges, and tendons. The sub-object controls are for fine-tuning envelopes, creating and adjusting tendons and bulges, and for vertex editing. See also: Physique on page 5294 ■ Physique Rollout Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Physique rollout You use the buttons on the Physique rollout to link a mesh to a biped, a bones hierarchy, or a spline; to reinitialize the Physique parameters on a mesh; to open the Bulge Editor on page 5379; and to load or save Physique (PHY) files. Procedures To attach a mesh to a biped using Physique: 1 Select or create a biped. Physique | 5363 2 Go to the Motion panel. On the Biped rollout, click to turn on (Figure Mode). 3 Position the biped inside your character mesh. 4 Select the mesh. IMPORTANT If the mesh is made of multiple objects, select all of them. 5 Go to the to the mesh. Modify panel. Use the Modifier List to apply Physique 6 On the Physique rollout, click to turn on viewport, pick the biped's pelvis object. (Attach To Node). In a 3ds Max opens the Physique Initialization dialog on page 5374. 7 Click Initialize, accepting the default settings. By default, the Object Bounding Box option is selected: Physique sizes envelopes to approximate the biped limbs. 8 Experiment with animating the biped, and adjust envelopes around problem areas. Use the Envelope sub-object level to edit the newly created envelopes. To attach a mesh to a bones hierarchy using Physique: 1 Select or create a bones hierarchy. 2 Position the bones hierarchy inside the mesh. 5364 | Chapter 15 Character Animation TIP When you use a bones hierarchy with Physique, use frame 0 as your "figure mode." Don't include frame 0 in your animation. Use it as a place where you position the bones and fit them to the mesh. 3 Select the mesh. 4 Go to the to the mesh. Modify panel. Use the Modifier List to apply Physique 5 Click to turn on (Attach To Node). In a viewport, pick the root bone in the bones hierarchy. 3ds Max opens the Physique Initialization dialog. 6 Click Initialize, accepting the default settings. 7 Experiment with animating the bones, and adjust envelopes around problem areas. Use the Envelope sub-object level to edit the newly created envelopes. To add a bone after you've already used Attach To Node: 1 Link the bone to the biped, then click 2 Select the mesh, then go to the Physique rollout, click (Reinitialize). Modify panel. On the (Reinitialize).3ds Max opens the Physique Initialization dialog. 3 On the dialog, in the Initialize group at the upper left, click to turn on Initial Skeleton Pose. The toggle Include New Bone becomes available. Click to turn on Include New Bone, and then click Initialize. Physique | 5365 To save Physique data: 1 On the Modify panel ➤ Physique rollout, click Physique File). (Save 3ds Max opens a file save dialog. 2 Enter a name for the new Physique file, and then click Save. To load Physique data: 1 On the Modify panel ➤ Physique rollout, click Physique File). (Open 3ds Max opens a file open dialog. 2 Choose the Physique (PHY) file to open, and then click Open. 3ds Max opens a Physique Load Specification dialog. 3 Use the dialog to choose the kind of data to load, and then use the lists to match links in the PHY file with links in the scene. IMPORTANT The number of links selected from the file (left column) must match the number of links in the active Physique modifier (right column). 4 Click OK. Physique updates the links you chose with the data that was saved. Interface Attach to Node Attaches the mesh objects to the biped or to a bones hierarchy. IMPORTANT Put the biped in Figure mode and fit it to the mesh character before you click Attach To Node. 5366 | Chapter 15 Character Animation Turn on Attach To Node, then in a viewport, click the biped's pelvis or the root node of a bones hierarchy. NOTE If you click a biped's center of mass instead of its vertex, Physique corrects this by attaching to the pelvis instead. After you select a node in the viewports, the Physique Initialization dialog on page 5374 is displayed. Accept the default values in this dialog, then click Initialize. Physique traverses the biped or bone hierarchy, and creates an envelope on page 5411 for each link it finds. (It can include additional bones that are linked to the biped.) The envelopes control Physique's influence on the vertices of the mesh. When the hierarchy is animated, the mesh vertices move along with it. Reinitialize Displays the Physique Initialization dialog and resets any or all of the Physique attributes to the default values. For example, reinitializing on page 5376 with the Vertex Settings option selected reestablishes the relationship of a vertex and its original position relative to the Physique deformation spline. Settings for vertex-link assignments, bulges, and tendons can be reset from this dialog. Bulge Editor Displays the Bulge Editor on page 5379, which is a graphical alternative to the Bulge sub-object level for creating and editing bulge angles. Open Physique File Loads a saved Physique (.phy) file, which stores envelope, bulge angle, link, tendon, and vertex settings. When you click Open Physique File to load a .phy file, the Physique Load Specification dialog on page 5394 is displayed. Select the links you want to import in the list on the left of the dialog, and apply them to the links you select in the list on the right of the dialog. Any aspect of your Physique work can be loaded into any other character. You can choose from Link Settings, Bulges, Tendons, and Envelopes. You can also apply links from the file to differently named links in the current scene. For example, save and reload a .phy file to copy a bulge angle created on one character to a link on another character. TIP A bulge created on a bones hierarchy can be loaded and applied to Physique links created using a biped. Physique | 5367 NOTE Loading a .phy file will not overwrite locked vertices. If you want to overwrite them, you must either go to the Vertex sub-object level and unlock them, or reinitialize and turn on the option Vertex - Link Assignments. Save Physique File Saves a Physique (.phy) file, which contains envelope, bulge angle, link, and tendon settings. Physique Level of Detail Rollout Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Physique Level of Detail rollout Controls in the Physique Level Of Detail rollout not only optimize the viewports, but also affect the rendered result. The primary purpose of this rollout is for troubleshooting. After you create bulge angles and tendons, you can turn off their influence to see exactly what they add to the deformation of the skin. This rollout also has controls for how changes in the modifier stack below Physique are handled. TIP Choose Deformable and turn on all its parameters during editing; this allows you to spot problem areas. Choose Rigid for the fastest viewport redraw. Procedures To troubleshoot bulges and tendons: 1 Select the mesh of a character that has bulges or tendons. 2 Go to the Modify panel. 3 On the Physique Level Of Detail rollout, in the Skin Update group, make sure Deformable is chosen. 4 Turn Bulges off, then on. Do the same with Tendons. Examine the mesh with and without the influence of bulges and tendons. 5368 | Chapter 15 Character Animation 5 Use the Bulge Editor or the sub-object levels to adjust bulge and tendon settings. Interface Renderer When chosen, settings in the Skin Update group affect rendered images. Viewports When chosen, settings in the Skin Update gropu affect viewports. Physique | 5369 Skin Update group Deformable When chosen, Physique deformation is active. Deformable yields the highest-quality rendering. The Deformable toggles are unavailable unless Deformable is chosen. ■ Joint IntersectionsTurn off to remove joint intersection influence. Joint intersection influence allows the mesh to overlap itself; for example, at the elbow and knee joints. Default=on. ■ BulgesTurn off to remove any bulge angle influence. Default=on. ■ TendonsTurn off to remove any tendon influence. Default=on. ■ Skin SlidingTurn off to remove skin sliding influence. Default=on. ■ Link BlendingTurn off to remove the influence of link blending. Default=on. Rigid When chosen, forces all vertices to use Rigid assignments rather than Deformable. This is an easy way to isolate deformation problems. It also provides the quickest viewport redraw speed. You might choose this option while adjusting the animation of your skeleton. ■ Link BlendingTurn off to remove the influence of blending on rigid links. This toggle is unavailable unless Rigid is chosen. Default=on. Stack Updates group The controls in this group handle changes to vertex count that arise from (nonanimated) changes to the modifier stack. If the vertex count changes, vertices are reassigned globally. Add Change adds in changes based on the vertices' initial position. The other options reset the initial position at each frame to do the remapping and reassigning. For this reason, turning on Add Change or making nonanimated stack changes should always be done at the initial position (Figure mode or frame 0). Add Change Adds in changes from the stack and then applies Physique deformation. No vertex remapping or reassigning is performed. Default=on. This option will generally give you the deformation you want. There is no performance penalty (from Physique) when this option is used. Remap Locally For deformable vertices, this resets the vertex position on the Physique deformation spline used for bending, as well as the link position used to interpolate twist. For rigid vertices, this option resets the link position used to interpolate twist. Default=off. 5370 | Chapter 15 Character Animation When vertices are sliding along the length of the spline and you want them to bend and twist based on the spline position, but don't want vertex weights to change, turn this option on. Reassign Globally Re-weights, and resets the position on the spline used for bending for moved vertices globally. The vertex link assignment, weighting, and spline position are reset for all moving points on every frame. (This is equivalent to Physique 2.2.) This option is like reinitializing on every frame. Default=off. When vertices are moving to different envelopes and you want them reassigned to the new envelopes, use this option. Hide Attached Nodes Toggles the display of the underlying skeletal system. This allows you to hide and unhide the biped, for example. Floating Bones Rollout Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Floating Bones rollout “Floating” bones provide a way to use Physique without using a biped character. The Floating Bones rollout specifies the splines, bones hierarchy, or unattached bones you are using to deform a mesh. For example, Physique lets you animate a mesh by animating spline vertices or a bones system. When you attach the spline or parent bone to Physique, it creates envelopes for the selected spline or bones. Procedures To have a spline influence a mesh: 1 Create a spline and place it within a mesh that has Physique applied. 2 Select the mesh, and go to the Modify panel. 3 On the Floating Bones rollout, click Add. 3ds Max opens a Select Bones dialog. 4 Use the Select Bones dialog to select the spline. Physique | 5371 5 Animate the spline vertices to animate the mesh. TIP If you want to control the mesh by animating bones, follow the previous steps using bones instead of a spline. Interface Add Displays a Select Bones dialog so you can select splines or bones to use with Physique. Reset Resets splines or bones in their initial position: Reset reassigns vertices, but leaves envelopes as is. Delete To delete a spline or bone, click to highlight its name in the list, and then click Delete. Physique Shortcuts This topic summarizes the keyboard shortcuts for Physique. Turn on the Keyboard Shortcut Override toggle on page 9008 to enable the character studio keyboard shortcuts. 5372 | Chapter 15 Character Animation All character studio keyboard shortcuts activate when the Motion panel is active and the Keyboard Shortcut Override button is active. See also: ■ Keyboard Shortcuts on page 9007 ■ Keyboard Panel on page 8837 ■ Customize User Interface Dialog on page 8837 Action Shortcut Copy Envelope Ctrl+C Delete Ctrl+D Next PageDown Next Selection Level I Paste Envelope Ctrl+V Previous Page Up Previous Selection Level Shift+I Reset Envelopes Ctrl+E Description Resets envelopes for selected links to their default values. * Not available for customization in the Customize User Interface dialog. Physique Dialogs The topics in this section describe the support dialogs for Physique. Physique | 5373 Physique Initialization Dialog Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Physique rollout ➤ Click (Attach To Node). ➤ Pick a root object in a viewport. ➤ Physique Initialization dialog Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Physique rollout ➤ Click Reinitialize. ➤ Physique Initialization dialog. Use the Physique Initialization dialog to specify link parameters and the type and size of envelopes to create for Physique links. This dialog is displayed under two circumstances: ■ ■ When you apply Physique initially, using Attach To Node on the Physique rollout on page 5363 on the Modify panel. When you click Reinitialize on the Physique rollout. Creating Physique Links and Envelopes for the First Time When you use Attach To Node to attach the mesh to a skeleton for the first time, you can use parameters on the Vertex-Link Assignment rollout on page 5396 to specify envelope parameters. In most cases, the default parameters on the Vertex-Link Assignment rollout work well as a starting point for envelope type, envelope sizing, and blending between links. Normally, you want deformable envelopes. Blending Between Links is set to N Links (a vertex can be influenced by all envelopes that overlap it). The Object Bounding Box option is chosen by default, and bases the size of the envelopes on the size of biped limbs or bone diameters. Link Settings, Joint Intersections, and Cross Section Rollouts Controls on these rollouts match those found in bulge sub-object on page 5431 and link sub-object on page 5419 and are used here to set default values. Unless you want to change the default settings for all link parameters and bulges, you do not need to change the settings in these rollouts. 5374 | Chapter 15 Character Animation Interface Initialization group The Initialization check boxes are normally unavailable and not changeable during initialization. Although these options are unavailable, they are all turned on by default (except Include New Bones) for initialization, since all these settings are new when you use Attach To Node for the first time. These check boxes become available when you click Reinitialize on the Physique rollout. See Reinitialize Physique on page 5376 for a description of the controls in this group. Physique | 5375 Link Settings rollout The Link Settings rollout contains the default link values that will be assigned to all links. See Link Sub-Object on page 5419 for a command reference. Joint Intersections rollout The Joint Intersections rollout contains default joint intersection values that will be assigned to all links. See Link Sub-Object on page 5419 for a command reference. Cross Sections rollout The Cross Sections rollout on page 5398 sets the default Bulge Angle parameter settings for new bulges. Vertex-Link Assignment Rollout On the Vertex-Link Assignment rollout on page 5396 you can choose to create new envelopes and pick the type of blending between links. Reinitialize Physique Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Physique rollout ➤ Click (Reinitialize). The Reinitialize button on the Physique rollout is used mainly for resetting a particular attribute of your character's skin behavior. Among common uses are resetting bulges, deleting tendons, reassigning vertex-link assignments, or repositioning the biped relative to the attached mesh. Essentially, you can reinitialize to reset any single item in the Initialization group, or all items. The toggles in the Initialization group of the Physique Initialization dialog are available only when you click Reinitialize. Reinitializing Old Files Files from versions of character studio prior to character studio go through a semi-automatic Physique reinitialization process. When you load an old file that uses Physique, you’re prompted to put the biped or bones system into 5376 | Chapter 15 Character Animation Figure mode or in the initial position, and then reinitialize. To reinitialize, select the mesh, open the Modify panel, and click Reinitialize. A dialog warns you to put the skeleton into the initial position. Click OK to reinitialize, and save the file after you have done so. See also: ■ Physique Initialization Dialog on page 5374 Interface Physique | 5377 Initialization group Initial Skeleton Pose Uses the current hierarchy position (for example, the biped pose) as the default pose for defining how the skeleton fits inside the skin. The current pose becomes the new initial pose, replacing the pose used when you first attached the mesh to the biped. Default=off. NOTE This toggle does not reassign vertices that you reassigned manually unless you also turn on Vertex-Link Assignments. When using Physique with a biped, turn on Initial Skeleton Pose if you want to use Figure mode to reposition the biped relative to the mesh; for example, to reposition the biped shoulder joints. It is helpful first to turn off the Physique modifier, using the lightbulb icon in the modifier stack display. This lets you use Figure mode to scale and rotate the biped limbs independent of the mesh skin. Use this option after you scale a character (see Scaling a Character on page 5351). ■ Include New BonesCreates new links for any new object (bone) linked to the biped. Use this to add a bone to a mesh that has the Physique modifier applied. This toggle is unavailable unless Initial Skeleton Pose is on. Default=off. Link and Joint Settings Resets link parameters and joint intersection parameters to their default values. Link parameters include Bend, Twist, Sliding, and Radial Scale values. For Radial Scale, this includes Scale, Amplitude, Stretch, and Breath. Default=off. When this option is on, you can set new default values in the Link Settings rollout on page 5421 and the Joint Intersections rollout on page 5428. Bulges Resets bulge angles to the default values. By default, one bulge angle is created per link. Turning on Bulges deletes any new bulge angles you might have created. Default=off. When this option is on, you can set new default values for cross sections in the Cross Sections rollout on page 5398. Tendons Resets tendons to the default values. Turning on Tendons deletes any tendons you might have created. Default=off. Vertex-Link Assignments Re-evaluates which vertices fall within each envelope. (This can vary from the original default settings, depending on whether you have made changes to the envelopes.) Turning on Vertex-Link assignments also removes any custom vertex assignments. Turn on Vertex-Link Assignments if you want to replace all manual vertex reassignments with the default vertex assignments. Default=off. 5378 | Chapter 15 Character Animation When this option is on, you can set new default values in the Vertex-Link Assignment rollout on page 5396. Vertex Settings Recalculates vertex parameters at the link to which each vertex is assigned. Turning on Vertex Settings does not reassign manually reassigned vertices. Use this option when you have changed the link parameters and want to recompute the vertex parameters based on these changes. This check box is automatically turned on if you turn on either Initial Skeleton Pose or Vertex-Link Assignments. Default=on. Bulge Editor Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Physique rollout ➤ Click (Bulge Editor). Creating and editing cross sections allows you to "bulge" the mesh. The Bulge Editor is an alternative to using the Bulge sub-object level to create and edit bulge angles. The difference is that the Bulge Editor allows you to create, select, and edit cross sections in schematic Cross Section and Profile views. Using the Bulge sub-object level, creating and editing bulge angles takes place in the viewports. All of the parameter changes you make in the Bulge Editor are also reflected on the mesh in the viewports. On the Modify panel, you access the Bulge Editor from the Physique rollout on page 5363, from the Bulge rollout at the Bulge sub-object level on page 5431, or from the Link Settings rollout at the Link sub-object level. NOTE The Bulge Editor works exclusively with bulge angles. To create and edit Tendons, use the Tendons sub-object level on page 5441. Using an Animation to Preview Limb Orientations For easier creation of bulge angles, you should create a simple animation that moves the limb into extreme orientations. In the case of the human arm, you might set keyframes with the arms down against the body; extended to the sides; bent at the elbows; and finally, more relaxed with the hands touching the shoulders. By scrubbing the time slider, you can easily choose one of many intermediate or extreme orientations. This saves time when you create Bulge Angles, because you won't need to exit Physique to manipulate the skeleton Physique | 5379 to change the orientation of the mesh. You can create and set multiple Bulge Angles without ever leaving the Bulge Editor or Bulge sub-object level. Procedures To create a new bulge angle using the Bulge Editor: 1 Click (Bulge Editor) at the top level of the Physique modifier, or at the Link or Bulge sub-object level. 3ds Max opens the Bulge Editor. TIP Accessing the Bulge Editor at the Bulge sub-object level provides the added benefit of letting you work in either the Bulge Editor or the Bulge rollout interchangeably. 2 In a viewport, click to select a link. 3 On the Bulge Editor toolbar, click (Insert Bulge Angle). Physique creates a new bulge angle. The number of the bulge angle name in the Current Bulge Angle field increments. 4 Type a descriptive name in the Current Bulge Angle field. TIP It is a good idea to change the color of the newly created bulge angle. Do this by clicking Bulge Angle Color at the Bulge sub-object level, and selecting a color with the Color Selector. 5 If no appropriate cross sections exist, then on the Bulge Editor toolbar, click (Insert CS Slice). Click the Profile view to create and position a cross section. The cross section is created at the location you clicked. 6 In the viewports, rotate the joint to the desired angle. This is most easily done by creating a preview animation, as described in Using an Animation to Preview Limb Orientations on page 5379: just move 5380 | Chapter 15 Character Animation the time slider to a frame that has the angle you want. Otherwise, you will have to exit the Bulge sub-object level, select the appropriate limb, and rotate it. For example, to bulge the biceps on a biped, you might rotate the biped forearm to ninety degrees. 7 “Bulge” the mesh by editing cross section control points using the Bulge Editor's Cross Section view. As you scale or move control points in the Cross Section view, the mesh "bulges" in the viewports. 8 On the Bulge Editor toolbar, click (Set Bulge Angle). Physique saves the current angle of the joint. When the joint angle is reached, the mesh bulges. By default, Physique creates one bulge angle when it is first attached to the mesh. So to make an arm or leg that bulges when biped joints are rotated, you need to create and set only one additional bulge angle. To change a bulge angle value: 1 On the Bulge Editor, make sure the bulge angle you want to reset is displayed in the Current Bulge Angle field. 2 In a viewport, change the angle between the active link and its child link. Rotate a biped limb or use the time slider to move to a frame that has the limb rotated correctly. 3 On the Bulge Editor toolbar, click (Set Bulge Angle). The angle of the joint is set for the displayed bulge angle. When the biped limb rotates to this angle, the mesh bulge effect is at full strength. To choose a specific bulge angle for editing: 1 Expand the Current Bulge Angle drop-down list (click the downward pointing arrow at its right). The full list of bulge angle names appears. 2 Click the name of the bulge angle you want to edit. Physique | 5381 The Bulge Editor’s Cross Section and Profile views update to show the cross sections associated with the newly selected bulge angle. To delete a bulge angle: 1 Expand the Current Bulge Angle drop-down list (click the downward pointing arrow at its right). The full list of bulge angle names appears. 2 Click the name of the bulge angle you want to delete. 3 On the Bulge Editor toolbar, click (Delete Bulge Angle). NOTE You can’t delete the default bulge angle: a link must always have at least one bulge angle defined. To add a cross section: 1 On the Bulge Editor, make sure that the bulge angle you want to edit is displayed in the Current Bulge Angle field. 2 On the Bulge Editor toolbar, turn on (Insert CS Slice). 3 In the Profile view, click the link at the point where you want the cross section to be added. The cross section is created at the location you clicked. TIP You can also add cross sections to the child link. To delete a cross section: 1 In the Profile view, click to select a cross section. The selected cross section turns red. 2 On the Bulge Editor toolbar, click (Delete CS Slice). NOTE You cannot delete the default cross section at the joint between the link and its child. 5382 | Chapter 15 Character Animation To make a cross section the active cross section: ■ In Profile view, click a cross section to select it. The selected cross section displays in Cross Section view. You can change its shape by selecting and editing control points in Cross Section view. This will bulge the mesh at the location of the cross section. To select multiple cross sections: You can change parameters for multiple cross sections by selecting them and then adjusting parameters in the Cross Sections panel on page 5392. 1 On the Bulge Editor toolbar, turn on (Select And Translate CS). 2 In Profile view, click to select a cross section. 3 Select additional cross sections by doing one of the following: ■ Use Ctrl+click to add cross sections to the selection. ■ Drag a rectangular region in the Profile view. All cross sections that the region surrounds or crosses are selected. TIP Use Alt+click to remove a cross section from the selection. To move cross sections along the link: Moving a cross section repositions where on the mesh a bulge occurs. 1 Select the cross sections to move. 2 On the Bulge Editor toolbar, click (Select And Translate CS). TIP If you are moving a single cross section, you can skip step 1 and click the cross section after you click Select And Translate CS Slice. 3 Drag left or right in the Profile view to move the cross section (or cross sections) left or right. NOTE You cannot move cross sections through each other. Physique | 5383 To copy and paste cross sections: 1 Select the cross section to copy. 2 On the Bulge Editor toolbar, click (Copy Selected CS). 3 Select a cross section to paste over. 4 On the Bulge Editor toolbar, click (Paste Selected CS). The cross section you pasted now has the shape of the cross section you copied. NOTE You can copy a cross section and paste it to a similar cross section on another link. Create a bulge angle and an appropriate cross section on the target link before pasting. If necessary, use Mirror Selected CS after pasting. To change the shape of a cross section: 1 In the Profile view, click to select a cross section. 2 In the Cross Section view, use the transform tools to scale, or move, rotate the cross section's control points. You can also You can also use add or delete cross section control points. freehand drawing to add control points. To change the Profile view orientation: 1 In the Cross Section view, move the cursor to the outer end of the orientation bar. The cursor changes to a shape like the Cross Section view. 2 Drag to rotate the orientation bar. When you release the mouse, the Profile view updates to show the profile at the angle of the orientation bar. 5384 | Chapter 15 Character Animation Interface Toolbar Select, Scale, and Rotate Control Points Lets you select, scale, and rotate control points of a cross section in the Cross Section view. This is comparable to using the Move transform on geometry in viewports. Control points are simultaneously scaled and rotated around the link, which in effect "moves" them. Select a cross section in the Profile view first. Then select and move control points in the Cross Section view to change the bulge. Select and Rotate Control Points Lets you select and rotate control points in and around the center of the link in Cross Section view. This does not twist the mesh. If the cross section is not a circle, a bulge migrates around the mesh. Select and Scale Control Points Lets you select and scale control points about the link's center in the Cross Section view. If all cross section control points are scaled, the mesh bulges uniformly. Draw Control Points Lets you add control points by drawing freehand in the Cross Section view. The shape of the bulge changes based on the shape you draw. In the Cross Section view, you can draw the cross section interactively, placing control points at each resolution step. You can freeze existing control points Physique | 5385 by selecting them in the Cross Section view and holding down the Ctrl key as you draw. NOTE The number of control points created depends on the cross section Resolution (see Cross Sections panel on page 5392). TIP You can also use this too In Profile view. When you draw in Profile view, you change the profile of the bulge while placing a control point on each cross section of the bulge angle. This is useful mainly when the bulge angle uses multiple cross sections. You can rotate the orientation bar to draw whichever profile you desire. (Imagine the Cross Section view being like drawing around the arm, and the Profile view like drawing along the length of the arm.) Insert Control Points Lets you insert control points by clicking the cross section in the Cross Section view. A single control point is created each time you click. Adding control points and changing their position lets you sculpt the cross section and control exactly where a bulge occurs on the mesh. Delete Control Points Deletes control points. First select the control points in the Cross Section view, and then click this button. Previous Link and Next Link Move to the next or previous link in the hierarchy. The Cross Section and Profile views update to display the appropriate bulge geometry. IMPORTANT Profile view displays the parent link on the left and the child link on the right. Mirror Selected CS Mirror the cross section across the vertical plane running between the green profile reference points at the top and bottom of Cross Section view. In other words, clicking this button causes the bulge to appear on the opposite side of the link. Select and Translate CS Lets you select and move a cross section along its link. The bulge on the mesh migrates up and down the link as the cross section is moved. 5386 | Chapter 15 Character Animation Insert Cross Section Slice Lets you insert a cross section by clicking Profile view in the location you want the cross section to appear. A new cross section is created where you clicked, on either the parent or the child link. Extra cross sections give you more control of how and where the mesh bulges. Delete Cross Section Slice Deletes the currently selected cross section. First, select the cross section in Profile view. Copy Selected CS Copies the selected cross section. You can copy a cross section from one link to another link. Create a new bulge angle with an appropriate cross section in the target link first, then copy the cross section parameters form the source cross section, select the target cross section, and click Paste Selected CS. Paste Selected CS Pastes copied cross section parameters onto another cross section. First, select a cross section in Profile view, and click Copy. Then select another cross section in the Profile view, and click Paste. Set Bulge Angle Associates the effect of the current bulge angle with the skeleton's current joint angle. First, set the joint to the orientation at which you want the bulge to appear, then click this button. During animation, whenever the joint rotates near this angle, the mesh will bulge. Insert Bulge Angle Adds a new bulge angle for the selected link. The Current Bulge Angle field displays a bulge angle name with the number incremented. You can enter a descriptive name for any new bulge angle; for example, Arm at 90. By default, one initial bulge angle is created when Physique creates links. Only one additional bulge angle will allow you to bulge the mesh. You can create more bulge angles for further control, if you like. Delete Bulge Angle Deletes the current bulge angle. The current bulge angle displays in the Current Bulge Angle field. Physique | 5387 First select a bulge angle in the Current Bulge Angle dropdown, and then click Delete Bulge Angle. Select Nearest Bulge Angle When on, selects the bulge angle nearest to the current joint angle. If a joint bends over time, you can use this button in conjunction with the time slider to select a bulge angle. If you play the animation, you can see the Current Bulge Angle field change to reflect the bulge angle nearest to the current angle of the selected link and its child (if two or more bulge angles for the limb exist). Current Bulge Angle field and drop-down list Displays the current bulge angle. You can choose a bulge angle from the drop-down list to edit the bulge or change its name. To change the name, simply enter a new one in the edit field. TIP When you create a bulge angle, give it a descriptive name. When you create a new bulge angle by clicking Insert Bulge Angle, this field displays the default bulge angle name, which is the previous name with its sequence number incremented. Cross Section view Cross Section view displays an outline of the active cross section. In Profile view on page 5390, the active cross section is shown in a bright red color. In Cross Section view, you can edit cross sections to bulge the mesh. NOTE It is possible to select multiple cross sections in Profile view using either a rectangular selection region or Ctrl+click. This allows you to enter settings on the Cross Sections panel on page 5392 for all selected cross sections at once. Only one active cross section, however, can be viewed and edited in Cross Section view. (Selected but inactive cross sections are shown in a dark red color in the Cross Section and Profile views.) 5388 | Chapter 15 Character Animation These are the elements of the cross section display: Gray square at center Represents the link at the center of the cross section. Control points When unselected, are shown as small black crosses on the control spline. When selected, they are shown as black squares with a white center. Resolution lines Display as gray lines that surround the link radially. Control points snap to these lines as they are positioned. You can increase or decrease the resolution by changing the Resolution setting. This control is on the Bulge rollout in Bulge Sub-Object. The Cross Section view, however, always displays 36 resolution lines. Red line The control spline for the active cross section. The shape of the spline determines where mesh deformation occurs. Green line Represents actual mesh deformation. (Typically this is less exaggerated than the control spline.) When you drag the time slider or play an animation, this updates according to the angle of the limb and the bulge angle parameters. Orientation bar The bright yellow radius indicates the orientation of the “slice” shown in profile view. Profile view always shows a vertical profile of Cross Section view, indicated by the green dots at the top and bottom of the Physique | 5389 view, just outside the circle that contains the resolution lines. By default, the orientation bar is level at 3 o'clock. You can change the Profile view orientation by dragging the end of the orientation bar (the cursor changes to a miniature cross section). This lets you view different angles of the bulge in Profile view. Profile view Use Profile view to select, move, and copy cross sections on the selected link and its child. Highlight a cross section in Profile view to display and edit it in Cross Section view on page 5388. Profile view is a schematic profile of two links. The currently selected link is on the left, and its child link is on the right. If the selected link is an end link, the outline of the right half of the Profile view turns gray. Cross sections are shown as vertical bars across the profile. The active cross section is red. Unselected cross sections are white. Cross sections that are selected but not active are dark red. You can use a rectangular selection region or Ctrl+click to select multiple cross sections. Although only one cross section at a time is active in Cross Section view, you can use the Cross Sections panel on page 5392 to change parameters for multiple cross sections. Profile view shows a profile of the bulges you create. As in Cross Section view, the control spline is red and the deformation spline is green. 5390 | Chapter 15 Character Animation The profile is always a vertical profile of the Cross Section view. You can drag the orientation bar in Cross Section view to change the angle of the profile. To insert a new cross section, turn on Create CS Slice and then click Profile view to set the cross section's location. You can use the Draw tool in Profile view to change the control spline by freehand drawing. Drawing updates the cross section shapes. Bulge Angles panel At the right of the Bulge Editor are two panels for setting parameters. Use the Bulge Angles panel to change bulge settings for the currently active bulge angle. NOTE These parameters are the same as those in the Bulge Angle Parameters group on the Bulge rollout at the Bulge sub-object level. Changing a value in one location changes it in the other. Bulge Angles Click to display the Bulge Angles panel. Influence The range of angles through which the bulge influences the skin. Range=0 to 180. Default=90 degrees. Physique | 5391 For example, if you’ve set a bulge angle for the joint at 90 degrees, an Influence value of 40 means that the bulge effect begins to appear when the rotating joint reaches 50 degrees (90 minus 40) or 130 degrees (90 plus 40). Power Controls how smoothly or abruptly the bulge takes effect. At 0, the bulge takes effect immediately, without interpolated easing. As values increase, the bulge eases in gradually. A value of 10 will bulge the mesh abruptly when the set angle is reached. Range=0 to 10. Default=2.5. Weight Increases the effect of the current bulge angle relative to the effect of any other bulges. Range=0.0 to 100.0. Default=1.0. Cross Sections panel At the right of the Bulge Editor are two panels for setting parameters. Use the Cross Sections panel to change the cross section settings for a particular link. NOTE These parameters are the same as those in the Cross Section Parameters group on the Bulge rollout at the Bulge sub-object level. Changing a value in one location changes it in the other. Cross Sections Click to display the Cross Sections panel. Sections Sets the number of cross sections for the selected link. 5392 | Chapter 15 Character Animation TIP Rather than manually inserting cross sections in Profile view, use Sections to create cross sections. For a thigh or biceps bulge, you might need only one additional cross section in the middle of the link. Above: Sections=1 Below: Sections=8 Divisions Sets the number of control points on the selected cross sections. By default, control points are evenly distributed around the cross section control spline. Above: Divisions=4 Below: Divisions=8 Resolution Sets the number of radial divisions around the cross section. Control points snap to the nearest resolution line. Entire Link When on, selects all cross sections for all bulge angles in the selected link. Use this to globally change parameters for all cross sections on a link. Physique | 5393 Entire Link also affects Copy Selected CS and Paste Selected CS. While Entire Link is on, Copy Selected CS copies all cross sections for all bulges, and Paste Selected CS pastes all cross sections for all bulges. Entire Link is useful for copying all the bulges from one arm or leg to another. NOTE When you turn on Entire Link, a number of toolbar controls, including the Current Bulge Angle name field, become unavailable. On the Bulge rollout at the Bulge sub-object level, the Current Bulge Angle changes to read “Entire Link.” Physique Load Specification Dialog Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Physique rollout ➤ Click (Open Physique (.phy) File). ➤ Choose a file. ➤ Physique Load Specification dialog This dialog appears after you have chosen a Physique (.phy) file to load. It lets you specify which information you want to obtain from the file. 5394 | Chapter 15 Character Animation Interface At the upper left of the dialog are check boxes that let you specify which kind of data to load. Turn off a check box to avoid loading that kind of data. Link Settings Loads link parameters. Default=on. Bulges Loads cross sections and bulge angles. Default=on. Tendons Loads tendons. Default=on. Envelopes Loads envelopes. Default=on. Locked Vertices Loads locked vertices. All Links Selects all links to load. This button is enabled only if the number of saved links equals the number of open links. Click to select all links in both lists. If All Links is disabled, you must choose links by hand. Click the name of a link in a list to select it. Before you click OK, the number of links to load must equal the number of links to update. Physique | 5395 No Links Deselects all links in both lists. After deselecting all links, you must select the links to load and to update, before you click OK. Selected Links From File and Selected Links In Modifier At the left of the dialog is a list of the links that were saved in the file, and at the right is a list of links in the currently open Physique skin and skeleton. You can choose which links to update with the saved data. Physique Initialization Rollouts The topics in this section describe rollouts that appear on the Physique Initialization dialog. Vertex-Link Assignment Rollout Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Physique rollout ➤ Click (Attach To Node). ➤ Pick a root object in a viewport. ➤ Physique Initialization dialog ➤ Vertex-Link Assignment rollout Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Physique rollout ➤ Click (Reinitialize). ➤ Physique Initialization dialog ➤ Vertex-Link Assignment rollout On the Vertex-Link Assignment rollout, you can choose to create new envelopes and pick the type of blending between links. 5396 | Chapter 15 Character Animation Interface Deformable Creates deformable envelopes for the links. Default=chosen. Deformable envelopes determine vertex-link assignment based on the deformation spline that Physique creates through the links. Rigid Creates rigid envelopes for the links. Default=not chosen. Rigid envelopes determine vertex-link assignment based upon the linear links in the hierarchy. Blending Between Links This drop-down list lets you choose how links are initially blended. Default=N Links. TIP Typically, you should leave this set to the default of N Links. ■ N LinksVertices are influenced by all overlapping envelopes. Physique | 5397 ■ No BlendingVertices are influenced by only one (1) link. This allows a mesh with the Physique modifier applied in character studio 1 to work with character studio 3. Choose No Blending if you are developing characters for a game engine that doesn't support blending, or if you intend to use strictly character studio 1-style vertex-link assignments. ■ 2, 3, or 4 LinksVertices are influenced by more than one link, but the number of links is limited to 2, 3, or 4, depending on your choice. Choose one of these options if you are developing characters for a game engine whose support of blending is limited. Radial Falloff Envelopes group Create Envelopes When on, creates envelopes for the links. When off, envelopes are not created. Default=on. NOTE With no envelopes, you have to use hand-weighting for vertices. If you want to add envelopes when a model has none, reinitialize Physique. ■ Object Bounding BoxEnvelope size is based on the size of objects in the hierarchy, such as biped limbs, or bones. ■ Link LengthEach envelope has a Radial Scale that is one-third of the length of the link. Overlap Sets how far the envelopes overlap. Default=0.1. Smooth Sets the distance between the inner and outer bounds of an envelope by scaling the outer boundary. Range=0.0 to 10.0. Default=0.75. Falloff Sets the rate of falloff between the inner and outer boundary of an envelope. The falloff rate is a Bezier function. Range=0 to 10. Default=0.5. Cross Sections Rollout Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Physique rollout ➤ Click (Attach To Node). ➤ Select a root object in a viewport. ➤ Physique Initialization dialog ➤ Cross Sections rollout 5398 | Chapter 15 Character Animation Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Physique rollout ➤ Click Initialization dialog ➤ Cross Sections rollout (Reinitialize). ➤ Physique The Cross Sections rollout lets you globally set how cross sections are initialized. Interface Number Sets the initial number of cross sections per link. Default=2. Control Points Sets the initial number of control points per cross section. Default=4. Radial Snap Sets the initial number of snap positions per cross section (this is the value labeled “Resolution” in the Bulge Editor on page 5379 and at the Bulge sub-object level on page 5431. Sub-Object Options Dialogs The topics in this section describe support dialogs for Physique sub-object levels. Physique | 5399 Blending Envelope Display Options Dialog Select a mesh that has the Physique modifier applied to it. ➤ Modify panel ➤ Envelope sub-object level ➤ Blending Envelopes rollout ➤ Display group ➤ Click Display Options. This dialog lets you customize how Physique displays envelope blending at the Envelope sub-object level. 5400 | Chapter 15 Character Animation Interface NOTE All check box settings except Control Points are on by default. Selected Deformable Envelope and Selected Rigid Envelope groups These two groups have the same controls. By default, deformable envelopes are shown in red, and rigid envelopes are shown in green. Physique | 5401 Inner Envelope The check box toggles viewport display of inner envelopes. Click the color swatch to change the viewport color of the inner envelope boundary. ■ SidesSets the number of inner envelope sides shown in the viewport display. Outer Envelope The check box toggles viewport display of outer envelopes. Click the color swatch to change the viewport colors of the outer envelope boundary. ■ SidesSets the number of outer envelope sides shown in the viewport display. Weighted Vertices The check box toggles viewport display of weighted vertices. Click a color swatch to change viewport colors of weighted vertices in a particular percentage range. Selected Envelope Cross Sections group Cross Sections Toggles viewport display of cross sections. Click the color swatch to change the viewport color of selected cross sections. Control Points Toggles viewport display of control points. Click the color swatch to change the viewport color of selected control points. _____ Bezier Patch Handles Click to set the viewport color of Bezier patch handles. Exclude Envelopes Dialog Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Envelopes sub-object level ➤ Select an envelope. ➤ Blending Envelopes rollout ➤ Edit Commands group ➤ Click Exclude. At the Envelope sub-object level on page 5411, this dialog lets you exclude links from influencing other links. For example, you can exclude the right thigh link from influencing the left thigh link. Or, rather than scale the index finger envelopes to avoid influencing middle finger vertices, you might exclude the middle finger links from the index finger links. TIP You can leave this modeless dialog open while you choose links in the viewports. 5402 | Chapter 15 Character Animation NOTE If you have a Physique model created with character studio 1 or 2, excluding links will not work until you reinitialize Physique on page 5376 using the initial skeleton pose. In the Physique Initialization dialog, make sure Vertex-Link Assignments is turned on. Interface Link Envelopes list (left side) Displays the links available for exclusion. Selected links are not in this list. Exclude Envelopes for Selected Link list (right side) Displays envelopes to exclude from the current link selection. The text field displays the name of the selected link, or “Multiple Links Selected.” Right arrow Select links in the Link Envelopes List on the left, then click the right arrow to add them to the Exclude Envelopes For Selected Link list on the right. Physique | 5403 Left arrow Select links in the Exclude Envelopes For Selected Links list on the right, then click the left arrow to remove them from the exclusion list. Display Subtree When on, the Link Envelopes list increments links according to their level in the hierarchy. This visual aid can help you to find and select links. Default=off. Clear Clears all links from the Exclude Envelopes For Selected Link list. Bulge Angle Display Properties Dialog Select a mesh that has the Physique modifier applied to it. ➤ Modify panel ➤ Bulge sub-object level ➤ Bulge rollout ➤ Display group ➤ Click Display Options. This dialog lets you customize how Physique displays bulge angles at the Bulge sub-object level. 5404 | Chapter 15 Character Animation Interface Bulge Angle Display group Sides Specifies the number of sides the bulge angle envelope displays in the viewports. Default=4. Scale Specifies the scale of envelope display in the viewports. Default=1.1. Default Color Click to change the bulge angle envelope color in viewports. Active Viewport Display group Selected Cross Sections The check box toggles the display of selected cross sections. Default=on. Click the color swatch to change the color of selected cross sections displayed in viewports. Physique | 5405 Selected Control Points The check box toggles the display of selected control points. Default=on. Click the color swatch to change the color of selected control points displayed in viewports. Orientation Bar The check box toggles the display of the orientation bar on page 5389. Default=on. Click the color swatch to change the color of the orientation bar displayed in viewports. NOTE The orientation bar is displayed in the viewports when the Bulge Editor is open. Profile The check box toggles the display of the profile on page 5390. Default=on. Click the color swatch to change the color of the profile displayed in viewports. NOTE The bulge profile displays in the viewports when the Bulge Editor is open. Tendon Display Options Dialog Select a mesh that has the Physique modifier applied to it. ➤ Modify panel ➤ Tendons sub-object level ➤ Tendons rollout ➤ Display group ➤ Click Display Options. This dialog lets you customize how Physique displays tendons at the Tendons sub-object level. 5406 | Chapter 15 Character Animation Interface Tendon Cross Sections The check box toggles the display of tendon cross sections. Default=on. Click the color swatch to change the color of tendon cross sections displayed in viewports. Tendon Attach Points The check box toggles the display of tendon attach points. Default=on. Click the color swatch to change the color of attach points displayed in viewports. Tendon Attached Links The check box toggles the display of attached links. Default=on. Click the color swatch to change the color of attached links displayed in viewports. Selected Tendon Elements group Cross Sections Click to change the viewport color of selected cross section. Attach Points Click to change the viewport color of selected attach points. Physique | 5407 Attached Links Click to change the viewport color of selected attached links. Type-In Weights Dialog Select a mesh that has the Physique modifier applied to it. ➤ Modify panel ➤ Vertex sub-object level ➤ Vertex-Link Assignment rollout ➤ Vertex Operations group ➤ Click Select By Link. ➤ Click a link in a viewport. ➤ Lock Assignments ➤ Click Type-In Weights. Lets you enter a weight for selected locked vertices. To use this dialog, select one or more vertices, then lock them, click Type-In Weights to display the Type-In Weights dialog, use the lists in the dialog to select a link, and then change the weight to that link in order to position the vertices (vertex positions update in viewports as the weight changes). NOTE You'll primarily use Type-In Weights to correct flaws on low- to medium-resolution meshes. On a high-resolution mesh, adjusting envelopes should be used to correct deformation. TIP Adjust weights for stubborn vertices that fall in blended regions between two or more envelopes. Subtle adjustments can be made to the vertex weights of specific links that would be difficult to achieve by adjusting envelopes alone. 5408 | Chapter 15 Character Animation Interface Link Name Use the drop-down list to select a link and display the vertex weight to that link. Currently Assigned Links Only When chosen, displays only those links that presently influence the selected vertices. All Links When chosen, displays all available links. Weight Displays the vertex weight for the active link (the link currently displayed by the Link Name list). Use the spinner to change the weight value, if necessary. Absolute Uses an absolute value for vertex weight. Normalized This option is unavailable in character studio. Relative Scale Uses relative values for vertex weights. Physique | 5409 This is the mode of choice when you work on multiple vertices. If a particular link is not having a strong enough effect on the selected vertices, you should lock them, open the Type-In Weights dialog, select the link, and choose Relative Scale. Then you can enter relative values in the Weight field. For example, entering 1.0 leaves weights the same, while entering 2.0 would double the effect of the selected link on the selected vertices. List of links Displays a list of links, with weight values at the right. The weight field is blank when it displays absolute weights. (When more than one vertex is selected, each is likely to have a slightly different weight.) Click a link in this list to select it. Physique Sub-Objects Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ In the modifier stack display, expand the Physique sub-object hierarchy. The Physique modifier has five different sub-object levels. Each kind of sub-object has various controls. ■ Envelope on page 5411 Envelopes define a link's area of influence on mesh vertices. ■ Link on page 5419 Links are the segments of the Physique deformation spline on page 5420. Link sub-object controls adjust the way link movement affects the mesh. ■ Bulge on page 5431 Bulge controls are for creating flexing muscles. ■ Tendons on page 5441 Tendons provide a way for multiple links to affect an area of the mesh. 5410 | Chapter 15 Character Animation ■ Vertex on page 5447 For Physique, Vertex controls let you fine-tune the influence of envelopes. Physique Selection Status Rollout This rollout appears for all of the Physique sub-object levels. For all levels except Vertex, it shows the name of the hierarchy object associated with the active link. For the Vertex sub-object level, it prompts you to “Select Vertices” unless Select By Link or Assign To Link is active, in which case it displays the name of the hierarchy object associated with the active link, as it does at other sub-object levels. Envelope Sub-Object Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Bulge sub-object level Use Envelope sub-objects to adjust the way skin behaves. Each link has an envelope, and the shape of the envelope determines which vertices are affected by the link's movement. An envelope has an inner and an outer bound: outside these bounds, vertices are not effected. Inside these bounds, the envelope's influence is strongest at the inner bound. A Falloff setting lets you control how quickly influence falls as it approaches the outer bound. Envelopes also control blending: they provide smooth deformation of the skin across joints. Vertices that fall between overlapping envelopes receive influence from each, thus creating a smoothly blended transition. The outer bounds of the envelopes of adjacent links should overlap enough to provide a smooth blend at the joints. You can adjust the relative strength of envelopes, giving one link's envelope more influence than another. At the Envelope sub-object level, in addition to the settings already mentioned, you can adjust an envelope's Radial Scale. This is useful for making sure the envelope encloses vertices along the length of the link. The settings for Strength, Falloff, Radial Scale, and Overlap are grouped under Envelope Parameters on page 5416. Physique | 5411 Envelopes have cross sections. You can add cross sections to refine the shape of an envelope, and you can move or scale a cross section's control points to change the cross section's shape. (Cross sections are also used to create bulges on page 5431.) TIP You can also use tools on the Main toolbar to adjust envelopes. For example, you can use Non-Uniform Scale on envelopes and cross sections, or use Select And Move to move envelopes, cross sections, or control points on cross sections. Workflow The goal is to modify the envelopes so each vertex in the mesh is encompassed by at least one link's envelope. Usually the first adjustment is to assign a rigid envelope to the character's head. A rigid envelope blends with other envelopes but retains the shape of the mesh. The head should not deform with the deformation spline. With Initial Skeletal Pose turned on, check that the envelopes enclose all areas of the mesh. If you turn off Initial Skeletal Pose, the character adopts its animated position at the current frame. Use an animation that stretches the character around, such as a run or dance motion. Find a frame where the envelopes need adjusting, and edit the envelope parameters. Changing the envelopes with the character in an animated position will always reference the Initial Skeletal Pose. These are some frequently encountered problems with the default vertex assignment: ■ Vertices that don’t follow the skeleton. To correct this, increase the Radial Scale of an envelope's outer boundary. ■ Vertices at joints get pushed or dented in. Too many envelopes might be affecting these vertices. Try reducing the Radial Scale of the inner bound, and reduce the Overlap values of the links on both sides of the joint. ■ Bending appears too linear or broken at the joint. Increase the envelope’s outer Overlap value toward the link on the other side of the joint. Some further adjustments are described in the “Procedures” section that follows. 5412 | Chapter 15 Character Animation NOTE An envelope does not need to enclose Patch tangent handles. It needs to enclose only the patch vertices. This relieves you from having to scale the envelopes to a large size to encompass tangent handles. Procedures See Adjusting Default Envelope Shape on page 5323 Interface Controls for Envelope sub-objects are on the Blending Envelopes rollout. Physique | 5413 Selection Level group Link Turn on to select links in the viewports and edit the selected link's envelope parameters. For example, you might turn on Link, select a biceps link, Ctrl+click to add the opposite bicep to the selection, then edit envelope parameters for both links at the same time. Cross Section Turn on to edit envelope cross sections, changing the envelope's shape and thus its area of influence. For example, you might turn on Cross Section, select a cross section on the inner or outer boundary of an envelope, and then move or scale it. You might Non-Uniform Scale the cross section of a collar envelope so it avoids vertices in the chest area. Control Point Turn on to edit the control points on a cross section. For example, you might turn on Control Point, select a point on a cross section of an envelope, and move the point to change the envelope's shape and area of influence. Previous and Next Click to move to the next or previous link, cross section, or control point, depending on which selection level is active. Active Blending group 5414 | Chapter 15 Character Animation Deformable When on, enables a deformable envelope for the selected links. Default=on. By default, deformable envelopes are shown in red. Rigid When on, enables a rigid envelope for the selected links. Default=off. By default, rigid envelopes are shown in green. IMPORTANT You can have both a deformable and a rigid envelope turned on for the same link. Normally, you use one or the other. By non-uniform scaling the rigid and deformable envelopes for one link, you can position one envelope on top of the other. For example, you could control the shoulder with a rigid envelope and the armpit with a deformable envelope. Both envelopes can also be turned off for a link. Partial Blending Turns on partial blending for the selected links. Leave either a deformable or rigid envelope on, and then turn on Partial Blending. Physique calculates the weights of each link on a given vertex. If Partial Blending is off, and the total weight is less than 1, Physique normalizes the combined weight to 1. If Partial Blending is on, the weights are allowed to remain at a value of less than 1. The remainder is filled in by the root node, the equivalent of no influence. See Partial Blending and Weight Assignments on page 5337 for a detailed explanation of how Physique calculates these values. Physique | 5415 Partial Blending on all the deformable envelopes for the bones in this character’s jaw allows smooth mesh deformation when the bones are moved. Envelope Parameters group Envelope type drop-down list Shows the type of the selected envelope. If the link has both a rigid and a deformable envelope, you can use this list to choose which envelope's parameters you are adjusting. 5416 | Chapter 15 Character Animation Strength Changes the strength of the envelopes. Range=0.0 to 100.0. Default=1.0. Strength applies to both the inner and outer envelope bounds. Used primarily for areas where envelopes overlap, and you want one to be more influential than the other. Falloff Changes the rate of falloff between the inner and outer bounds of an envelope. This is a Bezier curve function. Range=0.0 to 1.0. Default=0.1. Vertices within the inner bound are fully influenced (weight=1.0) and those beyond the outer bound get no influence from the link (weight=0.0). Falloff determines the rate at which the influence falls off from 1.0 to 0.0. The Inner, Outer, and Both buttons determine whether the controls that follow, Radial Scale, Parent Overlap, and Child Overlap, apply to the envelope's inner bound, its outer bound, or both at once. First, use the buttons to choose which bounds to adjust, then change values in the spinners. Inner Turn on to change the values of the inner bound. Outer Turn on to change the values of the outer bound. Both Turn on to change the values for both inner and outer bounds at the same time. When Both is selected, the values displayed for Radial Scale and Parent and Child Overlap reflect the values for the inner bound. Radial Scale Radially scales the envelope bounds. Range=0.0 to 100.0. Default=1.0. Parent Overlap Changes the envelope's overlap with the parent link in the hierarchy. Range= -1.0 to 10.0. Default=0.1. A value of 0.0 causes the end of the envelope to fall on the joint. Values less than 0.0 bring the envelope inside the link, and values above 0.0 will overlap onto the adjoining link. Child Overlap Changes the envelope's overlap with the child link in the hierarchy. Range= -1.0 to 10.0. Default=0.1. A value of 0.0 causes the end of the envelope to fall on the joint. Values less than 0.0 bring the envelope inside the link, and values above 0.0 will overlap onto the adjoining link. Physique | 5417 Edit Commands group NOTE Which buttons are available in this group will vary, depending on whether Links, Cross Sections, or Control Points is the active selection level. Insert Inserts a cross section or control point on a cross section. Delete Deletes a cross section or control point. Copy Copies an envelope or cross section. Paste Pastes an envelope or cross section. Exclude Clicking this button displays the Exclude Envelopes dialog on page 5402. You can exclude a link from influencing another link. For example, you can exclude the right thigh link from influencing the left thigh link. Or, rather than scale the index finger envelopes to avoid influencing middle finger vertices, exclude the middle finger links from the index finger links. Mirror Mirrors the envelopes on a selected link, or mirrors selected cross sections in an envelope. After a Mirror operation, you can adjust the orientation by clicking Rotate on the Main toolbar, choosing Local coordinates, and then clicking and dragging the link or cross section. TIP To copy an envelope to its mirror, the sequence should be Copy, select the opposite link, Paste, then Mirror. 5418 | Chapter 15 Character Animation Display group Interactive Redraw When on, Physique dynamically updates the mesh while you adjust envelopes. When off, the mesh updates only when you enter a final value (you press Enter or Tab, or release the mouse). Default=on. Initial Skeletal Pose When on, puts the mesh character in the pose it was in just before Physique was applied. Default=off. Display Options Clicking this button displays the Blending Envelope Display Options dialog on page 5400, which lets you customize envelope display. Shaded Toggles shaded display of vertex weights in the viewports. Default=off. Link Sub-Object Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Link sub-object level Use parameters at the Link sub-object level to change how deformation around joints occurs. When a joint in the skeleton bends or rotates, Physique, by default, deforms vertices uniformly on either side of a joint. You can change these defaults by using the tools at the Link sub-object level. For example, you can adjust the amount of skin sliding that occurs along a limb as the limb bends, or change the angle of the crease between the upper arm and chest. Physique | 5419 The Physique Deformation Spline The deformation spline displays as a yellow curve that runs through the mesh. Like a spline object, the deformation spline created by Physique is a continuous curve through several points. While a spline object runs continuously from 5420 | Chapter 15 Character Animation vertex to vertex, the deformation spline is a smooth curve running from joint to joint. The Bend, Bias, and Tension spinners can change the shape of the curve, much as you can rotate or scale the handles at a spline vertex. The deformation spline also takes into consideration twisting and scaling of the skeleton’s links. At the Link sub-object level, you take control of the behavior of the deformation spline, and subsequently gain full control of the skin’s behavior relative to the skeleton’s movement. Link Settings Rollout Select a mesh that has the Physique modifier applied to it. ➤ panel ➤ Link sub-object level ➤ Link Settings rollout Modify Controls on the Link Settings rollout let you adjust the behavior of the selected link. See also: ■ Joint Intersections Rollout on page 5428 Physique | 5421 Interface Active When on, activates the selected link. Default=on. Turning off Active makes the link unavailable for vertex assignment, meaning that the link has no influence on any vertices. Vertices within range of this 5422 | Chapter 15 Character Animation link are not influenced by it, and can be “picked up” by other nearby envelopes, or can be manually assigned (without blending) to any other link. Turning off Active makes Physique ignore the link as if it were never part of the skeleton. Continuity Maintains a smooth transition across the joint from the parent link to the current link. Default=on. When Continuity is on, the effect of the link parameters passes smoothly across the joint to the connected link. When Continuity is off, Bend, Twist, and Radial Scale settings are limited to the current link, which produces an abrupt transition across the joint. This is analogous to breaking the spline handles on a spline shape. Bulge Editor Displays the Bulge Editor on page 5379. The Bulge Editor displays bulge cross sections schematically, letting you create and edit bulge controls. Reinitialize Selected Links Reinitializes the link and its vertex parameters based on the current link parameter settings. Clicking Reinitialize Selected Links does not change vertex assignments or manual reassignments. For example, increasing the tension of a link can cause the spacing to change for the link’s cross sections. Reinitialize Selected Links smoothes the spline, and makes cross section spacing even again. Think of the skin being snugly stuck to the link. As the link parameters change, the vertices can bunch up or stretch out. Clicking Reinitialize lets the skin “slip” to its original shape, establishing a new relationship to the deformation spline. Bend group Tension Sets the smoothness of a joint. Tension affects the curvature of the deformation spline through the joint. A low value, near 0.0, makes the spline linear and creates a sharp angle at the joint, like bending a hinge. High values, near 2.0, make the spline smooth through the joint, creating a rounded joint, like bending a firm hose. Range=0.0 to 2.0. Default=0.5. Physique | 5423 Bias Displaces the pivot point about which vertices are bent. Bias pushes the effect along the spline toward one side of the joint or the other. The default value of 0.5 centers the bend at the joint. Values lower than 0.5 move the pivot onto the child link. At 0.0, the bend effect is limited to the selected link. Range=0.0 to 1.0. Default=0.5. Twist group Twist parameters control the way the skin deforms when a joint rotates along its length, as in turning a doorknob. Use Twist for Rigid When on, twist is used for rigid as well as deformable envelopes. Default=off. Turn off for the rigid envelope for a character's head: the head should not twist along the length of the link. You might want to turn this on for the forearm or upper-arm link if you’re using rigid envelopes. Tension Values lower than 1.0 concentrate the effect closer to the joint. Values higher than 1.0 move the effect away from the joint. Range=0.0 to 2.0. Default=1.0. Bias Shifts the distribution of the twist from one side of the joint to the other. The default value of 0.5 twists the selected link and the child link equally. Values greater than 0.5 shift the twist to the child link. Range= 0.0 to 1.0. Default=0.5 Sliding group 5424 | Chapter 15 Character Animation Skin sliding parameters control the amount of skin sliding that occurs when a joint rotates. Without skin sliding, vertices closest to the joint tend to compress on the inside and stretch apart on the outside, generally revealing the segments of the mesh. Outside sliding causes the vertices around the joint to move toward the joint, preventing localized stretching on the side that is greater than 180 degrees. Inside sliding causes the vertices to relax and slip away from the joint, preventing bunching of vertices on the side having an angle less than 180 degrees. TIP Use sliding for knees and elbows. Inside As values increase, skin moves away from the joint. Range=0.0 to 1.0. Default=0.0 (no inside sliding). Outside As values increase, skin moves toward the joint. Range=0.0 to 1.0. Default=0.0 (no outside sliding). Above: Inside and Outside set to 0.0 (no sliding) Below: Inside and Outside set to 0.25 (sliding creates a smoother bend) Physique | 5425 FallOff As values increase, the effect is localized to the joint. Range=0.0 to 1.0. Default=0.5. Radial Scale group Radial Scale parameters expand or contract the skin by scaling the radial distance perpendicular to the link. They apply to any combination of user-definable scale, bulge settings, or link length. Tension Values between 0.0 and 1.0 concentrate the effect closer to the joint. The effect is closest to the joint when Tension is 0.0. Values greater than 1.0 move the effect away from the joint. Range=0.0 to 2.0. Default=0.5. Bias Shifts the effect of radial scaling. At the default value of 0.5, scaling affects both the selected link and the child link. Values lower than 0.5 shift the scaling effect onto the selected link, and values greater than 0.5 shift scaling onto the child link. At 0.0, expansion and contraction are limited to the selected link. At 1.0, expansion and contraction are limited to the child link. Range=0.0 to 1.0. Default=0.5. Link Scale Scales the entire link radially, independent of the effect of any cross sections. At 1.0, the link is “actual size” and this setting has no effect. Other values increase or decrease the radial scale of the link. Range=0.0 to 10.0. Default=1.0. CS Amplitude Cross section amplitude has no effect unless the link has bulge angle cross sections. At 0.0, cross section deformation is turned off. Values greater than 1.0, up to the maximum of 10.0, exaggerate the effect of cross sections. Default=1.0. Stretch When on, preserves the volume of the link’s skin when the length of the link changes. The effect is similar to stretching or squeezing a material that is only partly elastic, such as a tough rubber hose. Default=off. 5426 | Chapter 15 Character Animation Above: Stretch is turned on. Below: Stretch is turned off. As the bones change in length, the mesh expands and contracts when Stretch is on. Breathe When on, scaling a skeleton node changes the radial scale of the link’s skin. When off, scaling a node has no effect on the scale of the skin. Default=off. Physique | 5427 Above: Breathe is turned on: the mesh is scaled as the object is scaled. Below Breathe is turned off: object scaling doesn't effect the mesh. The linked objects are shown in white. The lowest, largest object is the one that has been scaled. These linked objects were used as the hierarchy for Physique. Joint Intersections Rollout Select a mesh that has the Physique modifier applied to it. ➤ panel ➤ Link sub-object level ➤ Joint Intersections rollout Modify When a joint bends, the skin can "collide." Without collision detection, it can overlap unrealistically. This is especially likely when one or both of the links have bulges. The joint intersection controls can detect skin collisions and correct overlap by creasing the skin. By default, Physique draws a crease plane that bisects the joint and prevents vertices from each link from crossing the crease plane. The result can be a somewhat unnatural flattening of the bulges along the plane. Physique therefore provides controls that let you modify the effect of the crease plane. Properly adjusted crease plane 5428 | Chapter 15 Character Animation You can modify the effect of the joint creases at both ends of the selected link. These joints are the parent’s joint and the link’s joint. Blend From and Blend To points define the distance along the link that is affected by the crease plane. ■ The parent’s joint is between the selected link and its parent. The parent’s joint is numbered 0. For the parent joint, the joint is at 0.0 and the crease plane has an effect from the joint to the Blend From point. Between Blend From and Blend To, the crease plane has a partial effect, adjusted by the Bias setting. Vertices at locations greater than the Blend To point are not affected by the crease plane. ■ The link’s joint is between the selected link and its child. The link’s joint is numbered 1. For the link’s joint, the joint is at 1.0 and the crease plane has an effect from the joint to the Blend To point. Between Blend To and Blend From, the crease plane has a partial effect, adjusted by the Bias setting. Vertices at locations less than the Blend From point are not affected by the crease plane. Procedures To adjust joint intersection parameters: 1 With Physique active on the sub-object level. Modify panel, go to the Link 2 In a viewport, click the link you want to work with. 3 Select Active for the crease you want to manipulate: choose Crease At Parent's Joint or Crease At Link's Joint. 4 Change settings on the Physique Joint Intersections rollout. 5 Select the opposite link and adjust the opposite set of joint intersection parameters. For example, if you are working with the joint between the selected link and its child (such as the biceps link), turn on Active for Crease At Link's Joint and change settings. Then select the child link (the forearm) and activate its Crease At Parent's Joint. Adjustments to the Parent's Joint for this link affect the other side of the same crease. Physique | 5429 Interface Both the parent's and the link's joint have the same controls: Active Turns off the effects of the joint intersection controls. When this box is cleared, Physique makes no compensation for overlapping bulges. Default=off. Blend From The area between Blend From and Blend To contains vertices that are partially affected by the crease plane. These vertices will be shifted, but not as much as those between the crease plane and the point where this joint begins to blend (Blend From in the parent's case, Blend To in the link's case). The distance of the vertices from the crease plane determines the exact amount of shifting. Vertices within the blend region that are closer to the intersection plane are shifted more than the vertices further away from it. Default=0.0. Blend To Indicates the distance beyond which the crease plane has no effect. Default=1.0. Bias Sets the strength of the crease plane effect within the blended region. A value of 0.0 means that the intersection plane will have no effect within the 5430 | Chapter 15 Character Animation blended region; a value of 1.0 means that it will have a full effect within the blended region. Default=0.25. Bulge Sub-Object Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Bulge sub-object level After you have edited envelope sub-objects on page 5411 for good overall mesh deformation, you can create bulges to simulate muscle contraction and expansion when a character’s joint rotates. A bulge angle requires two links: the selected link, and the child link of that selection (for example, an upper arm and forearm). The joint that separates the two is referred to as the bulge joint. Any rotation applied to this joint becomes the angle used to center the effect of a bulge angle. Physique creates a single default bulge angle for each bulge joint in the attached skeleton. The angle of this joint is that of the initial skeleton pose. This is the pose the skeleton had when the Physique modifier was applied to the skeleton, or when you use Reinitialize on page 5376 and turn on Initial Skeleton Pose in the Physique Initialization dialog. To create a bulge, you need to add only a single additional bulge angle. You can add further bulge angles to refine the bulge effect. Workflow to Create a Biceps Bulge The overall steps for creating a biceps bulge are: ■ Insert a new bulge angle. Give the new bulge angle a custom name and color. ■ Set the bulge angle at a point where the joint is flexed; for example, at 90 degrees. ■ Insert a cross section on the upper arm. ■ Use control points (or the Bulge editor on page 5379) to shape the bicep bulge. The following paragraphs elaborate these steps. Physique | 5431 Above: Default bulge angle at the initial pose. Below: Bicep bulges at the custom bulge angle of 90 degrees. The new bulge angle has been assigned a red color. To create a biceps bulge angle, go to the Bulge sub-object level. In the Selection Level group, turn on Link. Select the upper arm link, then click Insert Bulge Angle; the bulge angle name increments from 0 to 1 in the Current Bulge Angle field, indicating that a new bulge angle has been created. Type a descriptive name for the new bulge angle in the Current Bulge Angle field; for example, Arm at 90. Click Bulge Angle Color and select a color for the newly created bulge angle. When Select Nearest Bulge Angle is active, the bulge angle color changes as the joint bends; this is a good visual indicator of which angle has the most influence at any given frame. Scrub the time slider to a frame where the arm is bent to 90 degrees, then click Set Bulge Angle (you can also rotate the joint). NOTE The Set Bulge Angle command records only the angle between the biceps and forearm, not the frame number where that angle occurs. The bulge will occur at any frame where the elbow is at the bulge angle. In the Selection Level group, click Cross Section. Then in the Cross Section Parameters rollout, click Insert. In a viewport, position the cursor over the upper arm link, and click to place the new cross section for the biceps. 5432 | Chapter 15 Character Animation On the Selection Level rollout, click Control Point. To shape the cross section, move the cross section control points in the viewports, creating a bulge. Click Play. The biceps should grow as the angle of the character’s arm approaches 90 degrees. If Select Nearest Bulge Angle is active, the bulge angle gizmos change colors, depending on which angle has the greatest influence. Go to the Link selection level and use Copy, Paste, and Mirror to create an identical bulge angle for the opposite arm. TIP When you use Physique with a biped, load a .bip file that will rotate the character’s limbs. Turn on In Place mode before you scrub the time slider to locate appropriate limb angles. This keeps the character (the biped) in the viewports. Bulge Editor The Bulge Editor on page 5379 duplicates many of the controls at the Bulge sub-object level. The benefit of using the Bulge Editor is that bulge angle data is represented graphically, and provides an alternative way of creating, selecting, and editing cross sections. Rather than editing cross section control points in the viewports to "bulge" the mesh, you might prefer to open the Bulge Editor and move control points in the Bulge Editor’s Cross Section view. Procedures To create a new bulge angle on a selected link: 1 With the Bulge sub-object level active, click Level group. (Link) in the Selection 2 Select a link in a viewport. 3 Click (Insert Bulge Angle). This creates a new bulge angle. The name in the Current Bulge Angle field increments. NOTE By default, one bulge angle is created by Physique in the initial skeletal pose; the arm is usually straight in this pose. 4 In the Current Bulge Angle field, enter a name, such as Arm at 90. 5 Click the Bulge Angle Color swatch and choose a color in the color selector. This makes identification easier. Physique | 5433 Now you need to set a joint angle for the newly created bulge angle. 6 Drag the time slider until the joint is at the desired angle. If the skeleton is not yet animated, you can exit the Bulge sub-object level, rotate the skeleton's joint until it is at the desired angle, then return to the Bulge sub-object level. 7 Click (Set Bulge Angle). The joint angle between the link and its child is recorded (for example, if a biped's upper arm link is selected, Set Bulge Angle records the angle created by the upper arm and the forearm.) 8 In the Selection Level group, click (Cross Section). Then in the Cross Section group, click Insert. In a viewport, click the link at the point where you want the new cross section to be. 9 Scale the cross section or move its control points to create the bulge. To move individual control points, use the level. (Control Point) selection 10 Enter 80.0 in the Influence field. If the bulge angle is for a biceps bulge when the forearm and upper arm create a 90-degree angle, the bulge begins to appear at 10 degrees. To copy all Bulge angles from one link to its opposite: 1 Go to the Bulge sub-object level. 2 In the Selection Level group, click select a link to copy. (Link). In a viewport, 3 Choose Entire Link from the Current Bulge Angle drop-down list. 4 In the Cross Section Parameters rollout, click Copy. 5434 | Chapter 15 Character Animation 5 In a viewport, select the opposite link. 6 In the Cross Section Parameters rollout, click Paste, and then click Mirror. All the bulge angles from the first link are pasted to the opposite link, then mirrored. To choose a specific bulge angle for editing: 1 Click the arrow of the Current Bulge Angle drop-down list. The full list of bulge angle names appears for the current link. 2 Click the name of the bulge angle you want to edit. The viewports update to show the cross sections associated with the newly selected bulge angle. To change a bulge angle value: 1 Make sure the bulge angle's name is displayed in the Current Bulge Angle drop-down list. 2 Drag the time slider to a frame that displays the angle you want to record, or use transforms to change the angle between the active link and its child link. 3 In the Bulge Angle Parameters group, click (Set Bulge Angle). To delete a bulge angle: 1 Click the arrow of the Current Bulge Angle drop-down list. The full list of bulge angle names is displayed. 2 Click the name of the bulge angle you want to delete. 3 Click (Delete Bulge Angle). You can’t delete the default bulge angle: a link must always have at least one bulge angle defined. Physique | 5435 To use Select Nearest Bulge Angle: The Select Nearest Bulge Angle button can help you identify the bulge angle that has the greatest effect at the current pose. 1 In the Selection Level group, click 2 Scrub the time slider or (Select Nearest Bulge Angle). rotate the joint. The bulge angle named in the drop-down list changes to show the most influential bulge at each skeleton pose. Interface Controls for the Bulge sub-object level are on the Bulge rollout. 5436 | Chapter 15 Character Animation Selection Level group Link Turn on to select links in the viewports. The Copy, Paste, and Mirror commands are enabled for links. Cross Section Turn on to select and edit cross sections in order to "bulge" the mesh. The Insert, Delete, Copy, Paste, and Mirror commands are enabled for cross sections. Control Point Turn on to edit cross section control points. Previous and Next Click to select the next or previous link, cross section, or control point, depending on the selection level. Bulge Editor Click to display the Bulge Editor on page 5379, which lets you create and edit bulge angles using the schematic Cross Section and Profile views Select Nearest Bulge Angle Turn on to select the bulge angle nearest to the current joint angle. If a joint bends over time, this lets you use the time slider to select a bulge angle. If you click Play, you can see the Current Bulge Angle field change to reflect the nearest bulge angle to the current angle of the selected link and its child (if two or more bulge angles for the limb exist). Current Bulge Angle (field and drop-down list) Displays the current bulge angle. You can enter a descriptive Physique | 5437 name for a newly created bulge angle. When you click Insert Bulge Angle, this field displays the new bulge angle name. Use the drop-down list to select other bulge angles. Entire Link This choice in the Current Bulge Angle drop-down list selects all cross sections for all bulge angles in the active link. Use this to change cross section settings globally for a link. This also affects the Copy and Paste commands. While Entire Link is chosen, Copy Cross Section copies all cross sections for all bulges, and Paste Cross Section pastes all cross sections for all bulges. TIP Entire Link is useful for copying all the bulges from one arm or leg to another. Bulge Angle Color Click the color swatch to change the color of the current bulge angle. Giving each bulge angle a different color is a convenient way to distinguish between them. Bulge Angle Parameters group Set Bulge Angle Changes the angle value to the skeleton’s current joint angle on the current bulge angle (visible in the Current Bulge Angle field in the Selection Level group). First use Move or Rotate in a viewport to change the angle between the selected link and its child, then click Set Bulge Angle. Insert Bulge Angle Adds a new bulge angle for the selected link. The Current Bulge Angle field displays a bulge angle name with the number incremented. You can enter a descriptive name for a new bulge angle, such as Arm at 90. 5438 | Chapter 15 Character Animation By default, one Bulge Angle is created in the Figure mode pose when Physique creates links. Only one additional bulge angle is needed to bulge the mesh. You can create more bulge angles for further control, if you want. Delete Bulge Angle Removes the current bulge angle from the selected link. You cannot delete the default bulge angle. Influence The range of angles through which the bulge influences the skin. Range =0 to 180. Default=90 degrees. For example, if you’ve set a bulge angle for the joint at 90 degrees, an Influence value of 40 means that the bulge effect begins to appear when the rotating joint reaches 50 degrees (90 minus 40) or 130 degrees (90 plus 40). Power Controls how smoothly or abruptly the bulge takes effect. At 0.0, the bulge takes effect immediately, without interpolated easing. As values increase, the bulge eases in gradually. A value of 10.0 will bulge the mesh abruptly when the set angle is reached. Range=0 to 10.0. Default=2.5. Weight Increases the effect of the current bulge angle relative to the effect of any other bulges. Range=0.0 to 100.0. Default=1.0. Cross Section Parameters group Sections Sets the number of cross sections for the selected link. Physique | 5439 Divisions Sets the number of control points around the cross section. By default, control points are evenly distributed around the circumference of the cross section. Resolution Sets the number of radial divisions around the cross section. Control points snap to the nearest resolution line. NOTE The buttons that follow, Insert, Delete, Copy, Paste, and Mirror, work according to which level is active in the Selection Level group. Insert Creates a new cross section or control point. Delete Deletes the active cross section or control point. Copy Copies the active link (with its bulge angles) or cross section. Paste Pastes a link (with its bulge angles) or cross section. To copy and paste all the bulge angles from one link, choose Entire Link from the Current Bulge Angle drop-down list, and then click Copy. Select the opposite link and click Paste. Click Mirror to mirror the pasted link parameters. Mirror Mirrors bulge angles and cross sections on bulge angles. If necessary, you can then use Select And Rotate to orient the bulge angles and cross sections. Display group Interactive Redraw Turn on to deform the mesh in real time while you edit cross sections in the viewports. Turn off to update the mesh only when you release the mouse. Default=on. TIP Turn off Interactive Redraw when working on a slow system, or with a dense mesh that takes a long time to compute. Initial Skeletal Pose When on, puts the mesh into its original pose; that is, the pose it was in when Physique was first applied. Default=off. 5440 | Chapter 15 Character Animation Display Options Click to display the Bulge Angle Display Properties dialog on page 5404, which lets you customize the viewport display of bulges. Tendons Sub-Object Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Tendons sub-object level While envelopes provide smooth skin deformations, tendons provide additional stretching in much the same way that actual human tendons do. For example, you might create pulling in the wrist (several joints away) when the fingers are moved. After adjusting the envelope sub-objects on page 5411 for good mesh deformation, you can use tendons to control the amount of skin stretching across multiple links. Workflow Example To create a tendon from the spine to the upper arm, go to the Tendon sub-object level. Select a spine link. In the Insert Settings group, click to turn on Insert, and then click the selected link to position the tendons. A tendon cross section is added to the link. Turn off Insert. In the Selection Level group, turn on Cross Section. Using the Rotate tool (on the Main toolbar), rotate the cross section so its control points are in useful locations. In the Tendon Parameters group, use the Radius spinner to scale the cross section radius so the control points fall close to the surface of the skin. In the Selection Level group, turn on Control Point. Select a control point on the spine tendon's cross section, click Attach, and then click the arm link. A tendon stretches from the spine to the arm. Finally, adjust the values of Pull, Pinch, and Stretch to refine the movement of the skin. Physique | 5441 Tendons connecting upper chest to arms Procedures See Creating Tendons on page 5344 Interface Controls for Tendon sub-objects are on the Tendons rollout. 5442 | Chapter 15 Character Animation Selection Level group Link Click to select a link. Cross Section Click to select and edit tendon cross sections. Control Point Click to edit control points on tendon cross sections. Previous and Next Click to go to the previous or next link, tendon cross section, or control point (depending on the active selection level). Insert Settings group Sections Sets the number of base cross sections for the tendon. Default=1. Attach Points Sets the number of attach points around the tendon’s base cross section. Default=6. Resolution Sets the radial resolution around the base cross section. Attach points are constrained to one of the radial resolution lines. Default=60. Insert Turn on to insert a new cross section on the selected link, or to insert a control point on a cross section. The action depends on the active selection level: Link, Cross Section, or Control Point. Delete Click to delete the selected cross section or control point. Physique | 5443 The action depends on the active selection level: Link, Cross Section, or Control Point. Tendon Parameters group Radius Scales attach points relative to the center of the cross section. Default=The average circumference of the skin where the tendon base is located. Pull Defines the strength of pull along the length of the link. Default=1.0. Pinch Defines the amount of pinch around the link circumference of the tendon base. Default=1.0. Stretch Defines the amount of stretch toward the attached link. Default=1.0. The Pull, Pinch, and Stretch values work together to control, along a particular dimension, the strength of the one link (the attached link; call it link B) on vertices assigned to another link (the link where the tendon cross sections are inserted; call it link A). Vertices on link A behave as if they were under the influence of link B. Pull, Pinch, and Stretch can all range from -2.0 to 2.0. At the default value of 1.0, the tendon's effect is full strength. Reducing the value of these parameters to a value between 0.0 and 1.0 reduces the strength of the tendon's effect. At values below 0.0, the tendon deforms the skin in the opposite direction. Pull, Pinch, and Stretch values between 1.0 and 2.0 cause an exaggerated effect, which is not usually needed for realistic effects. TIP Setting Stretch less than 0.0 can be useful in regions where movement typically pulls the skin inwards, as in the collarbone area or the buttocks. 5444 | Chapter 15 Character Animation TIP As a general rule, leave the tendon values at 1.0 when the tendon is attached to a nearby link. For example, leave them at 1.0 between the upper spine (at the chest) and the arms. Reduce the Pull, Pinch, and Stretch values to reduce the tendon's effect when the tendon is attached to a more distant link. For example, reduce them between a lower part of the spine and the arms. Edit Commands group Attach To attach a point, select the point, click to turn on Attach, then in a viewport, click a different link. Detach At the Control Point selection level, detaches the tendon of the selected control point. At the Cross Section selection level, detaches all of the cross section's attached tendons. At the Link selection level, detaches all attached tendons on all cross sections of the selected link. Upper Boundary Conditions group Connect to Child Link When on, allows tendons to affect the child link. This lets you connect tendons across several links. Otherwise, there is a boundary between the links where no tendon effect occurs. Default=off. Upper Bound Sets the upper boundary overlap. Upper Boundary values greater than 1.0 affect the child link. Default=1.0. Physique | 5445 WARNING Tendons that span several links can conflict with joint intersection parameters. In these cases, go to the Link sub-object level on page 5419, and turn off Active to deactivate the joint intersection parameters for the joints that the tendon spans. (These controls are in the Joint Intersections rollout on page 5428.) Pull Bias, Pinch Bias, Stretch Bias Set the upper boundary falloff effect for these tendon parameters. Values of 0.0 have no effect. Increasing the value shifts the Pull, Pinch, or Stretch effect toward the child. Default=0.5. Lower Boundary Conditions group Connect to Parent Link When on, allows tendons to affect the parent link. This lets you connect tendons across several links. Otherwise, there is a boundary between the links where no tendon effect occurs. Default=off. Lower Bound Sets the lower boundary overlap. Lower Boundary values less than 0.0 affect the parent link. Default=0.0. WARNING Tendons that span several links can conflict with joint intersection parameters. In these cases, go to the Link sub-object level on page 5419, and turn off Active to deactivate the joint intersection parameters for the joints that the tendon spans. (These controls are in the Joint Intersections rollout on page 5428.) Pull Bias, Pinch Bias, Stretch Bias Set the lower boundary falloff effect for these tendon parameters. Values of 0.0 have no effect. Increasing the value shifts the Pull, Pinch, or Stretch effect toward the parent. Default=0.5. 5446 | Chapter 15 Character Animation Display group Interactive Redraw Turn on to deform the mesh in real time while you edit cross sections in the viewports. Turn off to update the mesh only when you release the mouse. Default=on. TIP Turn off Interactive Redraw when working on a slow system, or with a dense mesh that takes a long time to compute. Initial Skeletal Pose When on, puts the mesh into its original pose; that is, the pose it was in when Physique was first applied. Default=off. Display Options Click to display the Tendon Display Options dialog on page 5406, which lets you customize the viewport display of tendons. Vertex Sub-Object (Physique) Select an object that has the Physique modifier applied to it. ➤ Modify panel ➤ Vertex sub-object level Most often, you will want to use envelopes to correct the way skin behaves as the biped moves. However, you can override envelopes by manually assigning vertex properties. For example, you can remove the influence of inappropriate links from selected vertices. You can also change the weight distribution between links for a single vertex by using type-in weights. Procedures TIP You don't have to work locally, one link at a time. You can use region selection to select groups of vertices or groups of links, working with areas of the body and its skeleton all at once. Physique | 5447 To check vertex assignments: 1 Go to the Vertex sub-object level. 2 In the Vertex Operations group, click to turn on Select By Link. 3 Make sure all three Vertex Type buttons are on. 4 In a viewport, click a link. Physique displays the vertices assigned to that link. If any vertices assigned to the link are out of place, reassign them to a different link, as described in the procedures that follow. 5 Repeat step 4 for other links in the skeleton. To remove a link's influence on vertices: For example, you might want to remove the influence of the index finger links from the vertices of the middle finger. 1 Go to the Vertex sub-object level. 2 Activate (Select Object) and select vertices in the viewports. 3 In the Vertex Operations group, turn on Remove From Link. 4 Click a link in a viewport. The vertices are removed from that link's influence. NOTE You can click additional links to remove their influence as well. 5 In the Vertex Operations group, turn on Lock Assignments. You must use Lock Assignments to ensure that these envelopes will not influence these vertices if envelope parameters are adjusted later. To remove deformable vertices from a link's influence: 1 Go to the Vertex sub-object level. 2 Make sure all three Vertex Type buttons are on, and then in the Vertex Operations group, click to turn on Select By Link. 5448 | Chapter 15 Character Animation Observe the assignments and determine which vertices are incorrectly influenced. Also note if the vertices are red (deformable) or green (rigid). NOTE Blue vertices do not fall within the influence of any link and are thus assigned to the root. 3 Activate (Select Object), and in a viewport, select only the out-of-place vertices. NOTE Alternatively, you can use Alt+click to deselect the vertices that are in the correct place. 4 In the Vertex Type group, click to turn off (Root Vertices). Leave (Rigid Vertices) and (Deformable Vertices) on. 5 In the Vertex Operations group, click Remove From Link. 6 In the viewports, click each link that you want no longer to influence the selected deformable vertices. To override vertex assignments manually: This technique is used when envelope assignments are inappropriate, and you want to have specific vertices influenced by a specific link. 1 Go to the Vertex sub-object level. 2 Make sure all three Vertex Type buttons are on, and then select the vertices you want to reassign. 3 In the Vertex Operations group, click to turn on Assign To Link. 4 In the Vertex Type group, choose only the type of vertex assignment you want to use: deformable (red) or rigid (green.) Physique | 5449 5 Choose No Blending from the Blending Between Links drop-down list. This setting will disregard the effects of blending envelopes and vertex weights, and let you assign the selection to any link manually. 6 In a viewport, click the link you want to influence the vertex. NOTE When you assign deformable vertices, some vertices might turn blue; they are assigned to the root instead of the link you clicked. To assign these vertices as correctly deformable vertices, simply use Ctrl+click with the neighboring parent or child link. If the blue vertices now turn red, they are deformable. 7 In the Vertex Operations group, click Lock Assignments to preserve the manual assignment. To make vertices rigid: 1 Go to the Vertex sub-object level. 2 Activate (Select Object), and in a viewport, select the vertices you want to make rigid. 3 In the Vertex Operations group, click to turn on Assign To Link. 4 In the Vertex Type group, turn on (Deformable Vertices) and (Rigid Vertices), and turn off (Root Vertices). 5 Choose No Blending from the Blending Between Links drop-down list. This setting will disregard the effects of blending envelopes and vertex weights, and let you assign the selection to any link manually. 6 In a viewport, click the link these vertices are to be assigned to. 7 In the Vertex Operations group, click Lock Assignments. Small squares around the selected vertices indicate that the vertices are locked. 5450 | Chapter 15 Character Animation Interface Controls for vertices in a mesh controlled by Physique are on the Vertex-Link Assignment rollout. NOTE This is not the same as the rollout used by the Physique Initialization dialog. Physique | 5451 5452 | Chapter 15 Character Animation Vertex Type group There are three vertex types, differentiated by color: ■ RedDeformable vertices that follow Physique’s deformation spline. ■ GreenRigid vertices that do not deform but just follow the link they are assigned to. ■ BlueVertices attached to the root node. Physique uses this color when it isn’t sure which link to assign the vertices to. These vertices don’t deform but follow the center of mass object. You should reassign blue vertices to be either rigid or deformable. While a button of the appropriate color is turned on, you can select vertices of that color. Turn off a button to avoid selecting vertices of that color. You can't turn off all three buttons at once. Blending Between Links drop-down list This list provides several options: ■ N LinksVertices within all overlapping envelopes are influenced. While this option is active, vertices can be assigned only to the envelopes they fall within. Envelopes are used by Physique in this case to define the blended weight of each vertex. ■ No BlendingVertices are influenced by only one link, as in character studio 1. This is useful as a general default if you are developing characters for a game engine that doesn't support blending. At the Vertex sub-object level it is useful to override blending weights defined by envelopes, and assign vertices to links as either Rigid or Deformable. For example, after selecting vertices of the skull and face, turn on No Blending, turn on Rigid vertices, turn on Assign To Link, and then click the head link. This will override Physique | 5453 the head envelope vertex assignments and assign these vertices as rigid to the head link. Use Lock Assignments to lock any changes (see below). ■ 2, 3, 4 LinksVertices are influenced only by the specified number of closest links. This is useful when developing characters for a game engine with limited blending. Vertex Operations group Select Selects vertices using the selection tools on the main toolbar. Select by Link Selects vertices by link. Assign to Link Assigns the selected vertices to a link. To assign the currently selected vertices to a link, turn on Assign To Link and then click the link. Assign To Link has a dependency on the envelopes defined for each link, and you must set Blending Between Links to "No Blending" to override this. After 5454 | Chapter 15 Character Animation vertices are assigned manually in this way, use Lock Assignments to keep them from being reassigned inadvertently during subsequent operations. NOTE You must select or assign a link by clicking the link; you can't use the Select From Scene dialog to select or assign a link while you use Physique to work with vertices. Remove from Link Remove the selected vertices from a link. NOTE Select, Select By Link, Assign To Link, and Remove From Link will act only on vertices specified by the red, green, and blue Vertex Type (“+”) buttons. Lock Assignments Locks vertex assignments. Lock will prevent any changes from being made to the weights and blending presently assigned to the selected vertices. After any manual assignment of vertices, they should be locked. Before using type-in weights, vertices must be locked. When manipulating envelopes in difficult areas of the character, you might choose to lock vertices that are working well before changing the envelopes to affect other vertices. NOTE If additional data, such as more vertices, comes up the modifier stack, Physique notes the proximity of new vertices to the locked vertices. It then locks the new vertices based on proximity. Already locked vertices will not be unlocked. Unlock Assignments Unlocks vertex assignments. Click Unlock Assignments on selected locked vertices prior to reassigning them to another link, or changing their blending settings. Type-In Weights Displays the Type-In Weights dialog on page 5408, which you use to enter a weight for selected locked vertices; only the weight for locked vertices can be changed. To use this feature: select one or more vertices, then lock them. Click this button to display the Type-In Weights dialog, select a link from the drop-down list, and change the weight of that link to position the vertices (vertex positions update in the viewports as the weight changes). You can use type-in weights for stubborn vertices that fall in blended regions between two or more envelopes. Subtle adjustments can be made to the vertex weights of specific links that would be difficult to achieve by adjusting envelopes alone. TIP Type-In Weights is useful mainly for correcting flaws in low- to medium-resolution meshes. On a high-resolution mesh, adjusting envelopes should be used to correct deformation. Physique | 5455 Hide Hides the selected vertices Unhide All Unhides all vertices. Initial Skeletal Pose When on, puts the mesh into its original pose; that is, the pose it was in when Physique was first applied. Default=off. Crowd Animation The crowd-animation system in character studio is designed to simulate the behavior of real-life crowds. A crowd simulation emulates real-life situations by animating delegates on page 9134 (helper objects that act as representatives). You give the delegates overall guidelines on how to behave, and the crowd simulation calculates their motion. A crowd of bipeds You set these guidelines by assigning behaviors on page 9103 to delegates. A behavior specifies a particular type of activity, such as moving toward an object in the scene, avoiding obstacles, following a path or surface, and so forth. You can combine multiple behaviors to create a rich and complex crowd simulation automatically. You can then link objects to delegates to complete the animation. 5456 | Chapter 15 Character Animation A crowd simulation can be used to animate bipeds, or to drive the use of mesh animation on objects linked to delegates. In addition, you can use cognitive controllers on page 9118 to tell delegates how to behave in varying circumstances. See also: ■ Biped Crowds on page 5489 ■ Non-Biped Crowds on page 5501 Creating a Crowd System This topic shows a basic procedure for creating and using a crowd system. 1 Add a Crowd helper on page 5462 object. The crowd helper is the controlling object for the entire crowd simulation. 2 Create a Delegate helper on page 5462 object. Crowd Animation | 5457 This is a prototype for your crowd; a representative member. 3 On the Modify panel ➤ Motion rollout on page 5509, set appropriate speed and turning limits for the delegate. 5458 | Chapter 15 Character Animation This is analogous to defining how a particular animal or object moves. Is it a bird, a fish, a slug, or an airplane? 4 Make clones of the delegate, either with 3ds Max clone tools, or by scattering delegates on page 5462. Crowd Animation | 5459 5 Create 3ds Max objects to be used with behaviors, such as grids or objects to seek or avoid. These objects often correspond to objects in your scene. For example, you could create a grid in an open doorway to attract delegates, or a box at an obstacle to repel delegates. 5460 | Chapter 15 Character Animation 6 Add one or more behaviors on page 5467. Modify each behavior's settings to be appropriate for the members of your crowd. 7 Solve the simulation. Crowd Animation | 5461 8 Watch the solved simulation. If it needs correction, make changes to behaviors or delegate parameters. Solve again, and continue until the simulation works as intended. 9 Create the objects that will follow the delegates, and align and link them to delegates on page 5483. Creating Complex Simulations The process described above creates a simple crowd simulation. You can also use other tools to further control the simulation: ■ Use cognitive controllers on page 5486 to cause delegates to switch behaviors based on their proximity to objects in the scene, time elapsed in the simulation, and other factors. ■ Use motion synthesis on page 5501 to cause different portions of the linked object's animation to be used based on delegate speed, rotation, and other factors. ■ Use bipeds and a motion flow network to animate the bipeds with delegates. See Biped Crowds on page 5489. Creating Crowd Helpers The crowd system in character studio uses two helper objects: Crowd and Delegate. The first step in creating a crowd simulation is the creation of these helpers. The crowd helper serves as the command center for setting up and solving crowd simulations, while delegates provide stand-ins for animated objects. The crowd helper controls are used to animate the delegates, then later you link objects to delegates to create the finished scene. Crowd Helper A crowd helper object appears in viewports as blue tetrahedron. The location and size of the crowd helper does not affect the simulation. For the easiest workflow, create the crowd helper with a relatively large size, and place it where you can easily select it. You'll rarely need more than one Crowd helper object per scene. 5462 | Chapter 15 Character Animation After you create delegates, you use the crowd helper to clone delegates and distribute the clones, add behaviors, apply behaviors to delegates, link delegates to animated objects, and much more. Crowd Animation | 5463 Delegate Helpers The Crowd system in character studio uses Delegate helper objects as intermediaries between the crowd simulation and the influenced objects. A delegate is a non-rendering pyramid-shaped object. Its apex points in the direction the crowd system uses as “forward” when it moves the delegate around. Use one delegate per object to be animated by the crowd system. You can add delegates one by one, or use any of the standard 3ds Max methods for cloning objects, including Shift+clone and the Array function. However, the Crowd object offers a convenient Scatter Objects on page 5518 function that lets you clone delegates and distribute the clones over a surface or within a volume, with options for orientation and scaling. See also: ■ Delegate Helper Object on page 5507 ■ Crowd Helper Object on page 5515 5464 | Chapter 15 Character Animation Procedures To create a Crowd helper object: 1 On the Create panel, click (Helpers). 2 Click Crowd, and drag the helper object to a convenient size. TIP Make the crowd helper object large enough so you can easily select it in two or more viewports. The size of the helper does not affect the crowd simulation in any way. To create a Delegate helper object: 1 On the Create panel, click (Helpers). 2 Click Delegate. Drag in a viewport to set the delegate’s position and its size. TIP The delegate always points "up" in the viewport where you create it. So if you want it to point "forward," that is, toward the positive Y direction in the World coordinate system, you should create it in the Top viewport. To clone and scatter delegates: 1 Create a Crowd helper and a Delegate helper. 2 Decide how to distribute the delegate clones, and create an object to define how the clones are to be positioned: a grid object, a primitive box or sphere, a shape, or any object to serve as a surface. Alternatively, you can choose to distribute clones in a circular area without the use of a distribution object. 3 4 Click 5518. Select the Crowd object and go to the Modify panel. (Scatter Objects) to open the Scatter Objects dialog on page Crowd Animation | 5465 5 On the Clone tab, set the number of clones to create, and select the object to clone. 6 Click Generate Clones. This produces the specified number of clones in the same location. To vary positions, orientations, and/or sizes, proceed with the following steps. 7 On the Position tab ➤ Placement Relative To Object group, choose a distribution option. Click the None button, and then select the distribution object you created earlier. Alternatively, to distribute delegates in a circular area, choose Placement In Area group ➤ In Radial Area and set a center and radius. 8 Click Generate Locations. This distributes the clones. 9 On the Rotation tab, choose which of the cloned object's local axes are to look forward and up. Optionally, specify source and target objects for the clones' orientations, as well as limits for randomized deviations from the calculated orientation. 10 Click Generate Orientations. 11 On the Scale tab, for each axis, specify Average, Deviation, and, optionally, Same As settings and a random seed. 12 Click Generate Scales. At this point, you're basically finished. However, to create a series of randomized positions, orientations, and/or sizes for clones, follow the next two steps and repeat as necessary. 13 On the All Ops, turn on Positions, Rotations, and/or Scales. To vary the randomized positions, rotations, and/or scales, turn on the corresponding Inc Seed check boxes. 14 Click the Scatter button. You can combine the cloning, position, rotation, and scale functions in one operation by setting the options on their respective tabs without clicking the Generate buttons, and then using the All Ops tab to apply any or all scatter operations simultaneously. Also, you can use the All Ops tab ➤ Select Objects To Transform to specify any objects to scatter; not just clones. 5466 | Chapter 15 Character Animation Adjusting Delegate Parameters Delegate parameters define the nature of the delegate motion. You can change delegate parameters in one of two ways: ■ To adjust parameters for an individual delegate, select the delegate, access the Modify panel, and adjust parameters. For descriptions of parameters, see Delegate Helper Object on page 5507. ■ To adjust parameters for several delegates at once, select the crowd helper object, access the Modify panel, and click (Multiple Delegate Editing) to access the Edit Multiple Delegates dialog on page 5535. The speed parameters let you describe a delegate’s average speed and maximum acceleration. You can also define how much a delegate slows down as it turns or goes upward, and how much it speeds up when it goes down. Turning parameters let you indicate how quickly a delegate can turn, and how much it can turn upward and downward. And banking parameters describe how much and how quickly a delegate banks and its banking limit. All of these parameters work together to describe different types of creatures. A small fish, for instance, can turn more quickly than a large bird. A fish’s speed would not be effected when the fish traveled up or down, but a bird’s speed might be altered by its upward or downward direction. See also: ■ Crowd Helper Object on page 5515 ■ Delegate Helper Object on page 5507 Assigning Behaviors In the real world, different crowds exhibit diverse behaviors, and even members of the same crowd can conduct themselves in various ways. Included with the character studio Crowd system is an assortment of behaviors that let you simulate a range of crowd activities. Behaviors let you assign procedural activity types to delegates on page 5507, which, in turn, affect objects linked to delegates. You can associate any number of behaviors with each crowd object on page 5515, and then link delegates and Crowd Animation | 5467 teams of delegates to each behavior. A specific behavior assigned to a Crowd object belongs only to that crowd; it cannot be assigned to any other crowds. Following is a list of available behaviors: ■ Avoid Behavior on page 5564: Prevents delegates from colliding with objects in the scene, or with each other. Avoidance can use any combination of turning, braking/stopping, repelling, and vector field. ■ Orientation Behavior on page 5569: Applies a fixed orientation or orientation range to delegates, so they face a specific direction instead of toward the destination. You can specify orientation in absolute terms, or relative to the direction the delegate currently faces. ■ Path Follow Behavior on page 5573: Restricts motion to a spline or NURBS curve; options include back-and-forth patrol-type movement. ■ Repel Behavior on page 5577: Forces delegates to move away from a target. ■ Scripted Behavior on page 5580: Uses MAXScript to specify behavior. ■ Seek Behavior on page 5581: Moves delegates toward a target or targets. ■ Space Warp Behavior on page 5584: Uses any dynamics-oriented space warp to control movement, including wind and gravity. Vector Field, a crowd-specific space warp that lets delegates avoid irregularly shaped objects while following their contours, is included with character studio. ■ Speed Vary Behavior on page 5585: Lets delegates change speed for more realistic movement. ■ Surface Arrive Behavior on page 5587: Lets delegates move toward and land on a surface, with custom speed and acceleration parameters. ■ Surface Follow Behavior on page 5592: Delegates move along a surface, which can be animated. Also, you can specify whether the delegates are to move straight ahead or skirt hills and depressions. ■ Wall Repel Behavior on page 5595: Uses a grid to repel delegates; ideal for keeping objects inside an enclosed, straight-sided room. ■ WallSeek Behavior on page 5598: Uses a grid to attract delegates. You can use this as a doorway for crowd-controlled bipeds to walk through. ■ Wander Behavior on page 5601: Induces a realistic semi-random movement for characters such as shoppers at a mall. TIP If you need custom behaviors, you can create your own with scripting. 5468 | Chapter 15 Character Animation The first time you add a behavior to the scene, a new rollout appears for the behavior below the Setup rollout. This rollout lets you change settings for the behavior. Certain behaviors, such as Seek and Avoid, let you specify "target" objects. TIP Behaviors are assigned generic names by default. It's a good idea to rename them with more meaningful descriptors; for example, "Seek Ball" or "Avoid Fire". To display the rollout for a different behavior in the scene, choose it from the drop-down list in the Behaviors group. To see the controls available in the rollout for a behavior type, follow the link from its entry in the above list. In addition to the controls available in behavior rollouts, you can use the Behavior Assignments and Teams dialog on page 5542 to turn behaviors on and off (with the Active check box), and for all behaviors except Avoid, Orientation, and Surface Follow, you can set and animate Weight. The Active status is animatable for all behaviors. Using Behaviors To use a behavior, you apply it to a delegate or a team of delegates using the Behavior Assignments and Teams dialog on page 5542. In this dialog, each assignment of a behavior to a delegate is given a weight. You can modify and/or animate these weights to influence the simulation. Behavior assignment weights can profoundly effect a simulation. When applying two or more behaviors to the same delegate, the weights define the relationship between the behaviors, making one more or less powerful than the other. One way to visualize a behavior assignment weight is to examine the behavior’s force vector during a crowd simulation. The vector’s length indicates the behavior’s weight upon the delegate. Each behavior has its own parameters which appear in the Behavior rollout, available in the Crowd object’s Modify panel. These parameters describe how the behavior works, and can sometimes contribute to the behavior’s strength as well. For instance, Seek, Repel, Wall Seek, and Wall Repel, all have specific volumes of influence. Outside these volumes they have no effect and essentially have a weight of zero. This rollout lets you specify whether or not you wish to see behavior’s force vector dynamically displayed during a Crowd simulation, and what color that vector should be. When working with the Crowd system, it is critical to play with behavior assignment weights, as well as each behaviors’ parameters. Typically, you run the simulation repeatedly, changing the weights and parameters to get the desired result. Crowd Animation | 5469 A few behaviors cannot be weighted. These are Avoid, Surface Follow, and Orientation. Avoid and Surface Follow take over after all of the other behaviors have been applied to a delegate. They can take stringent measures to affect the delegate, possibly overpowering other behaviors in order to meet their constraints. Orientation simply sets the delegate's facing direction. It cannot be weighted and does not apply a force. Behavior Tips A few helpful things to know about behaviors in character studio: ■ You can create conditional behavioral systems with Crowd's Cognitive Controller feature. This uses the MAXScript scripting language to determine when to effect a transition from one behavior to another; we've provided a number of sample scripts for you to learn from and adopt to your own simulations in Cognitive Controller Editor on page 5554 and State Transition Dialog on page 5558. ■ The Behavior rollout appears immediately after the Crowd object ➤ Setup rollout in the Modify panel. However, it doesn't show up until you've added at least one behavior to the crowd object. ■ The Crowd panel displays only one Behavior rollout at a time. To access a different one, choose its name from the drop-down list at the bottom of the Crowd object's Setup rollout. ■ As with most scene entities in 3ds Max, it's a good idea to give behaviors custom names, such as "Seek Doorway" or "Follow Hilly Surface." You do this by clicking the behavior's name in the Setup rollout and entering a new one from the keyboard. ■ The default behavior settings may not always give the ideal results. The optimal settings depend vary with the particulars of your simulation setup; in many cases, if not most, you'll need to experiment with the settings to get the results you want. In some cases, you might need to animate settings as well. One particularly useful feature of the delegate is its ability to display, using colored vectors, the strength and direction of the various forces acting upon it during solution of the crowd simulation. Each force can have a unique, identifying color. For example, the Seek behavior uses green by default, while the Wander behavior uses aqua. You can change these colors to any you like. If a simulation isn't proceeding as expected, you can debug it by observing the vectors during the solution. And if the solution occurs too quickly, 5470 | Chapter 15 Character Animation you can use the Step Solve feature to solve the simulation one frame at a time. Procedures Example: To use assign behaviors to delegates: This example shows how to create a basic crowd simulation with delegates and behaviors. 1 Start 3ds Max or reset 3ds Max. 2 Add a Crowd object and one or more Delegate objects on page 5507 to the scene. In general, add delegates in the Top viewport so that they point forward. The Crowd object's location is immaterial. 3 Select the Crowd object and go to the Modify panel. 4 On the Setup rollout ➤ Behaviors group, click the New button. 5 In the Select Behavior Type dialog, click a behavior and then click OK to close the dialog. A Behavior rollout appears for the behavior you chose. 6 If the behavior requires a target object or objects, such as Seek, click the None button and then select an object, or click Multiple Selection and select several objects. 7 Change other behavior settings as necessary. 8 Create and modify additional behaviors as necessary. 9 On the Setup rollout, click (Behavior Assignment). 10 In the Assignment Design group, the two upper lists should each contain a single entry: the delegate on the left, and the behavior on the right. Select both items. 11 Click the New Assignment button to the right of the Assignment Design group. It's a vertical button with five right-pointing arrows. This adds the new assignment to the list in the Behavior Assignments group. 12 Accept the changes and the OK button to close the Behavior Assignments and Teams dialog. Crowd Animation | 5471 13 On the Modify panel, scroll down to the Solve rollout and click the Solve button. Keys are created as follows: The delegate turns to point toward the sphere, banking as it turns, and then moves directly toward the sphere. When it reaches its target, it moves slightly beyond the sphere, and then repeats the turn-and-move motion until the end of the simulation. To prevent this, try starting with the two objects farther apart, or animating the sphere's position. Directing Delegates One of the purposes of behaviors is to move delegates in a particular direction over the course of the simulation. The following behaviors can be used to direct delegates: ■ The Seek behavior on page 5581 is one of the most commonly used behaviors in the crowd system. With this behavior, you can cause delegates to move toward a specific object. The seek object can be animated, and the delegates will follow it. ■ The Wall Seek behavior on page 5598causes delegates to seek a rectangular area. Compare with the Seek behavior, which causes delegates to seek an object's pivot point. ■ The Path Follow behavior on page 5573 is also useful for pushing delegates in a specified direction. With this behavior, delegates follow a path but can “stray” from the path by a specified distance, creating slightly random motion along the path. ■ With the Surface Arrive behavior on page 5587, delegates seek one or more objects as they do with the Seek behavior, but you can cause delegates to stop when they reach a target. ■ You can use the Surface Follow behavior on page 5592 to cause delegates to move along a surface. ■ With the Space Warp behavior on page 5584, you can use a vector field to push delegates around the field to avoid obstacles. See Obstacle Avoidance on page 5475. 5472 | Chapter 15 Character Animation After setting up a behavior, you must use Behavior Assignments on page 5542 to assign the behavior to a delegate or team. Procedures To use the Seek behavior: 1 Select the Crowd helper and go to the Modify panel. 2 In the Setup rollout ➤ Behaviors group, click New. Choose Seek Behavior. The Seek Behavior rollout appears below the Setup rollout. 3 On the Seek Behavior rollout on page 5581, click None to add one seek object, or click (Multiple Selection) to designate more than one object for the delegates to seek. 4 Change the default settings as desired. To use the Wall Seek behavior: 1 On the Create panel, click Create a grid in the scene. (Helpers), and click Grid. TIP For best results, do not use Mirror to copy a grid to be used with behaviors. Use Shift+Clone instead. 2 Move and rotate the grid to position it. TIP The Wall Seek behavior attracts delegates to the grid in the direction of grid's local Z axis. With the grid still selected, use the Local coordinate system to see the direction of the Z axis in viewports; the axis arrow points in the direction of the positive Z axis. Checking the Z-axis direction will speed the process of setting up the behavior. Crowd Animation | 5473 3 Select the Crowd object, and add a Wall Seek behavior. 4 In the Wall Seek Behavior rollout, click None, and pick the grid. 5 Choose Positive Axis to cause the delegates to be attracted to the Z-axis side of the grid. You can also choose Negative Axis to atrract delegates to the opposite side of the grid, or Both to attract them to both sides. 6 If you want delegates to be attracted to the grid only when they are within a specified area in front of the grid (rather than when they are anywhere in the scene), turn on Use Distance. Use the Inner Distance and Outer Distance parameters to set the area in which delegates will be attracted to the grid. Turn on Display Distance to see the distance in viewports. To use the Path Follow behavior: 1 On the Create panel, click be used as a path for delegates. (Shapes). Create a shape to 2 Add a Path Follow behavior to the Crowd object. 3 In the Path Follow Behavior rollout, click the None button and pick the shape for the delegates to follow. 4 Set the Radius parameter to the number of units by which delegates can stray from the path. Change other settings as desired. To use the Surface Arrive behavior: 1 Add a Surface Arrive behavior to the Crowd object. 2 Add an object or objects to serve as the target surface to the scene. NOTE If you use multiple objects, delegates will arrive at the surface of the closest object. 3 In the Surface Arrive Behavior rollout, click None or Selection) to designate the one or more target objects. (Multiple 4 Use the settings in the Location group to determine where the delegate will stop when it reaches a target object. 5474 | Chapter 15 Character Animation 5 Use the settings in the Approach group to determine how the delegate will behave when it approaches the target. To use the Surface Follow behavior: 1 Add a Surface Follow behavior to the Crowd object. 2 Add an object or objects to serve as the follow surface to the scene. NOTE If you use multiple objects, they must intersect to form a contiguous surface. Each delegate will move to the closest surface, follow it to the next closest that it encounters, and then start following that one, and so on. 3 In the Surface Follow Behavior rollout, click None or (Multiple Selection) to designate the object or objects whose surfaces the assignees are to follow. 4 If you like, use the settings in the Projection Vector group to force delegates to move in a specific direction. Obstacle Avoidance An important part of crowd behavior is avoidance of obstacles. Think of an obstacle as anything that impedes a crowd member's progress. Examples of obstacles include walls, telephone poles, and fences, as well as other crowd members. Encountering such objects can cause avoidance behavior, which consists of any combination of slowing down, turning, and stopping. There are several ways to implement avoidance in character studio, including: ■ The Avoid behavior on page 5564 is one of the most commonly used behaviors. Use this behavior to cause crowd members to avoid other crowd members, or spherical objects in the scene. It works by creating a spherical volume of avoidance around the avoided object, so it doesn’t accommodate irregular objects. The Avoid behavior is unlike any other behavior in Crowd. After all the other behaviors exert their forces on the delegates, Avoid takes over and has the power to turn, slow down, and even stop a delegate in order to make it avoid an obstacle. ■ Use the Wall Repel behavior on page 5595 to cause crowd members to avoid broad, flat objects such as walls and fences. You can set a maximum Crowd Animation | 5475 distance for the repel effect, and describe the rate at which the force away from the wall increases as a delegate approaches the wall. Unlike the Avoid behavior, which can stop or slow down a delegate, Wall Repel simply exerts a force on the delegate to turn it away from the wall. It does not guarantee wall avoidance. You must work with it’s distance and falloff parameters, as well as its weight in the Assignments and Teams dialog, to control its strength. ■ Use the Repel behavior on page 5577 to cause crowd members to turn away from an object. It works exactly like Wall Repel except that it uses a spherical volume rather than a plane. You can set a maximum distance for the repel effect, and describe the rate at which the repel force increases as the delegate approaches the obstacle. Repel exerts a force on the delegate to turn it away from the obstacle. It does not guarantee avoidance. You must work with its Distance and Falloff parameters, as well as its weight in the Behavior Assignments and Teams dialog on page 5542, to control its strength. Repel can be used instead of the Avoid behavior as a simple avoidance technique for non-terrestrial creatures such as fish or birds. ■ Use a Vector Field on page 5619. This is a special type of space warp that crowd members can use to move around irregular objects such as a curved, concave surface. You can use the Vector Field space warp in conjunction with the Avoid behavior to make delegates slow down when they approach a complex object, and then go around it. This guarantees that the delegate will not pass through the obstacle’s surface. You can also use the Vector Field space warp in conjunction with the Space Warp behavior on page 5584. This simply exerts a force on the delegate that mimics the contours of the object. It does not assure that the delegate will not pass through the surface of the obstacle. You can use a Vector Field with both the Space Warp and Avoid behaviors to combine their effects. Procedures To use the Avoid behavior: 1 Add an Avoid behavior to the Crowd object. 2 In the Avoid Behavior rollout, use the None button or (Multiple Selection) to designate the target object or objects to avoid. 5476 | Chapter 15 Character Animation TIP To make an entire team of delegates avoid each other, choose all delegates in the team. The crowd system will cause each delegate to avoid all others except itself. 3 Turn on Display Hard Radius to see the radial avoidance area in viewports. Adjust the Hard Radius to the appropriate size for your delegates. 4 Adjust the Brake Pressure to determine whether a delegate will slow down when it encounters an avoided object. 5 Adjust the Look Ahead parameter to determine how many frames ahead each delegate will look to determine the best way to avoid others. 6 Use Behavior Assignments on page 5542 to assign the behavior to a delegate or team. To use the Wall Repel behavior: 1 On the Create panel, click Create a grid in the scene. (Helpers), then click Grid. TIP For best results, do not use Mirror to copy a grid to be used with behaviors. Use Shift+Clone instead. 2 Move and rotate the grid to position it. TIP The Wall Repel behavior repels delegates from the grid in the direction of grid's local Z axis. With the grid still selected, use the Local coordinate system to see the direction of the Z axis in viewports; the axis arrow points in the direction of the positive Z axis. Checking the Z-axis direction will speed the process of setting up the behavior. 3 Select the Crowd object, and add a Wall Repel behavior. 4 In the Wall Repel Behavior rollout, click None, and pick the grid. Crowd Animation | 5477 5 Choose Positive Axis to cause the delegates to be repelled from the Z-axis side of the grid. You can also choose Negative Axis to repel delegates from the opposite side of the grid, or Both to repel them from both sides. 6 If you want delegates to be attracted to the grid only when they are within a specified area in front of the grid (rather than when they are anywhere in the scene), turn on Use Distance. Use the Inner Distance and Outer Distance parameters to set the area in which delegates will be attracted to the grid. Turn on Display Distance to see the distance in viewports. 7 Use Behavior Assignments on page 5542 to assign the behavior to a delegate or team. To use the Repel behavior: 1 Add a Repel behavior to the Crowd object. 2 In the Repel Behavior rollout, use the None button or (Multiple Selection) to designate the object or objects that are to repel delegates. 3 Change the default settings as desired. 4 Use Behavior Assignments on page 5542 to assign the behavior to a delegate or team. To add a Vector Field space warp: Adding a Vector Field space warp object works the same as adding a Box geometry primitive. 1 On the Object Type rollout, click Vector Field. 2 Drag in a viewport to set the initial dimensions. ■ If using the Cube creation method, this sets all three dimensions simultaneously. ■ If using the Box creation method, release the mouse button, and then move the mouse vertically to set the height. 3 Click to create the space warp. 5478 | Chapter 15 Character Animation To use a Vector Field space warp with delegates: This procedure presents general guidelines for using the Vector Field space warp with delegates in a crowd simulation. 1 Create an object to serve as an obstacle. This object must be an editable mesh or geometric primitive; it can have modifiers. 2 Add a Vector Field space warp. 3 Position and scale the space warp lattice so that it encloses the obstacle object. The lattice should be significantly larger than the object. The object should be located roughly at the lattice center. 4 In the Lattice Parameters rollout, increase the Length Segs/Width Segs/Height Segs settings so that the lattice segments intersect the object at reasonable intervals. To determine appropriate Segs settings for your obstacle objects, first examine the object complexity. If the obstacle has a lot of detail, and you want that detail reflected in the vector field, then you need a relatively high lattice resolution. 5 Click the Obstacle Parameters rollout ➤ Compute Vectors group ➤ Vector Field Object button (initially labeled None), and then in a viewport, click the object that will act as an obstacle in the crowd simulation. This specifies the obstacle object. The range volume grid appears on the object's surface as an olive-colored wireframe. 6 Increase the Obstacle Parameters rollout ➤ Compute Vectors group ➤ Range setting. As you increase this setting, you'll see the range volume grid expand. The range volume should enclose the space in which crowd members need to start turning in order to avoid the object. 7 Turn off Display group ➤ Show Lattice and Show Range so that the vector field will be more easily visible when generated. 8 Turn on Display group ➤ Show Vector Field. 9 In the Compute Vectors group, click the Compute button. This generates the vector field. Crowd Animation | 5479 TIP To make the vector lines more evident, increase the Display group ➤ VectorScale setting. The vectors appear as blue lines surrounding the obstacle object. One vector is computed for each lattice intersection within the range volume grid. Each vector matches the normal of the object at the point on the object's surface closest to the lattice point. The vector force falls off with distance from the object, as shown by the progressively shorter vector lines toward the grid perimeter. 10 Add Crowd on page 5515 and Delegate on page 5507 helper objects. 11 Select the Crowd object and open the Modify panel. 12 In the Setup rollout ➤ Behaviors group, click New. 13 In the Select Behavior Type dialog that is displayed, choose Space Warp Behavior, and then click OK. 14 In the Space Warp Behavior rollout that appears, click the button (initially labeled “None”), and then in a viewport, click the Vector Field space warp. TIP You might find it easier to use Select By Name to select the space warp. 15 In the Setup rollout, click the Behavior Assignments button, and use the Behavior Assignments And Teams dialog on page 5542 to assign your delegate or delegates to the space warp behavior. 16 Add any other objects or behaviors appropriate to the simulation. 17 Select the Crowd object, and then solve the simulation by clicking the Solve rollout ➤ Solve button. 18 Fine tune the behavior associated with the Vector Field space warp by adjusting the Lattice parameters on page 5620 and Obstacle parameters on page 5621. 19 Continue computing the vector field and then solving the simulation after each adjustment. In certain cases you might need to animate the vector field parameters to keep objects within the field. 5480 | Chapter 15 Character Animation Changing Delegate Orientation and Speed You can use the Orientation behavior on page 5569 to change the direction in which a delegate moves, and the Speed Vary behavior on page 5585 to vary delegates' speed or make them stop moving altogether. After setting up a behavior, you must use Behavior Assignments on page 5542 to assign the behavior to a delegate or team. Procedures To use the Orientation behavior: 1 Select the Crowd helper and go to the Modify panel. 2 In the Setup rollout ➤ Behaviors group, click New. Choose Orientation Behavior from the pop-up list. The Orientation Behavior rollout appears below the Setup rollout. 3 To restrict the heading orientation with respect to the delegate's current heading, turn on Heading group ➤ Relative. To restrict the heading to a specific direction or range, leave Relative off. 4 To restrict the pitch orientation with respect to the delegate's current pitch, turn on Pitch group ➤ Relative. To restrict the pitch to a specific direction or range, leave Relative off. 5 Change the other default settings as desired. To use the Speed Vary behavior: 1 Add a Speed Vary behavior to the Crowd object. 2 Adjust the Center and Deviation as needed to control delegate speed. Change other settings as desired. Solving the Simulation After you have set up behaviors for delegates, you must solve the simulation to generate keyframes on delegates. You solve the simulation by selecting the crowd object and clicking Solve in the Solve rollout on page 5603. Crowd Animation | 5481 In order to generate the simulation as quickly as possible, delegate keys are saved after the solution is run, so there might be a pause between the end of the solution and return of control of 3ds Max to you. Also, any objects linked to delegates are hidden during the simulation. You will most likely have to solve a simulation several times before it is correct. Watch the animation after the solution is calculated, correct behaviors or delegate parameters as necessary, then solve again. You can speed up the solution calculation time by decreasing the frequency of keyframes or screen updates. You can also view the solution one frame at a time to help pinpoint trouble areas. Procedures To solve a simulation: 1 Set up a crowd simulation with a crowd helper, delegates and behaviors. See Assigning Behaviors on page 5467. 2 Select the Crowd helper. 3 On the Modify panel, in the Solve rollout, set the Start Solve and End Solve parameters to set the start and end frames for the solution. 4 Click Solve. TIP To use the keyboard shortcut for the Solve button, turn on the Keyboard Shortcut Override Toggle and then press the S key to run a solution. Wait a few moments while the solution is calculated. The progress bar at the bottom of the screen tells you the status of the solution process. To speed up the solution time: 1 Under Save every Nth Key, set the Positions and Rotations parameters to a higher number, such as 5. 5482 | Chapter 15 Character Animation This causes the simulation to set delegate keyframes every five frames rather than at every frame. 2 Increase the Solve rollout ➤ Display During Solve group ➤ Frequency setting to a higher number, such as 100 . This will cause the display to update with the new delegate locations only every 100 frames. To troubleshoot the simulation: In a crowd simulation, it is not uncommon for a short portion of the animation to have a unique problem that doesn't appear on other frames. Use Step Solve to analyze short portions of your simulation when things don't go as expected. 1 Drag the time slider to the frame at which you want to start solving one frame at a time. 2 Click Step Solve. To use the keyboard shortcut for the Step Solve button, turn on the Keyboard Shortcut Override Toggle and then press the T key to run a solution in step mode. You can start at any frame. Zoom in to examine the vectors of misbehaving delegates. 3 Press the spacebar to solve the simulation one frame at a time. 4 Press Esc to exit Step Solve mode. Linking Objects to Delegates You can link objects or bipeds to delegates to make them follow the simulated animation. You can link objects to delegates with 3ds Max linking. Alternatively, the crowd system has a tool for automatically aligning and linking objects with delegates. When you want to use bipeds with delegates, you associate bipeds with delegates rather than link them. This approach enables the bipeds to use a motion flow network to determine their motion during the simulation. For Crowd Animation | 5483 an explanation of how to set up a biped crowd simulation, see Biped Crowds on page 5489. Procedures To link objects to delegates: 1 Set up a crowd simulation with a crowd helper and delegates. See Creating Crowd Helpers on page 5462. 2 Create a series of objects to follow the delegates. TIP In a later step, you will align each object's local Y axis to point in its corresponding delegate's forward direction. For this reason, you should take care to make sure your objects' local Y axes point in the direction you consider to be “forward”. The easiest way to do this is to set up one object with its Y axis pointing in the forward direction, then clone the object. 3 Select the Crowd helper, and go to the 4 On the Setup rollout on page 5516, click Associations). Modify panel. (Object/Delegate The Object/Delegate Associations dialog on page 5532 appears. 5 Under the Objects list, click Add to add objects to link with delegates. 6 Under the Delegates list, click Add to add delegates to link with the objects you added in the previous step. Each object in the Objects list will be associated with the delegate in the same position in the Delegates list. If necessary, reorder either list manually by highlighting entries and using the Shift Up/Shift Down buttons; these are the arrow buttons between the two lists. 7 Click Align Objects with Delegates to align each object with its corresponding delegate. The objects on the Objects list are moved and rotated to align with delegates. Each object's local Y axis points in the delegate's forward direction. 8 Click Link Objects to Delegates. 5484 | Chapter 15 Character Animation 9 Click OK to exit. To associate bipeds with delegates: 1 Set up a crowd simulation with a crowd helper and delegates. 2 Create several bipeds, one for each delegate. 3 Select the Crowd helper, and go to the 4 On the Setup rollout on page 5516, click Associations). Modify panel. (Biped/Delegate The Associate Bipeds with Delegates on page 5539 dialog appears. 5 Under the Bipeds list, click Add, and choose the bipeds to add to the list. 6 Under the Delegates list, click Add, and choose the delegates to associate the bipeds with. 7 Turn on Set Delegates To Use Biped. This will turn on the Use Biped option for each delegate, which is a requirement for biped crowd simulations. 8 Choose Make Specified Associations to associate each biped with its corresponding delegate listed on the dialog. Alternatively, choose Associate Delegates With Closest Biped to associate each delegate with the biped nearest to it in the scene. 9 Click Associate to make the associations, and click Close. Unlike regular objects, bipeds are not aligned with delegates immediately. Each biped will align with its respective delegate when the simulation is solved. NOTE In order for a biped crowd simulation to solve correctly, it must have a motion flow network for the bipeds to follow. See Biped Crowds on page 5489. Crowd Animation | 5485 Cognitive Controllers You can use the cognitive controller feature to cause crowd members to change behaviors during a simulation depending on the circumstances. For example, a character could wander randomly until it comes within a certain distance of a target, at which point it could head straight for the target. In technical terms, cognitive controllers let you influence crowd simulations with scripted conditionals, effectively implementing a form of artificial intelligence. You use the Cognitive Controller editor on page 5554, a flowchart-style editor (much like the Motion Flow Graph dialog on page 5242) to set up a network of behaviors and behavior combinations, known as states. Then you then apply MAXScript-based transitions that specify when delegates are to move from one state to another. Even with a relatively simple setup, you can create simulations that make your characters appear to be living, conscious beings, making decisions as they move through the scene. You can find procedures describing various examples of cognitive-controller transitions in the State Dialog on page 5557 topic: Testing a particle system parameter on page 5560 Testing an object position Testing an atmospheric property on page 5560 Testing the distance between two objects Testing a modifier parameter Testing another delegate's behavior on page 5560 See also: ■ Cognitive Controller Editor on page 5554 ■ State Dialog on page 5557 ■ State Transition Dialog on page 5558 Procedures To set up and use a cognitive controller: This procedure describes a typical setup routine for creating and using a cognitive controller. The procedure assumes basic knowledge of crowd 5486 | Chapter 15 Character Animation simulation setup. For more information about crowd setup, see Crowd Helper Object on page 5515 and Setup Rollout on page 5516. 1 Create a scene containing a crowd object and one or more delegates. See Creating Crowd Helpers on page 5462. 2 Create at least two behaviors. See Assigning Behaviors on page 5467. 3 Open the Cognitive Controller editor on page 5554. 4 Click the New button to create a cognitive controller. character studio gives the controller the default name of “Cognitive Controller.” It's recommended that you give more descriptive names to cognitive controllers, such as "Seek/Wander". Do this by clicking on the name in the text box and editing it from the keyboard. Creating a new cognitive controller automatically places you in Create State mode. 5 Click in the editor window to create and place a state. Continue clicking in different places to add as many states as necessary. 6 Right-click a state to open the State dialog on page 5557. 7 Again, it's recommended that you give more descriptive names to states, which you can do in the State dialog. Click the name (State or State#) in the text box and edit it from the keyboard. Next, define a behavior or behaviors for each state. 8 Click the Add button. 9 In the Select Behaviors dialog, choose one or more behaviors. If you choose multiple behaviors, you can specify different weights for each in the State editor. For example, you can combine a Seek behavior at full weight with a Wander behavior at half weight, so that the delegate will meander slightly as it seeks the target. 10 Close the Select Behaviors dialog, and then close the State editor. 11 Repeat steps 6–10 as necessary to define behaviors for the other states in the controller. Next, use Create Transition to define the sequence of states during the simulation. Crowd Animation | 5487 12 Decide on the sequence in which the states are to occur. 13 Click (Create Transition). 14 Drag a line from one state to the next in the order that they are to execute. Click a state to create a transition from itself to itself. A transition arrow appears, pointing from the "source" state to the "destination" state. Each state can have any number of incoming and outgoing transitions. Specify different transition conditions for each to create as complex a state diagram as necessary. Next, use the State Transition dialog to define a conditional for each transition. 15 Right-click a transition line. 16 In the State Transition dialog on page 5558, enter the name of the transition condition, and then click the Edit MAXScript button. 17 Use the MAXScript editor window to enter or load a script that defines the condition or conditions under which the transition is to occur. Typically, this is a function that tests a condition and returns 1 (if true) or 0 (if false). NOTE See this topic in the online User Reference for sample MAXScript code for this function. ■ fn - What follows is a MAXScript function. ■ test1 - The function name; this should also appear in the Transition dialog, as the transition condition. This function is executed first when the transition is tested. The script may contain any number of additional functions to be called from within a function in the script. ■ del - Refers to the delegate to which the script is currently being applied. The transition script is executed once per frame for each delegate/team member the cognitive controller is assigned to. Thus, if you use "del" in the script rather than the name of a specific delegate, all delegates to which the cognitive controller is assigned are tested. ■ t - The current time (frame number) in the simulation. ■ del.simpos.x - The delegate's current position on the X-axis. The special function "simpos" is used to determine a delegate position during a 5488 | Chapter 15 Character Animation simulation solution. This is necessary because delegate positions aren't available to MAXScript using the standard "[node].pos" function during a simulation. ■ del.duration - The number of frames the delegate has been in the current state. You can see a complete list of delegate-specific parameters that can be checked in the script by opening a MAXScript Listener window (press function key F11) and entering: ShowProperties $delegate01 And because the delegate is a node, it also responds to standard MAXScript node-related functions, with the exception of "simpos," as noted above. Also, for information on how to access the transition properties, such as duration and priority, see the MAXScript Help. For more examples of MAXScript conditionals that can be used with cognitive controllers, see State Transition Dialog on page 5558. 18 Use the State Transition dialog to set other parameters such as priority and duration. 19 Use the Behavior Assignments and Teams dialog on page 5542 to assign the cognitive controller to delegates or teams. NOTE Crowd doesn't let you use multiple cognitive controllers with a delegate. You can assign them, but when you solve, character studio notifies you that it will use only the first assigned cognitive controller. Using Motion Synthesis You can create advanced, complex crowd simulations in character studio with motion synthesis, which lets character studio adjust the simulation results dynamically to account for differing conditions. Two different forms of motion synthesis are available: one for non-bipedal crowds, and a second for the more exacting requirements of biped crowds. Biped Crowds The biped crowd is a special case of crowd simulation necessitated by the complex nature of legged animal movement. Biped locomotion exhibits intricate dynamics and exacting IK foot constraints. As such, the smoothly curving trajectories computed from delegate motion parameters, while suitable Crowd Animation | 5489 for birds, fish, insects, and snakes, are not rich enough to animate the microstructure of bipedal motion. Therefore, several features in Crowd are focused on the special needs of bipeds. In order to generate the required level of nuance, animated motion clips form the basis for the repertoire of biped movements. In other words, during a Biped/Crowd simulation, the delegates have no effect over the motion of the Biped, they only set goals to be achieved using clips available in the Motion Flow graph. With this approach, known as motion synthesis, the animator can precisely control details in the motion either by using hand animation or employing motion capture to produce a set of clips that describe how a member in the crowd behaves. For example, if you wanted to animate a crowd of marathon runners making their way through the streets of a city, you would need motion clips for various kinds of walking, running, jogging, resting, drinking water, cheering, etc. In effect, each of the motions you might expect to see in a marathon race could be represented as a clip. But motion must be more than a fragmented collection of clips. You must also consider how motions might be sequenced. Which motion transitions are possible from a given motion clip? To best understand this process, study this topic and follow the procedure Using bipeds in a crowd simulation on page 5495. Motion Flow Network and Possible Scripts Biped's Motion Flow on page 5233 functionality provides the mechanism for defining how separate motions fit together into a fluid animation. In effect, the motion flow network describes which motions can follow from other motions. Once the motion flow network is defined, a broad set of animated actions is possible by following different paths through the network. In Biped, a path through the network is called a motion flow script. For example, shown below is a motion flow network used in the sample file walkers.max. You can find this file in the cstudio\tutorials\biped_crowds folder in your 3ds Max path. This folder also contains the BIP files used in the motion flow network. You can access these files only if you have installed tutorials on your hard disk. For information on installing tutorials, see the Installation Guide. 5490 | Chapter 15 Character Animation This is a fairly simple network of possible motions, because the characters can only start, stop, turn at 90 degree angles left and right (walk_L90 and walk_R90), and do an about-face (walk_180). However, for more natural crowd interaction, it's advisable to expand the motion flow network to include shorter, more finely tuned variations such as turning at 45 degree increments, moving in different directions while facing the same way, loitering motions, and moving at different speeds. The Biped Motion Library has a comprehensive list of clips for you to experiment with. TIP You can create motion clips that curve slightly to the left and right by applying Biped's footstep-bending operation to straight-line motion clips. If the clips are motion captured, you should employ footstep extraction during import in preparation for the bending operation. Adding clips that turn slightly will let the biped crowd simulation make minute corrections in heading in order to achieve goal locations more precisely. Motion flow graphs that work best incorporate fine-tuned transitions. A good way to check your motion-flow transitions is by building test scripts as you build the graph: Add clips to the graph, add the necessary transitions, and optimize the transitions. Optimizing transitions works well as a starting point and, more often than not, produces the smoothest transitions. Next, make a new script that uses your transitions, and use the script to tweak the motion flow until the feet don't slide. Crowd Animation | 5491 The Shared Motion Flow Networks feature lets many bipeds use a single motion-flow network. Therefore, it’s practical to make motion-flow networks large without taxing your computer's memory. Delegate-Directed Behavioral Goals You can give a biped a behavioral goal by associating it with a delegate in the Crowd system, and then assigning behaviors to the delegate. For example, in the walkers.max sample, the behavioral goals of each of the biped's delegates are to: ■ Move toward the sphere using the Seek behavior. ■ Avoid hitting each other using the Avoid behavior. During a biped crowd simulation, character studio attempts to compute the best motion flow script for each biped member of the crowd that satisfies the behavioral goals of its associated delegate. In other words: ■ The biped’s crowd delegate defines the behavioral goals of the biped. ■ The possible motions to reach those goals are defined by the biped's motion flow network. ■ The Crowd object's Solve operation computes the script, or path through the motion flow network, that best meets the goals of the biped's delegate. So in the walkers.max sample, the simulation will always choose the best available walking clip in the network that directs the biped's delegate toward the sphere. Each biped's script evolves as the crowd "Solve" computes. This is somewhat like a real-time "game engine" in that the crowd solver’s choice of the next best clip for a given biped is restricted by that biped's currently active clip. Biped Crowd Avoidance, Priority, and Backtracking Because bipeds in crowds are always following motion flow scripts, the avoidance behavior for bipeds works differently. Unlike ordinary delegates, biped delegates can move only along motion flow-scripted paths, so if a collision takes place, character studio will backtrack on page 5607 to the previous clip in the current script and find another path. This may take some time to compute when complex crowd interactions are present since a single backtrack may not be enough. The computation will explore all paths from a given backtracking clip, and if that fails, it will backtrack to the previous clip, and so on, until a solution is found. 5492 | Chapter 15 Character Animation In the example, if the current script of a biped is: walk_start walk walk_L90 and a collision is encountered during the walk_L90 clip, the biped will backtrack to the end of the walk clip and attempt to try a different clip in place of the failed left turn. If that fails, it will try the next best choice, and so on. TIP The inclusion of stopping and loitering motions in the motion flow network is sometimes helpful in preventing excessive backtracking since stopping is always an effective way to avoid collisions in a tight situation. In general, the more variation in speed and direction that is possible, the more quickly the backtracking feature will find a solution. In order to make the backtracking computationally manageable, the biped crowd members are computed one at a time, in order of priority on page 5607. Thus, the crowd interaction is accumulated with each successive biped added to the animation. In other words, each waits its turn to compute its complete animation, which entails avoiding the bipeds that have been computed before it. It follows that bipeds with the lowest priorities generally encounter the most collisions, since they must steer around all the bipeds that have higher priorities. Preparing Characters for a Biped Crowd To create a biped crowd simulation, you will need several bipeds. Because the crowd simulation factors in each biped's leg length when applying clips to the biped, your simulation will be more accurate if your bipeds are the correct size from the start. One straightforward workflow would be: ■ In a separate file, create or acquire a few character models for your scene. ■ Skin the characters with Physique or with another method, such as the 3ds Max Skin modifier. ■ Clone the characters and change something about each one, such as the color of clothing or hair, and the character's height. See Scaling a Character on page 5351. ■ Give each character a unique name that will allow you to identify it in the simulation to some degree. Example: BigMan02, LittleGirl03. See Naming the Biped on page 4828. Crowd Animation | 5493 ■ For each character, disable the MeshSmooth modifier or other modifiers above Physique that add polygons. ■ Hide the character meshes and leave the bipeds visible. This setup makes it easy to merge the characters into the crowd scene. When characters are merged, the meshes themselves will be hidden, which will improve system performance. Preparing Motions for a Biped Crowd The clips you use for a biped crowd simulation can be loaded from the CD that comes with character studio, imported from motion capture files, or created from scratch. The integrity of transitions between clips in the motion flow network is very important when creating a biped crowd simulation. When creating transitions for a single biped, it's a simple matter to correct individual transitions after the motion flow script has been created. With a crowd, having to correct transitions for each biped after the simulation is complete would be extremely time-consuming. It is much more efficient to ensure your transitions are correct before starting to solve the simulation. One way to make this process easier is to set up all motions so each has an ideal transition of exactly the same number of frames, such as 10 or 15. Then you can optimize transitions for this length, and all or most transitions will work flawlessly. To check transitions, create a simple script for one biped using several transitions in the graph. Check the motion and work with transitions individually until they look right. You might not catch all bad transitions with this method, but you'll catch most of them. A “bad” transition would be one where the feet skip or hop when they should be walking, or any other undesirable change that occurs during a transition. See Customizing Transitions on page 5212. After solving the biped crowd simulation the first few times, check again for bad transitions you might have missed the first time around. After a few simulations, most likely you will have found all or nearly all the bad transitions. 5494 | Chapter 15 Character Animation Restrictions Some features of the crowd system are not designed to work with biped crowds. These behaviors and parameters have no effect on the crowd's movements when bipeds are used with the simulation. ■ Vector fields ■ The Look Ahead parameter in the Avoid behavior Procedures: Using Bipeds in a Crowd Simulation The following sequence of procedures gives the basic steps for creating and saving a motion flow graph, assigning several bipeds to delegates, and then sharing the motion flow graph among the bipeds so that character studio automatically creates separate motion flow scripts for each biped, based on the behaviors assigned to its delegate. NOTE These procedures assume you know how to animate bipeds with footsteps and keyframe methods, and save the animations as BIP files. To prepare for using Shared Motion Flow, you should create and save a range of biped motions such as start, walk, turn right, turn left, stop, and wait. See Loading and Saving BIP Animation on page 4978. The first step is to create an appropriate motion flow graph and save it to disk. To create the shared motion flow: 1 Add a biped, and then go to the 2 On the Biped rollout, click 3 On the Motion Flow rollout, click Motion panel. (Motion Flow Mode). (Show Graph). 4 On the Motion Flow Graph toolbar, click (Create Multiple Clips). This displays an Open dialog that lets you select any number of BIP files from the same directory to add simultaneously to the motion flow graph. Use Click+Shift+click (click, and then Shift+click) to choose several contiguous files, and Ctrl+click to choose non-contiguous files. Crowd Animation | 5495 5 Choose the BIP files you want character studio to use for motion synthesis, and then click the OK button. The files are added to the graph as clips. Each clip is automatically named after the file from which it's derived. NOTE For best results, especially with simulations in which bipeds are to turn at different angles, use as many different turning clips as possible. A minimal setup would include separate left-turn and right-turn walks at angles of 45, 90, 135, and 180 degrees. The next step is to add transitions among the clips so character studio knows which actions can proceed to and from other actions. You can do this manually for greater control, but for initial testing, you can save time by letting character studio add and optimize transitions automatically. 6 Click (Synthesize Motion Flow Graph). This uses the first 30 percent and the last 30 percent of each motion to create transitions. The graph now shows arrows to and from each clip, as well as from each clip to itself. If you like, delete transitions that obviously don't belong, such as the ones from the stop and start clips to themselves. Alternatively, you can use graph. 7 (Create Transition) to set up a custom Optimize the transitions. See Transition Optimization Dialog on page 5261. When you solve the simulation, Crowd automatically generates a motion flow script for the biped, based on this graph. When you have a graph with multiple clips, as in this case, it chooses the starting clip for the script from one or more clips you designate as random start clips. If you want to check the integrity of transitions before continuing, do so now. See Customizing Transitions on page 5212. 8 Click (Select Random Start Clips), and then click a clip. This tells character studio to start the script with this clip, and uses the default probability of 100 percent that the clip will be chosen. 5496 | Chapter 15 Character Animation If you want the various bipeds to start with different clips, select multiple random start clips by pressing and holding the Ctrl key as you click. The default Random Start Probability setting of 100 for all clips means that character studio will choose randomly among them for a starting clip for each biped's script. To change the likelihood of starting with specific clips, right-click a clip and modify its Random Start Probability setting. For example, say you want to start each biped's script with any of three clips: clips A, B, and C. You want clip A to be chosen twice as often as clip B or C. In that case, using the Random Start Clips tool, you'd first click clip A, and then Ctrl+click clips B and C. Then you'd right-click each in turn, assigning a Random Start Probability of 60 to clip A, and 30 to both clips B and C. NOTE The Probability values are arbitrary; what counts is their ratios. For example, values of 80/40/40 or 20/10/10 would work the same. NOTE You can also set and change random starting clips and start probabilities in the Motion Flow graph after loading the MFE file into the Shared Motion Flow dialog, described later in this procedure. NOTE If a motion flow script already exists for a biped, for example after you've solved a crowd simulation, character studio can use the first clip in the script for subsequent solutions. 9 On the Motion Flow rollout, click in the MFE format. (Save File), and save the graph The next step in using bipeds in a crowd simulation is to create the simulation. To set up the crowd simulation: 1 Reset 3ds Max. 2 Set up a crowd simulation with any number of delegates, using behaviors appropriate to the crowd scene you want to create. Do not use bipeds at first; work with delegates only to rough out the motion of the crowd members. TIP When first starting out with motion synthesis, use smaller crowds of eight or so delegates. Crowd Animation | 5497 3 Solve the simulation and adjust the settings as necessary to obtain the desired motion. 4 Merge bipeds and characters into the scene, and associate each delegate with a different biped using the delegate's Motion Parameters rollout on page 5509 ➤ Biped group settings. You must select the biped's center of mass (COM) object (typically named Bip0#), as indicated by the mouse cursor turning into a crosshairs icon when it's over the COM in the active viewport. 5 Turn on Use Biped for each delegate. TIP To link up any number of delegates with bipeds, all at the same time, select the Crowd helper object and click the Setup rollout ➤ (Biped/Delegate Associations) on page 5539. Use the dialog to connect the pairs and turn on Use Biped for each delegate. See Linking Objects to Delegates on page 5483. 6 Set the biped/delegates to use a random start clip as the first clip. You can set this simultaneously for multiple delegates with the Edit Multiple Delegates dialog on page 5535. To apply the shared motion flow: Next, you use the Shared Motion Flow function to apply the saved motion flow graph to the bipeds. 1 Select any biped and go to the 2 On the Biped rollout, click 3 On the Motion Flow rollout, click Motion panel. (Motion Flow Mode). (Shared Motion Flow). 4 In the Shared Motion Flow dialog, click the New button. This creates a new shared motion flow and assigns it a default name. You can change the name if you like. Next, load a motion flow file. 5498 | Chapter 15 Character Animation 5 Click the Parameters group ➤ Load .mfe button, and use the Open dialog to load a motion flow file. Typically, this would be the one you saved earlier in the procedure. Next, specify the bipeds that will share this motion flow. 6 In the Parameters group, click the Add button, and use the Select dialog to specify the bipeds that will share the motion flow. For your convenience, the Select dialog shows only center of mass objects for the bipeds in the scene. After you click the Select button, the bipeds appear in the dialog, in the list under "Bipeds Sharing this Motion Flow." 7 To correctly share a motion flow, bipeds' legs must be scaled the same. If any of the bipeds are scaled differently than the one you started with, an alert appears, and then, when you click the OK button in the alert box, the wrong-scale bipeds are noted as such in the list. At this point, you can select one of the bipeds in the list, and then click the Set Shared Motion Flow Scale button to match the others' scale to that biped. Or you can click one of the Reset Wrong Scales buttons to rescale the wrong-scale bipeds or just their legs. Be sure to take one of these measures before proceeding. One more step in the Shared Motion Flow dialog is necessary: You must activate Motion Flow mode for all the bipeds sharing the motion flow. A special button in the dialog lets you perform that action in one step. 8 Click (Put Multiple Bipeds In Motion Flow). This activates Motion Flow mode for all the bipeds sharing the motion flow. 9 Click the OK button to exit the dialog. To offset the delegates and test the simulation: Delegate-controlled bipeds can begin their animation with their motion flow scripts' first clip, if it exists, or with a random motion clip. But when you load a motion flow file into the Shared Motion Flow dialog, any scripts in the file are ignored. Thus, delegate-associated bipeds using motion flow in an unsolved crowd simulation have no existing scripts, and you must specify that they use Crowd Animation | 5499 the random start clip that you set in the motion flow. You do this via the delegates. 1 Use the Edit Multiple Delegates dialog ➤ Biped group to specify Random Start Clip for all the delegates. Solve the simulation. 2 Select the Crowd object, and go to the Modify panel. 3 In the Solve rollout, set the desired End Solve frame. 4 Click Solve to run the simulation. Crowd solves the simulation. 5 Check the solved simulation by dragging the frame slider and/or playing back the animation. To fine-tune the simulation: Chances are good that adjustments will be required. You can resolve problems in a number of different ways: Change the behavior and/or motion flow setups, change delegate parameters, and so on. If you find that bipeds are colliding and interpenetrating, you can take advantage of Crowd's special Priorities and Backtracking features. In fact, it is strongly recommended that you use both options for most Crowd/Biped simulations. 1 Use the Priority rollout on page 5607 controls for assigning different priorities to your delegates. Typically, delegates at the head of the crowd should have the highest priorities (that is, the lowest Priority settings). 2 In the Solve rollout ➤ Bipeds group, turn on Biped/Delegates Only, then turn on Use Priorities, and then turn on Backtracking. If you've solved previously, it's a good idea to turn on Delete Keys Before Solve as well. Now, when it solves the simulation, Crowd solves for one biped/delegate at a time, starting with the lowest-priority biped/delegate. As it solves for each subsequent biped/delegate, it looks for collisions, and when the occur, it backs up the solution to the end of the previous clip, and if necessary, previous clips, and then tries different paths through the motion flow graph. This method can take longer, which is why Backtracking is off by default, but it's often the best way to resolve problems with colliding bipeds. 5500 | Chapter 15 Character Animation Non-Biped Crowds Motion synthesis in character studio lets character studio derive character motion from a combination of crowd behaviors and either motion flow networks, when animating bipeds (see Biped Crowds on page 5489), or clip controllers, when working with non-bipedal creatures. In the latter case, using the Global Motion Clip and Master Motion Clip controllers, you can animate groups of creatures such as birds, butterflies, schools of fish, and insects. You can create clip controllers either as block controllers in Track View, or, more directly, with the Crowd helper controls on the Global Clip Controllers rollout. Two Approaches to Animation You can animate your creature either in place with looping animation but no transformational motion (such as a bird flapping its wings), or you can incorporate transformational motion into the animation as well (the bird moves upward while flapping its wings). In-place cyclic motion lends itself to flying or swimming motions like birds and fish, while adding lateral motion lends itself to crawling type animation where feet should be planted on the ground and not sliding. Depending on which you use, you toggle options on the Motion Clips tab of the Synthesis dialog. In both cases, you use crowd delegates driven by behaviors to motivate the creatures, which are linked to those delegates. NOTE To animate a model for motion synthesis, apply modifiers to the model and animate their parameters. Modifiers such as Bend, Taper, Wave, and Xform produce animation you can use with motion synthesis. Do not use sub-object animation, such as animation of vertices on an Editable Mesh object. Cyclic In-Place Animation First you create a creature with a few short loop cycles, like the beating of wings, gliding, turning left and turning right. This creature is assigned as the Global Object or the master object from which the motion clips will be derived. Then clones of the original creature are created. The clones are positioned and linked to delegates. States are created to select which clips will play based on a state. For example, if a bird (delegate) is pitching up or accelerating, the fast-beating clip is used; if the bird (delegate) slows to a stop, the wings-at-rest clip is used, and so on. During synthesis, character studio determines which state should be active depending on the speed and direction of the delegates. An active state determines which clip should be applied to the clones of the original object. Clips are blended together to create the animation. Available states Crowd Animation | 5501 are speed, acceleration, pitch, pitch velocity, heading velocity, or script (MAXScript). Animation with Lateral Motion For multi-legged creatures that walk, you can animate lateral motion as well as the cyclic motion of the legs moving. This is done to ensure that the creatures' feet do not slide as they move. character studio then uses the lateral motion information to create a state that perfectly matches the actual motion. character studio then strips the actual motion out. When a delegate approaches the speed and heading recorded in that state, the appropriate motion clip is triggered. This technique minimizes sliding feet. Use the character studio crowd tools to create the initial motion for the delegates. Use a seek or avoid behavior to steer birds, for example. Your object with the loop animation is then copied and the copies are linked to the delegates to create the complete animation. The delegate handles the path and the clip controllers handle the looped animation. You can create Master Motion Clip and Global Motion Clip in Track View by assigning a controller to the available controller under Block Control. It is, however, simpler to use the Crowd helper controls on the Global Clip Controller rollout to apply and use the clip controllers. See also: ■ Synthesis Dialog on page 5627 ■ ClipState Dialog on page 5639 Global Motion Clip Global Motion Clips store the clips to be shared among multiple Master Motion Clips, which are assigned to the cloned objects during synthesis. Global Motion Clips also contain the logic for performing motion synthesis on a collection of objects with trajectories and states associated with clips. Controls for motion synthesis are found in the Synthesis dialog. The way the motion clip keys are scaled and ordered depends upon user-defined states. Each state contains one or more motion clips that will be played when the state is active. Master Motion Clip Master Motion Clips are controllers that contain motion clips, or individual clips of animation. These motion clips are sequenced to create animation, and 5502 | Chapter 15 Character Animation overlap slightly with automatic blending to smooth the transitions between clips. Procedures To use Motion Synthesis with non-bipedal creatures: All of the work involved in copying and synthesizing clips takes place using controls in the Synthesis dialog on page 5627. This dialog has three tabs: Motion Clips, State, and Synthesis. This procedure assumes that the global object is static and has animation that loops. For creatures with many legs, you can animate lateral motion on the global object and then strip out the lateral motion with the Synthesis dialog. This latter approach serves to minimize foot sliding in a multi-legged creature. 1 Animate an object. Create animation in one position, like a bird's beating wings. Create a variety of animation like a gliding motion (wings still), wings beating slowly, and so on. To animate the object, apply modifiers and animate their parameters. This will be the Global object, from which animation clips will be derived. 2 Using the Create panel ➤ (Helpers) ➤ Object Type rollout, add a Crowd object and a Delegate object. Create the objects in the Top or Perspective viewport. 3 Use the Crowd object (Scatter Objects) on page 5518 tool to clone the delegate and optionally distribute the clones (you can also distribute them manually). Make sure you end up with an equal number of delegates and animated object clones. Next, associate and link the objects to the delegates. 4 On the Setup rollout, click (Object/Delegate Associations). The Object/Delegate Associations dialog on page 5532 appears. 5 Add the objects and delegates into their respective columns. Crowd Animation | 5503 6 Click Align Objects With Delegates, and then click Link Objects To Delegates, and then click OK to exit the dialog. The objects align themselves with the delegates and are linked to the delegates. Next, animate the delegates with behaviors. See Assigning Behaviors on page 5467 for information on using behaviors. When you solve the simulation, the cloned objects follow the delegates, which are guided by behaviors. You then generate motion synthesis based on the delegate movement. 7 Select the Crowd object. On the Modify panel ➤ Global Clip Controllers rollout, click New, and use the Select dialog to select the Global object from step 1. The object appears in the Global Clip Controllers rollout list. 8 In the list, click the object, and then click the Edit button. The Synthesis dialog displays. Its name is that of the object. 9 On the Motion Clips panel, turn off all check boxes in the From Global Object and Remove Local groups. Use these options only if your original object has lateral motion to coordinate with footsteps. 10 On the Motion Clips panel, click New. This opens the MotionClip Parameters dialog, which lets you set the name, color, and frame range for a motion clip. 11 Choose a descriptive name and a frame range for the motion clip. For example, frames 0 through 10 might be your glide animation. 12 Continue to define clips using different frame ranges from the Global object's animation. Give the clips descriptive names. Next, you define states whose parameters determine when motion synthesis is to use each clip. 13 Click the State tab, and then click New State. A new state is added to the drop-down list at the top of the Synthesis States group. Give the state a descriptive name. In many cases, the state can use the same name as the motion clip that's to be associated with it. 5504 | Chapter 15 Character Animation Next, you specify the state's parameters; that is, how the delegate should be moving when the associated object is to use its motion clip. For example, your glide motion should be active only if acceleration is less than 0. 14 Click Edit Properties and define how character studio should activate the clip, based on any combination of speed, acceleration, and so on. Click each appropriate tab, turn on its Use ... check box, and set parameters. Click Exit to exit the dialog. When using a range, make sure the Min setting is lower than the Max setting. For example, when using a negative range such as -180 to -10, enter the number with the higher absolute value (-180) as the Min setting. You should already have several motion clips. Now you need to associate a clip with this state. For example, if you've defined a state whose acceleration is less than 0, you might associate the Glide clip with it. 15 In the MotionClips group, click Add Clip, and in the Select MotionClip dialog, highlight a clip and click OK. 16 Repeat steps 14 and 15 for each state to be used in motion synthesis. 17 Go to the Synthesis panel, click New Master Motion Clip, and add all of the cloned objects. 18 Click Auto Blend All and then click Synthesize All. The synthesis occurs as a progress bar displays. When the synthesis is completed, the Synthesis dialog reappears. You can now view the ClipState parameters' ranges and average values by clicking State panel ➤ Edit properties. This is useful in fine-tuning state properties. Click OK to exit the Synthesis dialog. 19 Click (Play Animation). It's not necessary to re-solve the simulation. The objects follow the delegates and are animated using clips that are activated according to delegate motion and the states you created. Crowd Animation User Interface Crowd animation lets you simulate the behavior of crowds of people, animals, or other beings parametrically, using several different types of objects. The topics that follow describe the user interface for setting up a crowd simulation. Crowd Animation | 5505 Crowd of mannequins in a subway station animated using character studio ■ The Crowd helper object on page 5515 includes facilities for replicating and grouping objects and assigning behaviors on page 5542 to objects and groups. The Crowd object works directly on Delegate helper objects on page 5507, and indirectly on bipeds and other objects via delegates. ■ Cognitive controllers on page 5554 can change delegate behavior based on circumstances in the simulation. ■ Motion synthesis on page 5619 uses animation from the linked object based on delegate orientation, speed and other factors. Crowd Shortcuts This topic summarizes the keyboard shortcuts available for crowd animation. To enable the character studio keyboard shortcuts, turn on the Keyboard Shortcut Override toggle on page 9008. 5506 | Chapter 15 Character Animation All character studio keyboard shortcuts activate when the Motion panel is active and the Keyboard Shortcut Override button is active. See also: ■ Keyboard Shortcuts on page 9007 ■ Keyboard Panel on page 8837 ■ Customize User Interface Dialog on page 8837 Action Shortcut Description Solve S Solves crowd simulation. Step Solve Step-solves crowd simulation. Delegate Helper Object Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Delegate The Delegate is a special helper object used in crowd animation. It serves as an agent for motion created by a Crowd object on page 5515 and its behaviors. The Crowd object controls a delegate or delegates, whose motion can then be imparted to a biped or other object. Delegates cannot be rendered. Crowd Animation | 5507 The delegate object is shaped like a pyramid. By default, the point of the pyramid indicates the forward direction, the delegate's local Y axis. The delegate object has two rollouts, described in the topics that follow. Also, you can set parameters for multiple delegates simultaneously, optionally with random variation, using the Crowd object's Edit Multiple Delegates dialog on page 5535. See also: ■ Creating Crowd Helpers on page 5462 ■ Crowd Helper Object on page 5515 Geometry Parameters Rollout Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Delegate ➤ Geometry Parameters rollout 5508 | Chapter 15 Character Animation Select a Delegate object. ➤ rollout Modify panel ➤ Geometry Parameters Use these parameters to modify the delegate object's size. Interface Width, Depth, Height Sets the width, depth, and height of the Delegate object. These fields also act as readouts when you create the delegate. NOTE The Delegate is a helper object, and thus cannot be rendered. Thus the size of the Delegate object is primarily for use in scene setup, and for determining bounding box extents. Motion Parameters Rollout Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Delegate ➤ Motion Parameters rollout Select a Delegate object. ➤ rollout Modify panel ➤ Motion Parameters The Motion Parameters rollout lets you specify a Delegate object's characteristics, including speed, acceleration, and other factors. It also lets you associate the delegate with a biped. IMPORTANT When using delegates with bipeds, only the settings in the Biped group have any effect in the simulation, because Biped gets all its speed and turning information from motion flow clips and behaviors. Crowd Animation | 5509 NOTE You can set any or all motion parameters simultaneously for a number of delegates with the Edit Multiple Delegates dialog on page 5535. Interface Velocity Color When Show Velocity is on, uses the specified color to draw a vector in the delegate's center during the simulation solution. The vector length indicates the delegate's relative speed. Default=black. Active The delegate object is subject to control by a Crowd object. Default=on. Show Forces The forces being applied to a delegate by any applicable behaviors are drawn as vectors whose length indicates the extent of the forces and whose orientation shows the direction in which the behavior is influencing the delegate to move. Default=on. For example, if the delegate is affected by a Space Warp behavior on page 5584 and a Wander behavior on page 5601, the vectors (using default colors) are yellow and blue-green, respectively. These vectors are visible only during solution of the crowd simulation. Show Velocity Uses the Velocity Color (see above) to draw a vector whose length depicts the delegate's relative speed. This vector is visible only during the solution of the crowd simulation. Default=off. Show Cog Control States During a solution, a text label appears next to the delegate showing the name of the cognitive controller on page 5486 state or transition that currently directs its behavior, if any. Default=on. Constrain to XY Plane The delegate remains at its initial height (position on the world Z axis) throughout the simulation. When off, the delegate's height can change during the simulation, for example when seeking an object at a different height. Default=on. Bound Box of Hierarchy When on, the Avoid behavior on page 5564 uses the bounding box of the delegate and all of its children to perform its behavior. Default=on. 5510 | Chapter 15 Character Animation Speed group Average Speed Specifies the delegate's baseline velocity in 3ds Max units (or the current unit type) per frame. Default=5.0. The delegate's speed can be modified during the simulation by a variety of factors, such as a linked biped's built-in speed and Deviation settings in a behavior. Max Accel(eration) Multiplied times Average Speed to determine the maximum acceleration. Default=0.1. For example, given the defaults of 5.0 for Average Speed and 0.1 for Max Accel, the acceleration or deceleration at any moment can be no greater than 0.5 units/frame/frame. Decel(eration) Weight Specifies how much a delegate should slow down when turning. The higher this setting, the more the delegate slows down when it reaches the turn angle (see following parameter). A value of 0 specifies no slowdown; a value of 1 tells the delegate to stop. Default=0.3. The algorithm computes a value, d, which goes linearly from 0 to (1 - Decel Weight) as the turn angle of the delegate goes from 0 to the Turn Angle specified by the user. The speed of the delegate is then multiplied by d. For example, when the delegate turns at the Turn Angle or greater, its speed will be multiplied by (1 - Decel Weight), slowing it down as much as possible based on this parameter. When the delegate is not turning at all, its speed is not affected by the Decel Weight. When the delegate is turning at half the specified Turn Angle, d = Decel Weight / 2, so its speed will be multiplied by (1 - Decel Weight / 2). As a practical example, take a delegate traveling at 10 units/frame. Decel Weight is set to 0.4, and At Turn Angle is set to 30. When the delegate has turned 15 degrees (half the At Turn Angle), the effective deceleration weight Crowd Animation | 5511 is 0.2. Subtract that quantity from 1 to get 0.8, and then multiply that times the delegate's speed to get 8 units per second halfway into the turn. At the full turn (30 degrees), the delegate travels at 6 units per frame. At Turn Angle Specifies the turn angle at which Decel Weight's full slowdown effect is applied. Default=10.0. If the current turn angle is less than At Turn Angle, the algorithm divides the latter by the former, and then divides the Decel Weight setting by the result to derive the effective deceleration weight. Decel(eration) Weight Specifies how much the delegate should slow down when moving at an upward slant. Default=0.1. See Decel Weight on page 5511 for a full explanation. At Incline Angle Specifies the upward slant angle at which Decel Weight's full slowdown effect is applied. Default=90.0. Accel(eration) Weight Specifies how much the delegate should speed up when moving at a downward slant. Default=0.1. See Decel Weight on page 5511 for a full explanation, taking into account that Accel Weight produces a speedup effect rather than a slowdown. Thus, the effective acceleration weight is added to 1, not subtracted from it. At Decline Angle Specifies the downward slant angle at which Accel Weight's full speedup effect is applied. Default=90.0. Turning group These parameters affect the delegate's turning behavior; that is, how it changes direction in response to forces applied by crowd behaviors. You can use the Orientation behavior on page 5569 to affect how a delegate turns and banks, independently of the actual path taken. Turning applies to objects moving both on the ground and in the air. Max Turn Velocity Specifies the maximum number of degrees a delegate can turn per frame. Applies both to heading and pitch. Default=30.0. 5512 | Chapter 15 Character Animation Max Turn Accel Specifies how much the delegate's heading or pitch angle can change per frame. This controls angular acceleration and deceleration. For smooth turns, keep it relatively low. Default=3.0. TIP If a delegate exhibits sluggish turning behavior during a simulation, try increasing Max Turn Velocity, Max Turn Accel, or both. Max Incline Specifies the maximum number of degrees a delegate can turn upward at any given frame. For example, most birds can't fly straight up, so you might set this to 45 for a bird. Default=90.0. Max Decline Specifies the maximum number of degrees a delegate can turn downward at any given frame. Default=90.0. For example, for a bird that can't fly straight up but can fly straight down, you might set to Max Incline to 45 and Max Decline to 90. Banking group These parameters affect the delegate's banking behavior; that is, how it tilts around its front-back axis as it changes direction while moving. Banking typically applies to objects moving in the air or on water, but can also apply to ground-based objects such as one- or two-wheeled vehicles. Max Bank Specifies the maximum number of degrees a delegate can bank. Default=30.0. Max Bank Velocity Specifies the maximum number of degrees a delegate can bank per frame. Default=3.0. Bank per Turn The number of degrees the delegate will bank as a function of the turn angle at the current frame. For example, if Bank Per Turn=1, the delegate will bank one degree for every degree it is turning at a given frame. Default=1.0. Crowd Animation | 5513 Biped group These parameters relate to the use of bipeds associated with delegates. In order to have a biped exhibit character animation as it follows the delegate's course, you must use motion flow methods. For a procedure, see To use bipeds in a crowd simulation on page 5495. Use Biped Associates the delegate with a biped (specified with the None button), and causes the delegate's speed to be determined by that of the biped's existing motion. Its behavior (for example, seeking another object) remains defined by a crowd object. NOTE This button is not available until a biped is designated via the None button. None (label) Click this button and then select a biped to be associated with the delegate's motion. You can select a biped by clicking its center of mass object (e.g., Bip01) in a viewport, or with the Pick Object dialog, which you can open by pressing H or by clicking the toolbar button Select By Name (you cannot use the Selection Floater). Thereafter, the name of the biped object appears on the button. TIP When using the viewport, the mouse cursor changes to a crosshairs when positioned over a biped's center of mass. Start Frame Specifies the frame at which the biped's first clip will begin to play. If, when several bipeds share the same starting clip, you vary this setting per biped, they won't walk in lockstep formation. This is most useful when you take advantage of the ability of the Edit Multiple Delegates dialog on page 5535 to randomize the start frame for each delegate. Priority Sets the delegate priority, which determines the order of solution in biped/delegate simulations. 5514 | Chapter 15 Character Animation For details, see Priority Rollout on page 5607. First clip choice method Determines which motion clip in the shared motion flow graph Crowd initially uses to animate the biped linked with the delegate. ■ First clip of current scriptUses the first clip in the biped's motion flow script, if a script exists. If this option is chosen, but there is no script, an error message is generated. ■ Random start clipUses the random start clip or clips specified in the shared motion flow graph, if random start clips have been designated. If this option is chosen, but no random start clips have been designated, an error message is generated. Crowd Helper Object Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd The Crowd helper object acts as the command center for controlling crowd simulations in character studio. In most cases, you won't need more than one Crowd object per scene. Crowd Behaviors The Crowd object also lets you add behaviors to the scene, choose the current behavior from a list, and provides a rollout for modifying that behavior. Behaviors provided with character studio include: Avoid Behavior on page 5564 Orientation Behavior on page 5569 Path Follow Behavior on page 5573 Repel Behavior on page 5577 Scripted Behavior on page 5580 Seek Behavior on page 5581 Space Warp Behavior on page 5584 Speed Vary Behavior on page 5585 Surface Arrive Behavior on page 5587 Surface Follow Behavior on page 5592 Crowd Animation | 5515 Wall Repel Behavior on page 5595 Wall Seek Behavior on page 5598 Wander Behavior on page 5601 See also: ■ Creating Crowd Helpers on page 5462 ■ Delegate Helper Object on page 5507 Setup Rollout Create panel ➤ ➤ Setup rollout Select a Crowd object. ➤ (Helpers) ➤ Object Type rollout ➤ Crowd Modify panel ➤ Setup rollout The Setup rollout of the Crowd helper object contains controls for setting up crowd functions. Interface A number of functions are available from a row of buttons at the top of the Setup rollout: Scatter Opens the Scatter Objects Dialog on page 5518. 5516 | Chapter 15 Character Animation Objects/Delegate Associations Opens the Object/Delegate Associations dialog on page 5532. Biped/Delegate Associations Opens the Associate Bipeds With Delegates dialog on page 5539. Multiple Delegate Editing Opens the Edit Multiple Delegates dialog on page 5535. Behavior Assignments Displays the Behavior Assignments and Teams dialog on page 5542. Cognitive Controllers Displays the Cognitive Controller editor on page 5554. Behaviors group Use these controls for adding, removing, and renaming behaviors. New Launches the Select Behavior Type dialog on page 5550. Choose a behavior and then click OK to add the behavior to the scene. Then use the Behavior Assignments and Teams dialog on page 5542 to assign the behavior to a delegate or delegates in the scene. The first time you add a behavior to the scene using this command panel, a new rollout appears for this behavior below the Setup rollout. This rollout lets you change settings for the behavior. To display the rollout for a different behavior in the scene, choose it from the drop-down list in the Behaviors group. Following is a list of available behaviors: Avoid Behavior on page 5564 Orientation Behavior on page 5569 Path Follow Behavior on page 5573 Repel Behavior on page 5577 Scripted Behavior on page 5580 Seek Behavior on page 5581 Space Warp Behavior on page 5584 Crowd Animation | 5517 Speed Vary Behavior on page 5585 Surface Arrive Behavior on page 5587 Surface Follow Behavior on page 5592 Wall Repel Behavior on page 5595 Wall Seek Behavior on page 5598 Wander Behavior on page 5601 Delete Deletes the current behavior. If the behavior is currently in use, that is, it's assigned to a delegate or team, either directly in the Behavior Assignments and Teams dialog on page 5542 or indirectly through a cognitive controller, a small dialog appears asking you to confirm the deletion. If you delete a directly assigned behavior, its assignment is removed from the scene. If you delete a behavior used in a cognitive controller, it is removed from the state to which it was assigned. Behaviors List Lists all behaviors in the current scene (added with New). Select a behavior from the list to have its rollout appear below the Setup rollout. Note that behaviors that appear in this list aren't necessarily assigned to any delegates active in the crowd simulation. Likewise, a behavior whose rollout appears below the Setup rollout isn't necessarily active or assigned. To assign delegates and/or activate behaviors, use the Behavior Assignments and Teams dialog on page 5542. You can rename a behavior by first selecting it from the list, and then clicking its name and entering a new one from the keyboard. It's a good idea to give descriptive names to behaviors; for example, Avoid Red Team. NOTE If you add the first behavior in the scene from the Behavior Assignments and Teams dialog on page 5542, the text box remains empty and no rollout for the behavior appears. To edit the behavior, choose it from the list. Scatter Objects Dialog Create panel ➤ ➤ Setup rollout ➤ 5518 | Chapter 15 Character Animation (Helpers) ➤ Object Type rollout ➤ Crowd (Scatter) Select a Crowd object. ➤ (Scatter) Modify panel ➤ Setup rollout ➤ The Scatter Objects dialog of the Crowd helper object includes facilities for creating crowds by cloning objects, such as delegates. It also lets you distribute the clones and other objects within a radial area, along a shape, across a grid object or surface, or within a box or sphere. You can also specify various orientation and scaling options for scatter objects. See also: ■ Creating Crowd Helpers on page 5462 Crowd Animation | 5519 Interface Clone panel Contains the basic options for cloning an object. Object to Clone (None) Click this button, and then select an object in the scene to be cloned. 5520 | Chapter 15 Character Animation How Many Specifies the number of clones to be generated. Copy/Instance/Reference Lets you specify how the object is cloned. It can be cloned as a copy, an instance on page 9195, or a reference on page 9282. Clone Hierarchy When on, all objects linked to the selected object are cloned as well, with the hierarchical structure retained intact for each clone. Clone Controllers When on, any controllers (that is, animation) associated with the selected object are cloned as well. Generate Clones Click this button to create the specified number of clones of the object whose name appears on the Object To Clone button. Cloned objects are all created in the same location; to distribute them, you must set distribution options on the Position panel, and then click the Generate Locations button. After you generate clones, the original object and its newly created clones are scatter objects; that is, they're selected in the list in the All Ops panel (Select Objects To Transform), and are thus subject to subsequent operations on the Position, Rotation, and Scale panels. You can change this selection via the All Ops panel ➤ Select Objects to Transform on page 5531 function or by generating clones again. Crowd Animation | 5521 Position panel Contains options for positioning objects using a reference (distribution) object. You can distribute objects randomly over the surface of a grid or other object, along a shape, or within the volume of a box or a sphere. You can choose only one option from the first two group boxes. 5522 | Chapter 15 Character Animation Placement Relative to Object group On Grid/Inside Sphere/Inside Box/On Surface/On Shape Choose the appropriate item before selecting the reference object. ■ On Grid distributes the scatter objects over the surface of a grid object. ■ Inside Box and Inside Sphere distribute the scatter objects within the volume of a primitive box or sphere object, respectively. ■ On Surface distributes the scatter objects over the surface of any renderable object. For example, you can create a landscape object for use as a distribution surface by applying a Noise modifier to a patch grid. ■ On Shape distributes the scatter objects along a shape object: a spline or NURBS curve. If the shape consists of more than one curve, Scatter uses the lowest-numbered curve (typically the first one added). Offset When using On Surface, specifies a consistent distance above the surface (using surface normals) for distribution. Available only when On Surface is chosen. Grid/Box/Sphere/Surface/Shape (None) Click this button, and then select an object in the scene to be used as a reference object. Listed objects are limited to the chosen category. NOTE With the Grid, Box, and Sphere choices, you can use only a grid helper object, a primitive sphere, or a primitive box as a reference object. A primitive sphere or box that has been converted to a editable mesh object can't be used as a reference object. Also, the appropriate radio button (see the first item in this group) must be chosen before you select a reference object. Placement in Area group Contains options for positioning scatter objects in a radial area, without using a reference object. In Radial Area Distributes the scatter objects randomly in a spherical or circular arrangement, using the remaining controls in this group box. Center Specifies the center of the distribution in world coordinates. Radius Specifies the maximum distance from the center within which objects are to be positioned. In XY Plane Specifies that objects are to be distributed on the world XY plane only, resulting in a disc-like array. Crowd Animation | 5523 Spacing group Include children's bounding boxes in spacing calculations When on, all of a hierarchical scatter object's sub-objects are considered when determining spacing. When off, only the selected object is considered. Spacing Specifies the minimum distance between scatter objects. The Spacing setting is multiplied by the size of the object's bounding sphere to determine how close objects can get. If Spacing is left at 1.0, the default, objects normally cannot be positioned within each others' bounding spheres. If Spacing is set to 2.0, objects are separated by a distance equal to or greater than the size of the bounding sphere. _____ Rand Seed Specifies a seed value for randomizing scatter objects' locations. If, for example, you use the same value for clones of a delegate and then a master object, each pair ends up in the same place. If a scene has more than one crowd, each should use a different seed to avoid having identical configurations. Generate Locations Click this button to produce a set of locations for all scatter objects; that is, cloned objects or objects selected with the Select Objects to Transform on page 5531 button. Inc(rement) Seed When on, and you click the Generate Locations button, Scatter adds 1 to the Rand Seed value, and redistributes the objects using the new random seed. Default=on. 5524 | Chapter 15 Character Animation Rotation panel Contains options for orienting scatter objects. You can specify alternative forward and up axes, plus a target object toward which the objects will point. In addition, you can specify a source object; when using both source and target objects, the objects are rotated so they're parallel to the line between the two. Crowd Animation | 5525 Local Axes group Use these settings to designate alternative forward and up axes. The default settings match the delegate axes. Forward +/-/X/Y/Z: Specifies which axis of the objects points forward, for use with the Look At Target option. When the + button is active, the default condition, the positive chosen axis is used. Click the + button to use the negative axis. Up +/-/X/Y/Z: Specifies which axis of the objects points upward; this axis is aligned with the world Z-axis. When the + button is active, the default condition, the positive chosen axis is used. Click the + button to use the negative axis. NOTE You cannot specify the same axis as Local Forward and Local Up simultaneously. If you choose an axis for one that's already chosen for the other, character studio switches the other to a different axis. Look From group Self/Selected Object Determines the direction from which the objects look. By default, each object looks from its own position (Self), so that when several objects are looking at a single target, each is oriented differently. To orient each object so that it's parallel to an imaginary line between two objects (the "from" object and the "to" object), choose Selected Object and specify the object with the (None) button. None (label) When choosing Selected Object as the Look From object, use this button to specify the "from" direction. Click the button, and then select an object from which the objects are to look. Look At Target group Current Orientation/Selected Object Determines the direction toward which the scatter objects look. By default, each object retains its current orientation. To orient each scatter object so that it's parallel to an imaginary line between two objects (the "look from" object and the "look at target" object), choose Selected Object and specify the object with the (None) button. None (label) Use this button to specify the "to" direction. Click the button, and then select an object toward which the scatter objects are to look. Sideways Deviation Sets a maximum deviation angle in degrees for the objects' sideways orientation. If the scatter objects should look in an object's general direction but may look at a spot to either side of the target, use Sideways Deviation to set the maximum amount by which they can deviate from the 5526 | Chapter 15 Character Animation calculated angle. The actual deviation amount for each object is calculated at random, based on the Deviation settings and the Rand Seed setting. Range=0.0 to 180.0. Up/Down Deviation Sets a maximum deviation angle in degrees for the objects' up/down orientation. If scatter objects should look in an object's general direction but may look at a spot above or below the target, use Up/Down Deviation to set the maximum amount by which they can deviate from the calculated angle. The actual deviation amount for each scatter object is calculated at random, based on the Deviation settings and the Rand Seed setting. Range=0.0 to 180.0. _____ Rand Seed Specifies a seed value for randomizing the scatter objects' orientations, based on the Deviation settings. If you use the same value for clones of a delegate and then a master object, each pair ends up with the same orientation. If a scene has more than one crowd, each should use a different seed to avoid having identical configurations. Generate Orientations Click this button to produce a set of orientations for all scatter objects; that is, cloned objects or objects selected with the Select Objects to Transform on page 5531 button. Inc(rement) Seed When on, and you click the Generate Orientations button, Scatter adds 1 to the Rand Seed value, and reorients the scatter objects using the new random seed. Default=on. Crowd Animation | 5527 Scale panel Contains options for scaling scatter objects. You can apply uniform or non-uniform scaling, with optional per-axis deviation for scaling variation. Each axis group has a "Same As" option that lets you scale that axis by the same amount as another. To prevent non-uniform scaling, set two axes to be 5528 | Chapter 15 Character Animation the same as the third. For example, set scaling in the X group, and then in the Y and Z groups, turn on Same as X. WARNING These controls can apply non-uniform scaling to objects, which may produce unexpected results when performing other operations within 3ds Max. X group Scale Sets scaling on the X-axis as a multiplier. Default=1.0. Deviation Sets the maximum factor for randomization of scaling. For each scatter object, Deviation is multiplied by a random number between 0.0 and 1.0, and then added to the Scale multiplier. Same As Y/Z Lets you use the same scaling as on the Y- or Z-axis, whether explicit or randomized. When you specify an axis, the parameters group for that axis becomes unavailable. Y group Scale Sets scaling on the Y-axis as a multiplier. Default=1.0. Deviation Sets the maximum factor for randomization of scaling. For each scatter object, Deviation is multiplied by a random number between 0.0 and 1.0, and then added to the Scale multiplier. Same As X/Z Lets you use the same scaling as on the X- or Z-axis, whether explicit or randomized. When you specify an axis, the parameters group for that axis becomes unavailable. Z group Scale Sets scaling on the Z-axis as a multiplier. Default=1.0. Deviation Sets the maximum factor for randomization of scaling. For each scatter object, Deviation is multiplied by a random number between 0.0 and 1.0, and then added to the Scale multiplier. Same As X/Y Lets you use the same scaling as on the X- or Y-axis, whether explicit or randomized. When you specify an axis, the parameters group for that axis becomes unavailable. _____ Rand Seed Specifies a seed value for randomizing the clones' scales, based on the Deviation settings. If you use the same value for clones of a delegate and then a master object, each pair ends up with the same scaling factor. Crowd Animation | 5529 Generate Scales Click this button to scale all scatter objects; that is, cloned objects or objects selected with the Select Objects to Transform on page 5531 button. Inc(rement) Seed When on, and you click the Generate Scales button, Scatter adds 1 to the Rand Seed value, and re-scales the scatter objects using the new random seed. Default=on. All Ops panel This panel lets you perform various permutations of cloning and transform operations in a single step, with or without successive randomization. Operations group Compute Clones Turn on to clone the object chosen with the Object to Clone button on page 5520. When you click the Scatter button, the object is cloned, and then any specified transforms are applied to the clones. Turning on Clones makes the Select Objects To Transform button unavailable. The object to clone and cloning parameters must be specified on the Clone panel on page 5520. 5530 | Chapter 15 Character Animation Compute Positions/Rotations/Scales Any options in this column that are turned on when you click the Scatter button cause the respective transforms to be applied to the current selection (see Select Objects To Transform, below) according to the settings in the Position panel on page 5522, Rotation panel on page 5525, and Scale panel on page 5528. Inc(rement) Seed Positions/Rotations/Scales Any options in this column that are turned on cause the respective Rand Seed settings to be incremented by 1 each time you click the Scatter button. Use this option to experiment with various randomized transform combinations for your clones. Select Objects to Transform Lets you designate objects to be affected by clicking the Scatter button. Clicking this button opens a version of the Select dialog that's unique to Scatter Objects functionality. If you've performed one or more cloning operations during the current session, the results of the most recent cloning are selected by default, including the original cloned object. For example, if you created 10 clones, 11 objects are selected. You can use the Select dialog to alter or replace this selection. NOTE The results of the most recent cloning operation remain selected even if you close and later reopen the Scatter Objects dialog. Scatter Performs any cloning and/or transforms that are turned on. OK Retains all changes and closes the dialog. Cancel Forgets any changes and closes the dialog. Random Placement Difficulty Dialog This dialog appears when character studio encounters difficulty placing cloned objects without overlapping using the Scatter Objects dialog on page 5518. The dialog text tells you how many attempts character studio has made to place a specific object, and asks you if you want to try again. Crowd Animation | 5531 Interface Try Again Click this button to force character studio to make N more attempts, where N is set in the How Many More Attempts field. Skip This One Instructs character studio to stop trying to place the current object and proceed to the next. Quit Trying Aborts the Generate Locations process; no more objects will be placed. Object/Delegate Associations Dialog Create panel ➤ ➤ Setup rollout ➤ (Helpers) ➤ Object Type rollout ➤ Crowd (Object/Delegate Associations) Select a Crowd object. ➤ (Object/Delegate Associations) Modify panel ➤ Setup rollout ➤ You can use this dialog to link any number of delegate-object pairs. You can also use this dialog to align objects with delegates, optionally matching scaling 5532 | Chapter 15 Character Animation factors as well. Lastly, you can specify that the objects use the delegates' controllers. Interface Objects Lists objects available for linking, specified using the Add function (see following item). You can select any number of objects from this list for subsequent removal. Add Click this to open the standard 3ds Max Select dialog, which lists all objects in the scene, including delegates. Make your selection, and then click the Select button to add the objects to the Objects list. Remove Deletes the highlighted object or objects from the list. Shift Up/Shift Down Use the arrow buttons between the two lists to move highlighted items higher or lower in the list. When you click Align Objects With Delegates, Link Objects To Delegates, or Assign Delegate Controllers To Objects, character studio creates associations between pairs of items at matching positions in the lists. Crowd Animation | 5533 Delegates Lists delegates available for linking, specified using the Add function (see following item). You can select any number of delegates from this list for subsequent removal. Add Click this to open the standard 3ds Max Select dialog, which lists all delegates in the scene. Make your selection, and then click the Select button to add the delegates to the Delegates list. Remove Deletes the highlighted delegate or delegates from the list. Association via Linking group Align Objects with Delegates Aligns each object with its corresponding delegate by moving and rotating the object on its local axes. Each delegate's local Y axis points in the forward direction, so aligned objects will be rotated so their Y axes point in the forward direction as well. This option works much like the 3ds Max Align feature. Align Scale When on, clicking Align Objects with Delegates sets each object's absolute scaling factor to that of its corresponding delegates. This is useful if, for example, you've randomized delegates' sizes with the Scatter Objects Scale panel on page 5528, and want the associated objects to match. Link Objects to Delegates Creates a hierarchy for each object-delegate pair, with the delegate as parent. Association via Animation Replacement group Assign Delegate Controllers to Objects Copies each delegate's controllers to the paired objects as an instance. This is the same as using Track View ➤ Copy Controller from the delegate, and then pasting the controller as an instance to the object. Does not link objects hierarchically with delegates. Once you've set up the delegate animation the way you want it, if you then want to apply the animation to an object or objects en masse, use this function. You can then delete the delegates if you like. _____ OK Implements any changes and closes the dialog. Cancel Eliminates any changes and closes the dialog. NOTE Clicking OK has no intrinsic effect; in order to implement any of the dialog functions, you must first click at least one of the Align/Link/Assign buttons. 5534 | Chapter 15 Character Animation Edit Multiple Delegates Dialog Create panel ➤ ➤ Setup rollout ➤ Select a Crowd object. ➤ (Multiple Delegate Editing) (Helpers) ➤ Object Type rollout ➤ Crowd (Multiple Delegate Editing) Modify panel ➤ Setup rollout ➤ The Edit Multiple Delegates dialog lets you define groups of delegates and set parameters for them. You can create and store up to 10 different configurations or settings combinations; each consists of one or more delegates and settings for the delegates. The parameters are mostly the same as those found in the delegate object's Motion Parameters rollout on page 5509, with the following exceptions and additions: ■ Each setting has an associated SET check box, which lets you determine whether the setting has any effect. When off (the default), the setting has no effect. When on, the setting affects the specified delegate or delegates when you click the Apply Edit button. ■ Each numeric parameter has two Value settings and an associated Random check box, which lets you specify a random value within a specified range for each member of the group. By default, Random is off, and the Value 1 setting is applied for all parameters with SET turned on. If you turn on Random for a parameter, its Value 2 setting becomes available. If you then specify a different setting for Value 2, character studio calculates a different random number between Value 1 and Value 2 for each delegate in the group. TIP To reset a parameter to a specific value for all delegates in a group after it's been set to a random value within a range, turn off Random and turn on SET for the parameter, then set Value1 to the desired value, and then click OK. Crowd Animation | 5535 Procedures To edit multiple delegates: 1 Select the Crowd object and go to the 2 On the Setup rollout, click Modify panel. (Multiple Delegate Editing). This opens the Edit Multiple Delegates dialog. 3 Optionally, in the dialog (bottom-left corner), choose a stored dialog setting to use from the 10 available settings. 4 If necessary, use the Delegates To Edit group box controls to add delegates to or remove them from the current setting. 5 Modify the remaining parameters as necessary. Be sure to turn on the SET check box for any parameters that are to change. 6 Click the Apply Edit button to make the changes and exit the dialog. 5536 | Chapter 15 Character Animation Interface Delegates to Edit group This group shows delegates belonging to the current settings combination in a list box and lets you add and delete members. Add Click this button, and then choose delegates to add from the Select dialog. Remove To remove delegates from the list, first choose the names of those to delete in the list box (drag to choose two or more contiguous names, or use Ctrl-click to choose non-contiguous names), and then click Remove. Crowd Animation | 5537 Set Parameters from Animation group Use this function to obtain motion parameters from an animated object and apply them to all specified delegates. It affects only Average Speed, Max Accel, and the Turning parameters. Because this one animation will set most of the parameters of the delegate, it should be representative of a whole range of motion of the delegate. For example, the object should turn and accelerate. The animation should be somewhat lengthy so that averages are calculated correctly. Animated Object Specifies an animated object. Click this button, and then choose the object from the list in the Select dialog. Set After specifying the animated object, click this button to apply its parameters to the delegate settings. Also turns on the SET check box for any affected parameters. General group Rather than numeric values, the settings in this group are on-off switches, except for the first, Velocity Color. To change Velocity Color, click the color swatch, use the Color Selector dialog to pick a new color, and then turn on the Velocity Color SET check box. To change any other setting in the General group, click the check box to the right of the setting, and then turn on the setting's SET check box. These settings are the same as those found in the delegate object's Motion Parameters rollout on page 5509. Speed group These parameters are the same as those found in the delegate object's Motion Parameters rollout on page 5509. For an explanation of the Random and SET check boxes, see the introduction to this topic. Turning group These parameters are the same as those found in the delegate object's Motion Parameters rollout on page 5509. For an explanation of the Random and SET check boxes, see the introduction to this topic. Banking group These parameters are the same as those found in the delegate object's Motion Parameters rollout on page 5509. For an explanation of the Random and SET check boxes, see the introduction to this topic. 5538 | Chapter 15 Character Animation Biped group These parameters are the same as those found in the delegate object's Motion Parameters rollout on page 5509. For an explanation of the Random and SET check boxes, see the introduction to this topic. Stored Dialog Settings Use this list to specify up to 10 different combinations of delegates and settings. To store a combination, choose a name from the list, and then specify the delegates and settings. To recall a combination, choose its name from the list. To rename a combination, choose its name from the list, and then highlight the name and edit it using the keyboard. Check All Sets Click this button to turn on all SET check boxes. This ensures that any changes you make in the dialog take effect when you click the Apply Edit button. Apply Edit Click Apply Edit to implement all changed settings and exit the dialog. Close Click Close to remember, but not implement, all changed settings and exit the dialog. Cancel Click Cancel to forget all changed settings and exit the dialog. Associate Bipeds With Delegates Dialog Create panel ➤ ➤ Setup rollout ➤ (Helpers) ➤ Object Type rollout ➤ Crowd (Biped/Delegate Associations) Select a Crowd object. ➤ (Biped/Delegate Associations) Modify panel ➤ Setup rollout ➤ Use this dialog to associate any number of delegates with an equal number of bipeds. Add delegates and bipeds to the two lists, and order them so the desired pairs are across from each other. Then choose Make Specified Associations and click the Associate button. Alternatively, you can remove existing delegate-biped associations, or simply associate each delegate with the biped nearest it in the scene. Crowd Animation | 5539 Interface Bipeds Lists bipeds available for linking, specified using the Add function (see following item). You can select any number of objects from this list for shifting up or down, or deleting. To clear highlighted items, control-click them. Add Click this to open the standard 3ds Max Select dialog, which lists all bipeds in the scene that are not currently listed in the Associate Bipeds with Delegates dialog. Make your selection, and then click the Select button to add the delegates to the Objects list. Remove Removes the highlighted biped or bipeds from the list. Shift Up/Shift Down Use the arrows between the two lists to move highlighted items higher or lower in the lists. When Make Specified Associations is chosen and you click the Associate button, character studio creates associations between pairs of items at matching positions in the lists. Delegates Lists delegates available for linking, specified using the Add function (see following item). 5540 | Chapter 15 Character Animation You can highlight any number of objects from this list for shifting up or down, or deleting. To clear highlighted items, control-click them. Add Click this to open the standard 3ds Max Select dialog, which lists all delegates in the scene that are not currently listed in the Associate Bipeds With Delegates dialog. Make your selection, and then click the Select button to add the delegates to the Delegates list. Remove Removes the selected delegate or delegates from the list. Clear Associations When this is on, and you click the Disassociate button, character studio eliminates any delegate-biped associations. Makes the Bipeds list and buttons unavailable. Make Specified Associations When chosen, and you click the Associate button, character studio associates each parallel delegate-biped pair in the two lists. That is, the first delegate is associated with the first biped, the second delegate with the second biped, and so on. Associate Delegates With Closest Biped When chosen, and you click the Associate button, character studio calculates the biped nearest each delegate in the scene and links the two together. Set Delegates to Use Biped When on, and you click the Associate button, character studio turns on the Use Biped on page 5514 option for all delegates listed in the dialog. _____ Associate/Disassociate Implements specified changes, calculates any random values, and closes the dialog. Button text changes to "Disassociate" when the Clear Associations option is chosen. Close Remembers any changed settings and closes the dialog. No new delegate settings are calculated or applied. Cancel Ignores any changes and closes the dialog. Crowd Animation | 5541 Behavior Assignments and Teams Dialog Create panel ➤ ➤ Setup rollout ➤ (Helpers) ➤ Object Type rollout ➤ Crowd (Behavior Assignments) Select a Crowd object. ➤ (Behavior Assignments) Modify panel ➤ Setup rollout ➤ The Behavior Assignments and Teams dialog lets you group delegates on page 5507 into teams on page 5549, and assign behaviors on page 5518 and cognitive controllers on page 5554 to individual delegates and teams. It also lets you modify existing assignments. The dialog is modeless; while it's open, you can use the Modify panel to adjust behaviors and set up new behaviors, as well as animate assignments' Weight settings. NOTE Crowd doesn't let you use multiple cognitive controllers with a delegate. You can assign them, but when you solve, character studio notifies you that it will use only the first assigned cognitive controller. NOTE The Enable Flashing option helps you see which delegates are affected by different actions in this dialog. When it's turned on, and you perform any of the following, the relevant delegates "flash" (highlight briefly) in the viewports: ■ Click a delegate or team in the Assignment Design group ■ Click an assignment in the Behavior Assignments group ■ Add members to a team in the Teams group ■ Remove members from a team in the Teams group Procedures To group delegates into a team: 1 In the Teams group, click the New Team button. 5542 | Chapter 15 Character Animation 2 Use the Select Delegates dialog to designate the delegates in the team, and then click the OK button. 3 To change a team name, choose it from the drop-down list at the top of the Teams group, click on its name, and then use the keyboard to edit the text. 4 To remove team members, choose the team from the drop-down list at the top of the Teams group, select the members to remove from the lower list, and then click the Remove Members button. 5 To add team members, choose the team from the drop-down list at the top of the Teams group, click the Add Members button, and then use the Select Delegates dialog to designate the delegates to add. To create a new behavior assignment: This procedure gives the basic method for assigning a behavior or cognitive controller to a delegate or team. 1 If you want to assign the same behavior to more than one delegate, use the Teams group on page 5549 to collect delegates into teams. NOTE You can still assign behaviors to an individual delegate, even if it belongs to one or more teams. 2 Make sure no existing assignments in the Behavior Assignments group are highlighted. If any are, Ctrl+click them to clear the selections. If assignments are highlighted, character studio assumes you want to modify the existing assignments 3 In the Assignment Design group, select one delegate or team, and one or more behaviors or one cognitive controller. You can select only one item from either side of this group, with the exception of behaviors. If you choose multiple behaviors, character studio creates a separate assignment for each. NOTE When you select a delegate or team, it briefly highlights in the viewports to indicate the affected delegates. 4 Click the New Assignment button. This is the vertical button to the right of the assignment Design group, with five right-pointing arrows. This adds the assignments to the list in the Behavior Assignments group. Crowd Animation | 5543 5 At this point, you can highlight an assignment, and then change its Weight setting, its Active status, delete it, or change the assignee and/or behavior/cognitive controller. 6 Click OK to accept the changes and close the dialog. To modify an existing behavior assignment or assignments: 1 In the Behavior Assignments group, select the assignment or assignments to change. You can select multiple assignments by Ctrl+clicking for non-contiguous items or Shift+clicking for contiguous items, and then change the assignees or behaviors for all of them at once. 2 To change assignees, in the Assignment Design group, select a delegate or team. 3 To change the assigned behaviors, in the Assignment Design group, select a behavior or cognitive controller. 4 Click the Reset Assignment button. This is the vertical button to the right of the assignment Design group, with five right-pointing arrows. 5 Change the Weight setting and Active status as necessary. 6 Click OK to accept the changes and close the dialog. Interface 5544 | Chapter 15 Character Animation Assignment Design group Lets you set up assignments by choosing a behavior or cognitive controller and a delegate or team to assign it to. Choose one item from the left side (upper or lower list), and one item from right side (upper or lower list). Then click the New/Reset Assignment button immediately to the right of the Assignment Design group (vertical button with five right-pointing arrows). TIP With the exception of Behaviors, you can choose only one item from either side of this group. To assign the same behavior to more than one delegate, the most efficient method is to use the Teams group on page 5549 to gather delegates into teams. You can select multiple behaviors for a new assignment to a delegate or team. When you click New Assignment, character studio creates a separate assignment for each highlighted behavior. For changing assignments, you're still restricted to choosing one behavior at a time. If you choose an existing assignment and multiple behaviors, the Reset Assignment button becomes unavailable. Delegates Lists delegates in the scene. Behaviors Lists existing behaviors. Crowd Animation | 5545 To use a behavior that hasn't been added to the scene yet, click the New Behavior button at the bottom of this group. Teams Lists teams in the scene. To create a new team, use the controls in Teams group box. Cognitive Controllers Lists existing cognitive controllers. To create a new controller, click the Setup rollout ➤ Cognitive Controllers on page 5554 button. You needn't first exit the Behavior Assignments and Teams dialog; when you close the editor, the new controllers are added to the Cognitive Controllers list. Clear Selections Deselects all highlighted items in the Assignment Design and Behavior Assignments groups. Use this before modifying an assignment, to avoid possible confusion. New Behavior Opens the Select Behavior Type dialog on page 5550, which lets you add a behavior to the scene for use in an assignment. To modify a new behavior, use the facilities available in the Crowd object's rollouts. NOTE If you add the first behavior in the scene from this dialog, the text box in the Crowd object ➤ Setup rollout remains empty, and no rollout for the behavior appears. To edit the behavior, choose it from the list. New Assignment/Reset Assignment Click to assign a behavior or behaviors or a cognitive controller to a delegate or team. 5546 | Chapter 15 Character Animation This vertical button with five right-pointing arrows on it is situated between the Assignment Design and Behavior Assignments group. It's available only when two items in the Assignment Design group are highlighted (exception: Multiple behaviors can be highlighted). If no item in the Behavior Assignments group is highlighted, clicking the button creates a new assignment and adds it to the assignments list. If one or more items in the Behavior Assignments group are highlighted, clicking the button sets the highlighted assignments to use the highlighted delegate/team and behavior/cognitive controller combination. Behavior Assignments group Lets you create and modify behavior assignments. List box Displays all current behavior assignments, including team or delegate name, assigned behavior or cognitive controller, weight setting, and active status. Crowd Animation | 5547 Items are sorted in alphabetical first by Delegate/Team name, and then by Behavior/Cog name. A dashed line appears before a list entry if it's the first item for that delegate or team. To modify or delete an assignment, choose it from the list, whereupon character studio highlights the assigned components in the Assignment Design group. Make the changes using the remaining controls in this dialog. NOTE You can select multiple assignments from the list by Ctrl+clicking for non-contiguous items or Shift+clicking for contiguous items. To clear an item, Ctrl+click it. Weight The relative effect of the assigned behavior or cognitive controller. The higher an assignment's Weight setting is than others', the greater relative effect it will have. This setting is animatable. Default=1.0. In most cases, you should keep Weight within a range of 0.0 to 1.0. Higher settings are available but shouldn't be used unless absolutely necessary. NOTE The Weight setting is not relevant to the Avoid on page 5564, Orientation on page 5569, or the Surface Follow on page 5592 behavior, and is thus unavailable for assignments using any of those three. Active When on, the assignment is currently in effect. When off, the assignment has no effect. This check box is animatable. Default=on. Delete Deletes the highlighted behavior assignment. 5548 | Chapter 15 Character Animation Teams group Lets you define, modify, and delete teams of delegates. NOTE You can toggle the display of this group box with the No Teams/Teams button below the Behavior Assignments group. Drop-down list Displays the name of the current team. To view a different team, choose it from the list. To change a team name, click in the box and then use the keyboard to edit the text. List box Displays delegates in the current team. Crowd Animation | 5549 New Team Adds a team to the list, and opens the Select Delegates dialog on page 5552 to let you specify new team members. The default team name is "Team," followed by a number, starting with "0" and counting up. Delete Team Deletes the current team. Team members are not deleted from the scene. Add Members Lets you add members to the current team. Use the Select Delegates dialog on page 5552 to specify new team members. Remove Members Removes selected members from the team. Removed members are not deleted from the scene. Create/Change Selection Set Adds the current team to the list of selection sets, accessible from the Named Selection Sets list on the Main toolbar. If the current team already is a selection set, and you subsequently changed the team's makeup, click this button to update the members in the Named Selection Sets list. Enable Flashing When on, and you click a list item in the dialog or create/modify a team, the relevant objects highlight briefly in the viewports to indicate which are affected. Default=on. See the introductory note on page 5542 for details. OK Click this button to accept all changes and close the dialog. No Teams/Teams Toggles display of the Teams group box. By default, the Teams group is displayed; click the No Teams button to turn it off. When it's off, click the Teams button to turn it on. The state of the toggle persists only during the current session. Select Behavior Type Dialog Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. 5550 | Chapter 15 Character Animation Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ (Behavior Assignments) ➤ Behavior Assignment And Teams dialog ➤ Click the New Behavior button. Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ (Behavior Assignments) ➤ Behavior Assignment And Teams dialog ➤ Click the New Behavior button. Use this dialog to select the type of behavior to be added to a Crowd object. Interface The choices are: Avoid Behavior on page 5564 Crowd Animation | 5551 Orientation Behavior on page 5569 Path Follow Behavior on page 5573 Repel Behavior on page 5577 Scripted Behavior on page 5580 Seek Behavior on page 5581 Space Warp Behavior on page 5584 Speed Vary Behavior on page 5585 Surface Arrive Behavior on page 5587 Surface Follow Behavior on page 5592 Wall Repel Behavior on page 5595 Wall Seek Behavior on page 5598 Wander Behavior on page 5601 Select Delegates Dialog Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ (Behavior Assignments) ➤ Behavior Assignments And Teams dialog ➤ Click New Team or Add Members. Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ (Behavior Assignments) ➤ Behavior Assignments And Teams dialog ➤ Click New Team or Add Members. The Select Delegates dialog lets you designate delegates to be assigned to teams using the Behavior Assignments and Teams dialog on page 5542 for assigning crowd behaviors. 5552 | Chapter 15 Character Animation Interface List box Lists all delegates in the scene. All Selects all delegates in the list. None Deselects all delegates. Invert Inverts the current selection. Selection Sets Choose an item from this to select all members of the selection set. You must first have created a selection set from one or more delegates. OK Closes the dialog and implements changes. Cancel Closes the dialog and ignores changes. Crowd Animation | 5553 Cognitive Controller Editor Create panel ➤ ➤ Setup rollout ➤ (Helpers) ➤ Object Type rollout ➤ Crowd (Cognitive Controllers) Select a Crowd object. ➤ (Cognitive Controllers) Modify panel ➤ Setup rollout ➤ The Cognitive Controller editor lets you combine behaviors into states. More important, it lets you sequence different behaviors on page 5467 and behavior combinations using state diagrams, where conditionals written in MAXScript impose changes in behavior. For example, you can specify that a character or object is to wander aimlessly until it comes within a certain distance of another object, whereupon it heads straight for that object. Or you can specify that one character is to avoid another only when the second character is avoiding the first. NOTE The MAXScript conditionals used in the cognitive controller typically consist of a single line of code. You can load and save them separately as .ms files, but they are also stored within the .max scene file in which they reside. The editor interface consists of an icon-based toolbar above a window that contains the state diagram. When you first open the editor, no state diagrams exist. Begin by clicking the New button to create a new state diagram. TIP If you find yourself consistently assigning two or more behaviors to delegates or teams, you can save time by combining the behaviors into a single-state cognitive controller, or "behavior module," and assigning that instead. The only disadvantage is that you can't animate the weights of behaviors used in the cognitive controller, but you can work around that by using transitions. NOTE Crowd doesn't let you use multiple cognitive controllers with a delegate. You can assign them, but when you solve, character studio notifies you that it will use only the first assigned cognitive controller. 5554 | Chapter 15 Character Animation See also: ■ State Dialog on page 5557 ■ State Transition Dialog on page 5558 Interface Create State Lets you create new states in the diagram. Click this button, and then click in the state diagram area to add states. A state appears as a rectangular box containing the name of the state. The first state you add is, by default, the first state in the controller that executes when the simulation is run. This is indicated by its red color; states you add subsequently are colored blue. To set a different state to execute first, use the Set Start State function. You specify a state's name and behaviors by editing the state. To edit a state, right-click it. This opens the State dialog on page 5557. Create Transition Lets you link states with transitions. Click this button, and then drag between two states to create the transition, starting with the earlier state. The transition appears as a black arrow pointing from the first Crowd Animation | 5555 state to the second. Alternatively, if you click a state with the Create Transition tool active, you create a transition that loops back to the state itself. Right-click a transition to specify its characteristics and conditions by editing the transition. This opens the State Transition dialog on page 5558. Set Start State Normally the state that executes first in a cognitive controller is the one that was added first. Use this tool to choose a different state to execute first. The start state is red; the rest are blue. Typically you would use this when you have a circular sequence of states, and you want to change which state executes initially. Move State Lets you move states around in the window by dragging them. Select State/Transition Lets you select states and transitions for subsequent deletion. Selected states have white outlines, and selected transition lines are white. You can select multiple states by dragging a box around them. You can select multiple states and transitions by holding the Ctrl key as you click. Delete State/Transition Lets you delete one or more states or transitions. First select any combination of states and transitions to delete, and then click this button. (Name) Shows the name of the current state diagram. To display and/or edit another, choose it from the list. To change a state diagram's name, click the name in the box and use the keyboard to edit the text. New Adds a new cognitive controller. By default, cognitive controllers are named “Cognitive Controller” followed by a number, but you can change this to anything you like. Delete Deletes the current cognitive controller. This is an undoable operation. 5556 | Chapter 15 Character Animation State Dialog Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ (Cognitive Controllers) ➤ Cognitive Controller Editor ➤ Right-click a state icon. Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ (Cognitive Controllers) ➤ Cognitive Controller Editor ➤ Right-click a state icon. The State dialog lets you add behaviors to, and remove them from, a cognitive controller state in a crowd simulation, and specify weights for each behavior. Interface Crowd Animation | 5557 State name Displays the name of the state. To change the name, click this text and edit from the keyboard. List Displays the names of all behaviors associated with the state. To remove a behavior or change its weight, click the behavior's name, and then make the appropriate changes using the controls below the list. NOTE The order of behaviors in this list is immaterial; all behaviors execute simultaneously. Add Opens the Select Behavior dialog, which displays the names of all behaviors on page 5563 in the current Crowd object that are not associated with the current state. Select a behavior (use Shift and/or Ctrl to choose multiple behaviors), and then click OK. Remove Eliminates the highlighted behavior from the state. Weight Specifies the selected behavior's relative influence in the state. Default=1.0. The higher the weight in relation to other behaviors' weights, the more evident the results of the behavior in the state. In most cases, you should keep Weight within a range of 0.0 to 1.0. Higher settings are available but shouldn't be used unless absolutely necessary. _____ OK Closes the dialog and implements changes. Cancel Closes the dialog and ignores changes. State Transition Dialog Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ (Cognitive Controllers) ➤ Cognitive Controller Editor ➤ Right-click a transition line. 5558 | Chapter 15 Character Animation Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ (Cognitive Controllers) ➤ Cognitive Controller Editor ➤ Right-click a transition line. These settings control how character studio effects a transition from one state to another when using a cognitive controller on page 5554. For more detailed information, see To set up and use a cognitive controller on page 5486. The Transition Script The most important element of the transition is the MAXScript conditional script. This is a script associated with the controller that is executed once per frame, and can test any aspect or aspects of the scene and cause a transition or not, depending on whether the result of the test is successful (true, or 1) or unsuccessful (false, or 0). character studio executes scripts once per frame per assigned delegate, so objects and effects can be animated and still let delegates react with accuracy. All scripts used in transitions use the following structure: fn [FunctionName] del t = ( [MAXScript code] if [MAXScript conditional] then 1 else 0 ) The opening section contains "fn" (function) followed by the function name, which also must appear in the State Transition dialog, and then the input parameters "del t", and lastly "= (". Following this there can be any MAXScript code, or none. The closing section contains a necessary MAXScript conditional, and then "then 1 else 0". This means: If the result of the conditional is true, then return 1 (that is, the transition is to take place), or if the result of the conditional is false, then return 0 (that is, the transition is not to take place). You could reverse the order of the numbers 1 and 0 ("then 0 else 1") so that the conditional being true would cause no transition to take place, and vice-versa. Lastly, the function must end with a close parenthesis: ")". Following are some examples of scripts that can be used in cognitive controllers, along with brief explanations. These are presented for you to modify and use in your own scenes. Crowd Animation | 5559 NOTE See this topic in the online User Reference for sample code to test an object position, test the distance between two objects, and test a modifier parameter. Testing a Particle System Parameter This sample script tests the number of particles emitted by particle system Spray01, and returns positive if the number equals 100. fn TestParticles del t = ( if (particleCount $Spray01) == 100 then 1 else 0 ) Testing an Atmospheric Property This sample script tests the Density parameter of a fog effect, and returns positive if it equals 50. fn TestAtmos del t = ( atmos_fog = getAtmospheric 1 print atmos_fog.density -- to:debug if (atmos_fog.density == 50) then 1 else 0 ) Note the second line, which assigns the fog atmospheric to a variable named "atmos_fog". This is necessary only for atmospheric effects; with most standard objects, you simply use the object name preceded by a $, as in the two previous examples. The "1" following the getAtmospheric command refers to the atmospheric's position in the Rendering Effects dialog ➤ Effects list. Once you've executed this assignment, you can obtain a list of the atmospheric's properties by entering this command in the MAXScript Listener: ShowProperties atmos_fog Also, the third line in the sample script isn't necessary for the cognitive controller; it simply prints the result of the test in the Listener window for debugging purposes. Testing Another Delegate's Behavior You might want to determine in a transition script which behavior is currently influencing a certain delegate. Crowd provides a MAXScript-based method for doing this. You can even check whether a particular delegate is specified as a target within that behavior. An example would be a cocktail party scene in which Betty avoids Harry if Harry is seeking Sally. But if Harry is avoiding Sally, then Betty will seek Harry. 5560 | Chapter 15 Character Animation The following example script is taken from the sample file party.max, which you can find in the Biped download available on this page, under 3ds Max 8 Tutorials – Scene and Support Files ➤ Specialized. The scene uses a more complex scenario than the example described in the previous paragraph. Following is an overview, but to fully understand the setup, you should examine the scene. Study, in particular, the behavior assignments and cognitive controllers, which use a total of eight different transition scripts. Six delegates are confined in a "room" defined by four grids, using a Wall Repel behavior. Delegates 1, 2, 3, and 5 simply wander at random during the simulation. However, delegate 4 uses a cognitive controller (cc1) that tells it to start wandering, and then switch to one of three Avoid behaviors if members of one of three arbitrary pairs of delegates come within 50 units of each other. Each of the Avoid behaviors targets a different group of three delegates, two of which include delegate 2. Delegate 6 is assigned a second cognitive controller (cc2) that uses the following script to tell it to switch to an Avoid behavior if delegate 4 is avoiding delegate 2. The heart of the script is this line in function transfunc4: NOTE See the online User Reference for this sample code. Load the file, press F11 to open the Listener window, and then solve. The Listener window displays a message whenever delegate 4 is found to be avoiding delegate 2. You can use this script as is in your own simulations to check for whether one delegate is avoiding a second by substituting the delegates' names in the above line, and also substituting the names of your Avoid behaviors in the list in transfunc4, adding or deleting lines as necessary. The example script illustrates a second important point: Cognitive controller transition scripts can contain multiple functions. Crowd first executes the function specified in the State Transition dialog ➤ Transition Condition field, and that function calls one or more additional functions in the script, which, of course, can also call functions. In this case, transfunc4 calls the first function, isDelegateAvoiding, passing it three parameters. Lastly, the script contains a special function, getBehaviorType, that compares an input behavior against a list of known behaviors, and on a match, returns the known behavior. In this case, transfunc4 runs through the list of behaviors currently influencing Delegate04, testing each with getBehaviorType, and if an Avoid behavior is in effect, proceeds to check whether Delegate02 is an obstacle of that Avoid behavior. Use of this function is more efficient and flexible than testing for specific behaviors, especially if your scene contains many behaviors of the same type, or you're constantly editing behavior settings. You can see Crowd Animation | 5561 the returned behaviors by removing the comment (double hyphen) from the beginning of the following line in transfunc4. NOTE See the online User Reference for this sample code. Interface Priority Sets the transition's precedence. When more than one transition tests true, character studio uses the Priority setting to determine which transition occurs. It performs the transition with the lowest Priority setting. Thus, for example, a transition with a Priority setting of 0 takes precedence over one with Priority 1, and so on. Duration The number of frames character studio takes to effect the transition between states. Ease In The rate at which the transition begins. Default=0.5. Range=0 to 1.0. Lower values cause a more abrupt transition, while higher values cause a more gradual transition. Ease Out The rate at which the transition ends. Default=0.5. Range=0 to 1.0. 5562 | Chapter 15 Character Animation Lower values cause a more abrupt transition, while higher values cause a more gradual transition. NOTE The sum of the values for Ease In and Ease Out must be less than or equal to 1.0. character studio won't let you set a value for either parameter that would cause the sum to exceed 1.0. To increase the value of one parameter when its value equals 1.0 minus the other parameter, decrease the other parameter first. Transition Condition The name of the MAXScript function that specifies when/how the transition is to occur. This name must also appear at the beginning of the main function in the script, after "fn". The script can contain additional functions that are called by the main function and each other. Edit MAXScript Opens an editor window for editing, saving, and loading the transition's MAXScript script. _____ OK Closes the dialog and implements changes. Cancel Closes the dialog and ignores changes. Behavior Rollouts Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Choose a behavior from the drop-down list. The Behavior rollout appears on the Crowd object command panel after you first add a behavior to the scene using the Setup rollout. Crowd Animation | 5563 The rollout's full name (for example: Avoid Behavior or Seek Behavior) depends on the current behavior, displayed in the text box in the Setup rollout. To display the rollout for a different behavior, choose the behavior from the drop-down list. NOTE If you add the first behavior to the scene from the Behavior Assignments and Teams Dialog on page 5542, a behavior rollout does not automatically appear in the Crowd command panel. You must first choose the behavior from the drop-down list at the bottom of the Setup rollout. For a detailed description of specific behaviors, refer to the topics that follow. For an overall look at behaviors, see Assigning Behaviors on page 5467. Avoid Behavior Create panel ➤ Helpers ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ New button ➤ Avoid Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ New button ➤ Avoid Behavior Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Avoid Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Avoid Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Choose Avoid from the drop-down list. The Avoid behavior lets you specify any object or objects that delegates must keep away from. As delegates approach designated objects during the crowd simulation, they steer clear of them while turning and/or braking as necessary. This behavior uses three different methods to let delegates avoid each other and other objects: Steer To Avoid, Repel, and Vector Field. 5564 | Chapter 15 Character Animation Steer to Avoid behavior is best used for animals that steer around each other at close proximity. Earthbound animals and fish typically do this. Steering motion may be sudden since its action is often engaged for relatively short periods of time. By contrast, Repel avoidance behavior mimics the continuous action of a repellent magnetic field. Birds, bats and flying insects are best animated with large Repel fields so that they can smoothly avoid each other while maintaining a comfortable margin of error. Repel forces prevent intrusion from all sides, regardless of the direction of travel. Thus even animals that rely mainly on Steer to Avoid will also need some degree of Repel avoidance to maintain spatial separation when they are moving through dense traffic. The forces of Repel avoidance are always directed uniformly outward in a spherical shape. Use Vector Field avoidance for cases where crowd members must avoid hitting the more complex shapes of arbitrary 3ds Max objects. The outward forces of the Vector Field avoidance can constructed to form the shape of any object. For example, suppose you want to animate a school of fish swimming around a sunken ship. In this case, a vector field can be created so that it extends the shape of the ship into the surrounding space. The field is computed by scan converting the ship's surface normals into a 3D lattice that surrounds the ship. These normals will extend into space as "beacons" in the 3D lattice, telling the fish how to best swim away from the shape of the ship. As the fish enter the space of the vector field lattice, they can be precisely repelled along an avoidance force directed away from ship's surface. NOTE In the explanations that follow, the word "target" is used to refer to the object or objects to be avoided. Crowd Animation | 5565 Interface None (label) Specifies a single target. Click this button, and then click the target object in the viewport. The target name then appears on the button. If you've selected multiple targets using Multiple Selection (see next item), the word Multiple appears on the button. To see which objects are designated as targets, click the Multiple Selection button. Multiple Selection Opens the Select dialog to let you designate multiple targets. When you have more than one target, you can set delegates to move toward the closest target in the group, or to a computed average of the target positions. 5566 | Chapter 15 Character Animation Look Ahead The number of frames in advance of the current frame that character studio looks for potential collisions. Default=30. Hard Radius Distance from the target's pivot point, in multiples of the delegate's bounding sphere, where no penetration should occur. Default=1.0. TIP Because the hard radius' center is the pivot point, Avoid may not work as expected with target objects whose pivot point is not centered, such as the box primitive. For best results, use the Hierarchy panel ➤ Adjust Pivot rollout controls to center the pivot to the object. Display Hard Radius Enables display of a wireframe sphere that depicts the extent of the Hard Radius setting. Default=off. Steer To Avoid group Steer To Avoid is used by delegates to steer precisely around anticipated future collisions based on the delegates' current speed and direction. Delegates using this approach can pass very close to one another. Detour Angle Maximum necessary turning angle relative to the direction of delegate's goal that delegate will steer to avoid rather than slow down and wait. Default=360. Range=0-360. TIP To disable turning for avoidance, thus allowing only braking, set Detour Angle to 0. This forces delegates to remain directed toward their goal so that they must slow down and wait until there is a clearing in front of them, much like an audience queuing to leave through an exit after a concert. Brake Pressure Determines how strongly a delegate will react when it encounters an avoided object. Higher values make the delegate more likely to slow down or stop. Lower values will cause delegates to look for a way around the obstacle so they can keep going, sometimes causing delegates to veer off in unexpected directions. Default=2.0. Repel group Repel is a general separation force that is based only on the spatial position. Delegates use this to keep from getting into situations where they might side-swipe each other or where they might get so close that Steer To Avoid is too difficult to achieve. Strength Determines the strength of the repelling force; higher values result in greater repulsion force. Default=0.2. Range=0.0 to 1.0. Crowd Animation | 5567 Radius Maximum distance from delegate's bounding sphere within which "repel" avoidance is sensed and carried out. Default=3.0. Falloff The rate at which the strength diminishes between the Repel radius and the hard radius. A value of 1.0 indicates a linear falloff. Higher values cause the strength to fall off to zero more rapidly with distance, thus focusing its effect closer to the delegate's hard radius. Lower values reduce the rate of diminishment, with a Falloff setting of 0.0 indicating that the strength is the same at the Radius distance as it is at the Hard Radius. Default=3.0. Display Repel Radius Enables display of a wireframe sphere that depicts the extent of the Repel setting. Default=off. Vector Field group If you've applied a Vector Field space warp on page 5619 to an object in your scene, you can specify the vector field as an object to avoid. The distinction is this: When used with the Space Warp behavior on page 5584, delegates use the vector field to steer around the object by being guided to travel perpendicular to the field's vectors. When used with the Avoid behavior, the delegate simply moves away in the direction of the vectors. TIP Sometimes when using Avoid with a vector field, the behavior might seem to be "fighting" with other behaviors (such as Seek) over delegate movement, causing a halting and/or wavering motion. In such cases, try reducing Brake Strength and/or increasing Falloff. Strength Higher values result in more powerful influence. Delegates will be directed to move perpendicular to the field. Default=1.0. Range=0.0 to 1.0. Falloff Higher values cause vector field influence to fall off to zero more rapidly with distance, thus focusing its effect closer to the delegate's hard radius. Default=8.0. Display During Solve group Use these switches for debugging a crowd simulation. During the solve, they display information about the simulation using graphical metaphors for different aspects of the Avoid behavior. Potential Collisions Displays a green line from the delegate to the location of a potential collision. Default=off. Repel Activity Displays a white line between the delegate and target when the repel force is in effect. Default=off. 5568 | Chapter 15 Character Animation Look Ahead Radius Displays a sphere that shows the current distance used to check for potential collisions. Color Swatch Shows the color used to draw the Avoid force vector during the solution. Click the box to choose a different color. Default=red. Force When on, force exerted on one or more delegates by the Avoid behavior is drawn in the viewports as a colored line during the simulation solution. Default=on. Orientation Behavior Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Orientation Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Orientation Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Choose Orientation from the drop-down list. The Orientation behavior lets you control whether and how delegates rotate, independent of their direction of motion. Normally, a delegate always faces in the direction it is moving. You can use the Orientation behavior to specify limits to the delegate's rotational activity without affecting its path, which is generated by other behaviors. Use these settings, for example, to keep delegates facing in one direction while moving in another. NOTE These settings do not affect the path a delegate takes, which is produced by other behaviors such as Seek and Avoid. They influence only the direction it faces as it traverses the path. Crowd Animation | 5569 Interface Heading group Use these controls to affect how delegates turn on the vertical axis. By default, heading is absolute, with 0 specifying the positive X axis in World coordinates. Thus, -90 would specify the negative Y axis, 90 the positive Y axis, and 180 or -180 the negative X axis. 5570 | Chapter 15 Character Animation Absolute heading as viewed from the top For example, if you wanted a delegate to be able to turn between the positive X axis and the positive Y axis, you would set Max Heading to 0 and Min Heading to 90. You can also specify heading limits in amounts relative to the delegate's heading at the time that the Orientation behavior takes effect by turning on the Relative check box. Relative When on, Heading settings are applied relative to the delegate's heading at the time the behavior takes effect. When off, settings are absolute. Default=off. Min Heading The minimum permissible heading. This number should be lower than the Max Heading value. Default=180. Range=-180 to 180. Max Heading The maximum permissible heading. This number should be higher than the Min Heading value. Default=180. Range=-180 to 180. Crowd Animation | 5571 Max Heading Vel(ocity) Specifies how much the delegate's heading can change per frame. This controls angular acceleration and deceleration. Default=180. Head. Response Determines how quickly the heading follows the direction the object is moving in. A value of 1.0 indicates maximum responsiveness, and will point in the direction the delegate is moving (within the limits) while a lower value means that it is less responsive. Default=1. Range=0 to 1. Pitch group Use these controls to affect how delegates turn on the left-right axis. Relative When on, Pitch settings are applied relative to the delegate's pitch at the time the behavior takes effect. When off, settings are absolute. Default=off. Min Pitch The minimum number of degrees a delegate can incline or decline. This number should be lower than the Max Pitch value. Default=-180. Range=-180 to 180. Max Pitch The maximum number of degrees a delegate can incline or decline. This number should be higher than the Min Pitch value. Default=180. Range=-180 to 180. Max Pitch Velocity Specifies how much the delegate's pitch can change per frame. This controls angular acceleration and deceleration. Default=180. Pitch Response Determines how quickly the pitch follows the direction the object is moving in. A value of 1.0 indicates maximum responsiveness, so that will point in the direction the delegate is moving (within the limits) while a lower value means that it is less responsive. Default=1. Range=0 to 1. Banking group Use these controls to affect how delegates turn on the in-out axis. Banking is primarily a result of heading changes. Max Bank The maximum number of degrees the delegate can bank. Default=30.0. Max Bank Velocity The maximum number of degrees the delegate's bank angle can change per frame. This controls angular acceleration and deceleration. Default=3.0. Bank per Turn The number of degrees the delegate will bank as a function of the turn angle at the current frame. For example, if Bank per Turn=1, the 5572 | Chapter 15 Character Animation delegate will bank one degree for every degree it is turning at a given frame. Default=1.0. Path Follow Behavior Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Path Follow Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Path Follow Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Choose Path Follow from the drop-down list. The Path Follow behavior lets you direct delegates to traverse a specified path during a crowd simulation. Delegates can move forward or backward along paths, and when they reach the end, they can loop back to the start or reverse direction, or even continue in the same general direction. If the delegate's start position isn't on the path at the start of the simulation, it moves to the path before following the path. During the solution, character studio intermittently displays an optional target icon to show the delegate's immediate goal; this changes as the simulation proceeds. Crowd Animation | 5573 Interface None (label) Click this button, then select a path object. Suitable path objects include splines and NURBS curves. If a path object contains more than one spline or curve, character studio uses the lowest-numbered element (usually the earliest created one). NOTE You can assign a path object only from the Modify panel. Radius The radial distance from the path, in units, within which the delegate stays while traversing the path. Default=20.0. Range=0.0 to 9,999,999.0. 5574 | Chapter 15 Character Animation Turning group These parameters determine how delegates turn while following the path. Awareness determines how well a delegate anticipates turns in the path as it moves; you can apply random variation to Awareness with the Deviation setting. Awareness Specifies how "intelligent" the delegate is while traversing this path. A high Awareness setting means that it takes into account the curve of the path while moving and will try to anticipate changes. A low value for Awareness, on the other hand, means that the delegate notices the path only when leaving it. Default=0.5. Range=0.0 to 1.0. NOTE You can randomize awareness behavior with the Deviation and Seed settings. Deviation Specifies the maximum amount by which Awareness should vary. character studio takes a random number between the negative and positive values of the Deviation setting, multiplies it by the Awareness setting, and adds the result to Awareness. Default=0.0. Range=0.0 to 1.0. NOTE You can vary behaviors among different Path Follow behaviors that use the same Awareness and Deviation settings by changing the Seed value. Starting Point Determines where on the path the delegate begins to follow the path. The default choice is Beginning of Path. Hint: To see a selected spline path's start point, open the Modify panel and turn on any sub-object level; the start point is represented with a unique indicator. Also in the Modify panel, with closed curves, you can see the vertex ordering at any sub-object level by turning on Selection rollout ➤ Display group ➤ Show Vertex Numbers. To see a NURBS curve's start point, go to the Curve sub-object level; the start point is indicated by a small green circle. Beginning of Path The delegate first moves to the start of the path before following it. End of Path The delegate first moves to the end of the path before following it. With closed curves, this is the same point as the beginning of the path. Nearest Point The delegate first moves to the closest point on the path and then follows the path from there. Crowd Animation | 5575 Direction Determines the direction the delegate takes initially when following the path. The default choice is Forwards. Forwards The delegate moves along path vertices in ascending order. Backwards The delegate moves along path vertices in descending order. Action at End of Path Determines what the delegate does when it reaches the path end. The default choice is Loop. Loop The delegate loops around the path, even if it isn't closed. If Beginning of Path or End of Path is chosen, it returns to the path's start or end point each time it finishes traversing the path. If Nearest Point is chosen, it returns to an arbitrary point determined by its position and the path shape. Reverse The delegate reverses direction at the end of the path. Use this choice to simulate a back-and-forth "patrol" behavior. Continue The delegate continues moving in the same direction it faced at the end of the path until the simulation ends or it's acted upon by another force or behavior. _____ Seed Specifies a seed value for randomizing Awareness. Default=1. Color Swatch Shows the color used to draw the Path Follow force vector during the solution. Click the box to choose a different color. Default=blue. Display Force When on, force exerted on the delegate(s) by the Path Follow behavior is drawn in the viewports as a vector during the simulation solution. Default=on. Color Swatch Shows the color used to draw the target icon. Default=dark blue. Display Target Enables display of the target icon, which appears during the solution when a new interim goal is calculated for the delegate. Default=on. Target Scale Specifies the overall size of the target icon. Default=5.0. 5576 | Chapter 15 Character Animation Repel Behavior Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Repel Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Repel Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Choose Repel from the drop-down list. The Repel behavior lets you specify any object or objects (sources) that will force delegates to move away from them. This is basically the opposite of the Seek behavior on page 5581. If you want delegates to back away from an object, as opposed to turning to face the direction they're moving, use Repel in conjunction with the Orientation behavior on page 5569. NOTE Repel is set by default to work only within a specific radius around the source. If you want it to work at any distance, turn off Radius group ➤ Use Radii. Crowd Animation | 5577 Interface None (label) Specifies a single source. Click this button, and then click the target object in the viewport. The target name then appears on the button. If you've selected multiple sources using Multiple Selection (see next item), the word Multiple appears on the button. To see which objects are designated as sources, click the Multiple Selection button. Multiple Selection Opens the Select dialog to let you designate multiple sources. When you have more than one source, you can set delegates to move toward the closest target in the group, or to a computed average of the source positions. Source of Repulsion group Determines repel activity when the behavior uses multiple sources. The default choice is Closest Source Only. Closest Source Only Each delegate is repelled by the closest of the assigned sources. Use this to have delegates assigned a single Repel behavior move away from sources in different directions. 5578 | Chapter 15 Character Animation Average Of Sources All delegates move away from a common point determined by averaging all sources' locations. Method group Determines whether delegate direction as influenced by the behavior is calculated by an angular method or a force method. Default=Force. Angle Applies a force to the delegate based on the angle between the delegate's current direction and the direction it would need to take in order to be moving directly away from the source. The magnitude of the force is greatest when the delegate is moving directly towards the source, and needs to turn around. It can be as little as 0 when the delegate is moving directly away from the source. Force Always applies a force directly away from the source. The magnitude of the force is constant. Radius group Use the Radius settings to activate the Repel behavior only when the delegates are within a specific distance from the target. The relative strength of the force increases from 0 percent at the outer radius to 100 percent at the inner radius. Use Radii When on, the behavior applies only to delegates closer to the target than the Outer Distance value. Default=on. Inner Radius The distance from the target at which the force is applied at full strength. Default=0.0. Outer Radius The distance from the target at which the force begins to be applied. Default=10.0. Falloff Default=2.0. Display Radii The radii are displayed when the force is active. _____ Color Swatch Shows the color used to draw the Repel force vector during the solution. Click the box to choose a different color. Default=violet. Display Force When on, force exerted on the delegate(s) by the Repel behavior is drawn in the viewports as a vector during the simulation solution. Crowd Animation | 5579 Scripted Behavior Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Scripted Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Scripted Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Choose Scripted from the drop-down list. The Scripted behavior lets you create custom behaviors using MAXScript. A scripted behavior can incorporate one of three behavior types: Force, Constraint, or Orientation. For detailed information on scripting behaviors, see the MAXScript Help, available from the Help menu. Interface Behavior Type Choose Force, Constraint, or Orientation. Script Context Name Specify a name for the script. Edit MAXScript Click to open an editor window. 5580 | Chapter 15 Character Animation Seek Behavior Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Seek Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Seek Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Choose Seek from the drop-down list. The Seek behavior lets you specify any object or objects as a stationary or moving target for delegates. Delegates move toward the target during the crowd simulation while turning as necessary. Crowd Animation | 5581 Interface None (label) Specifies a single target. Click this button, and then click the target object in the viewport. The target name then appears on the button. If you've selected multiple targets using Multiple Selection (see next item), the word Multiple appears on the button. To see which objects are designated as targets, click the Multiple Selection button. Multiple Selection Opens the Select dialog to let you designate multiple targets. When you have more than one target, you can set delegates to move toward the closest target in the group, or to a computed average of the target positions. Seek Target group Determines seek activity when the behavior uses multiple targets. Closest Target Only Each delegate seeks the closest of the assigned targets. Use this to have delegates assigned a single Seek behavior move in different directions. 5582 | Chapter 15 Character Animation Average Of Targets All delegates move toward a common point determined by averaging all targets' locations. Method group Determines whether delegate direction as influenced by the behavior is calculated by an angular method or a force method. Default=Angle. Angle Applies a force to the delegate based on the angle between the delegate's current direction and the direction it would need to take in order to be moving directly toward the target. The magnitude of the force is greatest when the delegate is moving away from the target, and needs to turn around. It can be as little as 0 when the delegate is directly approaching the target. Force Always applies a force directly towards the target. The magnitude of the force is constant. Radius group Use the optional radius settings to activate the Seek behavior only when the delegates are within a specific distance from the target. The relative strength of the Seek behavior increases from 0 percent beyond the outer radius to 100 percent at the inner radius. Use Radii When on, the Seek behavior applies only to delegates less than the Outer Radius distance from the target. Default=off. Inner Radius The distance from the target at which Seek is applied at full strength. Default=0.0. Outer Radius The distance from the target at which Seek begins to be applied. Default=10.0. Falloff Default=2.0. Display Radii The radii are displayed when the force is active. _____ Color Swatch Shows the color used to draw the Seek force vector during the solution. Click the box to choose a different color. Default=green. Display Force When on, force exerted on the delegate(s) by the Seek behavior is drawn in the viewports as a vector during the simulation solution. If Use Radii is turned on, the radii are also displayed when the force is active. Crowd Animation | 5583 Space Warp Behavior Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Space Warp Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Space Warp Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Choose Space Warp from the drop-down list. The Space Warp behavior lets space warps, such as wind or gravity, influence a crowd simulation. You can use it to apply space warps in the Forces and Particles & Dynamics categories to crowd members. In particular, use the Space Warp behavior to tie delegates to a Vector Field space warp on page 5619, so that they avoid penetrating an irregularly shaped object while following its contours. Interface None (label) Click this button, then select a space warp object. Color Swatch shows the color used to draw the Space Warp force vector during the solution. Click the box to choose a different color. Display Force When on, force exerted on the delegate(s) by the Space Warp behavior is drawn in the viewports as a vector during the simulation solution. 5584 | Chapter 15 Character Animation Speed Vary Behavior Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Speed Vary Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Speed Vary Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Choose Speed Vary from the drop-down list. The Speed Vary behavior is useful for objects whose velocity changes at random as they move, such as sightseeing tourists. Its parameters let you specify how often a delegate should change speed, what speed range it should look at for a new speed, and how long it should accelerate to get to that new speed. Crowd Animation | 5585 Interface Time group Period Specifies how many frames should elapse before a new speed is chosen. Deviation Specifies the maximum amount by which Period should vary. Each time a period ends, character studio takes a random number between the negative and positive values of the Deviation setting, multiplies it by the Period setting, and adds the result to Period. Default=0.5. Range=0.0 to 1.0. Speed group The mathematical formula for the new speed is as follows: new speed = (delegate's Average Speed*Center)*(1 + RN*Center Deviation), where RN is a random number between –1 and 1. Center Specifies the speed the delegate should change to. Center is a multiplier: A value of 0.0 means to stop, a value of 1.0 means to move at its average speed on page 5511, and a value greater than 1.0 means to move faster than its average speed. Default=1.0. Range=0.0 to 99,999.0. Deviation Specifies the maximum amount by which the delegate's calculated speed (Average Speed*Center) should vary. 5586 | Chapter 15 Character Animation Each time a period ends, character studio takes a random number between the negative and positive values of the Deviation setting, multiplies it by the calculated speed, and adds the result to the calculated speed. Default=0.25. Range=0.0 to 99,999.0. Accel Period Specifies the rate at which the delegate's speed should change in relation to the period length. A value of 0.0 means that the transition to the new speed will proceed as quickly as possible, and a value of 0.5 means the transition will take half the period. A value of 1.0 means the transition will take the entire period. Default=0.5. Range=0.0 to 1.0. Deviation Specifies the maximum amount by which acceleration should vary. Each time a period ends, character studio takes a random number between the negative and positive values of the Deviation setting, multiplies it by the Acceleration setting, and adds the result to Acceleration. Default=0.5. Range=0.0 to 1.0. _____ Seed Specifies a value for randomizing the Speed Vary behavior. Surface Arrive Behavior Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Surface Arrive Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Surface Arrive Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Choose Surface Arrive from the drop-down list. The Surface Arrive behavior is similar to the Seek behavior on page 5581 in that it lets you specify an object or objects as a stationary or moving target for delegates. The principal difference is that Surface Arrive can cause delegates to stop when they reach the target. You can also specify, to some degree, where Crowd Animation | 5587 the delegate will stop on the object, and how it will approach the target before stopping. An example of a use for this behavior would be birds flying over a row of telephone poles, then each one landing on top of a different pole. 5588 | Chapter 15 Character Animation Interface Crowd Animation | 5589 None (label) Specifies a single target. Click this button, and then click the target object in the viewport. The target name then appears on the button. If you've selected multiple targets using Multiple Selection (see next item), the word Multiple appears on the button. To see which objects are designated as targets, click the Multiple Selection button. Multiple Selection Opens the Select dialog to let you designate multiple targets. When you have more than one target, you can set delegates to move toward the closest target in the group, or to a computed average of the target positions. Arrival group Specifies three aspects of the Surface Arrive behavior: Rate, Speed, and Distance. Disable After Arriving When on, turns off the Surface Arrive behavior after the delegate arrives at the surface. Default=on. Rate A multiple of the delegate's Max Accel on page 5511 setting that specifies the acceleration with which it will try to arrive. A value of 1.0 means to use the full acceleration of the delegate. Default=0.5. Deviation Adds random variation to the to the Rate setting. The actual deviation is calculated by multiplying the Deviation setting by a random number between -1 and 1, and then multiplying the result by the Rate setting. Default=0.0. Speed The speed at which to arrive, relative to the speed of the target. Default=0.0. Deviation Adds random variation to the Speed setting. Default=0.0. The actual deviation is calculated by multiplying the Deviation setting by a random number between -1 and 1, and then multiplying the result by the Speed setting. Distance The maximum radial distance from the target within which the behavior will be active. Default=9999999.0. Until the delegate is within this radius, the behavior has no influence. Deviation Adds random variation to the to the Distance setting. The actual deviation is calculated by multiplying the Deviation setting by a random number between -1 and 1, and then multiplying the result by the Distance setting. Default=0.0. 5590 | Chapter 15 Character Animation Location group Offset Specifies a consistent distance from the calculated arrival point, based on the surface normal, for the delegate to use. Default=0.0. Facing When on, the delegate will try to arrive only at points on triangles on the surface that are facing it. Default=off. Random character studio chooses a random point on the target surface as the arrival point. When using the Random option, character studio chooses arrival points for delegates once, at the beginning of the simulation. This is the default choice Closest character studio chooses the closest point on the target surface as the arrival point. If Closest is chosen, but Every Frame is off, character studio chooses arrival points for delegates once, at the beginning of the simulation. Every Frame When on, character studio chooses arrival points for delegates at every frame. Available only when Closest is chosen. Default=off. Every Frame is useful when the target object is rotating during the animation, but requires more time for calculation. Display Offset When on, shows the Offset distance as lines emanating from each vertex in the surface object, perpendicular to the surface. Approach group The Height and Descent settings together specify the path the delegate will take for its arrival. They allow for a wide range of behavior, from soft, gradual landings to direct helicopter-type descents. In both cases, the actual deviation is calculated by multiplying the Deviation setting by a random number between -1 and 1, and multiplying the result by the relevant value. Height Specifies a distance from the arrival point along its face normal. This is the point that the delegate will go to first before descending to the arrival point. Deviation Adds random variation to the to the Height setting. The actual deviation is calculated by multiplying the Deviation setting by a random number between -1 and 1, and then multiplying the result by the Height setting. Descent Start Specifies the distance between the delegate and the arrival point at which the descent should start. Crowd Animation | 5591 NOTE Be careful that Descent Start is set high enough that the delegate won't overshoot when descending because its speed is too high and deceleration too low, compared to when it should start descending. Deviation Adds random variation to the to the Descent Start setting. The actual deviation is calculated by multiplying the Deviation setting by a random number between -1 and 1, and then multiplying the result by the Descent Start setting. Off This Normal When on, lets you set an approach vector to specify the angle at which the final approach occurs. Default=off. X/Y/Z Use these settings to specify the final approach vector in world coordinates. For example, the vector specified by the default settings of X=0, Y=0, Z=1 means that the delegates will approach the target along the vertical world axis. _____ Seed Affects the random numbers used to calculate the Deviation settings. For similar randomization among different Surface Arrive behaviors, use the same Seed value. Color Swatch Shows the color used to draw the target icon. Default=dark blue. Display Target Enables display of the target icon, which appears during the solution when a new interim goal is calculated for the delegate. Interim goals are created when using the Approach group settings. Default=on. Target Scale Specifies the overall size of the target icon. Default=5.0. Surface Follow Behavior Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Surface Follow Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Surface Follow Behavior 5592 | Chapter 15 Character Animation Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Choose Surface Follow from the drop-down list. The Surface Follow behavior moves delegates with respect to object surfaces, which can be still or animated. For example, you can apply an animated Noise modifier to a patch grid to simulate a choppy water surface, and objects guided by Surface Follow will stay on top. NOTE By default, a delegate influenced by Surface Follow picks a direction to move in at any given frame based on its current facing and the plane of the face it's currently over. Thus objects moving up a hill, while seeking a point at the bottom of the other side of the hill, tend to turn left or right to skirt the hill, rather than following the upward slope. You can override this with the Projection Vector option. Interface None (label) Specifies a single "target" object to use as a surface. Click this button, and then click the target object in the viewport. The target name then appears on the button. If you've selected multiple targets using Multiple Selection (see next item), the word Multiple appears on the button. To see which objects are designated Crowd Animation | 5593 as targets, click the Multiple Selection button. The Select dialog appears with designated targets highlighted. Multiple Selection Opens the Select dialog to let you designate multiple targets. When you have more than one target, delegates initially move toward the closest target in the group, and then move over its surface until they encounter another target, at which point they switch to its surface, and so on. Projection Vector group These controls let you override the default direction calculated by the Surface Follow behavior by describing a virtual plane along which the delegate is to move. You do this by specifying a vector, in world coordinates, that's perpendicular to the desired virtual plane. For example, if you want the delegate, when it encounters a hill, to keep moving forward, straight up and over the hill, instead of skirting it, you would use the default Projection Vector settings: X=Y=0, Z=1. This vector is aligned with the world Z (vertical) axis, so it specifies a plane parallel to the world XY plane. Thus, the delegate always moves straight ahead while following the surface. Use Projection When on, Surface Follow calculates delegate direction from the specified vector, rather than using the default. X/Y/Z Specifies a vector using world coordinates. Default=X=Y=0, Z=1. Range=-1.0 to 1.0. If only one of these settings is not 0, then the projection vector is aligned with the non-zero axis. Combine non-zero settings to create angled planes for Surface Follow. For example, to create a virtual plane that's rotated 45 degrees clockwise about world Y axis, set X=Z=1 and Y=0. Also, while you can set all three axes to 0, that specifies no vector, and so effectively turns off Use Projection. Position on Surface group Offset Specifies the delegate's distance above the surface, using the surface normal. Recalculated at each frame. Display Offset When on, shows the Offset distance as lines emanating from each vertex in the surface object, perpendicular to the surface. Color Swatch Shows the color used to draw the Surface Follow target (see Display Target, next) during the solution. Click the box to choose a different color. 5594 | Chapter 15 Character Animation Display Target When on, the interim goal for each delegate influenced by the Surface Follow behavior is drawn in the viewports as a wireframe sphere during the simulation solution. If the delegate starts out away from the surface to be followed, the target is most visible before the delegate reaches the surface; the target is then positioned along the surface edge. While the delegate is actually following the surface, the target is usually coincident with the delegate, because Surface follow sets a new destination only a frame or two ahead. Target Scale Sets the target size. Wall Repel Behavior Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Wall Repel Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Wall Repel Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Choose Wall Repel from the drop-down list. The Wall Repel behavior uses one or more grid objects to repel delegates. When influenced by the Wall Repel force, delegates turn until they're heading away from the grid. It's useful for keeping objects inside a straight-sided enclosure, such as a room in a building. You can set the grids to repel from either side or both sides, and optionally specify a maximum distance for repelling. You can also set the behavior to act as though each grid extends infinitely along its plane. NOTE The Wall Repel behavior simply applies a force on the delegate in the direction opposite the wall; it does not guarantee that the delegate won't go through the wall. If the delegate does go through the wall, adjust settings such as Inner and Outer Distance, and, in particular, try reducing Falloff. Crowd Animation | 5595 Interface Grid from which to repel Set a repelling grid ("source") by clicking the None button and then selecting the grid. Thereafter, the grid's name appears on the button. To set multiple source grids, click Multiple Selection and use the Select dialog. With multiple source grids, the word "Multiple" appears on the large button. Method group Determines whether delegate direction as influenced by the behavior is calculated by an angular method or a force method. Default=Force. Angle Applies a force to the delegate based on the angle between the delegate's current direction and the direction it would need to take in order to be moving directly away from the source. 5596 | Chapter 15 Character Animation The magnitude of the force is greatest when the delegate is moving directly towards the source, and needs to turn around. It can be as little as 0 when the delegate is moving directly away from the source. Force Always applies a force directly away from the source. The magnitude of the force is constant. Direction group Determines whether the grid repels from its positive-axis side, its negative-axis side, or both. To determine which is the positive-axis side, select the grid, and then set the reference coordinate system to Local (the default system is View). Look at the grid in a viewport in which it appears edge-on. The side with the axis sticking out is the positive-axis side, and the opposite side is the negative-axis side. TIP For ease of setup, when building a "room" from grids, make sure they all point inward (or outward). Positive Axis The grid repels only from the positive-axis side. Negative Axis The grid repels only from the negative-axis side. Both Axes The grid repels from both sides. Distance group Use the distance settings to activate the Wall Repel behavior only when the delegates are within a specific distance from the target. The relative strength of the behavior increases from 0 percent at the outer radius to 100 percent at the inner radius. Use Distance When on, the behavior applies only to delegates closer to the target than the Outer Distance value. Default=on. Inner Distance The distance from the target at which the force is applied at full strength. Default=0.0. Outer Distance The distance from the target at which the force begins to be applied. Default=10.0. Falloff The rate at which the repelling force diminishes between the Inner Distance and the Outer Distance. Default=2.0. A value of 1.0 indicates a linear falloff. Higher values cause the strength to fall off to zero more rapidly with distance, thus focusing its effect closer to the Inner Distance. Lower values reduce the rate of diminishment, with a Crowd Animation | 5597 Falloff setting of 0.0 indicating that the strength is the same at the Outer Distance as it is at the Inner Distance. Display Distance Shows the inner and outer distance settings as grids offset from the target grid in the viewports. The Inner Distance grid is light blue, while the Outer Distance grid is blue-white. Default=on. Grid Spacing Alters the spacing of grid lines used to draw the Inner/Outer Distance grids. The lower the value, the closer the spacing. Default=500. End force at grid edges When on, the force emanates only from the grid object. When off, the force emanates from an imaginary infinite grid created by extending the grid plane in all directions. Color Swatch Shows the color used to draw the Wall Repel force during the solution. Click the box to choose a different color. Default=violet. Display Force The force, when activated, is drawn in the viewports as a wireframe rectangle during the simulation solution. Default=on. Wall Seek Behavior Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Wall Seek Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Wall Seek Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Choose Wall Seek from the drop-down list. The Wall Seek behavior uses a grid object to attract delegates. When influenced by the Wall Seek force, delegates turn until they're heading toward the grid. It's useful for moving objects toward a rectangular area, such as a doorway. You can set the grid to attract from either side or both sides, and optionally specify a maximum distance for attraction. You can also set the behavior to act as though the grid extends infinitely along its plane. 5598 | Chapter 15 Character Animation Interface Grid to seek Set the target grid by clicking the button (initially labeled “None”) and then selecting the grid. Thereafter, the grid's name appears on the button. Method group Determines whether delegate direction as influenced by the behavior is calculated by an angular method or a force method. Default=Angle. Angle Applies a force to the delegate based on the angle between the delegate's current direction and the direction it would need to take in order to be moving directly toward the target. The magnitude of the force is greatest when the delegate is moving away from the target, and needs to turn around. It can be as little as 0 when the delegate is directly approaching the target. Crowd Animation | 5599 Force Always applies a force directly towards the target. The magnitude of the force is constant. Direction group Determines whether the grid attracts from its positive-axis side, its negative-axis side, or both. To determine which is the positive-axis side, select the grid, and then set the reference coordinate system to Local (the default system is View). Look at the grid in a viewport and check the direction of the Z-axis arrow. This arrow determines the positive-axis direction. The opposite direction is the negative-axis direction. Positive Axis The grid attracts only from the positive-axis side. Negative Axis The grid attracts only from the negative-axis side. Both Axes The grid attracts from both sides. Distance group Use the distance settings to activate the Wall Seek behavior only when the delegates are within a specific distance from the target. The relative strength of the behavior increases from 0 percent at the outer distance to 100 percent at the inner distance. Use Distance When on, the behavior applies only to delegates closer to the target than the Outer Distance value. Default=on. Inner Distance The distance from the target at which the force is applied at full strength. Default=0.0. Outer Distance The distance from the target at which the force begins to be applied. Default=10.0. Falloff The rate at which the attracting force diminishes between the Inner Distance and the Outer Distance. Default=2.0. A value of 1.0 indicates a linear falloff. Higher values cause the strength to fall off to zero more rapidly with distance, thus focusing its effect closer to the Inner Distance. Lower values reduce the rate of diminishment, with a Falloff setting of 0.0 indicating that the strength is the same at the Outer Distance as it is at the Inner Distance. Display Distance Shows the inner and outer distance settings as grids offset from the target grid in the viewports. The Inner Distance grid is light blue, while the Outer Distance grid is blue-white. Default=on. 5600 | Chapter 15 Character Animation Grid Spacing Alters the spacing of grid lines used to draw the Inner/Outer Distance grids. The lower the value, the closer the spacing. Default=500. _____ End force at grid edges When on, the force emanates only from the grid object. When off, the force emanates from an imaginary infinite grid created by extending the grid plane in all directions. Color Swatch Shows the color used to draw the Seek force vector (and, if used, the radii) during the solution. Click the box to choose a different color. Default=violet. Display Force When on, force exerted on the delegates by the Seek behavior is drawn in the viewports as a vector during the simulation solution. If Use Radii is turned on, the radii are also displayed when the force is active. Wander Behavior Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Wander Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Click the New button. ➤ Select Behavior Type dialog ➤ Wander Behavior Select a Crowd object. ➤ Modify panel ➤ Setup rollout ➤ Behaviors group ➤ Choose Wander from the drop-down list. The Wander behavior imparts a random motion to delegates, letting you simulate meandering activity in which delegates move and turn in a haphazard manner. It works by randomly picking a new direction, and then turning and moving in that direction. You can specify how often to pick a new direction, how far to turn, and how fast or slow to turn while moving. Crowd Animation | 5601 TIP The trajectory calculated by the Wander behavior varies significantly for each object to which it's applied. To create a group of wandering delegates all using the same trajectory, apply the Wander behavior to a delegate, solve the simulation, and then replicate the delegate using the Scatter Objects on page 5518 facility with Clone Controllers turned on. Procedures To use the Wander behavior: 1 Add a Wander behavior to the Crowd object. 2 Change the default settings as desired. Probably the most important is Period, which sets the number of frames between changes of direction. 3 Use Behavior Assignments on page 5542 to assign the behavior to a delegate or team. Interface Time group Period Specifies how many frames should elapse before a new direction is chosen. Default=10. Deviation Specifies the maximum amount by which Period should vary. Each time a period ends, character studio takes a random number between the negative and positive values of the Deviation setting, multiplies it by the Period setting, and adds the result to Period. Default=0.5. Range=0.0 to 1.0. 5602 | Chapter 15 Character Animation Turning group Angle Specifies how far to turn when changing direction. A small value means to change direction by only a small amount, while as the value approaches 1.0 the delegate will turn randomly in any direction. Default=0.5. Range=0.5 to 1.0. Turn Period Specifies how long over the current period it takes to turn. A value of 0.0 means that the delegate will rotate as quickly as possible to face a direction and then travel in that direction, while a value of 1.0 means the delegate will take the entire period to rotate in that direction. Default=0.5. Range=0.5 to 1.0. Deviation Specifies the maximum amount by which Angle should vary. Each time a period ends, character studio takes a random number between the negative and positive values of the Deviation setting, multiplies it by the Angle setting, and adds the result to Angle. Default=0.5. Range=0.0 to 1.0. _____ Seed Specifies a seed value for randomizing the Wander behavior. Color swatch Shows the color used to draw the Wander force vector during the solution. Click the box to choose a different color. Display Force When on, force exerted on the delegates by the Wander behavior is drawn in the viewports as a vector during the simulation solution. Solve Rollout Create panel ➤ ➤ Solve rollout Select a Crowd object. ➤ (Helpers) ➤ Object Type rollout ➤ Crowd Modify panel ➤ Solve rollout Once you've set up the crowd simulation, use this rollout to set solution parameters and to solve the simulation. You can solve continuously or a frame at a time, starting at any frame. Crowd Animation | 5603 Interface Solve Runs the crowd simulation continuously, applying all specified behaviors to delegates to which they are assigned. Solving a simulation overwrites any previous solutions. To abort a solution in progress and save all keys generated up to that point, press the Esc key. Alternatively, with complex simulations, you can save time by pressing Shift+Esc to abort a solution without saving keys. Step Solve Runs the crowd simulation one frame at a time, starting at the current frame as specified by the time slider position. Press the spacebar to advance one frame. 5604 | Chapter 15 Character Animation To abort a solution in progress and save all keys generated up to that point, press the Esc key. When you do so, character studio disregards any non-default settings for Save Every Nth Key. Alternatively, with complex simulations, you can save time by pressing Shift+Esc to abort a solution without saving keys. NOTE Step Solve always starts at the current frame; it disregards the Simulation Start setting. Simulation Start The first frame of the simulation. Default=0. To make the solution repeatable, set this and keep it the same. Start Solve The frame at which you begin solving. Default=0. This value must be greater than or equal to that of Simulation Start. If greater, the solve will begin in the middle of the simulation. Start Solve should equal Simulation Start the first time you solve, so that when you set Start Solve to start in the middle of the simulation, the simulation up to that point will be correct. NOTE If you set Start Solve to a frame number lower than the first frame of the active time segment, character studio changes the first frame of the time segment to the Start Time value. End Solve Specifies the last frame considered for the solution. Default=100. NOTE If you set End Solve to a frame number higher than the last frame of the active time segment, character studio changes the last frame of the time segment to the End Solve value. Delete Keys before Solve Deletes the keys of active delegates in the range over which the solution takes place. Default=off. This option leaves the first two keys so that the delegate doesn't end up with no keys and then pop to its current position. This is a useful feature for biped crowds; it lets you watch each biped compute, one after another, without the ones not yet computed still performing their old animation. Save every Nth Key Lets you specify the number of position and rotation keys saved after the solution. Positions/Rotations The frequency with which keys are saved for delegate positions and rotations. If 0, no keys are saved. If 1, a key is saved every frame. If 2, a key is saved every other frame, and so on. Defaults=1. Crowd Animation | 5605 Display During Solve group Update display When on, motion produced during solution of a crowd simulation appears in the viewports. Default=on. Frequency How often the display is updated during the solution. If 1, the update occurs every frame. If 2, the update occurs every other frame, and so on. Default=1. Vector Scale Globally scales all force and velocity vectors that are displayed during the simulation. Default=10.0. Scaling vectors up helps to see them better when they are very small. It does not effect the simulation. MAXScript group This feature lets you execute a MAXScript script at each frame. Its primary purpose is for working with bipeds; specifically, to take advantage of available MAXScript calls to Biped that let you specify which clip the biped will be likely to choose next when using the shared motion flow feature. With this feature, you can write a script that dynamically selects the biped's next clip during the Crowd simulation, based on which clip is currently being used, the frame number, the proximity of other bipeds, or anything else that you can find out in a script. Of course, this scripting feature can be used for other purposes as well. Use MAXScript When on, a user-specified script is executed at each frame during the solution. Default=off. Function Name The name of the function to be executed. This name must also specified in the script. Edit MAXScript Click this button to open a MAXScript window for displaying and modifying the script. Bipeds group When solving simulations that use bipeds linked to delegates, it is strongly recommended that you use all three options in this group. Biped/Delegates Only When on, only biped/delegates are included in the computation. Also, the options to use priorities and backtracking become available. These options are available only for biped-only computations. Default=off. 5606 | Chapter 15 Character Animation Use Priorities When on, biped/delegates are computed one delegate at a time, in order of their Priority values, from lowest to highest. Also, backtracking becomes available, and Step Solve becomes unavailable. Default=off. Backtracking Turns on backtracking functionality when solving a crowd simulation that uses bipeds. Default=off. When Backtracking is on during the solution, in the case of an impending collision between bipeds, the Crowd system will back up the simulation to the beginning of the current clip, and then try a different traversal of the lower-priority delegate/biped's motion flow graph. If necessary, the system will back up two or more clips. Priority Rollout Create panel ➤ ➤ Priority rollout Select a Crowd object. ➤ (Helpers) ➤ Object Type rollout ➤ Crowd Modify panel ➤ Priority rollout The Crowd system uses the Priority rollout settings when solving a simulation involving bipeds associated with delegates. The Priority parameter is a positive integer assigned by the user to a delegate. When priorities are used, the Crowd simulation computes one biped at a time, based on its priority setting from lowest to highest; that is, a lower Priority setting means a higher priority. If the priorities of two biped/delegates are the same, the computation order of those two biped/delegates is randomly determined. This topic describes the six different ways of setting a delegate's priority, and how priorities might be put to use in different situations. Using Priorities If you have a large crowd all going in one direction, you would typically want the delegates in front to solve first. In that case, using Proximity To An Object or Proximity To A Grid would be useful in setting priorities. In a case where you start with a circle of bipeds, and you want them all to wander and mingle, you might not care about the bipeds' priorities. You could let them all have the same priority and let the system decide which goes first. However, it might be better to assign random priorities or make priorities Crowd Animation | 5607 unique, so that you are guaranteed the same order each time, and you can read the priority numbers to know what will happen next. This also lets you change the order if you need to. Suppose you have two groups of bipeds, all of which are assigned random priorities. If you wanted to keep the priority relationships within each group, but make one group start after or before the other, you could use Increment Priorities to increment or decrement all the priorities in one group. If none of the algorithms applies to your situation, you need some way to set the priorities by hand. It's useful to be able to set them visually. That's what the Assign By Picking method is for. 5608 | Chapter 15 Character Animation Interface Start Priority Sets the initial priority value. Applies to the first four methods of setting priorities: Assign By Picking, Proximity To An Object, Proximity To A Grid, and Assign Random Priorities. Default=0. NOTE Priority is assigned in increasing order. Thus, a delegate with Priority value 0 goes before a delegate with Priority 1, 1 goes before 2, and so on. Assign by Picking group Pick/Assign Lets you assign successively higher Priority values to any number of delegates by selecting each in turn in the viewport. The first delegate you Crowd Animation | 5609 select is assigned the Start Priority value. The Priority value assigned to each succeeding delegate you select is incremented by one. To stop assigning priorities, right-click in a viewport or click the Pick/Assign button again. Delegate priorities appear in viewports as black numerals attached to each delegate; they're usually most easily seen in Wireframe views. NOTE You can undo and/or redo assignments during the process. TIP It's possible to assign two or more delegates the same priority value using this method. In such a case, for more predictable behavior, use Make Priorities Unique so that delegates don't share priorities. Assign by Computation group This group provides five different methods for assigning priorities to delegates, plus a button for selecting delegates to be affected by these methods. Delegates to Prioritize Lets you use the Select dialog to specify delegates to be affected by subsequent use of other controls within this group. Select the delegates with the Select dialog, and then click Select to exit the dialog. This selection applies only to Proximity assignments (that is, Proximity To An Object and Proximity To A Grid). Proximity to an Object Lets you assign priorities based on delegates' distance from a specific object. To specify the object, click the None button, and then select the object on which priorities are to be based. Lastly, click the Assign button to compute and assign priorities. The delegate closest to the object is assigned the Start Priority value, and each successively farther delegate is assigned the next highest priority. For any delegates that are equidistant from the object, character studio assigns priorities randomly. Proximity to a Grid Lets you assign priorities based on delegates' distance from an infinite plane defined by a specific grid object. To specify the grid object, click the None button, and then select the grid object on which priorities are to be based. Lastly, click the Assign button to compute and assign priorities. The delegate closest to the grid object is assigned the Start Priority value, and each successively farther delegate is assigned the next highest priority. For any delegates that are equidistant from the plane, character studio assigns priorities randomly. 5610 | Chapter 15 Character Animation Assign Random Priorities Assigns random priorities to the selected delegates. The range of priority values assigned lies between the Start Priority value and that value plus the number of selected delegates. Make Priorities Unique Ensures that all delegates have unique priority values. If two delegates share the same priority, one of them will be given a new priority value that differs from the rest. Increment Priorities Increments the priorities of all selected delegates by the Increment value. Increment Sets the value by which the Increment Priorities button adjusts delegate priorities. Use a negative Increment value to decrement priorities. Default=0. _____ Set Start Frames Opens the Set Start Frames dialog on page 5611, for setting start frames based on assigned priorities. Display Priorities Enables the display of assigned priority values as black numerals attached to the delegates. Default=off. Display Start Frames Enables the display of assigned start frame values as black numerals attached to the delegates. Default=off. When both Display Priorities and Display Start Frames are on, the two values are displayed side by side, separated by a slash symbol (/). The priority appears to the left of the slash and the start frame appears to the right. Set Start Frames Dialog Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Priority rollout ➤ Set Start Frames button Select a Crowd object. ➤ Start Frames button Modify panel ➤ Priority rollout ➤ Set When you include bipeds in a crowd simulation using a shared motion flow, you usually don't want them all walking in lockstep formation. You can avoid this by setting different start frames to vary the animation frame at which each biped starts moving using its initial motion clip. In most cases, you would set start frames in the same order as priority, so you don't get bipeds with Crowd Animation | 5611 earlier start frames stuck behind bipeds with later start frames. The Set Start Frames dialog lets you automatically assign start frames to delegates in the same order as priority. This dialog assigns start frames to the delegates selected via the Delegates To Prioritize on page 5610 control. In general, you should first use a non-random method to assign priorities in the Priority rollout on page 5607, such as the Pick/Assign button or one of the Proximity options, and then assign start frames with this dialog. You can use the dialog to set a start frame for the highest-priority delegate (that is, the delegate with the lowest Priority setting), and then have start frames incremented randomly between two limits for the remaining delegates, based on priority order. For instance, if you set Lowest Start Frame to 0, Minimum Number ... to 1, and Maximum Number to 3, you could get a start frame sequence like this: 0, 2, 5, 6, 8, and so on. If you want more regularly staggered start frames, set Minimum and Maximum to the same value. For example, with Lowest Frame=0 and Minimum/Maximum both set to 2, you'd get: 0, 2, 4, 6, 8, etc. Interface Lowest Start Frame Sets the start frame assigned to the delegate with the lowest Priority setting. Minimum number of frames between consecutive start frames The smallest value character studio will use to increment assigned start frames. Maximum number of frames between consecutive start frames The largest value character studio will use to increment assigned start frames. Delegates with the same priority get the same start frame character studio assigns the same start frame to any delegates with identical Priority settings. 5612 | Chapter 15 Character Animation When off, character studio randomizes the order of same-priority delegates' start frames. Default=on. OK Assigns start frame values to selected delegates based on the dialog settings and priority order and closes the dialog. Cancel Closes the dialog without changing start frame values. Smoothing Rollout Create panel ➤ ➤ Smoothing rollout Select a Crowd object. ➤ (Helpers) ➤ Object Type rollout ➤ Crowd Modify panel ➤ Smoothing rollout Smoothing works on existing animation keys (that is, a solved simulation) to create more natural-looking animation. Use these controls if solving a crowd simulation results in abrupt position or rotation changes of animated objects. By default, smoothing works by reducing keys. As an option, it can also filter (average) existing animation keys to make changes more gradual, resulting in more natural motion. Crowd Animation | 5613 Interface Select Objects to Smooth Opens the Select dialog, which lets you specify which objects' positions and/or rotations to smooth. Filter delegate selection When on, the Select dialog opened by the Select Objects To Smooth button shows only delegates. When off, it shows all scene objects. Default=on. Whole Animation Smoothes all animation frames. This is the default option. Animation Segment Smoothes only the frame ranges specified in the From and To fields. From When Animation Segment is chosen, specifies the first animation frame for smoothing. 5614 | Chapter 15 Character Animation To When Animation Segment is chosen, specifies the last animation frame for smoothing. Positions When on, selected objects' animation paths generated via the simulation are smoothed after the simulation has finished. Default=on. Rotations When on, selected objects' rotations generated via the simulation are smoothed after the simulation has finished. Default=on. Reduction group Reduce Reduces the number of keys by keeping only every Nth key. Keep every Nth key N: Limits the amount of smoothing by keeping every other key (N=2), or every third key (N=3), and so on. Default=2. Filtering group Smoothing works by averaging the delegate's current position and/or orientation with those several keyframes ahead and behind. All keyframes used in the calculation can be affected. These settings let you control the number of keyframes used and the extent of smoothing performed. Filter When on, smoothing is performed using the remaining settings in this group. Past Keys The number of keys prior to the current frame used for averaging position and/or rotation. Default=2. Future Keys The number of keys after the current frame used for averaging position and/or rotation. Default=2. Smoothness Determines the degree to which smoothing is performed. The higher the setting, the closer all keys involved in the calculation are moved toward the average value. Default=4. The highest available Smoothness value is always 6. The lowest available value depends on the Past Keys and Future Keys settings. _____ Perform Smoothing Click this button to carry out the smoothing operation. NOTE If neither the Reduce nor the Filter check box is turned on, no smoothing is performed. Crowd Animation | 5615 Collisions Rollout Create panel ➤ ➤ Collisions rollout Select a Crowd object. ➤ (Helpers) ➤ Object Type rollout ➤ Crowd Modify panel ➤ Collisions rollout During a crowd simulation, you can use this rollout to keep track of collisions defined by Avoid behaviors. A delegate whose hard radius as defined by the Avoid behavior intersects with the hard radius of anything it is avoiding is marked as having collided at that frame. If too many collisions occur, the simulation might not provide satisfactory results; in such cases, you might want to alter the simulation setup. Interface Hilite Colliding Delegates When on, delegates that collide are highlighted in the collision color. Only during collisions Colliding delegates are highlighted only in frames in which they actually collide. Always Colliding delegates are highlighted in frames in which they collide and all subsequent frames. Collision Color The color swatch indicates the color used to highlight colliding delegates. To change the color, click the swatch and use the Color Selector dialog to set a new color. Clear Collisions Clears collision information from all delegates. 5616 | Chapter 15 Character Animation If you re-solve part of the simulation, new collision information for the recomputed frames will be computed. However, if you move a delegate manually, its collision information will remain the same, and may be incorrect. In such cases, use Clear Collisions to correct the collision information. Geometry Rollout Create panel ➤ ➤ Geometry rollout Select a Crowd object. ➤ (Helpers) ➤ Object Type rollout ➤ Crowd Modify panel ➤ Geometry rollout Use this parameter to modify the crowd object's size. Interface Icon Size Determines the size of the Crowd helper object's icon. This setting is primarily for visibility; it has no effect on the crowd simulation. Global Clip Controllers Rollout Create panel ➤ (Helpers) ➤ Object Type rollout ➤ Crowd ➤ Global Clip Controllers rollout Select a Crowd object. ➤ rollout Modify panel ➤ Global Clip Controllers Use global clip controllers when assigning a non-biped animated object (such as a bird flapping its wings) to a delegate in a crowd simulation. Applications include synthesis of animation activity based on a variety of criteria, such as an object's speed, acceleration, and pitch. Crowd Animation | 5617 This group of controls replicates the Track View controls for the same functionality. For an in-depth discussion of global clip controllers and related topics, see: Non-Biped Crowds on page 5501 Synthesis Dialog on page 5627 ClipState Dialog on page 5639 For a procedure covering clip controller usage, see: To use Motion Synthesis with non-bipedal creatures: on page 5503 Interface (List) Lists objects designated as Global Objects, whose controllers can be used as animation clips to control other objects (typically clones). To designate an object as a Global Object, click the New button, and then select the object in the Select dialog. New To designate a Global Object and add it to the list, click this button, and then select the object in the Select dialog. Edit To modify a Global Object's properties, click its name in the list, and then click this button. This opens the Synthesis dialog on page 5627. Load Loads a previously saved Global Motion Clip (.ant) file from disk. Save Stores the current Global Motion Clip settings on disk in the .ant file format. 5618 | Chapter 15 Character Animation Vector Field Space Warp Create panel ➤ (Space Warps) ➤ Particles & Dynamics ➤ Object Type rollout ➤ Vector Field A vector field is a special type of space warp that crowd members use to move around irregular objects such as curved, concave surfaces. The Vector Field gizmo, a box-shaped lattice, is placed and sized so that it surrounds the object to be avoided. The vectors are generated from the lattice intersections. These vectors are, by default, perpendicular to the surface of the object to which the field is applied; if necessary, you can smooth them out with a blending function. The crowd members move around the object by traveling perpendicular to the vectors. You can use the vector field as a Space Warp behavior on page 5584, as the source object for an Avoid behavior on page 5564, or both. When used together, delegates slow down when they approach a complex object, and then go around it. This guarantees that delegates will not pass through the obstacle’s surface. Crowd Animation | 5619 The vector field includes settings for strength, falloff, and a push/pull effect, as well as options to display the lattice, the effective range, and the vectors. Create Method Rollout (Vector Field Space Warp) Create panel ➤ (Space Warps) ➤ Particles & Dynamics ➤ Object Type rollout ➤ Vector Field ➤ Create Method rollout The Create Method rollout for the Vector Field space warp lets you specify whether to create the vector field using the cube or box method. Interface Cube Forces length, width, and height to be equal. Creating a cube-shaped space warp is a one-step operation. Starting at the center of the cube, drag in a viewport to set all three dimensions simultaneously. You can change the individual dimensions in the Lattice Parameters rollout. Box Creates a standard box-shaped space warp from one corner to the diagonally opposite corner, with different settings for length, width, and height. Lattice Parameters Rollout (Vector Field Space Warp) Create panel ➤ (Space Warps) ➤ Particles & Dynamics ➤ Object Type rollout ➤ Vector Field ➤ Lattice Parameters rollout Select a Vector Field space warp. ➤ Parameters rollout Modify panel ➤ Lattice Use these parameters to specify the Vector Field lattice size and number of segments. 5620 | Chapter 15 Character Animation Interface Length/Width/Height Specify the dimensions of the lattice. The lattice should be larger than the Vector Field object. Length Segs / Width Segs / Height Segs Specify the resolution of the Vector Field lattice. The greater the resolution, the higher the accuracy of the simulation. Obstacle Parameters Rollout (Vector Field Space Warp) Create panel ➤ (Space Warps) ➤ Particles & Dynamics ➤ Object Type rollout ➤ Vector Field ➤ Obstacle Parameters rollout Select a Vector Field space warp. ➤ Parameters rollout Modify panel ➤ Obstacle A vector field on page 5619, generated around an obstacle object, allows crowd on page 5515 members to avoid that object in a scene. The field consists of a three-dimensional array of vectors which guide delegates or other objects around the obstacle. The settings in this rollout help determine how the vectors are generated and displayed, and how they affect other objects. NOTE Objects are subject to a vector field's forces only if they are bound to the field with a Crowd object. For general usage guidelines, see To use a Vector Field space warp on page 5478. Crowd Animation | 5621 Interface 5622 | Chapter 15 Character Animation Display group The check boxes in this group let you enable and disable display of four different elements of the Vector Field space warp. NOTE You can select a Vector Field space warp in the viewport by clicking any of its visible elements except the range representation. If you've turned off display of all four elements, you can still select the space warp by clicking its gizmo, which, when viewed from the "top" (the orthographic viewport in which the warp was created), resembles a pair of crossed double-headed arrows in the shape of an X. Show Lattice Displays the vector field lattice, a yellow wireframe box. Default=on. The vectors are generated at lattice intersections inside the vector field range. Show Range Displays the volume about the obstacle object within which vectors are generated, as an olive-colored wireframe. Default=on. The range starts out the same shape and size as the obstacle object, and is typically enlarged with the Compute Vectors group ➤ Range setting. Show Vector Field Displays vectors, which appear as blue lines emanating outward from lattice intersections within the range volume. Default=off. Show Surface Samples Displays short green lines emanating from sample points on the surface of the obstacle object. Default=off. These appear only after you've computed on page 5626 the vector field. See Sample Resolution on page 5626 for more information. VectorScale Scales the vectors so they're more visible or less obtrusive. Default=1.0. NOTE This setting does not affect the strength of the vectors; only their visibility. Crowd Animation | 5623 Icon Size Adjusts the size of the Vector Field space warp icon, a pair of crossed double-headed arrows. Increase the size for easier viewport selection. Default=size originally drawn in viewport. Force group These parameters determine how the vector field affects objects within its volume. Changing any of the Force group settings does not require that you recalculate the vector field. NOTE Using a vector field does not guarantee that delegates or particles remain at a particular distance from the obstacle. In some cases you might have to animate the Strength, Falloff, and/or Pull settings to keep delegates within the vector field. Strength Sets the degree of effect the vectors have on the movement of an object entering the vector field. If Show Vector Field on page 5623 is on as you adjust Strength, you can see the vector lines change size in the viewports in real time. Default=1.0. NOTE Sometimes, after changing strength, vectors will be too large or too small. In such cases, adjust the VectorScale on page 5623 parameter so that they display properly. Falloff Determines the rate at which the strength of the vectors falls off with distance from the surface of the object. Default=2.0. A value of 0 will make all the vectors the same size. A value greater than 0 will make them get smaller as they get farther away from the object surface. A value less then 0 will make them get larger as they get farther away. Parallel/Perpendicular Sets whether the force generated by the vectors works parallel or perpendicular to the vector field. Default=Perpendicular. Because the vectors are perpendicular to the object surface, and you typically would want delegates to travel parallel to the surface, you would normally use a perpendicular force. 5624 | Chapter 15 Character Animation Pull Adjusts objects' position relative to the field. Available only when Perpendicular is chosen. Default=0.0. Range=-1.0 to 1.0. Objects moving perpendicular to a vector field sometimes tend to drift away from it, due to lack of subsampling. The Pull parameter helps to pull objects back. Pull values greater than 0 create a pulling force towards the source of the vector field vector. Values less than 0 pull the force towards the direction in which the vector field's vector is pointing. A value of 0.0 produces a force perfectly perpendicular to the vector field's vector. Compute Vectors group Vector Field Object Lets you designate the obstacle object. Click this button, and then select the object around which the vector field is to be generated. Thereafter the object's name appears on the button (which is intially labeled “None”). NOTE You can only use primitives and unmodified editable mesh objects as obstacles. Also, the object should be fully enclosed in the Vector Field lattice. Range Determines the volume within which vectors are generated. Default=1.0. The range is represented in viewports as an olive-colored wireframe that starts out the same size and shape as the obstacle object. Increasing the Range setting moves the wireframe away from the obstacle object in the direction of its surface normals. In crowd simulations, the Range outline is where the delegates start to "see" the obstacle object, and begin to turn to avoid it. If your crowd members are penetrating the obstacle, or even just coming too close to it before turning, increase the Range setting. Also try increasing the Vector Field lattice resolution and/or the Sample Res setting. Crowd Animation | 5625 Sample Res(olution) Acts as a multiplier of the effective sampling rate used on the obstacle object's surface to calculate vector directions in the field. Default=1. The basic sampling rate is determined by 3ds Max from the size of the lattice and the size of each polygon. Use Flipped Faces Causes flipped normals to be used during the computation of the vector field. Default=off. By default, vectors are generated in the same direction as the obstacle object's face normals, so that assuming these face normals point outward, objects move around its exterior in a crowd simulation. However, if you want objects to remain within an object's interior, turn on Use Flipped Faces. TIP If you run a crowd simulation inside an object that is also being viewed from the inside, such as a room, you'll probably want the object's faces to point inward. In that case, use Editable Mesh/Edit Mesh ➤ Surface Properties to flip the normals, and don't turn on Use Flipped Faces. Compute Calculates the vector field. Always recalculate the vector field after changing any parameters except those in the Force group. Blend Vectors group Use the Blend Vectors parameters to reduce abrupt changes in the angles of neighboring vectors. For example, if you have a wavy surface, you might get wavy vectors very far out from the surface, which could adversely affect the simulation. Use Blend Vectors to correct this condition. Start Dist The distance from the object at which you want to start blending the vectors. Default=0.0. Falloff The falloff of the blend of the surrounding vectors. Default=2.0. 5626 | Chapter 15 Character Animation Blend segs X The number of adjacent lattice points to blend on the X-axis. Default=1. Blend segs Y The number of adjacent lattice points to blend on the Y-axis. Default=1. Blend segs Z The number of adjacent lattice points to blend on the Z-axis. Default=1. Blend Click this button to implement the blending. Motion Synthesis The Crowd system in character studio can use two different types of motion synthesis, which lets character studio adjust the simulation results dynamically to account for differing conditions. This section deals with the application of motion synthesis to non-bipedal crowds, such as a flock of birds. For information on using motion synthesis with bipeds, see Biped Crowds on page 5489. Synthesis Dialog Select a Crowd object. ➤ Modify panel ➤ Global Clip Controllers rollout ➤ New ➤ Choose a GlobalClip object. ➤ Select the object in the list. ➤ Edit ➤ Synthesis dialog Open Track View ➤ Hierarchy ➤ Global Tracks ➤ Block Control ➤ Global Clip Properties (right-click) ➤ Synthesis dialog The Synthesis dialog is where you set up motion synthesis for non-bipedal crowd members. It uses three panels to split up the workflow. On the Motion Clips panel, you specify the global object from which the motion clips are to be derived; you also set up the motion clips here. Controls on the State panel let you set up states and link clips to states. The Synthesis panel controls let you blend clips and synthesize the motion for some or all crowd members. Usage of the Synthesis dialog is closely associated with usage of the ClipState dialog. For a procedure that combines both, see To use Motion Synthesis with non-bipedal creatures: on page 5503. Crowd Animation | 5627 See also: ■ ClipState Dialog on page 5639 Motion Clips Panel Select a Crowd object. ➤ Modify panel ➤ Global Clip Controllers rollout ➤ New ➤ Choose a GlobalClip object. ➤ Select the object in the list. ➤ Edit ➤ Synthesis dialog ➤ Motion Clips panel Open Track View ➤ Hierarchy ➤ Global Tracks ➤ Block Control ➤ Global Clip Properties (right-click) ➤ Synthesis dialog ➤ Motion Clips panel On the Motion Clips panel, you specify the global object from which the motion clips are to be derived. You also set up the motion clips here. See also: ■ Synthesis Dialog on page 5627 ■ State Panel on page 5631 ■ Synthesis Panel on page 5634 5628 | Chapter 15 Character Animation Interface Global Object Click Global Object and pick the object that contains the animation (all the clips) in the Select Global Objects To Copy dialog. Global Motion Clips group List Window The list of motion clips. The clips that you create appear in this list. Crowd Animation | 5629 Edit Window Rename or change the color for the selected motion clip. From Global Object group Create State Create a new state with parameters specific to the motion clip, such as speed, heading, acceleration, and so on. character studio evaluates the motion and orientation of the object and creates a new state with parameters set accordingly. Remove Local X, Y, Z, Orientation Turn on any or all of these options to strip out transformation and orientation data from the motion clip. The idea is to animate the global object with full lateral motion. character studio then creates states based on the actual motion of the global object. After the states are created, the animation is stripped from the object. When delegates linked to clones of the global object come close to the actual motion recorded in the state, then the appropriate state is used to trigger the motion clip. This technique is used to minimize sliding feet. If you animate a creature with many legs, you should animate lateral motion as well a leg motion. Then you create clips that record and then strip out the lateral motion that you created. When the delegate approaches the speed and direction you created originally on the global object, then the leg motion clip will be activated by the state; leg motion will be accurate relative to speed, preventing sliding feet. New Lets you set up a new motion clip. Displays the MotionClip Parameters dialog on page 5637 where you can specify the name and duration of the clip. This selects all active controllers. Modify Lets you modify a motion clip's parameters. Highlight the clip to modify, and then click Modify. Displays the MotionClip Parameters dialog on page 5637, where you can specify the name and duration of the clip. Also, if you've changed the animation on the Global Object, you can re-apply it to a clip simply by clicking Modify and then clicking OK to close the dialog. The change will affect all the objects being synthesized. Copy to Object The keys from the highlighted motion clip are copied back to the Global Object. Deletes any existing animation keys in that part of the Global Object's animation. You can use this function in several ways. First, if you've changed the animation on the Global Object, you can restore it from a stored motion clip with Copy To Object. Also, if you've edited the clip in Track View (Global Tracks ➤ Block Control ➤ Global Motion Clip:: ...), you can apply it to the Global Object with Copy To Object. 5630 | Chapter 15 Character Animation From Track View group New Lets you create a motion clip from an animation track in Track View. Specify a track in the Track View Pick dialog on page 5638. The MotionClip Parameters dialog on page 5637 displays upon exiting the Track View Pick dialog. Modify Lets you modify a motion clip in the list by changing the Track View track from which it's derived, as well as the name and duration. Specify a track in the Track View Pick dialog on page 5638. The MotionClip Parameters dialog on page 5637 displays upon exiting the Track View Pick dialog. Add Selected Creates a motion clip from only the selected tracks in Track View. _____ Delete Deletes the highlighted clip in the list. Load Loads a motion clip file (.clp). Displays the Load Motion Clip dialog. Use the Save command to create a .clp file. Save Saves a motion clip into a .clp file. Displays the Save Motion Clip dialog. _____ OK Accepts changes and closes the dialog. State Panel Select a Crowd object. ➤ Modify panel ➤ Global Clip Controllers rollout ➤ New ➤ Choose a GlobalClip object. ➤ Select the object in the list. ➤ Edit ➤ Synthesis dialog ➤ State panel Open Track View ➤ Hierarchy ➤ Global Tracks ➤ Block Control ➤ Global Clip Properties (right-click) ➤ Synthesis dialog ➤ State panel Controls on the State panel let you set up states for non-bipedal motion synthesis and link motion clips to states. See also: ■ Synthesis Dialog on page 5627 ■ Motion Clips Panel on page 5628 Crowd Animation | 5631 ■ Synthesis Panel on page 5634 Interface Synthesis States drop-down list Displays the current state. Choose a state to modify from the list. You can change the state name by editing the text in the list window. New State Creates a new state and adds it to the list. 5632 | Chapter 15 Character Animation The default name is “ClipState,” optionally followed by a number. You can change the state name by editing the text in the window. Delete State Deletes the current state. This is undoable. Edit Properties Lets you modify the current state. Displays the ClipState dialog on page 5639 for the current state. Clear Properties Returns the state to the default settings and removes clips from the MotionClips window. MotionClips group MotionClips window Displays motion clips used by the current state. Use Add Clip to associate clips with the state. If you assign more than one clip to a state, character studio picks the clips randomly during synthesis based on their respective weights. MotionClip Weight Determines the chance that a clip will be chosen during synthesis. Range=0 to 1000. Highlight the clip in the list, and then set its weight. A higher weight means that a clip is more likely to be chosen. Add Clip Displays the Select MotionClip dialog. Highlight a clip and click OK to add a clip to the current state. Remove Clip Removes the highlighted clip from the current state. _____ Precedence Sets the precedence for the current state. Range=0 to 1000. If multiple states qualify for activation based on their properties, character studio uses the clip associated with the one with the higher precedence first. If more than one state has the same precedence, then the one with the greater weight is played first. Weight Specifies a weight value for a state. If two states have the same precedence, the state with a greater weight will be give higher priority considered during random selection. Animation Start Percent Specifies where in the clip's animation you want it to start playing when the state is active. At the default value of 0, the animation will start once the state is active. If the value is 66, the animation will start playing two-thirds of the way in once the state becomes active. You can also randomize where the animation starts by specifying a Animation Start Deviation value other than 0. Crowd Animation | 5633 Animation Start Deviation You can randomize where the animation starts by specifying a Animation Start Deviation value other than 0. Range=0.0 to 1.0. State Active Percent Specifies the percentage of time the state needs to be valid over its interval in order for it to be selected. Range=0 to 100. Default=50. Clip Select Seed Changes how the random selections occur. If the value stays the same, you are guaranteed to get the same random selections for that state. _____ OK Accepts changes and closes the dialog. Synthesis Panel Select a Crowd object. ➤ Modify panel ➤ Global Clip Controllers rollout ➤ New ➤ Choose a GlobalClip object. ➤ Select the object in the list. ➤ Edit ➤ Synthesis dialog ➤ Synthesis panel Open Track View ➤ Hierarchy ➤ Global Tracks ➤ Block Control ➤ Global Clip Properties (right-click) ➤ Synthesis dialog ➤ Synthesis panel Controls in the Synthesis panel are for adding objects to be synthesized, selecting blend transition points, and performing the synthesis. When you synthesize, different sequences of motion clips are applied to each specified object based on the behavioral motion of its delegate. See also: ■ Synthesis Dialog on page 5627 ■ Motion Clips Panel on page 5628 ■ State Panel on page 5631 5634 | Chapter 15 Character Animation Interface Master Motion Clips list Displays the objects to which the synthesized motion will be applied. You can highlight any of these by clicking them, and select multiple items with Ctrl+click and Shift+click. Highlight all objects with the Select All button. New Master Motion Clip Displays the Select Object To Copy dialog. Use this to specify the objects to which the synthesized motion will be applied. Crowd Animation | 5635 These objects must all be structurally identical to the Global Object. In effect, they should be clones. Remove Animation Strips the animation from the clones. After making clones of the original animated object, you can strip the animation from the clones. During synthesis, motion is applied based on which state is active. Collapse Selected Collapses motion clips to keys on the highlighted objects. This deletes the Master Motion Clip for that object. You can then edit keys and make changes to the animation manually in the scene. Synthesize Selected Analyzes the motion of the delegates linked to the highlighted objects in the Master Motion Clips list, determines which state definitions fit that motion throughout the animation, and applies the corresponding motion clips. Select All Selects all of the objects in the Master Motion Clips list. Synthesize All Analyzes the motion of the delegates linked to all objects in the Master Motion Clips list, determines which state definitions fit that motion throughout the animation, and applies the corresponding motion clips. A progress bar displays during synthesis. When synthesis is completed, the Synthesis dialog reappears, and you can view the calculated minimum, maximum, and average values of delegate motion for the different state properties in the ClipState dialog. You can use these values to fine-tune the state properties. State Select Seed Sets a seed value for random state selection. During synthesis, it's possible that several states qualify for activation at the same time, in which case one state is chosen at random. The seed is used to modify the random value selected when determining which state to select. Synthesis Blend Parameters group During synthesis, clips aren't sequenced from end to end; instead, they partially overlap, with key blending or averaging occuring during the overlap intervals. This allows for smooth transitions between clips. During the blending or overlap period, weighting gradually shifts between the “from” and “to” clips, so the former's keys predominate at the beginning of the blend, and the latter's at the end. You can specify explicitly how blending occurs between clips, or you can let character studio calculate blending parameters automatically. To specify blending, use the drop-down lists to choose a pair of clips to blend between, and then set Blend Start to the frame in the “from” clip at which blending 5636 | Chapter 15 Character Animation should begin. Alternatively, use Auto Blend or Auto Blend All to have character studio determine the best blend points. If you use Auto Blend, you can then see the calculated blend start point for each pair of clips by choosing the clips from the drop-down lists. From Clip list Lets you select the starting clip to blend; the clip to blend from. To Clip list Lets you select the ending clip to blend; the clip to blend to. Blend Start Displays the frame in the From clip at which the transition is to begin, whether the default, calculated, or set manually, and lets you change the start frame. Auto Blend Automatically sets the Blend Start frame for the current From and To clips. Auto Blend All Automatically sets the Blend Start frames for all possible pairs of clips. OK Accepts changes and closes the dialog. MotionClip Parameters Dialog Open Track View. ➤ Hierarchy ➤ Global Tracks ➤ Block Control ➤ Global Clip Properties (right-click) ➤ Synthesis dialog ➤ Motion Clips panel ➤ Click New (in the From Global Object group). ➤ Motion Clip Parameters dialog Select a Crowd helper. ➤ Modify panel ➤ Global Clip Controllers rollout ➤ New ➤ Choose a GlobalClip object. ➤ Select the object in the list. ➤ Edit ➤ Synthesis dialog ➤ Motion Clips panel ➤ Click New (in the From Global Object group). ➤ Motion Clip Parameters dialog When setting up a crowd simulation with non-bipedal characters using motion synthesis, use this dialog, accessed from the Synthesis Dialog on page 5627, to define motion clips from the Global Object's animation. Enter a clip name, frame range, and color using controls in the MotionClip Parameters dialog. character studio determines which clips to trigger by states that you define on the State panel on page 5631. Crowd Animation | 5637 Interface Name Enter a name for the new motion clip. Start Specifies the first frame of the animation clip from the Global Object. End Specifies the last frame of the animation clip from the Global Object. Color Click the color swatch and choose a color in the color picker. This color is used in Track View when displaying the clip. Track View Pick Dialog Select a Crowd helper. ➤ Modify panel ➤ Global Clip Controllers rollout ➤ New ➤ Choose a GlobalClip object. ➤ Select the object in the list. ➤ Edit ➤ Synthesis dialog ➤ Motion Clips panel ➤ Track View group ➤ New ➤ Track View Pick dialog Track View ➤ Hierarchy ➤ Global Tracks ➤ Block Control ➤ Global Clip Properties (right-click) ➤ Synthesis dialog ➤ Motion Clips panel ➤ Track View group ➤ New ➤ Track View Pick dialog Open the hierarchy and pick a track to use in the motion clip. 5638 | Chapter 15 Character Animation ClipState Dialog Select a Crowd helper. ➤ Modify panel ➤ Global Clip Controllers rollout ➤ New ➤ Choose GlobalClip object. ➤ Select object in list. ➤ Edit ➤ Synthesis dialog ➤ State panel ➤ New State ➤ Edit Properties ➤ Clip State dialog Track View ➤ Hierarchy ➤ Global Tracks ➤ Block Control ➤ Global Clip Properties (right-click) ➤ Synthesis dialog ➤ State panel ➤ New State ➤ Edit Properties ➤ ClipState dialog In character studio, in crowd animation with non-bipedal motion synthesis, a state is a particular property or set of properties of a delegate's animation; for example, the period during which it is pitched upwards and is decelerating. After determining the delegate's state, the motion synthesis engine chooses a motion clip for animating the object, or character, linked to the delegate; for example, a bird. When preparing a simulation that uses motion synthesis, Crowd Animation | 5639 you use the ClipState dialog to define states and associate states with motion clips. You can define a state with any combination of these properties: speed, acceleration, pitch, pitch velocity, and heading velocity (plus a script). For each active property, you can specify a range or a unique value that triggers the clip for its respective state. When you use a range, be sure to set the Min setting lower than the Max setting. For example, when using a negative range such as –180 to –10, enter the number with the larger absolute value (–180) as the Min setting. You can see the delegates' actual ranges and average values for all properties after synthesizing on page 5636 the clips. The dialog has several panels, described in the topics that follow. NOTE The dialog contains more tabs than can fit across its top. To see additional tabs, click the left or right arrow button near the upper-right corner of the dialog. You can enable and disable each state property individually. For example, you can tell the motion synthesis to consider only speed and pitch when analyzing delegate motion. For each of a state's active properties, you can designate a range of values between which a state can be activated. Alternatively, you can specify a single, unique motion value to be used when a state is active, such as a speed of 50 units per frame. In addition, you specify the In and Out values of the parameter as it approaches and then passes through that unique value. These values are analogous to the tangents of a curve. For each, you can pick Anything, Decreasing, Increasing, or Constant. For example, an animation of an object that has just landed after flying might have a Unique speed value of 0.0 (the object isn't moving laterally), a decreasing In value (the object decelerated before landing) and a constant Out value (the object remains stationary). Taking off, on the other hand, would have an increasing Out value. If you don't specify state parameters, the state is a default state. For example, if you want the motion synthesis engine to choose random motion clips for an object, and you don’t care about what the speed or pitch is, you create default states, and the synthesis engine will randomly pick which clip is active. 5640 | Chapter 15 Character Animation TIP When setting up states, it's useful to know the extents of state property values for delegate motion in the scene, such as maximum and minimum speed. To determine these, set up the clips and states you want to use, set the ranges to any values, and then synthesize (see the procedure below). After you synthesize, the different property panels of the ClipState dialog will show the actual ranges and average values of delegate motion. These values are saved with the scene. NOTE The default name of this dialog is "ClipState" because that's the default name of the first state created on the Synthesis dialog ➤ State panel. It's the dialog invoked by clicking the Edit Properties button. If you rename the state, the dialog assumes the changed name. Automatic State Creation character studio can create states automatically if you turn on Create State on the Synthesis dialog ➤ Motion Clips panel. You can use this feature if you created a creature that contains lateral motion as well as looping motion. If you turn on all the options in the Motion Clips panel ➤ Remove Local group, then character studio creates a state that reflects the actual heading, speed, and acceleration of your creature. When a delegate approaches the heading and speed contained in this state, it triggers the appropriate motion clip. This method prevents sliding feet when animating multi-legged creatures. See also: ■ Synthesis Dialog on page 5627 Speed Panel Select a Crowd helper. ➤ Modify panel ➤ Global Clip Controllers rollout ➤ New ➤ Choose GlobalClip object. ➤ Select object in list. ➤ Edit ➤ Synthesis dialog ➤ State panel ➤ New State ➤ Edit Properties ➤ Clip State dialog ➤ Speed Panel Track View ➤ Hierarchy ➤ Global Tracks ➤ Block Control ➤ Global Clip Properties (right-click) ➤ Synthesis dialog ➤ State panel ➤ New State ➤ Edit Properties ➤ ClipState dialog ➤ Speed Panel To have delegate speed considered for motion synthesis, turn on Use Speed, choose Range or Unique, and then make the appropriate settings. Crowd Animation | 5641 Speed is measured in units per animation frame, where the unit is the current 3ds Max system unit. By default, this is Generic Units. Interface Use Speed Turn on to have the motion synthesis engine consider delegate velocity in determining whether to use the clip. 5642 | Chapter 15 Character Animation _____ Range Choose Range to have the motion synthesis engine activate the clip when the delegate's speed falls inside the specified range. Range Display After you synthesize on page 5636 the Master Motion Clips, displays delegates' minimum, average, and maximum speed. Min Set the minimum speed value for the range. Max Set the maximum speed value for the range. _____ Unique Choose Unique to have the motion synthesis engine activate the clip when the delegate's speed matches a specific value, optionally with a rising, falling, or constant value before or after the specified value. Value Set a unique speed value. In/Out These radio buttons let you specify the behavior of the parameter before and after the unique value is met. For example, with a flying object, to trigger a landing animation clip you might set the unique value to 0, the In setting to Decreasing, and the Out setting to Constant. This means that the object has slowed down and then stopped, and is now stationary. ■ AnythingSpeed before or after the target value is not relevant. ■ DecreasingSpeed decreases before or after it reaches the target value. ■ ConstantSpeed before or after the target value is constant. ■ IncreasingSpeed increases before or after it reaches the target value. Scale Playback Speed group These settings let you scale the rate at which the animation is played depending upon the speed of the delegate. By default, when Scale Animation is off, the object animation will always play at its normal rate. If you turn it on, you can then set a Base Speed, at which the animation should play at its normal rate, plus a percentage to specify how much the animation rate is modified by the actual delegate speed. Scale Animation Scales the clip's animation based on speed. For example, as a bird increases its velocity, its wings beat more rapidly. Scaling an animation scales the keys of the animation. Percentage Specify how much to alter the playback speed based upon the difference between the delegate's speed and the Base Speed setting. Crowd Animation | 5643 The formula used is this: Animation Speed change % = (current speed/Base Speed – 1) x Percentage % For example, if a delegate is moving 50 percent faster than the base speed, and the Scale Percentage value is 50, then the playback speed is scaled up by 25 percent. Base Speed Specifies the delegate speed at which the animation should be played back at its normal rate. Acceleration Panel Select a Crowd helper. ➤ Modify panel ➤ Global Clip Controllers rollout ➤ New ➤ Choose GlobalClip object. ➤ Select object in list. ➤ Edit ➤ Synthesis dialog ➤ State panel ➤ New State ➤ Edit Properties ➤ Clip State dialog ➤ Acceleration Panel Track View ➤ Hierarchy ➤ Global Tracks ➤ Block Control ➤ Global Clip Properties (right-click) ➤ Synthesis dialog ➤ State panel ➤ New State ➤ Edit Properties ➤ ClipState dialog ➤ Acceleration Panel To have delegate acceleration considered for motion synthesis, turn on Use Acceleration, choose Range or Unique, and then make the appropriate settings. Interface Acceleration is measured in units per frame per frame, where the unit is the current 3ds Max system unit. That is, the acceleration is determined by the rate at which the speed changes per frame. 5644 | Chapter 15 Character Animation Use Acceleration Turn on to have the motion synthesis engine consider delegate acceleration in determining whether to activate the state. _____ Range Choose Range to have the motion synthesis engine activate the clip when the delegate's acceleration falls inside the specified range. Crowd Animation | 5645 Range Display After you synthesize on page 5636 the Master Motion Clips, displays delegates' minimum, average, and maximum acceleration. Min Set a minimum acceleration value for the range. Max Set a maximum acceleration value for the range. _____ Unique Choose Unique to have the motion synthesis engine activate the clip when the delegate's acceleration matches a specific value, optionally with a rising, falling, or constant value before or after the specified value. Value Set a unique acceleration value. In/Out These radio buttons let you specify the behavior of the parameter before and after the unique value is met. Anything Acceleration before or after the target value is not relevant. Decreasing Acceleration decreases before or after it reaches the target value. Constant Acceleration before or after the target value is constant. Increasing Acceleration increases before or after it reaches the target value. Scale Playback Speed group These settings let you scale the rate at which the animation is played, depending upon the acceleration of the delegate. By default, when Scale Animation is off, the object animation will always play at its normal rate. If you turn it on, you can then set a Base Acceleration, at which the animation should play at its normal rate, plus a percentage to specify how much the animation rate is modified by the actual delegate acceleration. Scale Animation Scale the clip's animation based on acceleration. For example, as a bird accelerates, its wings beat more rapidly. Scaling an animation scales the keys of the animation. Percentage Specify how much to alter the playback speed based upon the difference between the delegate's acceleration and the Base Acceleration setting. The formula used is this: Animation Speed change % = (current speed/Base Acceleration – 1) x Percentage % 5646 | Chapter 15 Character Animation For example, if a delegate is accelerating 50 percent faster than the base acceleration, and the Scale Percentage value is 50, then the playback speed is scaled up by 25 percent. Base Acceleration Specifies the delegate acceleration at which the animation should be played back at its normal rate. Pitch Panel Select a Crowd helper. ➤ Modify panel ➤ Global Clip Controllers rollout ➤ New ➤ Choose GlobalClip object. ➤ Select object in list. ➤ Edit ➤ Synthesis dialog ➤ State panel ➤ New State ➤ Edit Properties ➤ Clip State dialog ➤ Pitch Panel Track View ➤ Hierarchy ➤ Global Tracks ➤ Block Control ➤ Global Clip Properties (right-click) ➤ Synthesis dialog ➤ State panel ➤ New State ➤ Edit Properties ➤ ClipState dialog ➤ Pitch Panel To have delegate pitch considered for motion synthesis, turn on Use Pitch, choose Range or Unique, and then make the appropriate settings. Pitch is determined by the angle in degrees of the delegate about the world X-axis. In world coordinates, the delegate's pitch is positive when it's aimed upward, negative when it's aimed downward, and 0 when it's aimed parallel to the home grid. Crowd Animation | 5647 Interface Use Pitch Turn on to have the motion synthesis engine consider delegate pitch in determining whether to activate the state. 5648 | Chapter 15 Character Animation _____ Range Choose Range to have the motion synthesis engine activate the clip when the delegate's pitch falls inside the specified range. Range Display After you synthesize on page 5636 the Master Motion Clips, displays delegates' minimum, average, and maximum pitch. Min Set a minimum pitch for the range. Max Set a maximum pitch for the range. _____ Unique Choose Unique to have the motion synthesis engine activate the clip when the delegate's pitch matches a specific value, optionally with a rising, falling, or constant value before or after the specified value. Value Set a unique pitch value In/Out These radio buttons let you specify the behavior of the parameter before and after the unique value is met. ■ AnythingPitch before or after the target value is not relevant. ■ DecreasingPitch decreases before or after it reaches the target value. ■ ConstantPitch before or after the target value is constant. ■ IncreasingPitch increases before or after it reaches the target value. Scale Pitch Orientation group These settings let you scale the pitch at which the animation is played, depending upon the pitch of the delegate. By default, when Scale Pitch is off, the animated object will pitch normally. If you turn it on, you can then set a Base Pitch at which the animation should play, plus a percentage to specify how much the Base Pitch is modified by the actual delegate pitch. If the Percentage is 100, then only the Base Pitch will be used; anything else will scale between the base pitch and the delegate pitch. This is useful for when birds and other objects elevate, but don’t pitch up. Scale Animation Scales the clip's pitch based on delegate pitch. Percentage Specify how much to alter the pitch based upon the difference between the delegate's pitch and the Base Pitch setting. The formula used is this: Pitch change % = (current pitch/Base Pitch – 1) x Percentage % Crowd Animation | 5649 Base Pitch Specifies the delegate pitch at which the animation should be played back at its normal rate. Scale Playback Speed group These settings let you scale the rate at which the animation is played, depending upon the pitch of the delegate. By default, when Scale Animation is off, the object animation will always play at its normal rate. If you turn it on, you can then set a Base Pitch, at which the animation should play at its normal rate, plus a percentage to specify how much the animation rate is modified by the actual delegate pitch. Scale Animation Scales the clip's animation based on pitch. Percentage Specify how much to alter the playback speed based upon the difference between the delegate's pitch and the Base Pitch setting. The formula used is this: Animation Speed change % = (current speed/Base Pitch – 1) x Percentage % For example, if a delegate's pitch velocity is 50 percent above its base pitch rate, and the Scale Percentage value is 50, then the playback speed is scaled up by 25 percent. Base Pitch Specifies the delegate pitch at which the animation should be played back at its normal rate. Pitch Velocity Panel Select a Crowd helper. ➤ Modify panel ➤ Global Clip Controllers rollout ➤ New ➤ Choose GlobalClip object. ➤ Select object in list. ➤ Edit ➤ Synthesis dialog ➤ State panel ➤ New State ➤ Edit Properties ➤ Clip State dialog ➤ Pitch Velocity Panel Track View ➤ Hierarchy ➤ Global Tracks ➤ Block Control ➤ Global Clip Properties (right-click) ➤ Synthesis dialog ➤ State panel ➤ New State ➤ Edit Properties ➤ ClipState dialog ➤ Pitch Velocity Panel To have delegate pitch velocity considered for motion synthesis, turn on Use Pitch Velocity, choose Range or Unique, and then make the appropriate settings. 5650 | Chapter 15 Character Animation Pitch velocity is determined by the rate of change in degrees per frame of the angle of the delegate about the world X-axis. In other words, pitch velocity measures how fast the delegate is changing its pitch on page 5647. Interface Crowd Animation | 5651 Use Pitch Velocity Turn on to have the motion synthesis engine consider pitch velocity in determining whether to activate the state. _____ Range The motion synthesis engine activates the clip when the delegate's pitch velocity falls inside the specified range. Range Display After you synthesize on page 5636 the Master Motion Clips, displays delegates' minimum, average, and maximum pitch velocity. Min Set a minimum pitch velocity for the range. Max Set a maximum pitch velocity for the range. _____ Unique Choose Unique to have the motion synthesis engine activate the clip when the delegate's pitch velocity matches a specific value, optionally with a rising, falling, or constant value before or after the specified value. Value Set a unique pitch velocity value. In/Out These radio buttons let you specify the behavior of the parameter before and after the unique value is met. ■ AnythingPitch velocity before or after the target value is not relevant. ■ DecreasingPitch velocity decreases before or after it reaches the target value. ■ ConstantPitch velocity before or after the target value is constant. ■ IncreasingPitch velocity increases before or after it reaches the target value. Scale Playback Speed group These settings let you scale the rate at which the animation is played, depending upon the pitch velocity of the delegate. By default, when Scale Animation is off, the object animation will always play at its normal rate. If you turn it on, you can then set a Base Pitch Rate, at which the animation should play at its normal rate, plus a percentage to specify how much the animation rate is modified by the actual delegate pitch velocity. Scale Animation Scales the clip's animation based on pitch velocity. Percentage Specify how much to alter the playback speed based upon the difference between the delegate's pitch velocity and the Base Pitch Rate setting. The formula used is this: 5652 | Chapter 15 Character Animation Animation Speed change % = (current speed/Base Pitch Rate – 1) x Percentage % For example, if a delegate's pitch velocity is 50 percent above its base heading rate, and the Scale Percentage value is 50, then the playback speed is scaled up by 25 percent. Base Pitch Rate Specifies the delegate pitch velocity at which the animation should be played back at its normal rate. Heading Velocity Panel Select a Crowd helper. ➤ Modify panel ➤ Global Clip Controllers rollout ➤ New ➤ Choose GlobalClip object. ➤ Select object in list. ➤ Edit ➤ Synthesis dialog ➤ State panel ➤ New State ➤ Edit Properties ➤ Clip State dialog ➤ Heading Velocity Panel Track View ➤ Hierarchy ➤ Global Tracks ➤ Block Control ➤ Global Clip Properties (right-click) ➤ Synthesis dialog ➤ State panel ➤ New State ➤ Edit Properties ➤ ClipState dialog ➤ Heading Velocity Panel To have delegate heading velocity considered for motion synthesis, turn on Use Heading Velocity, choose Range or Unique, and then make the appropriate settings. Heading velocity is determined by the rate of change in degrees per frame of the angle of the delegate about the world Z-axis. In other words, heading velocity measures how fast the delegate is changing its heading. Crowd Animation | 5653 Interface Use Heading Velocity Turn on to have the motion synthesis engine consider heading velocity in determining whether to activate the state. 5654 | Chapter 15 Character Animation _____ Range Choose Range to have the motion synthesis engine activate the clip when the delegate's heading velocity falls inside the specified range. Range Display After you synthesize on page 5636 the Master Motion Clips, displays delegates' minimum, average, and maximum heading velocity. Min Set a minimum heading rate value for the range. Max Set a maximum heading rate value for the range. _____ Unique Choose Unique to have the motion synthesis engine activate the clip when the delegate's heading rate matches a specific value, optionally with a rising, falling, or constant value before or after the specified value. Value Set a unique heading rate value. In/Out These radio buttons let you specify the behavior of the parameter before and after the unique value is met. ■ AnythingHeading velocity before or after the target value is not relevant. ■ DecreasingHeading velocity decreases before or after it reaches the target value. ■ ConstantHeading velocity before or after the target value is constant. ■ IncreasingHeading velocity increases before or after it reaches the target value. Scale Playback Speed group These settings let you scale the rate at which the animation is played, depending upon the heading velocity of the delegate. By default, when Scale Animation is off, the object animation will always play at its normal rate. If you turn it on, you can then set a Base Heading Rate, at which the animation should play at its normal rate, plus a percentage to specify how much the animation rate is modified by the actual delegate heading velocity. Scale Animation Scales the clip's animation based on heading velocity. Percentage Specify how much to alter the playback speed based upon the difference between the delegate's heading velocity and the Base Heading Rate setting. The formula used is this: Crowd Animation | 5655 Animation Speed change % = (current speed/Base Heading Rate – 1) x Percentage % For example, if a delegate's heading velocity is 50 percent above its base heading rate, and the Scale Percentage value is 50, then the playback speed is scaled up by 25 percent. Base Heading Rate Specifies the delegate heading velocity at which the animation should be played back at its normal rate. Script Panel Select a Crowd helper. ➤ Modify panel ➤ Global Clip Controllers rollout ➤ New ➤ Choose GlobalClip object. ➤ Select object in list. ➤ Edit ➤ Synthesis dialog ➤ State panel ➤ New State ➤ Edit Properties ➤ Clip State dialog ➤ Script Panel Track View ➤ Hierarchy ➤ Global Tracks ➤ Block Control ➤ Global Clip Properties (right-click) ➤ Synthesis dialog ➤ State panel ➤ New State ➤ Edit Properties ➤ ClipState dialog ➤ Script Panel The script state option lets you create a MAXScript script that takes two parameters: node and time. The script typically tests one or more values, and then returns 1 if the condition (the result of the test) is true or 0 if it’s false. This result determines whether or not the state is to be activated. Scripts used by the clip controller are similar to those used by the cognitive controller on page 5554, with the exception that a special time-related statement is required. In the following sample script, "del" is the delegate's node, and "t" is the time. The name of the scripted function, "stoppedScript," would also need to be entered into the name field in the Script panel of the ClipState dialog. Unlike cognitive controller scripts, the statement "at time t" needs to be invoked because the animation is not running when the synthesis takes place. fn stoppedScript del t = ( at time t if del.pos.z < 65 then 1 else 0 ) 5656 | Chapter 15 Character Animation Interface Use Script Turn this on to use a MAXScript script to control a clip. Script Enter the name of the function defined by the script, also found at the start of the script. Crowd Animation | 5657 Edit Script Opens a MAXScript editor window that lets you edit the script. character studio File Formats and Index of character studio Procedures There are two topics in this section: a summary of the file formats used by character studio, and an index to the procedures in the character studio, topics. character studio File Formats character studio uses several proprietary file formats for various functions. BIP Motion file. Includes biped motion and the size of the original biped so motion can be accurately loaded to other bipeds. Can be loaded directly onto a biped, or used to combine motions with Motion Flow or the Motion Mixer. See Loading and Saving BIP Animation on page 4978. FIG Figure file. Contains the sizes and poses of each biped body part, and overall biped size. Use this file to save and load a biped pose in Figure mode. See Saving and Loading FIG Files on page 4851. CPY Copy file. Contains postures, poses and tracks you have copied with the Copy/Paste rollout. See Copying and Pasting Postures and Poses on page 4958 and Copying and Pasting Tracks on page 4989. MFE Motion Flow Graph file. Contains the motion flow graph, and a motion flow script if one was present for the biped upon saving. See Saving, Loading, and Appending Motion Flow Graphs on page 5208. MIX Motion Mixer file. Contains clip data, tracks and trackgroups, transitions between clips, track/clip weights, and scale, trim and time warp information for edited clips. See Exporting Animation to the Biped on page 4080. PHY Physique file. Contains information on envelope sizes and vertex weights set up with the Physique modifier. See Saving and Loading Physique Data on page 5346. STP Step file. Contains footstep data. See Loading and Saving STP Files on page 4986. BVH, CSM, MNM These file formats contain motion-capture data. They are not specific to character studio. See BVH File on page 9114, CSM File on page 9128, or MNM File on page 9224 in the glossary. 5658 | Chapter 15 Character Animation Index of character studio Procedures These procedures appear elsewhere in this User Reference, in their associated topics. Here, they are organized by feature. Biped and Physique Creating a Biped To delete a biped: on page 4847 To change the biped name upon creation: on page 4829 To change the biped name after creation: on page 4829 To create a Named Selection for the biped center of mass: on page 4829 Loading and Viewing Motion To save animation you have created or imported to a BIP file: on page 4979 To load biped motion from an existing BIP file: on page 4979 To preview biped motion using the Biped playback stick figure: on page 4996 To preview biped motion using the full biped model, do one of the following: on page 4996 Animating the Biped with Freeform To use pivots: on page 4953 To make a hand or foot follow an object: on page 4955 To anchor a hand or foot: on page 4957 Animating the Biped with Footsteps To create footsteps automatically: on page 4864 To create multiple footsteps: on page 5121 To create footsteps beginning at the current frame: on page 4867 To make the biped walk up or down stairs: on page 5128 To make the biped walk in place: on page 5129 To make the biped walk backward: on page 5129 To prepare for manual footstep creation: on page 4867 character studio File Formats and Index of character studio Procedures | 5659 To create footsteps manually, beginning at the current frame: on page 5121 To append footsteps onto the existing footsteps: on page 5122 To create footsteps using AutoGrid: on page 4869 To make the biped speed up as it walks: on page 5129 To activate footsteps: on page 4870 To deactivate footsteps: on page 4873 Editing Footsteps To save footstep data: on page 4987 To move selected footsteps in time: on page 4880 To change the duration of a footstep: on page 4880 To scale keys in time: on page 4880 To prevent keys from changing when active footsteps are edited: on page 4882 To turn off Scale Stride mode: on page 4981 To display footstep tracks: on page 4917 To display footstep keys in Track View: on page 4880 To change the display of numbers of footstep keys: on page 4880 To convert an airborne period to freeform mode: on page 4905 To convert between footsteps and freeform animation: on page 4909 To create a purely freeform animation: on page 4912 To create a freefrom animation from a footstep animation: on page 4913 To save footstep data: on page 4987 To copy footsteps to the buffer: on page 4883 To edit the footstep buffer: on page 4883 To splice the footstep buffer: on page 4884 Editing Biped Keys To use In Place mode to adjust keyframes: on page 4998 To set the balance factor: on page 4894 To set ballistic tension: on page 4901 5660 | Chapter 15 Character Animation To set the IK Blend value of a key: on page 4939 To locate vertical center of mass keys: on page 4901 To set a Body Vertical key: on page 4901 To change TCB for a biped arm: on page 4925 To select and rotate multiple links: on page 4927 To rotate all links in the spine, neck, or tail: on page 4928 To change Dynamics Blend for multiple Body Vertical keys: on page 4902 To bend a biped trajectory: on page 4970 To edit keys on the Center of Mass trajectory: on page 4970 To edit biped trajectory keys in a viewport: on page 5000 To use In Place mode to adjust keyframes: on page 4998 Motion-Capture Data To import a motion-capture file: on page 5277 To import a marker file: on page 5269 To use Fit To Existing to import a motion-capture file: on page 5284 To use Convert From Buffer: on page 5275 To compare raw and filtered trajectories: on page 5276 To use Show Buffer: on page 5276 Motion Flow To create clips in the Motion Flow Graph: on page 5197 To create multiple clips in the Motion Flow Graph: on page 5198 To create transitions using the From > To or To < From method: on page 5200 To create transitions using Create All Transitions: on page 5201 To optimize transitions in the Motion Flow Graph: on page 5202 To create a Motion Flow script: on page 5205 To save Motion Flow Editor files: on page 5208 To load Motion Flow Editor files: on page 5210 To append Motion Flow Editor files: on page 5211 character studio File Formats and Index of character studio Procedures | 5661 To manually customize transitions between two clips: on page 5213 To automatically customize transitions between two clips: on page 5214 To create a random script for one biped: on page 5218 To customize transition “weighting” and setting a start clip: on page 5216 Example: To create a unified motion: on page 5221 Example: To share a random motion flow among multiple bipeds: on page 5224 To apply a shared motion flow to a different group of bipeds: on page 5229 To load a Motion Flow scene from another system: on page 5231 Posing the Biped To link a mechanical character to the biped (without Physique): on page 4850 To fit biped legs to the skin: on page 4837 To fit the spine to the skin torso: on page 4838 To fit both arms using copy/paste: on page 4839 To pose both arms simultaneously: on page 4840 To create a symmetrical pose by copying one side of the biped to the other: on page 4840 To copy a posture: on page 4962 To paste the posture: on page 4962 To copy a track from one biped to another: on page 4991 To copy the entire pose of a biped: on page 4963 To attach a mesh to a bones hierarchy using Physique: on page 5364 Applying Physique To attach a mesh to a biped using Physique: on page 5363 To adjust the default envelope shape: on page 5325 To adjust envelopes around the biped’s pelvis: on page 5326 To add a bone after you've already used Attach To Node: on page 5365 To troubleshoot bulges and tendons: on page 5368 To select and edit cross sections: on page 5327 5662 | Chapter 15 Character Animation To copy an envelope and its settings to a mirrored link (for example, from one thigh to the other): on page 5328 To copy all Bulge angles from one link to its opposite: on page 5434 To use Select Nearest Bulge Angle: on page 5436 To remove a link's influence on vertices: on page 5448 To check vertex assignments: on page 5448 To remove deformable vertices from a link's influence: on page 5448 To override vertex assignments manually: on page 5449 To make vertices rigid: on page 5450 To have a spline influence a mesh: on page 5371 To apply Physique to an FFD to animate the entire mesh: on page 5361 To use an FFD to complement the effects of Physique on a portion of a character mesh: on page 5361 To make compressible bones (bones with end effectors): on page 5310 To add a bone after Physique is applied using Reinitialize: on page 5311 To add a bone after Physique is applied using Add (Add Bone): on page 5312 To optimize skin objects: on page 5351 To reinitialize a scaled mesh: on page 5352 Bulges To create a new bulge angle using the Bulge Editor: on page 5380 To create a new bulge angle on a selected link: on page 5433 To add a cross section: on page 5382 To change the shape of a cross section: on page 5384 To make a cross section the active cross section: on page 5383 To choose a specific bulge angle for editing: on page 5381 To change a bulge angle value: on page 5381 To select multiple cross sections: on page 5383 To move cross sections along the link: on page 5383 To copy and paste cross sections: on page 5384 character studio File Formats and Index of character studio Procedures | 5663 To change the Profile view orientation: on page 5384 To delete a bulge angle: on page 5382 To delete a cross section: on page 5382 Links and Tendons To adjust joint intersection parameters: on page 5429 To create and attach a tendon: on page 5344 To attach a tendon to another link: on page 5345 To delete a tendon: on page 5346 Saving and Reusing Physique Information To save Physique data: on page 5366 To load Physique data: on page 5366 To merge a skinned biped: on page 4982 To clone a skinned biped: on page 4985 Figure Mode To work in Figure mode: on page 4836 To adjust the biped center of mass with Rubber Band: on page 4845 To rubber band an arm or leg link: on page 4845 To scale a Biped and a Physique Mesh: on page 5108 To save a biped's figure information to a file: on page 4852 To load a biped figure: on page 4852 Layers To increment all keys using layers (global offset): on page 4967 To increment an interval of keys with an envelope (blended offset): on page 4967 To increment an interval of keys without an envelope (nonblended offset): on page 4968 To use layers to reposition a biped with freeform animation: on page 4994 5664 | Chapter 15 Character Animation Props Example: To animate a biped swinging a prop with one hand: on page 4935 Example: To animate the biped switching the prop to the other hand: on page 4936 To collapse the transforms of a prop: on page 4936 Controllers and Biped To add a controller to a biped object: on page 4930 To collapse a controller: on page 4931 To add controllers to multiple biped parts at the same time: on page 4931 To animate the weights of an added controller: on page 4932 Miscellaneous To load a file created with different system units: on page 5349 To hide the finger, toe, and head dummy objects: on page 4984 To change biped display: on page 4847 To select from the screen: on page 4916 To reposition a freeform animation (with no IK attachment) or a footstep animation: on page 4992 To reposition a biped with limbs attached to an Object Space object (IK attachment): on page 4992 To reposition a biped with limbs attached to world space (IK attachment): on page 4993 To reposition a biped animated with a motion flow script: on page 4994 To scale a biped that has a mesh attached to it by using Physique: on page 5352 Facial Animation on page 5353 To isolate lip vertices from influence by inappropriate links: on page 5359 Crowd System Crowd and Delegate Helpers To create a Crowd helper object: on page 5465 To create a Delegate helper object: on page 5465 character studio File Formats and Index of character studio Procedures | 5665 To clone and scatter delegates: on page 5465 To link objects to delegates: on page 5484 To associate bipeds with delegates: on page 5485 To edit multiple delegates: on page 5536 To group delegates into a team: on page 5542 Behaviors To create a new behavior assignment: on page 5543 Example: To use assign behaviors to delegates: on page 5471 To modify an existing behavior assignment or assignments: on page 5544 To use the Avoid behavior: on page 5476 To use the Orientation behavior: on page 5481 To use the Path Follow behavior: on page 5474 To use the Repel behavior: on page 5478 To use the Seek behavior: on page 5473 To add a Vector Field space warp: on page 5478 To use a Vector Field space warp with delegates: on page 5479 To use the Speed Vary behavior: on page 5481 To use the Surface Arrive behavior: on page 5474 To use the Surface Follow behavior: on page 5475 To use the Wall Repel behavior: on page 5477 To use the Wall Seek behavior: on page 5473 To use the Wander behavior: on page 5602 Solving a Crowd Simulation To solve a simulation: on page 5482 To speed up the solution time: on page 5482 To troubleshoot the simulation: on page 5483 Cognitive Controllers To set up and use a cognitive controller: on page 5486 5666 | Chapter 15 Character Animation Testing a Modifier Parameter Testing a Particle System Parameter on page 5560 Testing an Atmospheric Property on page 5560 Testing an Object Position Testing Another Delegate's Behavior on page 5560 Testing the Distance Between Two Objects Motion Synthesis To use Motion Synthesis with non-bipedal creatures: on page 5503 Procedures: Using Bipeds in a Crowd Simulation on page 5495 Motion Mixer General To access the Motion Mixer from the Motion panel: on page 4042 To display the Motion Mixer in a viewport: on page 4043 To remove the Motion Mixer from a viewport: on page 4043 To add a biped to the Motion Mixer: on page 4047 To add a non-biped object to the Motion Mixer: on page 4047 To see the motions in the Motion Mixer on the biped in the scene: on page 4052 Loading Clips To import BIP clips from a file: on page 4050 To import clips from the Reservoir: on page 4051 To import clips from a motion flow script: on page 4051 To replace one clip with another: on page 4053 To replace a clip with motion from a biped in the scene: on page 4054 To clone a clip: on page 4054 Clip Timing To move a clip in time within a track: on page 4052 character studio File Formats and Index of character studio Procedures | 5667 To move all clips horizontally on one track: on page 4053 To move a clip to another track: on page 4053 To change the length of a clip without changing its speed: on page 4061 To change the speed of an entire clip: on page 4062 To prepare to warp a clip's time: on page 4072 To warp a clip's time: on page 4073 To add multiple time warps to a clip: on page 4075 Trackgroups To add a new trackgroup for the biped: on page 4057 To filter and name a trackgroup: on page 4058 To convert a clip track from one type to another: on page 4046 To add a Transition or Layer track to a trackgroup: on page 4046 Transitions To create a transition between two clips: on page 4067 To change the focus on a foot-based transition with Biped animation: on page 4068 To adjust a weight curve: on page 4070 Biped Balance To adjust balance using the balance track: on page 4077 To fine-tune balance compensation on the pelvis and spine: on page 4079 Saving Mixer Data To perform a mixdown and copy it to the biped: on page 4082 To save Motion Mixer data to a MIX file: on page 4083 Reservoir To access the Reservoir: on page 4086 To add clips to the Reservoir: on page 4086 To replace a clip in the Reservoir: on page 4087 5668 | Chapter 15 Character Animation To save an instanced clip to a new clip: on page 4087 To save multiple instanced clips from the Reservoir: on page 4088 To remove clips not used in the Motion Mixer from the Reservoir: on page 4088 Workbench General To display a biped body part curve in the Workbench, do one of the following: on page 5176 To hide or unhide the Tab panel: on page 5176 Workbench Panels To analyze a curve: on page 5179 To fix an individual error: on page 5184 To fix multiple errors: on page 5185 To remove keys from curves automatically: on page 5185 To filter a track: on page 5189 character studio File Formats and Index of character studio Procedures | 5669 5670 Lights and Cameras 16 Lights and cameras are scene objects that simulate their real-world counterparts. “Little Village Far, Far Away” Copyright © 2000 Eni Oken Lights provide illumination for the geometry of a scene: they can light the scene from “offstage,” or, with a little extra work, they can appear within the scene itself. Standard lights are simple and easy to use. Photometric lights are more complex, but provide a physically accurate model of real-world lighting. The Daylight and Sunlight systems create outdoor 5671 lighting that simulates sunlight based on location and time of day, month and year. You can animate the time of day to create shadow studies. Cameras frame the scene, providing a controllable point of view. You can animate camera movement. Cameras can simulate some aspects of real-world photography, such as depth-of-field and motion blur. Lights Create panel ➤ (Lights) Create menu ➤ Lights Lights are objects that simulate real lights such as household or office lamps, the light instruments used in stage and film work, and the sun itself. Different kinds of light objects cast light in different ways, emulating different kinds of real-world light sources. Airport Lounge An architectural scene with realistic lighting created by photometric lights Stephen Jager, JCJ Architecture Copyright © 2008 5672 | Chapter 16 Lights and Cameras www.jcj.com When there are no lights in a scene, the scene is shaded or rendered with default lighting. You add lights to give the scene a more realistic appearance. Lighting enhances the clarity and three-dimensionality of a scene. In addition to general lighting effects, lights can be used to project images. (See Advanced Effects Rollout on page 5817.) Light objects replace the default lighting. As soon as you create a light, the default lighting is turned off. If you delete all the lights in the scene, default lighting is turned back on. The default lighting consists of two invisible lights: one is above and to the left of the scene, and the other is below and to the right. TIP One way to begin your work on lighting a scene is to convert the default lighting into light objects by using the command Add Default Lights To Scene on page 131. NOTE A scene's lighting is also affected by the Ambient Light setting on the Environment And Effects dialog ➤ Environment panel on page 7621. Types of Lights 3ds Max provides two types of lights: photometric and standard. All types are displayed in viewports as light objects. They share many of the same parameters, including shadow generators. Photometric Lights Photometric lights on page 5707 use photometric on page 9266 (light energy) values that enable you to more accurately define lights as they would be in the real world. You can set their distribution, intensity, color temperature, and other characteristics of real-world lights. You can also import specific photometric files available from lighting manufacturers to design lighting based on commercially available lights. TIP For the most physically accurate, photorealistic lighting, use Photometric lights and the mental ray renderer on page 7129. When you render with mental ray, use Final Gather on page 7213 and the mental ray Photographic exposure control on page 7677. With this setup, you also can do lighting analysis of your model. Standard Lights Standard lights on page 5757 are computer-based objects that simulate lights such as household or office lamps, the light instruments used in stage and Lights | 5673 film work, and the sun itself. Different kinds of light objects cast light in different ways, simulating different kinds of light sources. Unlike photometric lights, Standard lights do not have physically-based intensity values. A nighttime scene that uses standard lights for atmosphere rather than realism Tips ■ You can animate not only the location of a light, but also its color, intensity and some other creation parameters. See Animating Lights on page 5697. ■ You can use the Place Highlight on page 915 command to change a light's position. See the Procedures in Working with Lights on page 5677. ■ A Light viewport on page 8753 can be a useful way to adjust lights other than omni lights. ■ To simulate sunlight, use a daylight or sunlight system on page 5852, which allows you to set the date, time, and geographic location of your model. The daylight system is photometric, while the sunlight system uses a standard directional light. NOTE The standard Skylight on page 5771 light is distinct from the photometric daylight lights. The Skylight light is for use with light tracing on page 7055. 5674 | Chapter 16 Lights and Cameras Name and Color Rollout (Lights) Create panel ➤ Color rollout (Lights) ➤ Create a light. ➤ Name and Create menu ➤ Lights ➤ Photometric Lights or Standard Lights ➤ Create a light. ➤ Modify panel ➤ Name and Color rollout Create a light. ➤ Modify panel ➤ Name and Color rollout The Name And Color rollout lets you change the name and geometry color of a light. Changing the color of the light geometry can be useful when working with many lights. For example, in a scene with many different types of lights, you could make all spotlights red, and all omni lights blue to easily distinguish them. Changing a light's geometry color has no effect on the color of the light itself. You can set the color the light emits on its Intensity/Color/Attenuation rollout on page 5738for photometric lights, or the Intensity/Color/Attenuation rollout on page 5790 for standard lights. Procedures To change the color of a light’s geometry: 1 Create or select a light in your scene. 2 On the Name And Color rollout, click the color swatch to open a Color Selector on page 304. 3 Choose a new color and click OK. To change the name of a light: 1 Create or select a light in your scene. Name and Color Rollout (Lights) | 5675 2 On the Name And Color rollout, click the name field and enter the new name, then press the Enter key. The light's name has changed. Interface Name The name of the selected light. NOTE When you rename a target-type light, the target object will be renamed to match the light. Color The color of the light’s geometry. This has no effect on the color the light emits. Using Lights These topics provide a general introduction to using lights in 3ds Max. In general, these are the reasons to use light objects: ■ To improve the illumination of a scene. The default illumination in viewports might not be bright enough, or it might not illuminate all faces of a complicated object. ■ To enhance a scene's realism through realistic lighting effects. Guidelines for Lighting on page 5688 has suggestions about making lighting appear realistic. ■ To enhance a scene's realism by having lights cast shadows. All kinds of lights can cast shadows. Also, you can selectively control whether an object casts or receives shadows. See Shadow Parameters on page 5808. ■ To cast projections in a scene. All kinds of lights can project still or animated maps. See the Projector Map group in the Advanced Effects rollout on page 5817. ■ To help model a source of illumination in the scene, such as a flashlight. 5676 | Chapter 16 Lights and Cameras Light objects don't render, so to model a source of illumination, you also need to create geometry that corresponds to the light source. Use a self-illuminating on page 9300 material to make the geometry appear as if it's emitting light. ■ To create lighting scenes using manufacturers' IES on page 5735, CIBSE on page 9116, or LTLI on page 9209 files. You can visualize commercially available lighting in your model by creating photometric lights on page 5707 based on manufacturer's photometric data files. By experimenting with different fixtures, and varying the light intensity and color temperature, you can design a lighting system that produces the results you want. See Photometric Lights: Web Distribution on page 5730. Working with Lights The procedures in this topic apply to both standard and photometric lights. Here are some general tips about working with lights: ■ One simple way to light a scene is to convert the default lighting into light objects by using the command Add Default Lights To Scene on page 131. NOTE Add Default Lights To Scene works only if you have used the Viewport Configuration dialog on page 8963 to have the scene use two default lights. ■ You can turn the display of light objects on and off with an option in the Display panel on page 8805. See the “Procedures” section, below. ■ You can change the renderability of lights in your scene using the Renderable option on the General panel on page 221 of the Object Properties dialog. ■ You can change the renderability of a group of lights in your scene using the Layer Manager on page 8537. NOTE In order to be turned on/off through the Layer Manager, lights must have their Render Options set to ByLayer in the General panel on page 221 of the Object Properties dialog. TIP To automatically set new lights as renderable ByLayer, turn on New Lights Renderable By Layer on the General panel on page 8887 of the Preferences dialog. Using Lights | 5677 ■ You can use the Place Highlight on page 915 button to change a light's position. See the “Procedures” section, below. ■ A Light viewport on page 8753can be a useful way to adjust spotlights in your scene. Procedures To create a light: 1 On the Create panel, click (Lights). 2 Choose Photometric or Standard from the drop-down list. (Photometric is the default.) 3 On the Object Type rollout, click the type of light you want to create. 4 Click a viewport to create the light. This step varies slightly depending on the type of light. For example, if the light has a target, you drag and click to set the target’s location. Light objects replace the default lighting. As soon as you create a light, the default lighting is turned off. If you delete all lights in the scene, the default lighting is restored. 5 Set the creation parameters. Like all objects, lights have a name, a color, and a General Parameters rollout. To create shadows, do one of the following: 1 In the General Parameters rollout, make sure On is checked in the Shadows group. Adjust shadow parameters in the Shadow Parameters rollout and the additional (Shadow Map on page 5846, Advanced Ray-traced on page 5828, Area Shadows, on page 5832 or Ray Traced Shadows on page 5844) shadow rollouts. 2 Right-click the light, and turn on Cast Shadows in the Tools 1 (upper-left) quadrant of the quad menu. Turning on Cast Shadows also turns on the On toggle in the Shadows group of the General Parameters rollout, and vice versa. Shadows are visible only when rendered, either in a full rendering on page 6955, in a viewport on page 5692, or with ActiveShade on page 7001. 5678 | Chapter 16 Lights and Cameras TIP To turn shadows on or off for multiple lights, select the lights and then use the Light Lister on page 5701. You can set an object to not cast or not receive shadows. By default, objects do both. See Object Properties on page 221. To control the display of light objects: On the Display panel, on the Hide By Category rollout, turn on Lights. All light objects in the scene disappear, but the lighting itself is unchanged. ■ Light objects can cast light whether or not their display is turned off. The Zoom Extents commands are affected by whether light icons are displayed or not. When lights are displayed, Zoom Extents on page 8733 and Zoom Extents All on page 8726 includes the lights in the zoom. TIP To control whether a light casts light in the scene, you can use its On toggle, or you can toggle its Renderable property on the light's Object Properties dialog on page 221. To change a light's parameters: 1 Select the light. TIP Lights can be hard to select by clicking. You can use the keyboard shortcut H to select the light by name. 2 Open the Modify panel. 3 Change the light's parameters in the General Parameters rollout and other rollouts available for that light. To position a light so it highlights a face: 1 Make sure the viewport you plan to render is active, and that the object you want to highlight is visible in it. Using Lights | 5679 The result of Place Highlight depends on what is visible in the viewport. 2 Select a light object. 3 On the main toolbar, choose flyout on page 905. (Place Highlight) from the Align You can also choose Tools menu ➤ Place Highlight. 4 Drag over the object to place the highlight. When you place an omni light on page 5769, free direct light on page 5767, or a photometric Free Light on page 5712, 3ds Max displays a face normal for the face the mouse indicates. When you place a target direct light on page 5764 or photometric Target Light on page 5709, 3ds Max displays the light’s target and the base of its cone. 5 Release the mouse when the normal or target display indicates the face you want to highlight. The light now has a new position and orientation. You can see the highlight illumination in shaded viewports that show the face you chose, and when you render those views. Place Highlight on page 915 works with any kind of selected object. You can also use Place Highlight with a selection set of multiple objects. All objects maintain their initial distance from the face. NOTE For materials, highlight rendering depends on the material's specular properties and the type of rendering you use. Properties of Light This topic describes light in the real world. When you light a scene, it can be helpful to know how light naturally behaves. When light rays strike a surface, the surface reflects them, or at least some of them, enabling us to see the surface. The appearance of a surface depends on the light that strikes it combined with the properties of the surface material, such as color, smoothness, and opacity. 5680 | Chapter 16 Lights and Cameras Materials on page 5982 let you specify the visual properties of surfaces. Intensity The intensity of light at its point of origin affects how brightly the light illuminates an object. A dim light cast on a brightly colored object shows only dim colors. Left: A room lit by candles, which are a low-intensity source. Right: The same room lit by a higher-intensity light bulb. Angle of Incidence The more a surface inclines away from a light source, the less light it receives and the darker it appears. The angle of the surface normal relative to the light source is known as the angle of incidence. When the angle of incidence is 0 degrees (that is, the light source strikes the surface perpendicularly), the surface is illuminated with the full intensity of the light source. As the angle of incidence increases, the intensity of illumination decreases. Using Lights | 5681 Angle of incidence affects intensity. Attenuation In the real world, light diminishes over distance. Objects far from the light source appear darker; objects near the source appear brighter. This effect is known as attenuation. In nature, light attenuates at an inverse square rate. That is, its intensity diminishes in proportion to the square of the distance from the light source. It is common for attenuation to be even greater when light is dispersed by the atmosphere, especially when there are dust particles in the atmosphere, or fog or clouds. 5682 | Chapter 16 Lights and Cameras A. Inverse decay B. Inverse square decay The graphs show the decay curves. Reflected Light and Ambient Light The light an object reflects can illuminate other objects. The more light a surface reflects, the more light it contributes to illuminating other objects in its environment. Reflected light creates ambient light. Ambient light has a uniform intensity and is uniformly diffuse. It has no discernible source and no discernible direction. Using Lights | 5683 A. Direct light B. Reflected light C. Resulting ambient light Color and Light The color of light depends partly on the process that generates the light. For example, a tungsten lamp casts orange-yellow light, a mercury vapor lamp casts cold blue-white light, and sunlight is yellow-white. Light color also depends on the medium the light passes through. For example, clouds in the atmosphere tint daylight blue, and stained glass can tint light a highly saturated color. Light colors are additive colors; the primary light colors are red, green, and blue (RGB). As multiple colored lights mix together, the total light in the scene gets lighter and eventually turns white. 5684 | Chapter 16 Lights and Cameras Additive mixing of colored lights Color Temperature Color temperature describes a color in terms of degrees Kelvin (K). This is useful for describing the color of light sources and other color values that are close to white. The following table shows color temperatures for some common types of light, with the equivalent hue number (from the HSV color description). If you use these hue numbers for lights in a scene, set the value to full (255) and then adjust the saturation to meet the needs of your scene. Mentally we tend to correct light color so that objects appear to be lit by white light; usually the effect of color temperature in a scene should be subtle. Light source Color Temper- Hue ature Overcast daylight 6000 K 130 Noontime sunlight 5000 K 58 White fluorescent 4000 K 27 Tungsten/halogen lamp 3300 K 20 Using Lights | 5685 Light source Color Temper- Hue ature Incandescent lamp (100 to 200 W) 2900 K 16 Incandescent lamp (25 W) 2500 K 12 Sunlight at sunset or sunrise 2000 K 7 Candle flame 1750 K 5 Lighting in 3ds Max Lighting in 3ds Max simulates natural lighting. However, standard lights are simpler than natural lighting. Using photometric lights on page 5707 with a radiosity solution on page 7068 with your lights provides a better model of the real world. Intensity The intensity of a standard light is its HSV Value. At full value (255), the light is at its brightest; at 0, the light is completely dark. NOTE See Designing Materials on page 5982 for more information about material color and how it interacts with light intensity. The intensity of a photometric light is set by a real-world intensity value, measured in either lumens, candelas, or lux. See Intensity/Color/Attenuation Rollout (Photometric Lights) on page 5738. Angle of Incidence 3ds Max uses a vector from the light object to the face, along with the face normal, to calculate the angle of incidence. A surface is fully illuminated when the angle of incidence is 0 degrees (that is, the light source strikes the surface perpendicularly). If the angle of incidence increases, attenuation is in effect, or if the light has a color, the surface intensity can be reduced. In other words, the position and orientation of the light, relative to the object, are what control the angle of incidence in a scene. The Place Highlight command on page 915 is one way to fine-tune the location of a light. 5686 | Chapter 16 Lights and Cameras Attenuation For standard lights, attenuation on page 9098 is turned off by default. To shade or render a scene with attenuation, you turn it on for one or more lights. All types of standard lights support attenuation. You can set explicitly where attenuation begins and where it ends. This is partly so you don’t have to worry about setting up strictly realistic distances between light objects and the objects they illuminate. More importantly, this feature lets you fine-tune the effect of attenuation. In outdoor scenes, attenuation can enhance the effect of distance. (Another way to model environmental effects is to use the atmospheric settings when you render. See Environment and Atmosphere Effects on page 7620.) In an indoor setting, attenuation is useful for low-intensity light sources such as candles. Photometric lights always attenuate, using an inverse-square falloff, as in nature. (In the case of the IES Sun Light, its great intensity makes its attenuation hardly apparent.) Reflected Light and Ambient Light Rendering with the default renderer and standard lights does not calculate the effect of lights reflected from objects in the scene. Because of this, lighting a scene with standard lights often requires you to add more light objects than would be needed in real life. You can, however, use radiosity on page 7068 to show the results of reflected light. When you do not use a radiosity solution, you can use the Environment panel on page 7621 to adjust the color and intensity of ambient light. Ambient light affects contrast. The higher the intensity of ambient light, the lower the contrast in the scene. The color of ambient light tints the scene. Sometimes ambient light is bounced light that gets its color from other objects in the scene. Most of the time, however, the color of ambient light should be the complement of the color of the principal light source for the scene. TIP To better simulate reflected light and variations in it due to the varying reflectivity of objects in the scene, you can add more lights to a scene and set them to exclude the objects you don’t want them to affect. You can also set up lights to affect only the ambient component of surfaces. See General Lighting Parameters on page 5783. Color You can set the color of 3ds Max lights. You can use the RGB values for color temperatures as a guide for the principal lighting of a scene; see Properties of Using Lights | 5687 Light on page 5680. Be aware, however, that we tend to perceive scenes as always being lit by white light (this is a perceptual phenomenon known as color constancy), so accurately reproducing the color of a light source can make the rendered scene appear to be tinted oddly. Use the light source values as a general guideline only. Guidelines for Lighting The guidelines for lighting used by photographers, filmmakers, and stage designers can also help you set up the lighting for scenes in 3ds Max. Your choice of lighting depends on whether your scene simulates natural or artificial illumination. Naturally lit scenes, such as daylight or moonlight, get their most important illumination from a single light source. Artificially lit scenes, on the other hand, often have multiple light sources of similar intensity. NOTE If you use standard instead of photometric lights, both kinds of scenes require multiple secondary light sources for effective illumination. Whether a scene is indoors or outdoors can also affect your choice of material colors. See Designing Materials on page 5982. Natural Light Outdoor scene with natural sunlight 5688 | Chapter 16 Lights and Cameras At ground level, for practical purposes, sunlight has parallel rays coming from a single direction. The direction and angle vary depending on the time of day, the latitude, and the season. In clear weather, the color of sunlight is a pale yellow: for example, RGB values of 250, 255, 175 (HSV 45, 80, 255). Cloudy weather can tint sunlight blue, shading into dark gray for stormy weather. Particles in the air can give sunlight an orange or brownish tint. At sunrise and sunset, the color can be more orange or red than yellow. 3ds Max provides several daylight systems to simulate the sun. See Sunlight and Daylight Systems on page 5852. A single daylight system is appropriate as the main light source for sunlit scenes. When rendering with mental ray, you can gather skylight from a daylight system efficiently into an interior with the mr Sky Portal on page 5898. Shadows are more distinct the clearer the day is, and can be essential for bringing out the three-dimensionality of a naturally lit scene. A directional light can also simulate moonlight, which is white but dim compared to the sun. Artificial Light Outdoor scene with natural twilight and one streetlight Using Lights | 5689 Artificial light, whether used indoors or outdoors at night, uses multiple lights. The following guidelines are for creating normally lit, easily legible scenes. You don’t have to follow the guidelines, of course, but then you call attention to the lighting itself, rather than to the subject of the scene. The subject of a scene should be lit by a single bright light, known as the key light. Position the key light in front of the subject and slightly above. In addition to the key light, position one or more other lights to illuminate the background and the side of the subject. These are known as fill lights. Fill lights are less bright than the key light. When you use only one fill light, the angle at ground level between it, the subject, and the key light should be approximately 90 degrees. Key-and-fill lighting emphasizes the subject of a scene. It also emphasizes the three-dimensionality of the scene. In 3ds Max, a spotlight is usually best for the key light, and either spotlights or omni lights are good for creating the fill lighting. See Target Spot on page 5758, Free Spot on page 5761, and Omni on page 5769. Ambient light can be another element of your fill lighting. You can also add lights to emphasize secondary subjects in a scene. In stage terminology, these lights are known as specials. Special lights are usually brighter than the fill light but less bright than the main key light. To design using physically based energy values, distributions, and color temperature, you can create photometric lights on page 5707. Ambient Light Left: No ambient light Middle: Default ambient light Right: User-adjusted ambient light 5690 | Chapter 16 Lights and Cameras Ambient light in 3ds Max simulates the general illumination from light reflecting off diffuse surfaces. Ambient settings determine the illumination level of surfaces in shadow, or those not receiving direct illumination from light sources. The Ambient level on the Environment dialog establishes the scene’s basic illumination level before any light sources are taken into account, and is the dimmest any portion of the scene can ever become. Ambient light is most often used for exterior scenes, when the sky’s broad lighting produces an even distribution of reflected light to surfaces not in direct sun. A common technique for deepening the shadows is to tint the ambient light color to be the complement of the scene’s key light. Unlike the outside, interior scenes typically have numerous lights, and a general ambient light level is not ideal for simulating the diffuse reflection of local light sources. For interiors, it’s common to set the scene’s environment ambient level to black, and use lights that effect ambient only to simulate the regional areas of diffuse reflection. You set the scene’s ambient light using the Environment And Effects dialog ➤ Environment panel on page 7621. You set a light to affect only ambient illumination with its Advanced Effects rollout on page 5817 ➤ Ambient Only check box. Positioning Light Objects Once you have placed lights in your scene, you can use transforms to change a light's position or orientation. Transforming Lights Use transforms on light objects as follows: Move: Use Move on page 851 to change the position of lights. You can also use it to change the position of light targets. Rotate: Use Rotate on page 852 to change the orientation of lights. NOTE You can't rotate a target light about its local X or Y axes. Instead, use Move to move the light or its target. Rotating the light about its local Z axis can be useful if the light uses a rectangular beam or projects a bitmap. Using Lights | 5691 Rotating a plain omni light or a photometric light with spherical distribution has no effect, as these lights cast light uniformly in all directions. However, rotating an omni light or a spherical light with projection causes the projected image to rotate. Scale: Scaling Point, Linear, or Area lights has no effect. Using Scale on page 855 with spotlights and directional lights changes the size of their light beam and attenuation ranges. Scaling omni lights changes only the attenuation ranges. Scaling photometric lights changes their attenuation rate. Light viewports on page 8753 are another convenient way to transform and change parameters of spotlights and directional lights. TIP When you adjust lights, it can be useful to turn off Adaptive Degradation on page 104. If Adaptive Degradation is on and shaded viewports begin to display in wireframe, you won't see the result of the changes you make to lights. Placing Highlights You use Place Highlight on page 915 to position a light to create a specular highlight at a designated point on an object. Place Highlight is one of the buttons on the Align flyout. Place Highlight moves or rotates the selected light object to aim it at a face on an object you pick. The light maintains its original distance from the face. Place Highlight works with any kind of selected object. You can also use Place Highlight with a selection set that contains more than one object. All objects maintain their initial distance from the face. Previewing Shadows and Other Lighting in Viewports You can preview shadows in shaded viewports. To do so, you must be using the Direct3D driver (see Graphics Driver Setup Dialog on page 8901) and your system must have a graphics card that supports the SM (Shader Model) 2.0 or 3.0 standard. TIP You can check whether your system supports interactive shadows by choosing Help menu ➤ Diagnose Video Hardware on page 135. In Autodesk 3ds Max 2011, with SM3.0 hardware shading, viewports can preview soft-edged shadows as well as hard-edged shadows. They can also preview ambient occlusion on page 6308 and exposure control on page 7665 as well as lighting and shadows. See Lighting and Shadows on page 8980 for more information. 5692 | Chapter 16 Lights and Cameras Shaded viewport with no shadows, no exposure control Shaded viewport with exposure control and hard-edged shadows Using Lights | 5693 Shaded viewport with exposure control and soft-edged shadows If the light is a photometric light that uses an area for shadow casting, the viewport preview can show area shadows. Area shadows are not on by default: to enable them, enter the following line in the MAXScript Listener on page 8817: viewportSSB.AreaShadow = True NOTE For area shadows to display, Soft Shadow must be enabled in the Viewport Configuration ➤ Lighting And Shadows panel on page 8980. Soft Shadow requires SM3.0-level hardware shading. 5694 | Chapter 16 Lights and Cameras Viewport shadows cast by a light with a disc-shaped area Viewport display of area shadows is not necessarily accurate. In general, lighting and shadow previews in viewports are a convenience. These settings and the viewport appearance don’t necessarily match what will happen when you render. Shadows don’t appear in a viewport if they wouldn’t appear in a rendering; for example, if an object is set to not cast or receive shadows, it won’t do so in viewports, and if a light is turned off or is not shadow casting, then it has no effect on the viewport display. Using Lights | 5695 Hardware-shaded viewport with shadows but no Ambient Occlusion Hardware-shaded viewport with shadows and Ambient Occlusion With AO, shadows appear denser and more realistic. Roboball animation: Tyson Ibele www.tysonibele.com Procedures To set up viewports for previewing shadows, enable hardware shading by doing one of the following: ■ Click or right-click the Shading viewport menu label. From the Shading viewport label menu on page 8719, choose Lighting And Shadows ➤ Enable Hardware Shading (if it is not turned on already). 5696 | Chapter 16 Lights and Cameras ■ In the Viewport Configuration dialog ➤ Lighting And Shadows panel on page 8980 ➤ Illuminate Scene With group, turn on Enable Hardware Shading. Also on the Lighting And Shadows panel, in the Quality / Hardware Support group, you can choose the hardware shading level: either Good or Best. Good displays shadows using SM2.0, and Best displays shadows using SM3.0. To view shadows in a viewport: 1 Click or right-click the Shading viewport menu label. From the Shading viewport label menu on page 8719, choose Lighting And Shadows ➤ Enable Shadows to turn it on. 2 Select a light. 3 Right-click a viewport, and on the Tools 1 (upper-left) quadrant of the quad menu on page 8651, choose Cast Shadows to turn on shadows. To turn on shadows for multiple lights: 1 On the main menu. choose Tools ➤ Light Lister on page 5701. 2 In the Light Lister dialog, turn on the Shadows toggle for each light object you want to cast shadows. If you have already enabled shadows in a viewport, their display updates immediately. Animating Lights You animate lights by using transforms or changing creation parameters on different keyframes while the Auto Key button on page 8679 is on. During animation, light transforms and parameter values are interpolated between keyframes. Moving and Rotating Light Objects You can use the following methods to move and rotate light objects. ■ Move an omni light on page 5769 when it’s a "practical" light within a scene (a light that appears in the scene itself). Combine the light with a self-illuminating geometric object. If you want to move a target type of light, select both the light and its target to animate them together. Using Lights | 5697 ■ Move a Photometric Preset light, or a Free or target light when it’s a "practical" light within a scene (a light that appears in the scene itself). Combine the light with a self-illuminating geometric object. If you want to move a target type of light, select both the light and its target to animate them together. ■ Use a free spotlight on page 5761 when a spotlight is to move within the scene. Free spotlights are especially intended to be animated along a path, using a Path constraint on page 3629. Unlike target spotlights, free spotlights can bank as they travel. Use target spotlights on page 5758 when the light position is fixed. ■ If you do need to move a target spotlight, link both the light and its target to a dummy object on page 2871, then assign the path constraint to the dummy object. ■ Use a LookAt Constraint on page 3619 to have a spotlight track a moving object. If the spotlight is a target spotlight, its previous target is ignored. If the spotlight is a free spotlight, it effectively becomes a target spotlight, with the looked-at object the target. ■ Change the parameters of a daylight system on page 5852 or sunlight system to simulate different times of day or year. Animating Light Creation Parameters The following techniques can be used to animate Modify panel parameters for lights. ■ To dim or brighten a light over time, animate its Multiplier parameter. ■ To dim or brighten a standard light over time, animate its Multiplier value or Filter Color parameter. ■ To change the color of a light over time, animate its color parameters. Use a smooth tangent on page 3449 for color change keys unless you want the color to change abruptly. ■ To make a standard light flash on and off, set its Multiplier to 0 in repeated keyframes, and assign a step tangent on page 3449 to this parameter. 5698 | Chapter 16 Lights and Cameras Light Include/Exclude Tool By default, the Light Include/Exclude tool is unavailable in the 3ds Max user interface. You can add it as a custom keyboard shortcut, quad or menu item, or toolbar button by using the Customize User Interface dialog on page 8837. The Light Include/Exclude tool is a modeless dialog that lets you include or exclude objects on a light-by-light basis. When excluded, an object is not illuminated by the selected light and receives no shadows. This dialog requires at least one light object in your scene. For a selected light, this dialog is a shortcut to the same functionality available on the Exclude/Include dialog on page 5805. Although light exclusion does not occur in nature, this feature is useful when you need exact control over the lighting in your scene. Sometimes, for example, you'll want to add lights specifically to illuminate a single object but not its surroundings, or you'll want a light to cast shadows from one object but not from another. NOTE By default, no objects are excluded for a new light. It’s necessary only to include objects that have previously been excluded. See also: ■ Lights on page 5672 ■ Light Lister on page 5701 Procedures To exclude an object from receiving light: 1 In the scene, select the object or objects to exclude. 2 Open the Light Incl/Exl dialog. See the path annotation, above. To use the Light Include/Exclude tool, you have to create a custom keyboard shortcut, quad or menu item, or toolbar button. 3 In the Geometry group, choose Exclude. 4 Click the Assign To Light button. Using Lights | 5699 5 In the scene, click a light. If the light is hard to locate, use the Pick Object dialog on page 184(keyboard shortcut H) to pick the light. The object is now excluded from the light. The Objects list at the bottom of the dialog lists the object. 6 Render to see the effect. Interface 5700 | Chapter 16 Lights and Cameras Geometry group Include, Exclude Toggles the state of a selected object to receive light from a particular light object. Default=include. Assign to Light Activates selection so you can choose the light you want to use. You can only choose one light at a time. List Light Properties group These controls let you view and edit the include/exclude status of objects on a light-by-light basis. Current displayed light Names the currently selected light. Choose Light Activates selection so you can choose another light. Clear Light Empties the Objects list, removing any included or excluded objects assigned to the currently displayed light. Include, Exclude Reverses the state of included or excluded objects to receive light from the currently displayed light. Objects Lists objects selected for inclusion or exclusion by the currently displayed light. Help Provides a quick reminder of procedures. Light Lister Tools menu ➤ Light Lister The Light Lister is a modeless dialog that lets you control a number of features for each light. You can also make global settings that affect every light in your scene. To display information, this dialog requires at least one light object in your scene. For a selected light, this dialog is a shortcut to the same functionality available on the Modify panel ➤ Parameters rollout. Global settings are duplicated on the Environment panel on page 7621. NOTE The Light Lister cannot control more than 150 unique light objects at a time (instances of a light don't count). If there are more than 150 unique lights in your scene, the Lister displays controls for the first 150 it finds, and a warning that you should select fewer lights. Select fewer lights and then use the Selected Lights configuration. Using Lights | 5701 See also: ■ Light Include/Exclude Tool on page 5699 Procedures To use global settings: 1 On the Light Lister dialog, on the Configuration rollout, choose General Settings. The General Settings rollout appears. 2 Make changes to the settings. See Interface, below. To set individual lights: 1 On the Configuration rollout, choose All Lights. The Lights rollout displays settings for all the scene lights (subject to the limit of 150 lights described above). Alternatively, you can select the lights to adjust, and then on the Configuration rollout choose Selected Lights. TIP If you change the light selection, the Light Lister does not update interactively. Click Refresh to update the list. 2 On the Lights rollout, change the settings for any light on the list. See Interface, below. Some changes show up immediately in the viewport. Interface Configuration rollout Chooses which lights and controls to affect, and lets you update light settings. All Lights The Lights rollout shows all lights in the scene (subject to the 150-light restriction, described above). Selected Lights The Lights rollout shows only selected lights. General Settings Displays the General Settings rollout. 5702 | Chapter 16 Lights and Cameras Refresh Updates the list of lights to use the current light selection (if Selected Lights is active) and current scene settings. NOTE When the Light Lister needs to be updated, the Refresh button is highlighted in yellow. General Settings rollout These controls are for general lighting settings. ■ Selected LightsWhen chosen, general settings affect only selected lights. ■ All LightsWhen chosen, general settings affect all lights in the scene (subject to the 150-light restriction, described above). On When on, affected lights are active in the scene. When off, affected lights go dark in the viewports and renderings. Multiplier Increases or decreases the light intensity of standard lights. See General Lighting Parameters on page 5783 for standard lights. Color By default, the color of all standard lights is white. Click to display the Color Selector on page 304 and change the light color for affected lights. WARNING For photometric lights, this changes the filter color, not the color temperature. Shadows When on, affected lights cast shadows. When off, they don't cast shadows. Shadow type drop-down list Selects the shadow type for affected lights. Map Size Sets the size (in pixels squared) of the shadow map used by affected lights. Bias Setting depends on which shadow type is selected. In general, bias moves the shadow toward or away from the shadow-casting object. For specific effects, see Shadow Map Parameters on page 5846 and Ray-Traced Shadow Parameters on page 5844. Using Lights | 5703 Sm. Range (Sample Range) For shadow-mapped shadows, sets the Sample Range value. See Shadow Map Parameters on page 5846. This value has no effect for ray-traced or area shadows. Transp. (Transparency) When on, turns on transparency for advanced ray-traced and area shadows. Has no effect on shadow-mapped or standard ray-traced shadows. Default=off. Int. (Integrity) For advanced ray-traced shadows or area shadows, sets the Shadow Integrity. See Advanced Ray-Traced Parameters Rollout on page 5828 or Area Shadows Rollout on page 5832. Qual. (Quality) For advanced ray-traced shadows or area shadows, sets the Shadow Quality. See Advanced Ray-Traced Parameters Rollout on page 5828 or Area Shadows Rollout on page 5832. Decay (For standard lights.) Sets the type of decay: None, Inverse, or Inverse Square. See Intensity/Color/Attenuation Parameters on page 5790. Start (For standard lights.) Sets the start range for decay. See Intensity/Color/Attenuation Parameters on page 5790. Length (For photometric lights.) Sets the Length value for Line and Rectangle lights. See Shape/Area Shadows Rollout on page 5748. Width (For photometric lights.) Sets the Width value for Rectangle lights. See Shape/Area Shadows Rollout on page 5748. _____ Global Tint Adds a color tint to all lights in the scene except ambient light. Click to use the Color Selector on page 304. The tint is in addition to the global light color, or the color of individual lights. The default setting, white, has no tinting effect. Global Level Increases or decreases the overall lighting level for Standard lights. Default=1.0. NOTE This setting, designed for standard lights, reduces the level of photometric lights to near darkness. If you have photometric lights in your scene, leave this setting at the default. Ambient Color Changes the ambient color on page 9089, the color seen in shadows. Click to use the Color Selector on page 304. 5704 | Chapter 16 Lights and Cameras Lights rollout This rollout is visible while All Lights or Selected Lights is active on the Configuration rollout. Its controls are for individual light objects. This rollout displays two lists: one for standard lights, and another for photometric lights. Blank gray button (Select) Click to select the named light. This button turns white for selected lights. Selecting a light opens the Modify panel for that light. This button has a gray box in the middle for the light that appears in the Modify panel. The gray box appears whether the light is selected or not. Clicking Select deselects all other lights. If the entry is for an instanced light, clicking Select selects all instances (see the description of the Name field that follows). If the light is part of a group, the entire group is selected. If you are in Selected Lights mode (on the Configuration rollout), the list of selected lights is not refreshed automatically. NOTE You can set the controls for a light without selecting it. Check box Turns the light on or off. Default=on. Name Shows the name of the light object. If there are multiple instances of a light, only one entry appears in the Light Lister, and the Name field becomes a drop-down list. The list lets you see the names of all instances, but it has no other effect: parameter changes made in the Light Lister affect all instances of the light. Multiplier (Standard lights only.) Increases or decreases the intensity of the light. Default=1.0. NOTE This control is unavailable if the light has a procedural controller. Intensity (Photometric lights only.) Sets the light intensity, in candelas. Default=1500.0. NOTE This control is unavailable if the light has a procedural controller. Color Click to display the Color Selector on page 304 and change the light color. Default=white. Using Lights | 5705 WARNING For photometric lights, this changes the filter color, not the color temperature. Shadows Turns shadow casting on or off. Default=on. Shadow type drop-down list Selects the shadow type for the light. Map Size Available only when shadow map shadows is on. Sets the size (in pixels squared) of the shadow map used by all lights. Bias Setting depends on which shadow type is selected. In general, bias moves the shadow toward or away from the shadow-casting object. See Shadow Map Parameters on page 5846 and Ray-Traced Shadow Parameters on page 5844 for specific effects. Sm. Range For shadow-mapped shadows, sets the Sample Range value. See Shadow Map Parameters on page 5846. This value has no effect for ray-traced shadows. Default=4.0. Transp. (Transparency) When on, turns on transparency for advanced ray-traced and area shadows. Has no effect on shadow-mapped or standard ray-traced shadows. Default=off. The shadow transparency control is on the Optimizations rollout on page 5839. Int. (Integrity) For advanced ray-traced shadows or area shadows, sets the Shadow Integrity. See Advanced Ray-Traced Parameters Rollout on page 5828 or Area Shadows Rollout on page 5832. Default=1. Qual. (Quality) For advanced ray-traced shadows or area shadows, sets the Shadow Quality. See Advanced Ray-Traced Parameters Rollout on page 5828 or Area Shadows Rollout on page 5832. Default=2. Decay (Standard Lights only.) Sets the type of decay: None, Inverse, or Inverse Square. See Attenuation Parameters on page 5790. Default=None. Start (Standard lights only.) Sets the start range for decay. See Attenuation Parameters on page 5790. Default=0.0. Length (Photometric lights only.) Sets the Length value for Line and Rectangle photometric lights. See Shape/Area Shadows Rollout on page 5748. Width (Photometric lights only.) Sets the Width value for Rectangle photometric lights. See Shape/Area Shadows Rollout on page 5748 . 5706 | Chapter 16 Lights and Cameras Photometric Lights Photometric lights use photometric on page 9266 (light energy) values that enable you to more accurately define lights as they would be in the real world. You can create lights with various distribution and color characteristics, or import specific photometric files available from lighting manufacturers. NOTE Photometric lights always attenuate using an inverse-square falloff, and rely on your scene using realistic units. When you create lights from the Create panel, photometric lights appear as the default. 3ds Max includes the following types of photometric light objects: Target Light (Photometric) on page 5709 Free Light (Photometric) on page 5712 mr Sky Portal on page 5898 NOTE The remainder of this section discusses standard photometric lights, target and free. It does not discuss the mr Sky Portal on page 5898. Additional photometric light types are provided as part of the Daylight system; see Sunlight and Daylight Systems on page 5852. Distribution Capabilities of Photometric Lights You can choose how a photometric light is distributed. This can model how the light is generated and how it is mounted. There are four options: ■ Uniform Spherical on page 5726 ■ Uniform Diffuse on page 5727 ■ Spotlight on page 5728 ■ Photometric Web on page 5730 Photometric Lights | 5707 The drop-down list that lets you choose the distribution type appears on the General Parameters rollout on page 5720 for photometric lights. In viewports, Uniform distribution is represented by a small sphere (the position of the sphere indicates whether the distribution is Spherical or Hemispherical), Spotlight distribution is represented by a cone, and Web distribution is represented as the shape of the web. Light Shapes for Shadow Generation While your distribution choice affects how light is spread throughout the scene, the light shape affects the way objects cast shadows. This setting is an independent choice. In general, larger areas cast softer shadows. There are six options: ■ Point Objects cast shadows as if the light were emitted from a single geometric point, like a naked lightbulb. ■ Line Objects cast shadows as if the light were emitted from a line, like a fluorescent tube. ■ Rectangle Objects cast shadows as if the light were emitted from a rectangular area, like a skylight. ■ Disc Objects cast shadows as if the light were emitted from a disc, like a circular porthole. ■ Sphere Objects cast shadows as if the light were emitted from a sphere, like a globular lighting fixture. ■ Cylinder Objects cast shadows as if the light were emitted from a cylinder, like a tubular lighting fixture. You choose the light shape on the Shape/Area Shadows rollout on page 5748. Lights from Older Scenes Prior to 3ds Max 2009, there were several types of photometric light, based on the light shape for shadow calculation. There are now just the two types of photometric light, Target and Free, and you choose the shape for shadow casting independently of the light type. 5708 | Chapter 16 Lights and Cameras When you open a scene created in an earlier version of 3ds Max, the scene’s photometric lights are converted to their equivalent in the new scheme. For example, a Target Linear Light with Isometric distribution becomes a Target Light with Line shadows and Uniform Spherical distribution. No information is lost, and the light behaves as it did in prior releases. Parameters for Photometric Lights The parameters specific to photometric lights are described in Rollouts for Photometric Lights on page 5714. Other photometric light parameters are shared with standard lights, and are described in the following topics: Name and Color Rollout (Lights) on page 5675 Common Lighting Rollouts and Dialogs on page 5805 Shadow Types and Shadow Controls on page 5825 Notes ■ A scene's lighting can also be affected by the Ambient Light setting on the Environment panel on page 7621. ■ You can use the Place Highlight on page 915 command to change a light's position. ■ You can use templates on page 5714 to create lights that have the properties of common lamp types. Target Light (Photometric) Create panel ➤ (Lights) ➤ Photometric ➤ Target Light button Create menu ➤ Lights ➤ Photometric Lights ➤ Target Light. A target light has a target sub-object that you can use to aim the light. Photometric Lights | 5709 Viewport representations of Target lights with spherical, spotlight, and web distribution NOTE When you add a Target light, 3ds Max automatically assigns a Look At controller on page 3533 to it, with the light's target object assigned as the Look At target. You can use the controller settings on the Motion panel to assign any other object in the scene as the Look At target. NOTE When you rename a Target Point light, the target is automatically renamed to match. For example, renaming TPhotometricLight01 to Klieg causes TPhotometricLight01.Target to become Klieg.Target. The target's name must have the extension .Target. Renaming the target object does not rename the light object. Procedures To create a Target light: 1 On the Create panel, click (Lights). 2 Choose Photometric from the drop-down list. (This is the default.) 3 In the Object Type rollout, click Target Light. 4 Drag in a viewport. The initial point of the drag is the location of the light, and the point where you release the mouse is the location of the target. The light is now part of the scene. 5 Set the creation parameters. You can use the Move transform to adjust the light’s position and direction. 5710 | Chapter 16 Lights and Cameras To select the target: The target, displayed as a small square, is often in the same area as objects that you want to illuminate. It can be difficult to select it by clicking. 1 First, select the target point light. 2 Right-click the light and from the quad menu on page 8640, choose Select Target. You can also choose Lights from the Selection Filters list on the main toolbar, and then click the target. Clicking the line that connects the light and its target selects both objects. To adjust the light and target position: 1 Select the light or target or both. 2 On the main toolbar, turn on to adjust the light. (Select And Move). Drag the selection You can also right-click the light and choose Move from the quad menu ➤ Transform quadrant. Because the light is always aimed at its target, you can't rotate it about its local X or Y axes. However, you can select and move the target object as well as the light itself. When you move either the light or the target, the light's orientation changes so it always points at the target. You can use the Place Highlight on page 915 command to change a light's position. For target lights with spotlight distributions, you can also adjust the light using a Light viewport on page 8753. To change a viewport to a light view: NOTE The viewport can only be set to a light view when the target light’s distribution is spotlight. 1 Click or right-click the Point-Of-View viewport label. Photometric Lights | 5711 3ds Max opens the POV viewport label menu on page 8712. 2 Choose Lights. 3ds Max opens a submenu that shows the name of each light. By default, Target lights are named TPhotometricLight01, TPhotometricLight02, and so on. 3 Choose the name of the light you want. The viewport now shows the light's point of view. You can use the Light viewport on page 8753 controls to adjust the light. TIP The default keyboard shortcut for Light viewports is $. Free Light (Photometric) Create panel ➤ (Lights) ➤ Photometric ➤ Free Light button Create menu ➤ Lights ➤ Photometric Lights ➤ Free Light. A free light has no target sub-object. You can aim it by using transforms. Viewport representations of a Free light with spherical, spotlight, and web distribution Procedures To create a Free light: 1 On the Create panel, click (Lights). 2 Choose Photometric from the drop-down list. (This is the default.) 3 On the Object Type rollout, click Free Light. 5712 | Chapter 16 Lights and Cameras 4 Click the viewport location where you want the light to be. The light is now part of the scene. Initially it points away from you in the viewport you clicked (down the negative Z-axis of the viewport). 5 Set the creation parameters. You can position the light on page 5691 and adjust its direction with the transform tools or by using a Light viewport. You can also adjust the light's position with the Place Highlights on page 915 command. To adjust the light position: 1 Select the light. 2 On the main toolbar, turn on (Select And Move) or (Select And Rotate). Drag the selection to adjust the light. You can also right-click the light and choose Move or Rotate from the quad menu ➤ Transform quadrant. TIP You can also adjust the light's position with the Place Highlight on page 915 command. To change a viewport to a light view: NOTE This is available only for lights with Spot distribution. 1 Click or right-click the Point-Of-View (POV) viewport label. 3ds Max opens the POV viewport label menu on page 8712. 2 Choose Lights. 3ds Max opens a submenu that shows the name of each light. By default, Free Point lights are named PhotometricLight01, PhotometricLight02, and so on. 3 Choose the name of the light you want. The viewport now shows the light's point of view. You can use the Light Viewport Controls on page 8753 to adjust the light. TIP The default keyboard shortcut for Light viewports is $. Photometric Lights | 5713 Rollouts for Photometric Lights The topics in this section describe rollouts whose controls are specific to photometric lights. See also: ■ Name and Color Rollout (Lights) on page 5675 ■ Common Lighting Rollouts and Dialogs on page 5805 ■ Shadow Types and Shadow Controls on page 5825 Templates Rollout Create panel ➤ ➤ (Lights) ➤ Photometric ➤ Create a light. Modify panel ➤ Templates rollout Create menu ➤ Lights ➤ Photometric Lights ➤ Create a light. ➤ Modify panel ➤ Templates rollout The Templates rollout lets you choose from among a variety of preset light types. In general, when you create lights for a new scene (as opposed to using an existing 3ds Max scene), we recommend that you do one of the following: ■ Choose a light from the template list. ■ Download a light description from a lighting manufacturer’s Web site. See Web Distribution (Photometric Lights) on page 5730. ■ Use the lights provided with the model that was created in AutoCAD, Revit, or another application that provides photometric lights. 5714 | Chapter 16 Lights and Cameras Interface Select a Template Use this drop-down list to choose the kind of light you want to use. 3ds Max offers these selections: ■ 40 Watt (W) bulb ■ 60W bulb ■ 75W bulb ■ 100W bulb ■ Halogen spotlight ■ 21W halogen bulb ■ 35W halogen bulb ■ 50W halogen bulb ■ 75W halogen bulb ■ 80W halogen bulb ■ 100W halogen bulb ■ Recessed 75W lamp (web) ■ Recessed 75W wallwash (web) ■ Recessed 250W wallwash (web) ■ 4 ft. pendant fluorescent (web) ■ 4 ft. cove fluorescent (web) ■ Street 400W lamp (web) ■ Stadium 1000W lamp (web) Photometric Lights | 5715 When you choose a template, the parameters of the light update to use the values of that light, and the text area above the list displays a description of the light. If you choose a category heading instead of a light type, the text area prompts you to choose an actual light. Common Lamp Values for Photometric Lights The tables in this topic list some commonly used lamps values that you can use as a guide for defining photometric lights. The information in the tables is approximate; however, you can refer to manufacturer’s documentation for more precise photometric data for these lamps. General-Purpose Lamps NOTE In the tables below, “Class.” stands for “Classification”; the values under “Intensity” are expressed in candelas. Class. Watts Type Intensity A-19/ Med 60 Point 70 A-19/ Med 75 Point 95 A-19/ Med 100 Point 139 5716 | Chapter 16 Lights and Cameras Beam Field M16 Low Voltage Lamps Class. Watts Type Intensity Beam Field Narrow Beam 20 Spot 3300 6 12 Narrow Beam 50 Spot 9150 12 25 Medium Beam 50 Spot 3000 25 50 Wide Beam 20 Spot 460 38 75 Wide Beam 50 Spot 1500 38 75 Par36 Low Voltage Lamps Class. Watts Type Intensity Beam Field Narrow Beam 25 Spot 4200 9 15 Narrow Beam 50 Spot 8900 10 15 Photometric Lights | 5717 Class. Watts Type Intensity Beam Field Medium Beam 50 Spot 1300 30 60 Wide Beam 25 Spot 250 36 75 Wide Beam 50 Spot 600 39 75 Par56 Line Voltage Lamps Class. Watts Type Intensity Beam Field Narrow Beam 300 Spot 68000 9 15 Narrow Beam 500 Spot 95000 9 15 Medium Beam 300 Spot 24000 18 36 Medium Beam 500 Spot 47500 18 36 Wide Beam 300 Spot 10000 30 60 Wide Beam 500 Spot 18000 30 60 5718 | Chapter 16 Lights and Cameras Par38 Line Voltage Lamps Class. Watts Type Intensity Beam Field Narrow Beam 45 Spot 4700 14 28 Narrow Beam 75 Spot 5200 12 25 Narrow Beam 150 Spot 10500 14 28 Medium Beam 45 Spot 1700 28 60 Medium Beam 75 Spot 1860 30 60 Medium Beam 150 Spot 4000 30 60 Photometric Lights | 5719 R40 Line Voltage Lamps Class. Watts Type Intensity Beam Field Narrow Beam 150 Spot 5400 22 50 Wide Beam 150 Spot 1040 76 130 Wide Beam 300 Spot 1950 76 130 General Parameters Rollout (Photometric Lights) Create panel ➤ ➤ (Lights) ➤ Photometric ➤ Create a light. Modify panel ➤ General Parameters rollout. Create menu ➤ Photometric Lights ➤ Create a light. ➤ panel ➤ General Parameters rollout. Modify This General Parameters rollout is displayed for photometric lights. These controls turn a light on and off, and exclude or include objects in the scene. They also let you set the type of light distribution. On the Modify panel, the General Parameters rollout also lets you control the light’s target object and change the light from one type to another. The General Parameters rollout also lets you turn shadow-casting on or off for the light, and choose which type of shadow the light uses. See Shadow Types and Shadow Controls on page 5825 and Shadow Parameters on page 5808. 5720 | Chapter 16 Lights and Cameras Procedures To turn a light on and off: ■ Turn the On toggle on or off. Default=on. To have a light cast shadows: ■ In the General Parameters rollout ➤ Shadows group, make sure On is selected. The light will now cast shadows when you render the scene. Left: With Spotlight distribution, the projection cone can truncate shadows. Right: With Uniform Spherical distribution, the light casts complete shadows. To have a light use the global settings for shadows: ■ On the General Parameters rollout, in the Shadow Parameters group, turn on Use Global Settings. When Use Global Settings is on, the other shadow controls are set to the values used by all other shadow-casting lights in the scene that have Use Global Settings set. Changing the affected parameters for one light with Use Global Settings set, changes them for all lights with Use Global Settings set. To set a light's shadow parameters individually: ■ On the General Parameters rollout, turn off Use Global Settings. The settings revert to the individual settings for the light. Photometric Lights | 5721 By default, Shadow Map is the active shadow type. In the Shadow Map Params rollout on page 5846, the default settings are: Map Bias=1; Size=512; Sample Range=4.0; Absolute Map Bias=Off. Scene with shadow-mapped shadows Shadows rendered using default parameter settings TIP When you render a scene, you can turn rendering of shadows on or off. To cast area shadows: ■ On the General Parameters rollout, choose Area Shadows from the drop-down list. Use controls on the Area Shadows rollout on page 5832 to adjust the shadow properties. To cast advanced ray-traced shadows: Advanced ray-traced shadows are similar to ray-traced shadows, however they provide control over antialiasing on page 9087, letting you fine-tune how shadows are generated. ■ On the General Parameters rollout, choose Advanced Ray-traced Shadows from the drop-down list. Use controls on the Advanced Ray-traced Params rollout on page 5828 to adjust the shadow properties. 5722 | Chapter 16 Lights and Cameras To cast shadow-mapped shadows: 1 On the General Parameters rollout, choose Shadow Maps from the drop-down list. 2 Go to the Shadow Map Params rollout on page 5846. ■ Use the Size spinner to set the size of the shadow map. ■ Use the Bias spinner to adjust the shadow offset, if necessary. ■ Use the Sample Range spinner to create a soft-edged shadow. To cast ray-traced shadows: Ray-traced shadows on page 9279 are generated by tracing the path of rays sampled from a light source. Ray-traced shadows are more accurate than shadow-mapped shadows. 1 On the General Parameters rollout, in the Shadows groupo, choose Ray-Traced Shadows from the drop-down list. 2 Use controls on the Ray Traced Shadow Params rollout on page 5844 to adjust the shadow offset, if necessary. To keep an object from casting shadows: 1 Select the object. 2 Right-click the object to display the quad menu, then choose Properties from the Transform (lower-right) quadrant. The Object Properties dialog on page 221 is displayed. 3 Turn off Cast Shadows, and then click OK. Now when you render the scene, the object casts no shadows. To make an object not receive shadows: 1 Select the object. 2 Right-click the object to display the quad menu, then choose Properties from the Transform (lower-right) quadrant. Photometric Lights | 5723 The Object Properties dialog on page 221 is displayed. 3 Turn off Receive Shadows, and then click OK. Now when you render the scene, the object receives no shadows. NOTE You can also prevent objects from casting shadows by excluding them from a light. Interface Light Properties group On (Both Create panel and Modify panel) Turns the light on and off. When On is on, shading and rendering use the light to illuminate the scene. When On is off, the light is not used in shading or rendering. Default=on. In viewports, the interactive renderer shows the effect of turning lights on or off. Targeted When on, the light has a target. When off, you aim the light using transforms. This toggle lets you change the light from a target light to a free light, or vice versa. Target Distance Shows the target distance. For a target light, this field simply displays the distance. For a free light, you can enter a value to change the distance. 5724 | Chapter 16 Lights and Cameras Shadows group On Determines whether the current light casts shadows or not. Default=on. Shadow Method drop-down list Determines whether the renderer uses shadow maps on page 9305, ray-traced shadows on page 9279, advanced ray-traced shadows on page 9279, or area shadows on page 9095, to generate shadows for this light. The “mental ray Shadow Map” type is provided for use with the mental ray renderer on page 7129. When you choose this shadow type and enable shadow maps (on the Shadows & Displacement rollout on page 7209 of the Render Setup dialog), shadows use the mental ray shadow-map algorithm. If this type is chosen but you render with the default scanline renderer, no shadows appear in the rendering. NOTE When shadow maps are enabled and the shadow map type is Shadow Map, the mental ray renderer attempts to translate the shadow map settings into comparable settings for mental ray shadow maps. (The results might not be what you expected.) In all other cases, the mental ray renderer generates ray-traced shadows. Each shadow type has its particular controls: ■ Advanced ray-traced shadowsSee Advanced Ray-Traced Parameters Rollout on page 5828 and Optimizations Rollout on page 5839. ■ Area shadowsSee Area Shadows Rollout on page 5832 and Optimizations Rollout on page 5839. ■ mental ray shadow mapsSee mental ray Shadow Map Rollout on page 5842. ■ Ray-traced shadowsSee Ray-Traced Shadow Parameters Rollout on page 5844. ■ Shadow mapsSee Shadow Map Parameters Rollout on page 5846. TIP Use ray-traced or advanced ray-traced shadows when you want shadows cast by opacity-mapped objects. Shadow-mapped shadows don't recognize the transparent portions of the mapping, and as a result they don't look convincing. Use Global Settings Turn on to use global settings for shadows cast by this light. Turn off to enable individual control of the shadows. If you choose not to use the global settings, you must choose which method the renderer will use to generate shadows for this particular light. When Use Global Settings is on, the shadow parameters switch over to show you what the global settings are. This data is shared by every other light of Photometric Lights | 5725 this class. When Use Global Settings is off, the shadow parameters are specific to that particular light. Exclude button Excludes selected objects from the effects of the light. Click this button to display the Exclude/Include dialog on page 5805. Excluded objects still appear lit in shaded viewports. Exclusion takes effect only when you render the scene. Light Distribution (Type) group Drop-down list The light distribution drop-down list lets you choose the type of light distribution. There are four options: ■ Photometric Web on page 5730 When you choose this option, the Distribution (Photometric File) rollout on page 5752 opens on the command panel. ■ Spotlight on page 5728 When you choose this option, the Distribution (Spotlight) rollout on page 5753 opens on the command panel. ■ Uniform Diffuse on page 5727 ■ Uniform Spherical on page 5726 Uniform distribution, whether diffuse or spherical, has no additional settings, so these choices don’t display a special Distribution rollout. Uniform Spherical Distribution (Photometric Lights) Create panel ➤ (Lights) ➤ Photometric ➤ Click Target Light or Free Light. ➤ General Parameters rollout ➤ Light Distribution (Type) group ➤ Choose Uniform Spherical from the drop-down list. Uniform spherical distribution, as its name implies, casts light equally in all directions. 5726 | Chapter 16 Lights and Cameras Uniform spherical light distribution Viewport representation of a Target light with uniform spherical distribution Uniform Diffuse Distribution (Photometric Lights) Create panel ➤ (Lights) ➤ Photometric ➤ Click Target Light or Free Light. ➤ General Parameters rollout ➤ Light Distribution (Type) group ➤ Choose Uniform Diffuse from the drop-down list. Uniform diffuse distribution casts diffuse light in one hemisphere only, as if the light were emitted from a surface. Uniform diffuse distribution obeys Lambert’s cosine law: the light has the same apparent intensity when viewed from any angle. Photometric Lights | 5727 Uniform diffuse light distribution NOTE Uniform Diffuse distribution was known simply as Diffuse distribution in releases prior to Autodesk 3ds Max 2011. Spotlight Distribution (Photometric Lights) Create panel ➤ (Lights) ➤ Photometric ➤ Click Target Light or Free Light. ➤ General Parameters rollout ➤ Light Distribution (Type) group ➤ Choose Spotlight from the drop-down list. Spotlight distribution casts a focused beam of light like a flashlight, a follow spot in a theater, or a headlight. The light's beam angle controls the main strength of the beam, and the field angle controls the “spill” of light outside the main beam. 5728 | Chapter 16 Lights and Cameras NOTE Be aware that the scanline renderer and the mental ray renderer treat the beam angle and field angle differently. With the scanline renderer, the beam casts light at full intensity, and the field angle limits the area where the beam is cast. With the mental ray renderer, the center of the beam is at 100 percent, but it fades to 50 per cent at the beam angle, and to a value near 0 at the field angle; however, some light might be cast outside the field angle as well. Spotlight distribution Viewport representation of a Target light with spotlight distribution Spotlight settings appear on the Distribution (Spotlight) rollout on page 5753. Photometric Lights | 5729 Photometric Web Distribution (Photometric Lights) Create panel ➤ (Lights) ➤ Photometric Lights ➤ Click Target Light or Free Light. ➤ General Parameters rollout ➤ Light Distribution (Type) group ➤ Choose Photometric Web from the drop-down list. Photometric Web distribution uses a photometric web definition on page 5731 to distribute the light. A photometric web is a 3D representation of the light intensity distribution of a light source. Web definitions are stored in files. Many lighting manufacturers provide web files that model their products; these are often available on the Internet. A web file can be in the IES on page 5735, LTLI on page 9209, or CIBSE on page 9116 format. Controls for assigning the web file are on the Distribution (Photometric File) rollout on page 5752. Example of web distribution 5730 | Chapter 16 Lights and Cameras Viewport representations of lights with various web distributions Photometric web file settings appear on the Distribution (Photometric File) rollout on page 5752. Procedure To create a light from a manufacturer's IES file: 1 Create a Target or Free photometric light. 2 In the General Parameters rollout ➤ Light Distribution (Type) group, choose Photometric Web File from the Distribution list. A Distribution (Photometric File) rollout opens on the command panel. 3 In the Distribution (Photometric File) rollout, click the button labelled Choose Photometric File. A file selection dialog appears. Choose the IES file that you want to use. Photometric Webs A photometric web is a 3D representation of the light intensity distribution of a light source. This directional light distribution information is stored in a photometric data file in the IES format using the IES LM-63-1991 standard file format on page 5735, or in the LTLI or CIBSE formats for photometric data. You can load photometric data files provided by various manufacturers as web parameters. In viewports, the light object changes to the shape of the photometric web you choose. To describe the directional distribution of the light emitted by a source, 3ds Max approximates the source by a point light placed at its photometric center. With this approximation, the distribution is characterized as a function of the outgoing direction only. The luminous intensity of the source for a predetermined set of horizontal and vertical angles is provided, and 3ds Max computes the luminous intensity along an arbitrary direction by interpolation. Photometric Lights | 5731 Web Diagrams Photometric data is often depicted using a diagram. Diagrams that show rotation about an axis are known as goniometric. Goniometric diagram of a web distribution This type of diagram visually represents how the luminous intensity of a source varies with the vertical angle. However, the horizontal angle is fixed and, unless the distribution is axially symmetric, more than one goniometric diagram may be needed to describe the complete distribution. In the 3ds Max user interface, web files are displayed as thumbnail diagrams. 5732 | Chapter 16 Lights and Cameras Thumbnails of photometric web files The bright red outline shows the beam. For some webs, a darker red outline shows the (less bright) field. Photometric Web The photometric web is a three-dimensional representation of the light distribution. It extends the goniometric diagram to three dimensions, so that the dependencies of the luminous intensity on both the vertical and horizontal angles can be examined simultaneously. The center of the photometric web represents the center of the light object. The luminous intensity in any given direction is proportional to the distance between this web and the photometric center, measured along a line leaving the center in the specified direction. Photometric Lights | 5733 Example 1: Uniform Spherical Distribution Example of uniform spherical distribution A sphere centered around the origin is a representation of uniform spherical distribution, also known as isotropic distribution. All the points in the diagram are equidistant from the center and therefore light is emitted equally in all directions. 5734 | Chapter 16 Lights and Cameras Example 2: Ellipsoidal Distribution Example of ellipsoidal distribution In this example, the points in the negative Z direction are the same distance from the origin as the corresponding points in the positive Z direction, so the same amount of light shines upward and downward. No point has a very large X or Y component, either positive or negative, so less light is cast laterally from the light source. IES Standard File Format You can create a photometric data file in the IES format using the IES LM-63-1991 standard file format for photometric data. (IES stands for Illuminating Engineering Society.) This topic describes only the information relevant to 3ds Max. For a complete description of the IES standard file format, see IES Standard File Format for Photometric Lights | 5735 Electronic Transfer of Photometric Data and Related Information, prepared by the IES Computer Committee (http://www.iesna.org). The luminous intensity distribution (LID) of a luminaire is measured at the nodes of a photometric web for a fixed set of horizontal and vertical angles. The poles of the web lie along the vertical axis, with the nadir corresponding to a vertical angle of zero degrees. The horizontal axis corresponds to a horizontal angle of zero degrees and is oriented parallel to the length of the luminaire. This type of photometric web is generated by a Type C goniometer and is the most popular in North America; other types of goniometry are supported by the IES standard file format but are not discussed here. The photometric data is stored in an ASCII file. Each line in the file must be less than 132 characters long and must be terminated by a carriage-return/line-feed character sequence. Longer lines can be continued by inserting a carriage-return/line-feed character sequence. Each field in the file must begin on a new line and must appear exactly in the following sequence: 1 IESNA91 2 [TEST] the test report number of your data 3 [MANUFAC] the manufacturer of the luminaire 4 TILT=NONE 5 1 6 The initial rated lumens for the lamp used in the test or -1 if absolute photometry is used and the intensity values do not depend on different lamp ratings. 7 A multiplying factor for all the candela values in the file. This makes it possible to easily scale all the candela values in the file when the measuring device operates in unusual units—for example, when you obtain the photometric values from a catalog using a ruler on a goniometric diagram. Normally the multiplying factor is 1. 8 The number of vertical angles in the photometric web. 9 The number of horizontal angles in the photometric web. 10 1 11 The type of unit used to measure the dimensions of the luminous opening. Use 1 for feet or 2 for meters. 5736 | Chapter 16 Lights and Cameras 12 The width, length, and height of the luminous opening. Currently, Lightscape ignores these dimensions because you can associate a given luminous intensity distribution with any of the luminaire geometric entities supported by Lightscape. It is normally given as 0 0 0. 13 1.0 1.0 0.0 14 The set of vertical angles, listed in increasing order. If the distribution lies completely in the bottom hemisphere, the first and last angles must be 0° and 90°, respectively. If the distribution lies completely in the top hemisphere, the first and last angles must be 90° and 180°, respectively. Otherwise, they must be 0° and 180°, respectively. 15 The set of horizontal angles, listed in increasing order. The first angle must be 0°. The last angle determines the degree of lateral symmetry displayed by the intensity distribution. If it is 0°, the distribution is axially symmetric. If it is 90°, the distribution is symmetric in each quadrant. If it is 180°, the distribution is symmetric about a vertical plane. If it is greater than 180° and less than or equal to 360°, the distribution exhibits no lateral symmetries. All other values are invalid. 16 The set of candela values. First all the candela values corresponding to the first horizontal angle are listed, starting with the value corresponding to the smallest vertical angle and moving up the associated vertical plane. Then the candela values corresponding to the vertical plane through the second horizontal angle are listed, and so on until the last horizontal angle. Each vertical slice of values must start on a new line. Long lines may be broken between values as needed by following the instructions given earlier. Here is an example of a photometric data file on page 5737. Example of a Photometric Data File This topic shows an example of a photometric data file. See also: ■ IES Standard File Format on page 5735 Photometric Lights | 5737 Intensity/Color/Attenuation Rollout (Photometric Lights) Create panel ➤ ➤ (Lights) ➤ Photometric ➤ Create a light. Modify panel ➤ Intensity/Color/Attenuation rollout Create menu ➤ Lights ➤ Photometric Lights ➤ Create a light. ➤ Modify panel ➤ Intensity/Color/Attenuation rollout The Intensity/Color/Attenuation rollout lets you set the color and intensity of the light. You can also, optionally, set a limit for its attenuation. Interface 5738 | Chapter 16 Lights and Cameras Color group Light Pick a common lamp specification to approximate the spectral character of your light. The color swatch next to the Kelvin parameter is updated to reflect the light you select. These are the options when you specify color using the Light drop-down list (HID stands for high-intensity discharge): ■ D50 Illuminant (Reference White) ■ D65 Illuminant (Reference White) (the default) ■ Fluorescent (Cool White) ■ Fluorescent (Daylight) ■ Fluorescent (Lite White) ■ Fluorescent (Warm White) ■ Fluorescent (White) ■ Halogen ■ Halogen (Cool) ■ Halogen (Warm) ■ HID Ceramic Metal Halide (Cool) ■ HID Ceramic Metal Halide (Warm) ■ HID High Pressure Sodium ■ HID Low Pressure Sodium ■ HID Mercury ■ HID Phosphor Mercury ■ HID Quartz Metal Halide ■ HID Quartz Metal Halide (Cool) ■ HID Quartz Metal Halide (Warm) ■ HID Xenon ■ Incandescent filament lamp Photometric Lights | 5739 NOTE The default choice, D65 Illuminant (Reference White), approximates a midday sun in western or northern Europe. “D65” is a white value defined by the Comission Internationale de l’Éclairage (CIE), the International Lighting Commission. 5740 | Chapter 16 Lights and Cameras Different lamp types used for the foreground light: Photometric Lights | 5741 Top: D50 Illuminant (Reference White) Middle: Fluorescent (Cool White) Bottom: HID High Pressure Sodium Kelvin Set the color of the light by adjusting the color temperature on page 5685 spinners. The color temperature is displayed in degrees Kelvin. The corresponding color is visible in the color swatch next to the temperature spinners. Filter Color Use a color filter to simulate the effect of a color filter placed over the light source. For example, a red filter over a white light source casts red light. Set the filter color by clicking the color swatch to display the Color Selector on page 304. Default=white (RGB=255,255,255; HSV=0,0,255). Foreground light given a dark green filter color Intensity group These controls specify the strength or brightness of photometric lights in physically based quantities. 5742 | Chapter 16 Lights and Cameras You set the intensity of a light source using one of the following units: ■ lm (lumen)Measures the overall output power of the light (luminous flux on page 9209). A 100-watt general purpose light bulb has a luminous flux of about 1750 lm. ■ cd (candela)Measures the maximum luminous intensity on page 9209 of the light, usually along the direction of aim. a 100-watt general purpose light bulb has a luminous intensity of about 139 cd. ■ lx at (lux)Measures illuminance on page 9190 caused by the light shining on a surface at a certain distance and facing in the direction of the source. The lux is the International Scene unit, which is equivalent to 1 lumen per square meter. The AS unit for illuminance is the footcandle (fc) which is equivalent to 1 lumen per square foot. To convert from footcandles to lux, multiply by 10.76. For example, to specify an illuminance of 35 fc, set illuminance to 376.6 lx. To specify the illuminance of a light, set the lx value on the left, and then in the second value field, enter the distance at which that illuminance is measured. NOTE You can obtain these values directly from lighting manufacturers. A table of some common lamp types is provided in Photometric Lights: Common Lamp Values on page 5716. Dimming group Resulting Intensity Displays the intensity caused by the dimming, using the same units as the Intensity group. Dimming percentage When the toggle is on, the value specifies a “multiplier” that dims the intensity of the light. At 100 percent, the light has its full intensity. At lower percentages, the light is dimmed. Photometric Lights | 5743 Incandescent light in the foreground 5744 | Chapter 16 Lights and Cameras Foreground light dimmed to 10 percent Incandescent lamp color shift when dimming When on, the light simulates an incandescent light by turning more yellow in color as it is dimmed. Photometric Lights | 5745 Dimmed foreground light with color shift turned on Far Attenuation group You can set the attenuation range for a photometric light. Strictly speaking, this is not how real-world lights behave, but setting an attenuation range can help improve rendering time dramatically. TIP If your scene has a large number of lights, use Far Attenuation to limit the portion of the scene each light illuminates. For example, if an office area has rows of overhead lights, you could set Far Attenuation ranges to keep the lights’ illumination from being calculated when you render the reception area instead of the main office. As another example, a staircase might have recessed lights on each stair, as many theaters do. Setting a small Far Attenuation value for these lights can prevent their (negligible) illumination from being calculated when you render the theater as a whole. Far attenuation works only with the mental ray renderer on page 7129. 5746 | Chapter 16 Lights and Cameras Far Attenuation applied to the foreground light IMPORTANT Unlike the attenuation ranges for standard lights, the attenuation range for photometric lights does not change the attenuation rate, which is always inverse square. The attenuation range is simply a way of limiting which parts of the scene are illuminated by the light, in order to reduce the amount of calculation required to render the scene. Use Enables far attenuation for the light. Show Displays the far attenuation range settings in viewports. For spotlight distribution, attenuation ranges appear as lens-shaped sections of the cone. For other distributions, the ranges appear as spheres. By default, Far Start is light brown and Far End is dark brown. NOTE The attenuation ranges are always visible when a light is selected, so turning off this check box has no apparent effect until you deselect the light. Start Sets the distance at which the light begins to fade out. End Sets the distance at which the light has faded to zero. Photometric Lights | 5747 Shape/Area Shadows Rollout Create panel ➤ ➤ (Lights) ➤ Photometric ➤ Create a light. Modify panel ➤ Shape/Area Shadows rollout Create menu ➤ Lights ➤ Photometric Lights ➤ Create a light. ➤ Modify panel ➤ Shape/Area Shadows rollout The Shape/Area Shadows rollout lets you choose the light shape used to generate shadows. NOTE These controls work only with the mental ray renderer on page 7129. The scanline renderer on page 7041 does not calculate photometric area shadows (although with the scanline renderer you can use Area shadows on page 5832 to get a similar effect). Also, the scanline renderer does not render a photometric area light as self illuminating, or display its shape in renderings. Interface 5748 | Chapter 16 Lights and Cameras Emit Light From (Shape) group Drop-down list Use the list to choose the shadow-generating shape. When you choose a shape other than Point, dimension controls appear in the Emit Light group, and a Shadow Samples control appears in the Rendering group. ■ PointCalculates shadows as if the light were emitted from a point. The Point shape has no other controls. ■ LineCalculates shadows as if the light were emitted from a line. The Linear shape has a Length control. ■ RectangleCalculates shadows as if the light were emitted from a rectangular area. The Area shape has Length and Width controls. ■ DiscCalculates shadows as if the light were emitted from a disc. The Disc shape has a Radius control. ■ SphereCalculates shadows as if the light were emitted from a sphere. The Sphere shape has a Radius control. ■ CylinderCalculates shadows as if the line were emitted from a cylinder. The Cylinder shape has Length and Radius controls. Rendering group Light Shape Visible in Rendering When on, the shape of the light is visible in renderings as a self-illuminated (glowing) shape, provided the light object is within the field of view. When off, the light’s shape is not rendered, only the light it casts. Default=off. See Self-Illuminating Photometric Lights on page 5749 for more information about this option. Shadow Samples Sets the overall quality of shadows for lights that have an area. If the rendered image appears grainy, increase this value. If rendering is too time consuming, decrease it. Default=32. This setting doesn’t appear in the interface when Point is chosen as the shadow shape. Self-Illuminating Photometric Lights You can make a photometric light self illuminating by turning on the Light Shape Visible In Rendering option in the Shape/Area Shadows rollout on page 5748. Photometric Lights | 5749 When you turn on Light Shape Visible In Rendering, by default 3ds Max turns off Specular in the Advanced Effects rollout on page 5817. This prevents unwanted effects if the area of the photometric light is small. Small lights have a high luminance, and also are hard for specular rays to find: the result can be overly bright spots in your rendering. ■ If the self-illuminating photometric light has a small area, leave Specular turned off. ■ If the self-illuminating light has a large area (for example, a skylight or a fluorescent tube), turn Specular back on for the most realistic effect. Combining Self-Illuminating Photometric Lights and Self-Illuminating Materials To make a light fixture visible to the renderer, we recommend modeling the light fixture with actual geometry that has a self-illuminating material applied to it. The square white surface is geometry representing the light. A photometric light is placed at the same location. This doesn’t pose a problem unless you create a radiosity solution on page 7068 that uses Final Gather. Final Gather treats the self-illuminated material as an additional diffuse light source, and the resulting rendering is too bright. 5750 | Chapter 16 Lights and Cameras The intended effect of the light alone. The light plus Final Gather creates illumination that is too bright. If this problem arises, do one or both of the following: ■ Turn off Specular for the photometric light. ■ Turn off Object Properties ➤ Advanced Lighting ➤ Geometric Object Radiosity Properties ➤ Radiosity-only Properties ➤ Diffuse (reflective & translucent) for objects with surfaces affected by this problem. Photometric Lights | 5751 Distribution (Photometric File) Rollout Create panel ➤ (Lights) ➤ Photometric ➤ Create a photometric light. ➤ General Parameters rollout ➤ Choose Photometric Web File as the distribution type. ➤ Distribution (Photometric File) rollout Create menu ➤ Lights ➤ Photometric Lights ➤ Create a photometric light. ➤ General Parameters rollout ➤ Choose Photometric Web File as the distribution type. ➤ Distribution (Photometric File) rollout The Distribution (Photometric File) rollout appears on the Modify panel when you create or select a photometric light with a photometric web distribution on page 5730. Use these parameters to select a photometric web file and to adjust the orientation of the web. Interface Web diagram After you choose a photometric file, this thumbnail shows a schematic diagram of the light’s distribution pattern. 5752 | Chapter 16 Lights and Cameras Thumbnails of photometric web files The bright red outline shows the beam. For some webs, a darker red outline shows the (less bright) field. Choose Photometric File Click to select a file to use as a photometric web. The file can be in the IES, LTLI, or CIBSE format. Once you have chosen a file, this button displays the file name (without the .ies, .ltli, or .cibse name extension). While you browse for a photometric web file, the file dialog also shows the thumbnail for the highlighted file. X Rotation Rotates the photometric web about the X axis. The center of rotation is the photometric center of the web. Range=–180 degrees to 180 degrees. Y Rotation Rotates the photometric web about the Y axis. The center of rotation is the photometric center of the web. Range=–180 degrees to 180 degrees. Z Rotation Rotates the photometric web about the Z axis. The center of rotation is the photometric center of the web. Range=–180 degrees to 180 degrees. Distribution (Spotlight) Rollout Create panel ➤ (Lights) ➤ Photometric ➤ Create a photometric light. ➤ General Parameters rollout ➤ Choose Spotlight as the distribution type. ➤ Distribution (Spotlight) rollout Create menu ➤ Lights ➤ Photometric Lights ➤ Create a photometric light. ➤ General Parameters rollout ➤ Choose Spotlight as the distribution type. ➤ Distribution (Spotlight) rollout Photometric Lights | 5753 The Distribution (Spotlight) rollout appears on the Modify panel when you create or select a photometric light with spotlight distribution on page 5728. These parameters control hotspots and falloff on page 9187 for spotlights. Procedures To see the spotlight cone in viewports: The cone is always visible while the light is selected. This setting keeps the cone visible when the light is unselected. 1 Select the spotlight. 2 In the Distribution (Spotlight) rollout, turn on Cone Visible In Viewport When Unselected. 3 Select another object to deselect the light. A wireframe outline of the light cone appears. The beam angle region is outlined in light blue, and the field angle region is outlined in dark gray. 5754 | Chapter 16 Lights and Cameras Spotlight cone displayed in a viewport To adjust the beam angle and field angle, do one of the following: ■ Use the Hotspot/Beam and Falloff/Field spinners to increase or decrease the size of the beam angle and field angle regions. For spotlights, these angles are expressed in degrees. ■ Use manipulators to adjust beam angle and field angle by dragging in a viewport, as described in the procedure that follows. By default, the field angle is always constrained to be at least two degrees or two units greater than the beam angle. The size of this constraint is a preference that you can change in the Rendering panel on page 8929 of the Preferences dialog. The falloff value can range from 0 to 10,000 units. When the beam angle and field angle values are close in value, the light casts a hard-edged beam. Photometric Lights | 5755 To use manipulators to control beam angle and field angle: 1 Select the spotlight. TIP When you select multiple spotlights, all their manipulators are accessible. 2 On the main toolbar, click to turn on (Select And Manipulate. Now when you move the mouse over the beam angle or field angle circle, the circle turns red to show you can adjust it by dragging. Also, a tooltip displays the spotlight name, the parameter, and its value. 3 Drag the beam angle or field angle circle to adjust the value. The beam angle and field angle constrain each other, as their spinner controls do. Spotlight manipulators are described at the end of this topic. Interface Cone visible in viewport when unselected Turns display of the cone on or off. NOTE The cone is always visible when a light is selected, so turning off this check box has no apparent effect until you deselect the light. Hotspot/Beam Adjusts the angle of the cone of a light. The Beam value is measured in degrees. For photometric lights, the Beam angle is the angle at which the light's intensity has fallen to 50 per cent of its full intensity. Default=30.0. 5756 | Chapter 16 Lights and Cameras Falloff/Field Adjusts the angle of a light's Field. The Field value is measured in degrees. For photometric lights, the Field angle is the angle at which the light's intensity has fallen close to zero. Default=60.0. NOTE The beam angle is similar to the hotspot angle for standard lights, but all of a hotspot is at 100 per cent intensity. The field angle is similar to the falloff angle for standard lights, but at the falloff angle, intensity fades to zero; photometric lights use a smoother curve, so some light might be cast outside the field angle. You can manipulate the beam angle and field angle by dragging manipulators in viewports, as described in the previous procedures, and the later section "Manipulators for Spotlights." You can also adjust beam and field angles in a Light viewport (looking at the scene from the point of view of the spotlight). Manipulators for Spotlights Manipulators are visible and usable while the Select And Manipulate button on page 2868 is turned on. This button is on the default main toolbar on page 8623. When you move the mouse over a manipulator, the manipulator turns red to show that dragging or clicking it will have an effect. Also, a tooltip appears, showing the name of the object, the parameter, and its value. TIP When you select multiple spotlights, all their manipulators are accessible. For more information on using the spotlight manipulators, see the Procedures section at the top of this topic. Beam manipulator: In a viewport, drag the beam circle to adjust the beam value. Field manipulator: In a viewport, drag the field circle to adjust the field value. The beam and field angles constrain each other, as their spinner controls do. Standard Lights Standard lights are computer-based objects that simulate lights such as household or office lamps, the light instruments used in stage and film work, and the sun itself. Different kinds of light objects cast light in different ways, simulating different kinds of real-world light sources. Unlike photometric Standard Lights | 5757 lights on page 5707, standard lights do not have physically-based intensity values. For parameters specific to a particular kind of light, see the description of that light type. Parameters specific to standard lights in general, as well as rollouts specific to spotlights and directional lights, are described in Rollouts for Standard Lights on page 5783. See also: ■ Name and Color Rollout (Lights) on page 5675 ■ Common Lighting Rollouts and Dialogs on page 5805 ■ Shadow Types and Shadow Controls on page 5825 Target Spotlight Create panel ➤ (Lights) ➤ Standard ➤ Target Spot button Create menu ➤ Lights ➤ Standard Lights ➤ Target Spotlight A spotlight casts a focused beam of light like a flashlight, a follow spot in a theater, or a headlight. A target spotlight uses a target object to aim the camera. 5758 | Chapter 16 Lights and Cameras Top: Top view of a target spotlight Bottom: Perspective view of the same light NOTE When you add a target spotlight, 3ds Max automatically assigns a Look At controller on page 3533 to it, with the light's target object assigned as the Look At target. You can use the controller settings on the Motion panel to assign any other object in the scene as the Look At target. See also: ■ Lights on page 5672 ■ Name and Color Rollout (Lights) on page 5675 ■ General Parameters Rollout (Standard Lights) on page 5783 Standard Lights | 5759 ■ Intensity/Color/Attenuation Rollout (Standard Lights) on page 5790 ■ Advanced Effects Rollout on page 5817 ■ Shadow Parameters on page 5808 ■ Spotlight Parameters on page 5799 Procedures To create a target spotlight: 1 On the Create panel, click (Lights). 2 Choose Standard from the drop-down list. 3 On the Object Type rollout, click Target Spot. 4 Drag in a viewport. The initial point of the drag is the location of the spotlight, and the point where you release the mouse is the location of the target. The light is now part of the scene. 5 Set the creation parameters. To adjust a target spotlight: 1 Select the light. 2 On the main toolbar, turn on (Select And Move), or right-click the light and from the quad menu, choose Move. Move the light to adjust its aim. Because the spotlight is always aimed at its target, you can't rotate it about its local X or Y axis. However, you can select and move the target object as well as the light itself. When you move either the light or the target, the light's orientation changes so it always points at the target. NOTE The target’s distance from the light does not affect the attenuation or brightness of the light. 5760 | Chapter 16 Lights and Cameras To select the target: The target, displayed as a small square, is often in the same area as objects that you want to illuminate. It can be difficult to select it by clicking. 1 Select the spotlight itself. 2 Right-click the light, and from the Tools 1 (upper-left) quadrant of the quad menu, choose Select Target. Clicking the line that connects the light and its target selects both objects. However, region selection doesn't recognize the link line. Another way to adjust a spotlight is to use a Light viewport on page 5799. To change a viewport to a Light view: 1 Click or right-click the POV viewport label. 3ds Max opens the Point-Of- View viewport label menu. on page 8712. 2 Choose Lights. The Lights submenu shows the name of each spotlight or directional light in the scene. 3 Choose the name of the light you want. The viewport now shows the light's point of view. You can use the Light viewport on page 8753 to adjust the light. The default keyboard shortcut for switching to a Light viewport is $. Interface When you rename a target spotlight, the target is automatically renamed to match. For example, renaming Light01 to Klieg causes Light01.Target to become Klieg.Target. The target's name must have the extension .Target. Renaming the target object does not rename the light object. Free Spotlight Create panel ➤ (Lights) ➤ Standard ➤ Free Spot button Standard Lights | 5761 Create menu ➤ Lights ➤ Standard Lights ➤ Free Spotlight A spotlight casts a focused beam of light like a flashlight, a follow spot in a theater, or a headlight. Unlike a targeted spotlight, a Free Spot has no target object. You can move and rotate the free spot to aim it in any direction. Top: Perspective view of a free spotlight Bottom: Top view of the same light See also: ■ Lights on page 5672 ■ Name and Color Rollout (Lights) on page 5675 ■ General Parameters Rollout (Standard Lights) on page 5783 5762 | Chapter 16 Lights and Cameras ■ Intensity/Color/Attenuation Rollout (Standard Lights) on page 5790 ■ Advanced Effects Rollout on page 5817 ■ Shadow Parameters on page 5808 ■ Spotlight Parameters on page 5799 Procedures To create a free spotlight: 1 On the Create panel, click (Lights). 2 Choose Standard from the drop-down list. 3 On the Object Type rollout, click Free Spot. 4 Click the viewport location where you want the light to be. The light is now part of the scene. It points away from you in the viewport you clicked. You can adjust the light's direction with (Move) and (Rotate) or by using a Light viewport on page 8753. 5 Set the creation parameters. To change a viewport to a Light view: 1 Click or right-click the POV viewport label. 3ds Max opens the Point-Of- View viewport label menu. on page 8712. 2 Choose Lights. The Lights submenu shows the name of each spotlight or directional light in the scene. 3 Choose the name of the light you want. The viewport now shows the light's point of view. You can use the Light Viewport Controls on page 8753 to adjust the light. The default keyboard shortcut for switching to a Light viewport is $. Standard Lights | 5763 Interface You aim a free spotlight by adjusting its orientation in a scene using Move and Rotate. The free spotlight is useful when you want a spotlight to follow a path and either don't want to bother with linking a spotlight and target to a dummy object on page 9139, or you need banking along the path. General Parameters rollout When you create a Free Spot light, the Targeted parameter is adjustable on the General Parameters rollout on page 5783. This is a fixed value for target lights. Targeted When on, 3ds Max sets a point to use as an invisible target about which the Free Spot can orbit. The spinner adjusts the distance to the target. The target distance is animatable. Target Directional Light Create panel ➤ (Lights) ➤ Standard ➤ Target Direct button Create menu ➤ Lights ➤ Standard Lights ➤ Target Directional Light Directional lights cast parallel light rays in a single direction, as the sun does (for all practical purposes) at the surface of the earth. Directional lights are primarily used to simulate sunlight. You can adjust the color of the light and position and rotate the light in 3D space. 5764 | Chapter 16 Lights and Cameras Top: Top view of a target directional light Bottom: Perspective view of the same light A target directional light uses a target object to aim the light. Because directional rays are parallel, directional lights have a beam in the shape of a circular or rectangular prism instead of a "cone." NOTE When you add a target directional light, 3ds Max automatically assigns a Look At controller on page 3533 to it, with the light's target object assigned as the Look At target. You can use the controller settings on the Motion panel to assign any other object in the scene as the Look At target. NOTE Direct lights are supported in a radiosity solution on page 7068 only if they are pointed downwards, outside the boundary box of the scene geometry. See also: ■ Lights on page 5672 ■ Name and Color Rollout (Lights) on page 5675 ■ General Parameters Rollout (Standard Lights) on page 5783 ■ Intensity/Color/Attenuation Rollout (Standard Lights) on page 5790 ■ Advanced Effects Rollout on page 5817 ■ Shadow Parameters on page 5808 ■ Directional Parameters on page 5796 Standard Lights | 5765 Procedures To create a target direct light: 1 On the Create panel, click (Lights). 2 Choose Standard from the drop-down list. 3 On the Object Type rollout, click Target Direct. 4 Drag in a viewport. The initial point of the drag is the location of the light, and the point where you release the mouse is the location of the target. The light is now part of the scene. 5 Set the creation parameters. To adjust the light's direction, move the target object. To change a viewport to a Light view: 1 Click or right-click the POV viewport label. 3ds Max opens the Point-Of- View viewport label menu. on page 8712. 2 Choose Lights. The Lights submenu shows the name of each spotlight or directional light in the scene. 3 Choose the name of the light you want. The viewport now shows the light's point of view. You can use the Light Viewport Controls on page 8753 to adjust the light. The default keyboard shortcut for switching to a Light viewport is $. Interface Clicking the line that connects the light and its target selects both objects. However, region selection doesn't recognize the link line. When you rename a target directional light, the target is automatically renamed to match. For example, renaming Light01 to Sol causes Light01.Target to become Sol.Target. The target's name must have the extension .Target. Renaming the target object does not rename the light object. 5766 | Chapter 16 Lights and Cameras Free Directional Light Create panel ➤ (Lights) ➤ Standard ➤ Free Direct button Create menu ➤ Lights ➤ Standard Lights ➤ Directional Light Directional lights cast parallel light rays in a single direction, as the sun does (for all practical purposes) at the surface of the earth. Directional lights are primarily used to simulate sunlight. You can adjust the color of the light and position and rotate the light in 3D space. Top: Perspective view of a free directional light Bottom: Top view of the same light Standard Lights | 5767 Unlike a targeted directional light, a Free Direct light has no target object. You can move and rotate the light object to aim it in any direction. A Free Direct light is used when you select a Standard sun in your Daylight system on page 5852. Because directional rays are parallel, directional lights have a beam in the shape of a circular or rectangular prism instead of a "cone." NOTE Direct lights are supported in a radiosity solution on page 7068 only if they are pointed downwards, outside the boundary box of the scene geometry. See also: ■ Lights on page 5672 ■ Name and Color Rollout (Lights) on page 5675 ■ General Parameters Rollout (Standard Lights) on page 5783 ■ Intensity/Color/Attenuation Rollout (Standard Lights) on page 5790 ■ Advanced Effects Rollout on page 5817 ■ Shadow Parameters on page 5808 ■ Directional Parameters on page 5796 Procedures To create a free direct light: 1 On the Create panel, click (Lights). 2 Choose Standard from the drop-down list. 3 On the Object Type rollout, click Free Direct. 4 Click a viewport. The light is now part of the scene. It points away from you in the viewport you clicked. 5 Set the creation parameters. To adjust the light's direction, you can rotate it as you would any object. 5768 | Chapter 16 Lights and Cameras To change a viewport to a Light view: 1 Click or right-click the POV viewport label. 3ds Max opens the Point-Of- View viewport label menu. on page 8712. 2 Choose Lights. The Lights submenu shows the name of each spotlight or directional light in the scene. 3 Choose the name of the light you want. The viewport now shows the light's point of view. You can use the Light Viewport Controls on page 8753 to adjust the light. The default keyboard shortcut for switching to a Light viewport is $. Interface Directional Parameters rollout When you create a Free Direct light, the Targeted parameter is adjustable on the General Parameters rollout on page 5783. This is a fixed value for target lights. Targeted When on, 3ds Max sets a point to use as an invisible target about which the Free Direct light can orbit. The spinner adjusts the distance to the target. This parameter also affects the length of the light's cone display. Omni Light Create panel ➤ (Lights) ➤ Standard ➤ Omni button Create menu ➤ Lights ➤ Standard Lights ➤ Omni Light An Omni light casts rays in all directions from a single source. Omni lights are useful for adding "fill lighting" to your scene, or simulating point source lights. Standard Lights | 5769 Top: Top view of an omni light Bottom: Perspective view of the same light Omni lights can cast shadows and projections. A single shadow-casting omni light is the equivalent of six shadow-casting spotlights, pointing outward from the center. When you set a map projected by an Omni light to be projected using the Spherical, Cylindrical, or Shrink Wrap Environment coordinates, the map is projected in the same way as it would be mapped to the environment. When you use the Screen Environment coordinates or Explicit Map Channel Texture coordinates, six copies of the map are projected radially. TIP Omni lights can generate up to six quadtrees on page 9277, so they generate ray-traced shadows more slowly than spotlights. Avoid using ray-traced shadows with omni lights unless your scene requires this. 5770 | Chapter 16 Lights and Cameras See also: ■ Lights on page 5672 ■ Name and Color Rollout (Lights) on page 5675 ■ General Parameters Rollout (Standard Lights) on page 5783 ■ Intensity/Color/Attenuation Rollout (Standard Lights) on page 5790 ■ Advanced Effects Rollout on page 5817 ■ Shadow Parameters on page 5808 Procedures To create an omni light: 1 On the Create panel, click (Lights). 2 Choose Standard from the drop-down list. 3 On the Object Type rollout, click Omni. 4 Click the viewport location where you want the light to be. If you drag the mouse, you can move the light around before releasing the mouse to fix its position. The light is now part of the scene. 5 Set the creation parameters. To adjust the light's effect, you can move it as you would any object. Skylight Create panel ➤ (Lights) ➤ Standard ➤ Skylight button Create menu ➤ Lights ➤ Standard Lights ➤ Skylight The Skylight light models daylight. It is meant for use with the Light Tracer on page 7055. You can set the color of the sky or assign it a map. The sky is modeled as a dome above the scene. Standard Lights | 5771 Model rendered with a single skylight, and light tracing When you render with the default scanline renderer on page 7042, Skylight works best with advanced lighting: either the Light Tracer, or radiosity on page 7068. WARNING When you render with the mental ray renderer on page 7129, objects illuminated by a Skylight appear dark unless you turn on Final Gathering on page 9160. The toggle for Final Gathering is on the Final Gather rollout on page 7213 of the Render Setup dialog. 5772 | Chapter 16 Lights and Cameras A skylight is modeled as a dome above the scene. TIP There are several ways to model daylight in 3ds Max, but if you use the Light Tracer, a Skylight often gives the best results. TIP If you encounter visual anomalies when rendering a bump-mapped material with a Skylight, convert the material to an Advanced Lighting Override material on page 6588 and then reduce the Indirect Light Bump Scale value. Using a Map with the Skylight If you use a map with a Skylight, the following guidelines can improve its effect: ■ Make sure that the mapping coordinates are spherical or cylindrical. ■ For light tracing, make sure you use sufficient samples. A good rule of thumb is to use at least 1,000 samples: set Initial Sample Spacing to 8x8 or 4x4, and increase the value of Filter Size to 2.0. ■ Use an image-processing application to blur the map before you use it. With a blurred map, you can use fewer samples to obtain good results. When used with Skylight, a blurred map will still render well. Be aware that using sufficient samples with a mapped Skylight will take longer to render than if the light were not mapped. Standard Lights | 5773 Skylight and Radiosity in Architectural Design In order for radiosity to be processed correctly when a Skylight is added to the scene, you need to make sure that walls have closed corners and floors and ceilings have thickness under and over the walls. In essence, your 3D model should be built just like the real-world structure is built. If you build your model with walls that meet along a single edge or floors and ceilings are simple planes, when you process radiosity after adding a Skylight, you can end up with “light leaks” along those edges. Some of the ways to repair a model so light leaks do not occur are as follows: ■ Make sure floors and ceilings have thickness. You can fix this by extruding those surfaces at a sub-object level or by applying modifiers like Shell on page 1603 or Extrude on page 1369. ■ Use the Wall command on page 425 to create walls. The Wall command is programmed to make sure corners are constructed of solid objects instead of leaving a single, thin edge. ■ Ensure that floor and ceiling objects extend beyond walls. Floor objects need to extend under walls and ceilings need to extend over walls. By building your 3D model using these guidelines, light leaks will not occur when you process radiosity after adding a Skylight to the scene. Using Render Elements with a Skylight If you use Render Elements on page 7269 to output the lighting element on page 7290 of a skylight in a scene using either radiosity or the light tracer, you cannot separate the direct, indirect, and shadow channels of the light. All three elements of the skylight lighting are output to the Indirect Light channel. Procedures To create a Skylight: 1 On the Create panel, click 2 Choose Standard from the drop-down list. 3 On the Object Type rollout, click Skylight. 5774 | Chapter 16 Lights and Cameras (Lights). 4 Click a viewport. The light is now part of the scene. NOTE The position of the Skylight, and its distance from objects, has no effect. The Skylight object is simply a helper. Skylight always comes from “overhead.” 5 Set the creation parameters. Interface On Turns the light on and off. When On is on, shading and rendering use the light to illuminate the scene. When off, the light is not used in shading or rendering. Default=on. Multiplier Amplifies the power of the light by a positive or negative amount. For example, if you set the multiplier on page 9233 to 2, the light will be twice as bright. Default=1.0. Standard Lights | 5775 Using this parameter to increase intensity can cause colors to appear "burned out." It can also generate colors not usable in videos. In general, leave Multiplier set to its default of 1.0 except for special effects and special cases. Sky Color group Use Scene Environment Colors the light using the environment set up on the Environment panel on page 7621. This setting has no effect unless light tracing is active. Sky Color Click the color swatch to display a Color Selector on page 304 and choose a tint for the Skylight. Map controls These let you use a map to affect Skylight color. The button assigns a map, the toggle sets whether the map is active, and the spinner sets the percentage of the map to use (when the value is less than 100%, map colors are mixed with the Sky Color). TIP For best results, use an HDR File on page 8448 for illumination. The map has no effect unless light tracing is active. Render group NOTE If the renderer is not set to Default Scanline, or if the Light Tracer is active, these controls are disabled. Cast Shadows Causes the skylight to cast shadows. Default=off. NOTE The Cast Shadows toggle has no effect when using radiosity or the light tracer. NOTE Skylight objects will not cast shadows in an ActiveShade rendering on page 7001. Rays per Sample The number of rays used to calculate skylight falling on a given point in the scene. For animation, you should set this to a high value to eliminate flickering. A value of around 30 should eliminate flickering. 5776 | Chapter 16 Lights and Cameras Increasing the number of rays increases the quality of your image. However, it also increases rendering time. Ray Bias The closest distance at which objects can cast shadows on a given point in the scene. Setting this value to 0 can cause the point to cast shadows upon itself, and setting it to a large value can prevent objects close to a point from casting shadows on the point. mr Area Omni Light Create panel ➤ (Lights) ➤ Standard ➤ mr Area Omni button ➤ Area Light Parameters rollout When you render a scene using the mental ray renderer on page 7129, an area omni light emits light from a spherical or cylindrical volume, rather than from a point source. With the default scanline renderer, the area omni light behaves like any other standard omni light. NOTE In 3ds Max, area omni lights are created and supported by a MAXScript script. Only the mental ray renderer uses the parameters on the Area Light Parameters rollout. See Enhancements to Standard Features on page 7140 for more details. Standard Lights | 5777 TIP Area lights take longer to render than point lights. To create a quick test (or draft) rendering, you can use the Area/Linear Lights as Point Lights toggle in the Common Parameters rollout on page 7020 of the Render Setup dialog to speed up your rendering. See also: mr Area Spotlight on page 5780 ■ Procedures To create an area omni light: 1 On the Create panel, click (Lights). 2 Choose Standard from the drop-down list. 3 On the Object Type rollout, click mr Area Omni. 4 Click in a viewport. 5 Set the shape and size of the area light in the Area Light Parameters rollout. While you use the spinners to adjust the size of the area light, a gizmo (yellow by default) appears in viewports to show the adjusted size. This gizmo disappears once you finish adjusting the value. TIP You can use (Rotate) to adjust the orientation of a cylindrical area omni light. However, no gizmo appears while you rotate the light. To convert a standard 3ds Max light to an area light: 1 Select one or more lights. 2 Go to the Utilities panel. 5778 | Chapter 16 Lights and Cameras 3 On the Utilities rollout, click MAXScript. The MAXScript rollout is displayed. 4 On the MAXScript rollout, choose “Convert To mr Area Lights” from the Utilities drop-down list. The “Convert To mr Area Lights” rollout is displayed. 5 On the “Convert To mr Area Lights” rollout, click Convert Selected Lights. A MAXScript alert is displayed, that says "Delete Old Lights?" Click Yes to delete the original light and replace it with the area light. Click No to leave the original light in place. If you click No there are now two lights in the scene: the original light, and the area light based on it. 6 Click Close to dismiss the “Convert To mr Area Lights” and MAXScript rollouts. Interface On Turns the area light on and off. When On is on, the mental ray renderer uses the light to illuminate the scene. When On is off, the mental ray renderer doesn’t use the light. Default=on. Show Icon in Renderer When on, the mental ray renderer renders a dark shape at the light's location. When off, the area light doesn't render. Default=off. Type Changes the shape of the area light. The choices are Sphere, for a spherical volume, and Cylinder, for a cylindrical volume. Default=Sphere. Standard Lights | 5779 TIP You can use Rotate to adjust the orientation of a cylindrical area omni light. However, no gizmo appears while you rotate the light. Radius Sets the radius of the sphere or cylinder, in 3ds Max units. Default=20.0. Height Available only when Cylinder is the active type of area light. Sets the height of the cylinder, in 3ds Max units. Default=20.0. As you use these spinners to adjust the size of the area light, a gizmo appears in viewports to show the adjusted size. This gizmo disappears once you finish adjusting the value. Samples group U and V Adjust the quality of shadows cast by the area light. These values specify how many samples to take within the light’s area. Higher values can improve rendering quality at a cost of rendering time. For a spherical light, U specifies the number of subdivisions along the radius, and V specifies the number of angular subdivisions. For a cylindrical light, U specifies the number of sampled subdivisions along the height, and V specifies the number of angular subdivisions. Default=5 for both U and V. mr Area Spotlight Create panel ➤ (Lights) ➤ Standard ➤ mr Area Spot button ➤ Area Light Parameters rollout When you render a scene using the mental ray renderer on page 7129, an area spotlight emits light from a rectangular or disc-shaped area, rather than from a point source. With the default scanline renderer, the area spotlight behaves like any other standard spotlight. NOTE In 3ds Max, area spotlights are created and supported by a MAXScript script. Only the mental ray renderer uses the parameters in the Area Light Parameters rollout. See Enhancements to Standard Features on page 7140 for more details. TIP Area lights take longer to render than point lights. To create a quick test (or draft) rendering, you can use the Area/Linear Lights as Point Lights toggle on the Common Parameters rollout on page 7020 of the Render Setup dialog to speed up your rendering. 5780 | Chapter 16 Lights and Cameras See also: mr Area Omni Light on page 5777 ■ Procedures To create an area spotlight: 1 Go to the Create panel and click (Lights). 2 Choose Standard from the drop-down list. 3 On the Object Type rollout, click mr Area Spot. 4 Drag in a viewport. The initial point of the drag is the location of the light, and the point where you release the mouse is the location of the target. The mental ray renderer will ignore the spotlight cone, but the location of the spotlight target determines the orientation of the plane of the area light, and the direction in which it’s projected. 5 Set the shape and size of the area light in the Area Light Parameters rollout. While you use the spinners to adjust the size of the area light, a gizmo (yellow by default) appears in viewports to show the adjusted size. This gizmo disappears once you finish adjusting the value. To convert a standard 3ds Max light to an area light: 1 Select one or more lights. 2 Go to the Utilities panel. 3 On the Utilities rollout, click MAXScript. The MAXScript rollout is displayed. 4 On the MAXScript rollout, choose Convert To Area Lights from the Utilities drop-down list. The Convert To Area Lights rollout is displayed. Standard Lights | 5781 5 On the Convert To Area Lights rollout, click Convert Selected Lights. A MAXScript alert is displayed, that says "Delete Converted Lights?" Click Yes to delete the original light and replace it with the area light. Click No to leave the original light in place. If you click No there are now two lights in the scene: the original light, and the area light based on it. 6 Click Close to dismiss the Convert To Area Lights and MAXScript rollouts. Interface On Turns the area light on and off. When On is on, the mental ray renderer uses the light to illuminate the scene. When On is off, the mental ray renderer doesn’t use the light. Default=on. Show Icon in Renderer When on, the mental ray renderer renders a dark shape where the area light is. When off, the area light is invisible. Default=off. Type Changes the shape of the area light. Can be either Rectangle, for a rectangular area, or Disc, for a circular area. Default=Rectangle. Radius Available only when Disc is the active type of area light. Sets the radius of the circular light area, in 3ds Max units. Default=20.0. Height and Width Available only when Rectangle is the active type of area light. Set the height and width of the rectangular light area, in 3ds Max units. Default=20.0 for both Height and Width. While you use these spinners to adjust the size of the area light, a gizmo (yellow by default) appears in viewports to show the adjusted size. This gizmo disappears once you finish adjusting the value. 5782 | Chapter 16 Lights and Cameras Samples group U and V Adjust the quality of shadows cast by the area light. These values specify how many samples to take within the light’s area. Higher values can improve rendering quality at a cost of rendering time. For a rectangular light, U specifies the number of sampled subdivisions in one local dimension, and V the number of subdivisions in the other local dimension. For a circular (disc) light, U specifies the number of subdivisions along the radius, and V specifies the number of angular subdivisions. Default=5 for both U and V. Rollouts for Standard Lights The topics in this section describe rollouts whose controls are specific to standard lights. See also: ■ Name and Color Rollout (Lights) on page 5675 ■ Common Lighting Rollouts and Dialogs on page 5805 ■ Shadow Types and Shadow Controls on page 5825 General Parameters Rollout (Standard Lights) Create panel ➤ (Lights) ➤ Standard ➤ Create a standard light. ➤ General Parameters rollout Create menu ➤ Lights ➤ Standard Lights ➤ Create a standard light. ➤ General Parameters rollout This General Parameters rollout is displayed for standard lights. These controls turn a light on and off, and exclude or include objects in the scene. On the Modify panel, the General Parameters rollout also lets you control the light’s target object and change the light from one type to another. The General Parameters rollout also lets you turn shadow-casting on or off for the light, and choose which type of shadow the light uses. See Shadow Types and Shadow Controls on page 5825 and Shadow Parameters on page 5808. Standard Lights | 5783 Procedures To turn a light on and off: ■ Turn the On toggle on or off. Default=on. TIP To make a standard light flash on and off, set its Multiplier parameter to 0 in repeated keyframes, and assign a step tangent on page 3449 to this parameter. To have a light cast shadows: ■ In the General Parameters rollout ➤ Shadows group, make sure On is selected. The light will now cast shadows when you render the scene. Left: A spotlight's projection cone truncates shadows. Right: An omni light casts complete shadows. NOTE With Overshoot turned on, standard spotlights cast light in all directions but cast shadows only within the falloff cone; standard directional lights cast light throughout the scene, but cast shadows only within the falloff area. To have a light use the global settings for shadows: ■ On the General Parameters rollout, turn on Use Global Settings. When Use Global Settings is on, the other shadow controls are set to the values used by all other shadow-casting lights in the scene that have Use Global Settings set. Changing the affected parameters for one light with Use Global Settings set, changes them for all lights with Use Global Settings set. 5784 | Chapter 16 Lights and Cameras To set a light's shadow parameters individually: ■ On the General Parameters rollout, turn off Use Global Settings. The settings revert to the individual settings for the light. By default, Shadow Map is the active shadow type. In the Shadow Map Params rollout on page 5846, the default settings are: Map Bias=1; Size=512; Sample Range=4.0; Absolute Map Bias=Off. Scene with shadow-mapped shadows Shadows rendered using default parameter settings NOTE When you render a scene, you can turn rendering of shadows on or off. To cast area shadows: ■ On the General Parameters rollout, choose Area Shadows from the drop-down list. Use controls on the Area Shadows rollout on page 5832 to adjust the shadow properties. To cast advanced ray-traced shadows: Advanced ray-traced shadows are similar to ray-traced shadows, however they provide control over antialiasing on page 9087, letting you fine-tune how shadows are generated. ■ On the General Parameters rollout, choose Advanced Ray-traced Shadows from the drop-down list. Standard Lights | 5785 Use controls on the Advanced Ray-traced Params rollout on page 5828 to adjust the shadow properties. To cast shadow-mapped shadows: 1 On the General Parameters rollout, choose Shadow Maps from the drop-down list. 2 Go to the Shadow Map Params rollout on page 5846. ■ Use the Size spinner to set the size of the shadow map. ■ Use the Bias spinner to adjust the shadow offset, if necessary. ■ Use the Sample Range spinner to create a soft-edged shadow. To cast ray-traced shadows: Ray-traced shadows on page 9279 are generated by tracing the path of rays sampled from a light source. Ray-traced shadows are more accurate than shadow-mapped shadows. 1 On the General Parameters rollout, choose Ray-Traced Shadows from the drop-down list. 2 Use controls on the Ray Traced Shadow Params rollout on page 5844 to adjust the shadow offset, if necessary. To keep an object from casting shadows: 1 Select the object. 2 Right-click the object to display the quad menu, then from the Transform (lower-right) quadrant, choose Properties. 3ds Max opens the Object Properties dialog on page 221. 3 Turn off Cast Shadows, and then click OK. Now when you render the scene, the object casts no shadows. 5786 | Chapter 16 Lights and Cameras To make an object not receive shadows: 1 Select the object. 2 Right-click the object to display the quad menu, then from the Transform (lower-right) quadrant, choose Properties. 3ds Max opens the Object Properties dialog on page 221. 3 Turn off Receive Shadows, and then click OK. Now when you render the scene, the object receives no shadows. NOTE You can also prevent objects from casting shadows by excluding them from a light. Interface Light Type group (Modify panel) On (Both Create panel and Modify panel) Turns the light on and off. When On is on, shading and rendering use the light to illuminate the scene. When On is off, the light is not used in shading or rendering. Default=on. In viewports, the interactive renderer shows the effect of turning lights on or off. Standard Lights | 5787 Light Type List Changes the type of the light. If you have selected a standard light type on page 5757, the light can be changed to an omni, spot, or directional light. If you have selected a photometric light type on page 5707, you can change the light to a point, linear, or area light. This parameter is available only in the Modify panel. Targeted When on, the light is targeted. The distance between the light and its target is displayed to the right of the check box. For a free light, you can set this value. For target lights, you can change it by turning off the check box, or by moving the light or the light's target object. Shadows group On Determines whether the current light casts shadows or not. Default=on. Shadow Method drop-down list Determines whether the renderer uses shadow maps on page 9305, ray-traced shadows on page 9279, advanced ray-traced shadows on page 9279, or area shadows on page 9095, to generate shadows for this light. The “mental ray Shadow Map” type is provided for use with the mental ray renderer on page 7129. When you choose this shadow type and enable shadow maps (on the Shadows & Displacement rollout on page 7209 of the Render Setup dialog), shadows use the mental ray shadow-map algorithm. If this type is chosen but you render with the default scanline renderer, no shadows appear in the rendering. NOTE When shadow maps are enabled and the shadow map type is Shadow Map, the mental ray renderer attempts to translate the shadow map settings into comparable settings for mental ray shadow maps. (The results might not be what you expected.) In all other cases, the mental ray renderer generates ray-traced shadows. Each shadow type has its particular controls: ■ Advanced ray-traced shadowsSee Advanced Ray-Traced Parameters Rollout on page 5828 and Optimizations Rollout on page 5839. ■ Area shadowsSee Area Shadows Rollout on page 5832 and Optimizations Rollout on page 5839. ■ mental ray shadow mapsSee mental ray Shadow Map Rollout on page 5842. ■ Ray-traced shadowsSee Ray-Traced Shadow Parameters Rollout on page 5844. ■ Shadow mapsSee Shadow Map Parameters Rollout on page 5846. 5788 | Chapter 16 Lights and Cameras TIP Use ray-traced or advanced ray-traced shadows when you want shadows cast by opacity-mapped objects. Shadow-mapped shadows don't recognize the transparent portions of the mapping, and as a result they don't look convincing. Use Global Settings Turn on to use global settings for shadows cast by this light. Turn off to enable individual control of the shadows. If you choose not to use the global settings, you must choose which method the renderer will use to generate shadows for this particular light. When Use Global Settings is on, the shadow parameters switch over to show you what the global settings are. This data is shared by every other light of this class. When Use Global Settings is off, the shadow parameters are specific to that particular light. Exclude button Excludes selected objects from the effects of the light. Click this button to display the Exclude/Include dialog on page 5805. Excluded objects still appear lit in shaded viewports. Exclusion takes effect only when you render the scene. Roll Angle Manipulator To change the roll angle of a target light, you can use a manipulator. This can be useful if the light does not cast a round beam, or if it is a projector light (see Advanced Effects Rollout on page 5817). To display the manipulator, select the light, right-click it, and then click Roll Angle Manipulator Toggle on the Tools 2 (lower left) quadrant of the quad menu. Standard Lights | 5789 Roll angle manipulator on a target light Drag the circular portion of the manipulator to rotate the light by an arbitrary number of degrees. Click one of the red or green “clock hands” of the manipulator to rotate the light in 90-degree increments. NOTE You can also access the roll angle manipulator by selecting the light object and then turning on Select And Manipulate on page 2868 on the main toolbar. Intensity/Color/Attenuation Rollout (Standard Lights) Create panel ➤ (Lights) ➤ Standard ➤ Create a Standard light. ➤ Attenuation Parameters rollout The Intensity/Color/Attenuation rollout allows you to set the color and intensity of your light. You can also define the attenuation of your light. 5790 | Chapter 16 Lights and Cameras Attenuation settings cause distant objects to be dimmer. Attenuation on page 9098 is the effect of light diminishing over distance. In 3ds Max, you can set attenuation values explicitly. The effects can vary from real-world lights, giving you more direct control over how lights fade in or fade out. NOTE With no attenuation, an object can paradoxically appear to grow brighter as it moves away from the light source. This is because the angle of incidence more closely approaches 0 degrees for more of the object's faces. Two sets of values control attenuation for objects. The Far attenuation value sets the distance at which the light drops off to zero. The Near attenuation value sets the distance at which the light "fades in." Both these controls are turned on and off by a toggle called Use. When Use is set for far attenuation, the light at its source uses the value specified by its color and multiplier controls. It remains at this value from the source to the distance specified by Start, then its value drops off to zero at the distance specified by End. Standard Lights | 5791 Adding attenuation to a scene When Use is set for Near attenuation, the light value remains at zero up to the distance specified by Start. From Start to the distance specified by End, its value increases. Beyond End, the light remains at the value specified by the color and multiplier controls, unless far attenuation is also active. You can't set the Near and Far attenuation distances so they overlap. The Decay controls are an additional way to make a light fade out. TIP When lights are attenuated, the light might be too bright on near surfaces or too dim on far surfaces. If you see this in renderings, exposure control can help correct the problem. It adjusts the larger dynamic range of the (simulated) physical scene, into the smaller dynamic range of the display. See Environment Panel on page 7621 for additional information on exposure control. Procedures To choose the color of a light using the color selector: 1 Click the color swatch next to the On check box. A modal Color Selector on page 304 is displayed. 2 Use the Color Selector to choose a new color, and then click OK. Shaded viewports update to show the new light color, which also appears in renderings. To change a light's intensity: ■ Increase the light's Multiplier value. 5792 | Chapter 16 Lights and Cameras To use attenuation: 1 Set the Start and End values. 2 Turn on Use. Attenuation is now in effect for this light when the scene is shaded or rendered. NOTE You can also change the decay type (and values) to reduce the light’s intensity over distance. To see the attenuation range in viewports: ■ Set Show for far or near attenuation. You can preview the effect of attenuation in shaded viewports only if you turn this on as an option in viewport preferences on page 8896. Interface Multiplier Amplifies the power of the light by a positive or negative amount. For example, if you set the multiplier on page 9233 to 2, the light will be twice Standard Lights | 5793 as bright. A negative value subtracts light and thus is useful for selectively placing dark areas in the scene. Default=1.0. Using this parameter to increase intensity can cause colors to appear "burned out." It can also generate colors not usable in videos. In general, leave Multiplier set to its default of 1.0 except for special effects and special cases. High Multiplier values wash out colors. For example, if you set a spotlight to be red but then increase its Multiplier to 10, the light is white in the hotspot and red only in the falloff area, where the Multiplier isn't applied. Negative Multiplier values result in "dark light." That is, the light darkens objects instead of illuminating them. Color Swatch Shows the color of the light. Clicking the color swatch displays the Color Selector on page 304 so you can choose a color for the light. Decay group Decay is an additional way to make a light's intensity reduce over distance. Type Sets the type of decay to use. There are three types to choose from. ■ None(The default.) Applies no decay. The light maintains full strength from its source to infinity, unless you turn on far attenuation. ■ InverseApplies inverse decay. The formula is luminance=R0 /R, where R0 is the radial source of the light if no attenuation is used, or the Near End value of the light if attenuation is used. R is the radial distance of the illuminated surface from R0. ■ Inverse SquareApplies inverse-square decay. The formula for this is (R0 /R)2. This is actually the "real-world" decay of light, but you might find it too dim in the world of computer graphics. This is the decay formula used by photometric lights on page 5707. TIP If Inverse Square decay makes the scene too dim, you can try using the Environment Panel on page 7621 to increase the Global Lighting Level value. The point at which decay begins depends on whether or not you use attenuation: ■ With no attenuation, decay begins at the source of the light. ■ With near attenuation, the decay begins at the Near End position. Once the beginning point is established, the decay follows its formula to infinity, or until the light itself is cut off by the Far End distance. In other 5794 | Chapter 16 Lights and Cameras words, the distance between Near End and Far End does not scale, or otherwise affect, the apparent ramp of decaying light. TIP Because decay continues to calculate dimmer and dimmer values as the distance of the light throw increases, it's a good idea to set at least the Far End of attenuation to eliminate unnecessary calculations. Near Attenuation group Start Sets the distance at which the light begins to fade in. End Sets the distance at which the light reaches its full value. Use Enables near attenuation for the light. Show Displays the near attenuation range settings in viewports. For spotlights, attenuation ranges appear as lens-shaped sections of the cone. For directional lights, the ranges appear as circular sections of the cone. For omni lights and spot or directional lights with Overshoot turned on, the ranges appear as spheres. By default, Near Start is dark blue and Near End is light blue. NOTE The attenuation ranges are always visible when a light is selected, so turning off this check box has no apparent effect until you deselect the light. Far Attenuation group Setting a Far Attenuation range can help improve rendering time dramatically. TIP If your scene has a large number of lights, use Far Attenuation to limit the portion of the scene each light illuminates. For example, if an office area has rows of overhead lights, you could set Far Attenuation ranges to keep the lights’ illumination from being calculated when you render the reception area instead of the main office. As another example, a staircase might have recessed lights on each stair, as many theaters do. Setting a small Far Attenuation value for these lights can prevent their (negligible) illumination from being calculated when you render the theater as a whole. Start Sets the distance at which the light begins to fade out. End Sets the distance at which the light has faded to zero. Use Enables far attenuation for the light. Show Displays the far attenuation range settings in viewports. For spotlights, attenuation ranges appear as lens-shaped sections of the cone. For directional lights, the ranges appear as circular sections of the cone. For omni lights and Standard Lights | 5795 spot or directional lights with Overshoot turned on, the ranges appear as spheres. By default, Far Start is light brown and Far End is dark brown. NOTE The attenuation ranges are always visible when a light is selected, so turning off this check box has no apparent effect until you deselect the light. Directional Parameters Create a standard Target Direct or Free Direct light. ➤ Directional Parameters rollout The Directional Parameters rollout appears when you create or select a target direct on page 5764 or free direct on page 5767 light. These parameters control hotspots on page 9187 and falloff on page 9187. Procedures To see the directional cone in viewports: The cone is always visible while the light is selected. This setting keeps the cone visible when the light is unselected. 1 Select the spotlight. 2 In the Directional Parameters rollout ➤ Light Cone group, turn on Show Cone. 3 Select another object, deselecting the light. A wireframe outline of the light's cone appears. The hotspot region is outlined in light blue, and the falloff region is outlined in dark gray. The cone is always visible while the light is selected. TIP The hotspot and falloff borders are not visible in shaded viewports. Use the cone values to adjust hotspot and falloff in the viewport. Render the scene to see the full effect of the light's border. 5796 | Chapter 16 Lights and Cameras To adjust the hotspot and falloff: ■ Use the Hotspot and Falloff spinners to increase or decrease the size of the hotspot and falloff regions. For directional lights, Hotspot and Falloff are expressed in units. By default, the falloff value is always constrained to be at least two degrees or two units greater than the hotspot value. The size of this constraint is a preference that you can change in the Rendering panel on page 8929 of the Preferences dialog. The falloff value can range from 0 to 10,000 units. When the hotspot and falloff values are equal, the light casts a hard-edged beam. To set the shape of the light beam: 1 Choose either Rectangle or Circle. The shape of the light's cone changes to reflect the shape you chose. 2 If you chose Circle, you are done. If you chose Rectangle, you can now adjust the aspect ratio on page 9096 of the rectangular light using the spinner labeled Aspect. To change a rectangular light's aspect ratio: 1 Choose Rectangle, as described above. 2 Change the Aspect value to the aspect ratio that you want. The Bitmap Fit button is another way to set the aspect ratio. It is mainly used with projections. Standard Lights | 5797 Interface Light Cone group These parameters control hotspots on page 9187 and falloff on page 9187 for spotlights. Show Cone Turns display of the cone on or off. NOTE The cone is always visible when a light is selected, so clearing this check box has no apparent effect until you deselect the light. Overshoot When Overshoot on page 9255 is set, the light casts light in all directions. However, projections and shadows occur only within its falloff cone. Hotspot/Beam Adjusts the size of a light's cone. The Hotspot value is measured in 3ds Max units. Default=43.0. Falloff/Field Adjusts the size of a light's falloff. The Falloff value is measured in 3ds Max units. Default=45.0. You can also adjust hotspot and falloff angles in a Light viewport on page 5799 (looking at the scene from the point of view of the spotlight). Circle/Rectangle Determine the shape of the falloff and hotspot areas. Set Circle when you want a standard, circular light. Set Rectangle when you want a rectangular beam of light, such as light cast through a window or doorway. Aspect Sets the aspect ratio on page 9096 for the rectangular light beam. The Bitmap Fit button lets you make the aspect ratio match a specified bitmap. Default=1.0. 5798 | Chapter 16 Lights and Cameras Bitmap Fit If the light's projection aspect is rectangular, sets the aspect ratio to match a particular bitmap. This is useful when you are using the light as a projector light on page 9276. Spotlight Parameters Create a standard Target Spotlight or Free Spotlight. ➤ Spotlight Parameters rollout The Spotlight Parameters rollout appears when you create or select a Target Spot on page 5758 or Free Spot on page 5761. Procedures To see the spotlight cone in viewports: The cone is always visible while the light is selected. This setting keeps the cone visible when the light is unselected. 1 Select the spotlight. 2 In the Spotlight Parameters rollout ➤ Light Cone group, turn on Show Cone. 3 Select another object to deselect. A wireframe outline of the light's cone appears. The hotspot region is outlined in light blue, and the falloff region is outlined in dark gray. Standard Lights | 5799 Spotlight cone displayed in a viewport To adjust the hotspot and falloff, do one of the following: ■ Use the Hotspot and Falloff spinners to increase or decrease the size of the hotspot and falloff regions. For spotlights, Hotspot and Falloff are expressed in degrees. ■ Use manipulators to adjust hotspot and falloff by dragging in a viewport, as described in the procedure that follows. By default, falloff value is always constrained to be at least two degrees or two units greater than the hotspot value. The size of this constraint is a preference that you can change in the Rendering panel on page 8929 of the Preferences dialog. The falloff value can range from 0 to 10,000 units. When the hotspot and falloff values are close in value, the light casts a hard-edged beam. 5800 | Chapter 16 Lights and Cameras To use manipulators to control hotspot and falloff: 1 Select the spotlight. TIP When you select multiple spotlights, all their manipulators are accessible. 2 On the main toolbar, click to turn on (Select And Manipulate). Now when you move the mouse over the hotspot or falloff circle, the circle turns red to show you can adjust it by dragging. Also, a tooltip displays the spotlight name, the parameter, and its value. 3 Drag the hotspot or falloff circle to adjust the value. The hotspot and falloff constrain each other, as their spinner controls do. Spotlight manipulators are described at the end of this topic. To set the shape of the light beam: 1 Choose either Rectangle or Circle. The shape of the light's cone changes to reflect the shape you chose. 2 If you chose Circle, you are done. If you chose Rectangle, you can now adjust the aspect ratio on page 9096 of the rectangular light in the Aspect field. To change a rectangular light's aspect ratio: 1 Choose Rectangle, as described above. 2 Change the Aspect value to the aspect ratio that you want. The Bitmap Fit button is another way to set the aspect ratio. It is mainly used with projections. Standard Lights | 5801 Interface Light Cone group These parameters control hotspots and falloff on page 9187 for spotlights. Show Cone Turns display of the cone on or off. NOTE The cone is always visible when a light is selected, so turning off this check box has no apparent effect until you deselect the light. Overshoot When Overshoot on page 9255 is on, the light casts light in all directions. However, projections and shadows occur only within its falloff cone. Hotspot/Beam Adjusts the angle of a light's cone. The Hotspot value is measured in degrees. Default=43.0. Falloff/Field Adjusts the angle of a light's falloff. The Falloff value is measured in degrees. Default=45.0. For photometric lights, the Field angle is comparable to the Falloff angle. It is the angle at which the light's intensity has fallen to zero. You can manipulate the hotspot and falloff by dragging manipulators in viewports, as described in the previous procedures, and the later section "Manipulators for Spotlights." You can also adjust hotspot and falloff angles in a Light viewport (looking at the scene from the point of view of the spotlight). 5802 | Chapter 16 Lights and Cameras Circle/Rectangle Determine the shape of the falloff and hotspot areas. Set Circle when you want a standard, circular light. Set Rectangle when you want a rectangular beam of light, such as light cast through a window or doorway. Aspect Sets the aspect ratio on page 9096 for the rectangular light beam. The Bitmap Fit button lets you make the aspect ratio match a specified bitmap. Default=1.0. Bitmap Fit If the light's projection aspect is rectangular, sets the aspect ratio to match a particular bitmap. This is useful when you are using the light as a projector light on page 9276. Manipulators for Spotlights Manipulators are visible and usable while the Select And Manipulate button on page 2868 is turned on. This button is on the default main toolbar on page 8623. When you move the mouse over a manipulator, the manipulator turns red to show that dragging or clicking it will have an effect. Also, a tooltip appears, showing the name of the object, the parameter, and its value. TIP When you select multiple spotlights, all their manipulators are accessible. For more information on using the spotlight manipulators, see the Procedures section at the top of this topic. Hotspot manipulator: In a viewport, drag the hotspot circle to adjust the hotspot value. Falloff manipulator: In a viewport, drag the falloff to adjust the falloff value. The hotspot and falloff constrain each other, as their spinner controls do. Hair Light Attr(ibutes) Rollout Create a supported light. ➤ Select an object with the Hair And Fur modifier applied. ➤ Render Settings ➤ Effects panel ➤ In a viewport, select the light. ➤ Hair And Fur rollout ➤ Lighting group ➤ Click Add Hair Properties. ➤ Modify panel ➤ Hair Light Attr rollout Add a supported light and an object with the Hair And Fur modifier applied. ➤ Rendering menu ➤ Effects ➤ Highlight the Hair And Fur render effect. ➤ Hair And Fur rollout ➤ Lighting group ➤ Select the light (in a viewport). Standard Lights | 5803 ➤ Click Add Hair Properties. ➤ rollout Modify panel ➤ Hair Light Attr The Hair Light Attr(ibutes) rollout lets you adjust properties for the hair shadow map generated by the light. This rollout appears for supported lights at render time. If you want to adjust a light's hair settings before render time, you can display it explicitly by following the steps shown in the path annotations at the beginning of this topic. You specify which lights to use in the Hair And Fur render effect on page 7520. By default, Use All Lights At Render Time on page 7525 is on, so all supported lights in the scene can illuminate hair. Use this rollout to set hair-specific shadow-map values. Hair shadows ignore the light's ordinary shadow-map settings (for other 3ds Max objects). IMPORTANT The settings on this rollout apply only to “buffer”-rendered hair (the default rendering method, set in the Hair And Fur render effect). The “geometry” and “mr prim” methods use the light's ordinary shadow settings. Interface Light hair When on, the light can illuminate and cast shadows from the hair. NOTE The light must also be set to cast shadows (General Parameters rollout ➤ Shadows ➤ On). Resolution Sets the size (in pixels squared) of the shadow map that's computed for the light. The shadow map size specifies the amount of subdivisions for the map. The higher the value, the more detailed the map will be, but the more memory is required. Fuzz Sets the softness of the shadow edges. See Sample Range on page 9287. 5804 | Chapter 16 Lights and Cameras Left: Fuzz=0.0 Center: Fuzz=5.0 Right: Fuzz=10.0 The arrow points to the shadow cast by the hair on the underlying surface. Common Lighting Rollouts and Dialogs The topics in this section describe rollouts and dialogs whose controls are common to both photometric and standard lights. See also: ■ Name and Color Rollout (Lights) on page 5675 ■ Rollouts for Photometric Lights on page 5714 ■ Rollouts for Standard Lights on page 5783 ■ Shadow Types and Shadow Controls on page 5825 Exclude/Include Dialog Create a light. ➤ General Parameters rollout ➤ Exclude button Rendering menu ➤ Render ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Select an existing Matte element in the list. ➤ Matte Texture Element rollout ➤ Include button The Exclude/Include dialog determines which objects are not illuminated by a selected light, or which objects are considered in a Matte render element on page 7269. Common Lighting Rollouts and Dialogs | 5805 Although light exclusion does not occur in nature, this feature is useful when you need exact control over the lighting in your scene. Sometimes, for example, you'll want to add lights specifically to illuminate a single object but not its surroundings, or you'll want a light to cast shadows from one object but not from another. Procedures To exclude objects from a light: 1 On the General Parameters rollout, click Exclude. The Exclude/Include dialog is displayed. 2 Make sure Exclude is on. 3 Choose to exclude objects from Illumination, Shadow Casting, or Both. 4 In the list of object names on the left, highlight the objects you want to exclude. 5 Click the arrow pointing to the right to move the selected object names into the right-hand list. Objects in the right-hand list will be excluded. To remove an object from this list, highlight its name and click the arrow pointing to the left. To remove all objects from this list, click Clear. 6 Click OK. Now when you shade or render the scene, the light will have no effect on the objects you chose. The object still appears lit in shaded viewports. Exclusion takes effect only when you render the scene. To include objects that were excluded: 1 Click Exclude. 3ds Max opens the Exclude/Include dialog 2 Select the names of objects in the right-hand list, and then click the arrow pointing to the left. 3 Click OK. To include all excluded objects at once: 1 Click Exclude or Include. 5806 | Chapter 16 Lights and Cameras 3ds Max opens the Exclude/Include dialog. 2 Click Clear. 3 Click OK. Interface The Exclude/Include dialog contains the following controls: Exclude/Include Determines whether the light (or Matte render element) will exclude or include the objects named in the list on the right. Illumination Excludes or includes illumination of the object's surface. NOTE This control has no effect on the matte render element. Shadow Casting Excludes or includes creation of the object's shadow. Common Lighting Rollouts and Dialogs | 5807 NOTE This control is not available with the matte render element. Both Excludes or includes both of the above. NOTE This control is not available with the matte render element. Scene Objects Select objects from the Scene Objects list on the left, then use the arrow buttons to add them to the exclusion list on the right. The Exclude/Include dialog treats a group as an object. You can exclude or include all objects in a group by selecting the group's name in the Scene Objects list. If a group is nested within another group, it isn't visible in the Scene Objects list. To exclude a nested group or individual objects within the group, you have to ungroup them before you use this dialog. Search field The edit box below the Scene Objects list searches for objects by name. You can enter names that use wildcards. Display Subtree Indents the Scene Objects list according to the object hierarchy. Case Sensitive Uses case sensitivity when searching object names. Selection Sets Displays a list of named selection sets on page 204. Choosing a selection set from this list selects those objects in the Scene Objects list. Clear Clears all entries from the Exclude/Include list on the right. Shadow Parameters Create panel ➤ Parameters rollout (Lights) ➤ Create a light. ➤ Shadow The Shadow Parameters rollout is displayed for all light types except Skylight and IES Sky, and for all shadow types. It lets you set shadow colors and other general shadow properties. 5808 | Chapter 16 Lights and Cameras A bridge's shadow cast by sunlight The controls also let atmospheric effects cast shadows. See also: ■ Advanced Ray-Traced Parameters Rollout on page 5828 ■ Area Shadows Rollout on page 5832 ■ mental ray Shadow Map Rollout on page 5842 ■ Optimizations Rollout on page 5839 ■ Ray-Traced Shadow Parameters Rollout on page 5844 ■ Shadow Map Parameters Rollout on page 5846 Common Lighting Rollouts and Dialogs | 5809 Interface Color Displays a Color Selector on page 304 to choose a color for the shadows cast by this light. Default=black. You can animate the shadow color. Dens. (density) Adjusts the density of shadows. 5810 | Chapter 16 Lights and Cameras The shadow density increases from right to left. Increasing the Density value increases the density (darkness) of shadows. Decreasing Density makes shadows less dense. Default=1.0. Density can have a negative value, which can help simulate the effect of reflected light. A white shadow color and negative Density render dark shadows, though the quality of these is not as good as a dark shadow color and positive Density. You can animate the Density value. Map check box Turn on to use the map assigned with the Map button. Default=off. Map Assigns a map to the shadows. The map's colors are blended with the shadow color. Default=none. Light Affects Shadow Color When on, blends the light's color with the shadow color (or shadow colors, if the shadow is mapped). Default=off. Common Lighting Rollouts and Dialogs | 5811 A checker map is used to alter the shadow cast by the piano. Atmosphere Shadows group These controls let atmospheric effects such as Volume Fog on page 7646 cast shadows. On When on, atmospheric effects cast shadows as the light passes through them. Default=off. NOTE This control is independent of the On toggle for normal Object Shadows. A light can cast atmospheric shadows but not normal shadows, or vice versa. It can cast both kinds of shadows, or neither. Opacity Adjusts the opacity of the shadows. This value is a percentage. Default=100.0. Color Amount Adjusts the amount that the atmosphere's color is blended with the shadow color. This value is a percentage. Default=100.0. 5812 | Chapter 16 Lights and Cameras A Volume Fog cloud casts a colored shadow on the city. Atmospheres and Effects for Lights Modify panel ➤ Select a light object. ➤ Atmospheres & Effects rollout The Atmospheres & Effects rollout lets you assign, delete, and set up parameters for atmospheres and rendering effects associated with the light. This rollout appears only in the Modify panel; it doesn't appear at creation time. Adding an atmosphere or effect associates that atmosphere or effect with the light object. This rollout is a shortcut to either the Environment panel on page 7621 or the Effects panel on page 7517 on the Environment And Effects dialog. Common Lighting Rollouts and Dialogs | 5813 Procedures To add a new atmosphere or rendering effect: 1 On the Atmospheres & Effects rollout, click Add. 3ds Max opens the Add Atmosphere or Effect dialog on page 5815. 2 On the dialog, choose Atmosphere, Effect, or All. Choose New. 3 Choose an atmosphere or effect in the list, then click OK. This associates a new atmosphere or rendering effect with the light. To add an existing atmosphere or rendering effect: 1 On the Atmospheres & Effects rollout, click Add. 3ds Max displays the Add Atmosphere or Effect dialog on page 5815. 2 On the dialog, choose Existing. 3 Choose an atmosphere or effect in the list, then click OK. This creates a duplicate atmosphere or rendering effect for the light. Its settings are initially identical to the atmosphere or effect you chose. You can adjust them using Setup. To delete an atmosphere or rendering effect: ■ In the Atmospheres & Effects rollout, choose the name of an atmosphere or effect in the list, then click Delete. To set up the parameters for an atmosphere or rendering effect: ■ In the Atmospheres & Effects rollout, choose the name of an atmosphere or effect in the list, then click Setup. If you chose an atmosphere, clicking Setup displays the Environment panel on page 7621. If you chose an effect, clicking Setup displays the Effects panel on page 7517. Interface These controls are displayed for all light types. 5814 | Chapter 16 Lights and Cameras Add Displays the Add Atmosphere or Effect dialog on page 5815, which lets you add an atmosphere or a rendering effect to the light. Delete Deletes the atmosphere or effect you have selected in the list. List of atmospheres and effects Displays the names of all atmospheres or effects you have assigned to this light. Setup Lets you set up the atmosphere or rendering effect you have selected in the list. If the item is an atmosphere, clicking Setup displays the Environment panel on page 7621. If the item is an effect, clicking Setup displays the Effects panel on page 7517. Add Atmosphere or Effect Dialog Modify panel ➤ Select a light object. ➤ Atmospheres & Effects rollout ➤ Add button The Add Atmosphere Or Effect dialog lets you associate an atmosphere or a rendering effect with the light. The list shows either atmospheres, rendering effects, or both. It shows only atmospheres and effects that can be associated with light objects, or that use light objects as their apparatus. Common Lighting Rollouts and Dialogs | 5815 Interface List of atmospheres and effects Displays the atmospheres or effects that you can associate with the light. List filter group These radio buttons choose what to show in the list. Atmosphere Lists only atmospheres. Effect Lists only rendering effects. All Lists both atmospheres and rendering effects. New or existing group These radio buttons choose between new or existing effects. New Lists only new atmospheres or effects. Existing Lists only atmospheres or effects that have been already assigned to the light. Adding an existing atmosphere or effect creates a new atmosphere or effect whose settings are initially identical to the previous one. 5816 | Chapter 16 Lights and Cameras Advanced Effects Rollout Create panel ➤ Effects rollout (Lights) ➤ Create a light. ➤ Advanced The Advanced Effects rollout provides controls that affect how lights affect surfaces, and also includes a number of fine adjustments and setting for projector lights. You can make a light object on page 5672 into a projector by choosing a map for the light to project. A projected map can be a still image or an animation. Casting a projection with a light NOTE If your scene includes animated bitmaps, including materials, projector lights, environments, and so on, the animation file is reloaded once per frame. If your scene uses multiple animations, or if the animations are large files, this can slow down rendering performance. Common Lighting Rollouts and Dialogs | 5817 Procedures To make a light a projector: 1 Open the Material Editor on page 6020. The Material Editor is where you adjust the map's parameters. 2 Use an unused sample slot to display a map. 3 Drag the map from the Material Editor to the light's Map button in the Advanced Effects rollout. A dialog asks if the projection map should be a copy or an instance. Choose Instance. If you choose Copy, adjusting the map in the Material Editor has no effect on the projected map. You can also drag from any other used map button, as in the Environment dialog. Assigning the map displays the map name in the button, and turns on the Projector toggle. After you have set up the map, you can turn off Projector to test rendering the scene without the projected image. An alternative is to click the Map button. This displays the Material/Map Browser on page 6167, which lets you choose the map type. At this point, the light behaves as a projector. To assign a map or adjust its parameters, you need to use the Material Editor. NOTE Lights project maps only within their cone, even if Overshoot is turned on. To put the map in the Material Editor: ■ Drag from the light's Map button to an unused sample slot in the Material Editor. NOTE Sample slots with white triangles in the corners indicate materials that are used in the current scene. You can adjust the map in the Material Editor by changing the map's parameters. To blur a projection map: ■ Increase the value of Blur Offset in the map's Coordinates rollout in the Material Editor. 5818 | Chapter 16 Lights and Cameras You can animate Blur Offset to have a projected map go in or out of focus. To make the shape of the light fit the projected bitmap: NOTE This procedure applies to Standard spot and direct lights only. 1 Choose a bitmap to project, as described in the preceding procedures. 2 Make sure the light's shape is set to Rectangular, and then click Bitmap Fit. 3ds Max opens a file selection dialog. 3 Choose the same bitmap you chose for the standalone map, and then click OK. You can also choose a bitmap other than the one the light projects. Interface Affect Surfaces group Contrast Adjusts the contrast between the diffuse and ambient areas of the surface. Leave this set to 0 for normal contrast. Increase the value to increase the contrast for special effects: for example, the harsh light of outer space. Default=0.0. Soften Diffuse Edge Increasing the value of Soften Diffuse Edge softens the edge between the diffuse and ambient portions of a surface. This helps eliminate edges that can appear on a surface under certain circumstances. Default=50. Common Lighting Rollouts and Dialogs | 5819 NOTE Soften Diffuse Edge reduces the amount of light, slightly. You can counter this, to some extent, by increasing the Multiplier value. Diffuse When on, the light affects the diffuse properties of an object's surface. When off, the light has no effect on the diffuse surface. Default=on. Specular When on, the light affects the specular properties of an object's surface. When off, the light has no effect on the specular properties. Default=on. For example, by using the Diffuse and Specular check boxes you can have one light color the specular highlights of an object, while not coloring its diffuse area, and then have a second light color the diffuse portion of the surface while not creating specular highlights. Ambient Only When on, the light affects only the ambient component of the illumination. This gives you more detailed control over the ambient illumination in your scene. When Ambient Only is on, Contrast, Soften Diffuse Edge, Diffuse, and Specular are unavailable. Default=off. The effect of Ambient Only isn't visible in viewports. It appears only when you render the scene. A: Affect specular only B: Affect diffuse only C: Affect ambient only Projector Map group These controls make the photometric light a projector. 5820 | Chapter 16 Lights and Cameras Check box Turn on to project the map selected by the Map button. Turn off to turn off projection. Map Names the map used for the projection. You can drag from any map specified in the Material Editor, or any other map button (as on the Environment panel), and drop that map on the light's Map button. Clicking Map displays the Material/Map Browser. You can choose the map type using the Browser, then drag the button to the Material Editor, and use the Material Editor to select and adjust the map. mental ray Indirect Illumination Rollout (for Lights) Create panel ➤ (Lights) ➤ Create a light. ➤ panel ➤ mental ray Indirect Illumination rollout Modify NOTE This rollout does not appear on the Create panel. The mental Indirect Illumination rollout provides controls for light behavior with the mental ray renderer on page 7129. The settings on this rollout have no effect on rendering with the default scanline renderer, or on advanced lighting (the light tracer or a radiosity solution). These settings control how the light behaves when it generates indirect illumination; that is, caustics on page 7154 and global illumination on page 7160. TIP By default, each light uses the global settings found in the Light Properties group on the Render Setup Dialog ➤ Indirect Illumination panel ➤ Caustics and Global Illumination rollout on page 7224. It is more convenient to adjust all lights in the scene at once. If you need to adjust a specific light, you can use the multiplier controls for energy and photons. In general, you should rarely, if ever, need to turn off Use Global Settings and specify local light settings for indirect illumination. IMPORTANT In addition to the values specified here, the light must also be set to generate caustics, global illumination, or both. These controls are on the mental ray panel on page 236 of the Object Properties dialog. You also need to turn on Caustics, Global Illumination, or both, on the Render Setup Dialog ➤ Indirect Illumination panel ➤ Caustics and Global Illumination Rollout (mental ray Renderer) on page 7224. Common Lighting Rollouts and Dialogs | 5821 Interface Automatically Calculate Energy and Photons When on, the light uses the global light settings for indirect illumination, rather than local settings. Default=on. When this toggle is on, only the controls in the Global Multipliers group are available. Global Multipliers group Energy Multiplies the global Energy value to increase or decrease the energy of this particular light. Default=1.0. Caustic Photons Multiplies the global Caustic Photons value to increase or decrease the count of photons used to generate caustics by this particular light. Default=1.0. GI Photons Multiplies the global GI Photons value to increase or decrease the count of photons used to generate global illumination by this particular light. Default=1.0. 5822 | Chapter 16 Lights and Cameras Manual Settings group When Automatically Calculate is off, the Global Multipliers group becomes unavailable, and the manual settings for indirect illumination become available. On When on, the light can generate indirect illumination effects. Default=off. Filter color Click to display a Color Selector on page 304 and choose a color that filters the light energy. Default=white. Energy Sets the energy of the light. Energy, or "flux," is the amount of light used in indirect illumination. Each photon carries a fraction of the light’s energy. This value is independent of the light intensity determined by the light’s color and Multiplier, so you can use the Energy value to fine-tune indirect illumination effects without changing the light’s other effects in a scene (such as providing diffuse illumination). Default=50000.0. Decay Specifies how photon energy decays as it moves away from the light source. Range=0.0 to 100.0. Default=2.0 (inverse square; physically correct falloff). This value is applied as an exponent to the distance (r) between the light source and each indirectly illuminated point to determine the energy at that point, in the formula 1/r[Decay]), and is intended for tweaking the GI solution. The most commonly used values are: ■ 0.0 (no decay)The energy doesn't decay, and photons provide equal indirect illumination throughout the scene. ■ 1.0 (inverse)The energy decays proportionally to its distance from the light, with linear falloff. That is, a photon's energy is 1/r, where r is the distance from the light source. ■ 2.0 (inverse square)The energy decays at an inverse square rate. That is, a photon's energy is the inverse of the square of the distance (r) from the light source (1/r2). Common Lighting Rollouts and Dialogs | 5823 In the real world, light decays at the inverse square rate, but this gives strictly realistic results only if you provide a realistic value for the energy of the light. You can use other values to help adjust indirect illumination without worrying about physical accuracy. Caustic Photons Sets the number of photons emitted by the light for use in caustics. This is the number of photons in the photon map on page 9267 used for caustics. Increasing this value increases the accuracy of caustics, but also increases the amount of memory used and the length of render time. Decreasing this value improves memory usage and render time, and can be useful for previewing caustic effects. Default=10000. GI Photons Sets the number of photons emitted by the light for use in global illumination. This is the number of photons in the photon map used for global illumination. Increasing this value increases the accuracy of global illumination, but also increases the amount of memory used and the length of render time. Decreasing this value improves memory usage and render time, and can be useful for previewing global-illumination effects. Default=10000. mental ray Light Shader Rollout Select a light. ➤ Modify panel ➤ mental ray Light Shader rollout Note: This rollout appears only if you have enabled the mental ray extensions by using the mental ray Preferences panel. NOTE This rollout does not appear on the Create panel; only on the Modify panel. The mental ray Light Shader rollout lets you add mental ray shaders on page 6806 to lights. When you render with the mental ray renderer on page 7129, light shaders can alter or adjust the light's effect. To adjust the settings for a light shader, drag the shader's button to an unused Material Editor sample slot. If 3ds Max prompts you to choose Instance or Copy, be sure to choose Instance. (If you edit a copy of the shader, you will have to drag the sample slot back to the shader button on the Light Shader rollout before any changes take effect.) 5824 | Chapter 16 Lights and Cameras Interface Enable When on, rendering uses the light shaders you have assigned to this light. When off, the shaders have no effect on rendering. Default=off. Light Shader Click the button to display a Material/Map Browser on page 6167 and choose a light shader. Once you have chosen a shader, its name appears on the button. These are the light shaders provided with 3ds Max: Shader Library Ambient/Reflective Occlusion base Light Infinite base Light Point base Light Spot base Photon Emitter Shader Click the button to display a Material/Map Browser on page 6167 and choose a shader. Once you have chosen a shader, its name appears on the button. NOTE No photon emitter shaders are provided with 3ds Max. This option is for users who have access to light map shaders via other shader libraries or custom shader code. Shadow Types and Shadow Controls Create panel ➤ (Lights) ➤ Create a light. ➤ General Parameters rollout ➤ Shadows group ➤ Shadow type Shadow Types and Shadow Controls | 5825 Create menu ➤ Lights ➤ Create a light. ➤ General Parameters rollout ➤ Shadows group ➤ Shadow type Select a light ➤ Modify panel ➤ General Parameters rollout ➤ Shadows group ➤ Shadow type The General Parameters rollout for both photometric and standard lights lets you turn shadow-casting on or off for the light, and choose which type of shadow the light uses. The following table describes the advantages and disadvantages of each shadow type: Shadow Type Advantages Disadvantages Advanced RayTraced Supports transparency and opacity mapping. Uses less RAM than standard ray-traced shadows. Recommended for complex scenes with many lights or faces. Slower than shadow maps. Does not support soft shadows. Processes at every frame. Area Shadows Supports transparency and opacity mapping. Uses very little RAM. Recommended for complex scenes with many lights or faces. Supports different formats for area shadows. Slower than shadow maps. Processes at every frame. 5826 | Chapter 16 Lights and Cameras Shadow Type Advantages Disadvantages mental ray Shadow Maps Can be quicker than ray-traced shadows with the mental ray renderer. Not as accurate as ray-traced shadows. Ray-traced Shadows Supports transparency and opacity mapping. Processes only once if there are no animated objects. Can be slower than shadow maps. Does not support soft shadows. Shadow Maps Produces soft shadows. Processes only once if there are no animated objects. Fastest shadow type. Uses a lot of RAM. Does not support objects with transparency or opacity maps. NOTE When using photometric lights with shadow maps, a hemispherical shadow map is created for the entire light sphere. To capture sufficient detail with complex scenes, the map resolution must be very large. For best results with photometric lights, use ray-traced shadows instead of shadow maps. Shadow Types and the Active Renderer The renderer you use also affects your choice of a shadow type. The scanline renderer on page 7041 does not generate mental ray Shadow Map shadows, while the mental ray renderer on page 7129 does not support Advanced Ray-Traced or Area shadows. Shadow type Scanline renderer mental ray renderer Advanced Ray-Traced Yes No mental ray Shadow Map No Yes Shadow Types and Shadow Controls | 5827 Shadow type Scanline renderer mental ray renderer Area Yes No Shadow Map Yes Yes Ray-Traced Yes Yes Notes: ■ When the scanline renderer encounters a light set to “mental ray Shadow Map” shadows, the scanline renderer does not generate shadows for that light. ■ When the mental ray renderer encounters a light set to Advanced Ray-Traced or Area shadows, it generates ray-traced shadows instead. (And it displays a warning to this effect.) ■ While the mental ray renderer does not use the Area shadow type, it can generate area shadows: use a photometric light set to a light shape other than Point. See Shape/Area Shadows Rollout on page 5748. See also: ■ Shadow Parameters on page 5808 Advanced Ray-Traced Parameters Rollout Create panel ➤ (Lights) ➤ Create a light. ➤ General Parameters rollout ➤ Shadows group ➤ Shadow type ➤ Advanced Ray-traced Shadows Select a light. ➤ Modify panel ➤ General Parameters rollout ➤ Shadows group ➤ Shadow type ➤ Advanced Ray-traced Shadows Advanced Ray-traced shadows are similar to ray-traced shadows on page 9279; however, they give you more control over shadow behavior. Additional controls are available in the Optimizations rollout on page 5839. 5828 | Chapter 16 Lights and Cameras The mental ray renderer on page 7129 does not support Advanced Ray-Traced shadows. When it encounters a light with this shadow type, it generates ray-traced shadows instead, and displays a warning to that effect. Advanced ray-traced shadows cast by an area light. Interface Shadow Types and Shadow Controls | 5829 Basic Options group Mode Selects the type of raytracing for generating shadows: ■ SimpleCasts a single ray of light toward the surface. No antialiasing on page 9087 is performed. ■ 1-Pass AntialiasCasts a bundle of rays. The same number of rays is cast from each illuminated surface. The number of rays is set using the Shadow Integrity spinner. ■ 2-Pass Antialias(The default.) Casts two bundles of rays. The first batch of rays determines if the point in question is fully illuminated, shadowed, or in the penumbra (soft area) of the shadow. If the point is in the penumbra, a secondary batch of rays is cast to further refine the edge. The number of initial rays is specified using the Shadow Integrity spinner. The number of secondary rays is specified using the Shadow Quality spinner. 2 Sided Shadows When on, backfaces are not ignored when calculating shadows. Objects seen from the inside are not lit by lights from the outside. This costs a bit more render time. When off, backfaces are ignored. Rendering is quicker, but outside lights illuminate object interiors. Default=off. The faces inside the sliced sphere do not cast shadows if 2-Sided Shadows is not selected. Antialiasing Options group Shadow Integrity The number of rays cast from an illuminated surface. This is disabled when the raytracing mode is Simple. 5830 | Chapter 16 Lights and Cameras Shadow Quality The number of secondary rays cast from an illuminated surface. This is disabled when the raytracing mode is Simple or 1-Pass Antialias. Shadow Spread The radius, in pixels, to blur the antialiased edge. This is disabled when the raytracing mode is Simple. Increasing the Shadow Spread value softens shadow edges. NOTE As this value increases, so does the quality of the blur. However, increasing this value also increases the likelihood of missing small objects. To avoid this problem, increase the value of Pass 1 Quality. Shadow Bias Shadow bias on page 9304 is the minimum distance from the point being shaded that an object must be to cast a shadow. This prevents blurred shadows from affecting surfaces they shouldn't. NOTE As you increase the blur value, you should also increase the bias. Jitter Amount Adds randomness to the ray positions. The rays are initially in a very regular pattern, which can show up in the blurry part of the shadow as regular artifacts. Jittering will convert these artifacts to noise, which is generally less noticeable to the eye. Recommended values are 0.25 to 1.0. Shadow Types and Shadow Controls | 5831 However, very blurry shadows will require more jitter. This is disabled when the raytracing mode is Simple. Area Shadows Rollout Create panel ➤ (Lights) ➤ Create a light. ➤ General Parameters rollout ➤ Shadows group ➤ Shadow type ➤ ➤ Area Shadows ➤ Area Shadows rollout Select a light. ➤ Modify panel ➤ General Parameters rollout ➤ Shadows group ➤ Shadow type ➤ Area Shadows ➤ Area Shadows rollout The Area Shadow generator can be applied to any light type to achieve the effect of an area shadow effect. In order to create an area shadow, the user needs to specify the dimensions of a virtual light created to "fake" an area shadow. The mental ray renderer on page 7129 does not support Area shadows. When it encounters a light with this shadow type, it generates ray-traced shadows instead, and displays a warning to that effect. While the mental ray renderer does not use the Area shadow type, it can generate area shadows: use a photometric light set to a light shape other than Point. See Shape/Area Shadows Rollout on page 5748. NOTE When you use area lights, try to make the properties of the light match the properties in the Area Light Dimensions group of the Area Shadows rollout. TIP Area shadows can take a fair amount of time to render. If you want to create a quick test (or draft) rendering, you can use the Area/Linear Lights as Point Lights toggle in the Common Parameters rollout on page 7020 of the Render Setup dialog to speed up your rendering. When this toggle is on, the shadows are processed as if the light object is a point source. 5832 | Chapter 16 Lights and Cameras Area shadows create a soft edge that becomes more noticeable as the distance between the object and the shadow increases. A: Penumbra (soft area) B: Shadow Area shadow cast by a point light Shadow Types and Shadow Controls | 5833 Interface Basic Options group Mode Selects the way the area shadows are generated: ■ SimpleCasts a single ray from the light toward the surface. No antialiasing on page 9087 or area light calculation is performed. ■ Rectangle LightCasts rays from the light in a rectangular array. ■ Disc LightCasts rays from the light in a circular array. ■ Box LightCasts rays from the light as if it were a box. ■ Sphere LightCasts rays from the light as if it were a sphere. 5834 | Chapter 16 Lights and Cameras The shape of the area shadow array affects how shadows are cast. Left: Rectangle Right: Box 2-Sided Shadows When on, backfaces are not ignored when calculating shadows. Objects seen from the inside are not lit by lights from the outside. This costs a bit more render time. When off, backfaces are ignored. Rendering is quicker, but outside lights illuminate object interiors. Shadow Types and Shadow Controls | 5835 The faces inside the sliced sphere do not cast shadows if 2-Sided Shadows is off. Antialiasing Options group Shadow Integrity Sets the number of rays in the initial bundle of rays cast. These rays are projected from every surface that receives light from the light source. The number of rays is as follows: 1=4 rays 2=5 rays 3 to N=NxN rays. For example, setting Shadow Integrity to 5 generates 25 rays. This is the primary control for “finding” small objects and thin spaces between objects. If the shadows are missing a small object in your scene, try increasing Shadow Integrity one step at a time. Also, if the penumbra (soft area) is blotchy, try increasing this setting. 5836 | Chapter 16 Lights and Cameras Increasing the Shadow Integrity value creates more accurate shadow contour and detail. Shadow Quality Sets the total number of rays cast in the penumbra (soft area) region, including the rays fired in the first pass. These rays are projected from every point that is in the penumbra, or antialiased edge of the shadow, to smooth it out. The number of rays is as follows: ■ 2=5 rays ■ 3 to N = NxN For example, setting Shadow Quality to 5 generates 25 rays. The Shadow Quality value should always be greater than the Shadow Integrity value. This is because 3ds Max overlays the secondary rays atop the first pass's rays using the same algorithm. Increase Shadow Quality to fix banding in the penumbra, and eliminate the noise pattern from jittering. Shadow Types and Shadow Controls | 5837 Increasing the Shadow Quality value produces a more accurate penumbra (soft area) within the contour defined by the Shadow Integrity value. Sample Spread The radius, in pixels, to blur the antialiased edge. NOTE As this value increases, so does the quality of the blur. However, increasing this value also increases the likelihood of missing small objects. To avoid this problem, increase the value of Shadow Integrity. Shadow Bias Shadow bias on page 9304 is the minimum distance that an object must be from the point being shaded in order to cast a shadow. This prevents blurred shadows from affecting surfaces they shouldn't. NOTE As you increase the blur value, you should also increase the bias. Jitter Amount Adds randomness to the ray positions. The rays are initially in a very regular pattern, which can show up in the blurry part of the shadow as regular artifacts. Jittering will convert these artifacts to noise, which is generally less noticeable to the eye. Recommended values are 0.25 to 1.0. However, very blurry shadows require more jitter. 5838 | Chapter 16 Lights and Cameras Increasing jitter blends the individual shadow samples. Area Light Dimensions group 3ds Max uses these dimensions to compute the area shadowing. They do not affect the actual light object. Length Sets the length of the area shadow. Width Sets the width of the area shadow. Height Sets the height of the area shadow. Optimizations Rollout Create panel ➤ (Lights) ➤ Create a light. ➤ General Parameters rollout ➤ Shadows group ➤ Choose Advanced Ray-traced Shadows or Area Shadows. ➤ Optimizations rollout Shadow Types and Shadow Controls | 5839 Select a light. ➤ Modify panel ➤ General Parameters rollout ➤ Shadows group ➤ Choose Advanced Ray-traced Shadows or Area Shadows. ➤ Optimizations rollout The Optimizations rollout provides additional controls for Advanced Ray-traced Shadow on page 9279 and Area Shadow on page 9095 generation. See also: ■ General Parameters Rollout (Standard Lights) on page 5783 ■ Shadow Parameters on page 5808 ■ Area Shadows Rollout on page 5832 ■ Advanced Ray-Traced Parameters Rollout on page 5828 Interface Transparent Shadows group On When checked, transparent surfaces will cast a colored shadow. Otherwise, all shadows are black. 5840 | Chapter 16 Lights and Cameras NOTE Shadows will generate faster with this value turned off. A stained glass appears solid with the transparency optimization turned off. Antialiasing Threshold The maximum color difference allowed between transparent object samples before antialiasing on page 9087 is triggered. Increasing the value of this color will make the shadow less sensitive to aliasing artifacts and improve speed, decreasing the value will increase the sensitivity, improving quality. Antialias Suppression group Supersampled Material When on, only pass 1 is used during 2-pass antialiasing when shading a supersampled on page 9322 material. NOTE When off, rendering time can increase without resulting in a better image. Reflect/Refract When on only pass 1 is used during 2-pass antialiasing when shading reflections or refractions. NOTE When off, rendering time can increase without resulting in a better image. Shadow Types and Shadow Controls | 5841 Coplanar Face Culling group Skip Coplanar Faces Prevents adjacent faces from shadowing each other. This is of particular concern at the terminator on curved surfaces such as spheres. Threshold The angle between adjacent faces. Range = 0.0 (perpendicular) to 1.0 (parallel). mental ray Shadow Map Rollout Create panel ➤ (Lights) ➤ Create a light. ➤ General Parameters rollout ➤ Shadows group ➤ Choose “mental ray Shadow Map.” ➤ mental ray Shadow Map rollout Select a light. ➤ Modify panel ➤ General Parameters rollout ➤ Shadows group ➤ Choose mental ray Shadow Map. ➤ mental ray Shadow Map rollout Choosing “mental ray Shadow Map” as the shadow type tells the mental ray renderer on page 7129 to generate shadows using the mental ray shadow-map algorithm. The scanline renderer on page 7042 does not support “mental ray Shadow Map” shadows. When it encounters a light with this shadow type, it doesn’t generate shadows for this light. NOTE mental ray shadow-mapped shadows are always “2-sided”; in other words, mental ray shadow-mapped shadows do not take face normals into account while rendering. 5842 | Chapter 16 Lights and Cameras Interface Map Size Sets the resolution of the shadow map. The size of the map is the square of this value. Greater resolutions require more time to process, but produce more accurate shadows. Default=512. Sample Range When greater than zero, generates soft-edged shadows. This value specifies the area of the map to soften, by removing portions of the map as specified by Samples. Default=0.0. If you set Sample Range to be greater than zero, you must also set Samples to be greater than zero, to obtain a soft shadow effect. Directional lights require Sample Range to have a greater value than spotlights require. Samples Sets the number of samples to remove from a shadow map when generating soft shadows. Default=1. Use Bias When on, changes the shadow bias on page 9304. Increasing the value moves the shadow farther away from the shadow casting object. Default=10. Transparent Shadows group Enable When on, shadow maps are saved with multiple Z-layers, and can have transparency. Default=off. Color When on, surface color affects the color of the shadow. Default=on. Turning off Color saves memory at rendering time. Shadow Types and Shadow Controls | 5843 Merge Dist. The minimum distance between two surfaces for them to be considered “distinct.” If two surfaces are closer than this value, the shadow map treats them as a single surface. When set to 0.0, the mental ray renderer automatically calculates a distance value to use. Default=0.0 (automatic). Larger Merge Distance values reduce memory consumption, but can reduce shadow quality. Low Merge Distance values increase memory consumption and slow down rendering speed. Samp./Pixel The number of samples used to generate a pixel in the shadow map. Higher values increase the quality and detail of the shadow, at a cost of render time. Default=5. If a mapped shadow appears to be aliased on page 9087, increase the value of Samples/Pixel. This setting is especially useful when shadows are cast by finely detailed geometry. Ray-Traced Shadow Parameters Rollout Create a light. ➤ General Parameters rollout ➤ Shadows group ➤ Choose Ray Traced Shadows. ➤ Ray Traced Shadow Params rollout Select a light. ➤ Modify panel ➤ General Parameters rollout ➤ Shadows group ➤ Choose Ray Traced Shadows. ➤ Ray Traced Shadow Params rollout The Ray-Traced Shadow Parameters rollout appears when you have chosen raytracing as the shadow-generation technique for a light. You select this in the General Parameters rollout on page 5783. Both the scanline renderer on page 7042 and the mental ray renderer on page 7129 support Ray-Traced shadows. TIP If you are using the scanline renderer, Advanced Ray-Traced Shadows on page 5828 give you greater control over the appearance of shadows. 5844 | Chapter 16 Lights and Cameras Ray-traced shadows Interface Ray Bias Shadow bias on page 9304 moves the shadow toward or away from the shadow-casting object (or objects). If the Bias value is too low, shadows can "leak" through places they shouldn't, producing moire patterns or making out-of-place dark areas on meshes. If Bias is too high, shadows can "detach" from an object. If the Bias value is too extreme in either direction, shadows might not be rendered at all. 2-Sided Shadows When on, backfaces are not ignored when calculating shadows. Objects seen from the inside are not lit by lights from the outside. Shadow Types and Shadow Controls | 5845 This costs a bit more render time. When off, backfaces are ignored. Rendering is quicker, but outside lights illuminate object interiors. Default=on. The faces inside the sliced sphere do not cast shadows if 2-Sided Shadows is not selected. NOTE The mental ray renderer disregards this setting, and always renders 2-sided shadows. Max Quadtree Depth Adjusts the depth of the quadtree on page 9277 used by the ray-tracer. Greater quadtree depth values can improve ray-tracing time at the cost of memory use. However, there is a depth value where the performance improvement is offset by the time it takes to generate the quadtree itself. This depends on the geometry of the scene. Default=7. TIP An Omni light can generate up to six quadtrees, so it generates ray-traced shadows more slowly than spotlights. Avoid using ray-traced shadows with omni lights unless your scene requires this. Shadow Map Parameters Rollout Create a light. ➤ General Parameters rollout ➤ Shadows group ➤ Choose Shadow Map. ➤ Shadow Map Params rollout 5846 | Chapter 16 Lights and Cameras Select a light. ➤ Modify panel ➤ General Parameters rollout ➤ Shadows group ➤ Choose Shadow Map ➤ Shadow Map Params rollout The Shadow Map Parameters rollout is displayed when you have chosen shadow mapping as the shadow-generation technique for a light. You select this in the General Parameters rollout on page 5783. Both the scanline renderer on page 7042 and the mental ray renderer on page 7129 support Shadow Map shadows. NOTE When using photometric lights with shadow maps, a hemispherical shadow map is created for the entire light sphere. To capture sufficient detail with complex scenes, the map resolution must be very large. For best results with photometric lights, use ray-traced shadows instead of shadow maps. Interface Bias Shadow bias on page 9304 moves the shadow toward or away from the shadow-casting object (or objects). Shadow Types and Shadow Controls | 5847 Left: Default shadows Right: Increasing the Bias value separates the shadow from the object. If the Bias value is too low, shadows can "leak" through places they shouldn't, produce moire patterns or making out-of-place dark areas on meshes. If Bias is too high, shadows can "detach" from an object. If the Bias value is too extreme in either direction, shadows might not be rendered at all. This value depends on whether Absolute Map Bias is on or off: ■ When Absolute is off (the default), Bias is calculated based on the scene extents, and then normalized to one. This provides similar default shadow results, regardless of scene size. User adjustments to Bias are typically low decimal values near 1.0 (for example, 1.2). ■ When Absolute is on, Bias is a value in 3ds Max units. User adjustments to Bias depend on the size of the scene, and can range from values close to zero to values in the hundreds (see the Tip at the end of this topic). 5848 | Chapter 16 Lights and Cameras Left: Too small a Bias value causes shadow “leaks.” Right: Increasing the Bias value fixes the problem. Size Sets the size (in pixels squared) of the shadow map that's computed for the light. The shadow map size specifies the amount of subdivisions for the map. The greater the value, the more detailed the map will be. Shadow Types and Shadow Controls | 5849 Left: Size set to 32. Right: Size set to 256. Sample Range The sample range on page 9287 determines how much area within the shadow is averaged. This affects how soft the edge of the shadow is. Range=0.01 to 50.0. Increasing the Sample Range blends the shadow edges and creates a smooth effect, hiding the granularity of the map. Absolute Map Bias When on, the bias for the shadow map is not normalized, but is instead based on a fixed scale expressed in 3ds Max units. This value 5850 | Chapter 16 Lights and Cameras does not change during an animation. You must choose the value, based on the size of the scene extents. When off, the bias is computed relative to the rest of the scene, and then normalized to 1.0. This provides a common starting bias value in scenes of any size. If the scene extents change, this internal normalization can vary from frame to frame. Default=off. TIP Leaving Absolute Map Bias off gives good results in most situations, because the bias is internally balanced to match the scene size. In animations, however, if moving objects cause a large change in the scene extents (or if objects are unhidden, and so on), the normalized bias value might become inappropriate, causing shadows to flicker or disappear. If this happens, turn on Absolute Map Bias. You will have to set the Bias control to a value appropriate for the scene. As a rule of thumb, try a Bias value that is the distance between the light and the target object, divided by 100. 2-Sided Shadows When on, backfaces are not ignored when calculating shadows. Objects seen from the inside are not lit by lights from the outside. When off, backfaces are ignored, which can cause outside lights to illuminate object interiors. Default=on. The faces inside the sliced sphere do not cast shadows if 2-Sided Shadows is not selected. NOTE The mental ray renderer disregards this setting, and always renders 2-sided shadows. Shadow Types and Shadow Controls | 5851 Sunlight and Daylight Systems Create panel ➤ the Daylight button. (Systems) ➤ Click the Sunlight button or Create menu ➤ Lights ➤ Daylight System Create menu ➤ Systems ➤ Daylight System The Sunlight and Daylight systems use light in a system that follows the geographically correct angle and movement of the sun over the earth at a given location. You can choose location, date, time, and compass orientation. You can also animate the date and time. This system is suitable for shadow studies of proposed and existing structures. In addition, you can animate Latitude, Longitude, North Direction, and Orbital Scale. Sunlight and Daylight have a similar user interface. The difference is that: ■ Sunlight uses a directional light on page 5767. ■ Daylight combines Sunlight on page 9321 and Skylight on page 9309. The Sunlight component can be an IES Sun light on page 5866, an mr Sun light on page 5885, or a standard light (a target direct light on page 5764). The Skylight component can be an IES Sky light on page 5870, an mr Sky light on page 5888, or a Skylight on page 5771. ■ The IES Sun and IES Sky lights are photometric lights. It is appropriate to use them if you are creating a rendering that uses radiosity on page 7068 with exposure control on page 7665. ■ The mr Sun and mr Sky lights are also photometric, but are intended for use with the mental ray Sun & Sky on page 5874 solution. ■ The Standard light and Skylight are not photometric. It is appropriate to use them if your scene uses standard lighting (Sunlight with its Directional light works for this, too), or if you are using light tracing on page 7055. When you first create a Daylight system, the default creation parameters are set to midday (noon) on the summer solstice (June 21). Use the Get Location button in the Control Parameters rollout (see below) to choose the correct geographic location. If the rollout is not available, select the Daylight01 object in the viewport to gain access. 5852 | Chapter 16 Lights and Cameras NOTE When you create a Daylight system, if no exposure control is in effect, the program prompts you to use the Logarithmic Exposure Control on page 7673 if the renderer is set to Default Scanline, or the mr Photographic Exposure Control on page 7677 if the renderer is set to mental ray. It is recommended that you click Yes to effect this change. Large view shows compass and light in a viewport. The resulting rendered images are seen above it. NOTE When you create a Sunlight system or a Daylight system that uses a target direct light for the sun, the directional light's hotspot is set to encompass all geometry in the scene, so that shadows will render correctly. Specifically, the diameter of the hotspot is set to 65 per cent of the longest diagonal length of the scene extents on page 9293. Sunlight and Daylight Systems | 5853 Procedures To create a Sunlight or Daylight system: 1 On the or Daylight. Create panel, click (Systems), then click Sunlight Alternatively, you can create a Daylight system from the Create menu ➤ Lights or Systems submenu. Whichever method you use, if you add a Daylight system while no exposure control method is in effect, 3ds Max automatically prompts you to apply an appropriate exposure control. Always use the exposure control that’s best suited to the current renderer: Renderer Recommended Exposure Control Default Scanline Logarithmic mental ray mr Photographic 2 Choose a viewport in which to create a compass rose (the compass direction of your "world"). This should be a Top or Perspective/Camera view. 3 Drag to create the radius of a compass rose (the radius is for display purposes only), and then release the mouse button and move the mouse to set the orbital scale of the sun light over the compass rose. This can be any distance you find convenient, since directional and IES Sun lights produce parallel illumination regardless of where their icon is located. Click to finish. Upon creation you have two objects in your scene: ■ The compass rose on page 2891, which is a helper object that provides the world direction for your sun. ■ The light itself, which is a child of the compass rose, and is permanently targeted on the center of the compass rose. If you created a Daylight system, the Daylight Parameters rollout on the Modify panel lets you choose the type of sunlight and skylight. The Sunlight drop-down list lets you choose IES Sun, mr Sun, or Standard (directional). The Skylight drop-down list lets you choose IES Sky, mr Sky, or Skylight. These lists also offer you the options of choosing no sunlight or no skylight. 5854 | Chapter 16 Lights and Cameras Controls for the geographic location and time of day are on the Motion panel. The default time is noon, and the default date and time zone are based on your computer's local settings. The default location is San Francisco, CA. The directional light created by the system is managed by two special controllers: Solar Date and Solar Time. After you create your system, you can access its creation parameters (time and date, location, and orbital scale) in the Motion panel for the directional light. The parameters are interrelated, so you can adjust them in any order. Generally, it's easiest to choose a location first, and then adjust the date and time. You can access the parameters for selected sunlight or skylight objects in the Modify panel. The radius of the compass rose is also editable from the Modify panel, after selecting the compass rose object. If Date/Time position is selected the Sun and Sky multipliers are automatically set and animated according to their position. They can be edited only by using the Manual Position override. TIP If your scene rendering with Daylight is too bright or too dark, use an exposure control on page 7665. Example: To create a shadow study: 1 Choose Create menu ➤ Daylight System, and when prompted to add an exposure control, click Yes. Add the Daylight system in a viewport. 2 On the Modify panel, set the date and location. NOTE Once you’ve created the Daylight system, you’ll find these controls on the 3 Turn on Motion panel. (Auto Key). 4 In the Control Parameters ➤ Time group, adjust the Hours setting to a start time in early morning, such as 6. 5 Click (Go To End). Sunlight and Daylight Systems | 5855 6 Set Hours to a time in the late afternoon, such as 18. 7 For a complete view of your environment and its shadows, render an animation from a Top viewport or a view above your scene. Interface Daylight Parameters rollout (Daylight system only) The Daylight Parameters rollout lets you define the daylight system's sun object. You can set the sunlight and skylight behaviors. This rollout appears on the Modify panel when the light component of the Daylight system is selected. Sunlight Choose an option for sunlight in your scene: ■ IES SunUses an IES Sun object on page 5866 to simulate the sun. ■ mr SunUses the mr Sun light on page 5885 to simulate the sun. ■ StandardUses a Target Direct light on page 5764 to simulate the sun. ■ No SunlightNo sunlight is simulated. Active Turns sunlight on and off in the viewport. 5856 | Chapter 16 Lights and Cameras Skylight Choose an option for skylight in your scene: ■ IES SkyUses an IES Sky on page 5870 object to simulate skylight. ■ mr SkyUses the mr Sky light on page 5888 to simulate the sun. ■ SkylightUses a Skylight on page 5771 object to simulate skylight. ■ No SkylightNo skylight is simulated. Active Turns skylight on and off in the viewport. Position group Manual When chosen, you can manually adjust the location of the daylight assembly head object in your scene, as well as the intensity value of the sunlight. Date, Time and Location When chosen, daylight uses the geographically correct angle and movement of the sun over the earth at a given location. NOTE When Date, Time And Location is active, adjusting the light's intensity has no effect. Weather Data File When chosen, daylight derives the angle and intensity of the sun from a weather data (EPW) file. Setup When Manual or Date, Time And Location is chosen, opens the Motion panel on page 8802, allowing you to adjust the time, location, and site of your daylight system. When Weather Data File is chosen, opens a Configure Weather Data dialog on page 5860 so you can choose which weather data you want the daylight system to use. Control Parameters rollout This rollout appears on the Create panel, and on the Motion panel when the light component of the Daylight or Sunlight system is selected. Sunlight and Daylight Systems | 5857 Control source radio buttons (Daylight system only) Manual When chosen, you can manually adjust the location of the sun object in your scene, as well as the intensity value of the sun object. Date, Time and Location When chosen, daylight uses the geographically correct angle and movement of the sun over the earth at a given location. NOTE When Date, Time And Location is active, adjusting the light's intensity has no effect. 5858 | Chapter 16 Lights and Cameras Weather Data File When chosen, daylight derives the angle and intensity of the sun from a weather data (EPW) file. Click the button to open a Configure Weather Data dialog on page 5860, where you can specify the EPW file and choose which weather data you want the daylight system to use. Azimuth and Altitude Azimuth/Altitude Displays the azimuth and altitude of the sun. Azimuth is the compass direction of the sun in degrees (North=0, East=90). Altitude is the height of the sun above the horizon in degrees (Sunrise or Sunset=0). Time group Provides settings for the time, date, and time zone. If the location you choose uses Daylight Savings Time, turn on the Daylight Saving Time checkbox. The Sunlight system adjusts the sun's azimuth and altitude accordingly during the summer months. Hours/Mins/Secs Specify the time of day. Month/Day/Year Specify the date. Time Zone Time zones range from –12 to 12. If you're uncertain about a time zone, you can look them up in Window's Date ➤ Time Properties dialog (available through My Computer ➤ Control Panel ➤ Date ➤ Time). Click the Time Zone tab, and then display the list of world locations and their time zones. Daylight Savings Time When on, calculates daylight savings by adjusting azimuth and altitude during the summer months. Location group Provides controls for setting the location of your scene in the world. Get Location Displays the Geographic Location dialog on page 5864, which lets you set the latitude and longitude values by selecting a location from a map or a list of cities. NOTE For precise locations, enter exact coordinates using Latitude/Longitude. Sunlight and Daylight Systems | 5859 [city name text box] Displays the name of the city you choose from the Geographic Location dialog. If you adjust the Latitude or Longitude spinners after choosing a location, this area becomes blank. Latitude/Longitude Specify the location based on the latitude and longitude. NOTE Negative longitude values are west of the Greenwich meridian; positive values are to the east of the meridian. This differs from versions prior to Autodesk 3ds Max 2011, in which the polarity of longitude values was incorrectly reversed. North Direction Sets the rotational direction of the compass rose in the scene. This is the geographical orientation of the compass rose. By default, north is 0 and points along the positive Y axis of the ground plane. Positive X (East) is 90 degrees. Adjust the North Direction to correspond to your site. Accuracy of the system depends on this correspondence. Model Scale group Orbital Scale Sets the distance of the sun (the directional light) from the compass rose. Because a directional light casts parallel beams, this distance has no effect on the accuracy of the sunlight. However, the light must point toward your model (not away from it), and the light's hotspot and falloff do have an effect. The best way to ensure that the light is set up correctly is to change one viewport to the light's view (for example, Sun 01). Then adjust the light's location using Dolly on page 8755, and set the hotspot so it illuminates the whole model, with no falloff. Daylight System Dialogs The topics in this section describe dialogs that support the daylight and sunlight systems. Configure Weather Data Dialog Create a Daylight system. ➤ Create panel or Modify panel ➤ Daylight Parameters rollout ➤ Position group ➤ Choose Weather Data File. ➤ Click Setup. ➤ Configure Weather Data dialog 5860 | Chapter 16 Lights and Cameras Create a Daylight system. ➤ Motion panel ➤ Control Parameters rollout ➤ Choose Weather Data File. ➤ Click setup button. ➤ Configure Weather Data dialog The Configure Weather Data dialog lets you choose which contents of a weather data (EPW) file you want to use. Interface Load Weather Data Click to load a weather data (EPW) file. When you have loaded a file, the name field shows its name and path. Click the X button to unload a file you have loaded. Location and time fields When a weather data file is loaded, these fields show the location where the file was recorded, the start and end dates, how often the data was recorded (Data Period), and the total number of periods saved in the file. Sunlight and Daylight Systems | 5861 Use Weather Data group Use Specific Date/Time (The default.) Chooses a specific date and time to use. By default, this is the first entry in the weather data file. Change Time Period Click to open a Select A Time Period From Weather Data dialog on page 5862 and choose the period you want to use. Display Data as Animation Animates the daylight system based on multiple periods contained in the weather data file. Start The period where the animation begins. Click Change Time Period to open a Select A Time Period From Weather Data dialog on page 5862 and choose the period you want to use. End The period where the animation ends. Click Change Time Period to open a Select A Time Period From Weather Data dialog on page 5862 and choose the period you want to use. Skip Hours When on, omits the hours between the two values, using a 24-hour clock. Default=off. Skip Weekends When on, skips weekends. Default=off. One Frame Per Choose the time unit by which the animation is subdivided. The options are: ■ Period ■ Day ■ Week ■ Month ■ Season Default=Period. Total Frames Displays the total number of frames that 3ds Max will generate, based on the period settings you have chosen. Match Timeline Click to set the end of the active animation time segment equal to the last keyframe generated by the weather data. Select a Time Period from Weather Data Dialog Create a Daylight system. ➤ Create panel or Modify panel ➤ Daylight Parameters rollout ➤ Position group ➤ Choose Weather Data 5862 | Chapter 16 Lights and Cameras File. ➤ Click Setup. ➤ Configure Weather Data dialog ➤ Click Change Time Period. ➤ Select a Time Period from Weather Data dialog Create a Daylight system. ➤ Motion panel ➤ Control Parameters rollout ➤ Choose Weather Data File. ➤ Click setup button. ➤ Configure Weather Data dialog ➤ Click Change Time Period. ➤ Select a Time Period from Weather Data dialog The Select A Time Period From Weather Data dialog works in conjunction with the Configure Weather Data dialog on page 5860. It lets you choose a single time period from the weather data (EPW) file. Interface Selected Time Period Displays the currently selected time period. Default=The first period in the weather data file. Select from the range of Time Periods in the Weather Data File group Period Selector Drag this slider to browse the time periods available in the file. Increment Period Selector by Use the Months, Days, Hours, or Minutes spinner controls to move the Period Selector by the corresponding unit of time. If the file does not contain increments at that time level, the spinner has no effect. Sunlight and Daylight Systems | 5863 Geographic Location Dialog Select a Sunlight or Daylight system. ➤ group ➤ Get Location button Motion panel ➤ Location The Geographic Location dialog is part of the Sunlight and Daylight systems' on page 5852 interface. It lets you set the latitude and longitude values by selecting a location from a map or a list of cities. The dialog displays a list of cities at left, and a map on the right. Procedures To use a map: 1 In the Location group on the Control Parameters rollout, click the Get Location button. 2 On the Geographic Location dialog, choose a map from the Map list. 3 Click in the map to specify a location. 3ds Max displays a small cross at the location you picked. If Nearest Big City is on, it places the cross at the nearest large city on the list, and highlights the city's name in the list. 4 Click OK to set the Latitude and Longitude to the location of the cross. To choose a city by name: 1 Choose a map from the Map list. The City list updates to show cities in the region of the map. 2 Choose the name of a city from the list. 3 Click OK to set the Latitude and Longitude to the location of the city. 5864 | Chapter 16 Lights and Cameras Interface City Displays a list of cities within the selected Map region. As an alternative to selecting a location by clicking the map, you can select a city directly from this list. The cross on the map moves to the location of the selected city. Map Lets you choose a map for a portion of the world, or you can choose the World map, which includes the entire world. Nearest Big City When on, clicking the map moves the cross to the nearest listed city, which becomes highlighted in the list. When off, clicking the map places the cross exactly where you clicked, and its position generates the Latitude and Longitude values for that position, regardless of any cities that might be nearby. IES Sun and Sky The IES Sun and IES Sky objects are photometric light objects that simulate the sun and sky. IES stands for Illuminating Engineering Society; see IES Standard File Format on page 5735. Sunlight and Daylight Systems | 5865 IES Sun Light (Photometric) Create panel ➤ (Systems) ➤ Create a Daylight system in your scene. ➤ Modify panel ➤ Daylight Parameters rollout ➤ Sunlight ➤ Choose IES Sun. IES Sun is a physically-based light object that simulates sunlight on page 9321. When used in conjunction with a daylight system on page 5852, its values are set automatically based on geographic location, time, and date. (IES stands for Illuminating Engineering Society; see IES Standard File Format on page 5735.) 5866 | Chapter 16 Lights and Cameras Outdoor scene illuminated by the IES Sun light The mental ray renderer gives physically accurate results for IES Sun, and renderings that use it will appear similar to renderings done with the default scanline renderer. You do not need to turn on Final Gather for light from IES Sun to render. The Daylight system on page 5852 combines the two daylight components of sun and sky in a unified interface. TIP If you use the IES sun or sky with the Logarithmic Exposure Control on page 7673, turn on both the Daylight and Exterior options. This will provide greater control for properly mapping the higher energy levels to RGB colors. In addition, it is important to set the Physical Scale to the brightest light source in your scene. If the IES Sun is used, set the Physical Scale to 90000 cd. Sunlight and Daylight Systems | 5867 Interface On Turns sunlight on and off in the viewport. Targeted Applicable only when you add the IES Sun light directly, rather than as part of a Daylight system on page 5852. When on, the light is targeted and you can change the target distance by moving the target. The distance between the light and its target is displayed to the right of the check box. When off, you can set this value directly. Cast Shadows Sets whether the sunlight casts shadows or not. Intensity The intensity of the sunlight. The color swatch to the right of the spinner opens the Color Selector on page 304 to set the color of the light. Typical intensities in a clear sky are around 90,000 lux. NOTE Intensity is set automatically and cannot be set manually if the sun is under the control of a daylight system. Shadows group On Determines whether the sunlight casts shadows or not. Shadow Method drop-down list Determines whether the renderer uses shadow maps on page 9305, ray-traced shadows on page 9279, advanced ray-traced shadows on page 9279, mental ray shadow maps on page 5842, or area shadows on page 9095 to generate shadows for this light. Each shadow type has a rollout with its associated controls. TIP When you use the mental ray renderer and mental ray shadow maps, you can set up soft-edged shadows. 5868 | Chapter 16 Lights and Cameras Use Global Settings Turn on to use global settings for shadows cast by this light. Turn off to enable individual control of the shadows. If you choose not to use the global settings, you must choose which method the renderer will use to generate shadows for this particular light. When Use Global Settings is on, the shadow parameters switch over to show you what the current global setting is. This data is shared by every other light of this class. When Use Global Settings is off, the shadow parameters are specific to that particular light. Exclude Excludes selected objects from the effects of the light. Click this button to display the Exclude/Include dialog on page 5805. Excluded objects still appear lit in shaded viewports. Exclusion takes effect only when you render the scene. Advanced Effects Rollout Contrast Adjusts the contrast between the diffuse and ambient areas of the surface. Leave this set to 0 for normal contrast. Increase the value to increase the contrast for special effects: for example, the harsh light of outer space. Default=0.0. Soften Diffuse Edge Increasing the value of Soften Diffuse Edge softens the edge between the diffuse and ambient portions of a surface. This helps eliminate edges that can appear on a surface under certain circumstances. Default=50. NOTE Soften Diffuse Edge slightly reduces the intensity of the light. You can counter this, to some extent, by increasing the Multiplier value. Diffuse When on, the light affects the diffuse properties of an object's surface. When off, the light has no effect on the diffuse surface. Default=on. Specular When on, the light affects the specular properties of an object's surface. When off, the light has no effect on the specular properties. Default=on. For example, by using the Diffuse and Specular check boxes you can have one light color the specular highlights of an object, while not coloring its diffuse Sunlight and Daylight Systems | 5869 component, and then have a second light color the diffuse component of the surface while not creating specular highlights. Optimizations rollout This rollout is identical to the Optimizations rollout on page 5839 for advanced ray-traced and area shadows. IES Sky Light (Photometric) Create panel ➤ your scene. ➤ Skylight ➤ IES Sky (Systems) ➤ Create a Daylight system in Modify panel ➤ Daylight Parameters rollout ➤ IES Sky is a physically-based light object that simulates atmospheric effects on skylight on page 9309. (IES stands for Illuminating Engineering Society; see IES Standard File Format on page 5735.) 5870 | Chapter 16 Lights and Cameras Outdoor scene lit by the IES sky light The Daylight system on page 5852 combines the two daylight components of sun and sky in a unified interface. It allows you to set date and time positions with the light type you want to use. IES Sky works correctly only when the sky object is pointing down from the Z axis, meaning that it points down when looking from the Top view. When using the default scanline renderer, IES Sky produces the best results when used in conjunction with one of the advanced lighting options on page 7054: radiosity or light tracing. Sunlight and Daylight Systems | 5871 WARNING When you render with the mental ray renderer on page 7129, objects illuminated by IES Sky appear dark unless you turn on Final Gathering on page 9160. The toggle for Final Gathering is on the Final Gather rollout on page 7213 of the Render Setup dialog. Using Render Elements with an IES Sky Light If you use Render Elements on page 7269 to output the lighting element on page 7290 of an IES Sky light in a scene using either radiosity or the light tracer, you cannot separate the direct, indirect, and shadow channels of the light. All three elements of the IES Sky lighting are output to the Indirect Light channel. See also: ■ IES Sun Light (Photometric) on page 5866 Interface On Turns the sky light on and off in the viewport. Multiplier Adjusts the intensity of the skylight. When this is set to 1.0, the intensity will be physically accurate based on angle. You can, however, override this by changing the value. This is useful for doing night shots with artificial lighting. Sky Color The color swatch opens the Color Selector on page 304, which lets you set the color of the sky. 5872 | Chapter 16 Lights and Cameras Coverage group Clear, Partly Cloudy, Cloudy This choice determines the extent to which light is scattered through the sky. Use the slider to set the control to one of the named settings or anywhere in between. Render group NOTE These controls are unavailable when the mental ray renderer is active. Cast Shadows Causes the sky light to cast shadows. A great deal of processing is dedicated to the calculation of the subtle shadows cast by skylight on page 9309. If shadows are not important in your model, you can disable them and save substantial amounts of processing time. However, the results will not be as realistic. NOTE The Cast Shadows toggle has no effect when using radiosity or the light tracer. NOTE IES Sky objects will not cast shadows in an ActiveShade rendering on page 7001. Rays per Sample The number of rays used to calculate skylight falling on a given point in the scene. For animation you should set this to a high value to eliminate flickering. A value of around 30 should eliminate flickering. Increasing the number of rays increases the quality of your image. However, it also increases rendering time. Sunlight and Daylight Systems | 5873 Ray Bias The closest distance at which objects can cast shadows on a given point in the scene. Setting this value to 0 can cause the point to cast shadows upon itself, and setting it to a large value can prevent objects close to a point from casting shadows on the point. mental ray Sun & Sky Daylight system ➤ Modify panel ➤ Daylight Parameters rollout ➤ Sunlight/Skylight drop-down lists ➤ mr Sun / mr Sky The mental ray Sun & Sky solution is designed to enable physically plausible daylight simulations and accurate renderings of daylight scenarios. In 3ds Max, this is achieved through the use of two special photometric lights and an environment shader that all work together: ■ The mr Sun photometric light is responsible for the sunlight; the direct light from the sun. The scene is lit by mr Sun only. 5874 | Chapter 16 Lights and Cameras ■ The mr Sky photometric light is responsible for the skylight; it simulates the real-world phenomenon of indirect light created by the scattering of sunlight in the atmosphere. The scene is lit by mr Sky only. ■ The mr Physical Sky environment shader is responsible for the visible representation of the sun disk and the sky, both to the camera and in reflections and refraction, as well as for the virtual ground plane (gray in the following illustration). Sunlight and Daylight Systems | 5875 mr Physical Sky is visible, but no lighting is present in the scene. These lights are meant to be used together: mr Sun and mr Sky appear within the 3ds Max Daylight system on page 5852. When used in combination, this solution is called Sun & Sky. TIP You can view the Sun & Sky combination in a viewport, which makes adjusting parameters fully interactive. For details, see this procedure on page 5880. NOTE Sun & Sky is a true high-dynamic range photometric lighting system that requires the mr Photographic Exposure Control on page 7677 to be enabled. In some of the mental ray rendering presets on page 7013, such as those starting with “mental.ray.daylight,” this is done automatically. Also, when you add a Daylight System from the Create menu, you have the option to activate the exposure control automatically. Using Sun & Sky with SSS Materials To use a mental ray fast SSS material on page 6365 together with the high-dynamic range Sun & Sky solution, be sure to turn on Scatter Indirect Illumination on the material's Advanced Options rollout so that the material can scatter the skylight, which is considered indirect. 5876 | Chapter 16 Lights and Cameras Also, turn off Screen (Soft) Compositing Of Layers, also on the Advanced Options rollout; otherwise the output of the SSS shaders is clamped to a low dynamic range and will appear to render black. Common Parameters Certain parameters do the same things in mr Sun, mr Sky, and mr Physical Sky. For physical correctness, it is necessary to keep these parameters in sync with each other in all three elements. For example, a sun with a different Haze value than the sky cannot be guaranteed to be physically plausible. For this reason the concept of parameter inheritance is included. Both the mr Sun light and the mr Physical Sky shader have check boxes labeled “Inherit from mr Sky” that are on by default. When these are on, the common parameters are all guided by the mr Sky light, which is the central point of control. With parameter inheritance, you can concentrate on tweaking the parameters in one spot (mr Sky) and, as long as Inherit From mr Sky is on for both mr Sun and mr Physical Sky, you're sure to obtain consistent results. Procedures To use mental ray Sun & Sky: 1 Make sure mental ray on page 7129 is the active renderer. 2 From the Create menu, choose Lights ➤ Daylight System. You can also find Daylight System on the Create menu under Systems, and from Create panel ➤ Systems. 3 You're prompted to use the mr Photographic Exposure Control on page 7677. Click Yes to do so automatically. 4 Create a Daylight system in the Perspective (or a Camera) viewport: Drag and release to create the compass rose, move the mouse to position the light, and then click to place the light and finish creating the system. 5 Go to the Modify panel, and on the Daylight Parameters rollout, set Sunlight to mr Sun and Skylight to mr Sky. Sunlight and Daylight Systems | 5877 6 When you choose mr Sky, you're prompted to add a mr Physical Sky environment map. Click Yes to do so. The parameters rollouts for mr Sun and mr Sky now appear on the Modify panel. 7 Open the Environment dialog on page 7621 (press 8) and make sure Common Parameters ➤ Environment Map is set to mr Physical Sky, Exposure Control on page 7665 is set to mr Photographic Exposure Control. 5878 | Chapter 16 Lights and Cameras TIP Should you wish to edit the mr Physical Sky parameters, an easy way to access them is to open the Material Editor (press M) and then drag the Environment Map button from the Environment panel ➤ Common Parameters rollout to a material slot (sample sphere) in the Material Editor. When prompted for the copy method, choose Instance. 8 Open the Render Setup dialog on page 6956 (F10) to the Indirect Illumination panel and make sure Enable Final Gather is on. Choose the Draft preset as a starting point; this is the leftmost position of the FG Precision Presets slider. Sunlight and Daylight Systems | 5879 IMPORTANT When using Sun & Sky, make sure Enable Final Gather is on. Because the skylight is a form of indirect light, it can be rendered only with the help of Final Gather. Without final gathering, Sun shadows render as unnaturally dark or black rather than bluish, as they are in the real world. 9 Render with Sun & Sky. To specify different times, dates, and locations in the Daylight system for different effects, use the Motion panel ➤ Control Parameters settings or turn on Manual Override to place the sun by hand. TIP For a more pleasing image, adjust the mr Photographic Exposure Control settings. To see the sun and sky in the viewport: The ability to display the mental ray Sun & Sky solution in the viewport lets you adjust parameters interactively, so that you can visualize the results immediately without having to render. Keep in mind, though, that the viewport representation is an approximation of the final result, so you’ll still need to render while fine-tuning the settings. NOTE To use this feature, the display driver must be set to Direct3D (see Graphics Driver Setup Dialog on page 8901). 1 Follow the above procedure on page 5877 for adding mental ray Sun & Sky to your scene. 2 Open the Viewport Background dialog: Views menu ➤ Viewport Background. 5880 | Chapter 16 Lights and Cameras 3 In the Background Source group, turn on Use Environment Background. 4 At the bottom of the dialog, make sure Viewport is set to Perspective, and then turn on Display Background in the lower-right group of controls. 5 Click OK. After a moment, the viewport background changes to show the environment. Sunlight and Daylight Systems | 5881 6 If necessary, orbit the Perspective viewport so you get a view of the horizon. 7 Go to the Motion panel, select the Daylight object if necessary, and then change the Time group ➤ Hours or Month setting using the spinner control. As you adjust the setting, the sky light reflects the change. 8 Adjust the hour so the sun is near the horizon, and then, if necessary, orbit the viewport so the sun is visible. 5882 | Chapter 16 Lights and Cameras 9 Go back to the Modify panel and adjust the settings on the mr Sky Parameters rollouts such as Multiplier and Red/Blue Tint. As you adjust the settings, the viewport shows the changes. Interface Interface (common parameters) The most important common parameters are those that drive the entire shading and colorization model. NOTE mr Sun and mr Physical Sky can inherit parameters from mr Sky even if the latter is off. Sunlight and Daylight Systems | 5883 Multiplier A scalar multiplier for the light output. Default=1.0. Haze In mr Physical Sky, the Haze setting corresponds to the Haze setting used by the Haze-Driven sky model on page 5890. Horizon Height The vertical position of the horizon. The default value, 0.0, places the horizon at a standard height. However, because the horizon is infinitely far away, this can cause trouble joining up with any finite geometry that is supposed to represent the ground. It can also cause issues rendering locations that are supposed to be at a high altitude, like mountain tops or the top of New York skyscrapers where the horizon really is visibly “below” the viewer. This parameter allows tuning the position of the horizon. Note that this horizon doesn’t actually exist at a specific height in 3D space; it is a shading effect for rays that go below a certain angle. This parameter tweaks that angle. The total range available range is somewhat extreme, reaching from -10.0 (the horizon is “straight down”) to 10.0 (the horizon is at the zenith). In practice, only much smaller values are actually useful. For example, to push the horizon down just below the edge of a finite visible ground plane, use –0.2. NOTE The Horizon height affects not only the visual representation of the horizon in the mr Sky light, but also the color of the mr Sun itself. In other words, the point where the sun “sets” will change for a Horizon height settings other than 0.0. 5884 | Chapter 16 Lights and Cameras Horizon Blur The “blurriness” with which the horizon is rendered. At 0.0 the horizon is completely sharp. Generally only values lower than 0.5 are useful, but the full range is up to 10.0 for a horizon that consists of blur only, with no actual horizon at all. Ground Color The color of the virtual ground plane. Note that this is a diffuse reflectance value (that is, albedo). The ground appears as a Lambertian reflector with this diffuse color, lit by the sun and sky only, and does not receive any shadows. TIP Some sky models neglect the influence of bounce light from the ground, assuming only the sky is illuminating the scene. To compare the output of mr Sky with, for example, the IES Sky light, set Ground Color to black. Night Color The minimum color of the sky: The sky will never become darker than this value. It can be useful for adding things like moon, stars, high-altitude cirrus clouds that remain lit long after sunset, etc. As the sun sets and the sky darkens, the contribution from Night Color is unaffected and remains as the base light level. Red/Blue Tint Gives artistic control over the redness of the light. The default value of 0.0 is the physically correct value (calculated for a 6500K whitepoint), but can be changed with this parameter, which ranges from –1.0 (extremely blue) to 1.0 (extremely red). Saturation Also an artistic control, where 1.0 is the physically calculated saturation level. The parameter ranges from 0.0 (black and white) to 2.0 (extremely boosted saturation). mr Sun Daylight system ➤ Modify panel ➤ Daylight Parameters rollout ➤ Sunlight drop-down list ➤ mr Sun The mr Sun light is intended for use in the mental ray Sun & Sky combination. This topic mainly provides information on parameters unique to this component. A number of mr Sky parameters are common to all three Sun & Sky components. For some of those parameters, this topic provides a brief explanation plus a link to the main topic with additional details. TIP You can view the Sun & Sky combination in a viewport, which makes adjusting parameters fully interactive. For details, see this procedure on page 5880. Sunlight and Daylight Systems | 5885 See also: ■ mental ray Sun & Sky on page 5874 ■ mr Sky on page 5888 ■ mr Physical Sky on page 5893 Interface mr Sun Basic Parameters rollout On Turns the mr Sun light on and off. Default=on. Multiplier A scalar multiplier for the light output. Default=1.0. Targeted Applicable only when you add an mr Sun light directly to the scene via Create panel ➤ Lights ➤ Photometric, rather than as part of a Daylight system on page 5852. When on, the light is targeted and you can change the target distance by moving the target. The distance between the light and its target is displayed to the right of the check box. When off, you can set this value directly. Default=on. Shadows group On Toggles shadowing for the light. Default=on. Softness The softness of shadow edges. The default value of 1.0 accurately matches the softness of real solar shadows. Lower values make the shadows sharper and higher values make them softer. 5886 | Chapter 16 Lights and Cameras Softness The number of shadow samples for the soft shadows. If it is set to 0, no soft shadows are generated. Default=8. Inherit from mr Sky group NOTE mr Sun can inherit parameters from mr Sky even if the latter is off. Inherit from mr Sky Uses the equivalent settings from the mr Sky Parameters rollout for the remaining mr Sun Parameters rollout settings. Default=on. For further information, see Common Parameters on page 5877. Nonphysical Tuning group These controls are available only when “Inherit From mr Sky” is off. Red/Blue Tint Provides artistic control over the redness of the sky light. The default value of 0.0 is the physically correct value (calculated for a 6500K whitepoint), but can be changed with this parameter, which ranges from –1.0 (extremely blue) to 1.0 (extremely red). Saturation Provides artistic control over saturation of the sky light. The default value of 1.0 is the physically calculated saturation level. Possible values range from 0.0 (black and white) to 2.0 (extremely high saturation). mr Sun Photons rollout Use these settings to focus global-illumination photons on an area of interest. For example, if you’ve modeled a huge city as a backdrop, but are rendering only a room interior, you probably don’t want mental ray to shoot photons over the entire city, with the result that only a few will find their way into the room. Use Photon Target When on, uses the Radius setting with respect to the light target. Radius Sets the radial distance from the target in which the mr Sun casts GI photons. Sunlight and Daylight Systems | 5887 mr Sky Daylight system ➤ Modify panel ➤ Daylight Parameters rollout ➤ Skylight drop-down list ➤ mr Sky The mr Sky light is intended for use in the mental ray Sun & Sky combination. This topic mainly provides information on parameters unique to this component. A number of mr Sky parameters are common to all three Sun & Sky components. For some of those parameters, this topic provides a brief explanation plus a link to the main topic with additional details. TIP You can view the Sun & Sky combination in a viewport, which makes adjusting parameters fully interactive. For details, see this procedure on page 5880. See also: ■ mental ray Sun & Sky on page 5874 ■ mr Sun on page 5885 ■ mr Physical Sky on page 5893 Interface mr Sky Parameters rollout On Turns the light on and off. Multiplier A scalar multiplier for the light output. Default=1.0. Ground Color The color of the virtual ground plane. Note that this is a diffuse reflectance value (that is, albedo). The ground appears as a Lambertian reflector 5888 | Chapter 16 Lights and Cameras with this diffuse color, lit by the sun and sky only, and does not receive any shadows. TIP Some sky models neglect the influence of bounce light from the ground, assuming only the sky is illuminating the scene. To compare the output of mr Sky with, for example, the IES Sky model, set Ground Color to black. Sky Model Lets you choose the sky model to use. There are three choices: ■ Haze Driven on page 5890 ■ Perez All Weather on page 5891 ■ CIE on page 5892 Use the Perez or CIE model when you want light from the sky to be physically accurate. mr Sky Advanced Parameters rollout Horizon group Height The vertical position of the horizon. Default=0.0. For details, see Horizon Height on page 5884. Blur The “blurriness” with which the horizon is rendered. Default=0.1. Sunlight and Daylight Systems | 5889 At 0.0 the horizon is completely sharp. Generally only values lower than 0.5 are useful, but the full range is up to 10.0 for a horizon that consists of blur only, with no actual horizon at all. Night Color Night Color The minimum color of the sky: the sky will never become darker than this value. This adjustment can be useful for adding things like the moon, stars, high-altitude cirrus clouds that remain lit long after sunset, and so on. As the sun sets and the sky darkens, the contribution from Night Color is unaffected and remains as the base light level. Non-Physical Tuning group Red/Blue Tint Provides artistic control over the redness of the sky light. The default value of 0.0 is the physically correct value (calculated for a 6500K whitepoint), but can be changed with this parameter, which ranges from –1.0 (extremely blue) to 1.0 (extremely red). Saturation Provides artistic control over saturation of the sky light. The default value of 1.0 is the physically calculated saturation level. Possible values range from 0.0 (black and white) to 2.0 (extremely high saturation). Aerial Perspective group Aerial Perspective toggle When on, enables the Visibility Distance setting. When off, disables the effect of Visibility Distance. Default=on. Visibility Distance Aerial Perspective is a term used by painters to convey how distant objects are perceived as hazier and tinted towards the blue end of the spectrum. mr Sky emulates this with the Visibilty Distance parameter. When nonzero, it defines the “10% distance”, that is, the distance at which approximately 10% of haze is visible at a Haze level of 0.0. Haze-Driven Sky Model Create a Daylight system. ➤ Choose mr Sky as the sky light. ➤ Choose Haze Driven as the sky model. ➤ mr Sky: Haze Driven rollout This sky model uses a Haze value to specify the amount of water vapor or other particulate matter in the air. Possible values range from 0.0 (a completely clear day) to 15.0 (extremely overcast, or a sandstorm in the Sahara). The Haze value influences the intensity and color of the sky and horizon, the intensity 5890 | Chapter 16 Lights and Cameras and color of sunlight, the softness of the sun’s shadows, the softness of the glow around the sun, and the strength of the aerial perspective. NOTE The Haze-Driven sky model was the only sky model available in versions prior to Autodesk 3ds Max 2011. Interface Haze The amount of particulate matter in the air. Possible values range from 0.0 (a completely clear day) to 15.0 (extremely overcast, or a sandstorm in the Sahara). Default=0.0. You can animate this value. Perez All-Weather Sky Model Create a Daylight system. ➤ Choose mr Sky as the sky light. ➤ Choose Perez All Weather as the sky model. ➤ mr Sky: Perez Parameters rollout The Perez All-Weather sky model is a physically accurate sky model recognized as an industry standard. It is controlled by two illuminance on page 9190 values. NOTE The Perez model is suitable for daytime, but not for twilight or night scenes. For scenes where the sun is low or absent, use the Haze model, or the CIE model if you are concerned with photometric accuracy. When you render while the Perez sky model is active, the sky color derives from the Haze value in the mr Physical Sky shader on page 5893. By default this is 0.0 (a clear sky, blue in the daytime), but you can use the shader to change the Haze value. Sunlight and Daylight Systems | 5891 Interface Diffuse Horizontal Illuminance The illuminance of the sky measured by a luminance meter placed horizontally, outdoors, excluding the contribution from the sun. Default=10000.0 lx. You can animate this value. Direct Normal Illuminance The illuminance of the sun measured by a luminance meter aimed directly at the sun. Default=10000.0 lx. You can animate this value. NOTE If you have chosen American units as the active lighting units, the illuminance values appear as footcandles (fc) rather than lux (lx). CIE Sky Model Create a Daylight system. ➤ Choose mr Sky as the sky light. ➤ Choose CIE as the sky model. ➤ mr Sky: CIE Parameters rollout The CIE sky model is a physically accurate sky model recognized as an industry standard. (CIE stands for Commission Internationale de l’Éclairage: the International Lighting Commission.) It is controlled by two illuminance on page 9190 values, and you can choose either an overcast or a clear sky. When you render while the CIE sky model is active, the sky color derives from the Haze value in the mr Physical Sky shader on page 5893. By default this is 0.0 (a clear sky, blue in the daytime), but you can use the shader to change the Haze value. 5892 | Chapter 16 Lights and Cameras Interface Diffuse Horizontal Illuminance The illuminance of the sky measured by a luminance meter placed horizontally, outdoors, excluding the contribution from the sun. Default=10000.0 lx. You can animate this value. Direct Normal Illuminance The illuminance of the sun measured by a luminance meter aimed directly at the sun. Default=10000.0 lx. You can animate this value. Overcast Sky (The default.) Specifies an overcast sky. Clear Sky Specifies a clear sky. NOTE If you have chosen American units as the active lighting units, the illuminance values appear as footcandles (fc) rather than lux (lx). mr Physical Sky Daylight system ➤ Modify panel ➤ Daylight Parameters rollout ➤ Skylight drop-down list ➤ mr Sky ➤ Confirm prompt. The mr Physical Sky shader is intended primarily for use in the mental ray Sun & Sky combination. This topic mainly provides information on parameters unique to this component. A number of mr Physical Sky parameters are common to all three Sun & Sky components. For some of those parameters, this topic provides a brief explanation plus a link to the main topic with additional details. Sunlight and Daylight Systems | 5893 TIP You can view the Sun & Sky combination in a viewport, which makes adjusting parameters fully interactive. For details, see this procedure on page 5880. See also: ■ mental ray Sun & Sky on page 5874 ■ mr Sky on page 5888 ■ mr Sun on page 5885 Procedures The main difference between the mr Physical Sky Parameters rollout described here and the mr Sky Parameters rollout on page 5888 on the command panel is that this rollout lets you apply maps or shaders to the various parameters. However, this version of the rollout isn't quite as accessible; you must use the Material Editor to get at the controls. To access the mr Physical Sky rollout: 1 Add an mr Sky on page 5888 component to the Daylight system on page 5852 (and confirm the addition of the mr Physical Sky environment map), or apply an mr Physical Sky shader as an environment map on page 7621 or in the Camera Shaders group of the Camera Effects rollout on page 7201. 2 Open the 3 Click Material Editor on page 6020 and choose a sample slot. (Get Material). This opens the Material/Map Browser dialog on page 6167. 4 On the Material/Map Browser, in the Browse From group on the left side, choose Scene. The Browser lists maps and materials in the scene. 5 Find the mr Physical Sky map and double-click it to load it into the active sample slot. You can now edit the shader parameters and apply maps and shaders on the mr Physical Sky Parameters rollout. 5894 | Chapter 16 Lights and Cameras TIP Alternatively, you can simply drag the map button from the Environment panel or Camera Effects rollout to a sample slot in the Material Editor. Interface NOTE This rollout is available only in the Material Editor. To access the rollout, follow the above procedure. Sun Disk Appearance group Use these settings to adjust the visible appearance of the sun in the sky. Disk Intensity The brightness of the sun. Sunlight and Daylight Systems | 5895 Glow Intensity The brightness of the glow surrounding the sun. Scale The size of the sun disk. _____ Use Custom Background Map When on but no background map is specified, the background of the rendering is transparent black, suitable for external compositing. If you supply a background shader by clicking the button and then specifying a map or shader, the background of the rendering will come from that shader (for example, a texture map that uses a background photograph). In either case the mr Physical Sky will still be visible in reflections and refraction. To apply a map or shader to this parameter, click the None button. NOTE The background area in the rendered image's alpha channel is always fully transparent, as is the case in general in 3ds Max. Inherit from mr Sky Uses the equivalent settings from the mr Sky Parameters rollout for the remaining mr Physical Sky Parameters rollout settings, except for Aerial Perspective. Default=on. For further information, see Common Parameters on page 5877. Haze The amount of particulate matter in the air. Possible values range from 0.0 (a completely clear day) to 15.0 (extremely overcast, or a sandstorm in the Sahara). Default=0.0. For details, see Haze on page 5884. To apply a map or shader to this parameter, click the None button. Horizon and Ground group Horizon Height The vertical position of the horizon. Default=0.0. For details, see Horizon Height on page 5884. Blur The “blurriness” with which the horizon is rendered. Default=0.1. At 0.0 the horizon is completely sharp. Generally only values lower than 0.5 are useful, but the full range is up to 10.0 for a horizon that consists of blur only, with no actual horizon at all. Ground Color The color of the virtual ground plane. Note that this is a diffuse reflectance value (that is, albedo). The ground appears as a Lambertian reflector with this diffuse color, lit by the sun and sky only, and does not receive any shadows. To apply a map or shader to this parameter, click the None button. 5896 | Chapter 16 Lights and Cameras TIP Some sky models neglect the influence of bounce light from the ground, assuming only the sky is illuminating the scene. To compare the output of mr Sky with, for example, the IES Sky model, one must therefore set Ground Color to black. After Dark group Night Color The minimum color of the sky: The sky will never become darker than this value. It can be useful for adding things like moon, stars, high-altitude cirrus clouds that remain lit long after sunset, etc. As the sun sets and the sky darkens, the contribution from Night Color is unaffected and remains as the base light level. To apply a map or shader to this parameter, click the None button. Non-Physical Tuning group Red/Blue Tint Provides artistic control over the redness of the sky light. The default value of 0.0 is the physically correct value (calculated for a 6500K whitepoint), but can be changed with this parameter, which ranges from -1.0 (extremely blue) to 1.0 (extremely red). To apply a map or shader to this parameter, click the None button. Saturation Provides artistic control over saturation of the sky light. The default value of 1.0 is the physically calculated saturation level. Possible values range from 0.0 (black and white) to 2.0 (extremely high saturation). To apply a map or shader to this parameter, click the None button. Aerial Perspective group NOTE This parameter is for advanced users, and functions only when you use mr Physical Sky is used as a lens shader or volume shader. When used as a lens shader, the aerial perspective “mist” applies to primary rays only; it doesn't appear in reflections. When used as a volume shader, it applies to the entire scene and every ray in it, including reflections and refraction. Visibility Distance Aerial Perspective is a term used by painters to convey how distant objects are perceived as hazier and tinted towards the blue end of the spectrum. mr Sky emulates this with the Visibilty Distance parameter. When nonzero, it defines the “10% distance”, that is, the distance at which approximately 10% of haze is visible at a Haze level of 0.0. Sunlight and Daylight Systems | 5897 mr Sky Portal Create panel ➤ (Lights) ➤ Photometric ➤ mr Sky Portal Create menu ➤ Lights ➤ Photometric ➤ mr Sky Portal The mr (mental ray) Sky Portal object provides an efficient method of “gathering” existing sky lighting in interior scenes without requiring high final gather or global illumination settings that would result in excessively long render times. In effect, a portal acts as an area light that derives its brightness and coloring from the environment. IMPORTANT For mr Sky Portal to work correctly, the scene must contain a Skylight component. This can be an IES Sky light on page 5870, an mr Sky light on page 5888, or a Skylight on page 5771. Procedures Example: To use the mr Sky Portal object: 1 Make sure mental ray is the active production renderer on page 7034. 2 Create a scene with a windowed interior. Set up a camera in the interior and set a viewport to show the camera view. 5898 | Chapter 16 Lights and Cameras 3 Add a Daylight system to the scene: 1 Create menu ➤ Systems ➤ Daylight System. When prompted to use the mr Photographic Exposure Control, click Yes. 2 On the mr Photographic Exposure Control rollout on page 7677, set Preset to Physically Based Lighting, Indoor Daylight. This changes the exposure value to 10.0. 3 Change the Sunlight object to mr Sun and the Skylight object to mr Sky. (see mental ray Sun & Sky on page 5874) For best results, position the sun so it’s not shining directly into the interior, or turn it off. Otherwise, the direct lighting could overwhelm the indirect lighting from the portal: especially when you use final gathering or global illumination. Sunlight and Daylight Systems | 5899 4 For each window, add an mr Skylight Portal object. The portal object is a wireframe rectangle with a central, perpendicular arrow showing the direction of light flow, or flux. Make each portal slightly larger than its respective opening, and position it immediately outside or inside the opening. TIP To help place the portal object as close as possible to the outside surface, use AutoGrid on page 2819. Also, make sure portals do not overlap; this would cause the illumination from the overlapping area to be doubled. 5900 | Chapter 16 Lights and Cameras Adding the Sky Portal object with AutoGrid on. Note the Light Flux Direction arrow pointing outward. 5 Make sure all the portals’ arrows are pointing inside. If a portal’s arrow points outside, toggle its Flip Light Flux Direction check box on the mr Skylight Portal Parameters rollout. Sunlight and Daylight Systems | 5901 With Flip Light Flux Direction on, the arrow points inward. 6 Turn on Final Gather on page 7213 and render the scene. If the image looks grainy, increase the Shadow Samples setting on the mr Skylight Portal Parameters rollout. 5902 | Chapter 16 Lights and Cameras Scene lit by mr Sky Portal with final gather at Draft preset, no diffuse bounces Interface mr Skylight Portal Parameters rollout Sunlight and Daylight Systems | 5903 On Toggles the illumination from the portal. When off, the portal has no effect on scene lighting. Multiplier Amplifies the power of the light. For example, if you set the value to 2.0, the light will be twice as bright. Filter Color Tints the coloring coming in from the outside. Dimensions Set the Length and Width using these controls. TIP To change the arrow size, use the Preferences ➤ Viewports panel ➤ Viewport Parameters group on page 8897 ➤ Non-Scaling Object Size setting. Flip Light Flux Direction Determines the direction in which light flows through the portal. The arrow must point toward the interior for the portal to cast light from the sky or environment. If it points outside, toggle this setting. Shadows On Toggles shadow casting by the light from the portal. By default, the portal casts shadows only from objects inside the portal; that is, on the arrow side. From “Outdoors” When on, casts shadows from objects outside the portal; that is, on the side away from the arrow icon. This is off by default, because turning it on can significantly increase render times. Shadow Samples The overall quality of shadows cast by the portal. If the rendered image is grainy, increase this value. Advanced Parameters rollout 5904 | Chapter 16 Lights and Cameras Visible to Renderer When on, the mr Sky Portal Object appears in the rendered image. Turn this on to prevent outside objects from appearing in the window. Transparency Filters the view outside the window. Changing this color doesn’t change the light coming in, but has the effect of darkening outside objects, which can help if they’re overexposed. To avoid recoloring the outside view, use a shade of gray, such as R=G=B=0.5. Color Source Sets the source of the light from which the mr Sky Portal derives its illumination. ■ Use existing SkylightUses the skylight. By default, with the mr Sky light using the mr Physical Sky environment map at their default values, this tends to give a bluish illumination, as with real-world skylight. ■ Use Scene EnvironmentUses the environment map for illumination color. Use this if your sky light and environment map are different colors, and you wish to use the latter for the interior illumination. ■ CustomLets you use any map for the illumination coloring. Choose Custom, and then click the button (“None”) to open the Material/Map Browser. Choose a map and click OK. Cameras Create panel ➤ (Cameras) Create menu ➤ Cameras Cameras present a scene from a particular point of view. Camera objects simulate still-image, motion picture, or video cameras in the real world. With a Camera viewport on page 8742 you can adjust the camera as if you were looking through its lens. Camera viewports can be useful for editing geometry as well as setting up a scene for rendering. Multiple cameras can give different views of the same scene. The Camera Correction modifier on page 5968 lets you correct a camera view to 2-point perspective, in which vertical lines remain vertical. If you want to animate the point of view, you can create a camera and animate its position. For example, you might want to fly over a landscape or walk through a building. You can animate other camera parameters as well. For Cameras | 5905 example, you can animate the camera's field of view to give the effect of zooming in on a scene. The Display panel's Hide By Category on page 138 rollout has a toggle that lets you turn the display of camera objects on and off. A convenient way to control the display of camera objects is to create them on a separate layer on page 8534. You can hide them quickly by turning off the layer. TIP The Camera Match utility on page 5970 allows you to start with a background photograph and create a camera object that has the same point of view. This is useful for site-specific scenes. There are two kinds of camera objects: ■ A Target camera on page 5917 views the area around a target object. When you create a target camera, you see a two-part icon representing the camera and its target (a white box). The camera and the camera target can be animated independently, so target cameras are easier to use when the camera does not move along a path. ■ A Free camera on page 5915 views the area in the direction the camera is aimed. When you create a free camera, you see a single icon representing the camera and its field of view. The camera icon appears the same as a target camera icon, but there is no separate target icon to animate. Free cameras are easier to use when the camera's position is animated along a path. 5906 | Chapter 16 Lights and Cameras An example of a camera in a scene. Cameras | 5907 The result after rendering through the camera. You can create cameras from the Create menu ➤ Cameras submenu, or by clicking the Cameras button on the Create panel. You can also create a camera by activating a Perspective viewport, and then choosing Views menu ➤ Create Camera From View. After you have created a camera, you can change viewports to display the camera's point of view. While a camera viewport is active, the navigation buttons change to camera navigation buttons on page 8742. You use the Modify panel in conjunction with a camera viewport to change the camera's settings. While you use the navigation controls for a camera viewport, you can constrain Truck, Pan, and Orbit movement to be vertical or horizontal only with the Shift key. You can move a selected camera so its view matches that of a Perspective, Spotlight, or another Camera view. Choosing a Camera for Vertical Views If you need an animated camera to look vertically upward or downward, use a free camera. If you use a target camera you might run into a problem of unexpected movement. 3ds Max constrains a target camera's up-vector (its 5908 | Chapter 16 Lights and Cameras local positive Y axis) to be as close as possible to the world positive Z axis. This is no problem when you are working with a static camera. However, if you animate the camera and put it in a nearly vertical position, either up or down, 3ds Max flips the Camera view to prevent the up-vector from becoming undefined. This creates sudden changes of view. Camera Object Icons Camera objects are visible in viewports unless you choose not to display them. However, the geometry that appears in the viewport is only an icon meant to show you where the camera is located and how it is oriented. Target cameras on page 5917 create a double icon, representing the camera (a blue box intersecting a blue triangle) and the camera target (a blue box). Free cameras on page 5915 create a single icon, representing the camera and its field of view. A free camera has no target. A target camera has a target sub-object. You cannot shade camera objects. However, you can render their icons using Animation menu ➤ Make Preview and turning on Cameras in the Display In Preview group. The display of camera object icons is not scaled when you change the scale of the viewport. When you zoom in on a camera, for example, the icon size does not change. To change the size of camera object icons, you can use the Viewports panel on page 8896 of the Preferences dialog, and change the value of Non-Scaling Object Size. Cameras | 5909 Scale transforms have the following effects on a camera object: ■ Uniform Scale has no effect on a target camera, but does change the free camera's Target Distance setting. ■ Non-Uniform Scale and Squash change the size and shape of the free camera's FOV cone. You see the effect in the viewport, but the camera's parameters do not update. Non-Uniform Scale and Squash will change the size and shape of a target camera’s icon, but have no visible effect in the viewport. mental ray Camera Shaders When you use the mental ray renderer on page 7129, you can apply shaders to the camera used to render the scene. Specifically, you can assign shaders to modify the camera's lens, its output, or its volume (effectively making a volume out of the entire scene). A dimly lit scene 5910 | Chapter 16 Lights and Cameras The scene's colors desaturated using the Night shader Lens shader: lume Night shader with Multiplier set to 0.5 You assign camera shaders using the Render Setup dialog ➤ Camera Effects rollout on page 7201 while the mental ray renderer is active. NOTE No camera output shaders are provided with 3ds Max. You might have access to light map shaders if you have obtained them from other shader libraries or custom shader code. See also: ■ Common Camera Parameters on page 5931 ■ Characteristics of Cameras on page 5919 ■ Using Transforms to Aim a Camera on page 5942 ■ Using Clipping Planes to Exclude Geometry on page 5943 ■ Using the Horizon to Match Perspective on page 5944 ■ Animating Cameras on page 5946 Cameras | 5911 Procedures To render a scene using a camera: 1 Create the camera and aim it at the geometry you want to be the subject of your scene. To aim a target camera, drag the target in the direction you want the camera to look. To aim a free camera, rotate and move the camera icon. 2 With one camera selected, or if only one exists in the scene, set a Camera viewport for that camera by activating the viewport, then press C. If multiple cameras exist and none or more than one are selected, 3ds Max prompts you to choose which camera to use. You can also change to a Camera viewport by clicking or right-clicking the Point-Of-View viewport label, and then from the POV viewport label menu on page 8712 choosing Cameras ➤ the name of the camera of choice. 3 Adjust the camera's position, rotation, and parameters using the Camera viewport’s navigation controls. Simply activate the viewport, then use the Truck, Orbit, and Dolly Camera buttons. Alternately you can select the camera components in another viewport and use the move or rotate icons. If you do this while the Auto Key button on page 8679 is on, you animate the camera. 4 Render the camera viewport. To change a viewport to a Camera view: 1 Click or right-click the POV viewport label. 3ds Max opens the Point-Of- View viewport label menu. on page 8712. 2 Choose Cameras. The Cameras submenu shows the name of each spotlight or directional light in the scene. 3 Choose the name of the camera you want. The viewport now shows the camera's point of view. The default keyboard shortcut for camera viewports is C. Making a camera viewport active does not automatically select the camera. To adjust a camera by using its viewport and the Modify panel at the same time, select the camera and then make the Camera viewport active. 5912 | Chapter 16 Lights and Cameras As in other viewports, in Camera viewports you can opt to see a display of safe frame areas to help you compose the final rendered output. To control the display of camera objects, do one of the following: ■ Go to the Display panel and in the Hide By Category rollout, turn Cameras on or off. ■ Choose Tools menu ➤ Display Floater, and on the Object Level tab, turn Cameras on or off. When Hide ➤ Cameras is off, cameras appear in viewports; when Hide ➤ Cameras is on, they don't appear. When camera icons are displayed, the Zoom Extents commands on page 8726 include them in views. When camera icons are not displayed, the Zoom Extents commands ignore them. To change the display size of camera icons: ■ Choose Customize ➤ Preferences ➤ Viewports, and set Non-Scaling Object Size (default=1.0 in current units). NOTE This also changes the size of light icons, helper objects, and other non-scaling objects in the scene. To use the Modify panel in conjunction with a Camera viewport: 1 In any viewport, select the camera. 2 Right-click the Camera viewport to activate the viewport without deselecting the camera. The Camera viewport becomes active, but the camera is still selected in the other viewports. 3 Adjust the camera using its Parameters rollout on the panel, or the viewport navigation buttons. Modify The Camera viewport updates as the parameters are changed. Cameras | 5913 To constrain Pan and Orbit to be vertical or horizontal: ■ Hold down Shift as you drag in the viewport. The initial direction of the drag sets the constraint. If you drag vertically at first, the pan or orbit is constrained to be vertical; if you drag horizontally at first, the constraint is horizontal. The Zoom Extents All flyout and the Min/Max toggles remain visible. These controls aren't specific to camera views. Clicking Zoom Extents All affects other kinds of viewports, but does not affect Camera viewports. To see the safe frame: ■ Click or right-click the Point-Of-View viewport label. From the POV viewport label menu on page 8712, choose Show Safe Frame. The safe frames on page 9285 are displayed in three concentric boxes. The outermost safe frame matches the render output resolution. The safe frame on page 9285 matches the render output resolution. Boxes in the viewport indicate safe frames. 5914 | Chapter 16 Lights and Cameras To match a camera to a viewport: 1 (Optional) Select a camera. 2 Activate a Perspective viewport. 3 If no camera was selected, 3ds Max creates a new target camera whose field of view matches the viewport. If you first selected a camera, the camera is moved to match the Perspective view. 3ds Max also changes the viewport to a camera viewport for the camera object, and makes the camera the currently selected object. Free Camera Create panel ➤ (Cameras) ➤ Free Create menu ➤ Cameras ➤ Free Camera Free cameras view the area in the direction where the camera is aimed. Unlike target cameras, which have two independent icons for the target and the camera, free cameras are represented by a single icon, making them easier to animate. Free cameras can be used when the camera's position is animated along a trajectory on page 9332, as in a walkthrough of a building or when the camera is attached to a moving vehicle. The free camera can bank as it travels along the path. If the camera needs to be directly overhead in a scene, use a free camera to prevent it from spinning. Free Camera | 5915 A free camera can move and be oriented without restrictions. Initial Direction of a Free Camera A free camera’s initial direction is along the negative Z axis of the active construction grid of the viewport you click. In other words, if you click in an orthographic viewport, the initial camera direction is directly away from you. Clicking the Top viewport aims the camera downward, clicking the Front viewport aims the camera at the scene from the front, and so on. Clicking in a Perspective, User, Light, or Camera viewport aims the free camera downward, along the negative Z axis of the World Coordinate System. Because the camera is created on the active construction plane, where you also create geometry, you might have to move the camera before you can see objects in its Camera viewport. Check the camera’s position from several viewports to correct. 5916 | Chapter 16 Lights and Cameras Procedures To create a free camera: 1 Do one of the following: ■ Choose Create menu ➤ Cameras ➤ Free Camera. ■ On the Create panel, click Object Type rollout, turn on Free. (Cameras), then on the 2 Click the viewport location where you want the camera to be. The kind of viewport you click determines the free camera's initial direction: the initial direction is along the negative Z axis of the active construction grid of the viewport you click. The camera is now part of the scene. 3 Set the creation parameters. 4 Rotate and move the camera to adjust the point of view. Interface See Common Camera Parameters on page 5931. Target Camera Create panel ➤ (Cameras) ➤ Target Create menu ➤ Cameras ➤ Target Camera A target camera “views” the area around the target icon that you place when you create the camera. A target camera is easier to aim than a free camera because you simply position the target object at the center of interest. You can animate both the target camera and its target to create interesting effects. To animate both the target and camera along a path, it is best to link them both to a dummy object, then animate the dummy. Target Camera | 5917 NOTE When you add a target camera, 3ds Max automatically assigns a Look At controller on page 3533 to it, with the camera's target object assigned as the Look At target. You can use the controller settings on the Motion panel to assign any other object in the scene as the Look At target. Target cameras always face their target. Procedures To create a target camera: 1 Do one of the following: ■ On the Create panel, click Object Type rollout, turn on Target. (Cameras), then on the ■ Choose Create menu ➤ Cameras ➤ Target Camera. 2 Drag in a viewport. The initial point of the drag is the location of the camera, and the point where you release the mouse is the location of the target. 5918 | Chapter 16 Lights and Cameras The camera is now part of the scene. It is aimed at the target, which is a separate object. 3 Set the creation parameters. Interface See Common Camera Parameters on page 5931 for a description of the common camera parameters. The distance from the camera to the target is displayed at the bottom of the Parameters rollout. You can animate this parameter, or directly animate the target object's location. When you rename a target camera, the target is automatically renamed to match. For example, renaming Camera01 to Rolli causes Camera01.Target to become Rolli.Target. The target's name must have the extension .Target. Renaming the target object does not rename the camera object. Clicking the line that connects the camera and its target selects both objects. However, region selection doesn't recognize the link line. If a target camera is already selected, you add its target to the selection by right-clicking the camera, and then choosing Select Target from the quad menu ➤ Tools1 quadrant. Or you can hold down the Ctrl key and click the target to add it to the selection set. Using Cameras These topics provide a general introduction to using cameras in 3ds Max. Characteristics of Cameras Real-world cameras use lenses to focus the light reflected by a scene onto a focal plane that has a light-sensitive surface. Using Cameras | 5919 Real-world camera measurements. A: Focal length B: Field of view (FOV) Focal Length The distance between the lens and the light-sensitive surface, whether film or video electronics, is called the focal length of the lens. Focal length affects how much of the subject appears in the picture. Lower focal lengths include more of the scene in the picture. Higher focal lengths include less of the scene but show greater detail of more distant objects. Focal length is always measured in millimeters. A 50mm lens is a common standard for photography. A lens with a focal length less than 50mm is called a short or wide-angle lens. A lens with a focal length longer than 50mm is called a long or telephoto lens. Field of View (FOV) The field of view (FOV) controls how much of the scene is visible. The FOV is measured in degrees of the horizon. It is directly related to the focal length of the lens. For example, a 50mm lens shows 46 degrees of the horizon. The 5920 | Chapter 16 Lights and Cameras longer the lens, the narrower the FOV. The shorter the lens, the wider the FOV. Relationship Between FOV and Perspective Short focal lengths (wide FOV) emphasize the distortions of perspective, making objects seem in-depth, looming toward the viewer. Long focal lengths (narrow FOV) reduce perspective distortion, making objects appear flattened and parallel to the viewer. Upper left: Long focal length, narrow FOV Lower right: Short focal length, wide FOV The perspective associated with 50 mm lenses appears normal, partly because it is close to what the eye sees, and partly because such lenses are so widely used for snapshots, news photos, cinema, and so on. Differences Between Camera Objects and Real-World Cameras Many other controls on real-world cameras (such as those for focusing a lens, and advancing film) aren’t needed for computer rendering and have no counterpart in the camera objects. Using Cameras | 5921 3ds Max does have counterparts for the camera movements used in movie making, such as truck, dolly, and pan. See Camera Viewport Controls on page 8742. Procedures To match a real-world camera frame proportion: 1 Choose Rendering ➤ Render Setup. The Render Setup dialog opens. 2 In the Output Size group, click the arrow to display the list of real world output sizes. 3 Select the type you want (both film and video output sizes are available). 4 Right-click the Camera viewport label, and turn on Show Safe Frame. The Safe Frame proportions will match those of the selected output size. Exposure Control in Real-World Cameras 3ds Max uses concepts from the photographic world to help you design proper lighting conditions. Shutter speed and aperture are particularly important concepts to understand. They are used to control the amount of light in a scene. They also control focus effects. If you are not familiar with how camera shutter speed and aperture can affect scene lighting and focus, read on. Otherwise, skip this section. 5922 | Chapter 16 Lights and Cameras Aperture In photography, the aperture controls the amount of light passing through a camera lens. Most often, an iris diaphragm is used to control the opening. The various settings are called f-stops. The smaller the f-stop, the larger the opening. Standard f-stop values are f1.8, f2.8, f4, f5.6, f8, f11 and f16. Figure A = f1.8 Figure B = f5.6 Using Cameras | 5923 Figure C = f11 Aperture can also be used to control depth of field. Depth of field is a technique used to focus on a fixed point in a scene, called a focal plane. The area around the focal plane remains in focus, while the rest of the image is blurred. More blurring occurs when the aperture is wider (set to a smaller f-stop). The next illustration shows the effect of depth of field in a scene. The focal plane is set short, so that the chair is in focus, leaving the background blurred. Shutter Speed Control A camera shutter is set to various speeds, each of which determine the length of time a film is exposed. Shutter mechanisms are commonly blinds-like components that open progressively. Most often, they open up vertically, althought they can also open up horizontally. Some devices, especially motion-picture cameras, have rotating shutters. If the blades move slowly, a bigger slit opens and more light comes in. This is useful for dark environments or ones where there isn’t a lot of motion. (Fast-moving objects, like a car racing by, blur when shutter speed is set too low.) 5924 | Chapter 16 Lights and Cameras If the blades move fast, the slit is smaller and less light travels through the lens. This is useful for fast-moving action or bright environments with sun, snow, and sand. Using Cameras | 5925 Aperture and Shutter Speed The following graphic illustrates the amount of light going through a lens set to an aperture opening of f11. In Figure A, shutter speed is fast and only a small amount of light travels through. In Figure B, shutter speed is slow and more light travels through. 5926 | Chapter 16 Lights and Cameras Usually, you need to adjust both the shutter speed and aperture value to ensure that an optimum amount of light enters the camera. In an exterior setting on a sunny day, for example, you would combine a faster shutter speed with a small aperture to compensate for the bright environment. If the day is cloudy, however, you might want to reduce the speed so that more light travels through the lens. Otherwise, your shot will be underexposed and appear too dark. If your environment includes fast-moving objects, you may choose to use a faster shutter speed to prevent blurring. To compensate for the faster shutter speed, you would also need to open the aperture to let in more light. Using Cameras | 5927 The challenge is to strike an effective balance between shutter speed and aperture. A setting that works well in one situation might not necessarily work well in another. Summary As you develop your scenes in 3ds Max, you will need to experiment with various aperture and shutter-speed settings to obtain the right lighting conditiond. 3ds Max provides you with a variety of exposure presets formulated to suit specific environmental conditions. You can then fine-tune your exposure by manually adjusting shutter speed and f-stops as needed. 5928 | Chapter 16 Lights and Cameras The next three illustrations show the effects different exposure settings can have on an identical scene. Properly exposed scene: shutter speeed 1/500s at f8. Using Cameras | 5929 Underexposed scene: shutter speeed 1/1000s at f16. 5930 | Chapter 16 Lights and Cameras Overexposed scene: shutter speeed 1/100s at f5.6. Common Camera Parameters Create panel ➤ Cameras ➤ Target button or Free button ➤ Parameters rollout Most of the camera controls are common to both kinds of cameras. This topic describes those controls. Procedures To view a wider area, do either of the following: 1 Use the FOV spinner to increase the camera's field of view. 2 Click a button with a shorter focal length. Use the Lens spinner to give the focal length a value other than the preset "stock" values on the buttons. Using Cameras | 5931 To view a narrower area, do either of the following: 1 Change the FOV parameter to decrease the camera's field of view. 2 Click a button with a longer focal length. Use the Lens parameter to give the focal length a value other than the preset "stock" values on the buttons. In a camera viewport, the FOV button lets you adjust the field of view interactively. The camera viewport Perspective button also changes the FOV in conjunction with dollying the camera. NOTE Only the FOV value is saved with the camera. The focal length value is merely an alternative way to express and select the FOV. To set the camera lens size: 1 In the Stock Lenses group, click a button to choose a stock focal length. 2 Set the Lens spinner to a custom focal length. TIP If you want to maintain the same lens, avoid using the FOV or Perspective controls among the navigation icon buttons, and don't change the FOV spinner. IMPORTANT When a camera viewport is active, changing the Output Size or (custom) Aperture Width in the Render Setup dialog on page 6956 will change the camera's Lens setting. To match a camera to a film or video format: 1 On the Render Setup dialog, in the Output Size group Output Size group on page 7023, choose the type of output you want. Use either of the following methods. ■ Choose a preset, such as HDTV (video), from the drop-down list. The Aperture Width is locked to the preset's values. ■ Choose Custom, and then set the desired Aperture Width value. (You can adjust the other output values at any later time. They have no 5932 | Chapter 16 Lights and Cameras affect on the camera lens settings, although they do affect the cropping of the scene.) 2 After setting Aperture Width, set the Lens value for the camera to the type of camera lens you want to emulate (for example, 50mm). To maintain the same lens, avoid using the FOV or Perspective controls among the navigation icon buttons. To find a lens's focal length: ■ To find the focal length of a lens based on changes in aperture width, open the Render Setup dialog on page 6956, choose Custom from the Output Size drop-down list, and specify a value in the Aperture Width spinner. The new value of the camera's Lens parameter is based on the new Aperture Width value. To display a camera's cone: ■ Turn on Show Cone. The camera's field-of-view cone appears outlined in light blue. NOTE A camera's cone is always visible while the camera object is selected, regardless of the Show Cone setting. To display a camera's horizon line: ■ Turn on Show Horizon. Using Cameras | 5933 A dark gray line appears at the level of the horizon in the camera's viewport. The horizon line shown in the viewport. The horizon line might not be visible if the horizon is beyond the camera's field of view, or if the camera is tilted very high or low. To change the environment range: ■ Adjust the value of Near Range or Far Range. By default, the Near Range=0.0 and the Far Range equals the Far clipping plane value. Environment ranges determine the near and far range limits for atmospheric effects you set in the Environment dialog. To see the environment ranges in viewports: ■ Turn on Show. The environment range displays as two planes. The plane closest to the camera is the near range and the one farthest from the camera is the far range. 5934 | Chapter 16 Lights and Cameras To set clipping planes: 1 Turn on Clip Manually. When Clip Manually is off, the camera ignores the location of the Near and Far clipping planes, and their controls are unavailable. The camera renders all geometry within its field of view. 2 Set the Near Clip value to position the near clipping plane. Objects closer to the camera than the Near distance are not visible to the camera and aren't rendered. 3 Set the Far Clip value to position the far clipping plane. Objects farther from the camera than the Far distance are not visible to the camera and aren't rendered. You can set the Near clipping plane close to the camera so that it doesn't exclude any geometry, and still use the Far plane to exclude objects. Similarly, you can set the Far clipping plane far enough from the camera that it doesn't exclude any geometry, and still use the Near plane to exclude objects. The Near value is constrained to be less than the Far value. If the clipping plane intersects an object, it cuts through that object, creating a cutaway view. Using Cameras | 5935 The effect of clipping planes To apply a multi-pass rendering effect to a scene: 1 In the Multi-Pass Effect group, turn on Enable and choose either Depth Of Field or Motion Blur. 2 In the Multi-Pass Effect group, turn on Enable. Depth Of Field is the only multi-pass effect that is provided with 3ds Max by default. 3 In the Multi-Pass Effect group, turn on Enable and choose Depth Of Field. 4 Use the Depth Of Field Parameters rollout on page 5951 or the Motion Blur Parameters rollout on page 5955 to set the values for the effect you chose. 5 Activate a camera viewport. 6 In the Multi-Pass Effect group, click Preview to preview the effect in the camera viewport. The Preview button has no effect if a camera viewport isn't active. 7 Render the scene or animation. 5936 | Chapter 16 Lights and Cameras Interface Lens Sets the camera's focal length in millimeters. Use the Lens spinner to give the focal length a value other than the preset "stock" values on the buttons in the Stock Lenses group box. Using Cameras | 5937 Changing the Aperture Width value on the Render Setup dialog also changes the value in the Lens spinner field. This doesn't change the view through the camera, but it does change the relationship between the Lens value and the FOV value, as well as the aspect ratio of the camera's cone. FOV Direction flyout Lets you choose how to apply the field of view (FOV) value: ■ ■ ■ Horizontal(The default.) Applies the FOV horizontally. This is the standard way to set and measure the FOV. VerticalApplies the FOV vertically. DiagonalApplies the FOV diagonally, from one corner of the viewport to the other. FOV Determines how wide an area the camera views (field of view on page 9153). When FOV Direction is horizontal (the default), the FOV parameter directly sets the arc of the camera's horizon on page 9185, measured in degrees. You can also set the FOV Direction to measure FOV vertically or diagonally. You can also adjust the field of view interactively in a camera viewport on page 8742 by using the FOV button. Orthographic Projection When on, the camera view looks just like a User view. When off, the camera view is the standard perspective-like view. While Orthographic Projection is in effect, the viewport navigation buttons behave as they ordinarily do, except for Perspective. Perspective function still moves the camera and changes the FOV, but the Orthographic Projection cancels the two out, so you don't see any change until you turn off Orthographic Projection. Stock Lenses group 15mm, 20mm, 24mm, 28mm, 35mm, 50mm, 85mm, 135mm, 200mm These preset values set the camera's focal length in millimeters. Type Changes the camera's type from a Target camera on page 5917 to a Free camera on page 5915, and vice versa. NOTE When you switch from a target camera to a free camera, any animation applied to the camera's target is lost, because the target object goes away. 5938 | Chapter 16 Lights and Cameras Show Cone Displays the cone (actually a pyramid) defined by a camera's field of view. The cone appears in the other viewports but does not appear in a camera viewport. Show Horizon Displays the horizon line. A dark gray line appears at the level of the horizon in the camera's viewport. Environment Ranges group Near Range and Far Range Determine the near and far range limits for the atmospheric effects set on the Environment panel on page 7621. Objects between the two limits fade between the Far % and Near % values. Show Displays rectangles within the camera's cone to show the Near and Far range settings. Using Cameras | 5939 Top: Conceptual image of the Near and Far ranges. Bottom: Result after rendering. Clipping Planes group Sets options to define clipping planes on page 9117. In viewports, clipping planes are displayed as red rectangles (with diagonals) within the camera's cone. Clip Manually Turn on to define clipping planes. When Clip Manually is off, geometry closer to the camera than 3 units is not displayed. To override this, use Clip Manually. Near Clip and Far Clip Sets near and far planes. Objects closer than the near clipping plane or farther than the far clipping plane are invisible to the camera. The limit of the Far Clip value is 10 to the power of 32. With manual clipping on, the near clipping plane can be as close to the camera as 0.1 unit. WARNING Extremely large Far Clip values can produce floating-point error, which can cause Z-buffer problems in the viewport, such as objects appearing in front of other objects when they shouldn't. 5940 | Chapter 16 Lights and Cameras Conceptual image of Near and Far clipping planes. Multi-Pass Effect group These controls let you assign a depth-of-field or motion blur effect to the camera. When generated by a camera, these effects generate blurring by rendering the scene in multiple passes, with offsets. They increase rendering time. TIP The depth-of-field and motion blur effects are mutually exclusive. Because they rely on multiple rendering passes, applying both to the same camera could be prohibitively slow. If you want to use both depth-of-field and motion blurring in the same scene, use multi-pass depth-of-field (using these camera parameters) and combine it with object motion blur on page 9242. Enable When on, previewing or rendering uses the effect. When off, the effect is not rendered. Preview Click to preview the effect in an active camera viewport. This button has no effect if the active viewport is not a camera view. Using Cameras | 5941 Effect drop-down list Lets you choose which multi-pass effect to generate, Depth Of Field on page 5951 or Motion Blur on page 5955. These effects are mutually exclusive. Default=Depth Of Field. This list also lets you choose Depth of Field (mental ray) on page 5950, which lets you use the mental ray renderer's depth of field effect. NOTE The rollout for the chosen effect appears, by default, after the Parameters rollout. Render Effects Per Pass When on, applies rendering effects on page 7515, if any are assigned, to each pass of the multi-pass effect (depth of field or motion blur). When off, applies rendering effects only after the passes that generate the multi-pass effect. Default=off. Turning off Render Effects Per Pass can improve the render time for multi-pass effects. Target Distance With a free camera, sets a point to use as an invisible target so that you can orbit a camera around that point. With a target camera, indicates the distance between the camera and its target. Using Transforms to Aim a Camera You can use transforms to aim a camera and change its orientation in the scene. Move on page 851 adjusts the position of the camera object or the position of a target camera’s target on page 5917. Because the target is displayed as a small square, and because it is often in the same area as objects that are the subject of the camera, it can be hard to select by clicking. Select the camera object, right-click, then choose Select Target from the Tools 1 (upper-left) quadrant of the quad menu. You can also choose Cameras from the Selection Filters list on the toolbar, and then click the target. Rotate on page 852 adjusts the orientation of the camera object. This transform is most useful with free cameras on page 5915. You can’t rotate a Target camera about its local X and Y axes, because it is constrained to aim at its target. Use Move to move the camera or its target. Also, if you rotate a Target camera to a nearly vertical position, either up or down, 3ds Max must flip the Camera view to prevent the up-vector from 5942 | Chapter 16 Lights and Cameras becoming undefined. If you need a camera to look vertically upward or downward, use a Free camera. In a Camera viewport, you can also use the navigation buttons on page 8742 to adjust the camera interactively. Some navigation buttons, such as Dolly and Orbit actually move the camera or its target. Using Clipping Planes to Exclude Geometry Clipping planes let you exclude some of a scene’s geometry and view or render only certain portions of the scene. Each camera object has a near and a far clipping plane. Objects closer than the near clipping plane or farther than the far clipping plane are invisible to the camera. Clipping planes are useful for rendering selected portions of a scene that has a lot of complex geometry. They can also help you create cutaway views. Left: Clipping plane excludes the foreground chair and the front of the table. Right: Clipping plane excludes the background chair and the rear of the table. Clipping plane settings are part of the camera’s parameters on page 5931. The location of each clipping plane is measured along the camera’s line of sight (its local Z axis) in the current units for the scene. Using Cameras | 5943 You can set the near clipping plane close to the camera so that it doesn’t exclude any geometry, and still use the far plane to exclude objects. Similarly, you can set the far clipping plane far enough from the camera that it doesn’t exclude any geometry, and still use the near plane to exclude objects. The near value is constrained to be less than the far value. If the clipping plane intersects an object, it cuts through that object, creating a cutaway view. (How much of the cutaway object is visible depends on whether the object’s material is two-sided or not.) You can also use clipping planes in non-camera viewports. Simply click or right-click the Point-Of-View (POV) viewport label, and from the POV viewport label menu on page 8712, choose Viewport Clipping on page 8707. WARNING If you use the mental ray renderer on page 7129, geometry outside the clipping planes might still appear in renderings. Using the Horizon to Match Perspective The horizon of a scene is the edge of vision at the height of the camera, parallel with the world coordinate plane. You can view the horizon in camera viewports. 5944 | Chapter 16 Lights and Cameras Horizon line displayed in a camera viewport A camera is level when it and its target are the same height from the world coordinate plane. In other words, the camera’s local Z axis is parallel to the world plane. When the camera is level, the horizon line is centered in the viewport. As the camera tilts up, the horizon line lowers; as it tilts down, the horizon line raises. The horizon line control is in the camera’s Parameters rollout on page 5931. The horizon line can help you match the perspective of your scene to the perspective of a still image. In general, matching perspective involves the following steps: 1 Display the horizon line. Use it to help you adjust the camera and target so they are level. 2 Display the image in the camera viewport. Use Views ➤ Viewport Background and choose Files in the Background Source group. If the image's horizon and the camera horizon don't match, you have to offset the image, perhaps by using a paint program. Using Cameras | 5945 3 Use (Orbit) on page 8750 to move the camera until the perspective of the scene roughly matches that of the still image. 4 Adjust the camera's perspective match. perspective on page 8746 to fine-tune the 5 Use (Move) on page 851 with the camera or target to position the scene against the background. If you raise or lower the camera, raise or lower the target by an equal amount, in order to keep them level and maintain the horizon. You can also use the Camera Match utility on page 5970 to match the perspective of a camera to a photograph. You will need accurate scene measurements to do so. Animating Cameras You animate a camera by using transforms or changing its creation parameters in different keyframes while the Set Key or Auto Key button is on. 3ds Max interpolates camera transforms and parameter values between keyframes, as it does for object geometry. See Auto Key Animation Mode on page 8679 and Track View on page 3827 for further descriptions of animation. This topic summarizes some possibilities and suggests some techniques. In general, it’s best to use a free camera on page 5915 when the camera is to move within the scene; use a target camera on page 5917 when camera position is fixed. Moving a Camera Along a Path Having a camera follow a path is a common way to create architectural walkthroughs, roller coaster rides, and so on. ■ If the camera must bank or tilt close to the vertical (as on a roller coaster), use a free camera. Assign the Path constraint on page 3629 directly to the camera object. The camera follows the path, and you can adjust its point 5946 | Chapter 16 Lights and Cameras of view by adding pans or rotate transforms. This is comparable to filming with a hand-held camera. ■ For a target camera, link both the camera and its target to a dummy object on page 2871, then assign the path constraint to the dummy object. This is comparable to mounting the camera on a tripod on a dolly. It is easier to manage than having, for example, separate paths for the camera and its target. Following a Moving Object You can use a LookAt constraint on page 3619 to have the camera automatically follow a moving object. ■ The LookAt constraint makes the object replace the camera’s target. If the camera is a target camera, its previous target is ignored. If the camera is a free camera, it effectively becomes a target camera. While the LookAt constraint assignment is in effect, the free camera cannot rotate around its local X and Y axes, and can’t be aimed vertically because of the up-vector constraint. ■ An alternative is to link on page 3666 a target camera’s target to the object. Panning You can animate the pan of any camera very easily by following these steps: 1 Select the camera. 2 Activate the Camera viewport. 3 Turn on (Auto Key), and advance the time slider to any frame. 4 Turn on (Pan), in the viewport navigation tools, the drag the mouse to pan the camera. Orbiting You can animate the orbiting of any camera very easily by following these steps: 1 Select the camera. Using Cameras | 5947 2 Activate the Camera viewport. 3 Turn on (Auto Key), and advance the time slider to any frame. 4 Use (Orbit), in the viewport navigation tools, then drag the mouse to orbit the camera. The target camera revolves around its target; the Free camera revolves around its target distance. Zooming Zooming moves toward or away from the camera’s subject matter by changing the focal length of the lens. It differs from dollying, which physically moves the camera but leaves the focal length unchanged. You can zoom by animating the value of the camera’s FOV parameter on page 5931. Creating Animated Cutaway Views You can animate the creation of a cutaway view by animating the location of the near or far clipping planes on page 5943, or both. Multi-Pass Rendering Effects Create panel ➤ (Cameras) ➤ Target or Free ➤ Parameters rollout ➤ Multi-Pass Effect group Cameras can create two kinds of rendering effects: depth of field and motion blur. 5948 | Chapter 16 Lights and Cameras Motion blur applied to wings of the flying dragon Multi-pass rendering effects use multiple renderings of the same frame, with slight camera movement between each rendering. The multiple passes simulate the blurring that film in a camera would register under certain conditions. Although it is not a multi-pass effect, the choices in the drop-down list also let you specify the depth-of-field value for the mental ray renderer on page 7129. See Depth of Field Parameter (mental ray Renderer) on page 5950. Multi-Pass Rendering Effects | 5949 Depth of Field Parameter (mental ray Renderer) Create panel ➤ (Cameras) ➤ Target button or Free button ➤ Parameters rollout ➤ Multi-Pass Effect group. ➤ Turn on Enable and choose Depth Of Field (mental ray). ➤ Depth of Field Parameters rollout On the Parameters rollout on page 5931, a “Depth Of Field (mental ray)” choice supports the mental ray renderer's depth-of-field effects. To use this, turn on Enable in the camera's Multi-Pass Effect group. Also turn on Depth Of Field on the Camera Effects rollout of the Render Setup dialog on page 6956. The mental ray depth-of-field is exclusive of the multi-pass version of the depth-of-field effect. The mental ray renderer also supports motion blur for cameras, but the controls are not on the camera's Parameters rollout: use the Motion Blur toggle on the Object Properties dialog for camera objects. This setting has no effect on the default 3ds Max scanline renderer. NOTE When you use the mental ray renderer, reflected or refracted light rays do not always respect a camera's clipping planes (set in the Clipping Planes group of the Parameters rollout). Also, large clipping-plane values can cause poor quality in the rendering of shadow maps. To fix this, narrow the clipping range or use ray-traced shadows. Interface f-Stop Sets the camera's f-Stop. Increasing the f-Stop value narrows the depth of field, and decreasing the f-Stop value broadens the depth of field. Default=2.0. The f-Stop can have a value less than 1.0. This is not realistic in terms of an actual camera, but it can help you adjust the depth of field for scenes whose scale does not use realistic units. 5950 | Chapter 16 Lights and Cameras Multi-Pass Depth of Field Parameters for Cameras Create panel ➤ (Cameras) ➤ Target button or Free button ➤ Parameters rollout ➤ Multi-Pass Effect group ➤ Choose Depth Of Field effect. ➤ Depth of Field Parameters rollout Cameras can generate depth-of-field effects. Depth of field is a multi-pass effect on page 7126. You turn it on in the Parameters rollout on page 5931 for cameras. Depth of field simulates a camera's depth of field by blurring areas of the frame at a distance from the camera's focal point (that is, its target or target distance). Multi-pass depth of field Top: Focus is in the middle distance, near and far objects are blurred. Multi-Pass Rendering Effects | 5951 Bottom left: Focus on near objects, far objects are blurred. Bottom right: Focus on far objects, near objects are blurred. You can preview depth of field in viewports. Previewing multi-pass depth of field in a shaded and a wireframe viewport IMPORTANT This effect is for the default scanline renderer. The mental ray renderer on page 7129 has its own depth-of-field effect. See Depth of Field Parameter (mental ray Renderer) on page 5950. TIP To reduce the visible effect of multiple camera passes, try setting the antialiasing filter to Blend, with a Width value in the range 4.0 to 5.0, and a Blend value in the neighborhood of 0.1. (You choose the antialiasing filter and adjust its settings in the Default Scanline Renderer rollout on page 7042.) Also, try reducing the Dither Strength value, in the effect's Pass Blending group, to the neighborhood of 0.2. NOTE There is also a depth-of-field rendering effect on page 7617. See also: ■ Multi-Pass Motion Blur Parameters for Cameras on page 5955 5952 | Chapter 16 Lights and Cameras Interface NOTE The multi-pass depth-of-field parameters are animatable. Focal Depth group Use Target Distance When on, uses the camera's target distance as the point about which to offset the camera for each pass. When off, uses the Focal Depth value to offset the camera. Default=on. Multi-Pass Rendering Effects | 5953 Focal Depth When Use Target Distance is off, sets the depth from which the camera is offset. Can range from 0.0 to 100.0, where 0.0 is at the camera's location and 100.0 is in the extreme distance (effectively, infinity). Default=100.0. Low values of the Focal Depth give wildly blurry results. High Focal Depth values blur the distant portions of the scene. In general, using Focal Depth instead of the camera's Target Distance tends to blur the entire scene. Sampling group Display Passes When on, the rendered frame window displays the multiple rendering passes. When off, the frame window displays only the final result. This control has no effect on previewing depth of field in camera viewports. Default=on. Use Original Location When on, the first rendering pass is in the camera's original location. When off, the first rendering pass is offset like all subsequent passes. Default=on. Total Passes The number of passes used to generate the effect. Increasing this value can increase the effect's accuracy, but at a cost of rendering time. Default=12. Sample Radius The radius by which the scene is shifted to generate blurriness. Increasing this value increases the overall blurriness of the effect. Decreasing it reduces the blurriness. Default=1.0. Sample Bias Weights the blurring toward or away from the Sample Radius. Increasing this value increases the magnitude of depth-of-field blurring, giving a more even effect. Decreasing it decreases the magnitude, giving a more random effect. Can range from 0.0 to 1.0. Default=0.5. Pass Blending group The multiple depth-of-field passes are blended by dithering, which you can control by the parameters in this group. These controls apply only to renderings of the depth-of-field effect, not to previews in viewports. Normalize Weights Passes are blended with random weighting to avoid artifacts such as streaking. When Normalize Weights is on, the weights are normalized, giving a smoother result. When off, the effect is a bit sharper but usually grainier. Default=on. 5954 | Chapter 16 Lights and Cameras Dither Strength Controls how much dithering is applied to the rendered passes. Increasing this value increases the amount of dithering, and can make the effect grainier, especially at the edges of objects. Default=0.4. Tile Size Sets the size of the pattern used in dithering. This value is a percentage, where 0 is the smallest tile, and 100 is the largest. Default=32. Scanline Renderer Params group These controls let you disable antialiasing or antialias filtering when you render the multi-pass scene. Disabling these rendering passes can improve render time. These controls apply only to renderings of the depth-of-field effect, not to previews in viewports. Disable Filtering When on, disables the filtering pass. Default=off. Disable Antialiasing When on, disables antialiasing. Default=off. Multi-Pass Motion Blur Parameters for Cameras Create panel ➤ (Cameras) ➤ Target button or Free button ➤ Parameters rollout ➤ Multi-Pass Effect group ➤ Choose Motion Blur effect. ➤ Motion Blur Parameters rollout Cameras can generate motion blur effects. Motion blur is a multi-pass effect on page 7126. You turn it on in the Parameters rollout on page 5931 for cameras. Motion blur simulates the motion blur of a camera by offsetting rendering passes based on movement in the scene. Multi-Pass Rendering Effects | 5955 Above: Motion blur applied to wings of the flying dragon Below: Multiple passes appear in successive refreshes of the rendered frame window. You can preview motion blur in viewports. 5956 | Chapter 16 Lights and Cameras Previewing multi-pass motion blur in a wireframe and a shaded viewport IMPORTANT This effect is for the default scanline renderer. The mental ray renderer on page 7129 has its own depth-of-field effect. See Motion Blur with the mental ray Renderer on page 7147. TIP To reduce the visible effect of multiple camera passes, try setting the antialiasing filter to Blend, with a Width value in the range 4.0 to 5.0, and a Blend value in the neighborhood of 0.1. (You choose the antialiasing filter and adjust its settings on the Default Scanline Renderer rollout on page 7042.) Also, try reducing the Dither Strength value, in the effect's Pass Blending group, to the neighborhood of 0.2. Multi-Pass Rendering Effects | 5957 Interface NOTE The multi-pass motion blur parameters are animatable. Sampling group Display Passes When on, the rendered frame window displays the multiple rendering passes. When off, the frame window displays only the final result. This control has no effect on previewing motion blur in camera viewports. Default=on. Total Passes The number of passes used to generate the effect. Increasing this value can increase the effect's accuracy, but at a cost of rendering time. Default=12. Duration (frames) The number of frames in the animation to which the motion blur effect will be applied. Default=1.0. 5958 | Chapter 16 Lights and Cameras Bias Changes the blurring so that it appears to derive more from frames before or after the current frame. Range=0.01 to 0.99. Default=0.5. By default, the blurring comes equally from frames before and after the current frame; that is, a blurred object appears at the center of the blurred area. This is the closest to what an actual camera would capture. Increasing the Bias value moves the blurring behind the blurred object, in relation to its direction of motion. Decreasing it moves the blurring in front of the blurred object. Extreme values move most of the blurring very close to the blurred object, which makes it difficult to see. For best results, use intermediate Bias values in the range 0.25 to 0.75. Pass Blending group The multiple motion blur passes are blended by dithering, which you can control by the parameters in this group. These controls apply only to renderings of the motion blur effect, not to previews in viewports. Normalize Weights Passes are blended with random weighting to avoid artifacts such as streaking. When Normalize Weights is on, the weights are normalized, giving a smoother result. When off, the effect is a bit sharper but usually grainier. Default=on. Dither Strength Controls how much dithering is applied to the rendered passes. Increasing this value increases the amount of dithering, and can make the effect grainier, especially at the edges of objects. Default=0.4. Tile Size Sets the size of the pattern used in dithering. This value is a percentage, where 0 is the smallest tile, and 100 is the largest. Default=32. Scanline Renderer Params group These controls let you disable antialiasing or antialias filtering when you render the multi-pass scene. Disabling these rendering passes can improve render time. These controls apply only to renderings of the motion blur effect, not to previews in viewports. Disable Filtering When on, disables the filtering pass. Default=off. Disable Antialiasing When on, disables antialiasing. Default=off. Multi-Pass Rendering Effects | 5959 Walkthrough Assistant Animation menu ➤ Walkthrough Assistant The Walkthrough Assistant lets you easily create a predefined walkthrough animation of your scene by placing a camera on a path and setting the height, turning the camera and viewing a preview. This feature is available from the Animation Menu. Procedures To create a Walkthrough camera: 1 On the Animation menu, choose Walkthrough Assistant. The Walkthrough Assistant floater is displayed. 2 On the Main Controls rollout, click the Create New Camera button. 3ds Max creates a free camera named Walkthrough_Cam01, and displays the new camera in the viewports. The camera is also listed by name in the Cameras list. If the camera is not visible in a viewport, you might need to out to see it. zoom Additional rollouts are also displayed in the floater. NOTE You can use the descriptive name. Modify panel to give the camera a more To set the camera path: 1 After 3ds Max creates the camera, create a path in the scene using a spline shape or a NURBS curve. NOTE Text and Section are not generally useful shapes for creating a camera path. TIP You will have smoother camera movement if you set the Creation Method for the spline shape to Smooth or Bezier instead of Corner. 5960 | Chapter 16 Lights and Cameras 2 In the Path Control group, click Pick Path, then click the path you created. 3 Click (Play Animation) or scrub the time slider to see the camera move along the path. 4 Activate the Perspective viewport, then in the Cameras group, click the Set Viewport to Camera button. Now you can see what the camera sees. You will probably need to adjust the camera height and tilt at this point. To adjust the camera height and tilt: 1 In the Path Control group, turn on Move Path To Eye Level. 3ds Max sets the path to the height specified for Eye Level. 2 Use the numerical height spinner to set the desired height. The path moves in the viewports in real time. You can use (Select And Move) to place the path at the desired height, if you find this more convenient than entering a value. 3 Activate the Top viewport. On the View Controls rollout, move the slider in the Turn Head group to turn the camera toward an object in the scene that you want the camera to view. 4 Use the numerical spinner for Head Tilt Angle to change the angle of the camera. TIP You can also use Select and Rotate to position the camera head. 5 Play the animation or scrub the time slider to see how the camera presents the scene. To adjust the camera controls: 1 In the Advanced Controls rollout, use the numerical spinner to change the Field Of View. Walkthrough Assistant | 5961 If you want less of the scene to be seen, decrease the Field Of View setting. Conversely, increase the Field Of View if you want more of the scene to appear. 2 Set the Target Distance to the range at which you want objects to be seen clearly in focus. To animate the camera tilting and turning: 1 Move the time slider to Frame 0. 2 Turn on (Auto Key). 3 Slide the Turn Head control to turn the camera left, center, or right. If desired, adjust the Head Tilt Angle control up or down. 4 Use the time slider to advance the camera to the next place where you want to turn or tilt the camera differently. 5 When you've completed setting rotation keys for the camera, the animation. play 6 If you are not pleased with the results, click the Views Control rollout ➤ Remove All Head Animation button to quickly delete all the head-movement keys. To quickly reset the camera head position, click the Reset Eyes Level button. NOTE The Walkthrough Assistant uses a Bezier controller for the camera rotation. If you set too many keys or put keys too close together, you might experience unexpected results such as “spinning” where the camera completely rotates about its Z axis. To correct this, go to Track View and adjust the rotation keys for the camera. To render a preview: ■ On the Render Preview rollout, click the Render Preview button to see a preview of what the camera sees. NOTE The current renderer settings, such as mapping and shadows, will affect the preview. 5962 | Chapter 16 Lights and Cameras To create a targeted camera: 1 On the Main Controls rollout, select Targeted. 2 Click the Create New Camera button. A camera and its target are placed in the scene. The camera is named incrementally and added to the Camera list. The Targeted toggled is also turned on in the Cameras group. NOTE You can also change an existing free camera into a target camera by turning on Targeted. 3 Click the Pick Path button and select a spline. 4 In the Look-At-Camera rollout, click Object. 5 Click the Pick Target Object button, and select an object on which you want the camera to focus. The target is moved to the object. If you had selected a path, the target would move to the path. 6 Click the Set Viewport to Camera button. The viewport label changes to reflect the current camera name and displays what the Targeted camera sees. 7 Click animation. (Play Animation) or scrub the time slider to view the Walkthrough Assistant | 5963 Interface Main Controls rollout Camera Creation group Create New Camera Automatically creates a free or targeted camera in the scene. Cameras are named Walkthrough_Cam followed by a sequence number. ■ Free (The default.) When chosen, the new camera is a free camera. ■ Targeted When chosen, the new camera is a target camera. 5964 | Chapter 16 Lights and Cameras Cameras group Cameras list Lists cameras in the scene by name. Targeted Controls whether a selected camera in the Camera list is targeted or free. Turning on Targeted for a free camera will change it to targeted; turning it off for a targeted camera will change it to a free camera. Default=off. Set Viewport to Camera Changes the active viewport to a camera viewport. Path Control group Pick Path Click this button to select a path in the scene. After you select a path, the button label changes to the object's name. Click the Clear Path button to disassociate the camera from the selected path. Move Path to Eye Level When turned on, moves the path to the height set for Eye Level. When turned off, it moves the path to its original height when created. Eye Level Allows you to specify a precise height of the path that either raises or lowers the camera view. Render Preview rollout Click to Render Preview Renders a preview. The preview appears in the small window in the Walkthrough Assistant floater. Walkthrough Assistant | 5965 View Controls rollout This rollout only displays if a free camera is created or selected. Turn Head group Turn Head Slider Rotates the camera head as it moves along the path. This allows you to create the illusion that you are turning your head as you walk through the scene. Choices are Left, Center, Right. To animate the head turning, use the Auto Key button. This creates Z Rotation keys that can be adjusted in Track View. Head Tilt Angle Rotates the camera as it moves along the path. This creates the illusion that you are tilting your head up or down as you walk through the scene. To animate, use the Auto Key button. This creates X Rotation keys that can be adjusted in Track View. NOTE The Turn Head and Head Tilt Angle controls use a Bezier controller for rotation of the walkthrough camera. If you create too many keys, or place them too closely together you can experience unexpected results. For best results, start at the beginning and add keys as you move to the end, creating as few keys as possible. Reset Eyes Level Constrains the head tilt to be level with the path. Remove All Head Animation Deletes all key frames created when the Auto Key was enabled. 5966 | Chapter 16 Lights and Cameras Look-At-Camera rollout This rollout only displays if a targeted camera is created or selected. Look-At-Camera group Path When selected, allows you to select a path the camera's target will use. Object When selected, allows you to select an object the camera's target will use. Pick Target Path Press this button to select a path or object in the scene. Click the Clear Path button to disassociate the camera's target from the selected path or object. Advanced Controls rollout Camera Controls group Field of View Adjusts the amount of the scene visible in the viewport and the perspective flare. Extreme values will create distortion in the viewport. Target Distance Sets the distance the target is from the camera. This controls the size of the camera icon in the viewport. In a free camera, the point the camera orbits around is controlled by the target distance. Path Controls group Walkthrough Assistant | 5967 Constant Speed Turn this on to maintain a constant speed along a path. When off, the velocity of the object along the path varies depending on the distance between the vertices on the path. Follow Path When this is turned on, the camera stays perpendicular to the path. When this is turned off, the camera does not turn as it follows along the path. Camera Correction Modifier Select a camera. ➤ Right-click. ➤ Tools 1 (upper-left) quadrant of the quad menu ➤ Apply Camera Correction Modifier Select a camera. ➤ Modifiers Menu ➤ Cameras ➤ Camera Correction The Camera Correction modifier applies two-point perspective to a camera view. By default, camera views use three-point perspective, in which vertical lines appear to converge with height. In two-point perspective, vertical lines remain vertical. The amount of correction you need to use depends on how steeply the camera tilts. For example, a camera that looks up from ground level to the top of a high building will need more correction than a camera that looks toward the horizon. NOTE This modifier doesn’t appear on the Modify panel’s Modifier List. 5968 | Chapter 16 Lights and Cameras Normal camera view (left) and corrected camera view (right) Procedures To apply two-point perspective to a camera: 1 Select a camera. TIP For best results, set a viewport to this camera’s view. The change in perspective appears both in the viewport and when you render this view. 2 Apply the Camera Correction modifier. 3 On the 2-Point Perspective Correction rollout, click Guess. The Camera Correction modifier creates a first-guess Amount value for the two-point perspective. 4 Adjust the Amount and Direction to get the effect you want. In the viewports, the camera’s field-of-view “cone” distorts or moves to show the perspective adjustments. Camera Correction Modifier | 5969 5 Render the view. Interface Amount Sets the amount of correction for two-point perspective. Default=0.0. Direction Biases the correction. Default=90.0. Setting Direction greater than 90.0 biases the correction to the left. Setting it less than 90.0 biases it to the right. Guess Click to have the Camera Correction modifier set a first-guess Amount value. Camera Match Utility Tools menu ➤ Camera Match Utilities panel ➤ Utilities rollout ➤ Camera Match button The Camera Match utility uses a bitmap background photo and five or more special "CamPoint" objects to create or modify a camera so that its position, orientation, and field-of-view matches that of the camera that originally created the photo. 5970 | Chapter 16 Lights and Cameras Procedures The general process to follow in using Camera Match is described in the following procedures. To use camera matching: 1 Load a bitmap as a background for the renderer. 2 Load a bitmap as a background for the viewport. 3 Identify on the bitmap at least five features that will be used for the match. These should be objects or corners of objects in the scene that can be identified and tracked. They should remain visually throughout the scene, and should not change their shape too much or they won’t work. 4 Create CameraPoints, which are helper objects found in these locations: Create panel ➤ (Helpers) ➤ Camera Match ➤ Object Type rollout ➤ CamPoint, and Create menu ➤ Helpers ➤ Camera Point. You must have accurate measurements of distances between at least five features in your scene, which can’t be all on a single plane. Try to use points that are distributed throughout the scene rather than features that are all clustered in the front or back. This will give the most accurate results. 5 Position these CameraPoints to correspond to points in your photo. You can use the Transform Type-In on page 835 to position the points in the correct locations in 3D space. 6 Use the Camera Match utility to assign the CameraPoints to pixel locations on the bitmap. 7 Choose Create Camera and a camera is created to match the one that took the picture. If there are errors and the camera cannot be created, readjust the point positions in 3D space, and reassign them to the bitmap. It’s easy to make a mistake doing either, but once you get it right the match should work. To establish the bitmap background for the renderer: 1 Reset 3ds Max, and enlarge the Perspective viewport to full screen. Camera Match Utility | 5971 2 From the Rendering menu. choose Environment. 3 In the Common Parameters rollout, under Environment Map, click the gray box marked None. This launches the Material/Map Browser. 4 Be sure to set Browse From to New; if it isn’t set already, then choose Bitmap from the list and click OK. The Select Bitmap Image File dialog appears. 5 Navigate and select the appropriate bitmap and then choose Open. Use Map is turned on automatically. 6 Render the viewport to verify that the background appears in the rendering. Press Shift+Q to render. To establish the bitmap background to display in the viewport: 1 Choose Views menu ➤ Viewport Background on page 108. This opens the Viewport Background dialog 2 In the Background Source group, click Files. This launches the Select Background Image dialog. 3 Navigate and select the appropriate bitmap and then choose Open. 4 Set Aspect Ratio to Match Bitmap. 5 Make sure Display Background is turned on, and then choose OK. The background appears in the viewport. NOTE You can click the Use Environment Background button, but then you don’t have the Aspect Ratio controls. To create CamPoint objects: 1 Do one of the following: ■ On the Create panel, turn on (Helpers), choose Camera Match from the drop-down list, then on the Object Type rollout, turn on CamPoint. ■ Choose Create menu ➤ Helpers ➤ CamPoint. 5972 | Chapter 16 Lights and Cameras 2 Create your CamPoint objects anywhere in the scene, and reselect each of them to enter their absolute coordinates using the Transform Type-In. 3 Open the Keyboard Entry rollout. 4 Enter the coordinates of the first CamPoint object (0,0,0), click the Create button, and then enter the name in the name field. TIP To use the keyboard, first click in the X field, enter its value, and then press Tab to move to the next field and enter its value. Continue this until you tab to the Create button, and then press Enter to create the CamPoint, followed by Tab to move back to the X field, where you can start again. You can create all the CamPoint objects with default names, and then use the Select By Name floater (Tools ➤ Selection Floater) to select and rename the six pointers. 5 Repeat the above steps for the remaining CamPoint objects. NOTE An alternative method is to create the CamPoint objects anywhere in the scene, and then reselect each of them and enter their absolute coordinates using the Transform Type-In. You now have the CamPoint objects occupying real-world coordinate positions that correspond to the structure in the bitmap image. The last sequence of steps involves using the Camera Match utility to specify the screen coordinate points, one for each CamPoint object, and generating a camera position based on the data. To use the Camera Match utility: 1 On the Utilities panel, click the Camera Match button. The Camera Match utility appears, listing the CamPoint objects. 2 Select the first CamPoint object and click the Assign Position button. 3 Place the cursor over the corresponding feature in the bitmap and click. A small, red cross appears. 4 If the dot is not in the right position, you can either click again with the mouse or adjust the Input Screen Coordinates to tweak its position. 5 Select the second object in the list, and repeat steps 3 and 4. Camera Match Utility | 5973 6 Repeat for all the points. By setting the red crosses, you’ve indicated the X and Y pixel position on the bitmap and correlated it with each CamPoint as it exists in 3D space. 7 Once you have all of the points set, click the Create Camera button. A camera is created in the scene based on the location of the CamPoint objects and the specifications of the screen coordinates points. NOTE If the Current Camera Error reading is greater than five, at least one of your screen coordinate points is placed wrong. Check each of them, and review the description following step 5. After reassigning the points, select the existing camera and click the Modify Camera button to recalculate the camera position. 8 Press C to switch the Perspective view to that of the new camera. Interface CamPoint Info rollout List window Displays a list of the CamPoint helper objects in the scene. You select the CamPoint objects from this list to assign screen coordinate points. Note that if you select a CamPoint object in the viewport, it‘s highlighted in this list as well. 5974 | Chapter 16 Lights and Cameras Input Screen Coordinates X/Y Fine-tunes the position of the screen coordinate points in 2D space. Use This Point Turns off a specific coordinate point without deleting it. Select the corresponding CamPoint in the list, and then turn off Use This Point. This feature is typically used for troubleshooting when the Current Camera Error is too high (greater than five, for example). Assign Position Click a location on the viewport bitmap to place a screen coordinate point visually against the background image. The point you place corresponds to the currently selected CamPoint object. After activating the Assign Position button, select a CamPoint object from the list, and then click in the viewport at a position on the bitmap background that corresponds with where the associate CamPoint object should be in the 3D scene. After repeating this process with each CamPoint object in the list, you can click the Create Camera button to create a camera that matches the placed coordinates with their associate CamPoint objects. Camera Match rollout Create Camera Creates a camera in the scene whose position, orientation, and field of view is based on the current location of the CamPoint helpers and the assigned screen coordinate points. Modify Camera Modifies the position, orientation and FOV of an existing, selected camera based on the CamPoint helpers and assigned screen coordinate points. Camera Match Utility | 5975 Iterations Maximum number of iterations used to calculate the camera position. Default is 500, though a stable solution is usually found in less than 100 iterations. Freeze FOV Prevents the FOV (field of view) of the camera from being changed when using the Create Camera or Modify Camera buttons. Use if the FOV of the camera that took the photograph is known and you want to preserve it. Current Camera Error Displays the total error that remains between the placed screen coordinate points, the CamPoint helpers, and the camera position after the final computation. The calculations involved in the camera match are seldom perfect. A good error range is about 0 to 1.5. Close Exits the Camera Match utility. CamPoint Helper Create panel ➤ (Helpers) ➤ Camera Match ➤ CamPoint Create menu ➤ Helpers ➤ Camera Point CamPoint helper objects are used by the Camera Match utility on page 5970 to reproduce in a camera the same settings (position, roll, and FOV) that were used by a real-world camera to shoot a background image. This allows you to view your scene from the same perspective as the background image, which is a key step to mixing computer-generated and photographically-generated images in a single composited shot. Place CamPoint objects in the scene at locations that will be visible in the background photograph. By comparing the X/Y/Z position of several camera point objects to their analogous positions in a background image, the Camera Match utility is able to determine the real-world camera’s settings, and use these settings to either create a new camera or move/reset an existing camera to match them. Clicking CamPoint displays the Keyboard Entry and Camera Match Point rollouts, which you use to create and name the camera points. 5976 | Chapter 16 Lights and Cameras Procedures To create a camera match point: 1 On the Create panel, click (Helpers). 2 Choose Camera Match from the drop-down list, then on the Object Type rollout, turn on CamPoint. You are now ready to create a camera point. 3 Click in the viewport to create a CamPoint helper object. Alternatively, you can use the keyboard to create a CamPoint object by expanding the Keyboard Entry rollout, entering values in the fields, and then clicking Create. To position camera match points in your scene, do one of the following: 1 Create your camera match points using keyboard entry. Use this if you have accurate actual measurements of the locations of the points. 2 Build geometry that matches your scene geometry, and then snap the points to the geometry using snaps. Use this technique when you don’t have measurements and can approximate the geometry. 3 Create your camera match points interactively, and then use Transform Type-In to move them to the correct locations. Camera Match Utility | 5977 Interface Name and Color rollout Lets you name the CamPoint object before you create it. If you want to name it after you create it, change its name in the Modify panel. Keyboard Entry rollout X, Y, Z Let you enter the X, Y, and Z coordinates where a CamPoint object will be inserted. Field values reflect the current Unit setup. 5978 | Chapter 16 Lights and Cameras Create Inserts the CamPoint object into the scene. Camera Match Point rollout Show Axis Tripod Controls whether an axis tripod is displayed with the Camera point object. Default=on. Axis Length Controls the length of the axis tripod. When Show Axis Tripod is on you can watch the tripod change length in the viewport while you adjust the spinner arrows. When Show Axis Tripod is off, you can still make adjustments the Axis Length value, but the axis tripod won't be displayed. Camera Match Utility | 5979 5980 Material Editor, Materials, and Maps 17 Materials describe how an object reflects or transmits light. Within a material, maps can simulate textures, applied designs, reflections, refractions, and other effects. (Maps can also serve as environments and projections from lights.) The Material Editor is the dialog you use to create, alter, and apply the materials in your scene. Image by Michael McCarthy 5981 Designing Materials 3ds Max gives you a wide variety of options for designing materials. If you’re new to designing and using materials, read these topics for a general idea about working with materials, and what the most important options are. Materials make objects look more convincing. For more details, follow the links in the workflow outline. Workflow Outline In general, when you create a new material and apply it to an object, you follow these steps: 1 Choose the renderer you plan to use, and make it the active renderer: see Assign Renderer Rollout on page 7034. It is a good idea to design materials with a particular renderer in mind. The mental ray renderer on page 7129 is the best choice when you need to model physically accurate lighting. The default scanline renderer on page 7041 does not demand precise lighting, and it supports some effects that the mental ray renderer does not. 5982 | Chapter 17 Material Editor, Materials, and Maps NOTE The mental ray Connection rollout on page 6215 lets you add features unique to the mental ray renderer to basic 3ds Max materials. 2 Choose the material type on page 5987. For mental ray rendering, we recommend that you use materials from the Autodesk Materials grouop on page 6224. These are commonly used materials (ceramic, concrete, hardwood, and so on) that have accurate real-world properties. Autodesk Materials are based on the Arch & Design material on page 6269. Arch & Design is a general-purpose material that also has real-world properties, and a large number of options. When you grow familiar with mental ray rendering, you might choose to use the Arch & Design material itself, or some of the special-purpose on page 6342 mental ray materials that are also available. For scanline rendering, the most general-purpose material types are Standard and Raytrace. For both of these material types, you must also choose a shading type on page 6380. 3 When you have decided on a material type, open the Slate Material Editor on page 6083. Slate Material Editor window Designing Materials | 5983 Left: Material/Map Browser panel Middle: The active View (you can set up more than one View) Lower right: Parameter Editor panel 4 Drag a material of the type you want from the Material/Map Browser panel on page 6167 to the active View on page 6137. 3ds Max displays the material as a node in the active View. Example of a material node 5 Double-click the material node to display its parameters in the Parameter Editor panel. 6 Use the Parameter Editor on page 6135 to enter settings for the various material components on page 5988: diffuse color, glossiness, opacity, and so on. 5984 | Chapter 17 Material Editor, Materials, and Maps Material parameters in the Parameter Editor (Double-click a node to display the node’s parameters) NOTE Lights and Shading on page 5988 describes how lights affect the appearance of a material. Choosing Colors for Realism on page 6385 gives guidelines on getting good results from non-physical materials such as the Standard material. 7 Assign maps on page 5990 to the components you want to map, and adjust the map parameters. Designing Materials | 5985 You assign a map to a material by “wiring” the map and material nodes together. See Using Maps to Enhance a Material on page 5990 for an introduction to mapping, and Wiring Nodes on page 6097 for detailed information about wiring nodes in the active View. 8 On the Slate Material Editor toolbar, click (Assign Material To Selection) to apply on page 5989 the material to the object. 9 If necessary, adjust the UV mapping coordinates on page 6005 in order to orient maps with objects correctly. 10 Save on page 6015 the material. 5986 | Chapter 17 Material Editor, Materials, and Maps Choosing a Material Type Every material has a type. In general, you choose a material type based on what you are trying to model, and how accurate (in terms of real-world, physical lighting) you want your model to be. 3ds Max provides two renderers: the default scanline renderer on page 7042 and the mental ray renderer on page 7129, each with distinctive capabilities. NOTE There is also the Quicksilver Hardware renderer on page 7258. This renderer is most useful for making quick previews. For the purposes of material design, it is comparable to the mental ray renderer. It is a good idea to design materials with a particular renderer in mind. The main choice is whether you want your rendering to be physically accurate. ■ If physical accuracy is not a concern, you can use the scanline renderer and the Standard material on page 6380 along with other non-photometric materials. These give you a wide variety of physical effects. ■ You can also use the scanline renderer to create accurate lighting by using radiosity on page 7068. In this case, we recommend you use the Architectural material on page 6570. An alternative when you use radiosity is to set up the scene with standard materials, but then apply physical characteristics to them with the Advanced Lighting Override material. on page 6588. ■ The mental ray renderer assumes that lighting is physically accurate. It can also generate some effects the scanline renderer cannot. The mental ray renderer provides the best results when you model a scene with accurate units, photometric lights on page 5707, and mental ray materials on page 6224. TIP For mental ray rendering, we recommend that you use materials from the Autodesk Materials grouop on page 6224. These are commonly used materials (ceramic, concrete, hardwood, and so on) that have accurate real-world properties. Autodesk Materials are based on the Arch & Design material on page 6269. Arch & Design is a general-purpose material that also has real-world properties, and a large number of options. When you grow familiar with mental ray rendering, you might choose to use the Arch & Design material itself, or some of the special-purpose on page 6342 mental ray materials that are also available. Choosing a Material Type | 5987 Material Components A material's components describe its visual and optical properties. The components in the Architectural material on page 6570 are based on physical qualities; for example, diffuse color, shininess, transparency, and so on. The components in a Standard material on page 6382 include color components, highlight controls, self-illumination, and opacity. Like the Standard material, the Raytrace material on page 6486 uses a nonphysical model to describe surfaces. (Standard and Raytrace material components also vary depending on which shader on page 6380 you use.) Material components correspond to “slots” in the Slate Material Editor’s display of material nodes. The mappable Base Hardwood component (on the left) appears as a Base Hardwood slot in the material node (on the right). Like the Architectural material, the components of mental ray materials on page 6224 always model physical properties. You can assign maps to many components, including color components such as Diffuse, and value components such as Transparency or Opacity. Maps can increase the complexity and realism of the material's appearance. Lights and Shading Materials work in combination with lights on page 5672. The intensity of light that falls on a surface determines the intensity of color to display. Three factors contribute to the intensity of light where it falls on an object: ■ Light intensity: A light's original intensity at its point of origin. ■ Angle of incidence: The more a surface inclines away from the light source, the less light it receives and the darker it appears. The angle between a ray 5988 | Chapter 17 Material Editor, Materials, and Maps of light and the face normal on page 9237 of a surface is the angle of incidence for that face. When the angle of incidence is 0 degrees (that is, the light strikes the face perpendicularly), the face is illuminated at full intensity unless the light is attenuated. Full intensity is the light's Multiplier value times the value of the face's surface color. The Multiplier value is 1.0 by default; the surface value is the Value component of the surface color's HSV description on page 9280. As the angle of incidence increases, the intensity of the face illumination decreases. Angle of incidence affects intensity. ■ Distance: Light diminishes over distance. This effect is known as attenuation on page 9098. Photometric lights on page 5707 always attenuate at the real-world inverse square rate. By default, standard lights on page 5757 do not attenuate, but you can turn on attenuation and specify the attenuation rate and the distance over which it operates. Applying a Material to an Object You use the Material Editor to apply a material to objects. Applying a Material to an Object | 5989 To apply a material to an object, do one of the following: ■ If the material is selected in the Material Editor (either the Slate or the Compact interface) and the object is selected in the scene, click (Assign Material to Selection on page 6154). ■ In the Slate Material Editor, drag from the material node’s output socket into a viewport, and drop the wire over the object. See To apply a material to objects in a scene on page 6093. ■ Drag a material from a library in the Material/Map Browser on page 6167 and drop it on the object. Applying a material overrides any previous material assignment the object might have had. Once the material is applied, while the sample slot is active, the material is "hot" and changes you make to it affect the object automatically. See Hot and Cool Materials on page 6090 for more information about hot and cool materials. The Undo command on page 217 works for material assignment. You can apply only one material to an object. To overcome this restriction, use a Multi/Sub-Object material on page 6542. This is a container for various sub-materials that correspond to specified sub-objects such as different faces in a mesh, NURBS surfaces in a NURBS model, and so on. You can apply the same material to multiple objects in the scene. See also: ■ Dragging and Dropping Maps and Materials on page 6161 ■ Drag and Drop Sub-Object Material Assignment on page 6165 Using Maps to Enhance a Material Maps provide images, patterns, color adjustments, and other effects you can apply to the visual/optical components of a material. Without maps, material design in 3ds Max is limited. Maps give the Material Editor its full flexibility, and can give you dramatic results. 5990 | Chapter 17 Material Editor, Materials, and Maps Spheres with various maps applied to them (as well as a reflection map applied to the surface beneath them) The simplest use of a map is to assign a pattern to a material's Diffuse color. Diffuse mapping on page 6453 is also known as "texture mapping." It applies an image or pattern to geometry the material is applied to. WARNING When you change the shading type on page 6380 of a standard material, you lose the settings (including map assignments) for any parameters that the new shader does not support. If you want to experiment with different shaders for a material with the same general parameters, make a copy of the material before you change its shading type. That way, you can still use the original material if the new shader doesn't give you the effect you want. (To make a copy of a material, Shift+drag the material node in the active View of the Slate Material Editor.) Example of Using Maps 1 Start with a plain material. Using Maps to Enhance a Material | 5991 Building with default materials 5992 | Chapter 17 Material Editor, Materials, and Maps Node for a single, Standard material 2 Apply a bitmap to the material’s Diffuse component (texture mapping). Using Maps to Enhance a Material | 5993 Planks bitmap for the wall texture 5994 | Chapter 17 Material Editor, Materials, and Maps A Bitmap node added to the active View Using Maps to Enhance a Material | 5995 Dragging from the output socket of the Bitmap node creates a wire. 5996 | Chapter 17 Material Editor, Materials, and Maps Dropping the wire on the Diffuse Color input socket applies that map to the material’s diffuse color component. (The Slate Material Editor also adds a Controller node for the map’s Amount value.) 3 Select the walls of the building, then walls. apply the material to the Using Maps to Enhance a Material | 5997 Texture applied to the walls, but not aligned properly 4 If the texture alignment needs adjusting, use a UVW Map modifier on page 1883. 5998 | Chapter 17 Material Editor, Materials, and Maps Texture map aligned to fit the geometry 5 Apply a map to the material’s Bump component (bump mapping). Using Maps to Enhance a Material | 5999 Bitmap for adding bumps to the plank material (This is simply the same image saved as black-and-white.) 6000 | Chapter 17 Material Editor, Materials, and Maps Bump map added to the material tree Using Maps to Enhance a Material | 6001 Building with both texture and bump mapping applied to the walls 6 Increase the Amount of the Bump map to increase the bump map effect. Use the Parameter Editor at the right of the window to increase the Bump amount. 6002 | Chapter 17 Material Editor, Materials, and Maps Bump Amount increased to make the walls appear more weathered Map Terminology The term "material map" is sometimes used to describe a map assigned in the Slate Material Editor. A material map applies a color or pattern to a surface. “Material map” distinguishes this use from maps used for displacement mapping with the Displace modifier on page 1255, environment mapping for backgrounds, or projection mapping from lights. The term "texture map" is sometimes used as well. It is interchangeable with "diffuse map"; that is, with a map that applies colors to geometry, as opposed to a map that create reflections, bumps, and so on. The names of individual map types describe the pattern or effect they create, such as Checker map, Bitmap, Gradient, Flat Reflection, and so on. NOTE In some cases the user interface also uses "map" to describe not the map type, but the visual component being mapped. For example, a "diffuse map" means a map of any type applied to a material's diffuse component. This is an ambiguity in the use of "map" that can be a bit confusing when you first encounter it. Using Maps to Enhance a Material | 6003 Assigning Maps For a standard material on page 6382, you can assign maps using the Maps rollout. Click the Map button in line with the name of the visual component you want to map. 3ds Max opens the Material/Map Browser on page 6167. Select the map type (for example, Bitmap) from the list of maps, and then click OK. Double-clicking the map's name in the Browser also assigns the map type. In the Slate Material Editor you can assign maps by wiring nodes, as shown earlier in this topic. Many material rollouts have shortcut buttons for assigning a map to some of the material's visual components. These small buttons are equivalent to the buttons in the Maps rollout. Assigning a map to a button in one rollout changes the corresponding button in the other. Shortcut map button in a material’s Parameters rollout Each type of map has its own set of parameters and controls. If the map is a Checker map, for example, you can choose the colors of the checkers, and whether a checker color has a map of its own. You can change tiling values to affect the scale of the checkers, adjust noise parameters to make the checkers irregular, and so on. NOTE To save loading time, if a map with the same name is in two different locations (in two different paths), it is loaded only once. This poses a problem only if your scene includes two maps that have different content but the same name. In this case, only the first map encountered will appear in the scene. Navigating the Material/Map Tree When you build a material of any complexity, you are building a material/map tree. The root of the tree is the material itself. The branches or “children” are the maps you have assigned to the material's components. Some maps can themselves contain maps (for example, a map applied to one color of a Checker map on page 6650), so the tree can be more than two levels deep, and can actually be as deep as you need it to be. 6004 | Chapter 17 Material Editor, Materials, and Maps Mapping Coordinates An object assigned a 2D mapped material (or a material that contains 2D maps) must have mapping coordinates. These coordinates specify how the map is projected onto the material, and whether it is projected as a "decal," or is tiled or mirrored. Mapping coordinates are also known as UV or UVW coordinates on page 9340. These letters refer to coordinates in the object's own space, as opposed to the XYZ coordinates that describe the scene as a whole. Mapping coordinates shown as U and V axes local to a surface. Most renderable objects have a Generate Mapping Coordinates parameter. This is on by default, but if it is off and the object uses a mapped material, 3ds Max displays a warning when you try to render. Some objects, such as editable meshes, don't have automatic mapping coordinates. For these types of objects, you can assign coordinates by applying a UVW Map Modifier on page 1883. If the material appears the way you want it with the default mapping, you don't need to adjust the mapping. If you need to adjust it, use the map's Coordinates rollout. There are two typical sets of coordinates parameters: one for 2D maps such as Bitmaps on page 6636, and another for 3D maps such as Mapping Coordinates | 6005 Noise on page 6723. See Coordinates Rollout (2D) on page 6622 and Coordinates Rollout (3D) on page 6698. NOTE The UVW Remove utility on page 6621 provides a way to remove mapping coordinates or an entire material from selected objects. Showing Maps in Viewports (Material Editor): Slate ➤ Slate Material Editor toolbar ➤ Show Standard/Hardware Map in Viewport flyout (Material Editor): Compact ➤ Show Standard/Hardware Map in Viewport flyout Compact Material Editor menu bar ➤ Material menu ➤ Show Materials in Viewport As on page 134 Main 3ds Max menu ➤ Views menu ➤ Show Materials in Viewport As on page 134 You can use either 3ds Max software or your hardware driver (DirectX 9.0c and above) to display mapped materials on the surfaces of objects in shaded viewports with the interactive renderer on page 9343. 6006 | Chapter 17 Material Editor, Materials, and Maps Left: Map shown on sample cube Right: Map shown in a viewport The control for showing maps in viewports is a flyout with four possible states: ■ Show Standard Map in Viewport [off]: Uses the 3ds Max software display and disables viewport display of all maps for the active material. ■ Show Standard Map in Viewport [on]: Uses the 3ds Max software display and enables viewport display of all maps for the active material. ■ Show Hardware Map in Viewport [off]: Uses the hardware display and disables viewport display of all maps for the active material. ■ Show Hardware Map in Viewport [on]: Uses the hardware display and enables viewport display of all maps for the active material. Comparison of Standard and Hardware Displays The ability to render materials in the viewports using a hardware-based display mode lets you view and adjust certain parameters interactively without having to generate a final render; this can save time when you are editing materials. However, the hardware display does not fully support all material parameters. Showing Maps in Viewports | 6007 When considering which display mode to use for a material, take these points into consideration: Software Display Hardware Display Supports all materials Supports only Standard, Arch & Design, and Autodesk materials Supports Diffuse maps only Supports Diffuse, Specular, and Bump maps, as well as Anisotropy and BRDF settings No reflection Reflects the sky shader on page 5893 Calculates specularity on per-face basis Calculates specularity on per-pixel basis Faster, no special hardware requirements Slower but more accurate, requires a DirectX9.0c-compliant video card Renders faceted display modes correctly Renders faceted display modes as smoothed The following image, taken from the 3ds Max viewport, shows two spheres to which are applied two copies of an Arch & Design material with identical settings, including texture-mapped diffuse color and bump mapping, a high reflectivity level, and a Checker map applied to the Anisotropy channel. The scene also includes a Daylight system with mr Sun and Sky, with the Environment Map set to mr Physical Sky. The only difference is that the material on the left-hand sphere is set to Show Standard Map in Viewport, while the material on the right-hand sphere is set to Show Hardware Map in Viewport. The latter shows the bump mapping, reflection of the sky, and the checkered anisotropy in the specular highlight. When rendered, the spheres appear identical, and look similar to the right-hand sphere. 6008 | Chapter 17 Material Editor, Materials, and Maps Usage Notes Please observe the following important aspects of using these controls: ■ The hardware display applies only to the Standard on page 6382 and Arch & Design on page 6269 and Autodesk on page 6224 materials; when it’s active, 3ds Max still uses 3ds Max display to render all other materials. ■ Choosing the alternate flyout button does not toggle its state. For example, if Show Standard Map In Viewport is off for the active material, choosing Show Hardware Map In Viewport simply switches the material to hardware display mode; it does not turn on the maps. You must toggle the control explicitly. ■ This control is also available at the map level, where it functions only as a toggle for the option set at the material level, and applies only to the active map. So, for example, with the hardware display you could enable viewport display of the bump map while disabling display the diffuse map, although both would appear in the final rendered image. Changing the setting at the material level overrides any map-level settings. NOTE If the toggle is unavailable at a map level, it means viewport display of the map is unsupported. One possible reason is that the map is nested too deep in the material tree. Showing Maps in Viewports | 6009 ■ Hardware viewport rendering requires a DirectX9.0c-compliant video card. Also, hardware viewport rendering is supported only by the Direct3D display driver on page 8912. ■ These options do not apply to XRef materials on page 6605, including materials from XRef objects on page 7971 and XRef scenes on page 7999 ■ Displaying mapped materials in a viewport can slow performance. If you don't need to view the map, turn off its viewport display. ■ In the Compact Material Editor on page 6020, you can toggle Show Standard/Hardware Map In Viewport for all materials by choosing Views menu ➤ Show Materials in Viewport As on page 134. ■ The state of this button is saved with the material in the library. When you apply a mapped material while Show Map In Viewport is active, the object's Generate Mapping Coords. check box is turned on. This means that you can drag mapped materials from the Material Library in the Browser over objects in your scene, and have the mapped material appear in the viewports. Requirements For mapped materials to display in the viewport, the following conditions must be met: ■ Mapping coordinates on page 9212 must be applied to the object. This is already the case with most primitive objects, which by default have Generate Mapping Coords on at creation. If an object doesn't have mapping coordinates, you can turn this on, or apply a mapped material to the object (if it has a Generate Mapping Coords check box), or apply a UVW Map modifier on page 1883 or an Unwrap UVW modifier on page 1787. ■ A mapped material must be applied to the object. ■ Show Map In Viewport must be on, either at the level of the material that contains the map on page 9215, or at the top level of the material. NOTE With the software display driver on page 8905, viewports don't accurately display a map with transparency that has UV tiling or mirroring. Also, this driver cannot display a map on a faceted material. 3D Maps in Viewports Show Map In Viewport works for 3D procedural maps as well as 2D maps. 6010 | Chapter 17 Material Editor, Materials, and Maps 3D map display in viewports is not necessarily accurate. To improve the 3D preview, in the Compact Material Editor on page 6020 you can use the Material Editor Options dialog on page 6059 to set the 3D Map Sample Scale to equal a main dimension of the object you are applying the map to. For example, if you want to use the planet map on a sphere with a radius of 20, change the map scale from 100 (the default) to 20. Particle Age and Particle MBlur maps do not preview in viewports. Multiple Maps in Viewports Viewports can display multiple maps. For multiple map display, the display driver must be OpenGL on page 8906 or Direct3D on page 8912. The software display driver on page 8905 does not support multiple map display. The composite map on page 6751 and mix map on page 6759 support multiple map display. In addition, turning on Show Map In Viewport at the top level of a standard material on page 6382 lets you view maps on both the diffuse and opacity components (though not on other mapped components). Procedures To view maps interactively: 1 Select an object. 2 In the object's parameters, make sure that Generate Mapping Coords. is on. (If this option isn't enabled, the object can't be mapped.) If the object type does not have a mapping coordinates check box, apply a UVW Map modifier on page 1883. 3 In the Material Editor, apply the mapped material to the object. 4 Turn on (Show Standard Map In Viewport), or with a Standard, Arch & Design, or Autodesk material, turn on Map In Viewport). (Show Hardware Showing Maps in Viewports | 6011 The map appears on objects assigned the material in all shaded viewports. Now when you adjust a map, the viewports update to display the adjustments. To turn off interactive texture display: ■ Turn off (Show Standard/Hardware Map In Viewport). The object is shaded but the map no longer appears. Animating Materials This topic provides some suggestions about how to animate materials. Animating Basic Materials In general, you animate a basic material by changing its parameters in different keyframes while Auto Key is active. 3ds Max interpolates values between keyframes, as it does when you animate transforms and modifiers. Be aware that the tracks for a material assigned to an object are distinct from the material tracks that belong to the Material Editor: animating a material in the Material Editor affects the scene only if the material is hot on page 9186. Animating Mapped Materials As with basic materials, you can create animation keys for map parameters. The noise parameters and the Noise map on page 6723 itself provide the Phase parameter specifically for animating the noise function. You can also produce an animated material by applying an animated bitmap as a map. This automated bitmap can be an AVI on page 8412 or MOV on page 8428 file, or an image sequence in the form of an IFL on page 8420 file. Changing One Material into Another Probably the easiest way to animate the change of one material into another is to create a Blend material on page 6529, make the two other materials its sub-materials, and then animate its Mix Amount parameter. 6012 | Chapter 17 Material Editor, Materials, and Maps Preview and Playback When you animate a material, or use an animated bitmap in a material, you can create and view a preview of this material before you decide to use it in a fully rendered animation. Creating and Playing Animated Material Previews You can create a preview movie of an animated material. Use Make Preview on page 6055 in the Compact Material Editor. Clicking this button displays the Create Material Preview dialog on page 6057, which like the Renderer has controls for which frames to render, playback speed, and output size. The preview movie is saved in the \previews subdirectory in a file called _medit.avi. Each time you create a new preview, the Material Editor overwrites this file. To keep a preview movie on hand, save it under a different name by using the Save Preview button on the same flyout as Make Preview. Procedures To create a preview of an animated material: 1 Choose (Make Preview) from the flyout. 2 In the Create Material Preview dialog, set the preview conditions you want, and then click OK. The Material Editor creates the preview. To play back a preview of an animated material: 1 Choose (Play Preview) from the flyout. The Material Editor starts the Windows Media Player with the active preview movie loaded. 2 Click Play to view the preview movie. Animating Materials | 6013 To save a preview movie under a different name: 1 Choose (Save Preview) from the flyout. The Material Editor displays a file save dialog. 2 Enter a new name for the preview, and then click OK. Synchronizing an Animated Bitmap with the Scene Material editor ➤ Bitmap map ➤ Time rollout Bitmaps on page 6636 have a Time rollout with controls that let you synchronize an animated bitmap with scene animation. Interface Start Frame The frame number of the 3ds Max scene at which the bitmap animation begins to play. Playback Rate Sets the bitmap's playback rate. This value is a multiplier: 1.0 is one bitmap frame per scene frame, 2.0 is twice as fast, 3.33 is 1/3 as fast, and so on. Default=1.0. Sync Frames to Particle Age When on, 3ds Max synchronizes the frames of a bitmap sequence to the age of particles to which the map is applied. With this effect, each particle displays the sequence from the start when it is born, rather than being assigned whichever frame is current. Default=off. 6014 | Chapter 17 Material Editor, Materials, and Maps When using Particle Flow, assign the material containing the Bitmap map to a Material Dynamic operator. For more details and a procedure, see Material Dynamic Operator on page 3202. NOTE This functionality is not supported by the mental ray renderer. End Condition group Determines what happens after the last frame of the bitmap animation if the animation is shorter than the scene. Loop Causes the animation to repeat over and over again from the beginning. Ping-Pong Causes the animation to be played forward and then backward repeatedly, making every animated sequence "loop smoothly." Hold Freezes on the last frame of the bitmap animation. Saving a Material While a material is applied to an object, it is part of the scene, and is saved with the scene. You can also save a material by putting it into a material library. Material libraries have a .mat file name extension. Some libraries are provided in the \materiallibraries subdirectory of the 3ds Max root directory. The file 3dsmax.mat is the default library. You can add your material to this library, or create your own libraries. Procedures To save a material in a library: 1 In the Slate Material Editor, right-click the Material/Map Browser on page 6167 and choose Open Material Library. 3ds Max opens a file dialog so you can choose the library (MAT file) where you will save the material. After you choose a library, that library appears in the Material/Map Browser panel. 2 Also in the Material/Map Browser, drag the material from the Scene Materials group to the entry for the library file. The material becomes part of the library as well. Saving a Material | 6015 3 In the Material/Map Browser panel, right-click the library file entry and choose Close Material Library. 3ds Max asks if you want to save changes to the library. Click Yes. Material XML Exporter Utility Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Material XML Export You can export materials you create in 3ds Max to XML files, which can then be shared with other 3ds Max users or used in AutoCAD Architecture (formerly Autodesk Architectural Desktop) to modify material definitions. NOTE You can add an exported XML material to your 3ds Max scene by dragging and dropping from a Web site or Windows Explorer onto an object in your scene, or by importing it directly onto objects. 6016 | Chapter 17 Material Editor, Materials, and Maps Interface Selection Method group The Selection Method group lets you set the method for selecting the materials you wish to export. Material/Map Browser Lets you select a material to export from the Material/Map browser on page 6167. Object List Lets you specify objects using the Select Object For Material Modifier Export dialog, which works like the Select From Scene dialog on page 184. All materials assigned to the selected objects are exported. Pick Object in Scene Lets you select an object from your scene. Any materials assigned to the selected object are exported. All Objects in Scene Exports all of the assigned materials in your scene. Material XML Exporter Utility | 6017 Output Format group The Output Format group defines the format of the XML Material output. Native XML (vizML) Materials are exported as raw XML. TIP Use this format for sharing XML material files within 3ds Max. Tool Catalog Materials are exported to the ATC (Autodesk Tool Catalog) format. This file type is suitable for display in the AutoCAD Content Browser and the Autodesk VIZ Content Browser. NOTE This file type cannot be imported to 3ds Max unless you also have Autodesk VIZ Render installed on the same system. Specify XSLT This option lets you apply your own XSL transform to the XML output. Export group The Export group lets you define the parts of the material assignments to export. Material Exports the material definitions. Create Thumbnails Exports thumbnails for each material. NOTE Thumbnail images are referenced by the ATC and displayed in the AutoCAD Content Browser and Autodesk VIZ Content Browser. Mapping Modifiers Exports the mapping modifiers applied to specific objects. _____ Export This button begins the XML export process, using the defined selection method, output format, and export parameters. Upon clicking Export, you are prompted to set the path or URL to store in the XML file as the path to any referenced bitmap files. The default is an empty string, which means no path will be prepended to the bitmap file names when written to XML. When the material is later imported, it will be assumed that the referenced bitmap file can be found in the bitmap search path. If you have elected to export thumbnails or to apply your own XSL transform, you are then prompted to set a path to store the thumbnail files and to locate your XSLT file, respectively. 6018 | Chapter 17 Material Editor, Materials, and Maps Material Editor Main toolbar ➤ Material Editor flyout ➤ Main toolbar ➤ Material Editor flyout ➤ (Material Editor): Compact (Material Editor): Slate Rendering menu ➤ Material Editor ➤ Compact Material Editor Rendering menu ➤ Material Editor ➤ Slate Material Editor Keyboard ➤ M displays the version of the Material Editor (Compact or Slate) that you last opened. The Material Editor provides functions to create and edit materials on page 9219 and maps on page 9215. Materials create greater realism in a scene. A material describes how an object reflects or transmits light. Material properties work hand-in-hand with light properties; shading or rendering combine the two, simulating how the object would look in a real-world setting. You apply materials to individual objects or selection sets; a single scene can contain many different materials. In Autodesk 3ds Max 2011, there are two interfaces to the Material Editor: ■ Compact Material Editor:If you have used 3ds Max prior to the release of Autodesk 3ds Max 2011, the Compact Material Editor on page 6020 is the interface you are familiar with. It is a comparitively small dialog with quick previews of various materials. If you are assigning materials that have already been designed, the Compact Material Editor is still a convenient interface. ■ Slate Material Editor:The Slate Material Editor on page 6083 is new to Autodesk 3ds Max 2011. It is a larger dialog in which materials and maps appear as nodes that you can wire together to create material trees, including phenomena built out of MetaSL shaders on page 6858. If you are designing new materials, the Slate Material Editor is especially powerful, Material Editor | 6019 and it includes search tools to help you manage scenes that have a large number of materials. Compact Material Editor Main toolbar ➤ Material Editor flyout ➤ (Material Editor): Compact Rendering menu ➤ Material Editor The Compact Material Editor is a material editor interface that uses a smaller dialog than the Slate Material Editor. on page 6083 In general, the Slate interface is more versatile when you are designing materials, while the Compact interface is more convenient when you just need to apply materials that have already been designed. 6020 | Chapter 17 Material Editor, Materials, and Maps The Compact Material Editor does have a few options that the Slate Material Editor does not; in particular: ■ Make Preview, Play Preview, Save Preview on page 6055 ■ Video Color Check on page 6053 ■ Custom Sample objects on page 6047 for material previews Procedures To view the Compact Material Editor: ■ On the main toolbar, choose (Material Editor) (the Compact version). The Compact Material Editor has sample slots on page 6025 for viewing previews of materials. When you first view the Material Editor, the material previews have a uniform default color. To give a material a different name: ■ Edit the name field that appears below the Compact Material Editor toolbar. The name of the active material appears in the title bar of the Compact Material Editor dialog. The name of the material is not a file name: it can contain spaces, numbers, and special characters. The name field displays only 16 characters, but a material name can be longer than that. To make a copy of a preview material: ■ On the Compact Material Editor toolbar, click on page 6072). (Make Material Copy To get a material from a scene: If a material that you want to change has been saved in the scene, but not in the Compact Material Editor, you can load the material by getting it from the scene. 1 Click a sample slot to make it active. Compact Material Editor | 6021 Be careful not to click the sample slot of a material you want to use later. 2 On the Compact Material Editor toolbar, click page 6068. (Get Material) on A modeless Material/Map Browser on page 6167 is displayed. 3 In the Browse From group box at the upper left, make sure that either Selected or Scene is chosen. The Selected option lists only materials in the current selection. If no objects are selected, the list of materials is blank. The Scene option lists all the materials currently in the scene. 4 In the list of materials, double-click the name of the material you want. You can also drag the material name to the sample slot. The material you chose replaces the previous material in the active sample slot. WARNING When you get a material from a scene, it is initially a hot material on page 9186. To apply a material to objects in a scene: ■ Drag the sample slot that contains the material you want to apply to an object in the scene. If the object isn't selected, or if it's the only object selected in the scene, the material is applied immediately. If the object is one of several selected objects in the scene, 3ds Max prompts you to choose whether to apply the material to the single object only or to the whole selection (the latter is the default choice). You can also apply materials to a selection by clicking (Assign Material To Selection on page 6070) on the Compact Material Editor toolbar. NOTE When you apply a material to an object or selection, that material becomes a hot material on page 9186 (its sample slot is displayed with white corner brackets). When you change the properties of a hot material, the scene immediately updates to reflect those changes. Every object with that material changes its appearance, not just the objects in the current selection. 6022 | Chapter 17 Material Editor, Materials, and Maps To remove a material from an object: 1 Select the object. 2 In the MAXScript Listener on page 8817, enter $.material=undefined. To put a material back into a scene: ■ On the Material Editor toolbar, click (Put Material To Scene on page 6069). The material in the active sample slot is now a hot material on page 9186. The Put Material button is available only when (1) the material in the active sample slot has the same name as a material in a scene, and (2) the material in the active sample slot is not hot. In other words, this command is meant to fit into the following overall sequence of handling materials: ■ You create a hot material either by applying it to objects in the scene or by getting it from the scene. ■ You make a copy of the material. ■ You make changes to the copy of the material. ■ You update the scene by putting the changed material back into the scene. These steps are not as immediate as changing a material while it is hot, but they help you avoid changing the scene's materials unintentionally or in unexpected ways. When a material in the Material Editor is applied to objects in the scene, you can select the objects from the Material Editor. To select objects that have the same material applied: When a material in the Material Editor is applied to objects in the scene, you can select the objects from the Material Editor. 1 Click a sample slot that contains a material in the scene. White corner brackets indicate materials that are in the scene. Compact Material Editor | 6023 2 Click (Select By Material on page 6064). This button is unavailable unless the active sample slot contains a material in the scene. The Select Objects dialog on page 184 opens. The names of objects with the active material applied are highlighted when the dialog appears. 3 Click Select to select objects that have the active material applied to them. You can also change the selection by choosing other objects. If you change the selection, you can then apply the active material to newly selected objects by clicking (Assign Material To Selection) on page 6070. To get a material from a library: 1 On the Material Editor toolbar, click (Get Material on page 6068). 3ds Max opens a modeless Material/Map Browser on page 6167. 2 Open a library group. 3 In the list of library materials, double-click the name of the material you want. The material you chose replaces the previous material in the active sample slot. To save a material in a library: 1 Click the sample slot that has the material you want to save. 2 On the Material Editor toolbar, click (Put To Library on page 6074. 3 3ds Max opens a Put To Library dialog on page 6075). 4 Change the material name or leave it as is, and then click OK. The material is saved in the currently open library. If no library is open, a new library is created. You can save the new library as a file using the Material/Map Browser on page 6167 controls. 6024 | Chapter 17 Material Editor, Materials, and Maps Interface The Material Editor interface consists of a menu bar at the top, sample slots (the spheres) below the menu bar, and toolbars along the bottom and side of the sample slots. For links to topics describing these interface elements as well as overviews of materials and maps, see the end of this section. The Material Editor interface also includes a number of rollouts whose contents depend on the active material (click a material's sample slot to make it active). Each rollout contains standard controls such as drop-down lists, check boxes, numeric fields with spinners, and color swatches. In many cases, associated with a control (typically to its right) is a map shortcut button: a small, square, blank button, which you can click to apply a map to the control. If you have assigned a map to a control, the button displays the letter M. An uppercase M means that the corresponding map is assigned and active. A lowercase m means that the map is assigned but inactive (turned off). You turn maps on and off with the check boxes on the Maps rollout on page 6443 (see this procedure on page ? and the one following it). You can also right-click the map shortcut button to access functions such as copy and paste (see Copying and Pasting Materials, Maps, Bitmaps, and Colors on page 6158). For choosing materials, see Material/Map Browser on page 6167. For applying materials using drag and drop techniques, see Dragging and Dropping Maps and Materials on page 6161. For an overview of how to use the Material Editor, see Designing Materials on page 5982. Sample Slots (Material Editor): Compact ➤ Sample slots display The sample slots let you maintain and preview materials on page 9219 and maps. on page 9215 Each slot previews a single. You can change the material by using the Compact Material Editor controls, and you can apply the material to objects in the scene. The easiest way to do this is to drag the material from the sample slot to objects in viewports. See Dragging and Dropping Maps and Materials on page 6161. Compact Material Editor | 6025 NOTE The Material/Map Browser on page 6167 includes a Sample Slots group that is comparable to the sample slots in the Compact Material Editor. IMPORTANT While the Compact Material Editor can edit no more than 24 materials at a time, a scene can contain an unlimited number of materials. When you are through editing one material, and have applied it to objects in the scene, you can use that sample slot to get on page 6068 a different material from the scene (or create a new one) and then edit it. You can display a sample slot in a window of its own. This magnifies the sample slot, which can make it easier to preview the material. You can resize the magnified window to make it even larger. To magnify a sample slot, double-click it, or right-click and choose Magnify from the pop-up menu. See Sample Slot Right-Click Menu on page 6029. The Material Editor has 24 sample slots. You can view them all at once, six at a time (the default), or 15 at a time. When you view fewer than 24 slots at once, scroll bars let you move among them. See Material Editor Options on page 6059 and get on page 6068. A material in a slot is shown on a sample object. By default, the object is a sphere. Use the Sample Type flyout on page 6046 to change the sample object. 6026 | Chapter 17 Material Editor, Materials, and Maps Sample slot showing a material By default, a standalone map in a slot fills the whole slot. This is when the slot shows only a map; for example, when you drag the map onto the slot from elsewhere in the 3ds Max interface. When a map is assigned to a material, the slot shows it as part of the material, mapped to the sample object. See Get Material on page 6068 and Material Editor Options on page 6059. Sample slot showing a map Hot and Cool Materials A sample slot is "hot" on page 9186 when the material in the slot is assigned to one or more surfaces in the scene. When you use the Compact Material Editor to adjust a hot sample slot, the material in the scene changes at the same time. The corners of a sample slot indicate whether the material is a hot material: ■ No triangle: The material is not used in the scene. ■ Outlined white triangle: The material is hot. In other words, it's instanced in the scene. Changes you make to the material in the sample slot will change the material displayed in the scene. ■ Solid white triangle: The material is not only hot, but is applied to the currently selected object. Compact Material Editor | 6027 Left: "Hot" material applied to currently selected object. Middle: "Hot" material assigned to scene but not to currently selected object. Right: "Cool" material: active but not assigned to scene. A material is "cool" on page 9126 if it is not applied to any object in the scene. To make a hot sample slot cool, click Make Material Copy on page 6072. This copies the material in the sample slot on top of itself so that it's no longer used in the scene. You can have the same material (with the same name) in more than one sample slot, but only one slot containing that material can be hot. You can have more than one hot sample slot, as long as each has a different material. If you drag to copy a material from a hot slot to another slot, the destination slot is cool, and the original slot remains hot. See also: ■ Sample Slot Right-Click Menu on page 6029 ■ Dragging and Dropping Maps and Materials on page 6161 ■ Creating a Custom Sample Object on page 6047 Procedures To use a sample slot: ■ Click the sample slot to make it active. The active sample slot is displayed with a white border around it. The sample slot shows a sample object shaded with a material. (By default, the sample object is a sphere.) The sample object is lit by a light source above it and slightly toward the viewer. For the sphere, the highlight is in the upper-left quadrant. The diffuse color shows most clearly above and 6028 | Chapter 17 Material Editor, Materials, and Maps to the left of the highlight, shading toward the ambient color at the sphere's lower right. To change the preview shape: 1 Make sure the sample slot of the material you want to view is active. 2 Use the Sample Type flyout on page 6046 to choose the shape you want to view. The flyout gives you three options: sphere (the default), cylinder, or box. The new shape is displayed in the sample slot, with the material mapped to it. To render the current mapping level: 1 Move to the level of the map hierarchy that you want to render. 2 Right-click in the sample slot, and choose Render Map from the pop-up menu. 3ds Max opens the Render Map Dialog on page 6032. 3 Choose Single or the range of frames you want to render. 4 In the Dimensions group box, specify the pixel resolution of the map. 5 Click the Files button, and specify a path and file name for the file. Make sure Save To File is on unless you want to see the image only in a Rendered Frame Window on page 6963. 6 Click Render. A Rendered Frame Window appears displaying the map. If Save To File is on, the image is also saved to disk. Sample Slot Right-Click Menu (Material Editor): Compact ➤ Right-click the active sample slot. When you right-click the active sample slot, a pop-up menu is displayed. For other sample slots, click or right-click once to select them, then right-click to use the pop-up menu. Compact Material Editor | 6029 The pop-up menu is available in magnified sample slot windows. See the "Magnify" option, below. Interface The pop-up menu has these options: Drag/Copy Sets dragging a sample slot to copy mode. When on, dragging a sample slot copies the material from one sample slot to another, or from the sample slot to an object in the scene or a material button. Drag/Rotate Sets dragging a sample slot to rotate mode. When on, dragging in the sample slot rotates the sample object. This helps you preview the material. Drag over the object to rotate it about its X or Y axis; drag in the corners of the sample slot to rotate the object about its Z axis. In addition, if you press Shift before dragging in the center, the rotation is constrained to the vertical or horizontal axis, depending on your initial drag direction. If you have a three-button mouse and are using Windows NT, the middle mouse button rotates the sample object while Drag/Copy mode is active. Reset Rotation Resets the sample object to its default orientation. Render Map Renders the current map, creating a bitmap or an AVI file (if the map is animated). Only the current map level renders. That is, the rendering shows the image displayed when Show End Result is turned off. If you're at a material level instead of a map level, this menu item is disabled. Options Displays the Material Editor Options dialog on page 6059. This is an alternative to clicking the Options button. 6030 | Chapter 17 Material Editor, Materials, and Maps Magnify Generates a magnified view of the current sample slot. The magnified sample is displayed in its own, floating (modeless) window. You can display up to 24 magnified windows, but you can't display the same sample slot in more than one magnified window at a time. You can resize magnify windows. Clicking a magnify window activates the sample slot, and vice versa. Shortcut Double-click a sample slot to display the magnified window. The magnify window's title bar displays the contents of the editable material name field on page 6080. It varies depending on which level of the material is active. Auto Turn off to prevent the magnified window from updating automatically. This can save rendering time, especially when you have resized the magnified window to make it larger. Default=on. Update Click to update the magnified window. This button is unavailable unless Auto is turned off. Dragging a different sample slot to the magnify window changes the contents of the magnify window. _____ Select By Material Selects objects based on the material in the sample slot. This choice is unavailable unless the active sample slot contains a material used in the scene. Highlight Assets in ATS Dialog If the active material uses maps that are tracked assets on page 8114 (typically bitmap textures), opens the Asset Tracking dialog with the assets highlighted. Compact Material Editor | 6031 This choice is unavailable if the material has no maps, or the maps it uses are not tracked. Sample Windows options The Material Editor always has 24 sample slots available. You can choose to display fewer sample slots at a larger size. When you do, scroll bars let you move around among the sample slots. 3 X 2 Sample Windows Displays a 3 x 2 array of sample slots. (The default: 6 windows.) 5 X 3 Sample Windows Displays a 5 X 3 array of sample slots. (15 windows.) 6 X 4 Sample Windows Displays a 6 X 4 array of sample slots. (24 windows.) Render Map Dialog Compact Material Editor ➤ Right-click a sample slot. ➤ Render Map ➤ Render Map dialog 3ds Max opens the Render Map dialog when you use Render Map on the sample slot right-click menu on page 6029 to render the map displayed in a sample slot 6032 | Chapter 17 Material Editor, Materials, and Maps Interface Time Output group These controls specify how many frames to render. Single Renders a single frame. Every Nth Frame Renders a regular sampling of the animation. For example, a value of 8 includes only every eighth frame in the preview. Default=1 (every frame). Active Time Segment Renders the active time segment on page 9082. Range Renders a custom range from the start to the end frame you specify in the spinners below. Dimensions group These controls specify the size of the rendered frames, in pixels. Width Specifies the frame width, in pixels. Height Specifies the frame height, in pixels. Compact Material Editor | 6033 Output group These controls let you save the rendered map to a file. Files Click to display a file dialog that lets you specify where to save the rendered map. When you click Save in the file dialog, you might see an additional dialog that gives you options specific to the file type you chose. Save to File When on, the rendered map is saved to a file. When off, the map is rendered only to a Rendered Frame Window on page 6963. This check box is unavailable unless you use Files to specify a file name, when it defaults to on. File name field Displays the name of the file you chose. Render Renders the map to a feature-reduced version of the Rendered Frame Window on page 6963, and to a file if you chose one. Compact Material Editor Tools Main toolbar ➤ (Material Editor): Compact Above the Material Editor sample slots on page 6025 is the menu bar. Below and to the right of the sample slots are buttons and other controls that you use to manage and change maps and materials. 6034 | Chapter 17 Material Editor, Materials, and Maps Material Editor tools below and to the right of the sample slots Material Editor Menu Bar on page 6038 Reflectance and Transmittance Display on page 6042 NOTE These fields are not displayed unless you change a toggle in Preferences ➤ Advanced Lighting. Buttons below the sample slots (the "toolbar") Get Material on page 6068 Put Material to Scene on page 6069 Assign Material to Selection on page 6070 Compact Material Editor | 6035 Reset Map/Mtl to Default Settings on page 6071 Make Material Copy on page 6072 Make Unique on page 6072 Put to Library on page 6074 Material ID Channel on page 6075 Show Standard/Hardware Map in Viewport on page 6077 Show End Result on page 6078 Go to Parent on page 6078 Go Forward to Sibling on page 6079 Buttons to the right of the sample slots Sample Type on page 6046 Backlight on page 6050 Sample Slot Background on page 6051 6036 | Chapter 17 Material Editor, Materials, and Maps Sample UV Tiling on page 6052 Video Color Check on page 6053 Make Preview, Play Preview, Save Preview on page 6055 Material Editor Options on page 6059 Select By Material on page 6064 Material/Map Navigator on page 6065 Controls below the toolbar Pick Material From Object (Eyedropper) on page 6079 Name Field (Materials and Maps) on page 6080 Type Button (Materials and Maps) on page 6081 Procedures To use the Material Editor Options dialog: 1 Click (Options) on page 6059 to the right of the sample slots. 2 Set the options as you want, and then click OK. To change the preview shape: 1 Activate the sample slot of the material you want to view. Compact Material Editor | 6037 2 Use the Sample Type flyout on page 6046 to choose the shape you want to view. The new shape is displayed in the sample slot, with the material mapped to it. The flyout gives you three options: sphere (the default), cylinder, or box. An additional custom object option is available if you define a custom object as described in Creating a Custom Sample Object on page 6047. Material Editor Menu Bar (Material Editor): Compact ➤ Menu bar The Material Editor menu bar appears at the top of the Material Editor window. It provides another way to invoke the various Material Editor tools. Modes Menu Lets you choose which Material Editor interface is active. ■ Compact Material Editor on page 6020 displays the Compact interface. ■ Slate Material Editor on page 6083 displays the Slate interface. Material Menu The Material menu provides the most commonly used Material Editor tools. ■ Get Material on page 6068 ■ Pick from Object on page 6079 ■ Select by Material on page 6064 ■ Highlight Assets in ATS Dialog If the active material uses maps that are tracked assets on page 8114 (typically bitmap textures), opens the Asset Tracking dialog with the assets highlighted. ■ Assign to Selection on page 6070 ■ Put to Scene on page 6069 ■ Put to Library on page 6074 6038 | Chapter 17 Material Editor, Materials, and Maps ■ Change Material/Map TypeEquivalent to clicking the Material/Map Type button on page 6081. ■ Make Material Copy on page 6072 ■ Launch Magnify WindowEquivalent to double-clicking the active sample slot on page 6025, or choosing Magnify on its right-click menu on page 6029. ■ Save as .FX FileSee DirectX Manager Rollout on page 6222. ■ Make Preview on page 6055 ■ View Preview on page 6055 ■ Save Preview on page 6055 ■ Show End Result on page 6078 ■ Show Materials in Viewport As on page 134 ■ Reset Sample Slot RotationReturns the active sample slot's object to its default orientation; equivalent to choosing Reset Rotation on the sample slot right-click menu on page 6029. ■ Update Active MaterialIf the Material Editor Options dialog on page 6059 ➤ Update Active Only setting is on, choosing this updates the active material in its sample slot. Navigation Menu The Navigation menu provides tools that navigate a material's hierarchy. ■ Go to Parent on page 6078 ■ Go Forward to Sibling on page 6079 ■ Go Backward to SiblingLike Go Forward To Sibling, but navigates to the preceding sibling map in the tree instead of the succeeding one. Options Menu The Options menu provides some additional tools and display choices. ■ Propagate Materials to Instances on page 6041 ■ Manual Update ToggleEquivalent to the Manual Update toggle in the Material Editor Options dialog on page 6059. Compact Material Editor | 6039 ■ Copy/Rotate Drag Mode ToggleEquivalent to choosing either Drag/Copy or Drag/Rotate on the sample slot right-click menu on page 6029. ■ Background on page 6051 ■ Custom Background ToggleIf you have used the Material Editor Options dialog on page 6059 to assign a custom background, this toggles its display. ■ Backlight on page 6050 ■ Cycle 3X2, 5X3, 6X4 Sample SlotsCycles through the equivalent choices on the sample slot right-click menu on page 6029. ■ OptionsOpens the Material Editor Options dialog on page 6059. Utilities Menu The Utilities menu provides map rendering and selecting objects by material. ■ Render MapEquivalent to choosing Render Map on the sample slot right-click menu on page 6029. ■ Select Objects by Material on page 6064 ■ Clean MultiMaterial on page 6942 ■ Instance Duplicate Map on page 6947 ■ Reset Material Editor SlotsReplaces all materials in the Material Editor with the default material type. This action is not undoable, but you can restore the previous state of the Material Editor with the Restore Material Editor Slots command (see below). ■ Condense Material Editor SlotsSets all unused materials in the Material Editor to the default type, retaining only materials in the scene and moving those materials to the first slots in the editor. This action is not undoable, but you can restore the previous state of the Material Editor with the Restore Material Editor Slots command (see below). ■ Restore Material Editor SlotsWhen you use either of the two previous commands, 3ds Max saves the current state of the Material Editor in a buffer; using this command restores the state of the editor using the buffer contents. 6040 | Chapter 17 Material Editor, Materials, and Maps TIP The buffer that holds the material definitions survives the Application menu on page 8579 ➤ Reset command. Thus, if you use either the Reset Material Editor Slots or the Condense Material Editor Slots function, and then reset 3ds Max, you can then use Restore Material Editor Slots to bring all materials back into the Material Editor. This makes it easy to use the same materials in different projects. For best results, follow this procedure: 1 Save your scene. 2 Use the Reset Material Editor Slots or Condense Material Editor Slots function. 3 Reset 3ds Max. When prompted to save the scene, click No. Otherwise, you might lose material definitions in the Material Editor that were saved with the scene. 4 Open the Material Editor and choose Utilities menu ➤ Restore Material Editor Slots. The Material Editor status before step 2 is restored. Propagate Materials to Instances Material Editor (Slate or Compact) ➤ Options menu ➤ Propagate Materials to Instances When Propagate Materials To Instances is on, any material assignment you make will be propagated to all instances on page 9195 of the object in your scene, including imported AutoCAD blocks and ADT style-based objects; these object types are common in DRF files on page 8178. Assignments are also propagated to instances of Revit objects and of other instances that you've made in the current scene. When Propagate Materials To Instances is off, materials are assigned in traditional 3ds Max fashion; each object has a unique material assignment. Compact Material Editor | 6041 Reflectance and Transmittance Display (Material Editor): Compact ➤ Reflectance and Transmittance fields (below the sample slots) These fields show the reflectance and transmittance of the active material. Both the average value and the maximum value are shown. NOTE These fields appear only when you turn on Material Editor ➤ Display Reflectance & Transmittance Information on the Radiosity panel on page 8948 of the Preferences dialog. These fields can change according to the current Show End Result setting on page 6078. When Show End Result is off, the reflectance and transmittance show the properties of the current element in the material hierarchy, not the properties of the material overall. The reflectance and transmittance values of a material are particularly important when you are preparing a radiosity solution on page 7068 to obtain a physically accurate lighting simulation. If a material’s reflectance or transmittance values are not what your scene needs, you need to adjust these values. 6042 | Chapter 17 Material Editor, Materials, and Maps Materials and Radiosity Upper left: Washed-out walls due to high reflectance. Right: Better radiosity achieved by reducing the HSV Value (V) of materials in the scene. To get good radiosity results, keep these points in mind as you design materials: ■ Before you generate a radiosity solution, check the reflectance value of all materials in the scene, to make sure it is not too high. The reflectance of a material determines how much of the light energy it receives is subsequently used in the radiosity calculation. Keep this value within the range of the physical materials you are simulating. (See the table in the description of “Reflectance,” below.) ■ Don’t be concerned if a material preview seems too dark. For example, a white wall with the maximum recommended reflectance of 80% appears gray. The color balance will be adjusted correctly by the exposure control on page 7665 in the final rendering. ■ Bitmaps used as diffuse textures have already been illuminated by the scanner, digital camera, or paint program in which you created them. To bring them into the proper reflectance range, you might have to dim them Compact Material Editor | 6043 by reducing the RGB Level value in the bitmap’s Output rollout on page 6613. Left: Wood grain bitmap as originally photographed has too high a reflectance. Right: Reducing the RGB Level value reduces the map’s reflectance. Interface Reflectance Reflectance is the percentage of diffuse light energy that is reflected from a material. When you increase a material’s HSV value (V), the material reflects more diffuse light. Decreasing a material’s Opacity also decreases its reflectance. Typically, the reflectance of a material should never be greater than 85%. this is an unusually high value that will lead to poor-quality renderings. In the real world, even the whitest wall reflects no more than 80% of the light it receives. One source of high reflectance can be a map assigned to the material’s diffuse component. For example, a white tile bitmap might create high reflectance. In this case, you can reduce reflectance by reducing the RGB Level in the bitmap’s Output rollout. An alternate way to reduce a bitmapped material’s reflectance is to set the diffuse color of the material to black, and then reduce the diffuse map’s Amount (in the parent material’s Maps rollout on page 6443). You can use this method to reduce the reflectance of 3D procedural maps on page 6698 as well. 6044 | Chapter 17 Material Editor, Materials, and Maps Here are some typical reflectance ranges for common materials: Material Minimum Maximum Ceramic 20% 70% Fabric 20% 70% Masonry 20% 50% Metal 30% 90% Paint 30% 80% Paper 30% 70% Plastic 20% 80% Stone 20% 70% Wood 20% 50% Transmittance Transmittance is the amount of light energy transmitted through a material. A completely opaque material has 0% transmittance. When the material is transparent (like clear glass), the energy transmitted is specular, and light passes directly through the material (subject to refraction). The value of specular transmittance is an interaction between the material’s Opacity value on page 6418 and its filter color on page 9157. When the filter color is pure white, specular transmittance is the inverse of Opacity. When the material is translucent (like frosted glass), the energy transmitted is diffuse, and scattered in all directions. The value of diffuse transmittance is based on the HSV value (V) of the translucent color on page 6424. Diffuse transmittance happens only for materials that use the Translucent shader on page 6409, or Raytrace materials on page 6486, that specify translucency. Usually, when a material has high transmittance, it has low reflectance, and the other way around. Compact Material Editor | 6045 Sample Type (Material Editor): Compact ➤ (Sample Type) (Slate Material Editor: Right-click a material node and choose Preview Object Type.) The Sample Type flyout lets you choose which geometry to display in the active sample slot on page 6025. This flyout has three or four buttons: ■ Sphere (the default)Displays the material on a sphere. ■ CylinderDisplays the material on a cylinder. ■ CubeDisplays the material on a cube. ■ CustomDisplays the material on a custom object. This button appears only if you have used the Material Editor Options dialog on page 6059 to specify a custom object for sample slots. See Creating a Custom Sample Object on page 6047. 6046 | Chapter 17 Material Editor, Materials, and Maps Creating a Custom Sample Object (Material Editor): Compact ➤ Right-click the active sample slot. ➤ Right-click menu ➤ Options ➤ Material Editor Options dialog Compact Material Editor ➤ Editor Options dialog (Material Editor Options) ➤ Material By default, the sample object in a sample slot is a sphere. You can use the Sample Type flyout on page 6046 to change this to a cube or a cylinder. You can also create a custom sample object by creating a 3ds Max scene that shows the object. Custom sample object fits within a 100-unit cube Compact Material Editor | 6047 Overview of Using a Custom Sample Object See Procedures for more details. The scene you create should contain a single object that fits into an imaginary cube that is 100 units on each side. The object must be at the root level of the scene: it can't be linked to other objects. If more than one object is in the scene, only the first object listed in the Track View hierarchy is used as the sample object. If the object is of a type that doesn't have a Generate Mapping Coords check box, apply a UVW Map modifier on page 1883 to it. After you have saved the single-object scene as a MAX file, use the Custom Sample Object group in the Material Editor Options dialog on page 6059 to specify the file. When you specify the file, a new button is displayed at the right of the Sample Type flyout. This button, which shows an object with a question mark, displays the sample object file you chose. If the sample object scene contains only the object, sample slots display it with default lighting. If the scene also contains a camera and lights, you can use the camera to specify the view, and the lights to light the object as you choose. Turn on Load Camera and/or Lights in the Custom Sample Object group. Procedures To set up a custom sample object: 1 Create a scene with a single object, such as a pyramid. The object should fit into an imaginary cube that is 100 units on each side. Also, the object must be at the root level of the scene: it can't be linked to other objects. If more than one object is in the scene, the Material Editor uses the first object listed in the Track View hierarchy. 2 If the object does not have built-in mapping coordinates (via a Generate Mapping Coords check box), then assign a UVW Map modifier on page 1883 to it to provide mapping coordinates. If the object has a Generate Mapping Coords check box, it's on by default, and the Material Editor uses those coordinates. If you want to use coordinates other than those built into the object, assign a UVW Map modifier and set up your own coordinates. 3 Save the scene as a MAX file. 6048 | Chapter 17 Material Editor, Materials, and Maps 4 In the Material Editor Options dialog, click the File Name button in the Custom Sample Object group box, and choose the file that contains your object. 5 Activate the sample slot in which you want to see the custom object, then choose the button at the far right of the Sample Type flyout. Your custom object is displayed in the sample slot. If the size of your object is not quite right for the sample slot, adjust its size and save the scene again. To update the sample slot so it uses the newly saved MAX file, open the Material Editor Options dialog, and then click OK. To use a camera and lights with the custom sample object: 1 Create a camera in the scene that contains your sample object, and then adjust the camera to show the object as you want it seen in sample slots. TIP Viewports have a different aspect ratio than sample slots, so using Zoom Extents on page 8733 on the sample object usually results in the object appearing smaller in a sample slot. Perform Zoom Extents on the object, and then before you save the file, zoom in a little farther so the object more than fills the viewport. The sample slot projection is based on the width of the sample object's geometry, not on the image in the viewport. If more than one camera is in the scene, the Material Editor uses the first camera listed in the Track View hierarchy. 2 If you want to use your own lighting rather than the default sample-slot lighting, set up as many lights as you need. If you want to use the sample-slot lighting, do not add any lights to the scene. 3 Save the MAX file. 4 In the Material Editor Options dialog, specify the file as the Custom Sample Object file. 5 Turn on Load Camera and/or Lights. Sample Slots set to use the custom object now display the object as seen through the camera. If lights are in the scene, those lights are used in the sample slot instead of the default lights. Compact Material Editor | 6049 Backlight (Material Editor): Compact ➤ (Backlight) Compact Material Editor menu bar ➤ Options menu ➤ Backlight (Slate Material Editor: Right-click a material node and choose Show Backlight.) Turning on Backlight adds a backlight to the active sample slot. This button is on by default. Left: Backlight on Right: Backlight off The effect is most easily seen with the sample spheres, where the backlight highlights the lower-right edge of the sphere. Backlight is especially useful whenever you're creating metal on page 6400 and Strauss on page 6405 materials. Backlight lets you see and adjust the specular highlight created by glancing light, which is much brighter on metals. 6050 | Chapter 17 Material Editor, Materials, and Maps Sample Slot Background (Material Editor): Compact ➤ (Background) Compact Material Editor menu bar ➤ Options menu ➤ Background (Slate Material Editor: Right-click a material node and choose Show Background In Preview.) Turning on Background adds a multicolored checkered background to the active sample slot. The pattern background is helpful when you want to see effects of opacity and transparency. Left: Background on Right: Background off The Material Editor Options dialog on page 6059 also lets you assign a bitmap to use as a custom background. Compact Material Editor | 6051 Sample UV Tiling (Material Editor): Compact ➤ (Sample UV Tiling) flyout (Slate Material Editor: Right-click a material node and choose Preview UV Tiling.) The buttons on the Sample UV Tiling flyout adjust the repetition of the map on page 9215 pattern on the sample object in the active sample slot. 1x1, 2x2, and 3x3 sample tiling The tiling pattern you set with this option affects only the sample slot. It has no effect on the tiling on the geometry in the scene, which you control with parameters in the map's own coordinates rollout. ■ 1 x 1 (the default)Tile once in the U dimension and once in V. This is equivalent to no tiling at all. 6052 | Chapter 17 Material Editor, Materials, and Maps ■ 2 x 2Tile twice in U and twice in V. ■ 3 x 3Tile three times in U and three times in V. ■ 4 x 4Tile four times in U and four times in V. The buttons specify the number of times the pattern repeats over the surface of the sample object. Because maps are mapped spherically around the sample sphere, the tiling on page 9328 repetition covers the entire surface of the sphere. The sample cylinder maps cylindrically. The sample cube uses box mapping: the tiling appears on each side of the cube. Custom sample objects use the default mapping coordinates for that kind of object, unless the object has a UVW Map modifier on page 1883 applied to it, in which case the modifier controls the mapping. This flyout is unavailable when the sample slot displays a standalone (top-level) map. See also: ■ Creating a Custom Sample Object on page 6047 Video Color Check (Material Editor): Compact ➤ (Video Color Check) Video Color Check checks the material on the sample object for colors that are beyond the safe NTSC on page 9238 or PAL on page 9257 threshold. Compact Material Editor | 6053 Left: Material with oversaturated colors Right: Video color check shows black areas that are beyond the video threshold Such colors tend to blur or fuzz when transferred from computer to video. Pixels containing these "illegal" or "hot" colors are flagged on the sample object. You can have 3ds Max correct illegal colors automatically when you render, depending on the settings in the Rendering tab on page 8929 of the Customize/Preferences dialog on page 8886. Use this option as a guide only. The colors in a rendered scene depend not only on the material color but also on the intensity and color of the lighting. A material that shows as safe in the sample slot might become illegal if rendered under several bright lights. A safe practice for video is to use colors whose saturation is less than 80 to 85 percent. Procedures To check for illegal video colors: 1 On the Material Editor, turn on (Video Color Check). The active sample slot now renders "illegal" pixels as black. Illegal pixels have a color that is beyond the safe video threshold. If Video Color Check detects illegal colors, try reducing the saturation of the material colors in question. 2 You can also check for legal video colors when you render a scene. 6054 | Chapter 17 Material Editor, Materials, and Maps To change the video system: NTSC on page 9238 is the default video system to check. You can change the video checking to PAL on page 9257. ■ In the Tools menu ➤ Options ➤ Options dialog ➤ Rendering panel on page 8929 ➤ Video Color Check group, change the setting to PAL. The sample slot does not automatically update when you change the video system preference. Turn video checking off and back on to see the change. NOTE The Rendering panel also shows options for choosing alternate ways to display illegal pixels. These apply to renderings only, not to the sample slots in the Material Editor. Make Preview, Play Preview, Save Preview (Material Editor): Compact ➤ Make/Play/Save Preview flyout Compact Material Editor menu bar ➤ Material menu ➤ Make Preview, View Preview, or Save Preview You can use animated maps to add movement to a scene. For example, to simulate a sky view, you could map an animation of moving clouds to a clerestory window. The Make Preview options let you experiment with the effect in the Material Editor before you apply it to your scene. The buttons on the Make Preview, Play Preview, Save Preview flyout let you preview the effect of an animated map on the object in a sample slot (see Sample Type on page 6046 for alternatives to the default sphere.) You can use an AVI file on page 8412, or IFL file on page 8420 as a source for the animation. The finished preview is saved as a new AVI file and automatically played back. You can also view the preview in a sample slot by dragging the time slider. This flyout has three options: ■ Make PreviewDisplays a Create Material Preview dialog on page 6057 to create an AVI file of the animated material. Compact Material Editor | 6055 When the preview is complete, it is saved as _medit.avi in the \previews subdirectory. The file is then opened in the Windows Media Player and played back. Without this option, the only other way to preview a complex animated material in real time is to use the renderer on page 7020 to render an animated sequence and save it to an AVI file, a digital disk recorder, or a video tape recorder. ■ Play PreviewUses the Windows Media Player to play the current _medit.avi preview file in the \previews subdirectory. ■ Save PreviewSaves the _medit.avi preview to an AVI file of a different name in the \previews subdirectory. Procedures To create a preview of an animated material: 1 Choose (Make Preview) from the flyout. 2 In the Create Material Preview dialog, set the preview conditions you want, and then click OK. The preview is created, and then plays. To play back a preview of an animated material: ■ Choose (Play Preview) from the flyout. The Material Editor starts the Windows Media Player. The Player then loads the current _medit.avi preview file in the \previews subdirectory and plays it in a separate window. To view an animated material in a sample slot: ■ Drag the time slider through the range of frames. By default, all sample slots with animated maps update at the same time. To change this, see Material Editor Options on page 6059. 6056 | Chapter 17 Material Editor, Materials, and Maps To save a preview under a different name: 1 Choose (Save Preview) from the flyout. The Material Editor displays a File Save dialog. 2 Enter a new name for the preview, and then click OK to save the file in the \previews subdirectory. To play a renamed preview: 1 Choose Rendering menu ➤ View Image Image. 2 In the View File dialog, change to the \previews subdirectory. 3 Select the renamed preview file and click Open. The preview is played in a separate window. Create Material Preview Dialog (Material Editor): Compact ➤ Make/Play/Save Preview flyout ➤ (Make Preview) The Create Material Preview dialog is displayed when you click Make Preview on page 6055 to preview an animated material. By default, the preview is saved in the \previews subdirectory with the name _medit.avi. You can use Save Preview to give the preview a different name so it won't be overwritten the next time you use Make Preview. Compact Material Editor | 6057 Interface Preview Range group Active Time Segment Renders the active time segment on page 9082. Custom Range Renders a custom range from the start to the end frame you specify in the spinners below. Frame Rate group These controls specify the playback rate. Every Nth Frame Renders a regular sampling of the animation. For example, a value of 8 includes only every eighth frame in the preview. Default=1 (every frame). Playback FPS Specifies the playback rate in frames per second. Default=30 (full speed). 6058 | Chapter 17 Material Editor, Materials, and Maps Image Size group Percent of Output Specifies the resolution of the preview. This value is a percentage; 100 percent has a resolution of 101 x 99 pixels (the size of a sample slot in the 3 x 2 array). Default=100. Material Editor Options (Material Editor): Compact ➤ (Material Editor Options) Compact Material Editor menu bar ➤ Options menu ➤ Options This button displays the Material Editor Options dialog to let help you control how materials and maps are displayed in the sample slots on page 6025. These settings are “sticky”; they survive a reset, and even quitting and restarting 3ds Max. NOTE The controls to assign a renderer for the sample slots are on the Assign Renderer rollout on page 7034. Compact Material Editor | 6059 Interface 6060 | Chapter 17 Material Editor, Materials, and Maps Manual Update When on, the sample slots don't update their contents until you click them. This option affects only the updating of the sample slots; it doesn't affect the icon displays in the Browser. Default=off. Don't Animate When on, animated maps are not updated in the sample slots while you play an animation or drag the time slider. However, the animation is updated to the current frame when you stop the animation or release the time slider. An animated map can use an AVI file on page 8412 or IFL file on page 8420as a source. Default=off. Animate Active Only When on, only the active sample slot is animated when you play an animation or drag the time slider. This option is good for situations where you have multiple animated materials in the Material Editor, but you only need to see one at a time. This check box is unavailable when Don’t Animate is on. Default=off. Update Active Only When on, sample slots do not load or generate maps until you make one sample slot active. This can save time while you use the Material Editor, especially when your scene uses a lot of materials with maps. Default=off. Antialias Turns on antialiasing on page 9087 in the sample slots. Default=off. Progressive Refinement Turns on progressive refinement in the sample slots. When on, samples are rendered quickly, with large pixels, then rendered a second time in greater detail. Default=off. Simple Multi Display Below Top Level When on, the sample sphere for a Multi/Sub-Object material displays the multiple patches only at the top level of the material. The sub-materials are displayed over the entire sphere. When you use nested Multi/Sub-Object materials, the multiple patches again appear at the top level of the nested material, but the sample sphere is again whole when displaying any of the sub-materials. Default=on. Display Maps as 2D When on, sample slots display maps, including standalone maps, in 2D. The map fills the entire slot. When off, maps are displayed on the sample object, as materials are. Default=on. Custom Background Lets you specify a custom background for the sample slots, instead of the default checkers background. Click the file-assignment button to display a file dialog from which you can select the custom background. This can be any bitmap format supported by 3ds Max. Turn on Custom Background to use the new background instead of the checkered background. The custom background is stored in the 3dsmax.ini on page 42 file, so it is available from session to session. Default=off. Compact Material Editor | 6061 Display Multi/Sub-Object Material Propagation Warning Toggles display of warning dialog when you apply a Multi/Sub-Object material on page 6542 to an instanced ADT style-based object. Auto-Select Texture Map Size When on, and you have a material that uses a texture map set to Use Real-World Scale, ensures that the map will be displayed correctly on the sample sphere. Turn off to be able to enable Use Real-World Map Size For Geometry Samples (see following). NOTE If a material uses several texture maps at different levels, and only one is set to Use Real-World Scale, the sample sphere will render with real-world size coordinates. Use Real-World Map Size For Geometry Samples This is a global setting that allows you to manually choose which style of texture coordinates are used. When on, real-world coordinates are used for the sample slot display. Otherwise, the old style of 3ds Max mapping coordinates is active. When off, you must turn on Use Real-World Scale on the map's Coordinates rollout to see the sample sphere as you'd expect. Available only when Auto-Select Texture Map Size (above) is off. Default=off. _____ Top Light color / Back Light color Specify the two lights used in the sample slots. Click the color swatch to alter the color of either light. Adjust the Multiplier spinners to multiply the values (intensity) of the lights. Use the Default buttons to return to the initial settings. Ambient Light Shows the color of ambient light on page 9089 used in the sample slots. Click the color swatch to change the color. When the lock button is on, changing the Ambient Light color here or on the Environment panel on page 7621 changes both; when off, changing one setting does not affect the other. Use the Default button to return to the initial setting. Background Intensity Sets the background intensity in the sample slots. The range is from 0 (black) to 1 (white). Default=0.2. Use the Default button to return to the initial setting. Render Sample Size Sets the scale of the sample sphere to any size, making it consistent with the object or objects in the scene that have the texture on them. This setting affects how 2D and 3D maps are displayed providing that the sample spheres are set to display real-world scale. NOTE The size is scaled to use the current units. 6062 | Chapter 17 Material Editor, Materials, and Maps This is a global option that affects all the sample slots. Default=100.0 (Imperial units) and 2.54m (Metric units). Use the Default button to return to the initial setting. Default Texture Size Controls the initial size (both height and width) of a newly created real-world texture. You see the result of changing this option only when you create a new texture in a material; the change appears in the Coordinates rollout on page 6622. Default=48.0 (Imperial units) and 1.219m (Metric units). NOTE This setting applies to real-world textures only. For the default size to be applied to newly created textures, the Preferences dialog ➤ General panel ➤ Use Real-World Texture Coordinates check box must be on. Use the Default button to return to the initial setting. DirectX Shader group These options affect the viewport behavior of the DirectX Shader material on page 6597. Force Software Rendering When on, forces DirectX Shader materials to use the selected software render style for viewports. When off, the FX file specified in the DirectX Shader is used unless the material's local Force Software Rendering toggle is on. Default=off. Shade Selected When Force Software Rendering is on, selected objects, and only selected objects, are shaded by the DirectX Shader material. This toggle is unavailable unless Force Software Rendering is on. Default=off. Custom Sample Object group Controls in this group let you specify a custom sample object on page 6047 to use in the sample slots on page 6025. File Name Selects the MAX scene file. The scene should contain a single unlinked object that fits in an imaginary cube 100 units on a side. The object must be either a primitive with a Generate Mapping Coords. check box, or have a UVW Map modifier on page 1883 applied to it. The scene can contain a camera and lights. Load Camera and/or Lights Turn on to have sample slots use the camera and lights in the scene, instead of the default sample slot lighting. Compact Material Editor | 6063 Slots group These options let you choose how many sample slots to display at a time. The Material Editor always has 24 sample slots available. You can choose to display fewer sample slots at a larger size. When you do, scroll bars let you move around among the sample slots. 3 X 2 Specifies a 3 x 2 array of sample slots. (The default: 6 windows.) 5 X 3 Specifies a 5 X 3 array of sample slots. (15 windows.) 6 X 4 Specifies a 6 X 4 array of sample slots. (24 windows.) _____ Apply Applies the current settings, except for changes to the Slots group, without leaving the Material Editor Options dialog. This is useful when you adjust lighting values for the sample slots. OK Closes the dialog and applies any changes you made. Cancel Closes the dialog and cancels any changes you made, including changes you applied with the Apply button. Select By Material (Material Editor): Compact ➤ (Select By Material) Compact Material Editor menu bar ➤ Material menu ➤ Select by Material Compact Material Editor menu bar ➤ Utilities menu ➤ Select Objects by Material Select By Material allows you to select objects based on the active material in the Material Editor. This command is unavailable unless the active sample slot contains a material used in the scene. Choosing this command opens the Select Objects dialog, which works like Select From Scene on page 184. All objects that have the selected material applied to them are highlighted in the list. 6064 | Chapter 17 Material Editor, Materials, and Maps NOTE Hidden objects don't appear in this list, even if the material is applied to them. However, in the Material/Map Browser on page 6167, you can choose Browse From: Scene, turn on By Object, and then browse from the scene. This lists all objects in the scene, hidden and unhidden, along with their assigned materials. Procedures To select objects that have the same material applied: 1 Click a sample slot that contains a material in the scene. White corner brackets indicate materials that are in the scene. 2 In the Material Editor, click (Select By Material). This button is unavailable unless the active sample slot contains a material in the scene. The Select Objects dialog on page 184 opens. The names of objects with the active material applied are highlighted. 3 Click Select to select objects with the active material applied. You can also change the selection by choosing other objects. If you change the selection, you must then click (Assign Material To Selection) on page 6070 to apply the active material to newly selected objects. Material/Map Navigator (Material Editor): Compact ➤ (Material/Map Navigator) The Material/Map Navigator is a modeless dialog that provides quick navigation through the hierarchy of maps on page 9215 in a material on page 9219, or of sub-materials in a compound material on page 9119. The Navigator displays the material and maps in the currently active sample slot. You can navigate the hierarchy of the current material by clicking the material or map listed in the Navigator. Conversely, as you navigate the Compact Material Editor | 6065 material in the Material Editor, the current level is highlighted in the Navigator. The selected material or map becomes active in the sample slot, while the rollouts for the selected material or map are displayed below. You can also drag from the Navigator to any valid sample slot or button in the user interface. Use the view buttons at the top to change the display. The list displayed in the Navigator is similar to the one displayed in the Track View hierarchy. See also: ■ Material/Map Browser on page 6167 Interface NOTE Icons of materials and maps for which Show Standard/Hardware Map in Viewport on page 6077 is on are red. Also, the names of instanced on page 9195 materials and maps appear in boldface. Both of these effects are shown in the following illustration: 6066 | Chapter 17 Material Editor, Materials, and Maps The view buttons are as follows: View List Displays the materials and maps in list format. Blue spheres are materials. Green parallelograms are maps. The green parallelograms turn red if Show Map in Viewport is on for a material. View List + Icons Displays the materials and maps as small icons in a list. View Small Icons Displays the materials and maps as small icons. As you move the mouse over the icons, tooltip labels show you the name of the material or map. View Large Icons Displays the materials and maps as large icons. As you move the mouse over the icons, tooltip labels show you the name of the material or map. The large icons are labeled with the name of the material or map and are displayed using progressive refinement. That is, samples are rendered quickly, with large pixels, then rendered a second time in greater detail. Compact Material Editor | 6067 Get Material (Material Editor): Compact ➤ (Get Material) Compact Material Editor menu bar ➤ Material menu ➤ Get Material Get Material displays the Material/Map Browser on page 6167 to allow you to choose a material on page 9219 or map on page 9215. Procedures To get a material from a scene: 1 Click a sample slot to make it active. Be careful not to click the sample slot of a material you want to use later. 2 On the Material Editor toolbar, click (Get Material). 3ds Max opens a modeless Material/Map Browser on page 6167. 3 In the list of materials, double-click the name of the material you want to get. The material you chose replaces the previous material in the active sample slot. WARNING When you get a material from a scene, initially it is a hot on page 9186 material. To get a material from a library: 1 On the Material Editor toolbar, click (Get Material). 3ds Max opens a modeless Material/Map Browser on page 6167. 2 In the Browser, open a library group. 3 In the list of materials, double-click the name of the material you want to get. 6068 | Chapter 17 Material Editor, Materials, and Maps The material you chose replaces the previous material in the active sample slot. Put Material to Scene (Material Editor): Compact ➤ (Put Material to Scene) Compact Material Editor menu bar ➤ Material menu ➤ Put to Scene Put Material To Scene updates a material in the scene after you edit the material. Put Material To Scene is available only when: ■ The material in the active sample slot has the same name as a material in a scene. ■ The material in the active sample slot is not hot. In other words, this command is intended to fit into the overall sequence of handling materials: ■ You create a hot material either by applying it to objects in the scene or by getting it from the scene. ■ You make a copy of the material. ■ You make changes to the copy of the material. ■ You update the scene by putting the changed material back into the scene. Notes ■ If you apply a mapped material to a parametric object whose Generate Mapping Coords option is off, 3ds Max automatically turns on mapping coordinates at render time. In addition, if you apply a mapped material with Show Map in Viewport active to an object, that object's Generate Mapping Coords option is turned on if necessary. Compact Material Editor | 6069 ■ The Show Map In Viewport flag is now saved with individual materials, so you can drag mapped materials from the modeless Browser onto objects in your scene, and the mapping appears in the viewports. Procedures To put a material back into a scene: ■ On the Compact Material Editor toolbar, click (Put Material To Scene). The material in the active sample slot is now a hot material on page 9186. Assign Material to Selection (Material Editor): Compact ➤ (Assign Material to Selection) Compact Material Editor menu bar ➤ Material menu ➤ Assign to Selection (Slate Material Editor: Toolbar ➤ (Assign Material to Selection).) Assign Material to Selection applies the material in the active sample slot to the currently selected object or objects in the scene. At the same time, the sample slot becomes hot on page 9186. If you apply a mapped material to a parametric object whose Generate Mapping Coords option is off, 3ds Max automatically turns on mapping coordinates at render time. In addition, if you apply a mapped material with Show Standard/Hardware Map In Viewport on page 6077 active to a parametric object, that object's Generate Mapping Coords option is turned on if necessary. The Show Map In Viewport flag is saved with individual materials, so when you drag mapped materials from the modeless Browser on page 6167 onto objects in your scene, the mapping appears in the viewports. The Undo command works for material assignment. 6070 | Chapter 17 Material Editor, Materials, and Maps Procedures To apply a material to objects in a scene: 1 Select the sample slot that contains the material you want to apply. 2 Select the objects you want to apply the material to. 3 Do one of the following: ■ Drag from the sample slot to the objects. If more than one object is selected, 3ds Max asks whether you want to apply to the single object or to the whole selection. ■ On the Compact Material Editor toolbar, click To Selection). (Assign Material WARNING When you apply a material to an object or selection, that material becomes a hot material on page 9186. When you change the material's properties, the scene immediately updates to reflect those changes. Any object with that material will change its appearance, not just the objects in the current selection. When a material is hot, its sample slot is displayed with white corner brackets. To make a material no longer hot so it doesn't change the current scene, click Make Material Copy on page 6072. Reset Map/Mtl to Default Settings (Material Editor): Compact ➤ (Reset Map/Mtl to Default Settings) Reset Map/Mtl to Default Settings resets the values for the map or material in the active sample slot. The material colors are removed and set to shades of gray. Glossiness, opacity, and so on are reset to their default values. Maps assigned to the material are removed. Compact Material Editor | 6071 If you are at a map level, this button resets the map to default values. Reset changes the material name on page 6080 only when this field names a material used in the scene. Make Material Copy (Material Editor): Compact ➤ (Make Material Copy) Compact Material Editor menu bar ➤ Material menu ➤ Make Material Copy Make Material Copy "cools" on page 9126 the current hot on page 9186 sample slot by copying the material to itself. The sample slot is no longer hot, but the material retains its properties and name. You can adjust the material without affecting it in the scene. Once you've got what you want, you can click Put Material to Scene on page 6069 to update the material in the scene and change the sample slot to hot again. Make Unique (Compact Material Editor) (Material Editor): Compact ➤ (Make Unique) Make Unique makes a map instance on page 9195 into a unique copy. It also makes an instanced sub-material into a unique, standalone sub-material. It gives the sub-material a new material name. A sub-material is a material within a Multi/Sub-Object material on page 6542. Using Make Unique prevents changes to the top-level material instance from affecting the sub-material instance within the Multi/Sub-Object material. You can also use Make Unique at the map level, when a map is instanced to different components of the same material. 6072 | Chapter 17 Material Editor, Materials, and Maps NOTE If you drag an instanced map to a Material Editor sample slot, the Make Unique button will not be available, because it is not clear from the context what it would be unique relative to. Instead, you need to bring one of the parent maps or materials into the Material Editor, browse down into the map, and then make the map unique relative to that parent. Procedures Example: Create an instanced sub-material: 1 Create a box and a sphere. 2 Open the Compact Material Editor. 3 Choose a sample slot, click the Material Type button, choose Multi/Sub-Object in the Material/Map Browser, and then click OK. 4 Select the box, and then material to it. apply the new Multi/Sub-Object 5 Drag one of the Sub-Material buttons from the Material Editor to the sphere. 6 Choose a different sample slot, and use (Pick Material From Object) to get the sub-material applied to the sphere. At this point, the material applied to the sphere and the sub-material are instances of each other. 7 Go to the parameters for the instanced sub-material by clicking its Sub-Material button. 8 (Make Unique) is now available. Click it to make the sub-material unique again, and assign it a new material name. Make Unique is not available for the top-level instance of the sub-material. Compact Material Editor | 6073 Put to Library (Material Editor): Compact ➤ (Put to Library) Compact Material Editor menu bar ➤ Material menu ➤ Put to Library (Slate Material Editor: (Material/Map Browser Options) ➤ Choose Open Material Library. ➤ In the Browser, right-click a finished material (from the Autodesk Materials, Scene Materials, Sample Slots group, or from a custom group or library). ➤ Choose Copy To ➤ .) Put To Library adds the selected material to the current library. 3ds Max opens a Put To Library dialog on page 6075, which lets you enter a name for the material that’s different from the one you used in the Material Editor. The material becomes visible in the material library display in the Material/Map Browser on page 6167. The material is saved to the library file on disk. (You can also save a library by using the Save button in the Material/Map Browser.) Procedures To save a material in a library: 1 Click to select the sample slot that has the material you want to save. 2 On the Material Editor toolbar, click (Put To Library). 3 3ds Max opens a Put To Library dialog on page 6075. 4 Either change the material name or leave it as is, and then click OK. The material is saved in the currently open library. If no library is open, a new library is created. You can save the new library as a file using the Material/Map Browser on page 6167 file controls. 6074 | Chapter 17 Material Editor, Materials, and Maps Put to Library Dialog Compact Material Editor ➤ (Put To Library) The Put To Library dialog is displayed when you want to save the material in an active sample slot on page 6025 into a material library file. It lets you change the material's name before you save it. Interface Name Shows the name of the material to save. You can edit this name to save it under a different name. Material ID Channel Flyout (Material Editor): Compact ➤ Material ID Channel flyout (Slate Material Editor: Right-click a material node. ➤ Choose Material ID Channel.) The buttons on the Material ID Channel flyout tag a material as a target for a Video Post on page 7707 effect or a rendering effect on page 7515, or for storing with a rendered image saved in RLA on page 8453 or RPF on page 8455 file format (so that the channel value can be used in a post-processing application). The material ID value is the counterpart of a G-buffer value on page 9173 for objects. Compact Material Editor | 6075 Zero (0), the default, indicates that no material ID channel is assigned. A value from 1 to 15 means to apply a Video Post or rendering effect that uses this channel ID to this material. For example, you might want a material to glow wherever it appears in the scene. The material is in the Material Editor and the glow comes from a rendering effect. First, you add a Glow rendering effect on page 7531 and set it up so that it operates on ID 1. Use Material ID Channel to give the material an ID number of 1, then apply the material to objects in the scene in the usual way. To save the channel data with the rendering, use the RLA or RPF format. WARNING The mental ray renderer on page 7129 does not recognize Z-depth with G-buffers. G-buffer data is saved on a single layer. Also, the mental ray renderer does not support the following effects: ■ Glow lens effect on page 7531 (rendering effect) ■ Ring lens effect on page 7538 (rendering effect) ■ Lens effects Focus filter on page 7801 (Video Post) Procedures To assign a material ID channel to a material: ■ Choose a channel number from the Material ID Channel flyout. NOTE Giving a material a nonzero ID channel number tells the renderer to generate a material ID channel containing that value. This information is stored in images only if you save the rendered scene in RLA or RPF format. However, the ID channel data is available to rendering effects at render time. 6076 | Chapter 17 Material Editor, Materials, and Maps Show Standard/Hardware Map in Viewport (Material Editor): Compact ➤ Show Standard/Hardware Map in Viewport flyout Compact Material Editor menu bar ➤ Material menu ➤ Show Materials in Viewport As on page 134 Main 3ds Max menu ➤ Views menu ➤ Show Materials in Viewport As on page 134 (Slate Material Editor: Toolbar ➤ Show Standard/Hardware Map in Viewport flyout.) This control lets you switch between using software and hardware (DirectX 9.0c and above) for the viewport display, and also toggles the display of mapped materials on the surfaces of objects in shaded viewports with the interactive renderer on page 9343. The control for showing maps in viewports is a flyout with four possible states: ■ Show Standard Map in Viewport [off]: Uses the 3ds Max software display and disables viewport display of all maps for the active material. ■ Show Standard Map in Viewport [on]: Uses the 3ds Max software display and enables viewport display of all maps for the active material. ■ Show Hardware Map in Viewport [off]: Uses the hardware display and disables viewport display of all maps for the active material. ■ Show Hardware Map in Viewport [on]: Uses the hardware display and enables viewport display of all maps for the active material. For details, see Showing Maps in Viewports on page 6006. Compact Material Editor | 6077 Show End Result (Material Editor): Compact ➤ (Show End Result) Compact Material Editor menu bar ➤ Material menu ➤ Show End Result (Slate Material Editor: Right-click a material node. ➤ Choose Open Preview Window. ➤ Preview window ➤ (Show End Result).) Show End Result lets you look at the material at the level you're on instead of looking at the end result of all the other maps on page 9215 and settings. When this button is on, the sample slot shows the “end result”: the combination of all maps and shaders in the material tree. When this button is off, the sample slot shows only the current level of the material. This tool is useful when you are working with compound materials on page 9119. It would be difficult to see exactly what effect you're creating on a particular level if you didn't have the ability to turn off the display of the other levels. Go to Parent (Material Editor): Compact ➤ (Go to Parent) Compact Material Editor menu bar ➤ Navigation menu ➤ Go to Parent Go To Parent moves up one level in the current material. This button is available only when you are not at the top level of a compound material on page 9119. You can tell you're at the top level when this button is 6078 | Chapter 17 Material Editor, Materials, and Maps unavailable and the name in the edit field matches the name in the Material Editor title bar. A typical situation is one in which you have a material with a Diffuse map. The Material level is the parent and the Diffuse map is the child. The Go To Parent button becomes available at the level of the Diffuse map. TIP You can also navigate through the levels of a material with the Material/Map Navigator on page 6065. Go Forward to Sibling (Material Editor): Compact ➤ (Go Forward to Sibling) Compact Material Editor menu bar ➤ Navigation menu ➤ Go Forward to Sibling Go Forward To Sibling moves to the next map or material at the same level in the current material. This button is available only when you are not at the top level of a compound material on page 9119, and there is more than one map or material at the current level. A typical situation is one in which you have a material with a Diffuse map, a Bump map, and a Glossiness map. The Material level is the parent and the Diffuse map, Bump map, and Glossiness map are its children. Go Forward To Sibling becomes available at the level of the children and allows you to go from one to another. You can also navigate through the levels of a material with the Material/Map Navigator on page 6065. Pick Material From Object (Eyedropper) (Material Editor): Compact ➤ (Pick Material From Object) Compact Material Editor | 6079 Compact Material Editor menu bar ➤ Material menu ➤ Pick from Object (Slate Material Editor: Toolbar ➤ (Pick Material From Object).) Pick Material From Object lets you select a material from an object in the scene. Click the eyedropper button, and then move the eyedropper cursor over the objects in the scene. When the eyedropper cursor is over an object containing a material, it fills with "ink" and a tooltip with the name of the object pops up. Click the object. The material is placed in the active sample slot. If the material is already in the active sample slot, the eyedropper has no effect. If the eyedropper cursor is over an editable mesh on page 2190 with faces selected at the sub-object level, and the mesh has a Multi/Sub-Object material on page 6542 applied to it, then the eyedropper picks up the sub-material. However, if the selected faces have more than one sub-material assigned to them, then the eyedropper picks up the entire Multi/Sub-Object material. Name Field (Materials and Maps) (Material Editor): Compact ➤ Material Name field (Slate Material Editor: Double-click a material or map node. ➤ Parameter Editor panel ➤ Name field) The Name field displays the name of the material or map. Default material names are "01 − Default," and so on, the number changing to reflect the material's sample slot. Maps are named "Map #1," and so on. You can edit this field to change the name of the material in the active sample slot. You can also edit the names of maps and sub-materials assigned at lower levels of the map or material hierarchy. The name of the material is not a file name: it can contain spaces, numbers, and special characters. It can be of any length. This field also functions as a drop-down list. At the top level, it shows only the material or map name. At lower levels of the hierarchy, drop the list down to see the names of ancestors to the map or material. The top level is at the 6080 | Chapter 17 Material Editor, Materials, and Maps top of the list, the current level is at the bottom, and intermediate levels appear between them. Procedures To give a material a different name: ■ Edit the name field that appears below the Material Editor toolbar. The name of the active material appears in the title bar of the Material Editor dialog. Type Button (Materials and Maps) (Material Editor): Compact ➤ Type button Compact Material Editor menu bar ➤ Material menu ➤ Change Material/Map Type Click the Type button to display the Material/Map Browser on page 6167 and choose which material type or map type to use. Type button is at the right of the Material Editor, below the horizontal toolbar. When changing a material's type, the original material type is replaced unless you choose a compound material on page 9119, in which case 3ds Max opens a Replace Material dialog on page 6082. The Replace Material dialog lets you choose between discarding the original material or using it as a sub-material within the new material. For a standalone map (a map at the top level), clicking the Type button lets you change the map type instead of the material type. However, you can't use this button to make a map standalone. To make a standalone map, click Get Material on page 6068 and choose a map from the Browser it displays. When you change the type of a standalone map, 3ds Max opens a Replace Map dialog on page 6082. The Replace Map dialog lets you choose between discarding the original map or using it as a sub-map within the new map. Compact Material Editor | 6081 Replace Map Dialog Compact Material Editor ➤ Go to a map level or a standalone map. ➤ Type button ➤ Material/Map Browser ➤ Choose a compound map. The Replace Map dialog is displayed when you change a map type to any type of map that can have sub-maps. It gives you the choice of replacing the original ("old") map completely, or using the original map as a sub-map of the new map. Interface Discard old map Discards the old map. Keep old map as sub-map Retains the old map as a sub-map. Replace Material Dialog Compact Material Editor ➤ Type button ➤ Material/Map Browser ➤ Choose a compound material. The Replace Material dialog is displayed when you change a material type to one of the compound material types on page 6529. It gives you the choice of replacing the original ("old") material completely, or using the original material as a sub-material of the new material. 6082 | Chapter 17 Material Editor, Materials, and Maps Interface Discard old material Discards the old material. Keep old material as sub-material Retains the old material as a sub-material. Slate Material Editor The Slate Material Editor is a material editor interface that uses nodes and wiring to graphically display the structure of materials while you design and edit them. It is an alternative to the Compact Material Editor on page 6020. In general, the Slate interface is more versatile when you are designing materials, while the Compact interface is more convenient when you just need to apply materials that have already been designed. The Slate interface is a graphical interface with several elements. Most prominent are the Material/Map Browser on page 6167, where you can browse for materials, maps, and base material and map types on page 6168; the currently active View, where you can combine materials and maps; and the Parameter Editor, where you can change material and map settings. Slate Material Editor | 6083 1. Menu bar 2. Toolbar 3. Material/Map Browser 4. Status 5. Active View 6. View navigation 7. Parameter Editor 8. Navigator The main visual elements of this interface are where you do most of your work. ■ Material/Map Browser This panel is a modeless on page 9224 version of the Material/Map Browser on page 6167. To edit a material, drag it from the Material/Map Browser panel to the View. To create a new material or map, drag it from the Materials group or the Maps group. ■ Active View 6084 | Chapter 17 Material Editor, Materials, and Maps The currently active View is where you construct material trees by wiring maps or controllers to material components. See Material and Map Nodes in the Active View on page 6086. You can create a number of Views for the materials in your scene, and choose the active View from among them. See Creating and Managing Named Views on page 6142. ■ Parameter Editor The Parameter Editor is where you adjust detailed settings for maps and materials. See The Parameter Editor: Changing Material and Map Settings on page 6135. Floating or Docking Slate Material Editor Windows You can float Slate Material Editor windows, except for the View. To float a window such as the Material/Map Browser, Navigator, or Parameter Editor: ■ Drag the window’s title bar away from the window’s default location. To dock a floating window in its default location: ■ Double-click the window’s title bar. 3ds Max docks the window back in its default location, as shown in the illustration above. By default, each Preview window on page 6095 opens as a floating window. When you dock a preview window, it docks at the upper left of the Slate Material Editor dialog. Custom Configuration Files When you customize the Slate Material Editor interface, changes persist between sessions of 3ds Max. Material/Map Browser interface files have a MPL file name extension; for example, our_mental_ray_layout.mpl. Slate Material Editor layout is saved in the file docking.cfg. These files are saved in the application data folder; for example, \users\ \appdata\local\autodesk\3dsmax\2011 - 32bit\enu\sme\. To reset the appearance of the Material/Map Browser, you also can open the Options menu and choose Additional Options ➤ Reset Material/Map Browser. Slate Material Editor | 6085 NOTE The rendering in a Preview window does not remain valid between sessions of 3ds Max, or when you open a new scene. Procedure To view the Slate Material Editor: ■ On the main toolbar, click (Material Editor):Slate, or press M. Material and Map Nodes in the Active View When you edit materials and maps, these appear in the active View as “nodes” that you can wire together. Example of a material node To place a material or map node in the active View: ■ Find the material or map you want on the Material/Map Browser panel on page 6167, then drag its name or icon from the Material Pool into the active View. There are several components to a node: ■ The title bar shows a small preview icon, followed by the name of the material or map, and then the material or map type. ■ Below the title bar are “slots” that show components of the material or map. By default, the Slate Material Editor displays only slots that you can map. 6086 | Chapter 17 Material Editor, Materials, and Maps ■ To the left side of each slot, a circular “socket” is for input. ■ To the right of the entire node, a circular “socket” is for output. Input and output sockets 1. Input sockets to the material’s slots 2. Output socket for the entire material You can “collapse” a node to hide its slots, or “expand” it to show the slots. You can also resize a node horizontally, so the slot names are easier to read. Node display controls 1. Collapse/expand the node. 2. Resize the node. Slate Material Editor | 6087 Left: An open node (the open/close icon is a minus sign) Right: The same node after closing it (the open/close icon changes to a plus sign) Left: An open node Right: The same node after resizing it by dragging the resize icon You can enlarge the size of the preview in a node’s title bar by double-clicking the preview. To reduce the preview size, double-click the preview again. 6088 | Chapter 17 Material Editor, Materials, and Maps Left: A node with the default preview size Right: The preview has been enlarged by double-clicking it. (A second double-click returns to the small size.) Selecting, Moving, and Laying Out Nodes When a node is selected in the View, it shows a white border. When it is not selected, the border is gray. To select a node, make sure the Select tool on page 6154 is active, then click the node. To select multiple nodes, use Ctrl+click (Alt+click removes a node from the current selection), or drag a selection rectangle around the nodes. The Select menu on page 6146 has options for modifying the current selection. To deselect nodes, make sure the Select tool is active, then click a blank area of the View. Dragging a selected node moves it in the View. Shift+dragging a selected node clones that node. Ctrl+Shift+dragging a node clones the node and all the node’s children. These cloning methods also work for multiple selections. Slate Material Editor | 6089 There are a number of options for moving and laying out nodes: ■ Move Children (Options menu ➤ Move Children on page 6150) When this is on, moving a node moves its child nodes along with it. When it is off, moving a node moves only that node. Temporary shortcut: Ctrl+Alt+drag moves a node with its children, but doesn’t turn on the Move Children toggle. ■ Layout All - Vertical and Layout All - Horizontal (View menu ➤ Layout All on page 6149) Arrange all nodes in an automatic layout, along either a vertical or a horizontal axis. ■ Layout Children (View menu ➤ Layout Children on page 6149) Automatically lays out the children of the selected node. Hot and Cool Materials A material node is "hot" on page 9186 when the material in the node is assigned to one or more surfaces in the scene. When you use the Slate Material Editor to adjust a hot material node, the material in the scene changes at the same time. In the title bar of the node, the corners of the material preview indicate whether the material is a hot material: ■ ■ No triangles: The material is not used in the scene. Outlined white triangles: The material is hot. In other words, it is instanced in the scene. Changes you make to the material in the Slate Material Editor will change the material displayed in the scene. 6090 | Chapter 17 Material Editor, Materials, and Maps ■ Solid white triangles: The material is not only hot, but is applied to the currently selected object. A material is "cool" on page 9126 if it is not applied to any object in the scene. To make a hot material node cool, clone it by using Shift+drag or Ctrl+Shift+drag. This makes a copy of the material (or of the material plus its maps) that is not used in the scene. Procedures To give a material or map a different name, do one of the following: ■ In the Material/Map Browser ➤ Scene Materials group, or any library, right-click the name of the material and choose Rename. ■ In the active View, right-click the material node, and choose Rename. 3ds Max opens a Rename dialog, which lets you enter a new name for the material. The name of a material is not a file name: it can contain spaces, numbers, and special characters. To edit a material: ■ Drag the material from the Material/Map Browser ➤ Scene Materials group (or any library) to the active View. 3ds Max opens an Instance (Copy) dialog. Choose Instance, and then click OK. Slate Material Editor | 6091 To edit the settings of a material or map: ■ Double-click the node whose settings you want to edit. The rollouts for the material or map appear in the Parameter Editor, where you can change settings. To create a new material: ■ Drag the material from the Material/Map Browser ➤ Material group to the active View. 3ds Max places a node for the material in the active View. TIP When you create a new material, it is a good idea to give it a new name immediately. To make a copy of a material: ■ Drag the material from the Material/Map Browser ➤ Scene Materials group (or any library) to the active View. 3ds Max opens an Instance (Copy) dialog. Choose Copy, and then click OK. 6092 | Chapter 17 Material Editor, Materials, and Maps TIP When you create a copy of a material, it is a good idea to give it a new name immediately. To get a material from the scene: 1 On the Slate Material Editor toolbar, Object on page 6154). click (Pick Material From 2 In a viewport, click the object with the material you want to get. TIP In the Material/Map Browser on page 6167, the Scene Materials group always contains all the materials used in the scene. To apply a material to objects in a scene: ■ In the Slate Material Editor, drag from the material node’s output socket into a viewport, and drop the wire over the object. As you drag in the viewport, a tooltip appears over each object beneath the mouse, showing the object's name. You can apply the material whether the object is selected or not. Release the mouse to apply the material. Slate Material Editor | 6093 Dragging from a material node’s output socket to an object in the scene (The wire itself is not displayed in the viewport.) If the object isn't selected, or if it's the only object selected in the scene, the material is applied immediately. If the object is one of several selected objects in the scene, 3ds Max prompts you to choose whether to apply the material to the single object only or to the whole selection (the latter is the default choice). You can also apply a material to a selection by making a selection of scene objects, selecting the material node in the active View, then clicking (Assign Material to Selection on page 6154) on the Slate Material Editor toolbar. 6094 | Chapter 17 Material Editor, Materials, and Maps To remove a material from an object: 1 Select the object. 2 In the MAXScript Listener on page 8817, enter $.material=undefined. To select objects that have the same material applied: When a material in the Slate Material Editor is applied to objects in the scene, you can use the Slate Material Editor to select the objects. 1 In the active View, right-click the material node, then choose Select ➤ Select By Material. 3ds Max opens a Select Objects dialog on page 184. In the list of objects, all objects with this material assigned are highlighted. 2 Click Select to select those objects and close the Select Objects dialog. To add a map to the active View: ■ Drag the map from the Material/Map Browser ➤ Maps group, or any other group, to the active View. 3ds Max places a node for the map in the active View. Preview Window for Maps and Materials Slate Material Editor ➤ current View ➤ Right-click a material or map node. ➤ Open Preview Window. The Preview window for materials and maps helps you visualize how the material or map will appear in the scene. You can open any number of Preview windows. You can also use a single Preview window to display previews for all nodes in the active View, by using the drop-down list at the bottom of the Preview window. Procedures To display a Preview window: ■ Right-click the node, and from the pop-up menu, choose Open Preview Window. Slate Material Editor | 6095 To close a Preview window: ■ Click the X button in the upper-right corner of the window. To change the sample geometry used in the preview window: ■ Right-click a material node, and choose Preview Object Type ➤ Sphere (the default), Cylinder, or Box. Interface NOTE When you open a new scene, the Preview window remains on display, but it might not correspond to any material in the new scene: It is best if you close old previews before you choose New. When you close 3ds Max, all Preview windows are closed: They are not saved with the scene. Auto toggle / Update button When the Auto toggle is on, 3ds Max automatically renders the preview again when you make changes to the material or map settings. Default=on. When the Auto toggle is off, the Update button is enabled. Click Update to render the preview again, in order to see changes made to the material or map settings. 6096 | Chapter 17 Material Editor, Materials, and Maps Show End Result This button is enabled when the Preview window displays a map. When the button is off, the preview shows only the map itself. When the button is on, the preview shows the end result: that is, the map as it is used by the material. Preview rendering The main part of the Preview window is a rendering of the material or map, applied to a sample object. (You can change the sample object type: see Preview Object Type on page 6118.) You can resize the Preview window by dragging its edges or corners like any Windows window. Making the Preview window larger can help you visualize how a material will appear in the scene. However, larger windows take longer to render. Material/Map drop-down list The drop-down list at the bottom of the Preview window lets you choose any material or map that is currently in the View. Changing this selection changes the preview. The choice Follow Current Selection lets the preview show any material or map in the current View: As you click in the View to select material or map nodes, the preview shows the node you selected most recently. (If you select multiple nodes, the preview shows only the last node you selected before making a multiple selection.) Wiring Nodes To map a material component, you wire a map node to the input socket for that component’s slot. Drag from the map socket to the material socket. Slate Material Editor | 6097 A map node and a material node in the View 6098 | Chapter 17 Material Editor, Materials, and Maps Dragging from the map node’s output socket creates a wire. Slate Material Editor | 6099 Dropping the end of the wire on a slot’s input socket completes the wiring. Notice that the preview icon in the material node’s title bar now shows a texture map. The Slate Material Editor also adds a Bezier Float controller node to control the map Amount. While the Select tool is active, you can select a wire by clicking it, just as you select a node. The selected wire turns white. 3ds Max gives you a great variety in the way you can combine maps, so the map tree as it appears in the view can take various forms. 6100 | Chapter 17 Material Editor, Materials, and Maps A material with one map for diffuse color, and another for bump mapping Slate Material Editor | 6101 A material with a single map used for both diffuse and bump mapping Because some maps combine other maps, a material tree can have more than two levels. A four-level tree that uses Multi/Sub maps and a Composite map 6102 | Chapter 17 Material Editor, Materials, and Maps Procedures To apply a map to a material component: ■ Drag to create a wire between the map’s output socket and the input socket for the component slot. To remove a mapping, do one of the following: ■ In the View, click a map node to select the map, then click (Delete Selected) or press Delete. To replace the map, you will need to drag another map from the Material/Map Browser panel. Slate Material Editor | 6103 Before and after deleting a map ■ In the View, click the wire between the map and the material, then click (Delete Selected) or press Delete. The map node remains in the View, where you can reuse it. 6104 | Chapter 17 Material Editor, Materials, and Maps Before and after deleting a wire ■ Drag the wire away from the input socket where it has been connected. The map node remains in the View, where you can reuse it. Slate Material Editor | 6105 Before and after disconnecting a wire ■ Select an object, then in the MAXScript Listener on page 8817, enter $.material.diffusemap=undefined (the names of the map components vary with the material type: See the MAXScript Help for details). To replace the map, you will need to drag another map from the Material/Map Browser panel. Alternative Wiring Methods The Slate Material Editor gives you some alternative ways to wire a material tree. ■ You can drag from the parent to the child (that is, from the material slot to the map) as well as from the child to the parent. ■ Another way to create a child node is to double-click an unused input socket. This displays the Material/Map Browser on page 6167, which lets you choose a material or map type, as appropriate. The material or map you choose in the Browser becomes a new node in the Slate Material Editor. ■ If you drag to create a wire, but then release the mouse over an empty area of the View, 3ds Max displays a shortcut “context” menu on page 6170 that lets you create a new node of the appropriate type. 6106 | Chapter 17 Material Editor, Materials, and Maps Releasing a new wire over an empty part of the view opens a menu for creating a new node. (This version of the context menu does not include the Hide/Unhide Children choices that appear when you are not creating a wire.) TIP You can drag backward from an input socket as well as forward from an output socket. ■ If you drag the wire to the title bar of the target node, a pop-up menu lets you choose which component slot to wire. If the target node has only one socket appropriate to that material or map, 3ds Max doesn’t display the pop-up menu. Instead, it creates the wire immediately. Slate Material Editor | 6107 ■ If you drag the wire to a closed node, or a node that has hidden unused slots, 3ds Max temporarily opens the node so you can choose the socket to wire. After wiring is completed, 3ds Max closes the node again. ■ To replace one map with another, drag from the new map’s output socket to the output socket of the original map. This has the advantage that you don’t need to rewire all the input sockets that might be in use. ■ To insert a node into an existing wire, drag the node from the Material/Map Browser panel and drop it on the wire. The cursor changes to let you know you are inserting the node. Two nodes wired together 6108 | Chapter 17 Material Editor, Materials, and Maps The cursor indicates that the node you are dropping will be inserted into the wire. Slate Material Editor | 6109 A pop-up menu appears so you can choose which input socket to wire. 6110 | Chapter 17 Material Editor, Materials, and Maps The new node has been inserted into the wire. (Layout adjusted a bit for clarity) NOTE If you drag and drop a material in this way, it is not inserted into the wire. Instead, 3ds Max wires the map as an input to the material, and the material’s output socket remains free (not wired). Another way to insert a node is to drag from one of the node’s input sockets to the wire. Slate Material Editor | 6111 Two nodes wired together, and a “free” node to insert 6112 | Chapter 17 Material Editor, Materials, and Maps Dragging an input socket to the wire inserts the node. Slate Material Editor | 6113 After insertion A third way to do this is simply to drag the new node over the wire, and drop it when the insertion cursor appears. If the map could apply to more than one input slot, a pop-up menu prompts you to choose the slot you want. ■ To disconnect an inserted node, drag it, and then press the Alt key. If more than one of the inserted node’s input sockets is connected, a pop-up menu lets you choose which input socket to disconnect. Right-Click Menu for Material and Map Nodes Slate Material Editor ➤ current View ➤ Right-click a material or map node. ➤ Right-click menu Right-clicking a material or map node displays a menu that has a variety of options for displaying and managing the material or map. 6114 | Chapter 17 Material Editor, Materials, and Maps Procedures To assign a material ID channel to a material: ■ In the View, right-click a material node, and choose a channel number from the Material ID Channel submenu. NOTE Giving a material a nonzero ID channel number tells the renderer to generate a material ID channel containing that value. This information is stored in images only if you save the rendered scene in RLA or RPF format. However, the ID channel data is available to rendering effects at render time. Slate Material Editor | 6115 Interface Left: Right-click menu for a material Right: Right-click menu for a map Assign Material to Selection This choice appears only for material nodes. Assigns the current material to all objects in the current selection. Keyboard shortcut: A Menu choice: Material menu ➤ Assign Material to Selection Toolbar button: (Assign Material to Selection) 6116 | Chapter 17 Material Editor, Materials, and Maps Rename Opens a dialog that lets you rename the material or map. Edit Bitmap This choice appears only for map nodes that are Bitmaps on page 6636. If you have specified a bitmap editor such as Paint or Photoshop, choosing Edit Bitmap launches that editor and opens the current bitmap in the editor. You can specify a bitmap editor in the Slate Material Editor Options dialog on page 6150. _____ Open Preview Window Opens a Preview window on page 6095. Update Preview When Auto Update Preview is off, use this to update the preview in the title bar of the node. NOTE This choice affects only the title bar of the node. Open Preview windows have their own Auto/Update controls, which are independent of the node display. Auto Update Preview When on, changes to material settings automatically update the preview in the title bar of the node. Default=on. NOTE This toggle affects only the title bar of the node. Open Preview windows have their own Auto/Update controls, which are independent of the node display. When Auto Update Preview is turned off, a small “not” icon appears in the preview on the title bar of the node. Slate Material Editor | 6117 Preview icon when Auto Update is turned off Preview Object Type This choice appears only for material nodes. Lets you choose the sample object that appears in previews on page 6095: ■ Sphere (The default.) ■ Cylinder ■ Box NOTE This choice applies to both open Preview windows and the title bar of the material node. Show Background in Preview This choice appears only for material nodes. Turning on Show Background In Preview adds a multicolored checkered background to the Preview window on page 6095 for that material. The pattern background is helpful when you want to see effects of opacity and transparency. Default=off. NOTE This choice applies to both open Preview windows and the title bar of the material node. 6118 | Chapter 17 Material Editor, Materials, and Maps Left: Background on Right: Background off Toolbar button: (Show Background in Preview) Show Backlight This choice appears only for material nodes. When on, previews on page 6095 show a backlight. When off, the backlight is turned off. Default=on. NOTE This choice applies to both open Preview windows and the title bar of the material node. Slate Material Editor | 6119 Left: Backlight on Right: Backlight off The effect is most easily seen with the sample spheres, where the backlight highlights the lower-right edge of the sphere. Backlight is especially useful whenever you're creating metal on page 6400 and Strauss on page 6405 materials. Backlight lets you see and adjust the specular highlight created by glancing light, which is much brighter on metals. Preview UV Tiling This choice appears only for material nodes. Adjusts the repetition of the map on page 9215 pattern on the sample object in previews on page 6095. NOTE This choice applies to both open Preview windows and the title bar of the material node. 6120 | Chapter 17 Material Editor, Materials, and Maps 1x1, 2x2, and 3x3 sample tiling The tiling pattern you set with this option affects only previews. It has no effect on the tiling on the geometry in the scene, which you control with parameters in the map's own coordinates rollout. ■ 1x (The default.) Tile once in both the U and V dimensions. This is equivalent to no tiling at all. ■ 2x Tile twice in U and V. ■ 3x Tile three times in U and V. The choices specify the number of times the pattern repeats over the surface of the sample object. Because maps are mapped spherically around the sample sphere, the tiling on page 9328 repetition covers the entire surface of the sphere. The sample cylinder maps cylindrically. The sample box uses box mapping: The tiling appears on each side of the cube. _____ Show Standard Map in Viewport This choice appears only for map nodes. When on, 3ds Max displays the map in viewports. When off, viewports don’t show the map, and display only the material’s underlying color. Default=off. Toolbar button: (Show Map in Viewport) Show Hardware Map in Viewport Uses the hardware display and enables viewport display of all maps for the active material. Default=off. Slate Material Editor | 6121 Material ID Channel The choices on this submenu tag a material as a target for a Video Post on page 7707 effect or a rendering effect on page 7515, or for storing with a rendered image saved in RLA on page 8453 or RPF on page 8455 file format (so that the channel value can be used in a post-processing application). The material ID value is the counterpart of a G-buffer value on page 9173 for objects. Zero (#0), the default, indicates that no material ID channel is assigned. A value from #1 to #15 means to apply a Video Post or rendering effect that uses this channel ID to this material. For example, you might want a material to glow wherever it appears in the scene. The material is in the Material Editor and the glow comes from a rendering effect. First, you add a Glow rendering effect on page 7531 and set it up so that it operates on ID #1. Use Material ID Channel to give the material an ID number of #1, then apply the material to objects in the scene in the usual way. To save the channel data with the rendering, use the RLA or RPF format. WARNING The mental ray renderer on page 7129 does not recognize Z-depth with G-buffers. G-buffer data is saved on a single layer. Also, the mental ray renderer does not support the following effects: ■ Glow lens effect on page 7531 (rendering effect) ■ Ring lens effect on page 7538 (rendering effect) ■ Lens effects Focus filter on page 7801 (Video Post) _____ Select ■ Select Children Selects the children of the node you right-clicked. ■ Deselect Children Deselects the children of the node you right-clicked. ■ Select Tree Selects all nodes that belong to the tree whose node you right-clicked. ■ Select by Material (This choice appears only for material nodes.) Select By Material allows you to select objects based on the active material in the Material Editor. Choosing this command opens the Select Objects dialog, which works like Select From Scene on page 184. All objects that have the selected material applied to them are highlighted in the list. 6122 | Chapter 17 Material Editor, Materials, and Maps NOTE Hidden objects don't appear in this list, even if the material is applied to them. However, in the Material/Map Browser on page 6167, you can choose Browse From: Scene, turn on By Object, and then browse from the scene. This lists all objects in the scene, hidden and unhidden, along with their assigned materials. Toolbar button: (Select by Material) Layout Children Automatically arranges the layout of the children of the currently selected node. Keyboard shortcut: C Menu choice: View ➤ Layout Children Toolbar button: (Layout Children) Hide Child Tree When on, the View hides children of the currently selected node. When off, child nodes are displayed. Default=off. When child nodes are hidden, you can tell which slots have maps, because their sockets are displayed in green instead of blue. Slate Material Editor | 6123 Green-colored sockets indicate that even though child nodes are hidden, the first two slots of this material have a map. _____ Hide Unused Nodeslots For a selected node, toggles display of the unused slots when the node is open. Keyboard shortcut: H Menu choice: View ➤ Hide Unused Nodeslots 6124 | Chapter 17 Material Editor, Materials, and Maps Toolbar button: (Hide Unused Nodeslots) Hide/Show All Maps Hides or shows all map slots for this node. Hide/Show All Additional Params Hides or shows the Additional Param[eter]s section for this node. Hide/Show All mr Connection Hides or shows the mr Connection on page 6215 section for this node. Show/Hide Slots Displays submenus that let you choose which material or map components to display as node slots. ■ Maps (Appears only for materials, and for maps that have mappable components themselves.) This submenu lists the individual mappable components of the material or map. Choose a component to either hide it or display it. ■ Additional Params This submenu lists the additional, nonmappable settings for the material or map. Choose a component to either hide it or display it. ■ mr Connection This submenu lists the additional mental ray connection on page 6215 settings for the material. When Additional Parameters or mr Connection settings are displayed, they have their own Open/Close (+/–) icon, like the node itself. Slate Material Editor | 6125 A node with the Additional Params displayed but closed 6126 | Chapter 17 Material Editor, Materials, and Maps The same node with the list of Additional Params ➤ Shader Basic Params group opened Slate Material Editor | 6127 NOTE You can edit the value of additional parameters in the node display itself. In general, though, it is easier to edit parameters using the The Parameter Editor: Changing Material and Map Settings on page 6135. Both the Maps and Additional Params submenus have two choices that follow the individual component entries: ■ Show All Shows all maps or additional parameters. ■ Hide All Hides all maps or additional parameters. _____ Curve Editor Opens the Curve Editor on page 3986. If the material or map has animation, the animated track is displayed. If the material or map has multiple animated tracks, only the first is displayed, and you must navigate in the Controller window on page 3833 to find the others. Dope Sheet Opens the Dope Sheet on page 3842. If the material or map has animation, the animated track is displayed. If the material or map has multiple animated tracks, only the first is displayed, and you must navigate in the Controller window on page 3833 to find the others. Controller Nodes In addition to materials and maps, the Material/Map Browser panel has entries for controllers, allowing you to animate materials. Example of a controller node NOTE The Create Controllers group in the Material/Map Browser doesn’t appear when you open a modal Browser from the Compact Material Editor on page 6020 or the Environment And Effects dialog on page 7514. 6128 | Chapter 17 Material Editor, Materials, and Maps To use a controller node, add it to the active View by dragging it from the Material/Map Browser on page 6167. Then wire the controller to the material or map parameter that you want to animate. Although by default the Slate Material Editor doesn’t show “additional parameters that can’t be mapped, when you use controllers, you probably want to display these: see Show/Hide Slots on page 6125. The Slate Material Editor automatically adds controller nodes when you add certain map types. For example, when you wire a Bitmap to a material, a Bezier Float controller for the map Amount parameter also appears. Controller node wired to a (nonmappable) scalar parameter When you wire nodes, and the input socket you choose isn’t appropriate for the output being wired, 3ds Max displays the socket in red, and doesn’t complete the wiring. This can happen with maps as well, but it happens more often for controllers. In the illustration, for example, the controller generates a single scalar value, so you can’t use it to control a three-value setting such as a color. Slate Material Editor | 6129 Attempting to wire a 1-value output to a 3-value input Animating Controller Values Controllers provide a number of ways to animate the settings of a material or map. Most of these methods are standard 3ds Max techniques: ■ Turn on controller value. (Auto Key) then at various frames, change the 6130 | Chapter 17 Material Editor, Materials, and Maps NOTE Unless the material is applied to an object in the scene that is currently selected, you won’t see the new keys on the track bar. ■ Turn on (Set Key), then at various frames, change the controller value and then right-click the node and choose Add Key to create a key for the controller value. With this method, you use right-click ➤ Add Key instead of (Set Keys), because by default, the button sets only transform keys. NOTE Unless the material is applied to an object in the scene that is currently selected, you won’t see the new keys on the track bar. ■ Use the controller’s properties dialog, if it has one, to set up animation. TIP To see the properties dialog, right-click the controller node. ■ Use Track View on page 3827 to adjust the animation. TIP You can launch either the Curve Editor or the Dope Sheet by right-clicking the controller node and choosing which version of Track View to display. Right-Click Menu for Controller Nodes The right-click menu for controller nodes is similar to the right-click menu for material and map nodes, but it has some additional choices for creating animation. Slate Material Editor | 6131 Interface Rename Opens a dialog that lets you rename the controller. _____ Add Key Adds a key for the controller value at the current frame. The (Set Key) button should be active. As elsewhere in the 3ds Max interface, an animated value is shown with red brackets around it. Properties If the controller has an associated properties dialog, this choice displays that dialog. If it does not, this choice is unavailable. 6132 | Chapter 17 Material Editor, Materials, and Maps This choice is also available for controllers without a properties dialog, if there is a key at the current frame. In this case, 3ds Max opens a Key Info dialog for the current key. For information about the controls on this dialog, see Key Info (Basic) Rollout/Dialog on page 3447 and Key Info (Advanced) Rollout/Dialog on page 3451. Shortcut: Double-click the controller node to open the properties dialog. Delete Key If the value has a key at the current frame, you can choose Delete Key to remove the key. If there is no key at the current frame, this choice is not available. _____ Select ■ Select Children Selects children of the node you right-clicked. ■ Deselect Children Deselects children of the node you right-clicked. ■ Select Tree Selects all nodes that belong to the tree whose node you right-clicked. ■ Select by Material (This choice appears only for material nodes.) Select By Material allows you to select objects based on the active material in the Material Editor. Choosing this command opens the Select Objects dialog, which works like Select From Scene on page 184. All objects that have the selected material applied to them are highlighted in the list. Slate Material Editor | 6133 NOTE Hidden objects don't appear in this list, even if the material is applied to them. However, in the Material/Map Browser on page 6167, you can choose Browse From: Scene, turn on By Object, and then browse from the scene. This lists all objects in the scene, hidden and unhidden, along with their assigned materials. Toolbar button: Select by Material Layout Children Automatically lays out the children of the currently selected node. This does not change the position of the parent node. Keyboard shortcut: C Menu choice: View ➤ Layout Children Toolbar button: Layout Children Hide Child Tree When on, the View hides children of the currently selected node. When off, child nodes are displayed. Default=off. When child nodes are hidden, you can tell which slots have maps, because their sockets are displayed in green instead of blue. _____ Hide Unused Nodeslots For a selected node, toggles display of the unused slots when the node is open. Keyboard shortcut: H Menu choice: View ➤ Hide Unused Nodeslots Toolbar button: Hide Unused Nodeslots Hide/Show All Params Hides or shows the parameters for the controller node. Show/Hide Slots Displays submenus that let you choose which material or map components to display as node slots. ■ Params For controller nodes, this submenu lists the parameters that the controller generates. Choose a parameter to either hide it or display it. 6134 | Chapter 17 Material Editor, Materials, and Maps The Params submenu has two choices that follow the individual parameter entries: ■ Show All Shows all parameters. ■ Hide All Hides all parameters. _____ Move Tree to View Moves the material tree to which the controller belongs to the named View on page 6142 you choose from the submenu. If there is only one view, this option doesn’t appear on the menu. _____ Curve Editor Opens the Curve Editor on page 3986 with the controller node’s output parameter displayed. Dope Sheet Opens the Dope Sheet on page 3842 with the controller node’s output parameter displayed. The Parameter Editor: Changing Material and Map Settings Materials and maps have various parameters you can adjust. To see the parameters for a bitmap or node, double-click the node. The parameters appear in the Parameter Editor. The parameters appear on rollouts on page 8569 in the Parameter Editor. Slate Material Editor | 6135 Left: Controls for a material node in the Parameter Editor Right: Controls for a Bitmap node in the Parameter Editor Another way to see the parameters of a child node is to double-click the input socket to which the child node is wired. You can toggle display of the Parameter Editor, so when you want to change material or map settings, look at the toolbar to make sure the Parameter Editor toggle is on. NOTE You can also edit parameters directly in the node display itself. See Show/Hide Slots on page 6125. In general, the Parameter Editor interface is easier to read and to use. By default, nonmappable components are hidden in the node display. 6136 | Chapter 17 Material Editor, Materials, and Maps Navigating the Active View The controls for navigating the active View in the Slate Material Editor are similar to those for navigating geometry in 3ds Max viewports. See also: ■ View Menu on page 6147 ■ Slate Material Editor Toolbar on page 6154 Mouse Options If your mouse has a middle mouse button or a wheel, you can use these controls to navigate the active View, even while the Select tool on page 6147 is active: ■ Dragging with the middle mouse button temporarily pans the view. ■ Ctrl+Alt+drag with the middle mouse button temporarily zooms the view. ■ Using the wheel temporarily zooms the view. TIP While you use one of the modal on page 9224 navigation tools (Pan on page 6140, Zoom on page 6140, or Zoom Region on page 6140), you can right-click to return to the Select tool on page 6147. Navigator Window The Navigator window appears by default in the upper-right corner of the Slate Material Editor dialog. It shows you a map of the active View. The Navigator showing a centered layout Slate Material Editor | 6137 The corresponding layout in the active View The red rectangle in the Navigator shows the border of the active View. Dragging the rectangle in the Navigator changes the View layout. Moving the View border in the Navigator to change the layout 6138 | Chapter 17 Material Editor, Materials, and Maps The corresponding layout change in the active View The Navigator is most useful when you have a lot of material trees displayed in the active View. You can toggle display of the Navigator by a choice on the Tools menu on page 6153. Navigation Buttons The navigation buttons appear at the extreme lower right of the Slate Material Editor dialog, on the status bar. NOTE To use the Slate Material Editor keyboard shortcuts for menu, toolbar, and navigation commands, the main toolbar ➤ Keyboard Shortcut Override Toggle must be turned on. Zoom percentage drop-down list The text field at the top of this list shows the current zoom level as a percentage. You can choose a value from Slate Material Editor | 6139 the list to change the zoom level. If you want a zoom level not shown in the list, you also can type a zoom level value in the text field. When you use other navigation tools such as Zoom or Zoom Extents, the value in the text field updates to show the current zoom level. Pan Tool Turns on the Pan tool so dragging in the current View pans the View. The Pan tool remains active until you choose another modal on page 9224 navigation tool, or turn the Select tool on page 6147 on again. Keyboard shortcut: Ctrl+P Menu choice: View ➤ Pan Tool Zoom Tool Turns on the Zoom tool so dragging in the current View zooms the View. The Zoom tool remains active until you choose another modal on page 9224 navigation tool, or turn the Select tool on page 6147 on again. Keyboard shortcut: Alt+Z Menu choice: View ➤ Zoom Tool Zoom Region Tool Turns on the Zoom Region tool so you can drag a rectangular region in the View to zoom in on that region. The Zoom Region tool remains active until you choose another modal on page 9224 navigation tool, or turn the Select tool on page 6147 on again. Keyboard shortcut: Ctrl+W Menu choice: View ➤ Zoom Region Tool Zoom Extents Zooms the View so all nodes in the view are visible and centered. Keyboard shortcut: Ctrl+Alt+Z Menu choice: View ➤ Zoom Extents Zoom Extents Selected Zooms the View so all selected nodes in the view are visible and centered. 6140 | Chapter 17 Material Editor, Materials, and Maps Keyboard shortcut: Z Menu choice: Zoom Extents Selected Pan to Selected Pans the View to the currently selected node. Keyboard shortcut: Alt+P Menu choice: View ➤ Pan to Selected Searching the Active View The active View contains a search tool to help you find material, map, and controller nodes. At the lower-left corner of the active View is a button, Nodes). Click this button to expand the search tool. (Search For In the text field, enter the name of a node you want to find. The View Search tool locates names that begin with the characters you type. The search is not case-sensitive. When the Search tool locates a name, the text in the text field becomes bold, and the (Zoom To Results) button becomes active: . Click (Zoom To Results) to zoom to the node or nodes that the Search tool has found. If you no longer need to use the Search tool, you can collapse it back to the (Search For Nodes) button by clicking the the right of the Search tool. (Close) button at Slate Material Editor | 6141 Creating and Managing Named Views You can create a number of different Views for the materials in your scene, and choose the active View from among them. This can be convenient if you have a complex scene, or complex materials in the scene. When you open the Slate Material Editor in a new scene, there is a single View named View1. You can rename this view, or create others. NOTE A View name must begin with a letter, but otherwise it can contain numbers, spaces, and punctuation. Each named View has a tab, and you can click the tabs to move among the Views. NOTE On each tab, the name might be abbreviated, but the full name appears in a tooltip when you move the mouse over the tab. Keyboard shortcut: Ctrl+Tab cycles among the current named Views. If you drag nodes while using Ctrl+Tab, the material tree you are dragging is placed in the View that is active when you release the mouse. To manage Views, right-click one of the tabs, and use the pop-up menu on page 6142 that appears. Another way to move among Views is to choose one from the drop-down list at the far right of the Slate Material Editor toolbar on page 6154. View Tab Right-Click Menu To manage named Views, right-click one of the View tabs. 3ds Max opens a pop-up menu with choices for managing Views. 6142 | Chapter 17 Material Editor, Materials, and Maps If you right-click the blank area to the right of the named View tabs, the pop-up menu has only a single choice: Create New View. Interface Rename View Opens a dialog that lets you rename the View. NOTE A View name must begin with a letter, but otherwise it can contain numbers, spaces, and punctuation. Delete View Deletes the active named View. 3ds Max displays a warning that asks if you really want to do this. _____ Move Tab Left Moves the tab for the View on page 6142 one position to the left. Shortcut: Drag a tab along the tab bar to reposition that tab. Move Tab Right Moves the tab for the View on page 6142 one position to the right. Shortcut: Drag a tab along the tab bar to reposition that tab. Slate Material Editor | 6143 _____ Create New View Opens a dialog that lets you create a new named View. NOTE A View name must begin with a letter, but otherwise it can contain numbers, spaces, and punctuation. Slate Material Editor Menu Bar The Slate Material Editor menu bar contains menus with various choices for creating and managing the materials in your scene. Many of the menu choices are also accessible from toolbar or navigation buttons, so these topics show the button alternative along with the menu choice. NOTE To use the Slate Material Editor keyboard shortcuts for menu, toolbar, and navigation commands, the main toolbar ➤ Keyboard Shortcut Override Toggle must be turned on. Modes Menu Slate Material Editor ➤ Menu bar ➤ Modes menu Lets you choose which Material Editor interface is active. 6144 | Chapter 17 Material Editor, Materials, and Maps Interface Compact Material Editor Displays the Compact Material Editor interface on page 6020. Slate Material Editor Displays the Slate Material Editor interface on page 6083. Material Menu Slate Material Editor ➤ Menu bar ➤ Material menu The Material menu lets you create a material, choose an existing material, or assign a material to objects. Some menu choices are also accessible from toolbar or navigation buttons, so this topic shows the button alternative along with the menu choice. Interface Pick from Object After you choose this option, 3ds Max displays an eyedropper cursor. Click an object in a viewport to display its material in the current View. Get All Scene Materials Displays all scene materials in the current View. _____ Assign Material to Selection Assigns the current material to all objects in the current selection. NOTE You can also drag from the material node’s output socket and drop it on an object or a selection of objects. See To apply a material to objects in a scene on page 6093. Keyboard shortcut: A Export MetaSL Material Opens a file dialog that lets you export the current material to a MetaSL (XMSL) file on page 9356. This option is enabled only when you have selected a Map To Material Conversion node on page 6378: Typically, this node will be the parent of a shader tree whose children are MetaSL shaders. Slate Material Editor | 6145 Edit Menu Slate Material Editor ➤ Menu bar ➤ Edit menu The Edit menu has commands for editing the currently active View on page 6084, and for updating material Preview windows on page 6095. Some menu choices are also accessible from toolbar or navigation buttons, so this topic shows the button alternative along with the menu choice. Interface Delete Selected In the active View, deletes the selected nodes or wires. Keyboard shortcut: Del Clear View Deletes all nodes and wires in the active View. 3ds Max displays a warning that asks if you really want to do this. _____ Update Selected Previews When Auto Update is off, choose this to update the Preview windows on page 6095 for selected nodes. Keyboard shortcut: U Auto Update Selected Previews Toggles automatic update of the selected Preview windows on page 6095. Keyboard shortcut: Alt+U Select Menu Slate Material Editor ➤ Menu bar ➤ Select menu The Select menu is for managing the selection in the current View. Some menu choices are also accessible from toolbar or navigation buttons, so this topic shows the button alternative along with the menu choice. 6146 | Chapter 17 Material Editor, Materials, and Maps Interface Select Tool Activates the Select tool. While Select is active, this menu choice has a check mark by it. (Select is always active unless you have chosen one of the modal on page 9224 navigation tools such as Zoom or Pan.) Keyboard shortcut: S _____ Select All Selects all nodes in the current View. Keyboard shortcut: Ctrl+A Select None Deselects all nodes in the current View. Keyboard shortcut: Ctrl+D Select Invert Inverts the current selection: selected nodes are deselected, and those that weren’t, are now selected. Keyboard shortcut: Ctrl+I _____ Select Children Selects all child nodes of the currently selected nodes. Keyboard shortcut: Ctrl+C Deselect Children Deselects all child nodes of the currently selected node. Select Tree Selects all nodes in the current tree. If the initial selection is a material node, this choice is equivalent to choosing Select Children. You can also initially select a map node, and then use Select Tree to select the whole material tree. Keyboard shortcut: Ctrl+T View Menu Slate Material Editor ➤ Menu bar ➤ View menu The View menu is for navigating the current View. Some menu choices are also accessible from toolbar or navigation buttons, so this topic shows the button alternative along with the menu choice. Slate Material Editor | 6147 Interface Pan Tool Turns on the Pan tool so dragging in the current View pans the View. The Pan tool remains active until you choose another modal on page 9224 navigation tool, or turn the Select tool on page 6147 on again. Keyboard shortcut: Ctrl+P Pan to Selected Pans the View to the currently selected node. Keyboard shortcut: Alt+P _____ Zoom Tool Turns on the Zoom tool so dragging in the current View zooms the View. The Zoom tool remains active until you choose another modal on page 9224 navigation tool, or turn the Select tool on page 6147 on again. Keyboard shortcut: Alt+Z Zoom Region Tool Turns on the Zoom Region tool so you can drag a rectangular region in the View to zoom in on that region. The Zoom Region tool remains active until you choose another modal on page 9224 navigation tool, or turn the Select tool on page 6147 on again. Keyboard shortcut: Ctrl+W Zoom Extents Zooms the View so all nodes in the view are visible and centered. Keyboard shortcut: Ctrl+Alt+Z Zoom Extents Selected Zooms the View so all selected nodes in the view are visible and centered. Keyboard shortcut: Z 6148 | Chapter 17 Material Editor, Materials, and Maps _____ Show Grid Toggles display of a grid as the View background. Default=on. Keyboard shortcut: G Show Scrollbars Toggles display of scrollbars at the right side and bottom of the View, as needed. Default=off. Layout All Automatically arranges the layout of all nodes in the View. The layout can be either horizontal or vertical, depending on the current layout choice on page 6157 on the toolbar. Keyboard shortcut: L Layout Children Automatically arranges the layout of the children of the currently selected node. This does not change the position of the parent node. Keyboard shortcut: C _____ Open / Close Selected Nodes Opens (expands) or closes (collapses) the selected nodes. Auto Open Nodeslots When on, all newly created nodes are open (expanded). When off, newly created nodes are closed (collapsed). Default=on. Hide Unused Nodeslots For a selected node, toggles display of the unused slots when the node is open. Keyboard shortcut: H Options Menu Slate Material Editor ➤ Menu bar ➤ Options menu The Options menu has further choices for managing the Slate Material Editor. Some menu choices are also accessible from toolbar or navigation buttons, so this topic shows the button alternative along with the menu choice. Slate Material Editor | 6149 Interface Move Children When on, moving a parent node moves the child nodes along with the parent. When off, moving a parent node doesn’t change the children’s position. Default=off. Keyboard shortcut: Alt+C Temporary shortcut: Ctrl+Alt+drag moves a node with its children, but doesn’t turn on the Move Children toggle. Propagate Materials to Instances When on, any material assignment you make is propagated to all instances on page 9195 of the object in your scene, including imported AutoCAD blocks and ADT style-based objects; these object types are common in DRF files on page 8178. Assignments are also propagated to instances of Revit objects and of other instances that you've made in the current scene. When Propagate Materials To Instances is off, materials are assigned in traditional 3ds Max fashion: each object has a unique material assignment. Default=off. Enable Global Rendering Toggles the rendering of bitmaps in Preview windows on page 6095. Default=on. For example, when this option is on, a Preview window is rendered automatically when you resize it. Turning this option off turns off automatic rendering. This can save some time when you’re working with a large number of materials. Keyboard shortcut: Ctrl+Alt+U _____ Preferences Opens the Slate Material Editor Options dialog on page 6150. Options Dialog (Slate Material Editor) Slate Material Editor ➤ Menu bar ➤ Options menu ➤ Preferences The Options dialog for the Slate Material Editor lets you set some global preferences about the editor’s behavior. 6150 | Chapter 17 Material Editor, Materials, and Maps Interface Node Layout Direction group The layout direction affects the overall layout of each material tree. ■ left -> right (The default.) When chosen, the input sockets of a node are on the left, and the node’s output socket is on the right. ■ right -> left When chosen, the input sockets of a node are on the right, and the node’s output socket is on the left. Node Options group Show Additional Parameters When on, by default an open node shows “additional” parameters. When off, by default an open node shows only mappable parameters. Default=off. Slate Material Editor | 6151 You can use a node’s right-click menu to display or hide additional parameters for that individual node. Show MR-Connection When on, by default an open node shows mental ray Connection parameters on page 6215. Default=on. You can use a node’s right-click menu to display or hide mental ray Connection parameters for that individual node. General Options group Use Antialiased Fonts When on, headings and parameter names in a node are displayed using antialiased fonts. When off, headings and parameters names in a node are displayed using hard-edged fonts, which are slightly smaller than the antialiased version. Default=off. Multi/Sub Material Options group Number of Sub-Materials Sets the default number of sub-materials for a new Multi/Sub-Object material on page 6542. Default=10. You can use the Set Material button to change the number of sub-materials in an individual Multi/Sub-Object material node. Empty Sub-Material Slots When off, creating a new Multi/Sub-Object material on page 6542 also creates a new Standard material on page 6382 for each default sub-material. When on, no new sub-materials are created. Default=off. Turning off this option can be convenient when you want the sub-materials to consist of individual materials you have already created. Grid Options group Grid Size Sets the grid size, in units that are local to the Slate Material Editor. Default=20. Snap Post to Grid When on, moving a node snaps the node to the nearest grid corner. When off, the node does not snap. Default=on. Snap Size to Grid When on, resizing a node snaps the node size to the nearest grid corner. When off, the node size does not snap. Default=on. Bitmap Editor Path group These controls let you specify a bitmap editor, such as Paint or Photoshop, to use when you edit bitmaps in your scene. ■ Use the text field to type in the path and name of the bitmap editing application. 6152 | Chapter 17 Material Editor, Materials, and Maps ■ Click the button with an ellipsis to open a file dialog that lets you browse to the application you want to use. To edit a bitmap, right-click the Bitmap node on page 6636, and choose Edit Bitmap. _____ Use Compatibility Display Mode (for display problems with older graphic card drivers) If you notice problems with the Slate Material Editor display, and your system uses an older graphics card, turn on this option to improve the Slate Material Editor appearance. Default=off. Tools Menu Slate Material Editor ➤ Menu bar ➤ Tools menu The Tools menu toggles display of some of the Slate Material Editor interface components. Some menu choices are also accessible from toolbar or navigation buttons, so this topic shows the button alternative along with the menu choice. Interface Material/Map Browser Toggles display of the Material/Map Browser on page 6167. Default=on. Keyboard shortcut: O Parameter Editor Toggles display of the Parameter Editor on page 6135. Default=on. Keyboard shortcut: P Navigator Toggles display of the Navigator on page 6137. Default=on. Keyboard shortcut: N Slate Material Editor | 6153 Slate Material Editor Toolbar The Slate Material Editor toolbar gives quick access to a number of commands. Some of the commands are also available from the Slate Material Editor menus. The toolbar also has a drop-down list that lets you choose among named Views. NOTE To use the Slate Material Editor keyboard shortcuts for menu, toolbar, and navigation commands, the main toolbar ➤ Keyboard Shortcut Override Toggle must be turned on. Interface Select Tool Activates the Select tool. (Select is always active unless you have chosen one of the modal on page 9224 navigation tools such as Zoom or Pan.) Keyboard shortcut: S Menu choice: Select ➤ Select Tool Pick Material from Object After you click this button, 3ds Max displays an eyedropper cursor. Click an object in a viewport to display its material in the current View. Menu choice: Material ➤ Pick from Object Assign Material to Selection Assigns the current material to all objects in the current selection. See To apply a material to objects in a scene on page 6093. Keyboard shortcut: A Menu choice: Material ➤ Assign Material to Selection 6154 | Chapter 17 Material Editor, Materials, and Maps Delect Selected In the active View, deletes the selected nodes or wires. Keyboard shortcut: Del Menu choice: Edit ➤ Delete Selected Move Children When on, moving a parent node moves the child nodes along with the parent. When off, moving a parent node doesn’t change the children’s position. Default=off. Keyboard shortcut: Alt+C Temporary shortcut: Ctrl+Alt+drag moves a node with its children, but doesn’t turn on the Move Children toggle. Menu choice: Options ➤ Move Children Hide Unused Nodeslots For a selected node, toggles display of the unused slots when the node is open. When are hidden. Default=off. on, unused nodes slots Keyboard shortcut: H Menu choice: View ➤ Hide Unused Nodeslots Show Map in Viewport The control for showing maps in viewports is a flyout with four possible states: ■ Show Standard Map in Viewport [off]: Uses the 3ds Max software display and disables viewport display of all maps for the active material. ■ Show Standard Map in Viewport [on]: Uses the 3ds Max software display and enables viewport display of all maps for the active material. ■ Show Hardware Map in Viewport [off]: Uses the hardware display and disables viewport display of all maps for the active material. Slate Material Editor | 6155 ■ Show Hardware Map in Viewport [on]: Uses the hardware display and enables viewport display of all maps for the active material. For details, see Showing Maps in Viewports on page 6006. If a map node is active when you click this button, and the map is assigned to more than one material (or more than one component of the same material), the Slate Material Editor opens a pop-up menu that lets you choose the material for which the map will be displayed or hidden in viewports. Show Background in Preview This button is enabled only when you have selected a single material node. Turning on Show Background In Preview adds a multicolored checkered background to the Preview window on page 6095 for that material. The pattern background is helpful when you want to see effects of opacity and transparency. Left: Background on Right: Background off 6156 | Chapter 17 Material Editor, Materials, and Maps Layout flyout This flyout lets you choose the orientation of automatic layout in the active View. ■ Layout All - Vertical (The default.) Click to lay out all nodes automatically in a vertical pattern. ■ Layout All - Horizontal Click to lay out all nodes automatically in a horizontal pattern. Menu choice: View ➤ Layout All (The orientation used by the menu choice depends on which button is active on this flyout.) Layout Children Automatically lays out the children of the currently selected node. This does not change the position of the parent node. Keyboard shortcut: C Menu choice: View ➤ Layout Children Material/Map Browser Toggles display of the Material/Map Browser on page 6167. Default=on. Keyboard shortcut: O Menu choice: Tools ➤ Material/Map Browser Parameter Editor Toggles display of the Parameter Editor on page 6135. Default=on. Keyboard shortcut: P Menu choice: Tools ➤ Parameter Editor Slate Material Editor | 6157 Select by Material This button is enabled only when you have selected a single material node. Select By Material allows you to select objects based on the active material in the Material Editor. Choosing this command opens the Select Objects dialog, which works like Select From Scene on page 184. All objects that have the selected material applied to them are highlighted in the list. NOTE Hidden objects don't appear in this list, even if the material is applied to them. However, in the Material/Map Browser on page 6167, you can choose Browse From: Scene, turn on By Object, and then browse from the scene. This lists all objects in the scene, hidden and unhidden, along with their assigned materials. Named View drop-down list This drop-down list lets you choose the active View from a list of named Views on page 6142. Moving Materials, Maps, and Colors About the Scene In addition to editing materials and maps with Material Editor, 3ds Max provides a variety of ways to copy or move materials, maps, and colors about the scene. Copying and Pasting Materials, Maps, Bitmaps, and Colors Material Editor ➤ Right-click a sub-material button, map button, bitmap button, or color swatch. Elsewhere in the user interface ➤ Right-click a map button or color swatch. A set of right-click pop-up menus in the Material Editor (and elsewhere in the 3ds Max interface) lets you copy and paste, and otherwise manage materials, maps, bitmaps, and colors. 6158 | Chapter 17 Material Editor, Materials, and Maps You see these menus only if copy and paste actions are appropriate. For example, if you copy a material and then right-click a map button, nothing happens. Material Right-Click Menu When you right-click a button that represents a material, this menu appears. This includes the Type button on page 6081 button for a material, and sub-material buttons that you find in the Multi/Sub-Object material on page 6542, the Blend material on page 6529, and others. Cut Makes a copy of the material and removes the material from that sub-material component. Copy Makes a copy of the material. Paste (Copy) Pastes a copy from the copy buffer. This item doesn't appear if you haven't yet copied a material. Paste (Instance) Pastes an instance from the copy buffer. This item doesn't appear if you haven't yet copied a material. Clear If you right-click a sub-material button, Clear removes the material from that sub-material component without making a copy of it. Map Right-Click Menu When you right-click the button for a map component (a “map slot”), the menu you see depends on whether a map has been assigned yet. When a Map Has Been Assigned The following menu appears if a map has been assigned: Moving Materials, Maps, and Colors About the Scene | 6159 Cut Removes the assigned map, and puts a copy of it in the copy buffer. Copy Copies the map without removing it. Paste (Copy) Pastes a copy from the copy buffer. This item doesn't appear if you haven't yet copied a map. Clear Removes the assigned map without copying it. Open For bitmaps on page 6636, launches whichever application is associated with the currently assigned 2D map. This item does not appear for other map types such as procedural maps. Reveal Location in Explorer Launches a copy of Windows Explorer to display the folder where the map is saved. When No Map Has Been Assigned If no map has been assigned, all you can do is paste another: Paste (Copy) Pastes a copy from the copy buffer. Paste (Instance) Pastes an instance from the copy buffer. When No Map Has Been Either Assigned or Copied If no map has been assigned and you haven't copied a map yet, then no right-click menu appears at all. 6160 | Chapter 17 Material Editor, Materials, and Maps Bitmap Right-Click Menu This menu appears when you click a button that specifies an external bitmap on page 9108. See Bitmap 2D Map on page 6636. Copy Copies the bitmap. Paste Pastes the bitmap from the copy buffer. Open Launches whichever application is associated with the bitmap. Reveal Location in Explorer Launches a copy of Windows Explorer to display the folder where the bitmap is saved. Color Swatch Right-Click Menu This menu appears when you right-click a color swatch. NOTE This menu does not apply to the VertexPaint modifier's Color Palette on page 1935, which has its own right-click menu. Copy Copies the color. Pastes Pastes a color from the copy buffer. Dragging and Dropping Maps and Materials You can move materials from the Material Editor to objects using a drag-and-drop operation. You can also drag to and from map and material buttons. When dragging materials, use the Undo command on page 217 to cancel material assignments. Moving Materials, Maps, and Colors About the Scene | 6161 See the following lists to determine where in the interface you can drag from and drag to. TIP In the Slate Material Editor, you also can drag one color swatch to another. See Copy or Swap Colors Dialog on page 6165. Where You Can Drag From ■ Sample Slots on page 6025 (Compact interface) The content you drag from a sample slot is always at the top level of the sample slot, regardless of which level is currently displayed. If the sample slot contains a material, you can’t drag from the sample slot to a map button, even if you’re at a map level of the material. ■ The Material Editor Type button on page 6081 (Compact interface) ■ Material nodes on page 6086 (Slate interface) Drag from a material node’s output socket to an object or selection in the scene. See To apply a material to objects in a scene on page 6093. ■ Material and map preview_windows on page 6095. ■ Material/Map Browser on page 6167 lists (text or icon lists) You can't drag from the modal on page 9224 version of the Browser (when OK and Cancel buttons are present). ■ Material map buttons (see below) ■ A projector light map button (see Advanced Effects Rollout on page 5817) ■ The Environment Background on page 7621 map button ■ Fog on page 7640 Color and Opacity map buttons ■ Displace modifier on page 1255 map buttons Material and Map Buttons The material and map buttons you can drag from include: ■ The buttons in the Maps rollout on page 6443 ■ The small shortcut map buttons on the Basic Parameters rollouts on page 6410. ■ Any map buttons at any level. 6162 | Chapter 17 Material Editor, Materials, and Maps ■ Sub-material buttons, such as those found in the Multi/Sub-Object material on page 6542. Where You Can Drag To ■ All of the items in the previous list. ■ Objects in viewports. Drag from a material button or Browser listing into the viewport and over an object. When you release the mouse, the material is applied. Slate interface: To drag from a material node in the active View, drag from the node’s output socket: See To apply a material to objects in a scene on page ?. If you drag a material over two or more selected objects, an alert message asks if you want to apply the material to the object or to the selection. Choose the option you want, and click OK. ■ Compact interface: The Material Editor Type button on page 6081 You can drag to the Type button only from the Browser. If the Type button shows a standalone map, you can drag only a map to it. If it shows a material type, you can drag only a material to it. ■ All of the items in the previous list, except that you can drag to Browser only when it displays a material library. ■ A Face, Polygon, Patch, or Element sub-object selection of an editable surface object (mesh, patch, or poly). ■ A Face, Polygon, Patch, or Element sub-object selection created by the Edit Mesh modifier on page 1263 or Edit Patch on page 1271; or by one of these selection modifiers: Mesh Select on page 1445, Patch Select on page 1509, or Poly Select on page 1529. See also: ■ Applying a Material to an Object on page 5989 ■ Drag and Drop Sub-Object Material Assignment on page 6165 Moving Materials, Maps, and Colors About the Scene | 6163 Copy (Instance) Map Dialog Material Editor ➤ Parameters rollout or node display ➤ Drag one map button to another. The Copy (Instance) Map dialog is displayed when you copy a map by dragging and dropping a map button. It gives you the choice of copying the map, making the newly assigned map an instance of the one you dragged, or swapping maps. You can drag map buttons in the Maps rollout, in the Basic Parameters rollout, or from one rollout to the other. TIP When you use the same map for multiple parameters, such as both self-illumination and opacity, it is usually easier to work with an instance rather than a copy. Interface Instance Makes an instance of the map you dragged. The newly assigned map is not independent. Adjusting the parameters of one map or the other changes both of them. Copy Copies the map you dragged. The newly assigned map is a copy whose parameters you can adjust independently. 6164 | Chapter 17 Material Editor, Materials, and Maps Swap Swaps the maps. This option isn't displayed when you drag from one rollout to another. Copy or Swap Colors Dialog Material Editor ➤ Parameters rollout or node display ➤ Drag one color swatch to another. The Copy or Swap Colors dialog is displayed when you copy a color by dragging and dropping a color swatch. It gives you the choice of copying the color or swapping the colors, trading one for the other. Interface Swap Swaps the colors. Copy Copies the color you dragged. Drag and Drop Sub-Object Material Assignment You can apply a material to a selection of renderable sub-objects, such as faces in a mesh. In the Material Editor, you can use Assign Material to Selection on page 6154. You can also drag the material from the Material Editor or the Material/Map Browser on page 6167 to the selected faces. This can create a new Multi/Sub-Object material on page 6542 on the fly. You can disable drag-and-drop of materials to sub-objects. To do so, go to the General tab on page 8887 of the Preferences dialog on page 8886, and in the Sub-Materials group, turn off Assign Automatically. This check box is on by default. Moving Materials, Maps, and Colors About the Scene | 6165 How the Multi/Sub-Object Material Is Created The Multi/Sub-Object material is created in one of three ways, depending on what material is already applied to the selected sub-objects: ■ No material applied If the selected faces have no material applied, a new Multi/Sub-Object material is created. The dragged material becomes a sub-material in the new material. If material IDs already exist, they are preserved. ■ Existing material applied (other than Multi/Sub-Object material) A new Multi/Sub-Object material is created and applied to the selected faces. The existing material is moved into the Multi/Sub-Object material and becomes the first sub-material. Unselected faces get material ID #1, the selected faces get material ID #2, and the dragged material becomes part of the Multi/Sub-Object material. Existing material IDs are not preserved. ■ Multi/sub-object material applied If the existing Multi/Sub-Object material is already applied more than once in the scene, the material is copied and the new copy is applied to the selected faces. If the Multi/Sub-Object material is only applied once in the scene, then the existing material is used. The dragged material is added to the existing Multi/Sub-Object material. If the dragged material already is a part of the Multi/Sub-Object material, then the selected faces receive the corresponding material ID number. If the selected faces all have the same material ID number, and no unselected faces are already using this number, then this number is used and the new material replaces the old sub-material at this ID. Otherwise, a new material ID number is assigned to the faces, and used for the dragged material. In this case, any existing material IDs are preserved. Procedures To drag materials onto sub-object selections: 1 In the Modify panel ➤ modifier stack, choose Face as the sub-object level. 2 Select faces of an editable mesh object. 3 Drag a material’s output socket from the Slate Material Editor active View to the selected faces, or from a sample slot in the traditional interface. 6166 | Chapter 17 Material Editor, Materials, and Maps 4 In the modifier stack, click to turn off Sub-Object and return to the object level. 5 On the Material Editor, click (Pick Material From Object), then use the eyedropper cursor to get the material from the object. The new Multi/Sub-Object material appears in the active View. Material/Map Browser Compact Material Editor ➤ (Get Material) Compact Material Editor ➤ Type button Slate Material Editor ➤ Material/Map Browser panel Rendering menu ➤ Material/Map Browser Material Editor (either interface) ➤ Parameter rollout ➤ Click a map button. Rendering menu ➤ Environment ➤ Environment And Effects dialog ➤ Environment panel ➤ Common Parameters rollout ➤ Background group ➤ Environment Map button The Material/Map Browser lets you choose a material on page 9219, map on page 9215, or mental ray shader on page 6806. In the Compact Material Editor on page 6020, a modal on page 9224 version of the Material/Map Browser opens when you click button, or any map button. (Get Material), the Type In the Slate Material Editor on page 6083, the Material/Map Browser appears as a panel that by default is always displayed. Material/Map Browser | 6167 Groups in the Material/Map Browser Most of the Material/Map Browser interface is simply a list of materials, maps, and controllers, organized by libraries and groups. Each library and group has a title bar with an open/close (+/-) icon that you can use to expand or contract the list. Groups can have subgroups with title bars of their own, and some of these subgroups can have further subgroups. In the modal version of the Browser, if you are assigning a material type, then only materials appear, and if you are assigning a map, then only maps appear. IMPORTANT By default, the Material/Map Browser displays only materials and maps that are compatible with the currently active renderer on page 7037. Most of the commands for managing libraries and groups in the Material/Map Browser are found on the right-click menus: See Material/Map Browser Options Menu on page 6176, Custom Library Options on page 6181, Autodesk Material Library Options on page 6184, and Custom Group Options on page 6183. Base Materials and Maps The Slate Material Editor uses “base material” or “base map” to describe the raw types you use to create materials or maps. These are essentially templates: They might have default values that will render, but in general you need to change their settings and mappings to get a good effect. In the Material/Map Browser, libraries contain materials that you have edited, while groups contain base materials or maps: This includes the default, generic groups Materials and Maps. When you drag a base material or map from the Browser into the active View, the Slate Material Editor creates a copy of the base material or map. When you drag an edited material or map into the active View, the Slate Material Editor asks whether you want to work on an instance of the material/map, or a copy. 6168 | Chapter 17 Material Editor, Materials, and Maps Materials Group and Maps Group The groups Materials and Maps show base material and map types that you can use to create new custom materials and maps. These are “base” types: they might have default values, but they really are templates for you to customize. Controllers Group The Controllers group shows animation controllers that you can use to animate materials. NOTE The Controllers group appears only in the modeless Browser panel when you use the Slate Material Editor. It does not appear in the modal version of the Browser; for example, when you’re using the Compact Material Editor. Scene Materials Group The Scene Materials group lists materials (and sometimes maps) that are used in the scene. By default, it is always updated so it shows the current scene state. Custom Libraries You can open and use libraries. There are two ways to do so: ■ Open the Material/Map Browser Options menu, choose Open Material Library, and choose a material library MAT file. ■ Right-click the Material/Map Browser, choose New Material Library, and give the library a name. When you create a library this way, it is a temporary library with a name assigned by the Material/Map Browser. This name does not match the name Material/Map Browser | 6169 that appears in the Material/Map Browser. To save the library with a memorable name, in a location you want, right-click the library’s title, choose ➤ Save As, then browse to the folder where you want to save the MAT file, and enter a new name for the library. By default, 3ds Max saves new libraries in the folder <3ds Max program folder>\sme\libs. Custom Groups You can create custom groups; for example, to contain “base” material or map types that you use frequently. Groups are not saved as independent files, but they are saved with the Slate Material Editor layout. See Custom Configuration Files on page 6085. Autodesk Material Library The Autodesk Material Library is a library of Autodesk Materials on page 6224 that are shared between Autodesk appplications; in particular, AutoCAD, Revit Architecture, and Inventor as well as 3ds Max. NOTE By default, the Autodesk Material Library does not appear in the Material/Map Browser unless the mental ray renderer or Quicksilver Hardware renderer is active. Sample Slots The sample slots group is a small version of the sample slots on page 6025 used by the Compact Material Editor. This is a sort of “scratch pad” area where you can work on materials that are not yet part of the scene. Shortcut “Context” Menu to the Material/Map Browser When you right-click an empty area of the active View, the Slate Material Editor displays a shortcut menu that lets you choose items in the Browser. 6170 | Chapter 17 Material Editor, Materials, and Maps The first section of the menu is a shortcut to the Browser. Choosing a material or map from the menu places a node for that material or m ap in the active View. You can customize the contents and appearance of this section of the menu by using the Context Menu Options on page 6176. _____ Unhide All Children Unhides all child nodes in the active View. Hide All Children Hides all child nodes in the active View. Procedures To get a material from a library: 1 In the Material/Map Browser, open the Options menu and choose Open Material Library. 3ds Max opens a file dialog so you can choose the library (MAT file) to open. After you choose a library, that library appears in the Material/Map Browser. 2 Drag the material you want from the library file entry in the Material/Map Browser to the active View. To save a material in a library: 1 In the Material/Map Browser, open the Options menu and choose Open Material Library. 3ds Max opens a file dialog so you can choose the library (MAT file) where you will save the material. Material/Map Browser | 6171 After you choose a library, that library appears in the Material/Map Browser. 2 Also in the Material/Map Browser, drag the material from the Scene Materials group to the entry for the library file. The material becomes part of the library as well. 3 In the Material/Map Browser, right-click the library file entry and choose Close Material Library. 3ds Max asks if you want to save changes to the library. Click Yes. To create a new library: ■ In Material/Map Browser, open the Options menu and choose New Material Library. 3ds Max prompts you for a name for the new library. The new library appears in the Material/Map Browser. 6172 | Chapter 17 Material Editor, Materials, and Maps WARNING When you create a library this way, it is a temporary library with a name assigned by the Material/Map Browser. This name does not match the name that appears in the Material/Map Browser. To save the library with a memorable name, in a location you want, right-click the library’s title, choose ➤ Save As, then browse to the folder where you want to save the MAT file, and enter a new name for the library. To create a custom group: 1 Open the Material/Map Browser Options menu and choose New Group. 3ds Max opens a dialog so you can give the new group a name. 2 Enter a name for the group, then click OK. A title bar for the group appears in the Material/Map Browser. 3 Drag base materials or maps from the Materials group, the Map group, or custom groups, and drop them on the new group. The items you drop are added to the group. Material/Map Browser | 6173 Interface The Material/Map Browser contains the following controls: 6174 | Chapter 17 Material Editor, Materials, and Maps Material/Map Browser Options button Click to display the Material/Map Browser Options menu on page 6176. Search by Name Enter text in this field to search for materials and maps whose name begins with the characters you type. The search is not case-sensitive. Found materials and maps appear in a list below the search field. [Material/Map list] The main part of the Material/Map Browser dialog is a scrollable list of materials and maps. This list is organized into groups that you can expand or collapse. Material/Map Browser Menus The Material/Map Browser menus provide most of the options for managing libraries, groups, and the Browser itself. You access the main Material/Map Browser Options menu by clicking (Material/Map Browser Options) or right-clicking an empty portion of the Material/Map Browser. When you right-click the title bar of a group in the Browser, you see the options for that particular kind of group. Options for All Groups These display and menu options appear for all groups. Edit Group Color Displays a Color Selector Dialog on page 304 so you can choose a custom color for the group. Material/Map Browser Menus | 6175 Display Group As Chooses how to display entries in the group. There are three choices for icon size: ■ Small Icons(The default.) ■ Medium Icons ■ Large Icons You can also choose not to display icons (this is quicker). ■ Icons and Text(The default.) Displays icons and text. ■ Text Displays only text. Context Menu Options These options affect the shortcut, “context” menu that appears when you right-click an empty area of the View. ■ Show Group Shows this group in the context menu. Default = on for the Materials and Maps groups, off for the Scene Materials group. The two options that follow are available only when Show Group is turned on: ■ Flatten Hierarchy When off, the library or group name introduces a submenu, and library or group contents appear in the submenu. When on, the library or group name doesn’t appear in the context menu, and contents of the library or group are listed right in the menu at the appropriate level. Default=off. ■ Display Icons When on, the context menu shows materials and maps with a small icon by their name. When off, it does not. Default=off. Material/Map Browser Options Menu Material/Map Browser ➤ Click (Material/Map Browser Options). Material/Map Browser ➤ Right-click an empty portion of the Material/Map list. Shows general options for managing the Material/Map Browser 6176 | Chapter 17 Material Editor, Materials, and Maps Interface New Group Opens a dialog so you can create a new custom group. _____ New Material Library Opens a dialog so you can create a new custom library. Material/Map Browser Menus | 6177 WARNING When you create a library this way, it is a temporary library with a name assigned by the Material/Map Browser. This name does not match the name that appears in the Material Pool. To save the library with a memorable name, in a location you want, right-click the library’s title, choose ➤ Save As, then browse to the folder where you want to save the MAT file, and enter a new name for the library. Open Material Library Opens a file dialog so you can open an existing material library MAT file. _____ Materials Toggles display of the Materials group. Default=on. Maps Toggles display of the Maps group. Default=on. Controllers Toggles display of the Controllers group. Default=on. Autodesk Material Library Toggles display of the Autodesk Material Library. Default=on. Scene Materials Toggles display of the Scene Materials group. Default=on. Sample Slots Toggles display of the Sample Slots group. Default=on. _____ Show Incompatible When on, the Material/Map list shows entries that are not compatible with the currently active renderer. Default=off. Show Empty Groups When on, shows groups even if they are empty. Default=on. 6178 | Chapter 17 Material Editor, Materials, and Maps _____ Additional Options Shows a submenu with four options: ■ Reset Material/Map Browser Resets the Material/Map Browser to its default appearance. 3ds Max opens a message that asks if you really want to do this. ■ Clear Preview Thumbnail Cache Clears all cached preview bitmaps and renders them again. This can take a bit of time. 3ds Max opens a message that asks if you really want to do this. ■ Load LayoutOpens a file dialog that lets you save the Material/Map Browser layout. Browser layout files have the file name extension MPL. ■ Save Layout AsOpens a file dialog that lets you save the current Material/Map Browser layout. Browser layout files have the file name extension MPL. By default, 3ds Max saves Material/Map Browser layout files in the \sceneassets\images folder of the current Project folder. Materials, Maps, Controllers Group Options Right-click the title bar of the Materials, Maps, or Controllers group, or one of their subgroups. The menus for the Materials, Maps, and Controllers groups, and their subgroups, all have the same options. Interface Edit Group Color See Options for All Groups on page 6175. Rename Group Not available. Material/Map Browser Menus | 6179 _____ Display Group (and Subgroups) As See Options for All Groups on page 6175. Context Menu Options See Options for All Groups on page 6175. _____ Delete Group Not available. Scene Materials Options Right-click the title bar of the Scene Materials group. This menu manages the Scene Materials group on page 6169. Interface Edit Group Color See Options for All Groups on page 6175. Update Click to update the list of materials and maps in the Scene Materials group. This choice has no effect if Auto Update is on. Auto Update When on, 3ds Max automatically updates the list of materials and maps in the Scene Materials group. Default=on. Filter Selected Objects When on, the Scene Materials group shows only materials assigned to currently selected objects. (If no object is selected, or no selected object has a materal, the Scene Materials group appears empty.) When off, the Scene Materials group shows all materials used in the scene. Default=off. 6180 | Chapter 17 Material Editor, Materials, and Maps Inspect The choices on this submenu specify which 3ds Max areas to inspect when updating the material/map list in the Scene Materials group. All three are on by default: ■ World Includes materials and maps used in the scene. ■ Environment Includes materials and maps used by the environment and effects. ■ Renderer Includes materials and maps used by the renderer. Rename Group Not available. _____ Show Subtree When on, expands the group display to show all materials, sub-materials, and maps in the group. When off, shows only top-level materials. Default=off. Display Group (and Subgroups) As See Options for All Groups on page 6175. Context Menu Options See Options for All Groups on page 6175. Custom Library Options Right-click the title bar of a library group (other than Autodesk Material Library). This menu manages library groups on page 6169. Material/Map Browser Menus | 6181 Interface [file name and path] Displays a submenu for handling the library MAT file. ■ Reload Reloads the library. This can be useful if you or a colloague has updated the library in some way. ■ Save Saves the library. ■ Save As Opens a file dialog so you can save the library under a different name. _____ Edit Group Color See Options for All Groups on page 6175. Rename Group Opens a dialog that lets you rename the library. _____ Sort Alphabetically Sorts the list of materials by material name. 6182 | Chapter 17 Material Editor, Materials, and Maps _____ Show Subtree When on, expands the group display to show all materials, sub-materials, and maps in the group. When off, shows only top-level materials. Default=off. Display Group (and Subgroups) As See Options for All Groups on page 6175. Context Menu Options See Options for All Groups on page 6175. _____ Close Material Library Closes the material library. You can display the library again by using the Material/Map Browser Options menu on page 6176. Custom Group Options Right-click the title bar of a custom group. This menu manages custom groups on page 6170. Interface Edit Group Color See Options for All Groups on page 6175. Rename Group Opens a dialog that lets you rename the group. Material/Map Browser Menus | 6183 _____ Display Group (and Subgroups) As See Options for All Groups on page 6175. Context Menu Options See Options for All Groups on page 6175. _____ Delete Group Deletes the group from the Material/Map Browser. 3ds Max displays a message that asks if you really want to do this. Autodesk Material Library Options Right-click the title bar of the Autodesk Material Library group, or one of its subgroups. This menu manages the Autodesk Material Library group on page 6170. Interface Edit Group Color See Options for All Groups on page 6175. Rename Group Not available. 6184 | Chapter 17 Material Editor, Materials, and Maps _____ Display Group (and Subgroups) As See Options for All Groups on page 6175. Context Menu Options See Options for All Groups on page 6175. _____ Delete Group Not available. Sample Slots Group Options Right-click the title bar of the Sample Slots group. This menu manages the Sample Slots group on page 6170. Interface Edit Group Color See Options for All Groups on page 6175. Show Subtree Not available. _____ Display Group (and Subgroups) As See Options for All Groups on page 6175. Context Menu Options See Options for All Groups on page 6175. Options for Individual Materials, Maps, and Controllers Right-click an individual material or map entry within a group. This menu manages individual materials, maps, or controllers. Material/Map Browser Menus | 6185 Interface Rename Opens a dialog that lets you rename the material. For some groups, such as Materials and the Autodesk Material Library, this option does not appear. Remove from Lib (or Remove from Group) Removes the material or map from the library or group. For some groups, such as Materials and the Autodesk Material Library, this option is unavailable. _____ Copy to Displays a submenu that lists the other Material/Map Browser groups to which you can copy this material, map, or controller. You can copy a base material, map, or controller to the Temporary Library or to a custom group. You can copy an edited material or map to the Temporary Library or to a custom library. The Temporary Library is saved with your 3ds Max scene, but it is not saved elsewhere unless you save it as a MAT file, under a different name. Material Explorer Rendering menu ➤ Material Explorer Point-Of-View (POV) viewport label menu on page 8712 ➤ Extended ➤ Material Explorer 6186 | Chapter 17 Material Editor, Materials, and Maps The Material Explorer lets you browse and manage all the materials in a scene. While the Material Editor lets you set the properties of individual materials, it is limited in the number of materials it can display at any one time. With the Material Explorer, you can browse all the materials in a scene, see the objects to which a material is applied, change material assignment, and manage materials in other ways. Material Explorer | 6187 Interface The Material Explorer interface has two panels: the upper Scene panel and the lower Material panel. The Scene panel is similar to the Scene Explorer on page 8469, in that it lets you browse and manage all the materials in the scene, 6188 | Chapter 17 Material Editor, Materials, and Maps while the Material panel lets you browse and manage the components of a single material. Scene (Upper) Panel (Material Explorer) Rendering menu ➤ Material Explorer ➤ Scene (upper) panel Point-Of-View (POV) viewport label menu on page 8712 ➤ Extended ➤ Material Explorer ➤ Scene (upper) panel The upper Scene panel of the Material Explorer lets you browse and manage all the materials in a scene. Some of the things you can accomplish using the Scene panel of the Material Explorer are: ■ Browsing the materials in the scene ■ Finding which maps materials use ■ Seeing which materials are applied to which objects ■ Changing material assignment ■ Changing map assignment ■ Changing material, map, or object names Procedure To change a material assignment, do one of the following: ■ Drag a material’s thumbnail or icon (to the left of its name) from the Material Explorer Scene panel onto an object in a viewport. ■ Select multiple objects, and then drag a material’s thumbnail or icon (to the left of its name) from the Material Explorer Scene panel onto one of the objects. 3ds Max asks whether you want to assign the material to the object or to the entire selection. ■ Drag a material’s thumbnail or icon (to the left of its name) from the Material Explorer Scene panel onto the name of a geometry object in the Scene Explorer on page 8469. Scene (Upper) Panel (Material Explorer) | 6189 To change a map assignment: ■ Drag the map’s thumbnail or icon (to the left of its name) from one entry in the Material Explorer to another map thumbnail or icon in the Material Explorer (either panel). 3ds Max opens a Copy (Instance) Map dialog on page 6164 so you can choose whether to swap the two maps, or make the updated map either a copy or an instance of the original. To edit a material: ■ Drag the material’s thumbnail or icon (to the left of its name) to an unused sample slot in the Material Editor on page 6019. If the material is already in a sample slot, 3ds Max won’t let you drop it on the new sample slot. To change a material type: ■ Drag a material type from the Material Browser onto the name or thumbnail of a material in the Material Explorer. 6190 | Chapter 17 Material Editor, Materials, and Maps Interface The main window of the Material Explorer Scene panel shows several columns with information about the materials in the scene. At the left side of this window is a hierarchy of maps and objects; by default, the hierarchy shows thumbnails for the various materials. Other controls include a menu bar, toolbar, and to the left of the main window, various display buttons. The main window lets you edit certain cells, to change material, map, or object names, or certain properties of a material or map. See Columns (Material Explorer Scene Panel) on page 6199 for details. Viewing Objects and Maps To see the objects assigned to a material, click the plus-sign (+) icon to expand that material’s hierarchy. Scene (Upper) Panel (Material Explorer) | 6191 Hierarchy of a material applied to four objects If you turn on Display ➤ Display Sub-Materials/Maps, the hierarchy of a material also shows the maps used by that material. The maps appear above the objects that use the material. Maps displayed as part of the material hierarchy The hierarchy can grow more complex if a material is a Multi/Sub-Object material whose sub-materials might use maps,and so on. 6192 | Chapter 17 Material Editor, Materials, and Maps A multi/sub-object material, one of whose sub-materials uses a map Menu Bar (Material Explorer Scene Panel) Rendering menu ➤ Material Explorer ➤ Scene upper) panel ➤ Menu bar Point-Of-View (POV) viewport label menu on page 8712 ➤ Extended ➤ Material Explorer ➤ Scene (upper) panel ➤ Menu bar The Scene panel menu bar contains various options for managing materials and the display of the window in the upper Scene panel. Select Menu Some of these choices correspond to buttons on the Selection toolbar on page 6197. Select All Selects all entries in the scene. Select All Materials Selects all materials in the scene. Select All Maps Selects all maps in the scene. NOTE For most scenes, the effect of this choice isn’t apparent unless you also turn on Display Sub-Materials/Maps. Select None Deselects all entries. Select Invert Inverts the current selection: all selected entries become deselected, and all entries not selected become selected. Select Children This choice is a toggle. When on, selecting a material or object also selects the children of that entry. Default=off. Scene (Upper) Panel (Material Explorer) | 6193 _____ These choices are toggles that affect the behavior of the Find field on the Find toolbar on page 6196. Find Case Sensitive When on, the search string is case sensitive: “house” is not the same as “House”. Default=off. Find Using Wildcards When on, the search string can use wildcard characters such as * and ?. Default=on. Find Using Regular Expressions When on, the search string can use ; for example, “gr(a|e)y”. Default=off. Display Menu These choices correspond to the Display buttons on page 6198. NOTE The Display menu also appears as a pop-up menu when you right-click a cell in the upper window. Display Thumbnails When on, the hierarchy displays a thumbnail for each material and map. When off, it displays a generic icon materials and maps. Default=on. Display Materials When on, the hierarchy includes materials. When off, it does not show materials at all. Default=on. Display Maps When on, the hierarchy of each material includes includes the maps used by that material. Default=on. NOTE For most scenes, the effect of this isn’t apparent unless you also turn on Display Sub-Materials/Maps. Display Objects When on, the hierarchy of each material includes the objects to which that material is applied. Default=on. Display Sub-Materials/Maps When on, the hierarchy includes sub-materials and maps applied to material channels. Default=off. Display Unused Map Channels When on, the hierarchy display includes unused map channels. Default=off. _____ These two sorting options are mutually exclusive. They correspond to a pair of Display buttons on page 6198. 6194 | Chapter 17 Material Editor, Materials, and Maps Sort By Material (The default.) While active, the hierarchy is sorted by material name. Sort By Object While active, the hierarchy is sorted by object. _____ These choices control the hierarchy display. Expand All Expands the hierarchy to display all entries. Expand Selected Expands the hierarchy of selected entries. Expand Objects Expands the hierarchy of all objects. Collapse All Collapses the entire hierarchy. Collapse Selected Collapses the hierarchy of selected entries. Collapse Materials Collapses the hierarchy of all materials. Collapse Objects Collapses the hierarchy of all objects. Tools Menu Save Material As Material Library Opens a file dialog that lets you save the materials in the scene as a material library (.mat) file. Select Object By Material Opens a Select Objects dialog on page 184. The names of objects with the active material applied are highlighted. Click to select the objects that have had this material applied. This choice is unavailable if no materials are selected in the Explorer, or if multiple materials are selected. Bitmap/Photometric Paths Opens the Bitmap / Photometric Path Editor dialog on page 8159, which lets you manage the paths of bitmaps in the scene. Proxies Setup Opens the Global Settings And Defaults For Bitmap Proxies dialog on page 8130, which lets you manage how 3ds Max creates and uses proxy versions of bitmaps incorporated in materials. This dialog is a feature of Asset Tracking on page 8114. _____ Delete Sub-Materials/Maps When one or more sub-materials or maps applied to a material are selected, deletes the selected sub-materials or maps. Lock Cell Editing When on, prevents you from editing cells in the Explorer: clicking a cell has no effect, other than to highlight and select the row it is in. Default=off. Scene (Upper) Panel (Material Explorer) | 6195 Customize Menu Configure Columns Opens the Configure Columns dialog so you can add columns to the Scene (upper) window. See Columns (Material Explorer Scene Panel) on page 6199. Toolbars Displays a submenu that lets you choose which of the Material Explorer toolbars appear. ■ Find Toggles display of the Find toolbar. ■ Selection Toggles display of the Selection toolbar. ■ Tools Toggles display of the Tools toolbar. Save Current Layout as Default Saves the current Material Explorer layout so that it appears this way in your next session with 3ds Max. The layout file for the Material Explorer is called defaultmmaterialexplorer.ini. It is saved in C:\documents and settings\ \local settings\application data\autodesk\3ds max\ \enu\plugcfg\explorerconfig\material explorer\. You can revert to the default layout by deleting this file and restarting 3ds Max. Toolbar (Material Explorer Scene Panel) Rendering menu ➤ Material Explorer ➤ Scene (upper) panel ➤ Toolbar Point-Of-View (POV) viewport label menu on page 8712 ➤ Extended ➤ Material Explorer ➤ Scene (upper) panel ➤ Toolbar The upper Scene panel of the Material Explorer has a toolbar with various search, selection, and other controls. Interface The toolbar actually consists of three smaller toolbars: Find, Selection, and Tools. You can toggle the display of these smaller toolbars by using the Toolbars options on the Customize menu on page 6196. Find toolbar 6196 | Chapter 17 Material Editor, Materials, and Maps Find Enter text in this field to search for that text in the Name column. As you type, the Material Explorer highlights materials or objects whose name matches the search string. If Sync to Material Explorer on page 6198 is on, the Material (lower) panel also displays the first material that is found. If the Material Explorer finds an object rather than a material, the Material (lower) panel shows the material that is applied to that object. Some options on the Select menu on page 6193 control how the Explorer performs the search. Selection toolbar Some of these buttons correspond to choices on the Select menu on page 6193. Select All Materials Selects all materials in the scene. Select All Maps Selects all maps in the scene. NOTE For most scenes, the effect of this choice isn’t apparent unless you also turn on Display Sub-Materials/Maps. Select All Selects all entries in the scene. Select None Deselects all entries in the scene. Select Invert Inverts the current selection: all selected entries become deselected, and all entries not selected become selected. Tools toolbar Scene (Upper) Panel (Material Explorer) | 6197 Lock cell editing When on, prevents you from editing cells in the Explorer: clicking a cell has no effect, other than to highlight and select the row it is in. Default=off. Sync to Material Explorer When on, synchronizes selections in the Material (lower) panel with the Scene (upper) panel. When off, changing the selection in the Scene panel doesn’t change the Material panel, which continues to show the last material you selected before turning off Sync To Material Explorer. Default=on. Sync to Material Level When on, the lower Material panel always shows the full hierarchy of the material highlighted in the upper Scene panel, even if only a component of the material is highlighted. When off, the lower Material panel shows only the hierarchy of the individual material component that is highlighted in the upper Scene panel. Default=on. Display Buttons (Material Explorer Scene Panel) Rendering menu ➤ Material Explorer ➤ Scene (upper) panel ➤ Display buttons (left side of the panel) Point-Of-View (POV) viewport label menu on page 8712 ➤ Extended ➤ Material Explorer ➤ Scene (upper panel ➤ Display buttons (left side of the panel) The display buttons appear to the left of the main window of the upper Scene panel. They control display of the hierarchy in the window. These buttons correspond to choices on the Display menu on page 6194. Interface Display Thumbnails When on, the hierarchy displays thumbnails. Default=on. 6198 | Chapter 17 Material Editor, Materials, and Maps Display Materials When on, the hierarchy includes materials. Default=on. Display Maps When on, the hierarchy includes maps. Default=on. NOTE For most scenes, the effect of this isn’t apparent unless you also turn on Display Sub-Materials/Maps. Display Objects When on, the hierarchy includes objects. Default=on. Display Sub-Materials/Maps When on, the hierarchy includes sub-materials and maps applied to material channels. Default=off. Display Unused Map Channels When on, the hierarchy includes unused map channels. Default=off. Sort By Object / Sort By Materials These two options toggle each other. ■ ■ Sort By Object While this is active, the Name list is sorted by object. Sort By Material (The default.) While this is active, the Name list is sorted by material name. Columns (Material Explorer Scene Panel) Rendering menu ➤ Material Explorer ➤ Scene (upper) panel Point-Of-View (POV) viewport label menu on page 8712 ➤ Extended ➤ Material Explorer ➤ Scene (upper) panel Scene (Upper) Panel (Material Explorer) | 6199 The main window of the Material Explorer upper Scene panel can contain several columns with information about materials in the scene. Some kinds of columns contain editable cells. Right-Click Menu for Column Labels When you right-click the label of a column in the Material Explorer Scene panel, 3ds Max opens a menu that has several options to control column display: ■ Sorting choices Let you choose how the column is sorted. Also, you can cycle through these options by clicking the column label. ■ Configure Columns Displays a dialog that lets you configure which columns appear in the window. See the procedure To add columns to the table on page 6201. ■ Best Fit options Choose Best Fit to resize the column whose label you right-clicked, or choose Best Fit (All Columns) to resize all columns. Columns are resized to fit the width of their contents. TIP Right-clicking a column label and choosing Best Fit (All Columns) is a good way to see the information in your current window layout. Default column layout 6200 | Chapter 17 Material Editor, Materials, and Maps Column layout after right-clicking a column label and choosing Best Fit (All Columns) Procedures To add columns to the table: 1 Right-click a column label and then choose Configure Columns from the context menu. This opens the Configure Columns dialog. TIP Another way to access Configure Columns is from the Customize menu. 2 Drag a column label from the Configure Columns dialog to one of the Material Explorer column labels. The new column is inserted to the left of the existing column. Scene (Upper) Panel (Material Explorer) | 6201 3 Continue adding columns as desired. When finished, close the Configure Columns dialog. To remove a column from the table: 1 Drag the column label downward until the mouse cursor changes to an X icon. 2 Release the mouse button. NOTE Even if you remove the Name column, the hierarchy remains at the left side of the window. To sort the list based on a column or columns: 1 Click a column label. This performs a single-level sort based on the column contents, in ascending order, as indicated by an up arrow on the right side of the label. For example, clicking the Name label sorts the table in ASCII order, starting with punctuation, then numbers, then letters. NOTE Object hierarchies remain together when the list is sorted. Child objects at the same level are sorted only with respect to one another, not objects on other hierarchical levels. 2 To reverse the sort order, click the same column label again. Alternatively, right-click a column label and choose Sort Ascending or Sort Descending. You can sort any number of different columns this way to perform a multi-level sort. To remove sorting: ■ Right-click the column label and choose Clear Sort State. To rearrange columns: ■ Drag a column label on top of another one. This moves the column to the left of the target column. To resize a column: ■ Drag the divider on the right side of the column label. 6202 | Chapter 17 Material Editor, Materials, and Maps Alternatively, to auto-resize a column, double-click the divider on the right side of the label. Interface This section lists the available columns, briefly describes each column’s function, and notes whether the column appears by default in the Material Explorer. Name Shows the names of materials, objects, maps, and sub-materials. You can edit cells in this column: click a cell, then click or drag on it again to highlight text, and type a new name for the material, object, or map. Default column. NOTE Even if you hide the Name column, the hierarchy always appears on the left-hand side of the upper panel window. Type Shows the type of material, map, or submaterial. For objects, cells in this column are blank. Default column. Show In Viewport For materials and maps, shows whether Showing Maps in Viewports on page 6006 is active. If you are using standard (software) display and Show Map In Viewport is on, the cell says “Standard : Maps”; if Show Map In Viewport is off, the cell says “Standard : No Maps.” If you are using hardware shading (hardware display) and Show Map In Viewport is on, the cell says “Hardware : Maps”; if Show Map In Viewport is off, the cell says “Hardware : No Maps.” For objects, this cell says “None.” You can edit cells in this column: click the cell to display a drop-down list that lets you toggle the Show Map In Viewport state. NOTE With standard (software) shading, only one map at a time can be shown in the viewport, but with hardware shading, multiple maps can be shown. Default column. Material ID For materials, shows the Material ID on page 6075. You can edit cells in this column: click a cell, then drag across the value. While the value is highlighted, you can type a new Material ID value, or you can click the spinner arrows that appear in the cell to change the Material ID. (You can also drag on the spinner’s up-arrow or down-arrow button to change the value more rapidly.) Scene (Upper) Panel (Material Explorer) | 6203 For objects and maps, the cells in this column are blank. Default column. Texture Size For bitmaps, shows the dimensions of the map; for example, “512*512”. For materials, objects, and procedural maps (whether 2D or 3D), the cells in this column are blank. Material (Lower) Panel (Material Explorer) Rendering menu ➤ Material Explorer ➤ Material (lower) panel Point-Of-View (POV) viewport label menu on page 8712 ➤ Extended ➤ Material Explorer ➤ Material (lower) panel The lower Material panel of the Material Explorer lets you browse and manage a single material. Some of the things you can accomplish using the Material panel of the Material Explorer are: ■ Browsing the maps assigned to a material ■ Replacing a map in a material ■ “Cleaning” materials by changing duplicate maps to instances, and by removing unused sub-materials When you select a material in the upper Scene panel, it appears in the lower Material panel. When you select multiple materials in the upper Scene panel, in general the first material you select is the one that appears in the lower Material panel. Procedure To change a material assignment, do one of the following: ■ Drag the material’s thumbnail or icon (to the left of its name) from the Material Explorer Material panel onto an object in a viewport. ■ Select multiple objects, and then drag the material’s thumbnail or icon (to the left of its name) from the Material Explorer Material panel onto one of the objects. 3ds Max asks whether you want to assign the material to the object or to the entire selection. 6204 | Chapter 17 Material Editor, Materials, and Maps ■ Drag the material’s thumbnail or icon (to the left of its name) from the Material Explorer Material panel onto the name of a geometry object in the Scene Explorer on page 8469. To change a map assignment: ■ Drag the map’s thumbnail or icon (to the left of its name) from one entry in the Material Explorer to another map thumbnail or icon in the Material Explorer (either panel). 3ds Max opens a Copy (Instance) Map dialog on page 6164 so you can choose whether to swap the two maps, or make the updated map either a copy or an instance of the original. To edit a material: ■ Drag the material’s thumbnail or icon (to the left of its name) to an unused sample slot in the Material Editor on page 6019. If the material is already in a sample slot, 3ds Max won’t let you drop it on the new sample slot. Interface The Material panel is similar to the Scene panel: there is a window with columns and a menu bar. The main difference is that the lower Material panel shows only one material at a time. (You can use Display buttons for this panel as well, but they aren’t visible by default.) Like the upper Scene panel, the main portion of the lower Material panel is a window with columns that describe map and material properties. The Material Explorer lets you edit some of the properties in these columns. Columns in Material (Lower) Panel (Material Explorer) | 6205 the Material panel differ from those in the Scene panel: see Columns (Material Explorer Material Panel) on page 6207. Menu Bar (Material Explorer Material Panel) Rendering menu ➤ Material Explorer ➤ Material (lower) panel ➤ Menu bar Point-Of-View (POV) viewport label menu on page 8712 ➤ Extended ➤ Material Explorer ➤ Material (lower) panel ➤ Menu bar The lower Material panel menu bar contains various options for managing materials and the display of the lower panel window. Select Menu The choices here are the same as for the upper Scene panel Select menu on page 6193, except that the choices to control name searching aren’t present. Display Menu Most of the choices here are the same as for the upper Scene panel Display Menu on page 6194, except that the choices about object display aren’t present. Sync to Material Level Synchronizes selection of map and sub-material levels in the Scene (upper) and Material (lower) panels. When both this choice and Sync To Material Explorer are on, selecting a material, map, or sub-material in the upper Scene panel displays the entire material tree in the lower Material panel. When Sync To Material Explorer is on but Sync To Material Level is off, selecting a map or sub-material in the upper Scene panel displays only that map or sub-material in the lower Material panel. Default=on. Tools Menu Render Map Opens a Render Map dialog on page 6032 so you can render the selected map. This choice is unavailable if you’ve selected a material instead of a map. Clean MultiMaterials Opens the Clean MultiMaterial utility on page 6942 so you can remove unused sub-materials.. Instance Duplicate Maps Opens the Instance Duplicate Maps utility on page 6947, so you can improve scene and rendering performance by turning duplicate maps into instances. 6206 | Chapter 17 Material Editor, Materials, and Maps Change Material/Map Type Opens the Material/Map Browser on page 6167 so you can change the material or map type. Delete Sub-Materials/Maps When one or more sub-materials or maps applied to a material are selected, deletes the selected sub-materials or maps. Customize Menu Toolbars Opens a submenu with one choice, “Display,” that toggles display buttons to the left of the lower panel main window. These buttons mostly correspond to entries on the lower panel Display menu on page 6206. Thumbnail Size Displays a submenu with two choices for thumbnail size in the lower window: Medium (the default), or Large. _____ Sync to Material Explorer When on, synchronizes selections in the lower Material panel with the upper Scene panel. When off, changing the selection in the Scene panel doesn’t change the Material panel, which continues to show the last material you selected before turning off Sync To Material Explorer. Default=on. Columns (Material Explorer Material Panel) Rendering menu ➤ Material Explorer ➤ Material (lower) panel Point-Of-View (POV) viewport label menu on page 8712 ➤ Extended ➤ Material Explorer ➤ Material (lower) panel The main window of the Material Explorer lower Material panel can contain several columns with information about the currently selected material. Some kinds of columns contain editable cells. Right-Click Menu for Column Labels When you right-click the label of a column in the Material Explorer lower panel, 3ds Max opens a menu that has several options to control column display: ■ Sorting choices Let you choose how the column is sorted. Also, you can cycle through these options by clicking the column label. ■ Configure Columns Displays a dialog that lets you configure which columns appear in the window. See the procedure To add columns to the table on page 6208. Material (Lower) Panel (Material Explorer) | 6207 ■ Best Fit options Choose Best Fit to resize the column whose label you right-clicked, or choose Best Fit (All Columns) to resize all columns. Columns are resized to fit the width of their contents. TIP Right-clicking a column label and choosing Best Fit (All Columns) is a good way to see the information in your current window layout. Procedures To add columns to the table: 1 Right-click a column label and then choose Configure Columns from the context menu. This opens the Configure Columns dialog. 2 Drag a column label from the Chooser dialog to one of the Material Explorer column labels. The new column is inserted to the left of the existing column. 3 Continue adding columns as desired. When finished, close the Configure Columns dialog. To remove a column from the table: 1 Drag the column label downward until the mouse cursor changes to an X icon. 2 Release the mouse button. NOTE Even if you remove the Name column, the hierarchy remains at the left side of the window. 6208 | Chapter 17 Material Editor, Materials, and Maps To sort the list based on a column or columns: 1 Click a column label. This performs a single-level sort based on the column contents, in ascending order, as indicated by an up arrow on the right side of the label. For example, clicking the Name column label sorts the table in ASCII order, starting with punctuation, then numbers, then letters. NOTE Object hierarchies remain together when the list is sorted. Child objects at the same level are sorted only with respect to one another, not objects on other hierarchical levels. 2 To reverse the sort order, click the same column label again. Alternatively, right-click a column label and choose Sort Ascending or Sort Descending. You can sort any number of different columns this way to perform a multi-level sort. To remove sorting: ■ Right-click the column label and choose Clear Sort State. To rearrange columns: ■ Drag a column label on top of another one. This moves the column to the left of the target column. To resize a column: ■ Drag the divider on the right side of the column label. Alternatively, to auto-resize a column, double-click the divider on the right side of the label. Interface Name Shows the names of materials, maps, and sub-materials. You can edit cells in this column: click a cell, then click or drag on it again to highlight text, and type a new name for the material or map. NOTE Even if you hide the Name column, the hierarchy always appears on the left-hand side of the lower panel window. Default column. Material (Lower) Panel (Material Explorer) | 6209 Property For maps, shows the name of the material channel to which the map has been assigned. For example, “Diffuse Color (Reflectance).” For materials, cells in this column are blank. Default column. Texture Size For bitmaps, shows the dimensions of the map; for example, “512*512”. For materials and procedural maps (whether 2D or 3D), the cells in this column are blank. Default column. UV Coordinates For 2D maps, cells in this column correspond to the Mapping List on the Coordinates rollout for 2D maps on page 6622. You can edit these cells: click the cell to display a drop-down list that lets you choose among mapping types. For materials and 3D procedural maps, the cells in this column show “None.” Mapping Channel For 2D and 3D maps, cells in this column show the Map Channel value on page 9210. You can edit cells in this column: click a cell, then drag across the value. While the value is highlighted, you can type a new Map Channel value, or you can click the spinner arrows that appear in the cell to change the Map Channel value. (You can also drag on the spinner’s up-arrow or down-arrow button to change the value more rapidly.) For 3D procedural maps, the Mapping Channel value doesn’t appear unless the Coordinates ➤ Source value is set to Explicit Mapping Channel. See Coordinates Rollout (3D) on page 6698. For materials, the cells in this column are blank. Types of Materials Material/Map Browser on page 6167 ➤ Create New Material / Map (by Name) group ➤ Material group Materials create greater realism in a scene. A material describes how an object reflects or transmits light. You assign materials to individual objects or selection sets; a single scene can contain many different materials. Different materials have different uses. 6210 | Chapter 17 Material Editor, Materials, and Maps Procedures To get a material, do one of the following: ■ In the Slate Material Editor on page 6083, locate the material in the Browser panel, and drag it to the active View. ■ On the Compact Material Editor on page 6020 ➤ toolbar, click (Get Material). 3ds Max opens the Material/Map Browser on page 6167. Double-click a material type or drag the material to a sample slot, then close the Browser. To change a material type in the Compact Material Editor on page 6020: 1 At the level of a material, click the Type button below the Material Editor toolbar. 3ds Max opens a modal Material/Map Browser on page 6167. If you were at a material when you clicked Type, the Browser lists only materials (if you were at a map, it lists only maps). 2 Choose a material from the list, and then click OK. If you choose a compound material, 3ds Max opens a Replace Material dialog on page 6082. This dialog lets you choose whether to keep or discard the original material. The Material Editor now displays controls for the new material. SuperSampling Rollout Architectural material on page 6570 ➤ SuperSampling rollout Raytrace material on page 6486 ➤ SuperSampling rollout Standard material on page 6382 ➤ SuperSampling rollout The SuperSampling rollout is used by the Architectural, Raytrace, and Standard materials. It lets you choose a supersampling method on page 9322. Supersampling performs an additional antialiasing on page 9087 pass on the material. This requires more time but can improve image quality. Supersampling is especially helpful when you need to render very smooth specular highlights, subtle bump mapping, or high resolutions. In 3ds Max the default is to apply a single supersampling method to all materials in the scene. This feature gives you more control over your scenes, SuperSampling Rollout | 6211 especially larger models that make use of many materials, by letting you control the supersampling at a global level from the Rendering dialog. You can override this locally by turning off Use Global Settings. It also gives you file compatibility and workflow replication with DRF files imported from VIZ Render. NOTE SuperSampling settings are ignored by the mental ray Renderer on page 7129, which has its own sampling method. Use supersampling when you notice artifacts in your final renderings. For example, a thin bump map might produce scintillating, jagged bumps that supersampling can correct. Supersampling requires considerably more time to render, although it does not necessarily require any additional RAM. NOTE Supersampling is not processed when you turn off Antialiasing in the production renderer on page 7020. You can also globally disable supersampling for all materials using the parameters for the default scanline renderer on page 7042. Globally disabling supersampling can speed up test renderings. Supersampling uses smaller sampling points, and returns averaged values to increase the antialiasing effect. 6212 | Chapter 17 Material Editor, Materials, and Maps Supersampling and Antialiasing Supersampling is one of several antialiasing techniques. Textures, shadows, highlights, and raytraced reflections and refractions all have their own preliminary antialiasing strategies. Supersampling is an additional step that provides a "best guess" color for each rendered pixel. The supersampler's output is then passed on to the renderer, which performs a final antialiasing pass. A single rendered pixel represents an area of the scene's geometry. The pixel can stand in for multiple colors, especially when it appears at the edge of an object or a region of color. This is where aliasing effects occur. When supersampling is turned off, 3ds Max simply looks at the center of the geometry covered by the pixel, and uses that for the pixel color. When you turn on supersampling, a supersampler performs an additional antialiasing pass on the material. You can choose one of four supersamplers. As the name implies, a supersampler takes additional samples of geometry color in or near each pixel, in order to obtain a more accurate pixel color that is less prone to aliasing error. These are the supersampling methods: Name Description Adaptive Halton Spaces samples along both X and Y axes according to a scattered, "quasi random" pattern. Depending on Quality, the number of samples can range from 4 to 40. This method is adaptive, as described below. Adaptive Uniform Spaces samples regularly, from a minimum quality of 4 samples to a maximum of 36. The pattern is not square, but skewed slightly to improve accuracy in the vertical and horizontal axes. This method is adaptive, as described below. Hammersley Spaces samples regularly along the X axis, but along the Y axis it spaces them according to a scattered, "quasi random" pattern. Depending on Quality, the number of samples can SuperSampling Rollout | 6213 Name Description range from 4 to 40. This method is not adaptive. MAX 2.5 Star The sample at the center of the pixel is averaged with four samples surrounding it. The pattern is like the fives on dice. This is the supersampling method that was available in 3ds Max 2.5. Regular sampling, as performed by the Adaptive Uniform and MAX 2.5 Star methods, is more prone to aliasing than the irregular patterns performed by the Adaptive Halton and Hammersley methods. You can set a variable Quality value for the Adaptive Halton, Adaptive Uniform, and Hammersley methods. Quality can range from 0.0 to 1.0. A quality of 0.0 is minimal, with about four samples per pixel. A quality of 1.0 is the highest possible, with between 36 and 40 samples per pixel. High-quality supersampling is very time consuming. Another setting for the Adaptive Halton and Adaptive Uniform supersamplers is the Adaptive toggle, which works in conjunction with the Threshold spinner. When Adaptive is on, these methods take fewer samples unless a change in color is greater than the Threshold value. In that case, they take the full number of samples specified by the Quality. To reduce the amount of time the supersampler spends, leave the Adaptive check box on. Interface Use Global Settings When on, the material uses the supersampling options set in the Default Scanline Renderer rollout on page 7042. Default=on. 6214 | Chapter 17 Material Editor, Materials, and Maps Enable Local Supersampling When on, applies supersampling to the material. Default=off Sampler drop-down list Lets you choose which supersampling method to apply. The list is not active unless Use Global Settings is turned off. Default=Max 2.5 Star. Supersample Maps When on, the maps applied to the material are supersampled as well. When off, the supersampler uses pixel averages for maps. This switch is active only when Use Global Settings is turned off. Default=on. Quality Adjusts the quality of supersampling by controlling the number of samples used for each pixel. At the minimum value, 0.0, four samples are taken per pixel. At the maximum value, 1.0, about 40 samples are taken per pixel (the value varies depending on which shader is active). Range=0.0 to 1.0. Default=0.5. This spinner is unavailable for the Max 2.5 Star method. Adaptive Visible only for the Adaptive Halton and Adaptive Uniform methods. When on, these methods take fewer samples than the Quality specifies unless samples show a change in color greater than the Threshold value. In that case, they take all the samples specified by the Quality. Turning on Adaptive On can reduce the amount of time required to supersample. Default=on. Threshold Controls the Adaptive methods. Visible only for the Adaptive Halton and Adaptive Uniform methods. A change in color greater than the Threshold value causes the adaptive methods to take the full number of samples specified by the Quality. If the color does not change as much, the adaptive method takes fewer samples and does not require as much processing time. Can range from 0.0 to 1.0. Setting Threshold to 0.0 has the same effect as turning off Adaptive On. Default=0.1. mental ray Connection Rollout Material Editor ➤ Display the controls for a material other than a Multi/Sub-Object or a mental ray material. ➤ mental ray Connection rollout The mental ray Connection rollout is available for all types of materials except the Multi/Sub-Object material and the mental ray materials themselves (for which it would be redundant). With this rollout you can add mental ray mental ray Connection Rollout | 6215 shading to conventional 3ds Max materials. These effects are visible only when you use the mental ray renderer on page 7129. IMPORTANT The mental ray Connection rollout does not appear unless you have enabled the mental ray extensions by using the mental ray Preferences panel on page 8950. In addition, you can't assign shaders to the options in this rollout unless the mental ray renderer is the currently active renderer. Interface For each kind of shader on this rollout, there is a toggle and a button. ■ The toggle controls whether the assigned shader is active or not. If no shader is assigned, the toggle has no effect. 6216 | Chapter 17 Material Editor, Materials, and Maps ■ The button lets you assign a shader to the component type. Clicking it displays the Material/Map Browser on page 6167: assigning a shader is just like assigning a map to a component of a standard material. While a shader is assigned, its name appears on the button. ■ In addition to the toggle and button, some of the shader types have a lock button to the right. When button is on, the component is inherited from the base material, and you can't assign a shader. For example, by default the Surface component is locked, and the surface is shaded using the settings of the 3ds Max material (basic parameters, maps, and so on). Turn off this button to replace the base material's settings with a mental ray shader. NOTE Using a shader for the Surface component can result in a material whose appearance in mental ray renderings is completely different from the appearance it has in the sample slot, viewports, and scanline renderings. Basic Shaders group Surface Shades the surface of objects that have this material. Default=locked to parent material. In addition to any of the usual 3ds Max materials, the surface component can be assigned the following mental ray materials or shaders: Shader Library Bump on page 6816 3ds Max DGS Material on page 6818 3ds Max Dielectric base Dielectric Material on 3ds Max page 6823 Edge lume Facade lume Glass lume mental ray Connection Rollout | 6217 Shader Library Glow lume Landscape lume Material to Shader on 3ds Max page 6832 Metal lume Ocean lume Opacity base Reflect base Refract base Shader List on page 6840 3ds Max Stain lume Translucency lume Transmat physics Transparency base Two Sided base Water Surface lume Wet-Dry Mixer lume NOTE Unlike a standard 3ds Max material, if you assign the Surface component a bitmap with tiling turned off, the original surface color does not “show through.” In renderings, you see only the untiled map, and none of the rest of the object. Shadow Assigns a shadow shader. Default=locked to parent material. 6218 | Chapter 17 Material Editor, Materials, and Maps The shadow component can be assigned the following shaders: Shader Library Edge Shadow lume Facade lume Glass lume Glow lume Material to Shader on page 6832 3ds Max Metal lume Shader List on page 6840 3ds Max Shadow Transparency base Translucency lume Transmat physics Water Surface Shadow lume Caustics and GI group Photon Assigns a photon shader. Photon shaders affect how object surfaces respond to photons; that is, they control how the surfaces behave when generating caustics and global illumination. Default=locked to parent material. The photon component can be assigned the following shaders: Shader Library DGS Material on page 6818 3ds Max Dielectric Material Photon on page 6823 3ds Max Edge lume Glow lume mental ray Connection Rollout | 6219 Shader Library Material to Shader on page 6832 3ds Max Metal lume Photon Basic base Translucency lume Transmat physics Photon Volume Assigns a photon volume shader. Photon volume shaders affect how an object's volume responds to photons; that is, they control how the volume behaves when generating caustics and global illumination. The photon volume component can be assigned the following shaders: Shader Library Material to Shader on page 6832 3ds Max Parti Volume Photon physics Shader List on page 6840 3ds Max Extended Shaders group Displacement Assigns a displacement shader on page 7167. Default=locked to parent material. The displacement component can be assigned the following shaders: Shader Library 3D Displacement on page 6813 3ds Max Material to Shader on page 6832 3ds Max Ocean lume Volume Assigns a volume shader on page 7164. 6220 | Chapter 17 Material Editor, Materials, and Maps The volume component can be assigned the following shaders: Shader Library Beam lume Material to Shader on page 6832 3ds Max Mist lume Parti Volume Photon physics Shader List on page 6840 3ds Max Submerge lume Environment Assigns an environment shader. The environment shader provides an environment local to the material. It is visible if the material is reflective or transparent. The environment component can be assigned the following shaders: Shader Library Environment on page 6825 3ds Max Material to Shader on page 6832 3ds Max Shader List on page 6840 3ds Max Advanced Shaders group Contour Assigns a contour shader on page 7168. The contour component can be assigned the following shaders: Shader Library Combi contour Curvature contour Depth Fade contour Factor Color contour mental ray Connection Rollout | 6221 Shader Library Layer Thinner contour Simple contour Width From Color contour Width From Light contour Width From Light Dir contour Light Map Assigns a light map shader. WARNING No light map shaders are provided with 3ds Max. This option is for users who have access to light map shaders via other shader libraries or custom shader code. Optimization group Flag Material as Opaque When on, indicates that the material is fully opaque. This tells the mental ray renderer that it doesn't need to process transparency for this material, or to use the shadow shader. This can improve rendering time. Default=off. DirectX Manager Rollout Material Editor ➤ DirectX Manager rollout Lets you select a DirectX viewport shader for viewing Direct3D hardware shaders. DirectX shaders require the Direct3D graphics driver on page 8912, which uses DirectX. With DirectX shading, materials in a viewport more accurately represent how the material will appear in another application, or on other hardware such as a game engine. DirectX viewport shaders are especially useful for previewing texture-baked materials on page 7307. 6222 | Chapter 17 Material Editor, Materials, and Maps TIP To display a material using a DirectX shader, rather than 3ds Max software, choose Show Hardware Map In Viewport from the Show Standard/Hardware Map In Viewport flyout, then click this button to turn it on. Hardware viewport rendering requires a DirectX9.0c-compliant video card. Also, hardware viewport rendering is supported only by the Direct3D display driver on page 8912. See Showing Maps in Viewports on page 6006 for more information. 3ds Max provides two DirectX shaders: ■ LightMap shader on page 6601 ■ Metal Bump shader on page 6602 NOTE This rollout does not appear for Multi/Sub-Object and Shell materials, which are simply containers of other materials. See also: ■ DirectX Shader Material on page 6597 Interface Save as .FX File Click to display a Save Effect File dialog that lets you save the active material as an FX file on page 9172. Enable Plugin Material Turn on to use the chosen DirectX shader in shaded viewports. Default=off. When not enabled, viewports continue to use the default viewport (interactive) renderer on page 9343 (or the ActiveShade renderer on page 7001, if that has been chosen). This toggle is unavailable if no shader plug-in has been chosen from the drop-down list, and when DX Display Of Standard Material is on. DirectX Manager Rollout | 6223 Plug-in drop-down list Use the drop-down list to choose a DirectX viewport shader. The list is unavailable when DX Display Of Standard Material is on. mental ray Materials 3ds Max comes with several materials created specifically for use with the mental ray renderer on page 7129. These materials are visible in the Material/Map Browser on page 6167 when mental ray is the active renderer. NOTE When you wire the parameters of an object with a mental ray material assigned, the names of material parameters might differ from those in the Material Editor interface. Also, parameters not supported by 3ds Max might appear as blanks in the wiring menu. Autodesk Materials Autodesk Materials are mental ray materials that model materials commonly used in construction, design, and the environment. They correspond to Autodesk Revit materials, as well as materials in AutoCAD and Autodesk Inventor, so they provide a way to share surface and material information if you also use those applications. 6224 | Chapter 17 Material Editor, Materials, and Maps A scene that uses Autodesk Materials Autodesk Materials are based on the Arch & Design material on page 6269. Like that material, they work best when used with physically accurate (photometric) lights, and geometry that is modeled in real-world units. On the other hand, the interface of each Autodesk Material is much simpler than the Arch & Design material interface, and lets you achieve realistic, physically correct results with comparatively little effort. NOTE The Autodesk Material Library is a set of mental ray material libraries based on manufacturing-supplied data and professional images. This includes building and design materials such as professional wall paint with glossy or matte finishes, solid glass, and concrete. These materials provide a convenient way of creating realistic textures. Autodesk Bitmaps Many Autodesk Material types have one or more Autodesk Bitmaps on page 6635 already assigned to them. To change the default bitmap assignment (if there is one), view the parameters for either the Autodesk Bitmap itself, or the parent material, and then click the map button. 3ds Max opens a file dialog so you can specify an image file. On the Parameters rollout for the Autodesk mental ray Materials | 6225 Bitmap type, the button is labeled Source; in the settings for the parent material, usually the button is labeled Image. WARNING 3ds Max allows you to disconnect a bitmap from an Autodesk Material, or to replace it with some other kind of map. However, if you do that other Autodesk applications such as AutoCAD won’t be able to read the Autodesk Material, so we recommend that you always leave the Autodesk Material bitmap nodes as they are. You can change the texture file that they call, or adjust their settings, but don’t disconnect them or replace them with a map type that is supported only by 3ds Max. Uninstalling Autodesk Materials WARNING If you uninstall or remove an Autodesk Material library, the library is no longer available to other Autodesk products such as AutoCAD, Autodesk Revit, or Autodesk Inventor. Uninstalling also means you will be unable to view or render 3ds Max scenes that have Autodesk Materials currently in them. For detailed information about installing or uninstalling Autodesk Material libraries, and how to reinstall them, see the section “Installing Autodesk Material Libraries” in the Installation Guide. Autodesk Ceramic Material/Map Browser on page 6167 ➤ Choose Autodesk Ceramic. Note: The Ceramic material appears in the Browser only if mental ray or Quicksilver is the active renderer. This material has the appearance of glazed ceramic, including porcelain. 6226 | Chapter 17 Material Editor, Materials, and Maps Autodesk Ceramic applied to the plate and bowl Interface mental ray Materials | 6227 Ceramic rollout Type Sets the surface type. ■ Ceramic(The default.) Has the look of earthenware. ■ PorcelainHas the look of porcelain. Color Sets how the color is specified. ■ Use Color(The default.) When this is active, a color swatch lets you choose the material color. ■ Use MapWhen this is active, a map button lets you choose the map. Finish Sets the surface finish (and reflectivity) of the material. ■ High Gloss/Glazed(The default.) ■ Satin ■ Matte Finish Bumps rollout Finish Bumps are meant to model patterns that appear in the glaze during firing. 6228 | Chapter 17 Material Editor, Materials, and Maps Enable When on, the material shows low-frequency waves or other patterns. Default=off. Type Sets the type of finish pattern. ■ Wavy(The default.) When chosen, the surface shows low-frequency waves. ■ Stamped/CustomWhen chosen, the surface uses a map to specify the finish pattern. The Image button is available so you can choose the map. Amount Controls the amount of the pattern to apply. Range: 0.0 to 1.0. Default=0.05. Relief Pattern rollout A relief pattern is meant to model a pattern stamped into the clay. Enable When on, applies a relief pattern to the material. Default=on. Image Click to specify a bitmap for the relief pattern. Amount Controls the height of the relief. Range: 0.0 to 2.0. Default=0.25. Autodesk Concrete Material/Map Browser on page 6167 ➤ Choose Autodesk Concrete. Note: The Concrete material appears in the Browser only if mental ray or Quicksilver is the active renderer. This material has the appearance of concrete. mental ray Materials | 6229 Autodesk Concrete with Smooth finish applied to the building Autodesk Concrete with Broom Curved finish and Weathering applied to the pavement Interface 6230 | Chapter 17 Material Editor, Materials, and Maps Concrete rollout Color Sets how the color is specified. ■ Use Color(The default.) When this is active, a color swatch lets you choose the material color. ■ Use MapWhen this is active, a map button lets you choose the map. Sealant Controls the reflectiveness of the surface. ■ None(The default.) Doesn’t alter the surface finish. ■ EpoxyAdds a glossy reflective coating. ■ AcrilycAdds a matte reflective coating. Finish Bumps rollout Finish Bumps Controls the surface texture of the concrete. ■ Broom Straight(The default.) Uses a straight broom pattern. ■ Broom CurvedUses a curving broom pattern. ■ SmoothUses a smooth pattern with speckled irregularities. ■ PolishedUses a completely smooth pattern. ■ Stamped/CustomUses a custom bitmap. mental ray Materials | 6231 When this option is active, the Image button lets you specify the bitmap, and the Amount slider controls the height of the finish bumps. Weathering rollout Weathering applies slight variations in brightness to the surface of the concrete. Enable When on, applies weathering to the surface. Default=off. Type ■ Automatic(The default.) Applies weathering automatically. ■ CustomUses a bitmap to specify the weathering pattern. When this option is active, the Image button lets you choose the bitmap. Autodesk Generic Material/Map Browser on page 6167 ➤ Choose Autodesk Generic. Note: The Generic material appears in the Browser only if mental ray or Quicksilver is the active renderer. This material is a generic interface for creating a custom appearance. 6232 | Chapter 17 Material Editor, Materials, and Maps Interface Generic rollout Color Click to set the base color of the material. Image Click to choose a map to apply to the material. mental ray Materials | 6233 Typically a texture map will hide the base color, unless you use the map as a decal (no tiling). Image Fade Controls the compositing between the base color and the texture map. At 100.0 percent, the texture map is completely opaque. Range: 0.0 to 100.0. Default=100.0. NOTE Viewports don’t show the effect of Image Fade. Glossiness Controls the glossiness of the surface. ■ Use Slider(The default.) When active, glossiness is controlled by a slider. ■ Use MapWhen active, the slider is replaced by a map button you can click to choose a map for the glossiness pattern. Highlights When on, uses metallic specular highlights for the material. When off, uses nonmetallic highlights. Default=off. Reflectivity rollout These controls affect the reflectivity of the surface and the intensity of specular highlights. Direct Controls the reflectivity of the surface under direct light. ■ Use Slider(The default.) When active, direct reflectivity is controlled by a slider. ■ Use MapWhen active, the slider is replaced by a map button you can click to choose a map that controls direct reflectivity. Oblique Controls the reflectivity of the surface under oblique light. ■ Use Slider(The default.) When active, oblique reflectivity is controlled by a slider. 6234 | Chapter 17 Material Editor, Materials, and Maps ■ Use MapWhen active, the slider is replaced by a map button you can click to choose a map that controls oblique reflectivity. Transparency rollout Enable When on, the material is transparent, or partially so. Default=off. Amount Controls the overall transparency. Range: 0.0 to 100.0. Default=30.0. Image Click to choose a map that controls reflectivity in combination with the overall Amount. Image Fade Controls the compositing of the overall Amount and the effect of the image map. ■ Use Slider(The default.) When actives, uses a slider to control the image fade. ■ Use MapWhen active, uses a map to control the image fade. The slider is replaced by a map button. Translucency When the overall Amount is greater than zero, controls how much of that amount is translucent. ■ Use Slider(The default.) When actives, uses a slider to control the translucency. ■ Use MapWhen active, uses a map to control the translucency. The slider is replaced by a map button. mental ray Materials | 6235 Refraction Lets you set the Index of Refraction (IOR) of the m aterial. ■ AirHas an IOR of 1.0. ■ WaterHas an IOR of 1.33. ■ AlcoholHas an IOR of 1.36. ■ QuartzHas an IOR of 1.46. ■ Glass(The default.) Has an IOR of 1.52. ■ DiamondHas an IOR of 2.3. ■ CustomLets you set an arbitrary value for the IOR. Range: 0.001 to 5.0. Cut-outs rollout Enable When on, enables cut-out mapping on page 6586 for the material. Default=off Image Click to choose a map to use for the cut-out mapping. Self Illumination rollout Enable When on, makes the material self illuminating. Default=off. 6236 | Chapter 17 Material Editor, Materials, and Maps Luminance Sets the brightness of the glow, measured in candelas per square meter. ■ Dim glow(The default.) Has a value of 10.0 cd/m2. ■ LED panelHas a value of 100.0 cd/m2 ■ LED screenHas a value of 140.0 cd/m2 ■ Cell phone screenHas a value of 200.0 cd/m2 ■ CRT TelevisionHas a value of 250.0 cd/m2 ■ Lamp shade exteriorHas a value of 1300.0 cd/m2 ■ Lamp shade interiorHas a value of 2500.0 cd/m2 ■ Desk Lamp LensHas a value of 10000.0 cd/m2 ■ Halogen Lamp LensHas a value of 10000.0 cd/m2 ■ Frosted BulbHas a value of 21000.0 cd/m2 ■ CustomLets you set an arbitrary value for the glow. Color Temperature Sets the color of the glow in degrees Kelvin. ■ CandleHas a value of 1850.0K. ■ Incandescent BulbHas a value of 2800.0K. ■ FloodlightHas a value of 3400.0K. ■ MoonlightHas a value of 4100.0K. ■ Daylight - WarmHas a value of 5000.0K. ■ Daylight - CoolHas a value of 6000.0K. ■ Xenon Arc LampHas a value of 6420.0K. ■ TV ScreenHas a value of 9320.0K. ■ Custom(The default.) Lets you set an arbitrary value for the color temperature. Filter Color Creates the effect of a colored filter over the illuminated surface. ■ Use Color(The default.) When this is active, a color swatch lets you choose the filter color. mental ray Materials | 6237 ■ Use MapWhen this is active, a map button lets you choose the map for the filter color. Bump rollout Enable When on, enables bump mapping on page 6472 for the material. Default=off. Image Click to choose an image to use for bump mapping. Amount Controls the amount of the bump mapping. ■ Use Slider(The default.) When active, the bump amount is controlled by a slider. ■ Use MapWhen active, the slider is replaced by a map button you can click to choose a map for the bump mapping amount. Autodesk Glazing Material/Map Browser on page 6167 ➤ Choose Autodesk Glazing. Note: The Glazing material appears in the Browser only if mental ray or Quicksilver is the active renderer. This material is for thin, transparent surfaces such as glazing in windows and doors. 6238 | Chapter 17 Material Editor, Materials, and Maps In a daytime scene, Autodesk Glazing admits light through the glazed panels of the doors. mental ray Materials | 6239 In a twilight scene, Autodesk Glazing also generates reflections (Reflectance increased to 30.0.) Interface 6240 | Chapter 17 Material Editor, Materials, and Maps Glazing rollout Color Lets you choose a color for the sheets of glass. ■ Clear(The default.) ■ Green ■ Gray ■ Blue ■ Blue Green ■ Bronze ■ CustomWhen Custom is active, the Custom Color controls let you set your own color: You can use either a simple color swatch, or a texture map. Reflectance Controls the reflectivity of the sheets of glass. Range: 0.0 to 50.0. Default=10.0. Sheets of glass Sets the number of sheets of glass in a single object. The more sheets of glass, the greater the refractivity. Range: 1 to 6. Default=2. Autodesk Hardwood Material/Map Browser on page 6167 ➤ Choose Autodesk Hardwood. Note: The Hardwood material appears in the Browser only if mental ray or Quicksilver is the active renderer. The Hardwood material has the appearance of wood. mental ray Materials | 6241 Autodesk Hardwood applied to the table as Furniture use, and to the floor as Flooring use Interface 6242 | Chapter 17 Material Editor, Materials, and Maps Wood rollout Image Specifies the bitmap to be used for the hardwood pattern Stain Lets you choose a stain to add to the base hardwood pattern. ■ NoneWhen active, there is no stain. ■ ColorWhen active, the Stain Color swatch lets you choose the color of the stain. Finish Lets you choose the surface finish of the hardwood. ■ Glossy Varnish(The default.) ■ Semi-Gloss Varnish ■ Satin Varnish ■ Unfinished Used For Lets you choose how the wood is used. ■ FlooringWhen active, the material uses an Ocean shader (see Shaders in the LumeTools Collection on page 6811) to add a slight warp to large surfaces, improving their realism. (You can still use the Relief Pattern map as well.) ■ FurnitureSurfaces are not warped, though you can still use the Relief Pattern for other surface effects. mental ray Materials | 6243 Relief Pattern rollout Enable When on, generates a relief pattern, like a bump map, for the wood surface. Default=on. Type ■ Based on wood grain(The default.) Generates a relief pattern based on the Image map used to display the wood pattern. ■ CustomLets you choose a bitmap to use for the relief pattern. While Custom is active, you can use the Image button to choose the map. Amount Controls the height of the relief pattern. Range: –10.0 to 10.0. Default=0.3. Autodesk Masonry/CMU Material/Map Browser on page 6167 ➤ Choose Autodesk Masonry/CMU. Note: The Masonry/CMU material appears in the Browser only if mental ray or Quicksilver is the active renderer. This material has the appearance of masonry or of concrete masonry units (CMUs). 6244 | Chapter 17 Material Editor, Materials, and Maps Autodesk Masonry/CMU with a brick pattern applied to the flat walls Interface mental ray Materials | 6245 Masonry rollout Type Sets the type of the surface. ■ CMU(The default.) ■ Masonry Color Sets the color of the surface. ■ Use Color(The default.) When this is active, a color swatch lets you choose the color. ■ Use MapWhen this is active, a map button lets you choose the map for the color. Finish Chooses the surface finish and reflectivity of the masonry. ■ Glossy ■ Matte ■ Unfinished(The default.) Relief Pattern rollout Enable When on, applies a relief pattern to the material. Default=on. Image Click to specify a bitmap for the relief pattern. 6246 | Chapter 17 Material Editor, Materials, and Maps Amount Controls the height of the relief. Range: 0.0 to 2.0. Default=0.25. Autodesk Metal Material/Map Browser on page 6167 ➤ Choose Autodesk Metal. Note: The Metal material appears in the Browser only if mental ray or Quicksilver is the active renderer. This material has the appearance of metal. Autodesk Metal with a type of Stainless Steel applied to the utensils, and with a type of Brass applied to the framework of the chair mental ray Materials | 6247 Interface Metal rollout Type Sets the base color and texture of the material, and controls which properties are used. ■ Aluminum(The default.) For Aluminum, you can change the Finish. ■ Anodized AluminumFor Anodized Aluminum, you can change the Color. ■ ChromeFor Chrome, you can change the Finish. ■ CopperFor Copper, you can change the Patina and the Finish. ■ BrassFor Brass, you can change the Finish. ■ BronzeFor Bronze, you can change the Patina and the Finish. ■ Stainless SteelFor Stainless Steel, you can change the Finish. ■ ZincFor Zinc, there are no further options. 6248 | Chapter 17 Material Editor, Materials, and Maps Color Lets you set a custom color for Anodized Aluminum. Patina Lets you set a patina for Copper or Bronze. The higher the value, the more the amount of patina. Range: 0 to 1.0. Default=0.0. Finish Lets you set a surface finish for Aluminum, Chrome, Copper, Brass, Bronze, or Stainless Steel. ■ Polished(The default.) ■ Semi-polished ■ Satin ■ Brushed Relief Pattern rollout Enable When on, applies a relief pattern to the material. Default=off. Type Lets you choose a predefined relief pattern, or create a custom pattern. ■ Knurl(The default.) ■ Diamond Plate ■ Checker Plate ■ CustomLets you choose a bitmap to control the relief pattern. Image When Custom is the active Type, click to specify a bitmap for the relief pattern. Amount Controls the height of the relief. Range: 0.0 to 2.0. Default=0.3. Scale Adjusts the scale of the relief pattern. Range: 0.0 to 5.0. Default=1.0. mental ray Materials | 6249 Cut-outs rollout Enable When on, enables cut-out mapping on page 6586 for the material. Default=off Type Lets you choose a predefined cut-out pattern, or create a custom pattern. For those cut-out patterns that let you adjust dimensions, the values are set in inches. ■ Staggered Circles(The default.) For the Staggered Circles pattern, you can set a Diameter and a Center Spacing distance. ■ Straight CirclesFor the Straight Circles pattern, you can set a Diameter and a Center Spacing distance. ■ SquaresFor the Squares pattern, you can set a Size and a Center Spacing distance. ■ GrecianFor the Grecian pattern, there are no additional settings. The Grecian pattern is 0.625” square, and the squares are separated by 0.125”. ■ CloverleafFor the Cloverleaf pattern, there are no additional settings. The Cloverleaf height (at the waist of each lobe) is 0.25”, and the width (from the apex of one lobe to the apex of the opposite lobe) is 0.5” ■ HexagonFor the Hexagon pattern, there are no additional settings. 6250 | Chapter 17 Material Editor, Materials, and Maps The Hexagon height (the long dimension) is 0.3125”, and the width (the narrow dimension) is 0.25”. ■ CustomFor the Custom pattern, the Image button lets you choose a bitmap that will generate cut-outs. Autodesk Metallic Paint Material/Map Browser on page 6167 ➤ Choose Autodesk Metallic Paint. Note: The Metallic Paint material appears in the Browser only if mental ray or Quicksilver is the active renderer. This material has the appearance of metallic paint, as on an automobile. Autodesk Metallic Paint, with flakes (“flecks”) mental ray Materials | 6251 Interface Metallic Paint rollout Color Sets the base color for the paint. Highlight Spread This controls the specular highlights of the base coat: the blurry, secondary highlights beneath the sharp, primary highlights of the top coat. Range: 0.0 to 100.0. Default=50.0 Flecks rollout Enable When on, the metallic paint includes flecks, creating a “metal flake” appearance. Default=off. Color Sets the color of the flecks. Default=white. This value works as a grayscale: When the HSV value is white or 1.0, flecks show at full strength. When the HSV value is black or 0.0, they don’t appear. When the HSV value is 50 percent gray, or 0.5, the fleck effect is at 50 percent. 6252 | Chapter 17 Material Editor, Materials, and Maps Size Sets the size of the flecks. This can be useful for scaling them in renderings. Range: 0.0 to 100.0. Default=12.0. Pearl rollout Enable When on, adds a pearly, iridescent effect to the material. Default=off. White Autodesk Metallic Paint with a Pearl effect mental ray Materials | 6253 Type ■ Chromatic(The default.) When Chromatic is active, you can adjust the Amount of the effect. ■ CustomWhen Custom is active, you can choose a complement color for the pearl effect, and adjust Blend, which ranges from 0.0 to 100.0 (default=20.0), where 0.0 shows only the base color and 100.0 shows only this complement Color. With a Custom pearl effect, you can also adjust the Amount. Top Coat rollout The Metallic Paint material always has a clear top coat. Settings on this rollout let you adjust the shininess of the top coat and its texture. Type ■ Carpaint(The default.) Carpaint has Glossiness = 80.0 and Angle Falloff = 20.0. ■ ChromeChrome has Glossiness = 100.0 and Angle Falloff = 0.0. ■ MatteMatte has Glossiness = Angle Falloff = 0.0. ■ CustomCustom lets you choose your own values for Glossiness and Angle Falloff. At a Glossiness value of 0.0, the surface finish is completely matte. At a Glosiness value of 100.0, the surface finish is completely reflective. The Angle Falloff controls a Fresnel effect: At 0.0, there is no Fresnel effect at all; at 100.0 there is a high Fresnel effect, and highlights are reflective only in a narrow zone at extreme angles. 6254 | Chapter 17 Material Editor, Materials, and Maps Finish Controls the texture of the top coat. ■ Smooth(The default.) ■ Orange Peel The top coat has a pitted surface, like an orange peel. The Amount slider and numeric field let you control the amount of the pitting effect. Autodesk Metallic Paint with an Orange Peel surface finish Autodesk Mirror Material/Map Browser on page 6167 ➤ Choose Autodesk Mirror. Note: The Mirror material appears in the Browser only if mental ray or Quicksilver is the active renderer. This material acts as a mirror. mental ray Materials | 6255 Mirror on the left reflects the room and the statue. Interface Mirror rollout Tint Color Lets you choose a color to tint the glass of the mirror. 6256 | Chapter 17 Material Editor, Materials, and Maps Autodesk Plastic Vinyl Material/Map Browser on page 6167 ➤ Choose Autodesk Plastic Vinyl. Note: The Plastic Vinyl material appears in the Browser only if mental ray or Quicksilver is the active renderer. This material has a synthetic appearance, as of plastic or vinyl. Solid Autodesk Plastic used for the plate, bowl, and utensils Clear Autodesk Plastic used for the wine glass Red Vinyl used for the seat and back of the chair mental ray Materials | 6257 Interface Plastic rollout Type Lets you choose the material type. ■ Plastic (solid)(The default.) ■ Plastic (transparent) ■ Vinyl Color Sets the color of the material. ■ Use Color(The default.) When this is active, a color swatch lets you choose the color. ■ Use MapWhen this is active, a map button lets you choose the map for the color. 6258 | Chapter 17 Material Editor, Materials, and Maps Finish Sets the surface finish and reflectivity of the material. ■ Polished ■ Glossy ■ Matte Finish Bumps rollout Finish Bumps adds a bump pattern such as you might find on vinyl siding or flooring. Enable When on, the material uses the bump pattern. Default=off. Image Click to specify a bitmap for the bump pattern. Amount Controls the height of the finish bumps. Range: 0.0 to 1.0. Default=0.05. Relief Pattern rollout Enable When on, applies a relief pattern to the material. Default=off. Image Click to specify a bitmap for the relief pattern. Amount Controls the height of the relief. Range: 0.0 to 2.0. Default=0.25. mental ray Materials | 6259 Autodesk Solid Glass Material/Map Browser on page 6167 ➤ Choose Autodesk Solid Glass. Note: The Solid Glass material appears in the Browser only if mental ray or Quicksilver is the active renderer. This material has the appearance of solid glass. Clear (default) Autodesk Solid Glass used for the wine glass Blue Autodesk Solid Glass used for the plate and bowl 6260 | Chapter 17 Material Editor, Materials, and Maps Interface Solid Glass rollout Color Lets you choose a color for the glass. ■ Clear(The default.) ■ Green ■ Gray ■ Blue ■ Blue Green ■ Bronze ■ CustomWhen Custom is active, the Custom Color control becomes active, and you can specify a color for the glass using either the color swatch or a map button. Reflectance Sets the reflectivity of the glass. Range: 0.0 to 100.0. Default=5.0. mental ray Materials | 6261 Refraction Sets the refractivity (Index of Refraction, or IOR) of the glass. ■ AirThe IOR=1.0. ■ WaterThe IOR=1.33. ■ AlcoholThe IOR=1.36. ■ QuartzThe IOR=1.46. ■ Glass(The default.) The IOR=1.52. ■ DiamondThe IOR=2.3. NOTE You can also set a custom IOR value by entering a custom value in the numeric field. Roughness Sets the roughness of the surface of the glass. Range: 0.0 to 0.1. Default=0.0. Relief Pattern rollout Enable When on, applies a relief pattern to the surface of the glass. Default=off. Type Lets you choose a predefined relief pattern, or create a custom pattern. ■ Rippled(The default.) ■ Wavy Plate ■ CustomLets you choose a bitmap to control the relief pattern. Image When Custom is the active Type, click to specify a bitmap for the relief pattern. Amount Controls the height of the relief. Range: 0.0 to 2.0. Default=0.3. 6262 | Chapter 17 Material Editor, Materials, and Maps Autodesk Stone Material/Map Browser on page 6167 ➤ Choose Autodesk Stone. Note: The Stone material appears in the Browser only if mental ray or Quicksilver is the active renderer. This material has the appearance of stone. Autodesk Stone used as facing for the flat walls of the building mental ray Materials | 6263 Interface Stone rollout Image Click to choose a bitmap that defines the surface appearance of the stone material. Finish Sets the finish used for the stone surface. ■ Polished(The default.) ■ Glossy ■ Matte 6264 | Chapter 17 Material Editor, Materials, and Maps ■ Unfinished Finish Bumps rollout Enable When on, the material uses a bump pattern for its finish. Default=off. Type Lets you choose a preset pattern for the bump pattern, or choose a custom pattern. ■ Polished Granite(The default.) ■ Stone Wall ■ Glossy Marble ■ Custom Image When Custom is active, click to specify a bitmap for the bump pattern. Amount Controls the height of the finish bumps. Range: 0.0 to 1.0. Default=0.05. Relief Pattern rollout Enable When on, applies a relief pattern to the material. Default=off. Image Click to specify a bitmap for the relief pattern. mental ray Materials | 6265 Amount Controls the height of the relief. Range: 0.0 to 2.0. Default=0.25. Autodesk Wall Paint Material/Map Browser on page 6167 ➤ Choose Autodesk Wall Paint. Note: The Wall Paint material appears in the Browser only if mental ray or Quicksilver is the active renderer. This material has the appearance of a painted surface. Autodesk Wall Paint used for the walls of the room Interface 6266 | Chapter 17 Material Editor, Materials, and Maps Wall Paint rollout Color Lets you choose a color for the paint. Finish Sets the glossiness of the surface finish of the paint. ■ Flat/Matte(The default.) ■ Eggshell ■ Platinum ■ Pearl ■ Semigloss ■ Gloss Application Sets the texture of the paint, based on how the paint was applied. ■ Roller(The default.) ■ Brush ■ Spray Autodesk Water Material/Map Browser on page 6167 ➤ Choose Autodesk Water. Note: The Water material appears in the Browser only if mental ray or Quicksilver is the active renderer. This material has the appearance of water. mental ray Materials | 6267 In the foreground Autodesk Water used for the pool, and set to Swimming Pool In the background, Autodesk Water used for the sea, and set to Generic Sea/Ocean Interface Type Lets you choose the scale and texture of the water. ■ Swimming Pool(The default.) ■ Generic Reflecting Pool ■ Generic Stream/River ■ Generic Pond/Lake 6268 | Chapter 17 Material Editor, Materials, and Maps ■ Generic Sea/Ocean Color When any Type option other than Swimming Pool is active, you can choose the color of the water. ■ Tropical(The default.) ■ Algae/Green ■ Murky/Brown ■ Generic Reflecting Pool ■ Generic Stream/River ■ Generic Water/Lake ■ Generic Sea/Ocean ■ CustomWhen this option is active, you can click the Custom Color color swatch to choose an arbitrary color for the water. Wave Height Sets the height of wave bumps on the water, in arbitrary units. Range: 0.0 to 5.0. Default=0.5. Arch & Design Material (mental ray) Material/Map Browser on page 6167 ➤ Arch & Design Material Note: The Arch & Design material appears in the Browser only if the mental ray renderer is the currently active renderer. The mental ray Arch (architectural) & Design material improves the image quality of architectural renderings. It improves workflow and performance in general, and performance for glossy surfaces (such as floors) in particular. Special features of the Arch & Design material include self-illumination, advanced options for reflectivity and transparency, ambient occlusion settings, and the ability to round off sharp corners and edges as a rendering effect. mental ray Materials | 6269 A range of material effects available with the Arch & Design material TIP The Arch & Design material supports hardware-based viewport display for improved feedback while you edit its parameters. For more infomation, see Showing Maps in Viewports on page 6006. 6270 | Chapter 17 Material Editor, Materials, and Maps TIP The Arch & Design material interface has built-in descriptions of all of its important parameters. To view a tooltip describing a parameter that interests you, position the mouse cursor over the control's spinner, color swatch, check box, and so on. For a variety of suggestions on using the material to create specific effects, see Arch & Design Material (mental ray): Tips and Tricks on page 6328. What Is the Arch & Design Material? The mental ray Arch & Design material is a monolithic material shader designed to support most materials used in architectural and product-design renderings. It supports most hard-surface materials such as metal, wood, and glass. It is especially tuned for fast glossy reflections and refractions (replacing the DGS material on page 6818) and high-quality glass (replacing the dielectric material on page 6823). The major features are: ■ Easy to use, yet flexible: Controls are arranged logically in a most-used-first fashion. ■ Templates: Allow fast access to settings combinations for common materials. ■ Physically accurate: The material is energy conserving, making it impossible to create shaders that break the laws of physics. ■ Glossy performance: Advanced performance boosts including interpolation, emulated glossiness, and importance sampling. ■ Tweakable BRDF (bidirectional reflectance distribution function): You can define how reflectivity depends on angle. mental ray Materials | 6271 ■ Transparency: “Solid” or “thin” materials: transparent objects such as glass can be treated as either solid (refracting, built out of multiple faces) or thin (nonrefracting, can use single faces). ■ Round corners: Simulate fillets to allow sharp edges to still catch the light in a realistic fashion. ■ Indirect Illumination control: Set the final gather accuracy or indirect illumination level on a per-material basis. ■ Oren-Nayar diffuse: Allows “powdery” surfaces such as clay. ■ Built-in Ambient Occlusion: For contact shadows and enhancing small details. ■ All-in-one shader: Photon and shadow shader built in. ■ Waxed floors, frosted glass, and brushed metals: All fast and easy to set up. Physics and the Display The Arch & Design material attempts to be physically accurate, so its output has a high dynamic range. How visually pleasing the material looks depends on how colors inside the renderer are mapped to colors displayed on the screen. When rendering with the Arch & Design material, it is highly recommended that you operate through a tone mapper (exposure control) such as the mr Photographic Exposure Control on page 7677 in conjunction with gamma correction on page 8917; or at the very least, use gamma correction. A Note on Gamma Describing all the details of gamma correction is beyond the scope of this topic; this is just a brief overview. The color space of a normal, off-the-shelf computer screen is not linear. The color with RGB value 200 200 200 is not twice as bright as a color with RGB value 100 100 100, as one might expect. This is not a bug. Because our eyes see light in a nonlinear way, the former color is actually perceived to be about twice as bright as the latter. This makes the color space of a normal computer screen roughly uniform, perceptually. This is a good thing, and is actually the main reason 24-bit color (with only 8 bits or 256 discrete levels for each of the red, green, and blue components) looks as good as it does to our eyes. 6272 | Chapter 17 Material Editor, Materials, and Maps The problem is that physically correct computer graphics operates in a true linear color space where a value represents actual light energy. If one simply maps the range of colors output to the renderer naively to the 0–255 range of each RGB color component, the result is incorrect. The solution is to introduce a mapping of some sort. One of these mapping methods is called gamma correction. Most computer screens have a gamma of about 2.2 (known as the sRGB color space). Lower gamma-correction values tend to make everything look too dark, especially midtones. The light does not “add up” correctly. Using a gamma of 2.2, the theoretically correct value, makes the physically linear light inside the renderer appear in a correct linear manner on screen. However, because the response of photographic film isn’t linear either, some users find that this theoretically correct value looks too bright and washed out. A common compromise is to render to the gamma value of 1.8, making renderings look more like photographs: that is, as if the image had been shot on photographic film and then developed. However, when you export and import images (such as texture maps) to and from an external image-editing program, for best results you should set all gamma values on Preferences ➤ Gamma and LUT Preferences on page 8917 to 2.2. Exposure Control (Tone Mapping) Another method for mapping the physical energies inside the renderer to visually pleasing pixel values is known as exposure control or tone mapping. You can accomplish this either by rendering to a floating-point file format and using external software, or with a plug-in that allows the renderer to do it on the fly. In 3ds Max such plug-ins are known as exposure controls and are accessed from the Environment dialog. Use Final Gathering and Global Illumination The Arch & Design material is designed to be used in a realistic lighting environment: one that incorporates full direct and indirect illumination. mental ray provides two basic methods for generating indirect light: Final Gathering and Global Illumination. For best results, be sure to use at least one of these methods. At the very least, enable Final Gathering, or use Final Gathering combined with Global Illumination (photons) for quality results. Performance tips for using Final Gather and Global Illumination can be found here on page 6329. mental ray Materials | 6273 If you use an environment for your reflections, make sure the same environment (or a blurred copy of it) is used to light the scene through Final Gathering. In 3ds Max this means you should include a Skylight on page 5771 in your scene set to Use Scene Environment, or use Daylight system on page 5852 with Skylight set to mr Sky. Use Physically Correct Lights Traditional computer-graphics light sources live in a cartoon universe where the intensity of the light doesn’t change with the distance. The real world doesn’t agree with that simplification. Light decays when leaving a light source, due to the fact that light rays diverge from their source and the intensity of the light changes over distance. This decay of a point light source is 1/d2; in other words, light intensity is proportional to the inverse of the square of the distance to the source. One of the reasons for this traditional oversimplification is that in the early days of computer graphics, tone mapping was not used, and problems of colors blowing out to white in undesirable ways was rampant. (Raw clipping in sRGB color space is displeasing to the eye, especially if one color channel clips earlier than the others do. Tone mapping generally solves this by “soft clipping” in a more suitable color space than sRGB.) However, as long as only Final Gathering (FG) is used as indirect illumination method, such traditional simplifications still work. Even light sources with no decay still create reasonable renderings. This is because FG is concerned only with the transport of light from one surface to the next, not with the transport of light from the light source to the surface. It’s when you work with Global Illumination (GI) (that is, with photons) that troubles arise. When GI is enabled, light sources shoot photons. For the Arch & Design material (or any other mental ray material) to be able to work properly, it is imperative that the energy of these photons match the direct light cast by that same light. And since photons model light in a physical manner, decay is built in. Hence, when using GI: ■ Light sources must emit photons at the correct energy. ■ The direct light must decay in a physically correct way to match the decay of the photons. Therefore it is important to make sure the light shader and the photon emission shader of the lights work well together. 6274 | Chapter 17 Material Editor, Materials, and Maps In 3ds Max, this is most easily solved by using photometric lights on page 5707. All of these lights are guaranteed to have their photon energy in sync with their direct light. It is built in and automatic, and you don’t need to worry about setting it up. Performance Features The Arch & Design material contains a large set of built-in functions for optimal performance, including but not limited to: ■ Advanced importance sampling with ray rejection thresholds ■ Adaptive glossy sample count ■ Interpolated glossy reflection/refraction with detail enhancements ■ Ultra-fast emulated glossy reflections (Highlights+FG Only mode) ■ The option to ignore internal reflections for glass objects ■ The choice between traditional transparent shadows (suitable for objects such as window panes) and refractive caustics (suitable for solid glass objects), on a per-material basis. Procedures To create a physically correct, self-illuminated surface: An example of this application is a realistic halogen pendant luminaire with a translucent shade, such as frosted glass. 1 Create your geometry and obtain or create a photometric file of the luminaire. Determine the lamp color and intensity, as measured or provided by the manufacturer; for example: 1,500 cd/m2 and 3,700 degrees Kelvin. Enable exposure control on page 7665 and global illumination on page 7160. 2 Create a photometric light (the halogen lamp) and set its color and intensity. 3 Turn off the light source’s Affect Specular property. 4 Create and place the light-shade geometry and apply an Arch & Design material to it. 5 On the Self Illumination (Glow) rollout, set the same color and intensity you applied to the light source. Also, turn off the Illuminates The Scene (When Using FG) check box in the Glow Options group. mental ray Materials | 6275 6 Render the scene. Templates Rollout Material Editor ➤ Arch & Design Material ➤ Templates rollout Note: The Arch & Design material appears in the Browser only if the mental ray renderer is the currently active renderer. Provides access to Arch & Design material presets for quickly creating different types of materials such as wood, glass, and metal. You can also use templates as starting points for generating customized materials. Choose a template from the drop-down list; a description of the material then appears in the left-hand pane. NOTE The Arch & Design material works only with the mental ray renderer, so in order to see it represented accurately in the sample slots, you must first set mental ray to render in the Material Editor. For details, see Assign Renderer Rollout on page 7034. See also: ■ Main Material Parameters Rollout on page 6278 ■ BRDF Rollout on page 6295 ■ Self Illumination (Glow) Rollout on page 6299 ■ Special Effects Rollout on page 6304 ■ Advanced Rendering Options Rollout on page 6313 ■ Fast Glossy Interpolation Rollout on page 6319 ■ Special Purpose Maps Rollout on page 6324 ■ General Maps Rollout on page 6326 6276 | Chapter 17 Material Editor, Materials, and Maps Interface Appearance & Attributes Matte Finish Changes the material to an ideal Lambertian (diffuse) shading without affecting colors or maps. Pearl Finish Creates soft blurry reflections without affecting colors or maps. Glossy Finish Creates strong reflections without affecting colors or maps. Finishes Satin Varnished Wood Satin-finish wood with light blurred reflections. Glossy Varnished Wood Gloss-finish wood with strong reflections slightly blurred. Rough Concrete Concrete finished with a brush or broom, giving a very rough appearance. Polished Concrete Polished concrete with slightly blurred glossy reflections. Glazed Ceramic Glazed ceramic with glossy reflections. Glazed Ceramic Tiles Glazed tiles and grout with glossy reflections. Glossy Plastic Plastic with glossy reflections. Matte Plastic Plastic with a matte, rough finish. Masonry Brick material with bumps and extremely soft reflectivity. Rubber Dark rubber with soft reflectivity. Leather Dark brown leather with soft reflectivity. Transparent Materials Glass (Thin Geometry) Glass for window panes modeled as single faces. Does not do any refraction. Glass (Solid Geometry) Refracting glass for solid objects. Requires entry and exit surfaces with oriented normals on page 9237. mental ray Materials | 6277 Glass (Physical) Refracting glass for solid objects with attenuation of light inside volumes. For best results, requires caustics on page 7154 or segmented ray-traced shadows on page 7209. Frosted Glass (Physical) Frosted glass for solid objects with attenuation of light inside volumes. Interpolates blurred transparency for faster renderings. Translucent Plastic Film, Light Blur Translucent plastic modeled as single faces. Performs a light blur on transparency. Translucent Plastic Film, Opalescent Translucent plastic modeled as single faces. Performs a strong blur on transparency, wich opalescent effect. Water, Reflective surface Water surface for rivers, oceans, and so on. Captures reflections, but the water itself is not transparent. Metals Chrome Highly reflective chrome surface. Brushed Metal Brushed metallic surface. The grain of the brushed finish is created by a noise map modulating the reflection. Satined Metal Satined metallic surface showing a uniform spread for the reflections. Copper Copper material. Patterned Copper Copper material with procedural brush patterns. Advanced Tools Enable Details Enhancement Turns on ambient occlusion on page 6304 to enhance small details and create “connecting” shadows. Disable Details Enhancement Turns off ambient occlusion for the material. Main Material Parameters Rollout Material Editor ➤ Arch & Design Material ➤ Main Material Parameters rollout Note: The Arch & Design material appears in the Browser only if the mental ray renderer is the currently active renderer. Contains the main controls for the appearance of an Arch & Design material. 6278 | Chapter 17 Material Editor, Materials, and Maps NOTE The Arch & Design material works only with the mental ray renderer, so in order to see it represented accurately in the sample slots, you must first set mental ray to render in the Material Editor. For details, see Assign Renderer Rollout on page 7034. The Shading Model From a usage perspective, the shading model consists of three components: ■ Diffuse: Diffuse channel, including Oren Nayar “roughness”. ■ Reflections: Glossy anisotropic reflections, with highlights. ■ Refraction: Glossy anisotropic transparency and translucency. The Arch & Design material shading model Direct and indirect light from the scene cause diffuse reflections as well as translucency effects. Direct light sources also create specular highlights. Ray tracing is used to create reflective and refractive effects, and advanced importance-driven multi-sampling is used to create glossy reflections and refraction. NOTE The rendering speed of the glossy reflections/refractions can further be enhanced by interpolation as well as “emulated” reflections with the help of Final Gathering. mental ray Materials | 6279 Reflectivity Features The final surface reflectivity is in reality caused by the sum of three components: ■ The diffuse effect ■ The actual reflections ■ Specular highlights that simulate the reflection of light sources Diffuse, reflections, and highlights In the real world, highlights are just glossy reflections of the light sources. In computer graphics, it’s more efficient to treat these separately. However, to maintain physical accuracy, the material automatically keeps highlight intensity, glossiness, anisotropy, and so on, in sync with the intensity, glossiness, and anisotropy of reflections. Thus, there are no separate controls for these, as both are driven by the reflectivity settings. Conservation of Energy One of the most important features of the Arch & Design material is that it is automatically energy conserving. This means that it makes sure that diffuse + reflection + refraction <= 1. In other words, no energy is “magically” created, and the incoming light energy is properly distributed to the diffuse, reflection, and refraction components in a way that maintains the first law of thermodynamics. For example, when adding reflectivity, the energy must be taken from somewhere; hence, the diffuse level and the transparency will be automatically reduced accordingly. Similarly, adding transparency happens at the cost of the diffuse level. The rules are as follows: ■ Transparency takes energy from diffuse color: that is, at 100% transparency, there is no diffuse color at all. 6280 | Chapter 17 Material Editor, Materials, and Maps ■ Reflectivity takes energy from both diffuse and transparency: that is, at 100 percent reflectivity there is neither diffuse color nor transparency. ■ Translucency is a type of transparency, and the Translucency Weight parameter defines the percentage of transparency versus translucency. From left to right: Reflectivity = 0.0, 0.4, 0.8, and 1.0 From left to right: Transparency = 0.0, 0.4, 0.8, and 1.0 Conservation of energy also means that the level of highlights is linked to the glossiness of a surface. A high Reflection Glossiness value causes a narrow, intense highlight, while a lower value causes a wider, less intense highlight. This is because the energy is now spread out and dissipated over a larger area. Transparency Features The material supports full glossy anisotropic transparency and includes a translucent component. mental ray Materials | 6281 Translucency Solid versus Thin-Walled The transparency/translucency property can treat objects as either solid or thin-walled. If all objects were treated as solids at all times, every window pane in an architectural model would have to be modeled as two faces: an entry surface that refracts the light slightly in one direction, and immediately following it an exit surface, where light is refracted back into the original direction. Not only does this entail additional modeling work, it is a waste of rendering power to simulate refraction that has very little net effect on the image. Hence, the thin-walled option allows you to model the entire window pane as a single flat plane, foregoing any actual refraction of light. 6282 | Chapter 17 Material Editor, Materials, and Maps Solid versus thin-walled transparency and translucency In the preceding illustration, the helicopter canopy, the window pane, the translucent curtain, and the right-hand sphere all use thin-walled transparency or translucency, whereas the glass goblet, the plastic horse, and the left-hand sphere all use solid transparency or translucency. Cutout Opacity Beyond “physical” transparency, which models an actual property of the material, the material provides a completely separate, non-physical “cutout opacity” channel to allow “billboard” objects such as trees, or to cut out objects such as a chainlink fence with an opacity mask. See also: ■ Templates Rollout on page 6276 ■ BRDF Rollout on page 6295 ■ Self Illumination (Glow) Rollout on page 6299 ■ Special Effects Rollout on page 6304 mental ray Materials | 6283 ■ Advanced Rendering Options Rollout on page 6313 ■ Fast Glossy Interpolation Rollout on page 6319 ■ Special Purpose Maps Rollout on page 6324 ■ General Maps Rollout on page 6326 Interface Diffuse group Diffuse Level Diffuse Level on page 6420 controls the brightness of the diffuse color component. Range=0.0 to 1.0. Default=1.0. NOTE Because the material is energy conserving, the actual diffuse level used depends on the reflectivity and transparency, as discussed in Conservation of Energy on page 6280. Color Controls the diffuse color on page 9137. The diffuse color is the color in direct light. Default=50% gray. Roughness Roughness on page 6422 controls how quickly the diffuse component blends into the ambient component. Range=0.0 to 1.0. Default=0.0. The diffuse component uses the Oren-Nayar shading model. When the Roughness value is 0.0, this is identical to classical Lambertian shading; but 6284 | Chapter 17 Material Editor, Materials, and Maps with higher values, the surface gets a more “powdery” look, as shown in the following illustration. Left: Roughness=0.0 Center: 0.5 Right: 1.0 Reflection group Reflectivity The overall level of reflectivity. Range=0.0 to 1.0. Default=0.6. The Reflectivity and Color values combine to define the level of reflections as well as the intensity of the traditional highlight, also known as the specular highlight. This value is the maximum value; the actual value also depends on the angle of the surface, and comes from the BRDF curve. This curve (see Interface on page 6298) lets you define 0–degree reflectivity for surfaces facing the view and 90–degree reflectivity for surfaces perpendicular to the view. mental ray Materials | 6285 Left: No reflectivity, with a purely diffuse material Center: Angle-dependent reflectivity, with 0–degree reflectivity of 0.1 and a 90–degree reflectivity of 1.0 Right: Constant reflectivity, with both 0–degree reflectivity and 90–degree reflectivity of 0.9 NOTE In the preceding illustration, the high reflectivity automatically “subtracts” from the white diffuse color. If this didn’t happen, the material would become unrealistically overbright, and would break the laws of physics. Color The overall color of reflected light. Default=white. Glossiness Defines the surface “glossiness,” ranging from 1.0 (a perfect mirror) to 0.0 (a diffusely reflective surface). Default=1.0. 6286 | Chapter 17 Material Editor, Materials, and Maps Left: Glossiness=1.0 Center: 0.5 Right: 0.25 Glossy Samples Defines the maximum number of samples (rays) that mental ray shoots to create glossy reflections. Higher values cause slow rendering but create a smoother result. Lower values render faster but create a grainier result. In general, 32 is enough for most renderings. Available only when Glossiness does not equal 1.0. Because a Glossiness value of 1.0 creates a “perfect mirror,” it is meaningless to shoot multiple rays for this case, hence only one reflection ray is shot. NOTE If you set Glossy Samples to 0, the reflections take the form of a “perfect mirror” and only one ray is shot, regardless of the actual value of Glossiness. You can use this to boost performance for surfaces with very weak reflections. The highlight still respects the Glossiness value. Glossy reflections need to trace multiple rays to yield a smooth result. This can affect performance. For this reason, the material includes the following two special features designed to enhance performance: Fast (interpolate) When on, a smoothing algorithm allows rays to be reused and smoothed. The result is faster and smoother glossy reflections at the expense of accuracy. Interpolation is explained in greater detail in Fast Glossy Interpolation Rollout on page 6319. NOTE This method works best on flat surfaces. mental ray Materials | 6287 Highlights+FG only When on, mental ray traces no actual reflection rays. Instead, only the highlights are shown, as well as soft reflections emulated with the help of using Final Gathering. The Highlights+FG Only mode takes no additional rendering time compared to a non-glossy (diffuse) surface, yet can yield surprisingly convincing results. While it might not be completely convincing for “hero” objects in a scene, it can work very well for less-essential scene elements. It tends to work best on materials with weak reflections or extremely glossy (blurred) reflections, as shown in the following illustration: The two cups on the left use real reflections, while those on the right use Highlights+FG Only. Metal material Metallic objects actually influence the color of their reflection, whereas other materials do not. For example, a gold bar will have gold-colored reflections, but a red glass orb does not have red reflections. This is supported through the Metal Material option: ■ When off, the Reflection Color parameter defines the color, and the Reflectivity parameter together with the BRDF settings defines the intensity and colors of reflections. ■ When on, the Diffuse Color parameter defines the color of reflections, and Reflectivity parameter sets the “weight” between diffuse reflections and glossy (metallic) reflections. 6288 | Chapter 17 Material Editor, Materials, and Maps Left: Non-metallic reflections (Metal Material is off). Reflections clearly contain the color of the objects they reflect and are not influenced by the color of the materials. Center: Metallic reflections (Metal Material is on). Now the color of reflections are influenced by the color of the object. Right: A variant of this with Reflectivity=0.5, creating a 50:50 mix between colored reflections and diffuse reflections Refraction group Transparency Defines the level of refraction. Range=0.0 to 1.0. Default=0.0. Due to the material’s energy-conserving nature, the value set in the Transparency parameter is the maximum value; the actual value depends on the reflectivity as well as the BRDF curve. Color Defines the color of refraction. While this color can be used to create “colored glass.” A slightly more accurate method to do this is described in the Colored Glass section on page 6331 of the Tips & Tricks topic. Glossiness Defines the sharpness of the refraction/transparency, ranging from 1.0 (completely clear transparency) to 0.0 (extremely diffuse or blurry transparency). Default=1.0. mental ray Materials | 6289 Left: Refraction Glossiness=1.0 Center: Refraction Glossiness=0.5 Right: Refraction Glossiness=0.25 Glossy refraction needs to trace multiple rays to yield a smooth result. This can affect performance. For this reason, the material includes the following special feature designed to enhance performance: Fast (interpolate) When on, a smoothing algorithm allows rays to be reused and smoothed. The result is faster and smoother glossy refraction at the expense of accuracy. Interpolation is explained in greater detail in Fast Glossy Interpolation Rollout on page 6319. NOTE This method works best on flat surfaces. Glossy Samples Defines the maximum number of samples (rays) that mental ray shoots to create glossy refraction. Higher values cause slow rendering but create a smoother result. Lower values render faster but create a grainier result, like frosted glass. In general, 32 is enough for most renderings. Available only when Glossiness does not equal 1.0. Because a Glossiness value of 1.0 creates a perfectly clear (non-blurry) transparency, it is meaningless to shoot multiple rays for this case; hence, only one refraction ray is shot. NOTE If you set Glossy Samples to 0, the refraction takes the form of a “perfect lens” and only one ray is shot, regardless of the actual value of Glossiness. You can use this to boost performance for draft renderings. 6290 | Chapter 17 Material Editor, Materials, and Maps IOR The Index of Refraction, which is a measurement of how much a ray of light bends when entering a material. The direction in which light bends depends on whether it is entering or exiting the object. The Arch & Design material use the direction of the surface normal as the primary cue for figuring out whether it is entering or exiting. It is therefore important to model transparent, refractive objects with the surface normals pointing in the proper direction. The IOR can also be used to define the BRDF curve, which is what happens in the class of transparent materials known as “dielectric” materials, and is illustrated here: Left: IOR=1.0 Center: IOR=1.2 Right: IOR=1.5 The leftmost cup looks completely unrealistic, and is almost invisible. Because an IOR of 1.0, which equals that of air, is impossible in solid matter, we get no change in reflectivity across the material and hence perceive no edges or changes of any kind. On the other hand, the center and rightmost cups have realistic changes in reflectivity guided by the IOR. Instead of basing the reflectivity on the IOR, you can instead use the BRDF mode to set it manually: mental ray Materials | 6291 Different types of transparency In the previous illustration, the leftmost cup acquires its curve from the index of refraction. The center cup has a manually defined curve, which has been set to a 90-degree reflectivity of 1.0 and a 0 degree reflectivity of 0.2; this looks a bit more like metallized glass. The rightmost cup uses the same BRDF curve, but instead is set to thin-walled transparency on page 6317. Clearly, this method is better for making non-refractive objects than simply setting IOR to 1.0, as we tried in the left-hand example of the illustration before this one. Translucency group Translucency is handled as a special case of transparency; in order to use translucency, there must first exist some level of transparency. The implementation of translucency in the Arch & Design material is a simplification concerned solely with the transport of light from the back of an object to its front faces; it is not a true SSS (subsurface scattering) effect. You can create an SSS-like effect by using glossy transparency coupled with translucency, but this is neither as fast nor as powerful as the dedicated SSS shaders on page 6365. Translucency When on, the remaining Translucency become available and take effect when rendering. Weight Determines how much of the existing transparency is used as translucency. For example, if Weight=0.0, all of the transparency is used as transparency. If Weight=0.3, 30 percent of the transparency is used as translucency. 6292 | Chapter 17 Material Editor, Materials, and Maps All: Transparency=0.75 Left: Weight=0.0 Center: Weight=0.5 Right: Weight=1.0 Translucency is intended for use primarily in thin-walled mode on page 6317 (as in the example above), to model things like curtains, rice paper, and similar effects. In thin-walled mode it simply allows the shading of the reverse side of the object to bleed through. The shader also operates in solid mode on page 6317, but, as explained above, the SSS shaders are better suited for such purposes. Solid translucency with: Left: Weight=0.0 mental ray Materials | 6293 Center: Weight=0.5 Right: Weight=1.0 Color The translucency color. Anisotropy group Anisotropy Controls the shape of the highlight. At 1.0, the highlight is round: That is, there is no anisotropy. At 0.01, the highlight is elongated. One axis of the highlight graph changes to show changes in this parameter. Default=1.0. Left: Anisotropy=1.0 Center: Anisotropy=4.0 Right: Anisotropy=8.0 Rotation Changes the orientation of the highlight. The sample slot shows changes in orientation. This value can range from 0.0 to 1.0, with 1.0=360 degrees. So, for example, 0.25=90 degrees and 0.5=180 degrees. Default=0.0. 6294 | Chapter 17 Material Editor, Materials, and Maps Left: Anisotropy Rotation=0.0 Center: Anisotropy Rotation=0.25 Right: Anisotropy Rotation=[texture map] TIP When using texture-mapped Anisotropy Rotation, make sure the texture is not antialiased (filtered). You can achieve this by setting the map's Blur parameter to 0.0. Otherwise, the antialiased pixels cause local vortices in the anisotropy that appear as seam artifacts. Automatic/Map Channel Lets you optionally apply anisotropy to a specific map channel. If the Map Channel setting is Automatic, the base rotation follows the object’s local coordinate system. If it is any other value (in other words, a specific map channel), the space that defines the stretch directions of the highlights is derived from that channel’s texture space. WARNING Deriving the anisotropy from the texture space creates only one space per triangle and can cause visible seams between triangles. Also see Brushed Metal on page 6340. BRDF Rollout Material Editor ➤ Arch & Design Material ➤ BRDF rollout mental ray Materials | 6295 Note: The Arch & Design material appears in the Browser only if the mental ray renderer is the currently active renderer. BRDF stands for bidirectional reflectance distribution function. These controls let the material's reflectivity be ultimately guided by the angle from which the object surface is viewed. 0 degree (green) and 90 degree (red) view angles NOTE The Arch & Design material works only with the mental ray renderer, so in order to see it represented accurately in the sample slots, you must first set mental ray to render in the Material Editor. For details, see Assign Renderer Rollout on page 7034. BRDF: How Reflectivity Depends on Angle In the real world, the reflectivity of a surface is often view-angle dependent. A fancy term for this is bidirectional reflectance distribution function (BRDF). This is a way to define how much a material reflects when it is seen from various angles. 6296 | Chapter 17 Material Editor, Materials, and Maps The reflectivity of the wood floor depends on the view angle. Many materials exhibit this behavior. The most obvious examples are glass, water, and other dielectric materials with Fresnel effects, where the angular dependency is guided strictly by the index of refraction (IOR). Layered materials such as plastic, or varnished wood, display similar characteristics. The Arch & Design material allows this effect to be defined by the index of refraction, and also allows an explicit setting for the two reflectivity values for: ■ 0-degree faces (surfaces directly facing the camera) ■ 90-degree faces (surfaces 90 degrees to the camera) See also: ■ Templates Rollout on page 6276 ■ Main Material Parameters Rollout on page 6278 ■ Self Illumination (Glow) Rollout on page 6299 ■ Special Effects Rollout on page 6304 ■ Advanced Rendering Options Rollout on page 6313 ■ Fast Glossy Interpolation Rollout on page 6319 ■ Special Purpose Maps Rollout on page 6324 ■ General Maps Rollout on page 6326 mental ray Materials | 6297 Interface [BRDF method] Lets you choose how the BRDF curve is defined: ■ By IOR (fresnel reflections) When chosen, reflectivity based on angle of view is guided solely by the material's index of refraction. This is known as Fresnel reflections, which model the behavior of most dielectric materials such as water and glass. ■ Custom Reflectivity Function When chosen, the following settings determine reflectivity based on angle of view. ■ 0 deg. refl. Defines the reflectivity for surfaces directly facing the viewer (or incident ray). ■ 90 deg. refl. Defines the reflectivity of surfaces perpendicular to the viewer. ■ Curve shape Defines the falloff of the BRDF curve. Use this mode for hybrid materials (such as varnished wood) and for metals. For most metal surfaces, you can leave the 90-degree reflectivity parameter set to 1.0, and use the Reflectivity parameter on the Main Material Parameters Rollout on page 6278 to guide the overall reflectivity. On the other hand, the 0-degree reflectivity value for metals is usually high (0.8–1.0). Layered materials, such as linoleum and varnished wood, have lower 0-degree reflectivity values, in the range 0.1–0.3. For further information, see Quick Guide to Some Common Materials on page 6329. Reflectivity vs. Angle graph Depicts the combined effect of the Custom Reflectivity Function settings. 6298 | Chapter 17 Material Editor, Materials, and Maps Self Illumination (Glow) Rollout Material Editor ➤ Arch & Design Material ➤ Self Illumination (Glow) rollout Note: The Arch & Design material appears in the Browser only if the mental ray renderer is the currently active renderer. These parameters let you specify luminous surfaces within the Arch & Design material; for example, a translucent lamp shade. NOTE The Arch & Design material works only with the mental ray renderer, so in order to see it represented accurately in the sample slots, you must first set mental ray to render in the Material Editor. For details, see Assign Renderer Rollout on page 7034. A self-illuminated surface does not actually cast light, but it can optionally act as a source of indirect light when Final Gather on page 7213 is in effect, so it can have an impact on scene lighting in the rendered image. The optimal settings for self-illuminated surfaces depend on the lighting conditions and desired effects. This table provides recommended initial settings for lights and the glow options under different circumstances: Light Object Self-Illuminated Surface Affect Specular Affect Diffuse Visible in Reflections Illuminates with FG Area Lights Off On On Off Point Lights On On Off Off Glowing Object not applicable not applicable On On mental ray Materials | 6299 TIP The easiest way to toggle the Affect Specular and Affect Diffuse switches for a light source is to select the light in a viewport, right-click it, and then use the Tools 1 quadrant settings. This affects only one light source at a time. See also: ■ Templates Rollout on page 6276 ■ Main Material Parameters Rollout on page 6278 ■ BRDF Rollout on page 6295 ■ Special Effects Rollout on page 6304 ■ Advanced Rendering Options Rollout on page 6313 ■ Fast Glossy Interpolation Rollout on page 6319 ■ Special Purpose Maps Rollout on page 6324 ■ General Maps Rollout on page 6326 Interface Self Illumination (Glow) When on, the material is set to be self-illuminating, and the remaining rollout settings become available. Default=off. 6300 | Chapter 17 Material Editor, Materials, and Maps Color group To set the illumination color, choose either option and adjust its parameter: ■ Light Pick a common lamp specification to approximate the spectral character of the desired illumination. ■ Kelvin Set the color of the self-illuminated surface by adjusting the color-temperature spinner. The color temperature is displayed in degrees Kelvin. Filter Use a color filter to simulate the effect of a color filter placed over the self-illuminated surface. For example, a red filter over a white luminance source casts red light. Set the filter color by clicking the color swatch to display the Color Selector on page 304. Default=white (RGB=255,255,255; HSV=0,0,255). Luminance group To set the brightness of the illuminated surface, choose either option and then adjust the numeric setting: ■ Physical Units Sets the brightness in candelas per square meter. This is a physical value that takes the physical scale into account. ■ Unitless Uses an arbitrary numeric value to represent the brightness. [numeric value spinner] When Physical Units is chosen, sets the brightness in cd/m2. When Unitless is chosen, sets the brightness as an arbitrary value. The following table shows some representative real-world luminance values. Object Brightness in cd/m2 Cathode-ray tube (CRT) television screen 250 Liquid-crystal diode (LCD) television screen 140 Bright light-emitting diode (LED) panel on 100 an electronic device such as a DVD player Frosted lens in front of a desk lamp 10,000 (average) Frosted lens in front of a residential re- 10,000 (average) cessed halogen lamp mental ray Materials | 6301 Object Brightness in cd/m2 Exterior of a ceramic lamp shade on a 1300 decorative fixture Interior of a ceramic lamp shade on a dec- 2500 orative fixture Frosted incandescent bulb inside a decor- 210,000 ative fixture Cloudy sky in the afternoon 8,000 White ceiling in a brightly daylit room on 140 a cloudy day, oriented north Reflection from a cloudy sky on a varnished 875 wooden floor Dark asphalt on a cloudy afternoon, out- 115 doors Glow Options group Visible in Reflections When on, the illumination produced by the settings on this rollout appears in reflections on other surfaces. When off, the object is still reflected, but the illumination is not. Illuminates the Scene (when using FG) When on, and Final Gather on page 7213 is in effect, the self-illuminated surface acts as an indirect light source and contributes to the Final Gather lighting in the scene. When off, has no effect on Final Gather. 6302 | Chapter 17 Material Editor, Materials, and Maps Self-illuminated spheres not illuminating the scene Self-illuminated spheres illuminating the scene mental ray Materials | 6303 Special Effects Rollout Material Editor ➤ Arch & Design Material ➤ Special Effects rollout Note: The Arch & Design material appears in the Browser only if the mental ray renderer is the currently active renderer. Provides settings for ambient occlusion (AO) and round corners and edges. NOTE The Arch & Design material works only with the mental ray renderer, so in order to see it represented accurately in the sample slots, you must first set mental ray to render in the Material Editor. For details, see Assign Renderer Rollout on page 7034. Built-in Ambient Occlusion Ambient Occlusion (AO) is a method spearheaded by the film industry for emulating the look of true global illumination by using shaders that calculate the extent to which an area is “occluded,” or prevented from receiving incoming light. Used alone, an AO shader, such as the separate mental ray Ambient/Reflective Occlusion shader, creates a grayscale output that is dark in areas light cannot reach, and bright in areas where it can. The following image illustrates the main results of AO: dark crevices and areas where light is blocked by other surfaces, and bright areas that are exposed to the environment. 6304 | Chapter 17 Material Editor, Materials, and Maps An example of AO applied to a scene One important AO control is that you can adjust how far AO it looks for occluding geometry. mental ray Materials | 6305 AO looked up within a shorter radius Specifying a radius creates a localized AO effect: Only surfaces within the given radius are considered as occluders. This also speeds up rendering. The practical result is that the AO provides nice “contact shadow” effects and makes small crevices visible. The Arch & Design material gives you two ways to use its built-in AO: ■ Traditional AO: Add an omnipresent ambient light that is then attenuated by the AO to create details. ■ Detail enhancement: Use AO together with another indirect-lighting method such as Final Gather or photons. The latter method is especially interesting when you use a highly smoothed indirect-illumination solution, such as a high photon radius or an extremely low Final Gather density, which could otherwise lose small details. By applying the AO with short rays, these details can be brought back. 6306 | Chapter 17 Material Editor, Materials, and Maps Round Corners Computer-generated imagery tends to look unrealistic, partly because edges of objects are geometrically sharp, whereas most edges in the real world are slightly rounded, chamfered, worn, or filleted in some manner. This rounded edge tends to “catch the light” and create highlights that make edges more visually convincing. The Arch & Design material can create the illusion of rounded edges at render time. This feature is intended primarily to speed up modeling, so that you don’t need to explicitly fillet or chamfer the edges of objects. Left: No round corners; Right: Round corners The function is not a displacement; it is merely a shading effect, like bump mapping, and is best suited for straight edges and simple geometry, not advanced, highly curved geometry. See also: ■ Templates Rollout on page 6276 ■ Main Material Parameters Rollout on page 6278 ■ BRDF Rollout on page 6295 ■ Self Illumination (Glow) Rollout on page 6299 ■ Advanced Rendering Options Rollout on page 6313 ■ Fast Glossy Interpolation Rollout on page 6319 ■ Special Purpose Maps Rollout on page 6324 ■ General Maps Rollout on page 6326 mental ray Materials | 6307 Interface Ambient Occlusion group Ambient occlusion helps emulate the look of global illumination by creating darker areas where light doesn’t reach, without actually generating shadows. With the Arch & Design material, you can specify ambient occlusion on a per-material basis. The following illustration depicts a model helicopter that is lit almost exclusively by indirect light. Note how the helicopter does not feel “grounded” in the left-hand image: The shadows under the landing skids are too vague. The right-hand image uses AO to “punch out” the details and the shadows where the landing skids contact the floor. 6308 | Chapter 17 Material Editor, Materials, and Maps Left: Without AO Right: With AO See also: Built-in Ambient Occlusion on page 6304. Ambient Occlusion When on, enables ambient occlusion (AO) and makes the remaining group controls available. Samples The number of samples (rays) shot for creating AO. Higher values yield smoother results but render more slowly, while lower values render faster but look grainier. Values in the range 16–64 cover most situations. Default=16. Max Distance Defines the radius within which mental ray looks for occluding objects. Smaller values restrict the AO effect to small crevices only, but are much faster to render. Larger values cover larger areas but render more slowly. Default=4.0. The following illustrations show the raw AO contribution with two different distances: Left: Higher Max Distance value Right: Lower Max Distance value mental ray Materials | 6309 TIP To specify an infinite radius, set Distance to 0.0. Use Color From Other Materials (Exact AO) When on, derives the AO coloring from surrounding materials, for more accurate overall results. (This is also known as color bleeding.) For example, a glowing material would return a brighter color than a dark material. NOTE When this parameter is on, the function of the Shadow Color setting (see following) changes to let you specify the extent of color bleeding from nearby materials. In the following pair of illustrations, the first image shows the problem with the traditional AO: It applies to all indirect illumination and always makes it darker. The problem is most noticable for the glowing sphere, which has a dark spot under it, but it can also be perceived on the floor in front of the cube which is unrealistically dark, even though the cube is strongly lit on the front. You can also see unconvincing shadows between the legs of the horse, and below the red ball. The second image has Use Color From Other Materials on for all materials, so the floor is lit correctly by the glowing ball, there is a hint of white bounce light on the floor from the cube, and the shadows of the horse legs and of the red ball better match the objects that cast them. Use Color From Other Materials is off 6310 | Chapter 17 Material Editor, Materials, and Maps Use Color From Other Materials is on If you find that using AO creates a “dirty” look with excessive darkening in corners, or dark rims around self-illuminated objects, turn on Use Color From Other Materials for a more accurate result. Shadow Color When Use Color From Other Materials (see preceding) is off, sets the darkness of the AO shadows. It is used as the multiplier value for completely occluded surfaces. In practice, a black color makes the AO effect very dark; a middle-gray color makes the effect less noticeable (brighter), and so on. When Use Color From Other Materials is on, this setting determines the ratio between the standard AO functionality with Shadow Color set to black and the color bleeding from other materials. For example, at the default setting, R=G=B=0.2, 20 percent of the AO shadow color is derived from black, and 80 percent is derived from the color of the nearby material. If you set Shadow Color to R=G=B=0.0 (black), then 100 percent of the shadow color comes from nearby materials. If you set Shadow Color to R=G=B=1.0 (white), then 100 percent of the shadow color comes from black; this is the same as turning off Use Color From Other Materials and setting Shadow Color to black. Custom/Global Ambient Light Color You can specify a color for the ambient light used in AO, or use the global color specified on the Environment panel on page 7621 ➤ Common Parameters rollout. This parameter is used for doing more traditional AO; that is, supplying an imagined “ever-present ambient light” that is then attenuated by the AO effect to create shadows. mental ray Materials | 6311 While traditional AO is generally used when rendering without other indirect light, you can also combine it with existing indirect light. Bear in mind that this “ever-present ambient light” is inherently non-physical, but can possibly help lighten some troublesome dark corners. Round Corners group This effect rounds off corners and straight edges as a rendering effect only; it has no effect on geometry. The rounding effect happens to convex corners and surfaces that actually intersect. Concave corners that merely touch will not display the effect. To get the effect to work in concave corners, the objects must be pushed into each other a little. The effect is intended for straight edges, and it is not guaranteed to work properly for highly curved, complex intersections. See also: Round Corners on page 6307. Round Corners When on, rounds off corners and straight edges at render time. Fillet Radius Specifies the radius of the filleted corners and edges. Blend With Other Materials By default, the rounding effect happens only between surfaces of the same material, but if you turn this on the filleting is performed against any material. In the following image, the molten chocolate is rounded off against the submerged objects even though they use different materials. In actuality, the molten chocolate is a completely flat plane. Objects in molten chocolate 6312 | Chapter 17 Material Editor, Materials, and Maps Advanced Rendering Options Rollout Material Editor ➤ Arch & Design Material ➤ Advanced Rendering Options rollout Note: The Arch & Design material appears in the Browser only if the mental ray renderer is the currently active renderer. The Advamced Rendering parameters define performance-boosting options. NOTE The Arch & Design material works only with the mental ray renderer, so in order to see it represented accurately in the sample slots, you must first set mental ray to render in the Material Editor. For details, see Assign Renderer Rollout on page 7034. See also: ■ Templates Rollout on page 6276 ■ Main Material Parameters Rollout on page 6278 ■ BRDF Rollout on page 6295 ■ Self Illumination (Glow) Rollout on page 6299 ■ Special Effects Rollout on page 6304 ■ Fast Glossy Interpolation Rollout on page 6319 ■ Special Purpose Maps Rollout on page 6324 ■ General Maps Rollout on page 6326 mental ray Materials | 6313 Interface Reflections group Max Distance Allows limiting reflections to a certain distance, which both speeds up rendering and avoids pulling distant objects into extremely glossy reflections. Fade to end color When on, reflections fade to this color. When off, reflections fade to the environment color. The former tends to be more useful for indoor scenes; the latter, for outdoor scenes. Available only when Max Distance is on. 6314 | Chapter 17 Material Editor, Materials, and Maps Left: Full reflections (Max Distance=off) Center: Max Distance=100mm Right: Max Distance=25mm Max Trace Depth When this trace depth is reached, the material behaves as if the Highlights+FG Only switch is on; that is, it shows only highlights and “emulated” reflections created with the help of Final Gathering. Cutoff Threshold The level at which reflections are rejected; that is, not traced. It’s a relative value: For example, the default setting of 0.01 means that rays that contribute less than 1 percent to the final pixel are ignored. A setting of 0.25 means that mental ray discards rays that contribute less than a quarter of the value of the final pixel. Refraction group The optimization settings for refraction (transparency) are nearly identical to those for reflections. The exception is that of Color At Max Distance, which behaves differently. Max Distance Allows limiting refraction to a certain distance. Color at Max Distance When on, the material simulates physically correct absorption. At the distance specified by Max Distance, the refracted image has the color given by Color At Max Distance, but the rays are not limited in reach. At twice the distance, the influence of Color At Max Distance is double, at half the distance half, and so on. When off, transparency rays simply fade to black. This is like smoked glass and other highly absorbent materials. Transparency just stops at the specified mental ray Materials | 6315 distance. This has the same performance advantage as using the Max Distance for reflections: Tracing shorter rays is much faster. Available only when Max Distance is on. Left: No limit (Max Distance=off) Center: Fade to black Right: Fade to blue Max Trace Depth When this trace depth is reached, the material refracts black. Cutoff Threshold The level at which refraction is rejected; that is, not traced. It’s a relative value: For example, the default setting of 0.01 means that rays that contribute less than 1 percent to the final pixel are ignored. A setting of 0.25 means that mental ray discards rays that contribute less than a quarter of the value of the final pixel. Advanced Reflectivity Options group Visible area lights cause no Highlights When on, mental ray area lights (Omni on page 5777 and Spotlight on page 5780) with the Show Icon In Renderer property on create no specular highlights. Default=on. The Show Icon In Renderer check box is found on the light's Area Light Parameters rollout. When on, the light is visible and reflects in any glossy, reflective objects. If both the reflection of the visible area light and the highlight is rendered, the light is added twice, causing an unrealistic brightening effect. When on, this switch causes visible area lights to lose their highlights and instead only appear as reflections. Note that this does not apply 6316 | Chapter 17 Material Editor, Materials, and Maps to the Highlights+FG Only on page 6288 mode, which doesn’t actually reflect anything. Skip reflections on inside (except total internal reflection) Most reflections inside transparent objects are very faint, except in the special case known as total internal reflection (TIR), which occurs at certain angles. When on, this option saves rendering time by ignoring the weak reflections completely but retaining the TIRs. Default=on. Relative Intensity of Highlights Defines the intensity of specular highlights versus the intensity of true reflections. When the value is 1.0, the two intensities are equal. A lower value subdues the intensity of highlights compared to reflections, while a higher value intensifies the highlights. Advanced Transparency Options group The options give you control over some of the deepest details of the Arch & Design material. Glass/Translucency treat objects as... ■ Solid The object behaves as if it is made of a solid, transparent substance. ■ Thin-walled The object behaves as if made of wafer-thin sheets of a transparent material. For more information, see Solid versus Thin-Walled on page 6282. Left: Solid Right: Thin-walled mental ray Materials | 6317 When Caustics are enabled, transparent objects: When not rendering caustics, the Arch & Design material uses a shadow shader to create transparent shadows. For objects such as window panes, this is perfectly adequate, and actually creates a better result than using caustics, because the direct light is allowed to pass more or less undisturbed through the glass into a space such as a room. Traditionally, enabling caustics in mental ray causes all materials to stop casting transparent shadows and instead start to generate refractive caustics. In most architectural scenes this is undesirable: You might want a glass decoration on a table to generate a caustic effect, but still want the windows of the room to let in normal direct light. This toggle makes this possible at the material level. ■ Refract light and generate Caustic effects The material refracts light and generates caustics. ■ Use Transparent Shadows No caustics are produced; the material and object simply transmit the light, with greater shadowing in thicker areas. In the following illustration, the left side shows the result with Use Transparent Shadows chosen, and the right side shows the result with Refract Light And Generate Caustic Effects chosen. You can freely mix the two modes in the same rendering. Photons are automatically treated accordingly by the built-in photon shader, shooting straight through as direct light in the former case, and being refracted as caustics in the latter. Left: Using transparent shadows Right: Using refractive caustics. Back Face Culling When on, enables a special mode that makes surfaces invisible to the camera when seen from the reverse side. You can use this to create “magic walls” in a room. If all walls are planes with the normals facing inwards, the Back Face Culling switch allows the room to be rendered from 6318 | Chapter 17 Material Editor, Materials, and Maps “outside.” The camera can see into the room, but the walls will still exist and cast shadows, bounce photons, and so on, while being invisible when the camera goes outside. Left: Back Face Culling=off Right: Back Face Culling=on Transparency propagates Alpha channel Defines how transparent objects treat any alpha-channel information in the background. When on, refraction and other transparency effects propagate the alpha of the background “through” the transparent object. When off, transparent objects have an opaque alpha. Indirect Illumination Options group FG/GI multiplier Allows tweaking of how strongly the material responds to indirect light. FG Quality A local multiplier for the number of final gather rays shot by the material. Fast Glossy Interpolation Rollout Material Editor ➤ Arch & Design Material ➤ Fast Glossy Interpolation rollout Note: The Arch & Design material appears in the Browser only if the mental ray renderer is the currently active renderer. mental ray Materials | 6319 Glossy reflections and refraction can be interpolated, which causes them to render faster and look smoother. Interpolation works by precalculating glossy reflection in a grid across the image. The number of samples (rays) taken at each point is govern by the Reflection ➤ Glossy Samples on page 6287 or Refraction ➤ Glossy Samples on page 6290 parameters, as in the non-interpolated case. Note that interpolation can cause artifacts. Because it is done on a low-resolution grid, it can lose details. And because it blends neighbors of this low-resolution grid, it can cause oversmoothing. For this reason, it is useful primarily with flat surfaces. Interpolation does not work well with wavy, highly detailed surfaces or surfaces that use bump maps. NOTE The Arch & Design material works only with the mental ray renderer, so in order to see it represented accurately in the sample slots, you must first set mental ray to render in the Material Editor. For details, see Assign Renderer Rollout on page 7034. See also: ■ Templates Rollout on page 6276 ■ Main Material Parameters Rollout on page 6278 ■ BRDF Rollout on page 6295 ■ Self Illumination (Glow) Rollout on page 6299 ■ Special Effects Rollout on page 6304 ■ Advanced Rendering Options Rollout on page 6313 ■ Special Purpose Maps Rollout on page 6324 ■ General Maps Rollout on page 6326 6320 | Chapter 17 Material Editor, Materials, and Maps Interface Interpolation grid density The resolution of the grid used for interpolating glossy reflections and refraction. Choose a setting from the drop-down list. Within the grid, data is stored and shared across the points. Using a lower grid resolution is faster, but causes greater loss of detail information. Reflective interpolation group Neighboring points to look up Defines how many stored grid points (in an N by N group around the currently rendered point) is looked up to smooth out reflective glossiness. The default is 2. Higher values will “smear” the glossiness more, but because of this they are prone to more oversmoothing artifacts. In the following illustration, the reflection of the left cup in the floor does not use interpolation, and some grain is evident (here intentionally exaggerated). The floor tiles under the other two cups use a half-resolution interpolation with point lookup set to 2 (center) and 4 (right), respectively. Left: No interpolation mental ray Materials | 6321 Center: Looking up two points Right: Looking up four points. The preceding image also illustrates one of the consequences of using interpolation: The foot of the left cup, which is near the floor, is reflected quite sharply, and only the parts of the cup far from the floor are blurry. However, the interpolated reflections of the right cups have a base level of blurriness, due to the smoothing of interpolation, which makes even the closest parts somewhat blurry. In most scenes with weak glossy reflections this discrepancy will never be noticed, but in other cases this can make things like legs of tables and chairs feel “unconnected” with a glossy floor, if the reflectivity is high. To resolve this, you can use the High Detail Distance setting (see following). High detail distance Allows tracing of a second set of detail rays to create a “clearer” version of objects within the specified radius. In the following illustration, all three floor tiles use interpolation, but the two on the right use different distances for the detail distance. Left: No detail distance Center: 25mm detail distance Right: 150mm detail distance This also allows an interesting trick: Set Reflection ➤ Glossy Samples to 0, which renders reflections as if they were mirror-perfect, but also use interpolation to introduce blur into this reflection, and perhaps use High Detail Distance to make nearby parts less blurry. This is a fast way to obtain a glossy reflection. 6322 | Chapter 17 Material Editor, Materials, and Maps The floor tiles in the following illustration are rendered with mirror reflections, and the blurriness comes solely from the interpolation. This renders as fast as or faster than pure mirror reflections, yet gives a satisfying illusion of true glossy reflections, especially when utilizing the High Detail Distance option, as on the right. Left: No detail distance Right: With detail distance Single Sample from Environment Creating realistically blurry glossy reflections normally requires taking multiple samples from the environment, which can result in grainy, slow-rendering environment reflections. With this check box on, mental ray instead takes only one sample, thus preventing the grain. This also prevents blurring the environment, so it is best used together with a local, “pre-blurred" environment map. You can do the pre-blurring in an image-processing program or with the Material Editor ➤ Coordinates rollout on page 6622 ➤ Blur and Blur Offset settings. Refractive interpolation group Neighboring points to look up Defines how many stored grid points (in an N by N group around the currently rendered point) are looked up to smooth out refractive glossiness. The default is 2. Higher values tend to “smear” the glossiness more, but are hence prone to more oversmoothing artifacts. mental ray Materials | 6323 Special Purpose Maps Rollout Material Editor ➤ Arch & Design Material ➤ Special Purpose Maps rollout Note: The Arch & Design material appears in the Browser only if the mental ray renderer is the currently active renderer. Lets you apply bump, displacement, and other maps. Each left-justified setting has a check box for enabling and disabling the map, and a button for defining the map. NOTE The Arch & Design material works only with the mental ray renderer, so in order to see it represented accurately in the sample slots, you must first set mental ray to render in the Material Editor. For details, see Assign Renderer Rollout on page 7034. See also: ■ Templates Rollout on page 6276 ■ Main Material Parameters Rollout on page 6278 ■ BRDF Rollout on page 6295 ■ Self Illumination (Glow) Rollout on page 6299 ■ Special Effects Rollout on page 6304 ■ Advanced Rendering Options Rollout on page 6313 ■ Fast Glossy Interpolation Rollout on page 6319 ■ General Maps Rollout on page 6326 Interface 6324 | Chapter 17 Material Editor, Materials, and Maps Bump Lets you apply a bump map and multiplier. Do not apply bumps to the diffuse shading When off, the bumps apply to all shading components: diffuse, highlights, reflections, refractions, and so on. When on, bumps are applied to all components except the diffuse. This means bumps are seen in reflections, highlights, and so on, but the diffuse shading shows no bumps. It is as if the material's diffuse surface is smooth, but is covered by a bumpy lacquer coating. Left: Do Not Apply Bumps ...=off Right: Do Not Apply Bumps ...=on Displacement Lets you apply a displacement map and multiplier. Cutout Lets you apply an opacity map to completely remove parts of objects. A classic example is to map an image of a tree to a flat plane and use opacity to cut away the parts of the tree that are not there. mental ray Materials | 6325 Left: Mapped transparency Right: Using Cutout Environment Lets you apply an environment map and shader. Additional Color/Self illum. Lets you apply any shader. The output of this shader is added on top of the shading done by the Arch & Design material. You can use this feature for self-illumination-type effects, as well as adding any additional shading you want. General Maps Rollout Material Editor ➤ Arch & Design Material ➤ General Maps rollout Note: The Arch & Design material appears in the Browser only if the mental ray renderer is the currently active renderer. Enables application of maps or shaders to any of the Arch & Design material parameters. Of course, you can apply a shader to a parameter at its standard location in the user interface by clicking its Map button, so the principal value of this rollout is that it also lets you toggle a parameter's shader, using the check box, without removing the map. 6326 | Chapter 17 Material Editor, Materials, and Maps NOTE The Arch & Design material works only with the mental ray renderer, so in order to see it represented accurately in the sample slots, you must first set mental ray to render in the Material Editor. For details, see Assign Renderer Rollout on page 7034. See also: ■ Templates Rollout on page 6276 ■ Main Material Parameters Rollout on page 6278 ■ BRDF Rollout on page 6295 ■ Self Illumination (Glow) Rollout on page 6299 ■ Special Effects Rollout on page 6304 ■ Advanced Rendering Options Rollout on page 6313 ■ Fast Glossy Interpolation Rollout on page 6319 ■ Special Purpose Maps Rollout on page 6324 mental ray Materials | 6327 Interface Arch & Design Material (mental ray): Tips and Tricks This topic contains information to help you more effectively use the Arch & Design material on page 6269 for mental ray. 6328 | Chapter 17 Material Editor, Materials, and Maps Final Gather Performance The Final Gather algorithm in mental ray 3.5 is vastly improved from earlier versions, especially in its adaptiveness. This means you can often use much lower ray counts and much lower densities than in previous versions of mental ray. In many cases, you can render still images with such extreme settings as 50 rays and a density of 0.1. If this causes “oversmoothing” artifacts, you can use the built-in ambient occlusion on page 6308 to solve those problems. When you use Final Gather together with GI (photons), make sure the photon solution is fairly smooth by first rendering with Final Gather disabled. If the photon solution is noisy, increase the photon search radius until it “calms down,” and then enable Final Gather. Quick Guide to Some Common Materials Following are some quick rules of thumb for creating various materials. Each assumes the basic default settings as a starting point. General Rules of Thumb for Glossy Wood, Flooring, and So On These are the kind of “hybrid” materials you might require for architectural renderings; varnished wood, linoleum, and so on. For these materials, set BRDF to Custom Reflectivity Function; that is, you'll define a custom BRDF curve. Start out with 0-degree reflectivity of 0.2, 90 degree reflectivity of 1.0, and apply a suitable texture map to the Diffuse Color. Set Reflectivity between 0.6 and 1.0. How glossy is the material? Are reflections clear or blurry? Are they strong or weak? ■ For clear, fairly strong reflections, keep Reflection Glossiness at 1.0. ■ For slightly blurry but strong reflections, set a lower Reflection Glossiness value. If performance becomes an issue, try turning on Fast (Interpolate). ■ For slightly blurry but also very weak reflections, you can “cheat” by applying a lower Reflection Glossiness value for broader highlights while setting Reflection Glossy Samples to 0. This shoots only one mirror ray for reflections, but if the reflectiosn are weak, often the viewer can not tell. ■ For moderately blurry surfaces, set an even lower Reflection Glossiness value and maybe increase the Reflection Glossy Samples value. Again, for improved performance, turn on Fast (Interpolate). mental ray Materials | 6329 ■ For extremely blurry surfaces or surfaces with very weak reflections, try turning on Highlights+FG Only. A typical wooden floor could use a Reflection Glossiness of 0.5, Reflection Glossy Samples of 16, Reflectivity of 0.75, a nice wood texture for Diffuse Color, and perhaps a slight bump map. If bumpiness should appear only in the varnish layer, turn on Special Purpose Maps rollout ➤ Do Not Apply Bumps To The Diffuse Shading. Linoleum flooring can use the same settings but with a different texture and bump map, and probably with slightly lower Reflectivity and Reflection Glossiness values. Ceramics Ceramic materials are glazed; that is, they're covered by a thin layer of transparent material. They follow rules similar to the general materials mentioned above, but set the BRDF method on page 6295 to By IOR (Fresnel Reflections), set IOR to about 1.4, and Reflectivity to 1.0. Set the Diffuse Color to a suitable texture or color, such as white for white bathroom tiles. Stone Materials A stone object usually has a fairly matte finish, or has reflections that are so blurry they are nearly diffuse. You can simulate the “powdery” character of stone with the Diffuse Roughness parameter: Try 0.5 as a starting point. Porous stone or brick would have a higher value. Stone typically has a very low Reflection Glossiness (lower than 0.25) and you can most likely use Highlights+FG Only to good effect for very good performance. Use a nice stone texture for Diffuse Color, some kind of bump map, and perhaps a map that varies the Reflection Glossiness value. The Reflectivity would be around 0.5–0.6 with By IOR (Fresnel Reflections) off, 0-degree reflectivity at 0.2, and 90-degree reflectivity at 1.0. Glass Glass is a dielectric material, so By IOR (Fresnel Reflections) should definitely be on. The IOR of standard glass is 1.5. Set the Diffuse Level to 0.0, Reflectivity to 1.0, and Transparency to 1.0. This is enough to create basic, completely clear refractive glass. 6330 | Chapter 17 Material Editor, Materials, and Maps If this glass is for a window pane, turn on Thin-Walled. If this is a solid glass block, turn off Thin-walled and consider whether caustics are necessary: Set Refractive Caustics accordingly. If the glass is frosted, set Refraction Glossiness to a suitable value. Tune the Refraction Samples for good quality, or turn on Fast (Interpolate) for faster performance. Colored Glass For clear glass, use the tips in the preceding section. Colored glass, however, is a different story. Many shaders set the transparency at the surface of the glass. And indeed this is what happens if one simply sets a Refractive Color to some value, such as blue. For glass with Thin-Walled turned on, this works perfectly. But for solid glass objects this is not an accurate representation of reality. The scene in following illustration contains two glass blocks of different sizes, a sphere with a spherical hole inside it, and a glass horse. NOTE The spherical hole was created by inserting a second sphere with its normals flipped inside the outer sphere. Don’t forget to flip the normals of such surfaces or they will not render correctly. mental ray Materials | 6331 Above: Incorrect shading because the color of the solid glass was modeled solely with a surface refraction color Below: Correct shading. The glass uses Refraction ➤ Max Distance and a Max Distance color. The problems are evident: ■ The two glass blocks are of different thicknesses, yet they are exactly the same level of blue. ■ The inner sphere is darker than the outer one, instead of lighter. Why does this happen? Consider a light ray that enters a glass object. If the color is located at the surface, the ray is colored somewhat as it enters the object, retains this color through the object, and receives a second coloration (attenuation) when it exits the object: 6332 | Chapter 17 Material Editor, Materials, and Maps Diagram for glass with color changes at the surface In the above illustration, the ray enters from the left, and at the entry surface it drops in level and gets slightly darker (the graph illustrates the level schematically). It retains this color throughout its travel through the medium and then drops in level again at the exit surface. For simple glass objects, this is quite sufficient. For any glass using Thin-Walled on page 6317 it is by definition the correct thing to do, but for any complex solid it is not. It is especially wrong for negative spaces inside the glass (like the sphere in our example), because the light rays have to travel through four surfaces instead of two, getting two extra steps of attenuation at the surface. In real colored glass, light travels through the medium and is attenuated as it goes. In the Arch & Design material, this is accomplished by turning on Advanced Rendering Options ➤ Refraction ➤ Max Distance, setting the mental ray Materials | 6333 Color At Max Distance, and setting the Refraction Color to white. This is the result: The result is clearly much more satisfactory: The thick glass block is a deeper blue than the thin one, and the hollow sphere now looks correct. In diagram form, the process looks as follows: d=Max Distance where attenuation is Color at Max Distance The ray enters the medium and is attenuated throughout its travel. The strength of the attenuation is such that precisely the Max Distance attenuation (d in the figure) matches that of Color At Max Distance. In other words, at this depth the attenuation is the same as was received immediately at the surface with the previous scene. The falloff is exponential, so at double the Max Distance value the effect is that of Color At Max Distance squared, and so on. 6334 | Chapter 17 Material Editor, Materials, and Maps There is one minor tradeoff: To render the shadows of a material correctly using this method, either you must use caustics, or make sure that mental ray is rendering shadows in Segments mode (see Shadows & Displacement Rollout (mental ray Renderer) on page 7209). Using caustics naturally gives the most correct-looking shadows (the above image was rendered without caustics), but requires that the scene have caustic photons enabled and contain a physical light source that shoots caustic photons. On the other hand, the mental ray Segments shadows have a slightly lower performance than the more widely used Simple shadow mode. But if it is not used, the shadow intensity will not take the attenuation through the media into account properly. However, the image might still look pleasing. Water and Liquids Water, like glass, is a dielectric material with an IOR of 1.33. Hence, the same principles as for glass (above) apply to bodies of water, which truly need to refract their environment. An example is water running from a tap. Colored liquids use the same principles as colored glass. Water into wine To create a liquid in a container, as in the preceding image, it is important to understand how the Arch & Design material handles refraction through multiple surfaces, compared to the real-world behavior of light in such circumstances. What is important for refraction is the transition from one medium to a medium with a different IOR. Such a transition is known as an interface. mental ray Materials | 6335 For lemonade in a glass, imagine a ray of light travelling through the air (IOR=1.0). When it enters the glass, it is refracted by the IOR of the glass (1.5). The ray then leaves the glass and enters the liquid; that is, it passes through an interface from a medium of IOR 1.5 to another medium of IOR 1.33. One way to model this in computer graphics is to make the glass one separate closed surface, with the normals pointing outward from the surface of the glass and an IOR of 1.5, and a second, closed surface for the liquid, with the normals pointing outward and an IOR of 1.33, leaving a small air gap between the container and the liquid. This approach works, but can cause a problem: When light goes from a higher IOR to a lower there is a chance of an effect known as total internal reflection (TIR). This is the effect you see when diving into a swimming pool and then looking up: You can see the objects above the surface only in a small circle straight above. Anything below a certain angle shows only a reflection of the pool and things below the surface. The larger the difference in the IOR of the two media, the greater the chance of TIR. So in our example, as the ray goes from glass (IOR=1.5) to air, there is a large chance of TIR. But in reality the ray would move from a medium of IOR=1.5 to one of IOR=1.33, which is a much smaller step with a much smaller chance of TIR. This looks different: Left: Correct refraction Right: the “air gap” method The result on the left is the correct one, but how it is obtained? The solution is to rethink the modeling, and not to think in terms of media, but in terms of interfaces. In our example, we have three different interfaces, 6336 | Chapter 17 Material Editor, Materials, and Maps where we can consider the IOR as the ratio between the IORs of the outside and inside media: ■ Air-glass interface (IOR=1.5/1.0=1.5) ■ Air-liquid interface (IOR=1.33/1.0=1.33) ■ Glass-liquid interface (IOR=1.33/1.5=0.8) In the most common case of an interface with air, the IOR to use is the IOR of the media (because the IOR of air is 1.0), whereas in an interface between two different media, the situation is different. To correctly model this scenario, then, we need three surfaces, each with a different Arch & Design material applied: ■ The air-glass surface (blue in the diagram that follows), with normals pointing out of the glass, covering the area where air directly touches the glass, having an IOR of 1.5 ■ The air-liquid surface (green in the diagram), with normals pointing out of the liquid, covering the area where air directly touches the liquid, having an IOR of 1.33 ■ The glass-liquid surface (red in the diagram), with normals pointing out of the liquid, covering the area where the glass touches the liquid, having an IOR of 0.8 The three interfaces for a liquid in a glass By setting suitable Max Distance and Color At Max Distance values for the two liquid materials (to get a colored liquid), we obtain the glass on the left in the preceding rendered image. mental ray Materials | 6337 Ocean and Water Surfaces A water surface is a slightly different matter than a visibly transparent liquid. The ocean isn’t blue; it is reflective. Not much of the light that penetrates the surface of the ocean gets anywhere of interest. A small amount of light is scattered back up again, doing a bit of literal subsurface scattering. To make an ocean surface with the Arch & Design material, follow these steps: 1 Set Diffuse Level to 0.0, Reflectivity to 1.0, and Transparency to 0.0. That's right: No refraction is necessary. 2 Set IOR to 1.33 and turn on By IOR (Fresnel Reflections). Apply an interesting wobbly shader to Bump (Ocean (lume) works well here) and your ocean is basically done. This ocean has reflections guided only by the IOR. But this might work fine; try it. Just make sure there is something there for it to reflect. Add a sky map, objects, or a just a blue gradient background. There must be something to reflect, or the water will be completely black. The ocean isn’t blue; the sky is. For a more tropical look, try setting Diffuse Color to a slightly blue-green color, set the Diffuse Level to a fairly low number such as 0.1, and turn on Do Not Apply Bumps To The Diffuse Shading. Now you have a base color in the water that emulates the small amount of scattering that occurs in the top level of the ocean. 6338 | Chapter 17 Material Editor, Materials, and Maps Enjoy the tropics. Metal Metals are reflective, which means they need something to reflect. The best-looking metals come from having a true HDRI environment, either from a spherically mapped HDRI photo, or something like the mental ray physical sky. To create classic chrome, turn off By IOR (Fresnel Reflections), set Reflectivity to 1.0, 0-degree reflectivity to 0.9, and 90-degree reflectivity to 1.0. Set the Diffuse Color to white, and turn on Metal Reflections. This creates an almost completely reflective material. Tweak the Reflection Glossiness parameter for various levels of blurry reflections. Also consider using the Round Corners effect on page 6307, which tends to work very well with metallic objects. Metals also influence the color of their reflections. Because you turned on Metal Reflections, this is already happening: Try setting the Diffuse Color to a golden color to create gold. Try various levels of Reflection Glossiness (with the help of Fast (Interpolate) for performance, when necessary). You can also change the Reflectivity value. This has a slightly different meaning when Metal Material is on; it blends between the reflections (colored by the Diffuse Color) and normal diffuse shading. This allows a blend between the glossy reflections and the diffuse shading, both driven by the same color. For mental ray Materials | 6339 example, an aluminum material would need a bit of diffuse blended in, whereas chrome would not. Gold, silver, and copper Brushed Metal Brushed metal is an interesting special case. In some cases, creating a brushed metal requires only turning down the Reflection Glossiness to a level where you obtain a very blurred reflection. This is sufficient when the brushing direction is random or the brushes are too small to be visible even as an aggregate effect. For materials that have a clear brushing direction or where the actual brush strokes are visible, creating a convincing look is slightly more involved. The tiny grooves in a brushed metal surface all work together to cause anisotropic reflections. This can be illustrated by the following illustration, which simulates the brush grooves by modeling many tiny adjacent cylinders, shaded with a simple Phong shader: 6340 | Chapter 17 Material Editor, Materials, and Maps Many small adjacent cylinders As you can see, the specular highlights in the cylinders work together to create an aggregate effect which is the anisotropic highlight. Also note that the highlight isn’t continuous: It is actually broken up into small, adjacent segments. So the primary visual cues that a material is brushed metal are: ■ Anisotropic highlights that stretch out in a direction perpendicular to the brushing direction ■ A discontinuous highlight with breaks in the brushing direction Many attempts to simulate brushed metals have looked only at the first effect: the anisotropy. Another common mistake is to think that the highlight stretches in the brushing direction. Neither is true. Hence, to portray brushed metals, it is necessary to simulate these two visual cues. The first is simple: Use Anisotropy and Anisotropy Rotation to make anisotropic highlights. The second can be done in several ways: ■ With a bump map ■ With a map that varies the Anisotropy or Reflection Glossiness values ■ With a map that varies the Reflection Color mental ray Materials | 6341 Each has advantages and disadvantages, but the one we suggest here is the last one. The reason for choosing this method is that it works well with interpolation. 1 Create a map for the brush streaks. The possible ways to do this include painting a map in a paint program, or using a Noise map that has been stretched heavily in one direction. The map should vary between middle-gray and white. 2 Apply this map to the Reflection Color in a scale suitable for the brushing. 3 Set Diffuse Color to white (or the color of the metal), but set Diffuse Level to 0.0 (or a small value). 4 Make sure Metal Material is on. 5 Set Reflection Glossiness to 0.75. 6 Set Anisotropy to 0.1 or a similar value. Use Anisotropy Rotation to align the highlight properly with the map. If necessary, use Anisotropy Channel to base it on the same texture space as the map. Brushed metal Special-Purpose mental ray Materials The mental ray materials described in this section have more specialized uses than Autodesk Materials or the Arch & Design material. 6342 | Chapter 17 Material Editor, Materials, and Maps Car Paint Material/Shader (mental ray) Material/Map Browser on page 6167 ➤ Car Paint Material Note: The Car Paint material and shader appear in the Browser only if the mental ray renderer is the currently active renderer. Car Paint has components for a paint layer with embedded metal flakes, a clear-coat layer, and a Lambertian dirt layer. Car Paint is available as both a mental ray material and shader; both have identical parameters, and support the following unique characteristics of real-world car paint: ■ The lowest surface, applied directly to the car body, is a thin layer of pigment. The properties of this layer are such that the perceived color changes depending on the viewing angle as well as the incident angle of the incoming light. ■ Tiny metal flakes are suspended within this layer. The flakes reflect light and can be seen glittering on a sunny day, due to individual flakes reflecting sunlight directly at the observer. ■ On top of this is a clear-coat layer, which can be more or less reflective and more or less glossy, depending on the quality of the layer and any added wax coating. Most notably, this layer tends to exhibit a pronounced Fresnel effect, reflecting more light at glancing angles. ■ An optional, topmost Lambertian dirt layer can help give an "unwashed" look. mental ray Materials | 6343 Interface Diffuse coloring rollout Ambient/Extra light The ambient light component. NOTE This parameter is treated differently from the ambient/ambience parameter pair of many other base shaders in that it is influenced by the additional Diffuse Coloring parameters, and hence represents incoming light, rather than the object's "ambient color." Base color The base diffuse color of the material. Edge color The color seen at glancing angles (that is, edges), which tends to appear much darker. For deep metallic paints seen on sports cars it tends to be almost black. Edge bias The falloff rate of the color towards the edge. Higher values make the edge region narrower; lower values make it wider. The useful range is 0.0 to approximately 10.0, where the value 0.0 turns the effect off. Color shift due to view angle, shifting between a red base color and a blue edge color (atypical colors chosen for demonstration purposes) with varying Edge Bias values Light facing color The color of the area facing the light source. Light facing color bias The falloff rate of the color towards the light. Higher values make the colored region facing the light smaller/narrower; lower values 6344 | Chapter 17 Material Editor, Materials, and Maps make it larger/wider. The useful range is 0.0 to approximately 10.0, where the value 0.0 turns the effect off. Color shift due to view angle, shifting between a red base color and a green light facing color (atypical colors chosen for demonstration purposes) with varying Light Facing Color Bias values Diffuse weight Controls the overall level of the Diffuse Coloring parameters. Diffuse bias Modifies the falloff of the diffuse shading. Higher values push the diffuse peak towards the light source, and lower values flatten the diffuse peak. The useful range is approximately 0.5 to 2.0, where 1.0 represents standard Lambertian shading. Flakes rollout Flake color The color (reflectivity) of the flakes, which is generally white. Flake weight A scalar multiplier for the flake color. Flake reflections (ray traced) The amount of ray-traced reflection in the flakes, which allows glittery reflections of, for example, an HDRI environment. The value 0.0 turns the effect off. This effect should generally be very subtle; a value of 0.1 is often enough. The final intensity of reflections also depends on the Flake Color and Flake Weight values. Flake specular exponent The Phong specular exponent for the flakes. mental ray Materials | 6345 Flake density The density of the flakes. The useful range is from 0.1 to approximately 10.0, where lower values indicate sparser flakes and higher values indicates denser flakes. Flake decay distance The distance at which the influence of the flakes fades out. A value of 0.0 disables fading. Any positive value causes the Flake Weight value to be modulated so that it reaches zero at this distance. Because flakes are relatively small, using can introduce rendering artifacts if their visual density becomes significantly smaller than a pixel. If the oversampling of the rendering is set high, small flakes can also potentially trigger massive oversampling and hence overlong rendering times needlessly, because the averaging caused by the oversampling will essentially cancel out the flake effect. If you experience these issues, use Flake Decay Distance to counteract them. Flakes at different distances with no flake decay. The farthest flakes might cause flicker in animations, or trigger unnecessary oversampling and long render times (rendered here with low oversampling for illustrative purposes). Using flake decay. The flake strength diminishes with distance. The same intentionally low oversampling as in the previous image has been used. 6346 | Chapter 17 Material Editor, Materials, and Maps Flake strength The difference between the orientation of the flakes. The useful range is 0.0 to 1.0 where 0.0 means that all flakes are parallel to the surface, while higher values vary the orientation of flakes increasingly. Flake scale The size of the flakes. The procedural texture is calculated in object space, and will hence follow the object. Thus, the scale is influenced by any scale transformation on the object. Specular reflections rollout Specular Color #1 The color of the primary specular highlight. Specular Weight #1 A scalar multiplier applied to Specular Color #1. Specular exponent #1 The Phong exponent of Specular Color #1. Specular Color #2 The color of the secondary specular highlight. Specular Weight #2 A scalar multiplier applied to Specular Color #2. Specular exponent #2 The Phong exponent of Specular Color #2. Glazed specularity #1 Enables a special mode on the primary specular highlight called glazing. By applying a threshold to the specular highlight, it makes the surface appear more polished and shiny. For a new sports car with a lot of wax, turn this on. For a beat-up car in the junkyard, turn it off. Left to right: Flake specularity only; standard specularity; "glazed" mode enabled; "glazed" mode specularity with flakes mental ray Materials | 6347 Reflectivity rollout Reflection color The color of the reflections in the clear-coat layer. This is generally white. Edge factor Clear coat tends to reflect more at glancing angles (edges). This parameter defines the "narrowness" of this edge. Edge reflections weight The reflective strength at the edge (generally 1.0). Facing reflections weight The reflective strength at facing angles (generally low: 0.1 - 0.3). Glossy reflection samples Enables a glossy clear coat. This parameter sets the number of glossy reflection rays traced. A value of 0 disables glossiness. Glossy reflections spread Sets the amount of glossiness. Cars are generally near-mirrors so this value should be kept small. Max distance Limits the reach of reflective rays. Single environment sampling Optimizes lookup of environment maps. 6348 | Chapter 17 Material Editor, Materials, and Maps Dirty layer (lambertian) rollout Real cars are rarely clean. This shows the dirt layer (hand-painted dirt-placement map), including a bump map applied in the dirty regions. A simple Lambertian dirt layer covers the underlaying paint and clear-coat layers. Dirt color The color of the dirt. Dirt weight The amount of dirt in the layer. This is typically connected to a texture shader to obtain variations in the dirt across the surface. If the value is 0.0, no dirt is added. Advanced options rollout mental ray Materials | 6349 Irradiance weight (indirect illumination) The influence of indirect light (photons and final gathering) on the surface. It is internally divided by pi (3.14159); for example, a value of 1.0 means the standard 1.0/pi weight. Global weight A global tuning parameter that affects the entire diffuse, flake, and specular subsystems. It does not affect reflections or dirt. Shaders rollout This rollout enables application of maps or shaders to any of the Car Paint parameters. Of course, you can apply a shader to a parameter by clicking its Map button, so the principal value of this rollout is that it also lets you toggle a parameter's shader, using the check box, without removing the map. Matte/Shadow/Reflection (mi) Material Material/Map Browser on page 6167 ➤ Matte/Shadow/Reflection (mi) Note: The Matte/Shadow/Reflection (mi) material appears in the Browser only if the mental ray renderer is the currently active renderer. The Matte/Shadow/Reflection (mi) material, part of the Production Shaders on page 6842 library, is used to create “matte objects”; that is, objects that represent real-world objects in a photograph used as the scene background (also known as the plate). The material provides a wealth of options for marrying a photographic background with the 3D scene, including support for bump mapping, ambient occlusion, and indirect illumination. Applications include: ■ Blocking another 3D object from the camera view, thus allowing the 3D object to appear to be behind the object in the photo. ■ Allowing 3D objects to cast shadows and occlusion on and receive shadows from objects in the photo. ■ Adding reflections of 3D objects to objects in the photo. ■ Allowing the interplay of indirect light between 3D objects and objects in the photo. In all these cases the material is applied to a matte object that represents an object in the background plate, and the 3D object uses a traditional material. 6350 | Chapter 17 Material Editor, Materials, and Maps For additional information, see Help menu ➤ Additional Help ➤ mr Production Shader Library ➤ Matte/Shadow Objects and CameraMaps, as well as the Tech Note (following). Tech Note The Matte/Shadow/Reflection shader works by doing a form of differential shading. In other words, it determines the amount of light a point would receive if it were not in shadow, compares it to the amount of light the point actually receives, and shades it by the relative difference. This means that any point that is fully lit, unshadowed by any object, returns the same color it already had, completely disregarding the actual intensity of that light. If half of the incoming light is blocked, the point will be shaded at 50 percent intensity, regardless of the full-intensity amount in an absolute sense. An important feature of the Matte/Shadow/Reflection material is that it is non-self-shadowing, non-self-occluding, non-self- reflecting, and does not cast indirect light onto itself. Because it is designed to act as a stand-in for objects present in a photographic plate, which already contains self-shadowing, self-reflection, and so on, the material automatically excludes these effects. However, it is still able to cast shadows on other objects, receive shadows from other objects, reflect other objects, and so on, withouth creating unwanted double shadows or double reflections for such effects already present in the plate. Procedure This multi-part procedure provides step-by-step instructions for a simple case of combining a 3D object with a photograph using the Matte/Shadow/Reflection material, the Environment/Background Camera Map shader, and the Environment Probe/Chrome Ball shader. Prerequisites: ■ A photo of a background mental ray Materials | 6351 ■ A photo of a chrome ball, also known as a light probe, shot from the same camera angle and cropped so the edges touch the image. 6352 | Chapter 17 Material Editor, Materials, and Maps Ideally, these should be HDR photos, but non-HDR images can also work well. To use the production shaders to marry a 3D scene with a photographic background: 1 First set up the viewport: 1 Make sure mental ray is the active renderer. 2 Activate a Perspective viewport. 3 Use Viewport Background on page 108 to set the background image (see the procedure introduction, above) . 4 On the Viewport Background dialog, make sure both Display Background and Match Rendering Output are on. 5 Click OK to continue. 2 Open the Environment And Effects dialog to the Environment panel (press 8). 3 On the Common Parameters rollout, click the Environment Map button (reads “None”). 4 From the Material/Map Browser on page 6167 ➤ Create New Material / Map (By Name) ➤ Maps ➤ mental ray group, choose Environment/Background Switcher. 5 Open the Slate Material Editor on page 6083. 6 Drag the Environment Map button from the Environment And Effects dialog to the active view in the Material Editor. Use the Instance option. 7 Double-click the Environment/Background Switcher node to display the map’s rollout in the Parameter Editor panel. 8 On the Environment/Background Switcher Parameters rollout, click the Background map button (all the way to the right of the parameter). 9 In the Browser ➤ Create New Material / Map (By Name) ➤ Maps ➤ mental ray group, choose Environment/Background Camera Map, then click OK. 10 On the Environment/Background Camera Map Parameters rollout, click the Browse button and again open the background image. 11 In the Material Editor ➤ view panel, click the Environment/Background Switcher node again, to make it active. mental ray Materials | 6353 12 On Environment/Background Switcher Parameters rollout, click the map button to the right of Environment/Reflections. 13 In the Browser ➤ Create New Material / Map (By Name) ➤ Maps ➤ mental ray group, choose Environment Probe/Chrome Ball, then click OK. 14 On the Environment Probe/Chrome Ball Parameters rollout, click the Browse button and open the image containing the cropped photo of the chrome ball. If the two photos have different exposures, use the Multiplier setting for either or both maps to match them. Next you’ll make a rudimentary model that represents objects already present in the background. At the very least you need a simple plane for the "ground" to place things on. NOTE It is easier to see if you maximize the viewport and use wireframe display mode. 15 Align the viewport so it matches the angle of the photograph as closely as possible. 16 From the Create menu, choose Lights ➤ Standard Lights ➤ Skylight and then click in the Perspective viewport to add a Skylight to the scene. 17 On the Skylight Parameters rollout for the light, set Sky Color to Use Scene Environment. This retrieves the appropriate ambient color from the chrome ball photo. 18 Create some geometry. For this example, add a plane to represent the ground. 19 Add a teapot on top of the plane. You’ll use this temporarily to tune the shadows. 20 In the Material Editor, create an Arch & Design material, change the color to white, and apply it to the teapot. 21 Select the ground plane. Next you’ll set up the Matte/Shadow/Reflection material. 22 In the Material Editor, activate the existing Environment/Background Switcher map. 23 Right-click the Background map button and choose Copy. 6354 | Chapter 17 Material Editor, Materials, and Maps 24 Activate an unused sample sphere and create a new Matte/Shadow/Reflection material. 25 On the Matte/Shadow/Reflection Parameters rollout, right-click the Camera Mapped Background map button and choose Paste (Instance). This places the same background map that is used in the environment switcher into the background map in the material as an instance. This completes the basic setup. If you render now, you should see the teapot superimposed over the background image. The teapot should have a soft shadow underneath, which comes from the ambient occlusion. Part 2: Marrying 3D with a photo: Now you’ll tune the lighting in the scene. Generally you need at least one key light to cast a directional shadow. 1 Add a light source such as mr Area Omni and place it in a location similar to where the main light seems to be coming from in the photo. 2 Tune the light so that the lighting direction and intensity on the teapot seems reasonable compared to the objects in the photo, and so the shadow mental ray Materials | 6355 directions seem to match. For now, ignore the shadow intensity; just consider the lighting on the teapot itself. 3 Now tune the overall intensity of the shadow with the Ambient/Shadow Intensity parameter to match existing shadows in the photo. If the shadow needs tinting, use the Ambient/Shadow Color setting. You might also need to modify the AO Max Distance value to make contact shadows more or less pronounced. 4 You can adjust the shadow softness with the mr Area Omni light’s Radius setting, on the Area Light Parameters rollout. 6356 | Chapter 17 Material Editor, Materials, and Maps The scene is now set up, although further tuning might be necessary. 5 Delete the teapot. 6 Add any objects you want to use to the scene. 7 Add any additional stand-in matte objects that you can use to occlude objects, receive and cast shadows, etc., to the scene, and apply the same Matte/Shadow/Reflection material to them. mental ray Materials | 6357 Part 3: Prepare for compositing: So far the rendered 3D content has been added on top of the background directly in the renderer. Generally, you want to do this in an external compositing program, as follows: 1 Open the Material Editor. 2 Activate the Environment/Background Switcher shader (the one you instanced from the Environment panel). 3 Right-click the Background map button and choose Cut. 4 Click the color swatch next to Background and make sure the color is transparent black; in other words, Red, Green, Blue, and Alpha all equal 0.0. These are the default values, so no changes should be necessary. Close the Color Selector dialog. 5 Activate the Matte/Shadow/Reflection material and cut the Camera Mapped Background map. 6 To the Matte/Shadow/Reflection material ➤ Camera Mapped Background map, apply a new Environment/Background Switcher shader. 6358 | Chapter 17 Material Editor, Materials, and Maps 7 Right click the Environment/Reflection map button (not the Background map button) and choose Paste (Instance) to apply the previously used map. 8 Click the Background color swatch and make sure the color is transparent black as well. The scene now contains two Switcher nodes: one used in the environment (switching between transparent black and the chrome ball) and one in the material (switching between transparent black and the camera map). If you render now, the resulting image still properly contains all the reflections, light, etc., from the background, but not the background itself. Shadows exist in the alpha channel, so the image is suitable for compositing directly on top of the background image. A Note on Gamma The foregoing procedure does not cover gamma. If you use a gamma-correct workflow, which yields a superior result, with literal mental ray textures (that is, you use the big Browse button to refer directly to a bitmap file, rather than inserting a Bitmap map), you must set mental ray Materials | 6359 the gamma of this bitmap explicitly in the appropriate Reverse Gamma Correction parameters. NOTE Intentionally exaggerating the Reverse Gamma Correction setting on the chrome ball photo can turn a low-dynamic-range photo into a “faux” HDR image by artificially exaggerating its contrast. Interface Matte/Shadow/Reflection Parameters rollout Camera Mapped Background Sets the color or map for the matte material. To use the scene background, click the map button, browse from the scene, and choose the background map. NOTE Unlike the standard Matte/Shadow material on page 6522, this material does not automatically pick the background (that is, the scene environment) as its color; rather, it’s necessary to provide the background explicitly. There are several ways to do this: ■ The most common method is to use a screen-projected map. However, using a Bitmap map with Screen environment mapping will not work correctly, because it does not handle reflections correctly. Instead, for this purpose, we recommed using the Environment/Background Camera Map shader on page 6845. This shader projects the texture back from the current rendering camera. ■ Alternatively, you can apply the color in any applicable UV texture space, perhaps if you previously projected the texture into that texture space. ■ A third option is to project the background at render time with the Camera Map Per Pixel map on page 6874. Mask/Opacity The opacity of the material. 6360 | Chapter 17 Material Editor, Materials, and Maps TIP One use case for the Mask/Opacity setting on page 6360 is to refine a rough stand-in object. For example, the plate might contain a person’s arm, and you want to put in a CG object that goes behind the person’s arm and/or has shadows thrown onto it by the person’s arm. You could create simple stand-in geometry (maybe even a cylinder) and then use a screen-projected opacity map that defines the exact edges of the arm. Also, if the arm in the plate is motion-blurred or out of focus, you can feather the opacity mask accordingly. Bump Specifies a bump map for the material. Bump Amount The multiplier for the bump map. Shadows rollout Receive Shadows When on, the surface can receive shadows. If Shadow Casting Lights List is off, all lights cast shadows on the surface. Ambient/Shadow Intensity The amount of environmental light in the scene, which in a practical sense is how dark the shadows are. The Matte/Shadow/Reflection material does not use Skylights to generate shadows; any such shadows must come from the ambient occlusion feature. So when the shader is used together with a Skylight, this value should be similar to the level of light the Skylight provides. The units value for this setting depends on the lighting unit. If you use the mr Photographic Exposure Control on page 7677, and set Physical Scale to Physical Units (cd/m2), this value will be in physical values, and might need to be in the hundreds (or thousands for an outdoor shot lit by mental ray Sun mental ray Materials | 6361 & Sky on page 5874). However, if you don’t use the exposure control, or set it Physical Scale to Unitless, this parameter is in a "traditional" unit space where 0 is black and 1 is white. NOTE This "ambient" light is affected by ambient occlusion, so it is darkened by the occlusion at contact points and in areas hidden under objects. Ambient/Shadow Color Setting a color or map here tints the shadows. For accurate shadow tint, use a neutral color. Shadow Casting Lights List When on, you can use the Add/Replace/Delete buttons to edit the list, specifying lights that are to cast shadows on the surface. For the lights list to be in effect, Receive Shadows must also be on. When off, and Receive Shadows is on, all lights in the scene cast shadows on the surface. NOTE Shadow-casting lights act as representations of any real-world lights in the background plate, such as the sun or any artificial light sources. For further information, see Direct Illumination rollout on page 6364, following. Ambient Occlusion rollout Use Ambient Occlusion (AO) When on, ambient occlusion affects the surface. AO Samples The number of ambient-occlusion rays that are shot. AO Max Distance The reach of ambient-occlusion rays. At 0, the ray distance is not limited. Using short rays increases performance but localizes the ambient-occlusion effect. AO Shadow Strength The darkness of shadows the ambient occlusion causes. The default value is black, but you can cause a less-pronounced shading effect by using a lighter color. 6362 | Chapter 17 Material Editor, Materials, and Maps Reflections rollout Receive Reflections When on, the surface reflects its surroundings. Reflection Color Reflections are tinted this color. For accurate reflections, use a neutral color. Reflections (Subtractive Color) The subtractive color for reflections. This amount is removed from the plate before reflections are added. If black, nothing is removed, and reflections are added purely additively on top of the plate. If 50% gray, the plate pixels are attenuated to 50% of their intensity, and the reflections are added on top of that, and so on. Use this setting is used if the plate contains an area with many reflections that need to be removed before the new, synthetic reflection is added. Glossiness The glossiness of reflections. Glossy Samples The number of glossy-reflection samples. Max Distance At values other than 0, limits the distance from which reflections are cast. Max Distance Falloff The falloff curve for reflections at Max Distance. Lower values cause more rapid falloff. mental ray Materials | 6363 Indirect Illumination rollout Receive Indirect Illumination When on, indirect light (final gather and global illumination) is gathered and scaled by the Indirect Illumination Multiplier value (see following). Indirect Ilumination Multiplier The multiplier for gathered indirect light. Direct Illumination rollout NOTE The lights specified on this rollout actually illuminate the background, unlike shadow-casting lights on page 6362. Thus, for the effect to be correct, make sure no light source exists in both lists. Receive Direct Illumination When on, the surface renders where struck by direct illumination. If Illuminating Lights List is off, all lights in the scene illuminate the surface. Illuminating Lights List When on, you can use the Add/Replace/Delete buttons to edit the list, specifying lights that are to illuminate the surface. For the lights list to be in effect, Receive Direct Illumination must also be on. 6364 | Chapter 17 Material Editor, Materials, and Maps Maps Rollout This rollout enables application of maps or shaders to the applicable material parameters. Of course, you can apply a shader to a parameter at its standard location in the user interface by clicking its map button (square button at the right side of the parameter), so the principal value of this rollout is that it also lets you toggle a parameter's shader, using the check box, without removing the map. Subsurface Scattering (SSS) Materials Material/Map Browser on page 6167 ➤ Choose SSS Fast Material (mi), SSS Fast Skin Material (mi), SSS Fast Skin Material+Displace (mi), or SSS Physical Material (mi). Note: The SSS materials appear in the Browser only if mental ray is the active renderer. The subsurface scattering (SSS) materials are provided especially to model skin and other organic materials whose appearance depends on more than one layer of light scattering. 3ds Max provides four of these materials. Each material is a top-level wrapper (a “phenomenon”) for shaders whose controls are documented in the Standard mental ray Shader Libraries document. Click a link to see the mental images documentation for the shader. TIP When you follow a link to the documentation for mental images library shaders, scroll up a bit in your browser. The links tend to go past the title of the section, and there might be introductory content above the link location. If the link goes to the beginning of a section, scroll down instead. Material Name mi Library Shader Name SSS Fast Material (mi) misss_fast_simple_phen SSS Fast Skin Material (mi) misss_fast_skin_phen SSS Fast Skin Material+Displace (mi) misss_fast_skin_phen_d SSS Physical Material (mi) misss_physical Also see Subsurface Scattering Shaders and the topics that follow it for more general information. See Physically Correct Subsurface Scattering for background information and tips about the Physical material. mental ray Materials | 6365 NOTE The SSS Physical Material can also be used as a shader for the Surface and Photon components of a mental ray material on page 6369. For a downloadable tutorial offering a practical demonstration of using the SSS Fast Skin material, see this Web page. Light Controls for the SSS Physical Material The SSS Physical material includes light controls that correspond to the lights array in the parameters for the misss_physical shader. Lights When on, the material is illuminated only by those lights specified in the list. When Lights is turned off, all lights in the scene affect the material. Default=off. The remaining light controls are available only when Lights is on. ■ List of lightsDisplays the lights you have chosen to illuminate this material. ■ AddAdds a light to the list. Click Add to turn it on, then click the light object in a viewport. ■ ReplaceReplaces a light in the list. Highlight a light's name in the list, click Replace to turn it on, then click the replacement light object in a viewport. ■ DeleteDeletes a light from the list. Highlight a light's name in the list, then click Delete. Utility mental ray Materials The utility mental ray materials allow you to combine a material with multiple maps. Utility Bump Combiner Material (mental ray) Material/Map Browser on page 6167 ➤ Utility Bump Combiner (adsk) Note: The Bump Combiner material appears in the Browser only if the mental ray renderer is the currently active renderer. The Bump Combiner lets you combine a material with up to three separate bump maps. 6366 | Chapter 17 Material Editor, Materials, and Maps Interface Parameters rollout Shading Click the button to specify a base material. This can be any material that mental ray supports. Global Multiplier Adjusts the strength of bump mapping for the material as a whole. This value overrides the individual bump map multiplier values. Can range from 0.0 to 20.0. Default=1.0. Map button Click to apply a map to the Global Multiplier value. Bump 1, Bump 2, and Bump 3 Click to add a bump map to the material. Multiplier Adjusts the strength of the bump map. Can range from 0.0 to 20.0. Default=1.0. Map button Click to apply a map to the Multiplier value. Maps rollout mental ray Materials | 6367 Global Multiplier Lets you assign a map to the Global Multiplier. The toggle at the left controls whether the map is active; when you assign a map, it turns on by default. Multiplier 1, Multiplier 2, and Multiplier 3 Let you assign maps to the three bump map Multiplier values. The button to the right of each main shader button is for shaders that can return multiple parameters. If a shader that returns multiple parameters is assigned to the component, the button's tooltip shows the parameter name. Utility Displace Combiner Material (mental ray) Material/Map Browser on page 6167 ➤ Utility Displace Combiner (adsk) Note: The Displace Combiner material appears in the Browser only if the mental ray renderer is the currently active renderer. The Displace Combiner lets you combine a material with up to three separate displacement maps. Interface Parameters rollout Shading Click the button to specify a base material. This can be any material that mental ray supports. 6368 | Chapter 17 Material Editor, Materials, and Maps Global Multiplier Adjusts the strength of displacement mapping for the material as a whole. This value overrides the individual displacement shader multiplier values. Can range from 0.0 to 20.0. Default=1.0. Map button Click to apply a map to the Global Multiplier value. Displace Shader 1, Displace Shader 2, and Displace Shader 3 Click to add a displacement map to the material. Multiplier Adjusts the strength of the displacement map. Can range from 0.0 to 20.0. Default=1.0. Map button Click to apply a map to the Multiplier value. Maps rollout Global Multiplier Lets you assign a map to the Global Multiplier. The toggle at the left controls whether the map is active; when you assign a map, it turns on by default. Multiplier 1, Multiplier 2, and Multiplier 3 Let you assign maps to the three displacement shader Multiplier values. The button to the right of each main shader button is for shaders that can return multiple parameters. If a shader that returns multiple parameters is assigned to the component, the button's tooltip shows the parameter name. mental ray Material Material/Map Browser on page 6167 ➤ mental ray Note: The mental ray material appears in the Browser only if the mental ray renderer is the currently active renderer. The mental ray material lets you create a material exclusively for use by the mental ray renderer on page 7129. The mental ray material has components for mental ray Materials | 6369 the surface shader, and for the other nine optional shaders that make up a material in mental ray. IMPORTANT You must assign a shader to the material's Surface component. Otherwise, the mental ray material will not be visible when you render. Material Shaders Rollout (mental ray Material) Material Editor ➤ mental ray ➤ Material Shaders rollout Note: The mental ray material appears in the Browser only if mental ray is the active renderer. The Material Shaders rollout provides controls for the main kinds of component shaders you are likely to assign. IMPORTANT You must assign a shader to the material's Surface component. Otherwise, the mental ray material will not be visible when you render. See also: ■ Advanced Shaders Rollout (mental ray Material) on page 6377 6370 | Chapter 17 Material Editor, Materials, and Maps Interface Each shader component has a toggle at the left of its name. When the toggle is on, the shader is used in rendering. When the toggle is off, the shader is not used, even if it has been assigned. Clicking the button to the right of the component name displays the Material/Map Browser on page 6167 so you can assign a particular shader to the component. Basic Shaders group Surface Shades the surface of objects that have this material. In addition to any of the usual 3ds Max materials, the surface component can be assigned the following mental ray materials or shaders: Shader Library Ambient/Reflective Occlu- base1 (see note, below) sion mental ray Materials | 6371 Shader Library Bump on page 6816 3ds Max Car Paint Shader (mi) on 3ds Max page 6343 DGS Material on page 6818 3ds Max Dielectric base Dielectric Material on 3ds Max page 6823 Edge lume Facade lume Glass lume Glow lume Landscape lume Material to Shader on 3ds Max page 6832 Metal lume mr Physical Sky on page 3ds Max 5893 Ocean lume Opacity base Reflect base Refract base Shader List on page 6840 3ds Max 6372 | Chapter 17 Material Editor, Materials, and Maps Shader Library SSS Physical Material subsurface scattering Stain lume Texture Wave base Translucency lume Transmat physics Transparency base Two Sided base Water Surface lume Wet-Dry Mixer lume NOTE As of the current version of 3ds Max, the Ambient/Reflective Occlusion shader has been updated to support certain capabilities for texture baking (see this note on page 7317). If you load a file containing a material that uses the older version of the shader, that same version is still used in the scene, and the shader is renamed "Ambient/Reflective Occlusion (base) (old)". The old version of the shader continues to be used in the scene until you reapply it in the Material Editor. NOTE Unlike a standard 3ds Max material, if you assign the Surface component a bitmap with tiling turned off, the original surface color does not “show through.” In renderings, you see only the untiled map, and none of the rest of the object. Shadow Assigns a shadow shader. The shadow component can be assigned the following shaders: Shader Library Edge Shadow lume Facade lume Glass lume mental ray Materials | 6373 Shader Library Glow lume Material to Shader on page 6832 3ds Max Metal lume Shader List on page 6840 3ds Max Shadow Transparency base Translucency lume Transmat physics Water Surface Shadow lume Caustics and GI group Photon Assigns a photon shader. Photon shaders modify the appearance of caustics and global illumination. They modify light energy (luminous flux) rather than color (radiance). The photon component can be assigned the following shaders: Shader Library DGS Material on page 6818 3ds Max Dielectric Material Photon on page 6823 3ds Max Edge lume Glow lume Material to Shader on page 6832 3ds Max Metal lume Photon Basic base SSS Physical Material subsurface scattering 6374 | Chapter 17 Material Editor, Materials, and Maps Shader Library Translucency lume Transmat physics Photon Volume Assigns a photon volume shader. Like a photon shader, a photon volume shader modifies caustics and global illumination, but it affects photons that pass through the inside of the object, rather than photons that collide with its surface. The photon volume component can be assigned the following shaders: Shader Library Material to Shader on page 6832 3ds Max Parti Volume Photon physics Shader List on page 6840 3ds Max Extended Shaders group Bump Assigns a bump shader. Bump shading for mental ray materials is similar to bump mapping on page 6472 for standard materials. The bump component can be assigned the following shaders: Shader Library Bump on page 6816 3ds Max Ocean lume Shader List on page 6840 3ds Max Displacement Assigns a displacement shader on page 7167. The displacement component can be assigned the following shaders: Shader Library 3D Displacement on page 6813 3ds Max Material to Shader on page 6832 3ds Max mental ray Materials | 6375 Shader Library Ocean lume Volume Assigns a volume shader on page 7164. The volume component can be assigned the following shaders: Shader Library Beam lume Material to Shader on page 6832 3ds Max Mist lume Parti Volume Photon physics Shader List on page 6840 3ds Max Submerge lume Environment Assigns an environment shader. Like an environment you assign using the Render Setup dialog, the environment shader changes the scene background. The environment component can be assigned the following shaders: Shader Library Environment on page 6825 3ds Max Material to Shader on page 6832 3ds Max Shader List on page 6840 3ds Max Optimization group Flag Material as Opaque When on, indicates that the material is fully opaque. This tells the mental ray renderer that it doesn't need to process transparency for this material, or to use the shadow shader (if one has been assigned). This can improve rendering time. Default=off. 6376 | Chapter 17 Material Editor, Materials, and Maps Advanced Shaders Rollout (mental ray Material) Material Editor ➤ mental ray ➤ Advanced Shaders rollout Note: The mental ray material appears in the Browser only if the mental ray renderer is the currently active renderer. The Advanced Shaders rollout provides controls for two component shaders that aren't always used. Interface Each shader component has a toggle at the left of its name. When the toggle is on, the shader is used in rendering. When the toggle is off, the shader is not used, even if it has been assigned. Clicking the button to the right of the component name displays the Material/Map Browser on page 6167 so you can assign a particular shader to the component. Contour Assigns a contour shader on page 7168 to the material. The contour component can be assigned the following shaders: Shader Library Combi contour Curvature contour Depth Fade contour Factor Color contour Layer Thinner contour Simple contour mental ray Materials | 6377 Shader Library Width From Color contour Width From Light contour Width From Light Dir contour NOTE Contours don't render unless you have also enabled them on the Render Setup dialog ➤ Renderer panel ➤ Camera Effects rollout on page 7201. Light Map Assigns a light map shader to the material. WARNING No light map shaders are provided with 3ds Max. This option is for users who have access to light map shaders via other shader libraries or custom shader code. MetaSL Material The Map To Material Conversion material converts a MetaSL shader tree into a material you can use in 3ds Max scenes. Map to Material Conversion Slate Material Editor ➤ Material/Map Browser ➤ Map to Material Conversion Strictly speaking, Map To Material Conversion is not a material in its own right, but a Slate Material Editor on page 6083 node that converts a MetaSL shader tree into a material you can use in 3ds Max scenes. 6378 | Chapter 17 Material Editor, Materials, and Maps Map To Material node in the Slate Material Editor To view a MetaSL material in viewports, you must use hardware shading: See Lighting and Shadows on page 8980. You can export a Map To Material node to an XMSL file: See Export MetaSL Material on page 6145. Interface The interface to Map To Material Conversion consists of a single map input. Of course, the child of this node will typically be a tree built out of various MetaSL shaders. MetaSL Material | 6379 MetaSL shader tree with Map To Material as the parent Map check box Toggles use of the shader tree. When off, the effect of the shaders is not visible in viewports or renderings. Default=on. [map button] Click to show the parameters for the shader node assigned to Convert Map To Material. If no shader is assigned (the button shows “None”) then clicking the button opens a Material/Map Browser on page 6167 so you can assign a shader: This is an alternative to wiring a shader node in the Slate Material Editor active View. Standard Material and Related Materials (Not Photometric) This section describes the Standard material and other materials that are not photometric. These materials can be suitable for games and animation, but not for physically accurate lighting models. Shading Type The Standard and Raytrace materials let you specify a shading type. Shading types are handled by a "shader," which describes how the surface responds to light. 6380 | Chapter 17 Material Editor, Materials, and Maps WARNING When you change the shading type of a material, you lose the settings (including map assignments) for any parameters that the new shader does not support. If you want to experiment with different shaders for a material with the same general parameters, copy the material to a different sample slot on page 6025 before you change its shading type. That way, you can still use the original material if the new shader doesn't give you the effect you want. Samples of different shading for a standard material 1. Anisotropic 2. Blinn 3. Metal 4. Multi-layer 5. Oren-Nayar-Blinn 6. Phong Standard Material and Related Materials (Not Photometric) | 6381 7. Strauss 8. Translucent Several different shaders are available. Some of these are not available for the Raytrace material, as indicated below. Blinn is the most general-purpose of these shaders. The others have special purposes, especially regarding how the material creates highlights. ■ Anisotropic on page 6398 Creates surfaces with noncircular, "anisotropic" highlights; good for modeling hair, glass, or metal. ■ Blinn on page 6399 Creates smooth surfaces with some shininess; a general-purpose shader. ■ Metal on page 6400 Creates a lustrous metallic effect. ■ Multi-Layer on page 6402 Creates more complex highlights than Anisotropic by layering two anisotropic highlights. Not available for Raytrace material. ■ Oren-Nayar-Blinn on page 6403 Creates good matte surfaces such as fabric or terra-cotta; similar to Blinn. ■ Phong on page 6399 Creates smooth surfaces with some shininess; similar to Blinn, but doesn't handle highlights (especially glancing highlights) as well. ■ Strauss on page 6405 Creates both nonmetallic and metallic surfaces; has a simple set of controls. Not available for Raytrace material. ■ Translucent on page 6409 Translucent shading is similar to Blinn shading, but it also lets you specify translucency, where light is scattered as it passes through the material. You can use translucency to simulate frosted and etched glass. Not available for the Raytrace material. Standard Material Material/Map Browser on page 6167 ➤ Standard 6382 | Chapter 17 Material Editor, Materials, and Maps The Standard material type provides a fairly straightforward way to model surfaces. In the real world, the appearance of a surface depends on how it reflects light. In 3ds Max, a standard material simulates a surface's reflective properties. If you don't use maps on page 9215, a standard material gives an object a single, uniform color. Scooter rendered with the default standard material This topic introduces the controls for Standard material, exclusive of mapping. TIP The Standard material supports hardware-based viewport display for improved feedback while editing its parameters. For more infomation, see Showing Maps in Viewports on page 6006. Standard Color Components A surface of a "single" color usually reflects many colors. Standard materials typically use a four-color model to simulate this. (This can vary, depending on which shader on page 6390 you use.) The four colors are known as the material’s color components on page 5988. ■ Ambient color on page 9089 appears where the surface is lit by ambient light alone, where the surface is in shadow. Standard Material and Related Materials (Not Photometric) | 6383 ■ Diffuse color on page 9137 appears where light falls directly on the surface, where the surface is in “good” lighting. This component is called "diffuse" because light striking it is reflected in various directions. Highlights, on the other hand, are reflections of light sources. ■ Specular color on page 9313 appears in highlights. Shiny surfaces usually have specular highlights, where the viewing angle is equal to the angle of incidence. A surface can also have glancing highlights, where the angle of incidence on page 5988 is high, relative to the observer or camera (that is, the light ray is nearly parallel to the surface). Glancing highlights are characteristic of metallic surfaces. NOTE Some shaders generate the specular color procedurally, rather than letting you choose it. Some surfaces are completely reflective, or nearly so. These reflect their environment as well as the light sources that illuminate them. To model such surfaces, you need to use reflection mapping on page 6796 or ray tracing (see Raytrace Material on page 6486). ■ Filter color on page 9157 is the color transmitted by light shining through the object. The Filter color component isn't visible unless the material's Opacity is less than 100 percent. NOTE The Raytrace material on page 6486 uses a different, six-color model to simulate surfaces. Several components are similar to those in the Standard Material, but they behave differently in Raytrace. The three color components blend at the edges of their regions. Between ambient and diffuse, the blending is calculated by the shader. Between diffuse and specular, you set the amount of blending by using the Standard material's highlight controls. When we describe an object's color in conversation, usually we mean its diffuse color. The choice of an ambient color depends on the kind of lighting. For moderate indoor lighting, it can be a darker shade of the diffuse color, but for bright indoor lighting and for daylight, it should be the complement of the primary (key) light source. The specular color should be either the same color as the key light source, or a high-value, low-saturation version of the diffuse color. 6384 | Chapter 17 Material Editor, Materials, and Maps For more tips on choosing color components, see Choosing Colors for Realism on page 6385. WARNING When you change the shading type of a material, you lose the settings (including map assignments) for any parameters that the new shader does not support. If you want to experiment with different shaders for a material with the same general parameters, make a copy of the material on page 6092 before you change its shading type. That way, you can still use the original material if the new shader doesn't give you the effect you want. Other Standard Material Components A standard material's specular color appears in highlights. You can control the size and shape of the highlight. A polished surface has a small and strong highlight. A matte surface has a large, weak highlight, or no highlight at all. Standard materials also have controls for making the object appear transparent, and for making it self-illuminating so that it appears to glow. Along with the material's color components, components also refers to the parameters that control highlights, transparency, self-illumination, and so on. See also: ■ Choosing Colors for Realism on page 6385 ■ SuperSampling Rollout on page 6211 ■ DirectX Manager Rollout on page 6222 Choosing Colors for Realism Materials add greater realism to a scene only if you choose their colors and other properties to appear like real-world objects. This topic presents some general guidelines for choosing standard material colors. When possible, you should also observe colors in the objects you are modeling, especially under different lighting conditions. For objects on which you want the viewer to focus attention, an unmapped standard material doesn't often provide the level of realistic detail you probably want. However, for distant and peripherally visible objects, as well as some kinds of real-world materials, such as molded plastic, an unmapped standard material can work well. Keeping the number of maps to a minimum can help keep down the file size. Standard Material and Related Materials (Not Photometric) | 6385 Indoor and Outdoor Lighting Whether a scene is indoors or outdoors affects your choice of material colors, just as it affects the way you set up lights on page 5672. Full sunlight is bright and unidirectional. Most indoor lighting is less intense and more even (that is, multidirectional) than daylight. However, some special indoor lighting (and nighttime outdoor lighting), as for the stage, also features intense, directional light. Direct sunlight has a yellow tint. Materials for objects to appear in daylight should have a specular color of a pale, unsaturated yellow (for example, RGB values of 240, 240, 188). The ambient color should be the complement of the specular: a deep, dark purple with a hint of the diffuse color. Materials for objects to appear under normal interior lighting should have a specular color that is close to white. (Our perception compensates for the yellow or green tint that is often present in artificial light.) The ambient color can often have the same hue as the diffuse color, but with a darker value. Materials for objects to appear under spotlights should follow the general guidelines for daylight materials. The specular color should match the spotlight's color, and the ambient color should be a very dark value of the spotlight color's complementary hue, mixed with a bit of the material's diffuse color. If you want to render an object under changing lighting conditions, you can choose colors that are a compromise between the optimal colors for each kind of lighting, or you can animate on page 6012 the material so that its colors change to suit the changing light. 6386 | Chapter 17 Material Editor, Materials, and Maps Representing Natural Materials Outdoor scene with natural materials Most natural materials have a matte surface with little or no specular color. For natural materials such as these, use the following guidelines: ■ Ambient color: The ambient color depends on whether the scene is indoors or outdoors, as previously described. ■ Diffuse color: Choose a color found in nature. It is best to use the observed color of the object itself, or a similar object. ■ Specular color: Make the specular color the same hue as the diffuse, but with a higher value and a lower saturation. ■ Glossiness: Set the Glossiness to a low value. Some foliage, bird feathers, fish scales, and so on, are shiny. For materials such as these, set the Glossiness to higher values. You might also want to change the specular color so it's closer to the lighting color than the surface's diffuse color. Water is reflective, and is best modeled by a color component in combination with a reflection map on page 6796 or a water map on page 6740. Standard Material and Related Materials (Not Photometric) | 6387 While metal is a natural material, its special visual characteristics are most apparent when it has been polished. Standard material represents this by using a special shading type, described later in this topic. Representing Manufactured Materials Indoor scene with manufactured materials Manufactured materials often have a synthetic color rather than an "earth tone." Also, many manufactured materials, such as plastics and porcelain glazes, are very shiny. For manufactured materials, use the following guidelines: ■ Ambient color: The ambient color depends on whether the scene is indoors or outdoors, as previously described. ■ Diffuse color: Although the diffuse color doesn't have to be an "earth tone," as with natural materials you should used the observed color of the object or a similar object. ■ Specular color: Make the specular color close to white, or to the color of the light source. White is especially characteristic of plastic materials. ■ Glossiness: Set the glossiness to a high value. 6388 | Chapter 17 Material Editor, Materials, and Maps Representing Metallic Objects Metallic cup and ice cream scoop Polished metal has a characteristic "glancing" highlight that appears where the light is at a high angle of incidence. To generate this effect, Metal shading uses the Cook/Torrance illumination model. For metallic materials, you can use the Metal shading type. This disables the specular color and highlight controls. The Metal shader calculates its own specular color, which can vary between the diffuse color and the color of the light. In the diffuse region of a metal material, the ambient component is greater than it is for other kinds of materials. The Anisotropic, Multi-Layer, and Strauss shaders give you further options for modeling polished metal. If the metallic object is the focus of the scene, you can improve realism by using a Blend material on page 6529 to combine metallic shading with a reflection map on page 6796. Standard Material and Related Materials (Not Photometric) | 6389 TIP When you preview metallic surfaces, it is useful to turn on a backlight. This displays the metal's glancing highlight. The Backlight button is to the right of the sample slots. Shader Basic Parameters Rollout Material Editor ➤ Standard material ➤ Shader Basic Parameters rollout ➤ Choose shader from drop-down list. The Shader Basic Parameters rollout lets you choose the type of shader to use with a Standard material on page 6382. Some additional controls affect how the material appears. Procedures To set a material's shading type: 1 On the Shader Basic Parameters rollout, open the shader drop-down list. 2 Click the name of the shader type to use for the active material. To use Wire mode: ■ On the Shader Basic Parameters rollout, turn on Wire. The material is now shaded as a wireframe mesh. The wire portions of the geometry do not change; color components, shininess, and so on, remain the same. For a wireframe material, turn on the 2-Sided option as well. You have two choices for how wireframe materials are rendered. The controls for tuning wireframe shading are on the Extended Parameters on page 6436 rollout. If you choose Pixels, the thickness of the wires maintains the same apparent thickness regardless of the scale of the geometry or how near or far the object is positioned. In other words, pixel wires have a constant display size as if the wires were traced over an image.If you choose Units, the wires behave as if they were modeled in the geometry. They appear thinner at a distance and thicker at close range. Scaling a wireframe object does scale wire width. 6390 | Chapter 17 Material Editor, Materials, and Maps Interface [shader drop-down list] Chooses a shader. The material's Basic Parameters rollout can change to show the controls for the shader you choose. Default shader=Blinn There are seven different shaders. Some are named for what they do; others are named for their creators. These are the basic material shaders: ■ Anisotropic on page 6398: For surfaces with elliptical, "anisotropic" highlights. These highlights are good for modeling hair, glass, or brushed metal. ■ Blinn on page 6399: For rounder, softer highlights than Phong shading ■ Metal on page 6400: For metallic surfaces ■ Multi-Layer on page 6402: For surfaces with more complex highlights than Anisotropic ■ Oren-Nayar-Blinn on page 6403: For matte surfaces such as fabric or terra-cotta ■ Phong on page 6404: For surfaces with strong, circular highlights ■ Strauss on page 6405: For metallic and nonmetallic surfaces. The Strauss shader has a simpler interface than other shaders. ■ Translucent on page 6409: Similar to Blinn shading, the Translucent shader also lets you specify translucency, where light is scattered as it passes through the material. For more information about the shaders, including illustrations, see Understanding Shaders on page 6392. Wire Renders the material in wireframe mode on page 9351. You can set the size of the wire in Extended Parameters on page 6436. 2-Sided Makes the material 2-sided on page 9079. Applies the material to both sides of selected faces. Face Map Applies the material to the faces of the geometry. If the material is a mapped material, it requires no mapping coordinates on page 9212. The map is automatically applied to each facet of the object. Standard Material and Related Materials (Not Photometric) | 6391 Faceted Renders each face of a surface as if it were flat. Understanding Shaders For standard materials, a shader is an algorithm that tells 3ds Max how to calculate surface rendering. Each shader has a unique set of characteristics in order to serve a particular purpose. Some are named for what they do well, such as the Metal shader. Others are named for the person who developed them, such as the Blinn and Strauss shaders. The default shader in 3ds Max is the Blinn shader. NOTE In addition to the shaders listed below, 3ds Max supports plug-in shader types. The following list describes the shaders supplied with 3ds Max: ■ Anisotropic: Used for brushed metal or hair. Creates a highlight that is stretched and angled, rather than the standard circular highlight. ■ Blinn: Has the same features as the Phong shader, but its mathematics are more accurate. This is the default shader for Standard materials. 6392 | Chapter 17 Material Editor, Materials, and Maps ■ Metal: Used for making metals. ■ MultiLayer: Two anisotropic shaders in one. Used to make two different highlights with independent controls. Simulates materials such as a metal that is covered with a shiny coat of wax. Standard Material and Related Materials (Not Photometric) | 6393 ■ Oren-Nayar-Blinn: An adaptation of the Blinn shader. It gives objects a porous, non-plastic appearance, and is suitable for surfaces like skin. ■ Phong: A classic shading method that was the first to enable specular highlights. Suitable for plastic surfaces. ■ Strauss: Suitable for metals. Allows you to control the degree of metallic characteristics of the material. 6394 | Chapter 17 Material Editor, Materials, and Maps ■ Translucent Shader: Translucent shading is similar to Blinn shading, but it also lets you specify translucency. A translucent object allows light to pass through, and also scatters light within the object. You can use translucency to simulate frosted and etched glass. Comparing Shader Parameters A shader is an algorithm that tells 3ds Max how to calculate surface rendering. Each shader has a unique set of characteristics in order to serve a particular purpose. Standard Material and Related Materials (Not Photometric) | 6395 Compare the parameters of different shader types: 1 Open the Compact Material Editor on page 6020 and click an available sample slot. 2 In the list on the Shader Basic Parameters rollout, change Blinn to Anisotropic. The Blinn Basic Parameters rollout changes to the Anisotropic Basic Parameters rollout. Observe the differences in the available basic parameters. 6396 | Chapter 17 Material Editor, Materials, and Maps 3 Select each shader type from the list and compare its parameters with the others. Some parameters are shared in common, but each shader has its own unique combination of settings. For more information on shader types, see Shader Basic Parameters Rollout on page 6390. Standard Material and Related Materials (Not Photometric) | 6397 Anisotropic Shader Material Editor ➤ Standard material ➤ Shader Basic Parameters rollout ➤ Anisotropic shader ➤ Anisotropic Basic Parameters rollout The Anisotropic shader creates surfaces with elliptical, "anisotropic" highlights. These highlights are good for modeling hair, glass, or brushed metal. The basic parameters are similar to those for Blinn or Phong shading on page 6399, except for the Specular Highlight parameters, and Diffuse Level controls such as those for Oren-Nayar-Blinn shading on page 6403. Anisotropic highlights are elliptical, with differing U and V dimensions. Anisotropy measures the difference between sizes of the highlight as seen from two perpendicular directions. When anisotropy is 0, there is no difference at all. The highlight is circular, as in Blinn or Phong shading. When anisotropy is 100, the difference is at its maximum. In one direction the highlight is very sharp; in the other direction it is controlled solely by Glossiness. For more complex highlights, see the Multi-Layer shader on page 6402. 6398 | Chapter 17 Material Editor, Materials, and Maps See also: ■ Shader Basic Parameters Rollout on page 6390 ■ Basic Parameters Rollout (Standard Material) on page 6410 ■ Anisotropic Highlights on page 6426 Blinn Shader Material Editor ➤ Standard material ➤ Shader Basic Parameters rollout ➤ Blinn shader ➤ Blinn Basic Parameters rollout Blinn shading is a subtle variation on Phong shading. The most noticeable difference is that highlights appear rounder. In general, you don't need to use the Soften parameter (described in Blinn, Oren-Nayar-Blinn, and Phong Highlights on page 6428) as often as you do with Phong shading. Blinn shading tends to have soft, round highlights. Standard Material and Related Materials (Not Photometric) | 6399 With Blinn shading, you can obtain highlights produced by light glancing off the surface at low angles. These highlights are lost when you increase the value of Soften using Phong shading. The Blinn and Phong shaders have the same basic parameters on page 6410. See also: ■ Shader Basic Parameters Rollout on page 6390 ■ Basic Parameters Rollout (Standard Material) on page 6410 ■ Blinn, Oren-Nayar-Blinn, and Phong Highlights on page 6428 Metal Shader Material Editor ➤ Standard material ➤ Shader Basic Parameters rollout ➤ Metal shader ➤ Metal Basic Parameters rollout Metal shading provides realistic-looking metallic surfaces and a variety of organic-looking materials. Metal shading has a distinct curve for specular highlights. Metal surfaces also have glancing highlights. Metal materials calculate their own specular color, which can vary between the material's diffuse color and the color of the light. You can't set a metal material's specular color. 6400 | Chapter 17 Material Editor, Materials, and Maps Metal shading has distinctive highlights. Because there's no separate specular highlight, the two specular highlight spinners behave differently than the spinners for Blinn and Phong shading on page 6399. The Specular Level spinner still controls intensity, but the Glossiness spinner affects both the intensity and size of the specular areas. TIP When you create a metal material, make sure the backlight on page 6050 is on in the sample slot. See also: ■ Shader Basic Parameters Rollout on page 6390 ■ Basic Parameters Rollout (Standard Material) on page 6410 ■ Metal Highlights on page 6430 Standard Material and Related Materials (Not Photometric) | 6401 Multi-Layer Shader Material Editor ➤ Standard material ➤ Shader Basic Parameters rollout ➤ Multi-Layer shader ➤ Multi-Layer Basic Parameters rollout The Multi-Layer shader is similar to the Anisotropic shader on page 6398, but it has a set of two specular highlight controls. The highlights are layered, letting you create complex highlights that are good for highly polished surfaces, special effects, and so on. Upper left: No highlights Upper right: Single highlight Lower middle: Multiple highlights from the multi-layer shader Highlights in the Multi-Layer shader can be anisotropic. Anisotropy measures the difference between sizes of the highlight as seen from two perpendicular directions. When anisotropy is 0, there is no difference at all. The highlight is circular, as in Blinn or Phong shading. When anisotropy is 100, the difference is at its maximum. In one direction the highlight is very sharp; in the other direction it is controlled solely by Glossiness. 6402 | Chapter 17 Material Editor, Materials, and Maps See also: ■ Shader Basic Parameters Rollout on page 6390 ■ Basic Parameters Rollout (Standard Material) on page 6410 ■ Multi-Layer Highlights on page 6432 Oren-Nayar-Blinn Shader Material Editor ➤ Standard material ➤ Shader Basic Parameters rollout ➤ Blinn shader ➤ Oren-Nayar-Blinn shader ➤ Oren-Nayar-Blinn Basic Parameters rollout The Oren-Nayar-Blinn shader is a variant of the Blinn shader on page 6399. It contains additional "advanced diffuse" controls, Diffuse Level and Roughness, that you can use to give the material a matte effect. This shader is good for matte surfaces such as fabric, terra-cotta, and so on. Oren-Nayar-Blinn shading typically has a matte appearance. Standard Material and Related Materials (Not Photometric) | 6403 See also: ■ Shader Basic Parameters Rollout on page 6390 ■ Basic Parameters Rollout (Standard Material) on page 6410 ■ Blinn, Oren-Nayar-Blinn, and Phong Highlights on page 6428 Phong Shader Material Editor ➤ Standard material ➤ Shader Basic Parameters rollout ➤ Phong shader ➤ Phong Basic Parameters rollout Phong shading smoothes the edges between faces and renders highlights realistically for shiny, regular surfaces. This shader interpolates intensities across a face based on the averaged face normals of adjacent faces. It calculates the normal for every pixel of the face. Phong-shaded highlights are typically less regular than Blinn highlights. 6404 | Chapter 17 Material Editor, Materials, and Maps Phong shading can accurately render bump, opacity, shininess, specular, and reflection maps. The Blinn and Phong shaders have the same basic parameters on page 6410. See also: ■ Shader Basic Parameters Rollout on page 6390 ■ Basic Parameters Rollout (Standard Material) on page 6410 ■ Blinn, Oren-Nayar-Blinn, and Phong Highlights on page 6428 Strauss Shader Material Editor ➤ Standard material ➤ Shader Basic Parameters rollout ➤ Strauss shader ➤ Strauss Basic Parameters rollout The Strauss shader is for modeling metallic surfaces. It uses a simpler model and has a simpler interface than the Metal shader on page 6400. Standard Material and Related Materials (Not Photometric) | 6405 Sample of Strauss shading NOTE The Strauss shader’s Basic Parameters rollout differs a great deal from the Basic Parameters rollouts for other shaders, and is described in this topic. See also: ■ Shader Basic Parameters Rollout on page 6390 Procedures To change the color of a Strauss material: 1 Click the Color swatch. The Color Selector on page 304 is displayed. 2 In the Color Selector, change the values of the color. As you change color values, the color also changes in the sample in the sample slot. 6406 | Chapter 17 Material Editor, Materials, and Maps To reduce a material's opacity: ■ Change Opacity to a value less than 100%. The material becomes more transparent. A fully transparent object (0% Opacity) is nearly invisible except for the light it reflects: the specular highlights. To preview transparency in the sample slots, view the sample object against a background. Click the checkered Background on page 6051 button to the right of the sample slots. Transparent materials render more realistically when you turn on 2-Sided in the material's Shader Basic Parameters on page 6390. To increase or decrease the size and intensity of highlights: ■ Change the Glossiness value. The width of the Highlight curve and the highlights in the preview change. At 0% glossiness, the curve is at its maximum width. At 100% glossiness, the curve is extremely narrow. Increasing Glossiness also dims the diffuse color. To make the material appear more metallic: 1 Increase the Glossiness value. The metallic effect requires visible highlights. 2 Increase the value of Metalness. Highlights become more focused, and the (diffuse) color component is dimmed. Interface Standard Material and Related Materials (Not Photometric) | 6407 Color Controls the color of the material. This corresponds to the diffuse color on page 9137 you specify for other kinds of shaders. With the Strauss shader, you control only this color. The shader calculates the ambient and specular color components. Click the map button to assign a map to the color component. See Diffuse Mapping on page 6453. This button is a shortcut: you can also assign color mapping in the Maps on page 6443 rollout. Glossiness Affects the size and intensity of the specular highlight. As you increase the value, the highlight gets smaller and the material appears shinier. Default=25. Glossiness also controls the strength of reflection maps assigned to a Strauss material. Click the map button to assign a map to the glossiness component. See Glossiness Mapping on page 6462. This button is a shortcut: you can also assign glossiness mapping in the Maps on page 6443 rollout. Metalness Changes the metallic appearance of a material. Increasing the Metalness value increases the metallic appearance, with glancing as well as primary highlights. Because a metallic appearance principally depends on highlights, the Metalness value has little effect unless you also increase the Glossiness value. Default=0. TIP When you create a metal material, make sure the backlight on page 6050 is on in the sample slot. Opacity Sets the opacity/transparency of the material as a percentage. The effect is best previewed against a pattern background on page 6051 in the sample slot. You can control opacity falloff on page 9246 in the Extended Parameters. Default=100. Click the map button to assign a map to the opacity component. See Opacity Mapping on page 6465. This button is a shortcut: you can also assign opacity mapping in the Maps rollout on page 6443. Highlight graph This curve shows the effect of adjusting the value of Glossiness. As you decrease Glossiness, the curve grows shorter; as you increase it, the curve grows taller. 6408 | Chapter 17 Material Editor, Materials, and Maps Translucent Shader Material Editor ➤ Standard material ➤ Shader Basic Parameters rollout ➤ Translucent shader ➤ Translucent Basic Parameters rollout Translucent shading is similar to Blinn shading, but it also lets you specify translucency. A translucent object allows light to pass through, and also scatters light within the object. You can use translucency to simulate frosted and etched glass. The projection screen uses translucency Translucency is inherently a two-sided effect: with the translucent shader, backface illumination appears on front faces. To generate translucency, both sides of the material receive diffuse light, though only one side is visible in renderings and shaded viewports unless you turn on 2-Sided (in the Shader Basic Parameters rollout). If you use radiosity on page 7068, it will process light transmitted by translucency. The accuracy of this depends on the mesh: the more subdivided the faces are, the more accurate the solution will be (at a cost of processing time). For specular highlights, you have a choice: to model materials like translucent plastic, you can choose to have highlights on both sides; to model materials Standard Material and Related Materials (Not Photometric) | 6409 like frosted glass, which is reflective on one side only, you can choose to have highlights on only one side. This is controlled by the Backside Specular toggle in the translucent highlight controls. TIP To simulate frosted glass, a fine-grained bump map can also help. The translucent effect appears only in renderings. It does not appear in shaded viewports. NOTE The translucent shader does not simulate the scattering of light within the object. Because of this, it is better at simulating thin objects such as glass or paper, than at thick objects. For thicker objects, the light passing through might saturate excessively. To avoid this, try reducing the HSV Value of the material's Translucent Color. Translucent materials also capture shadows cast on the backfaces of the material. However, because the translucent shader doesn't scatter light, for thicker objects the effect is not an accurate simulation of real-world translucency. WARNING Do not use shadow maps with the translucent shader. Shadow maps result in artifacts at the edge of translucent objects. See also: ■ Shader Basic Parameters Rollout on page 6390 ■ Basic Parameters Rollout (Standard Material) on page 6410 ■ Translucency Setting on page 6424 ■ Translucent Highlights on page 6434 Basic Parameters Rollout (Standard Material) Material Editor ➤ Standard material ➤ Basic Parameters rollout for the shader you've chosen The Basic Parameters rollouts for Standard materials contain controls that let you set the color of your material, the shininess, the transparency, and so on, and specify maps on page 9215 to use for the various components of the material. 6410 | Chapter 17 Material Editor, Materials, and Maps Example: The Basic Parameters rollout for the Anisotropic shader. Basic Parameters rollouts vary depending on which shader is chosen. The Basic Parameters rollout changes depending on which kind of shader you choose in the Shader Basic Parameters on page 6390. NOTE The Strauss shader’s Basic Parameters rollout is simpler than those for other shaders. See Strauss Shader on page 6405 for a description. Component Controls The first part of the Basic Parameters rollout contains controls for overall material components. They are described in the following topics: ■ Color Controls on page 6412 let you choose the material’s color components, or replace them with maps. ■ Self-Illumination on page 6416 makes a material appear lit from within. Self-illumination is not available for the Strauss shader on page 6405. ■ Opacity on page 6418 controls how opaque or transparent a material is. Standard Material and Related Materials (Not Photometric) | 6411 ■ Diffuse Level on page 6420 controls the brightness of the diffuse color component. Diffuse Level is available only for the Anisotropic on page 6398, Multi-Layer on page 6402, and Oren-Nayar-Blinn on page 6403 shaders. ■ Roughness on page 6422 controls how quickly the diffuse component blends into the ambient component. Roughness is available only for the Multi-Layer on page 6402 and Oren-Nayar-Blinn on page 6403 shaders. Highlight Controls The second part of the Basic Parameters rollout contains controls for specular highlights, which in some ways are the greatest difference between the various shaders. See these topics for a description: ■ Anisotropic Highlights on page 6398 ■ Blinn, Oren-Nayar-Blinn, and Phong Highlights on page 6428 ■ Metal Highlights on page 6430 ■ Multi-Layer Highlights on page 6432 For information on highlights with the Strauss shader, see Strauss Shader on page 6405. Translucency Controls For the Translucent shader on page 6409, an additional group on the Basic Parameters rollout contains controls for translucency on page 6424. Color Controls Material Editor ➤ Standard material ➤ Anisotropic, Blinn, Metal, Multi-Layer, Oren-Nayar-Blinn, or Phong Basic Parameters rollout ➤ First group in the rollout (unlabeled) Color controls set the colors for different color components. You can set the color by clicking the color swatch to display the Color Selector on page 304. 6412 | Chapter 17 Material Editor, Materials, and Maps NOTE The Metal shader does not have a Specular component, because it generates the specular color automatically. The Multi-Layer shader can have two different Specular color components, so for this material the Specular color swatches are found in the Specular Highlights group. The Strauss shader has only a single color component, which corresponds to Diffuse. 1. Specular color 2. Diffuse color 3. Ambient color Copying and Locking Color Components For convenience in changing color components, the Material Editor lets you copy one color component to another by dragging, and to lock two color components together with the lock buttons to the left of the Ambient and Diffuse, and Diffuse and Specular color swatches. When you drag and drop a color swatch, the Copy or Swap Colors dialog on page 6165 asks if you want to copy the color or swap the two colors. In general, materials with two identical color components do not look realistic, and except for materials that are close to solid black, you should avoid using copied or locked color components in materials you use in a scene. Color Standard Material and Related Materials (Not Photometric) | 6413 copying and locking are best used as conveniences when you design a new basic material. Shortcut Map Buttons The small buttons to the right of the color swatches access the Material/Map Browser on page 6167, where you select a map for that component. These buttons are shortcuts: you can also use the corresponding buttons in the Maps rollout on page 6443 If you have assigned a map to one of these color components, the button displays the letter M. An uppercase M means that the corresponding map is assigned and active. A lowercase m means that the map is assigned and inactive (turned off). The lock button to the right of the Diffuse map button locks Ambient mapping to Diffuse mapping. It is on by default. Usually it makes sense to use the same map for the ambient and diffuse components. To use different maps for ambient and diffuse, turn off the lock button. A map shortcut button for Ambient appears. Procedures To change a color component: 1 Click the color swatch next to the color component you want to change. The Material Editor displays a Color Selector on page 304. 2 Use the Color Selector to change the values of the color component. As you change color values, the color component also changes in the sample slot. To copy one color component to another: 1 Drag the color swatch of the color you want to copy to the color swatch of the other color component. A Copy or Swap Colors dialog on page 6165 is displayed. 2 Click Copy to replace the second color swatch with the color you dragged. Click Swap to swap the two color components. 6414 | Chapter 17 Material Editor, Materials, and Maps To lock two color components: 1 Click the lock button between Ambient and Diffuse or between Diffuse and Specular. The Material Editor displays an alert that asks whether you want to lock the two color components. 2 Click Yes. The color above replaces the color below. In other words, Ambient replaces Diffuse and Diffuse replaces Specular. If two colors are locked, and you lock the other two, all three component colors are replaced by the active color. While two colors are locked, adjustments to one color component affect the other as well. To unlock two color components: ■ Click the lock button to turn it off. The two colors remain the same until you change one of them, or both. Interface Ambient Controls the ambient color on page 9089. The ambient color is the color in shadow (indirect light). Diffuse Controls the diffuse color on page 9137. The diffuse color is the color in direct light. Specular Controls the specular color on page 9313. The specular color is the color of the highlight on a shiny object. You can control the size and shape of highlights in the Specular Highlights group, described below. Standard Material and Related Materials (Not Photometric) | 6415 Self-Illumination Setting Material Editor ➤ Standard material ➤ Anisotropic, Blinn, Metal, Multi-Layer, Oren-Nayar-Blinn, or Phong Basic Parameters rollout ➤ Self-Illumination group These controls make the material self illuminated on page 9300. Self-illumination creates the illusion of incandescence by replacing shadows on the surface with the diffuse color. As you increase self-illumination, the self-illumination color takes over from the ambient color. At a setting of 100, the material shows no shaded areas, although it can show specular highlights. The self-illumination color appears in viewports. (In releases prior to 3ds Max 5,, viewports showed the self-illumination value but not the color.) NOTE The Strauss shader on page 6405 does not have self-illumination. There are two ways to specify self-illumination. You can turn on the check box and use a self-illumination color, or turn off the check box and use a monochrome spinner, which is comparable to using a gray scale self-illumination color. Self-illuminated materials do not show shadows cast onto them, and they are unaffected by the lights in the scene. The brightness (Value in the HSV color description on page 9280) remains the same regardless of the scene's lighting. To make a visible light source in a scene, you can combine a geometric object with a light object, and give the geometric object a self-illuminating surface. For example, you could create a lofted light bulb shape, assign it a self-illuminating white or yellowish material, and place an omni light in the same location. To make a material both self-illuminating and transparent, use the Additive transparency type in combination with self-illumination. See Extended Parameters on page 6436. 6416 | Chapter 17 Material Editor, Materials, and Maps A self-illuminated object using a percentage value and a color Procedures To make a material self-illuminating: 1 Click the color swatch in the Self-Illumination group. 2 In the Color Selector on page 304, choose a color for self-illumination. 3 Use the color's Value parameter (in the HSV model) to increase or decrease the amount of self-illumination on page 9300. You can also set self-illumination with a monochrome spinner. To do so, turn off the self-illumination check box and adjust the spinner. The self-illumination color is mixed with the material's diffuse color. The closer to black the self-illumination color, the more diffuse color is used. As self-illumination increases, the sample object appears flatter and more luminous. Standard Material and Related Materials (Not Photometric) | 6417 Interface Color check box When on, the material uses a special self-illumination color. When off, the material uses the diffuse color for self-illumination, and displays a spinner to control the self-illumination amount. Default=off. Color swatch When Color is on, the color swatch shows the self-illumination color. To change the color, click the swatch and then use the Color Selector on page 304. Adjusting the Value (in the color's HSV description on page 9280) adjusts the amount of self-illumination. The greater the Value, the more the self-illumination color dominates both the ambient and diffuse color components. Mono spinner When Color is off, the diffuse component is used as the self-illumination color, and this spinner lets you adjust the amount of self-illumination. At 0, there is no self-illumination. At 100, the diffuse color takes over from the ambient color. Click the map button to assign a map to the self-illumination component. See Self-Illumination Mapping on page 6463. This button is a shortcut: you can also assign self-illumination mapping in the Maps rollout on page 6443. Opacity Material Editor ➤ Standard material ➤ Anisotropic, Blinn, Metal, Multi-Layer, Oren-Nayar-Blinn, or Phong Basic Parameters rollout ➤ Opacity group (unlabeled) Opacity controls whether a material is opaque, transparent, or translucent. (A more physically accurate way to generate translucency is to use the Translucent shader on page 6409.) 6418 | Chapter 17 Material Editor, Materials, and Maps Controlling opacity using the Opacity setting (left) or an opacity map (right). Procedures To reduce a material's opacity: ■ Change Opacity to a value less than 100%. The material becomes more transparent. A fully transparent object (0% Opacity) is nearly invisible except for the light it reflects (the specular highlights). To preview transparency in the sample slots, view the sample object against a background. Click the checkered Background button on page 6051 to the right of the sample slots. Transparent materials render more realistically when you turn on 2-Sided in the material's Shader Basic Parameters on page 6390. Standard Material and Related Materials (Not Photometric) | 6419 Interface Opacity Sets the opacity/transparency of the material as a percentage. The effect is best previewed against a pattern background on page 6051 in the sample slot. You can control opacity falloff on page 9246 in the Extended Parameters. Click the map button to assign a map to the opacity component. See Opacity Mapping on page 6465. This button is a shortcut: you can also assign opacity mapping in the Maps rollout on page 6443. Diffuse Level Material Editor ➤ Standard material ➤ Anisotropic, Multi-Layer, or Oren-Nayar-Blinn Basic Parameters rollout ➤ Diffuse Level group (unlabeled) or Advanced Diffuse group Diffuse Level controls the brightness of the material's diffuse component. 6420 | Chapter 17 Material Editor, Materials, and Maps Adjusting diffuse level NOTE The Blinn, Metal, Phong, and Strauss shaders do not have Diffuse Level control. Procedures To adjust the diffuse level: ■ Change the value of Diffuse Level. The material grows lighter or darker. Lowering the Diffuse Level dims the material's diffuse color without affecting the specular highlight. Diffuse Level is intended primarily so you can create a map on page 6455 that makes portions of the material very dark. Interface Standard Material and Related Materials (Not Photometric) | 6421 Diffuse Level Increasing this value increases diffuse brightness, and decreasing it reduces diffuse brightness without affecting the specular highlight. You can increase the diffuse level over and above the diffuse color's Value (in its HSV description on page 9280). This parameter can range from 0 to 400. Default=100. Click the map button to assign a map to the diffuse level parameter. See Diffuse Level Mapping on page 6455. This button is a shortcut: you can also assign diffuse level mapping in the Maps rollout on page 6443. Roughness Material Editor ➤ Standard material ➤ Multi-Layer or Oren-Nayar-Blinn Basic Parameters rollout ➤ Advanced Diffuse group (unlabeled for Multi-Layer) Roughness controls the rate at which the diffuse component blends into the ambient component. NOTE The Roughness parameter is available only with the Oren-Nayar-Blinn on page 6403 and Multi-Level on page 6402 shaders, and with the Arch & Design material (mental ray) on page 6269. 6422 | Chapter 17 Material Editor, Materials, and Maps Increasing the blending area between ambient and diffuse with Roughness Procedures To adjust the roughness: ■ Change the value of Roughness. Increasing roughness makes the material have a flatter, more matte appearance. Interface Roughness As you increase this value, the matte appearance of the material increases. It also grows darker and appears more flat. At 0, the roughness is the same as it is with Blinn shading on page 6399. Range (Oren-Nayar-Blinn and Multi-Layer)=0 to 100. Range (Arch & Design material)=0.0 to 1.0. Default=0. Click the map button to assign a map to Roughness. This button is a shortcut: you can also assign Diffuse Roughness mapping on the Maps rollout on page Standard Material and Related Materials (Not Photometric) | 6423 6443 (Oren-Nayar-Blinn and Multi-Layer) or General Maps Rollout on page 6326 (Arch & Design material). See Diffuse Roughness Mapping on page 6457. Translucency Setting Material Editor ➤ Standard material ➤ Shader Basic Parameters rollout ➤ Translucent shader ➤ Translucent Basic Parameters rollout ➤ Translucency group The translucency controls are available for the Translucent shader on page 6409. WARNING Do not use shadow maps with the translucent shader. Shadow maps result in artifacts at the edge of translucent objects. Procedures To make a material translucent: ■ Increase the HSV Value (V) on page 9280 of the Translucent Color. As the Value increases, the material becomes more translucent. The Hue of the Translucent Color tints the light that is scattered within the material. Translucent materials render more realistically when you turn on 2-Sided in the material's Shader Basic Parameters on page 6390. The translucent effect does not appear in shaded viewports. 6424 | Chapter 17 Material Editor, Materials, and Maps The projection screen uses translucency Interface Translucent Clr (Color) Specifies a translucency color. This is the color of light that is scattered within the material. It does not need to be the same as the filter color, which is light transmitted by the material. The two color values are multiplied. Click the color swatch to change the translucent color. Click the button to assign a map to the translucent color component. Filter Color Specifies a filter color on page 9157 that is multiplied by the translucent color. Click the color swatch to change the filter color. Click the button to assign a map to the filter color component. The filter, or transmissive color, is the color transmitted through transparent or semi-transparent materials such as glass. You can use the filter color with volumetric lighting to create effects such as colored light through a stained-glass window. Ray-traced shadows on page 9279 cast by transparent objects are tinted with the filter color. Standard Material and Related Materials (Not Photometric) | 6425 Opacity Sets the opacity/transparency on page 6418 of the material as a percentage. The effect is best previewed against a pattern background on page 6051 in the sample slot. Click the map button to assign a map to the opacity component. See Opacity Mapping on page 6465. This button is a shortcut: you can also assign opacity mapping in the Maps rollout on page 6443. Specular Highlight Controls The topics in this section describe the various controls for different kinds of Standard material highlights. Anisotropic Highlights Material Editor ➤ Standard material ➤ Anisotropic Basic Parameters rollout ➤ Specular Highlight group Material Editor ➤ Raytrace material ➤ Raytrace Basic Parameters rollout ➤ Shading: Anisotropic ➤ Specular Highlight group Anisotropic highlights are good for modeling hair, glass, or brushed metal. NOTE For the Raytrace material on page 6486, the Specular Color component appears in the Specular Highlight group. Also, highlight controls that don’t pertain to the current shader are labeled “N / A.” Procedures To increase or decrease the size of a highlight: ■ Change the Glossiness value. The width of the Highlight curves and the highlights in the preview change. At 0% glossiness, the curves are at their maximum width. At 100% glossiness, both curves are extremely narrow. To increase or decrease the strength of a highlight: ■ Change the value of Specular Level. The intensity of the Highlight curves and the highlights in the preview change. At 0% specular level, there is no highlight. At 100% specular level, 6426 | Chapter 17 Material Editor, Materials, and Maps the curves are at their maximum height with no overloading. At values greater than 100%, the curves are overloaded: they grow wider, and a wider area is at the maximum highlight intensity. The shape of the Highlight curves affects the blending between the specular and diffuse color regions of the material. The steeper the curve, the less blending there is and the sharper the edge of the specular highlight. To adjust the shape (anisotropy) of the highlight: ■ Change the value of Anisotropy. The width of the white highlight curve and the highlights in the preview change. At 0% anisotropy, both highlight curves are the same and the highlight is circular, as in Blinn and Phong shading. At 100% anisotropy, the white highlight curve and the highlights are extremely narrow. To adjust the orientation of the highlight: ■ Change the value of Orientation. Highlights in the preview show the change in orientation. The display of the highlight curve does not change. Interface Specular Level Affects the intensity of the specular highlight. As you increase the value, the highlight grows brighter. Default=0 for a Standard material, 50 for a Raytrace material. Click the map button to assign a map to the specular level component. See Specular Level Mapping on page 6460. This button is a shortcut: you can also assign specular level mapping in the Maps rollout on page 6443. Glossiness Affects the size of the specular highlight. As you increase the value, the highlight gets smaller and the material appears shinier. Default=25. Standard Material and Related Materials (Not Photometric) | 6427 Click the map button to assign a map to the glossiness component. See Glossiness Mapping on page 6462. This button is a shortcut: you can also assign specular level mapping in the Maps rollout on page 6443. Anisotropy Controls the anisotropy, or shape, of the highlight. At 0, the highlight is round. At 100, the highlight is extremely narrow. One axis of the Highlight graph changes to show changes in this parameter. Default=50. Orientation Changes the orientation of the highlight. The sample slot shows changes in orientation. This is a value in degrees that can range from 0 to 9,999. Default=0. Highlight graph These two intersecting curves show the effect of adjusting the values of Specular Level, Glossiness, and Anisotropy. As you decrease Glossiness, the curves grow wider; as you increase Specular Level, the curves grow taller. As you adjust Anisotropy, the white curve changes to show how wide or narrow the highlight is. Blinn, Oren-Nayar-Blinn, and Phong Highlights Material Editor ➤ Standard material ➤ Blinn, Oren-Nayar-Blinn, or Phong Basic Parameters rollout ➤ Specular Highlight group Material Editor ➤ Raytrace material ➤ Raytrace Basic Parameters rollout ➤ Shading: Blinn, Oren-Nayar-Blinn, or Phong ➤ Specular Highlight group The Blinn on page 6399, Oren-Nayar-Blinn on page 6403, and Phong on page 6404 shaders all have circular highlights and share the same highlight controls. Blinn and Oren-Nayar-Blinn highlights are somewhat softer and rounder than Phong highlights. NOTE For the Raytrace material on page 6486, the Specular Color component appears in the Specular Highlight group. Also, highlight controls that don’t pertain to the current shader are labeled “N/A.” Procedures To increase or decrease the strength of a highlight: ■ Change the value of Specular Level. 6428 | Chapter 17 Material Editor, Materials, and Maps The intensity of the Highlight curve and the highlight in the preview change. At 0% specular level, there is no highlight. At 100% specular level, the curve is at its maximum height with no overloading. At values greater than 100%, the curve is overloaded: it grows wider, and a wider area is at the maximum highlight intensity. The shape of the Highlight curve affects the blending between the specular and diffuse color regions of the material. The steeper the curve, the less blending there is and the sharper the edge of the specular highlight. To increase or decrease the size of a highlight: ■ Change the Glossiness value. The width of the Highlight curve and the highlight in the preview change. At 0% glossiness, the curve is at its maximum width. At 100% glossiness, the curve is extremely narrow. Interface Specular Level Affects the intensity of the specular highlight. As you increase the value, the highlight grows brighter. Default=0 for a Standard material, 50 for a Raytrace material. Click the map button to assign a map to the specular level component. See Specular Level Mapping on page 6462. This button is a shortcut: you can also assign specular level mapping in the Maps rollout on page 6443. Glossiness Affects the size of the specular highlight. As you increase the value, the highlight gets smaller and the material appears shinier. Default=10 for a Standard material, 40 for a Raytrace material. Click the map button to assign a map to the glossiness component. See Glossiness Mapping on page 6462. This button is a shortcut: you can also assign specular level mapping in the Maps rollout on page 6443. Soften Softens the effect of specular highlights, especially those formed by glancing light. When Specular Level is high and Glossiness is low, you can Standard Material and Related Materials (Not Photometric) | 6429 get harsh backlights on surfaces. Increase the value of Soften to mitigate this effect. At 0, there is no softening. At 1.0, the maximum amount of softening is applied. Default=0.1. NOTE The Soften control was a check box in releases prior to 3ds Max 2. When you load a material created in an earlier version of 3ds Max, if Soften was originally off, the new Soften value is 0.0. If Soften was originally on, the new Soften value is 0.6. Highlight graph This curve shows the effect of adjusting the values of Specular Level and Glossiness. As you decrease Glossiness, the curve grows wider; as you increase Specular Level, the curve grows taller. Metal Highlights Material Editor ➤ Standard material ➤ Metal Basic Parameters rollout ➤ Specular Highlight group Material Editor ➤ Raytrace material ➤ Raytrace Basic Parameters rollout ➤ Shading: Metal ➤ Specular Highlight group Metal-shaded materials generate their own specular color. Also, the highlight curve for the Metal shader differs in shape from the curve for Blinn Oren-Nayar-Blinn, and Phong highlights on page 6428. NOTE For the Raytrace material on page 6486, the Specular Color component appears in the Specular Highlight group. Also, highlight controls that don’t pertain to the current shader are labeled “N/A.” Procedures To increase or decrease the size and intensity of a highlight: ■ Change the Glossiness value. The width of the Highlight curve and the highlights in the preview change. At 0% glossiness, the curve is at its maximum width. At 100% glossiness, the curve is extremely narrow. To increase or decrease the strength of a highlight: ■ Change the value of Specular Level. 6430 | Chapter 17 Material Editor, Materials, and Maps The intensity of the Highlight curve and the highlight in the preview change. At 0% specular level, there is no highlight. At 100% specular level, the curve is at its maximum height with no overloading. At values greater than 100%, the curve is overloaded: it grows wider, and a wider area is at the maximum highlight intensity. Increasing the Specular Level also dims the diffuse color. The shape of the Highlight curve affects the blending between the specular and diffuse color regions of the material. The steeper the curve, the less blending there is and the sharper the edge of specular and glancing highlights. Interface Specular Level Affects the intensity of the specular highlight. As you increase the value, the highlight grows brighter and the diffuse color grows dimmer. Default=10 for a Standard material, 50 for a Raytrace material. Click the map button to assign a map to the specular level component. See Specular Level Mapping on page 6460. This button is a shortcut: you can also assign specular level mapping in the Maps on page 6443 rollout. Glossiness Affects the size of the specular highlight. As you increase the value, the highlight curve grows narrower and the highlight gets smaller. Default=10 for a Standard material, 40 for a Raytrace material. Click the map button to assign a map to the glossiness component. See Glossiness Mapping on page 6462. This button is a shortcut: you can also assign specular level mapping in the Maps on page 6443 rollout. Highlight graph This curve shows the effect of adjusting the values of Specular Level and Glossiness. As you decrease Glossiness, the curve grows wider; as you increase Specular Level, the curve grows taller. Standard Material and Related Materials (Not Photometric) | 6431 Multi-Layer Highlights Material Editor ➤ Standard material ➤ Multi-Layer Basic Parameters rollout ➤ First Specular Layer/Second Specular Layer groups Multi-layer highlights consist of two layers, each of them anisotropic. The highlights are transparent to each other. Where they overlap, the Multi-Layer shader blends their colors. Procedures To increase or decrease the size of a highlight (specular) layer: ■ Change the Glossiness value. The width of the Highlight curves and the highlights in the preview change. At 0% glossiness, the curves are at their maximum width. At 100% glossiness, both curves are extremely narrow. To increase or decrease the strength of a highlight (specular) layer: ■ Change the value of Specular Level. The intensity of the Highlight curves and the highlights in the preview change. At 0% specular level, there is no highlight. At 100% specular level, the curves are at their maximum height with no overloading. At values greater than 100%, the curves are overloaded: they grow wider, and a wider area is at the maximum highlight intensity. The shape of the Highlight curves affects the blending between the specular and diffuse color regions of the material. The steeper the curve, the less blending there is and the sharper the edge of the specular highlight. To adjust the shape (anisotropy) of a highlight (specular) layer: ■ Change the value of Anisotropy. The width of the white highlight curve and the highlights in the preview change. At 0% anisotropy, both highlight curves are the same and the highlight is circular, as in Blinn and Phong shading. At 100% anisotropy, the white highlight curve and the highlights are extremely narrow. To adjust the orientation of a highlight (specular) layer: ■ Change the value of Orientation. 6432 | Chapter 17 Material Editor, Materials, and Maps Highlights in the preview show the change in orientation. The display of the highlight curve does not change. Interface The First Specular Layer and Second Specular Layer groups have identical controls, which can have different settings. Color Controls the specular color on page 9313 of this highlight. The specular color is the color of the highlight on a shiny surface. Level Affects the intensity of this specular highlight. As you increase the value, the highlight grows brighter. Default: First layer=5, Second layer=0. Click the map button to assign a map to the specular level component. See Specular Level Mapping on page 6460. This button is a shortcut: you can also assign specular level mapping in the Maps rollout on page 6443. Glossiness Affects the size of this specular highlight. As you increase the value, the highlight gets smaller and the material appears shinier. Default: First layer= 10, Second layer=25. Standard Material and Related Materials (Not Photometric) | 6433 Click the map button to assign a map to the glossiness component. See Glossiness Mapping on page 6462. This button is a shortcut: you can also assign specular level mapping in the Maps rollout on page 6443. Anisotropy Controls the anisotropy, or shape, of this highlight. At 0, the highlight is round. At 100, the highlight is extremely narrow. One axis of the Highlight graph changes to show changes in this parameter. Default=0. Orientation Changes the orientation of this highlight. The sample slot shows changes in orientation. This is a value in degrees that can range from 0 to 9,999. Default=0. Highlight graph These two intersecting curves show the effect of adjusting the values of Level, Glossiness, and Anisotropy. As you decrease Glossiness, the curves grow wider; as you increase Specular Level, the curves grow taller. As you adjust Anisotropy, the white curve changes to show how wide or narrow the highlight is. Translucent Highlights Material Editor ➤ Standard material ➤ Translucent Basic Parameters rollout ➤ Specular Highlight group Like the Blinn shader, the Translucent shader has circular highlights. Procedures To increase or decrease the strength of a highlight: ■ Change the value of Specular Level. The intensity of the Highlight curve and the highlight in the preview change. At 0% specular level, there is no highlight. At values greater than 100%, the curve is overloaded: it grows wider, and a wider area is at the maximum highlight intensity. At 100% specular level, the curve is at its maximum height with no overloading. The shape of the Highlight curve affects the blending between the specular and diffuse color regions of the material. The steeper the curve, the less blending there is and the sharper the edge of the specular highlight. 6434 | Chapter 17 Material Editor, Materials, and Maps To increase or decrease the size of a highlight: ■ Change the Glossiness value. The width of the Highlight curve and the highlight in the preview change. At 0% glossiness, the curve is at its maximum width. At 100% glossiness, the curve is extremely narrow. Interface Specular Level Affects the intensity of the specular highlight. As you increase the value, the highlight grows brighter. Default=0. Click the map button next to the spinner to assign a map to the specular level component. See Specular Level Mapping on page 6460. This button is a shortcut: you can also assign specular level mapping in the Maps rollout on page 6443. Glossiness Affects the size of the specular highlight. As you increase the value, the highlight gets smaller and the material appears shinier. Default=10. Click the map button next to the spinner to assign a map to the glossiness component. See Glossiness Mapping on page 6462. This button is a shortcut: you can also assign specular level mapping in the Maps rollout on page 6443. Backside specular When on, both sides of the material receive a specular highlight. When off, only the front side of the material receives a highlight. Default=on. Leave Backside Specular on to model materials like translucent plastic. Turn it off to model materials like frosted glass. TIP When Backside Specular is turned off, the front side is always the one that receives a specular highlight. You can change this by reversing the normals of surfaces that have the translucent-shaded material. Standard Material and Related Materials (Not Photometric) | 6435 Extended Parameters Rollout (Standard Material) Material Editor ➤ Standard material ➤ Extended Parameters rollout The Extended Parameters rollout is the same for all shading types of Standard material. It has controls related to transparency and reflection, as well as options for Wire mode. This topic contains tables of the Index of Refraction for some common physical materials. These can be used to create Standard materials with realistic transparency. Additive Opacity and the Alpha Channel By default, additive opacity does not generate an alpha value. In other words, the alpha value is zero, indicating no transparency. This gives correct results with backgrounds in renderings, but if you want to composite objects with additive opacity using video post on page 7707 or a different compositing program, you might want to have additive opacity render with transparency. To do so, add the following line to the [Renderer] section of the 3dsmax.ini file, and then restart 3ds Max: AlphaOutOnAdditive=1 To revert to the default method of rendering additive opacity, in the 3dsmax.ini file, change the value of AlphaOutOnAdditive back to 0 (zero), and then restart 3ds Max. Interface Advanced Transparency group These controls affect the opacity falloff on page 9246 of a transparent material. 6436 | Chapter 17 Material Editor, Materials, and Maps NOTE For the Translucent shader on page 6409, these controls do not appear. They are replaced by the Translucency controls on page 6424 on the Basic Parameters rollout. Falloff Chooses whether falloff is in or out, and how great it is. ■ InIncreases transparency toward the inside of the object, as in a glass bottle. ■ OutIncreases transparency toward the outside of the object, as in a cloud of smoke. Amt (Amount) Specifies the amount of transparency at the outside or inside extreme. Type These controls choose how transparency is applied. ■ Filter on page 9157 computes a filter color that it multiplies by the color behind the transparent surface. Click the color swatch to change the filter color. Click the button to assign a map to the filter color component. The filter, or transmissive color, is the color transmitted through transparent or semi-transparent materials such as glass. You can use the filter color with volumetric lighting to create effects such as colored light through a stained-glass window. Ray-traced shadows on page 9279 cast by transparent objects are tinted with the filter color. Standard Material and Related Materials (Not Photometric) | 6437 A shadow's color is changed with a red filter color. ■ Subtractive on page 9320 subtracts from the color behind the transparent surface. ■ Additive on page 9085 adds to the color behind the transparent surface. Index of Refraction Sets the index of refraction (IOR) used by refraction maps and raytracing. The IOR controls how severely the material refracts transmitted light. Left at 1.0, the IOR of air, the object behind the transparent object does not distort. At 1.5 the object behind distorts greatly, like a glass marble. At an IOR slightly less than 1.0, the object reflects along its edges, like a bubble seen from under water. Default=1.5. Common IORs (assuming the camera is in air or a vacuum) are: Material IOR Value Vacuum 1.0 (exactly) Air 1.0003 6438 | Chapter 17 Material Editor, Materials, and Maps Material IOR Value Water 1.333 Glass 1.5 (clear glass) to 1.7 Diamond 2.418 In the physical world, the IOR results from the relative speeds of light through the transparent material and the medium the eye or the camera is in. Typically this is related to the object's density; the higher the IOR, the denser the object. You can also use a map to control the index of refraction. IOR maps always interpolate between 1.0 (the IOR of air) and the setting in the IOR parameter. For example, if the IOR is set to 3.55 and you use a black-and-white Noise map to control IOR, the IORs rendered on the object will be set to values between 1.0 and 3.55; the object will appear denser than air. If, on the other hand, your IOR is set to 0.5, then the same map values will render between 0.5 and 1.0, as if the camera were under water and the object was less dense than the water. Here are some more IOR values for various materials: Material IOR Value Carbon Dioxide, Liquid 1.200 Ice 1.309 Acetone 1.360 Ethyl Alcohol 1.360 Sugar Solution 30% 1.380 Alcohol 1.329 Flourite 1.434 Quartz, Fused 1.460 Calspar2 1.486 Sugar Solution 80% 1.490 Standard Material and Related Materials (Not Photometric) | 6439 Material IOR Value Glass, Zinc Crown 1.517 Glass, Crown 1.520 Sodium Chloride 1.530 Sodium Chloride (Salt) 1 1.544 Polystyrene 1.550 Quartz 2 1.553 Emerald 1.570 Glass, Light Flint 1.575 Lapis Lazuli 1.610 Topaz 1.610 Carbon Bisulfide 1.630 Quartz 1 1.644 Sodium Chloride (Salt) 2 1.644 Glass, Heavy Flint 1.650 Methylene Iodide 1.740 Ruby 1.770 Sapphire 1.770 Glass, Heaviest Flint 1.890 Crystal 2.000 Chromium Oxide 2.705 6440 | Chapter 17 Material Editor, Materials, and Maps Material IOR Value Copper Oxide 2.705 Amorphous Selenium 2.920 Iodine Crystal 3.340 Wire group Size Sets the size of the wire in wireframe mode on page 9351. You can set either pixels or current units. In Chooses how to measure wire. ■ Pixels(The default.) Measures wire in pixels. With pixels, wires maintain the same apparent thickness regardless of the scale of the geometry or how near or far the object is positioned. ■ UnitsMeasures wire in 3ds Max units. With units, the wires appear thinner at a distance and thicker at close range, as if they were modeled in the geometry. Reflection Dimming group These controls dim reflection maps that are in shadow. Standard Material and Related Materials (Not Photometric) | 6441 Reflection dimming Above: None Below: 0.0 (100% dimming) Apply Turn on to use reflection dimming. When off, the reflection-mapped material is not affected by the presence or absence of direct light. Default=off. Dim Level The amount of dimming that takes place in shadow. At 0.0, the reflection map is completely dark in shadow. At 0.5, the reflection map is half dimmed. At 1.0, the reflection map is not dimmed and the material appears as if Apply were turned off. Default=0.0. Refl. Level Affects the intensity of the reflection that is not in shadow. The Reflection Level value multiplies the illumination level of the lit area of the reflection, to compensate for dimming. In most cases, the default value of 3.0 6442 | Chapter 17 Material Editor, Materials, and Maps keeps the reflection in the lit area at about the same level it would appear if reflection dimming were not on. Maps Rollout (Standard Material) Material Editor ➤ Standard material ➤ Maps rollout A material's Maps rollout lets you access and assign maps on page 9215 to various components of the material. You can choose from a large variety of map types. To find descriptions of these types, and how to set their parameters, see Map Types on page 6607. Assigning the Same Map to Different Parameters Applying the same map to different parameters is useful in some cases. For example, using a pattern to map both self-illumination and opacity can make the pattern appear to glow and hover in space. Blending Map Amounts for Opacity and Other Material Components When you map a scalar component (such as Specular Level, Glossiness, Self-Illumination, and Opacity), the component's value in the Basic Parameters on page 6410 rollout is blended with its associated map Amount in the Maps rollout. For example, when the Opacity spinner is set to 0, the map Amount spinner completely controls Opacity. That is, reducing the Amount value increases the transparency of the entire surface. On the other hand, when Opacity is 100, reducing the map's Amount value increases the opacity of the entire surface. You can adjust a Checker Opacity map so that the opaque areas remain opaque, while the transparent areas become semi-transparent. Other scalar components behave in the same way. Setting the map's Amount to 100 applies all of the map. Setting the Amount to 0 is the equivalent of turning the map off. Intermediate Amount values are blended with the value of the scalar component. When you load old 3ds Max files or bring earlier materials from the Browser into the Materials Editor, the spinner values for Opacity, Specular Level, Glossiness, and Self-Illumination are altered, where necessary, to maintain the equivalent material effect. Standard Material and Related Materials (Not Photometric) | 6443 Ambient and Diffuse Map Lock In the Maps rollout, the lock button to the right of the Diffuse Color map button locks ambient mapping to diffuse mapping. It is on by default. Usually it makes sense to use the same map for the ambient and diffuse components. To use different maps for ambient and diffuse, turn off the lock button. The map button for Ambient Color becomes available. Procedures To assign a map: 1 In the Maps rollout, click a map button. 3ds Max opens a modal Material/Map Browser on page 6167. 2 Double-click the map you want. To use the same map for different parameters: 1 In the Maps rollout, use a map button to assign a map. The Material Editor is now at the map level, and displays controls for the map parameters. 2 Return to the material level: ■ In the Slate Material Editor on page 6083, click the parent material node. ■ In the Compact Material Editor on page 6020, click (Go To Parent). 3 Open the Maps rollout. 4 Drag the assigned map button to another map button. 3ds Max opens the Copy (Instance) Map dialog on page 6164. 5 Choose Copy or Instance, and then click OK. If you choose Swap, the Material Editor swaps the two button assignments. To view the parent material's parameters: ■ If you are currently at the map level, go to the main material level: ■ In the Slate Material Editor on page 6083, click the parent material node. 6444 | Chapter 17 Material Editor, Materials, and Maps ■ In the Compact Material Editor on page 6020, click (Go To Parent). 3ds Max displays the parameters for the map's parent material. Also, in the Compact Material Editor, the Show End Result and Go To Parent buttons become unavailable. To view a map's parameters: ■ If you are currently at the material level in the Material Editor, click the button that corresponds to the map. 3ds Max displays the parameters for the map. Also, in the Compact Material Editor, the Show End Result on page 6078 and Go To Parent on page 6078 buttons become available. In the Basic Parameters rollout, if a map has been assigned to a color component or parameter, the corresponding button displays a letter M. In the Maps rollout, if a map has been assigned, the corresponding button displays the map name. To use the Compact Material Editor to view a map's location: ■ Click (Material/Map Navigator) to open the Material/Map Navigator on page 6065. The Navigator displays the hierarchy of the current material, which contains the map. To go to a map using the Navigator: ■ In the Material/Map Navigator on page 6065, click the name of the map, or the green or red parallelogram to the left of the map's name. The Navigator goes to the level of the map, and the Material Editor displays the controls for the map you clicked. As the Navigator's map tree shows, maps for basic material components and parameters are one level below the material itself. To preview a map in a sample slot: 1 Go to the level of the map, as described in previous procedures. The Material Editor displays the map's parameters. Standard Material and Related Materials (Not Photometric) | 6445 2 Turn off Show End Result on page 6078. In the Slate Material Editor, this button is located on the Preview Window on page 6095 for the map node. In the Compact Material Editor, it is located on the toolbar. The preview window or sample slot shows the map instead of the material. If the map contains sub-maps, these are also visible. By default, the preview window or sample slot displays a map with no three-dimensional shading. You can change this in the Material Editor Options dialog on page 6059. To view the map interactively: 1 Select an object. 2 In the object's creation parameters, make sure that Generate Mapping Coords is on. If the object type does not have a Generate Mapping Coordinates toggle, you need to assign mapping coordinates by applying a UVW Map modifier on page 1883. 3 In the Material Editor, assign the mapped material to the object. 4 If you are at the material level (the top level), click the appropriate map button to go to the map level. 5 Turn on (Show Map In Viewport) on page 6006. The map appears on objects assigned the material in all shaded viewports. Now when you adjust the map, the viewports update to display the adjustments. Turning on Show Map In Viewport for one map automatically turns this button off for all other maps the material has. Viewports can display 2D maps such as Checker and Bitmap. Viewports can also display most kinds of 3D maps. The exceptions are Particle Age and Particle MBlur. Also, the appearance of the Falloff map in viewports give only a vague indication of how it will appear when rendered. 6446 | Chapter 17 Material Editor, Materials, and Maps Show Map In Viewport is unavailable if the active map type cannot display in viewports. Displaying mapped materials in a viewport can slow performance. If you don't need to view the texture, turn off its viewport display. To turn off interactive texture display: 1 Go to the map level. If you are at the material level, click the appropriate map button to go to the map level. 2 Turn off (Show Map in Viewport) on page 6006. The object is shaded but the map no longer appears. To turn a map off: ■ On the Maps rollout, turn off the map's check box. The check box is to the left of the map's name. When a map is off, a lowercase m appears on the corresponding map button. To turn a map on: ■ In the Maps rollout, turn on the map's check box. The check box is to the left of the map's name. When a map is on, an uppercase M appears on the corresponding map button. To change a map's strength: ■ In the Maps rollout, adjust the map's Amount spinner. The material's sample slot reflects the change. Standard Material and Related Materials (Not Photometric) | 6447 NOTE Adjusting a map's output (in the map's Output rollout) can also change the map's strength. To use the Compact Material Editor to move directly to an ancestor: NOTE In the Slate Material Editor, you can view the material hierarchy in the active View panel. 1 Below the Compact Material Editor toolbar, click the arrow to the right of the map's name field on page 6080. 3ds Max displays a drop-down list of ancestors. 2 Click a name in the ancestor list. With this list, you can skip intermediate levels in the tree. The ancestor drop-down list shows only part of the tree. It does not show side branches and siblings. To view these, use the Material/Map Navigator on page 6065 or the Go Forward To Sibling on page 6079 and Go To Parent on page 6078 buttons on the Compact Material Editor toolbar. To use the Compact Material Editor to change a map type: 1 At the level of a map, click the button labeled Type below the Material Editor toolbar.3ds Max opens a modal Material/Map Browser on page 6167. If you were at a map, it lists only maps (if you were at a material when you clicked Type, the Browser lists only materials). 2 Choose a map type from the list, and then click OK. If you change a map type and the new map type can have component maps, a Replace Map dialog is displayed. This dialog gives you a choice between discarding the original map or using it as a component map. If the new map type does not have components, it simply replaces the original map type. To use the Compact Material Editor to create a standalone map tree: 1 Activate a sample slot. 6448 | Chapter 17 Material Editor, Materials, and Maps 2 Click (Get Material) on page 6068. 3 In the Material/Map Browser on page 6167, double-click the name of the map type (not a material type) you want to use, or drag the map to a sample slot. The sample slot now contains a standalone map not associated with material parameters. 4 Use the Compact Material Editor to modify the map as you would any other map. By default, the sample slot displays a map with no three-dimensional shading. You can change this in the Material Editor Options dialog on page 6059. Standard Material and Related Materials (Not Photometric) | 6449 Interface The Maps rollout contains a wide button for each map type. Click this button to select a bitmap file stored on disk or to select a procedural map type on page 9274. After you select a map, its name and type appears on the button. Use the check box to the left of the button to turn the effect of the map off and on. When the check box is off, the map is not computed and has no effect in the renderer. 6450 | Chapter 17 Material Editor, Materials, and Maps The Amount spinner determines the amount that the map affects the material expressed as a percentage of full intensity. For example, a diffuse map at 100% is completely opaque and covers the base material. At 50%, it is semi-transparent and the base material (the diffuse, ambient, and other colors of the material without mapping) shows through. The Maps rollout can have unused, disabled control rows at the bottom. This is because the number of components that can be mapped varies depending on the current shader on page 6390. The last four rows are always Bump, Reflection, Refraction, and Displacement, in that order. NOTE The sub-material and sub-map buttons for most materials and maps have check boxes beside each button. These turn that branch of the material or map off or on. For example, in the Top/Bottom material, the Top Material and Bottom Material buttons each have check boxes. Similarly, the Checker map has two map buttons, one for each color. Each button has check box beside it that lets you turn off that color's map. Ambient Color Mapping Material Editor ➤ Standard material ➤ Maps rollout ➤ Ambient button You can select a bitmap file or procedural map on page 9274 to map an image to the material's ambient color on page 9089. The image is painted on the shaded parts of the object. Standard Material and Related Materials (Not Photometric) | 6451 Mapping the ambient color By default, diffuse mapping maps the ambient component as well, so you seldom need to use a different map for diffuse and ambient components. If you do want to apply a separate ambient map, first click to turn off the lock button to the right of the long Map buttons in the Maps rollout on page 6443. This unlocks ambient and diffuse mapping. The Map button for ambient color becomes available. You can then click the ambient button to select a map. NOTE Ambient color mapping is not visible in viewports or renderings unless the level of ambient light is greater than default value of black. Choose Rendering ➤ Environment, then adjust the level of ambient light using the Environment dialog on page 7621. 6452 | Chapter 17 Material Editor, Materials, and Maps Procedures To map the ambient color: 1 Make sure the ambient and diffuse components have their maps unlocked. Click to turn off the becomes available. lock button. The Map button for ambient color 2 Click the Map button for Ambient color. The Material/Map Browser on page 6167 opens. 3 Choose from the list of map types, and then click OK. The Material Editor is now at the map level, and displays controls for the map parameters. 4 Use the map controls to set up the map. Diffuse Color Mapping Material Editor ➤ Standard material ➤ Maps rollout ➤ Diffuse button (or Color button for the Strauss shader) You can select a bitmap file or procedural map on page 9274 to assign a pattern or texture to a material's diffuse color on page 9137. The colors of the map replace the material's diffuse color component. This is the most common kind of mapping. Standard Material and Related Materials (Not Photometric) | 6453 Applying a texture by mapping the diffuse color Mapping the diffuse color is like painting an image on the surface of the object. For example, if you want a wall to be made out of brick, you can choose a map with an image of bricks, such as Bricks on page 6689. By default, diffuse mapping applies the same map to the ambient color on page 9089 as well. You seldom need to use a different map for diffuse and ambient components. It isn't strictly necessary to lock the ambient and diffuse maps. By turning the lock off and using a different map for each component, you can obtain interesting blend effects. But in general, the purpose of diffuse mapping is to simulate a single surface that is more complex than a basic material, and for this purpose the lock should be on. Procedures To map the diffuse color: 1 Make sure the ambient and diffuse components have their maps locked. This button is to the right of the map shortcut buttons for Ambient and Diffuse on the Basic Parameters rollout, and on the Maps rollout in a 6454 | Chapter 17 Material Editor, Materials, and Maps similar position. It is on by default. When it is on, the map button for the ambient color component is unavailable. 2 Click the Map button for Diffuse color. The Material/Map Browser on page 6167 is displayed. 3 Choose from the list of map types, and then click OK. The Material Editor is now at the map level, and displays controls for the map parameters. 4 Use the map controls to set up the map. Diffuse Level Mapping Material Editor ➤ Standard material ➤ Shader Basic Parameters rollout ➤ Anisotropic, Oren-Nayar-Blinn, or Multi-Level shader ➤ Maps rollout ➤ Diffuse Level button You can select a bitmap file or procedural map on page 9274 to control the Diffuse Level parameter. White pixels in the map leave the diffuse level unchanged. Black pixels reduce the diffuse level to 0. Intermediate values adjust the diffuse level accordingly. Standard Material and Related Materials (Not Photometric) | 6455 Mapping diffuse level Top: No mapping Bottom: Mapping diffuse level with a bitmap The diffuse level parameter is available with the Anisotropic on page 6398, Oren-Nayar-Blinn on page 6403, and Multi-Level on page 6402 shaders. Reducing the Amount of the diffuse level map reduces the map's effect, and increases the effect of the Diffuse Level value on the Basic Parameters rollout. When the Amount is 0 percent, the map isn't used at all. 6456 | Chapter 17 Material Editor, Materials, and Maps Procedures To map the diffuse level value: 1 Click the Map button for Diffuse Level. The Material/Map Browser on page 6167 is displayed. 2 Choose from the list of map types, and then click OK. The Material Editor is now at the map level, and displays controls for the map parameters. 3 Use the map controls to set up the map. Diffuse Roughness Mapping Material Editor ➤ Standard material ➤ Shader Basic Parameters rollout ➤ Oren-Nayar-Blinn or Multi-Level shader ➤ Maps rollout ➤ Diff. Roughness button You can select a bitmap file or procedural map on page 9274 to control the Roughness parameter on the Basic Parameters rollout. White pixels in the map increase roughness. Black pixels reduce roughness to 0. Intermediate values adjust roughness accordingly. Standard Material and Related Materials (Not Photometric) | 6457 Roughness map adds a textured pattern to the vase. NOTE The Roughness parameter is available only with the Oren-Nayar-Blinn on page 6403 and Multi-Level on page 6402 shaders, and with the Arch & Design material (mental ray) on page 6269. Reducing the Amount of the Diffuse Roughness map reduces the map's effect, and increases the effect of the Roughness value on the Basic Parameters rollout. When the Amount is 0 percent, the map isn't used at all. Procedures To map the roughness value: 1 Click the Map button for Diffuse Roughness (Diff. Roughness). The Material/Map Browser on page 6167 is displayed. 2 Choose from the list of map types, and then click OK. The Material Editor is now at the map level, and displays controls for the map parameters. 3 Use the map controls to set up the map. 6458 | Chapter 17 Material Editor, Materials, and Maps Specular Color Mapping Material Editor ➤ Standard material ➤ Maps rollout ➤ Specular button You can select a bitmap file or procedural map on page 9274 to apply an image to the material's specular color component on page 9313. The map's image appears only in the specular highlight areas. Mapping the specular highlight When the amount spinner is at 100, all specular color is provided by the map. Specular mapping is used primarily for special effects such as placing an image in a reflection. The important thing to remember is that, unlike Specular Level or Glossiness mapping, which alter the intensity and location of specular highlights, specular mapping alters the color of specular highlights. Standard Material and Related Materials (Not Photometric) | 6459 Procedures To map the specular color: 1 Click the Map button for Specular color. The Material/Map Browser on page 6167 is displayed. 2 Choose from the list of map types, and then click OK. The Material Editor is now at the map level, and displays controls for the map parameters. 3 Use the map controls to set up the map. Specular Level Mapping Material Editor ➤ Standard material ➤ Maps rollout ➤ Specular Level button You can select a bitmap file or procedural map on page 9274 to alter the intensity of specular highlights, based on the intensity of the bitmap. White pixels in the map produce full specular highlights. Black pixels remove the specular highlights completely, and intermediate values reduce the specular highlights accordingly. 6460 | Chapter 17 Material Editor, Materials, and Maps Mapping the specular level: the sea reflects more than the land. Mapping the specular level component is different from mapping specular color. Mapping the specular level alters the intensity of highlights, while specular mapping alters the color of highlights. Specular level mapping usually works best when you assign the same map to both Specular Level and Glossiness. (In the Maps on page 6443 rollout, you can do this by dragging from one map button to another.) Procedures To map the Specular Level value: 1 Click the Map button for the Specular Level value. The Material/Map Browser on page 6167 is displayed. 2 Choose from the list of map types, and then click OK. The Material Editor is now at the map level, and displays controls for the map parameters. 3 Use the map controls to set up the map. Standard Material and Related Materials (Not Photometric) | 6461 Glossiness Mapping Material Editor ➤ Standard material ➤ Maps rollout ➤ Glossiness button You can select a bitmap file or procedural map on page 9274 that affects where specular highlights appear. A map assigned to glossiness determines which areas of the whole surface are more glossy and which areas are less glossy, depending on the intensity of colors in the map. Black pixels in the map produce full glossiness. White pixels remove glossiness completely, and intermediate values reduce the size of the highlight. An object with glossiness mapping. The sea appears more reflective than the land. Mapping the glossiness component is different from mapping specular color. Mapping glossiness alters the location of highlights, while specular mapping alters the color of highlights. Glossiness mapping usually works best when you assign the same map to both Glossiness and Specular Level. (In the Maps rollout, you can do this by dragging from one map button to the other.) 6462 | Chapter 17 Material Editor, Materials, and Maps Procedures To map the glossiness value: 1 Click the Map button for the Glossiness value. The Material/Map Browser on page 6167 is displayed. 2 Choose from the list of map types, and then click OK. The Material Editor is now at the map level, and displays controls for the map parameters. 3 Use the map controls to set up the map. Self-Illumination Mapping Material Editor ➤ Standard material ➤ Maps rollout ➤ Self-Illumination button You can select a bitmap file or procedural map on page 9274 to map the self-illumination on page 9300 value. This makes portions of an object appear to glow. White areas of the map render as fully self illuminating. Black areas render with no self-illumination. Gray areas render as partially self illuminating, depending on the grayscale value. Standard Material and Related Materials (Not Photometric) | 6463 Mapping self-illumination Self-illumination means that the glowing area is not affected by lights in the scene (its ambient color component goes away), and does not receive shadows. Procedures To map the self-illumination value: 1 Click the Map button for Self-Illumination. The Material/Map Browser on page 6167 is displayed. 2 Choose from the list of map types, and then click OK. The Material Editor is now at the map level, and displays controls for the map parameters. 3 Use the map controls to set up the map. 6464 | Chapter 17 Material Editor, Materials, and Maps Opacity Mapping Material Editor ➤ Standard material ➤ Maps rollout ➤ Opacity button You can select a bitmap file or procedural map on page 9274 to make an object partially transparent. Lighter (higher-value) areas of the map render as opaque; darker areas render as transparent; and values in between are semi-transparent. The gray levels of an opacity map determine the amount of opacity. Setting the opacity map's Amount to 100 applies all of the map. Transparent areas are fully transparent. Setting the Amount to 0 is the equivalent of turning the map off. Intermediate Amount values are blended with the Opacity value on the Basic Parameters rollout. Transparent areas of the map become more opaque. Specular highlights are applied to transparent areas of the opacity map, as well as to opaque areas, creating the effect of glass. If you want the transparent areas to look like holes, map the specular level on page 6462 as well. Standard Material and Related Materials (Not Photometric) | 6465 Procedures To map the opacity value: 1 Click the Map button for Opacity. The Material/Map Browser on page 6167 is displayed. 2 Choose from the list of map types, and then click OK. The Material Editor is now at the map level, and displays controls for the map parameters. 3 Use the map controls to set up the map. Filter Color Mapping Material Editor ➤ Standard material ➤ Maps rollout ➤ Filter Color button The filter, or transmissive color, is the color transmitted through transparent or semi-transparent materials such as glass. 6466 | Chapter 17 Material Editor, Materials, and Maps Mapping filter color You can select a bitmap file or procedural map on page 9274 to map the filter color component. This map applies a transparent-color effect based on the intensity of the map's pixels. You can combine a mapped filter color with volumetric lighting on page 7654 to create effects such as colored light through a stained-glass window. Ray-traced shadows on page 9279 cast by transparent objects are tinted by the filter color. Procedures To map the filter color: 1 Click the Map button for Filter color. The Material/Map Browser on page 6167 is displayed. 2 Choose from the list of map types, and then click OK. The Material Editor is now at the map level, and displays controls for the map parameters. 3 Use the map controls to set up the map. Standard Material and Related Materials (Not Photometric) | 6467 Anisotropy Mapping Material Editor ➤ Standard material ➤ Shader Basic Parameters rollout ➤ Anisotropic or Multi-Level shader ➤ Maps rollout ➤ Anisotropy button You can select a bitmap file or procedural map on page 9274 to control the Anisotropy parameter. The map controls the shape of the anisotropic highlight, roughly (but not necessarily) within the area specified by the glossiness parameter. Black and white values have little effect. Maps with a good deal of grayscale values, such as Noise on page 6723 or Falloff on page 6714, can be very effective. Mapping anisotropy. The stretch of the highlight depends on the level of gray in the map. The anisotropy parameter is available with the Anisotropic on page 6398 and Multi-Level on page 6402 shaders. The effect of mapping anisotropy is not very apparent unless the specular level is fairly high and glossiness is fairly low. 6468 | Chapter 17 Material Editor, Materials, and Maps Reducing the Amount of the anisotropy map reduces the map's effect, and increases the effect of the Anisotropy value on the Basic Parameters rollout. When the Amount is 0 percent, the map isn't used at all. Procedures To map the anisotropy value: 1 Click the Map button for Anisotropy. The Material/Map Browser on page 6167 is displayed. 2 Choose from the list of map types, and then click OK. The Material Editor is now at the map level, and displays controls for the map parameters. 3 Use the map controls to set up the map. Orientation Mapping Material Editor ➤ Standard material ➤ Shader Basic Parameters rollout ➤ Anisotropic or Multi-Level shader ➤ Maps rollout ➤ Orientation button You can select a bitmap file or procedural map on page 9274 to control the Orientation parameter. Orientation controls the position of the anisotropic highlight. Mapping orientation changes the highlight's position. Black and white values have little effect. Maps with a good deal of grayscale values, such as Noise on page 6723 or Falloff on page 6714, can be very effective. You can also get a good effect using the same map for orientation mapping and bump mapping on page 6472. Standard Material and Related Materials (Not Photometric) | 6469 Mapping anisotropy orientation The orientation parameter is available with the Anisotropic on page 6398 and Multi-Level on page 6402 shaders. Reducing the Amount of the orientation map reduces the map's effect, and increases the effect of the Orientation value on the Basic Parameters rollout. When the Amount is 0 percent, the map isn't used at all. The effect of mapping orientation, like anisotropy, is not very apparent unless the specular level is fairly high and glossiness is fairly low. TIP Using an instance of the same map to control both anisotropy and orientation can give you good control over anisotropic highlights. Procedures To map the orientation value: 1 Click the Map button for Orientation. The Material/Map Browser on page 6167 is displayed. 2 Choose from the list of map types, and then click OK. 6470 | Chapter 17 Material Editor, Materials, and Maps The Material Editor is now at the map level, and displays controls for the map parameters. 3 Use the map controls to set up the map. Metalness Mapping Material Editor ➤ Standard material ➤ Shader Basic Parameters rollout ➤ Strauss shader ➤ Maps rollout ➤ Metalness button You can select a bitmap file or procedural map on page 9274 to control the Metalness parameter. White pixels in the map increase metalness. Black pixels reduce metalness to 0. Intermediate values adjust metalness accordingly. Mapping metalness Standard Material and Related Materials (Not Photometric) | 6471 Top: No mapping Bottom: Mapping metalness with noise map The metalness parameter is available with the Strauss shader on page 6405. Reducing the Amount of the metalness map reduces the map's effect, and increases the effect of the Metalness value on the Basic Parameters rollout. When the Amount is 0 percent, the map isn't used at all. Procedures To map the metalness value: 1 Click the Map button for Metalness. The Material/Map Browser on page 6167 is displayed. 2 Choose from the list of map types, and then click OK. The Material Editor is now at the map level, and displays controls for the map parameters. 3 Use the map controls to set up the map. Bump Mapping Material Editor ➤ Standard material ➤ Maps rollout ➤ Bump button You can select a bitmap file or procedural map on page 9274 to use for bump mapping. Bump mapping makes an object appear to have a bumpy or irregular surface. When you render an object with a bump-mapped material, lighter (whiter) areas of the map appear to be raised, and darker (blacker) areas appear to be low. 6472 | Chapter 17 Material Editor, Materials, and Maps An object with two different bump maps. NOTE The effect of a bump map is not previewed in viewports. You must render the scene to see the bump effect. Bump mapping uses the intensity of the map to affect the surface of the material. In this case, the intensity affects the apparent bumpiness of the surface: white areas protrude, and black areas recede. Use bump maps when you want to take the smoothness off a surface, or to create an embossed look. Keep in mind, however, that the depth effect of a bump map is limited. If you want extreme depth in a surface, you should use modeling techniques instead. For example, the Displace modifier on page 1255 pushes surfaces or faces in and out based on the intensity of a bitmap image. (Displacement mapping on page 6482 is another way to do emboss a surface.) Grayscale images can make effective bump maps. Maps that shade between white and black generally work better than maps with hard edges between the white and black areas. The bump map Amount adjusts the degree of bumpiness. Higher values render as higher relief; low values render as low relief. Standard Material and Related Materials (Not Photometric) | 6473 The bumps are a simulation created by perturbing face normals before the object is rendered. Because of this, bumps don't appear on the silhouette of bump-mapped objects. TIP If you render a bump-mapped material and notice aliasing in the highlights, try turning on supersampling on page 6211 and rendering again. NOTE Most controls on the Output rollout on page 6613 don't affect bump mapping. Only the Invert toggle is considered; it reverses the direction of the bumps. Procedures To assign a bump map: 1 Click the Map button labeled Bump. 3ds Max opens the Material/Map Browser on page 6167. 2 Choose from the list of map types on page 6607, and then click OK. The Material Editor is now at the map level, and displays controls for the map parameters. (If you choose Bitmap as the map type, you first see a file dialog that lets you choose the image file.) 3 Use the map controls to set up the map. TIP To avoid aliasing caused by a 2D bump map, go to the bump map's Coordinates rollout. Set Blur to be in the range 0.3 to 0.6, and increase Blur Offset to be greater than 0.0. The default Blur and Blur Offset values work well for mapping other material components, but for bump mapping, lower Blur and higher Blur Offset values give better results. To remove a bump map from a material: TIP You can disable the map without removing it. Simply turn off the toggle immediately to the left of the map button on the Special Effects rollout. 1 If the Material Editor is displaying the map controls, click the Type button on page 6081 to display the Material/Map Browser. If the map controls aren't visible, click the Bump map button to display them, and then click the Type button. 2 In the Browser, choose NONE as the map type, and then click OK. 6474 | Chapter 17 Material Editor, Materials, and Maps The map is removed. Reflection Mapping Material Editor ➤ Standard material ➤ Maps rollout ➤ Reflection button You can select a bitmap file or procedural map on page 9274 to use as a reflection map. Reflection created by mapping You can create three kinds of reflection: basic reflection maps, automatic reflection maps, and flat-mirror on page 9163 reflection maps. ■ A basic reflection map creates the illusion of chrome, glass, or metal by applying a map to the geometry so that the image looks like a reflection on the surface. Standard Material and Related Materials (Not Photometric) | 6475 ■ An automatic reflection map uses no mapping at all, but looks outward from the center of the object, and maps what it sees onto the surface. Another way to generate reflections automatically is to assign a Raytrace map on page 6784 to be the reflection map. ■ A flat-mirror reflection map is applied to a series of coplanar faces and reflects objects facing it, exactly like a real mirror. Reflection maps don't need mapping coordinates on page 9212 because they're locked to the world, not to the geometry. The illusion of a reflection is created because the map doesn't move with the object, but with changes in the view, as do real reflections. The most common use of reflection maps in a realistic scene is to add just a touch of reflection to an otherwise non-reflective surface. By default, reflection map strength is 100 percent, as it is for other maps. For many kinds of surfaces, however, reducing the strength gives the most realistic result. A polished table top, for example, primarily shows a wood grain; the reflections are secondary. Reflection maps look more realistic if you increase the Glossiness and Specular Level values in the Basic Parameters rollout on page 6410. They are also affected by the diffuse on page 9137 and ambient on page 9089 color values. The darker the color, the stronger the mirror effect. Even when the Amount spinner is at 100, the reflection map is tinted by the ambient, diffuse, and specular on page 9313 colors. In metal materials, the Diffuse color tints the reflection map. Specifically, the color from the reflection map is multiplied by the diffuse color (including a diffuse map, if one exists). The value (in the HSV on page 9280 description) of the diffuse color controls the reflection map intensity. If the diffuse color value is 255, the reflection is at full intensity; if the value is 0, the map is not visible. In non-metal materials, the Specular color multiplies only reflection maps. The value (in the HSV on page 9280 description) of the specular color affects the reflection intensity. If the specular color value is 255, the reflection is at full intensity; if the value is 0, the map is not visible. Procedures To create an automatic reflection: 1 On the Maps rollout, click the Map button labeled Reflection. 2 In the Material/Map Browser on page 6167, choose the Reflect/Refract map type, and then click OK. 6476 | Chapter 17 Material Editor, Materials, and Maps Adjusting the map's Strength slider in the parent material's Maps rollout controls how reflective the material is. At 100 percent, the material is fully reflective. To assign a bitmap as a reflection map: 1 In the Maps rollout, click the Map button labeled Reflection. In the Material/Map Browser on page 6167, double-click Bitmap. 2 In the Bitmap Parameters rollout, click the Bitmap button. 3 Use the file dialog to choose the bitmap file. 4 Reduce the Reflection map's Amount to get the effect you want. Refractions are similar to reflections. Bitmaps simulate reflections, while Reflect/Refract maps generate them based on the scene's background and geometry. Refraction Mapping Material Editor ➤ Standard material ➤ Maps rollout ➤ Refraction button You can select a bitmap file or a procedural map on page 9274 such as Reflect/Refract on page 6796 to use for refraction mapping. Standard Material and Related Materials (Not Photometric) | 6477 Refractions show the scene or background through a refractive object. Refraction mapping is similar to reflection mapping. It maps the view onto the surface in such a way that the image looks like you're seeing it through the surface, rather than being reflected off it. Like a reflection map, a refraction map's orientation is locked to the view rather than to the object. That is, as you move or rotate the object, the position of the refracted image remains fixed. Setting the Index of Refraction The physical properties of refractive objects often distort the image. A special parameter adjusts this distortion. It is in the parent material's Extended Parameters rollout on page 6436. Index of Refraction The index of refraction (IOR) controls how severely the material refracts transmitted light. Left at 1.0, the IOR of air, the object behind the transparent object does not distort. At 1.5 the object behind distorts greatly (like a glass marble). At an IOR slightly less than 1.0, the object reflects along its edges (like a bubble seen from under water). Default=1.5 (the IOR of typical glass). 6478 | Chapter 17 Material Editor, Materials, and Maps Common IORs (assuming the camera is in air or a vacuum) are: Material IOR Value Vacuum 1.0 (exactly) Air 1.0003 Water 1.333 Glass 1.5 to 1.7 Diamond 2.418 In the physical world, the IOR results from the relative speeds of light through the transparent material and the medium the eye or the camera is in. Typically this is related to the object's density. The higher the IOR, the denser the object. You can also use a map to control the index of refraction. IOR maps always interpolate between 1.0 (the IOR of air) and the setting in the IOR parameter. For example, if you set the IOR to 3.55 and use a black-and-white Noise map to control IOR, the IORs rendered on the object will be set to values between 1.0 and 3.55; the object will appear denser than air. If, on the other hand, you set the IOR to 0.5, then the same map values will render between 0.5 and 1.0: as if the camera is under water and the object is less dense than the water. Here are some more IOR values for various materials: Material IOR Value Carbon Dioxide, Liquid 1.200 Ice 1.309 Acetone 1.360 Ethyl Alcohol 1.360 Sugar Solution 30% 1.380 Alcohol 1.329 Flourite 1.434 Quartz, Fused 1.460 Standard Material and Related Materials (Not Photometric) | 6479 Material IOR Value Calspar2 1.486 Sugar Solution 80% 1.490 Glass 1.500 Glass, Zinc Crown 1.517 Glass, Crown 1.520 Sodium Chloride 1.530 Sodium Chloride (Salt) 1 1.544 Polystyrene 1.550 Quartz 2 1.553 Emerald 1.570 Glass, Light Flint 1.575 Lapis Lazuli 1.610 Topaz 1.610 Carbon Bisulfide 1.630 Quartz 1 1.644 Sodium Chloride (Salt) 2 1.644 Glass, Heavy Flint 1.650 Methylene Iodide 1.740 Ruby 1.770 Sapphire 1.770 6480 | Chapter 17 Material Editor, Materials, and Maps Material IOR Value Glass, Heaviest Flint 1.890 Crystal 2.000 Diamond 2.418 Chromium Oxide 2.705 Copper Oxide 2.705 Amorphous Selenium 2.920 Iodine Crystal 3.340 Tip: The Reflect/Refract on page 6796 map type used as a Refraction map doesn't effectively model a material surrounding an object, such as a pencil in a glass of water. For this effect, use either the Thin Wall Refraction on page 6803 or the Raytrace map type on page 6784. Procedures To create an automatic refraction: 1 In the Maps rollout, click the Map button labeled Refraction. 2 In the Material/Map Browser on page 6167, choose the Reflect/Refract on page 6796 map type, and then click OK. At a Refraction Amount of 100 percent, the material is extremely refractive, regardless of the material's Opacity setting. At a Refraction Amount of 0 percent, the map is turned off. When the Amount is less than 100 percent, both the Reflect/Refract map and the Opacity setting control transparency. To assign a bitmap as a refraction map: 1 In the Maps rollout, click the Refraction map button. 2 Use the Material/Map Browser on page 6167 to choose the Bitmap type. 3 Use the file dialog to choose the bitmap file. Standard Material and Related Materials (Not Photometric) | 6481 For bitmapped refractions, you don't necessarily want to reduce the map strength. Displacement Mapping Material Editor ➤ Standard material ➤ Maps rollout ➤ Displacement button A displacement map displaces the geometry of surfaces. The effect is similar to using the Displace on page 1255 modifier. Unlike bump mapping on page 6472, displacement mapping actually changes the geometry of the surface or patch tessellation. Displacement maps apply the gray scale of the map to generate the displacement. Lighter colors in the 2D image push outward more strongly than darker colors, resulting in a 3D displacement of the geometry. Using displacement mapping to alter a surface WARNING A displacement map generates many triangular faces per surface, sometimes over 1M faces per surface. While displacement mapping can create good effects, there is a large cost in terms of time and memory. 6482 | Chapter 17 Material Editor, Materials, and Maps The displacement Amount is measured as a percentage of the diagonal of the bounding box for the object that contains the patch or surface. This makes the displacement effect consistent for all surfaces in an object, and it also means that when you scale the object, the displacement is scaled with it. You can apply a displacement map directly to the following kinds of objects: ■ Bezier patches on page 2424 ■ Editable meshes on page 2190 ■ Editable polymeshes on page 2240 ■ NURBS surfaces on page 2433 For other kinds of geometry such as primitives, extended primitives, compound objects, and so on, you can't apply displacement mapping directly. To use displacement mapping with these kinds of objects, apply a Disp Approx on page 1251 (Displacement Approximation) modifier. This makes the object's surface displaceable. Disp Approx works with any kind of object that you can convert to an editable mesh. Displacement mapping isn't visible in viewports unless you apply a modifier to make it so. ■ For NURBS surfaces, you can make displacement mapping visible in viewports and editable as a mesh object by using the Displace NURBS on page 1008 world space modifier. ■ For editable meshes and objects with Disp Approx applied to them, use the Displace Mesh on page 1005 modifier to obtain the same effect. NOTE If you apply a UVW Map on page 1883 modifier to the surface, all maps obtain their coordinates from the modifier except for the displacement map, which always obtains its coordinates from the original surface or the Disp Approx modifier. Under certain circumstances, such as when the underlying mesh is fairly simple, displacement mapping of an editable mesh can cause problems because of the way the underlying mesh is tessellated. (These problems don't occur when you apply displacement mapping to a NURBS surface.) When this happens, smoothing does not work properly and you can see the underlying Standard Material and Related Materials (Not Photometric) | 6483 wireframe mesh in the surface itself. To correct this problem, use these techniques: ■ Avoid applying displacement mapping to large areas of a single color. Map the diffuse color and use a small amount of variation, such as slight amount of noise, in the map you use for the diffuse color. ■ Add a small amount of noise to the map you use for displacement. This can complicate the tessellation enough to ease the problem. ■ Add detail to the mesh. The more initial faces, and the smoother the mesh curvature, the more even the displacement mapping will be. Procedures To apply a displacement map to a NURBS surface, editable mesh, or patch: 1 In a material's Maps rollout, click the map button for Displacement. The Material/Map Browser on page 6167 is displayed. 2 Choose from the list of map types, and then click OK. The Material Editor is now at the map level, and displays controls for the map parameters. 3 Use the map controls to set up the map. To apply a displacement map to other kinds of objects: 1 Select the object. Go to the Modify panel and choose Disp Approx from the Modifiers drop-down list. You can adjust the Disp Approx modifiers parameters, or you can leave them at their default settings. 2 Open the Material Editor. 3 In a material's Maps rollout, click the map button for Displacement. The Material/Map Browser on page 6167 is displayed. 4 Choose from the list of map types, and then click OK. 6484 | Chapter 17 Material Editor, Materials, and Maps The Material Editor is now at the map level, and displays controls for the map parameters. 5 Use the map controls to set up the map. For example, if you chose Bitmap as the map type, you now need to select the bitmap file to use. Dynamics Properties Rollout Material Editor ➤ Standard material ➤ Dynamics Properties rollout The Dynamics Properties rollout lets you specify surface properties that affect the animation of an object upon collision with another object. If there are no collisions in your simulation, these settings have no effect. The dynamics properties are used by the Dynamics utility on page 4226. Since the Dynamics Properties rollout is available at the top level of any material (including submaterials), you can specify different surface dynamic properties for each face in an object. There are also controls in the Dynamics utility that let you adjust the surface properties at the object level, but only the Materials Editor lets you alter the surface properties at the sub-object level, through use of a Multi/Sub-Object material on page 6542. As a default, the values in the Dynamics Properties rollout provide a surface that's similar to Teflon-coated hardened steel. Interface Bounce Coefficient Sets how far an object bounces after hitting a surface. The higher the value, the greater the bounce. A value of 1 represents a "perfectly elastic collision," or a bounce in which no kinetic energy is lost. Default=1.0. Standard Material and Related Materials (Not Photometric) | 6485 If you've seen the desktop toy with four ball bearings swinging back and forth on strings and hitting one another, you've seen an example that comes very close to a bounce coefficient of 1. Generally, hardened steel or a super ball have a bounce near 1, while lead has a bounce near 0. Static Friction Sets how difficult it is for the object to start moving along a surface. The higher this value, the more difficult. Default=0.0. If something weighs ten pounds and sits on Teflon (a static friction of near 0), it takes almost no force to make it move sideways. On the other hand, if it sits on sandpaper, then the static friction might be very high, on the order of 0.5 to 0.8. A static friction near 1 is very difficult to create in the real world without adhesives or friction material. Sliding Friction Sets how difficult it is for the object to keep moving over a surface. The higher this value, the more difficult for the object to keep moving. Default=0.0. Once two objects begin to slide over one another, static friction disappears and sliding friction takes over. Generally, sliding friction is lower than static friction due to surface tension effects. For example, once steel starts sliding over brass (a value of static friction that might run from 0.05 to 0.2), the sliding friction drops to a significantly lower value, on the order of .01 to 0.1. For some materials, such as specific friction materials like brake linings, sliding friction is just as high as static friction because it is used in conjunction with a nearly frictionless material such as hardened polished steel. Raytrace Material Material/Map Browser on page 6167 ➤ Raytrace Raytrace material is an advanced surface shading material. It supports the same kinds of diffuse surface shading that a standard material does. It can also create fully raytraced reflections and refractions. It also supports fog, color density, translucency on page 9337, fluorescence on page 9165, and other special effects. 6486 | Chapter 17 Material Editor, Materials, and Maps Balls using raytrace material to reflect each other The reflections and refractions Raytrace material generates are more accurate than those produced by the Reflect/Refract on page 6796 map. Rendering raytraced objects can be slower than using Reflect/Refract. On the other hand, Raytrace is optimized for rendering 3ds Max scenes. You can further optimize it for your scene by excluding specific objects from raytracing. NOTE If you want accurate, raytraced reflections or refractions in a standard material you can use the Raytrace map on page 6784, which uses the same raytracer. The Raytrace map and material share global parameter settings. IMPORTANT Raytrace map and Raytrace material use a surface's normal to decide whether a ray is entering or exiting a surface. If you flip the normals of an object, you can get unexpected results. Making the material 2-Sided doesn't correct the problem as it often does with reflections and refractions in Standard materials. In some cases, the colors in the Basic Parameters rollout of Raytrace material behave differently from colors in standard materials. Standard material has a diffuse shading model that does an excellent job of rendering solid, nonreflective objects such as plastic, ceramic, and so on. In effect, this model applies color to the object. The color components in Raytrace material, on the other hand, attempt to model their physical counterparts in nature. In Raytrace material, the surface reflects its Diffuse color component without specular reflection, while the Reflect color component controls the amount of specular reflection. These two material components are layered together. The results you see depend on the layering effect. For example, if the material is not transparent and completely reflective, no diffuse color is visible. If the Standard Material and Related Materials (Not Photometric) | 6487 material is not transparent and completely nonreflective, only the diffuse color is visible. The Dynamics Properties rollout for the Raytrace material contains the same controls as the dynamics properties for a standard material on page 6382. Raytrace material has a large user interface with a lot of controls. In general, if you are using Raytrace to create reflections and refractions, the controls in the Basic Parameters rollout are the only ones you need to adjust. The Extended Parameters rollout for Raytrace has controls for special effects. The Raytracer Controls rollout affects the raytracer itself. Use the Raytracer Controls to turn the raytracer on or off, and to toggle other options. Use the Raytracer Global Parameters rollout on page 7120 (Rendering ➤ Raytrace Globals) to set options globally (for all Raytrace materials and maps in the scene), including recursion depth. See also: ■ SuperSampling Rollout on page 6211 ■ Raytracer Global Parameters Rollout on page 7120 Raytrace Basic Parameters Rollout Material Editor ➤ Type button ➤ Material/Map Browser ➤ Choose Raytrace. ➤ Raytrace Basic Parameters rollout The Raytrace Basic Parameters rollout for a Raytrace material on page 6486 controls the material's shading, color components, reflectivity or refractivity, and bumps. 6488 | Chapter 17 Material Editor, Materials, and Maps Interface The basic parameters in this rollout are similar to the basic parameters for standard materials, but the color components of a Raytrace material behave differently. As with standard materials, you can use a map for Raytrace color components and various other parameters. The small buttons to the right of the color swatches and parameters take you to the Material/Map Browser on page 6167, where you select a map of corresponding type. These are shortcuts that also have corresponding buttons in the Maps rollout. If you have assigned a map to one of these colors, the button displays the letter M. An uppercase M means that the corresponding map is assigned and active. A lowercase m means that the map is assigned and inactive (turned off). Standard Material and Related Materials (Not Photometric) | 6489 Shading drop-down list Chooses a shader. Depending on the shader you choose, the Specular Highlight can change to show the controls for that shader. The alternatives are: ■ Anisotropic: on page 6426 For surfaces with elliptical, "anisotropic" highlights. ■ Blinn: on page 6428 For rounder, softer highlights than Phong shading. ■ Metal: on page 6430 For metallic highlights. ■ Oren-Nayar-Blinn: on page 6428 For matte surfaces such as fabric or terra-cotta. ■ Phong: on page 6428 For surfaces with strong, circular highlights. Phong is the default shading type. 2-Sided Same as for standard materials. When on, shades and raytraces both sides of faces. By default, objects are one-sided in order to speed up rendering. If you have a 2-sided, reflective and refractive object, and you use the raytrace map on page 6784 rather than the material, the raytracer runs until it hits the maximum recursion level. This can be time-consuming. Wire Same as for standard materials. When on, renders the material in wireframe mode on page 9351. You can specify the wire size in the Extended Parameters rollout. With pixels, wires maintains the same apparent thickness regardless of the scale of the geometry or how near or far the object is positioned. With units, the wires appear thinner at a distance and thicker at close range, as if they were modeled in the geometry. Face Map Applies the material to the faces of the geometry. If the material is a mapped material, it requires no mapping coordinates on page 9212. The map is automatically applied to each facet of the object. Faceted Renders each face of a surface as if it were flat. NOTE Raytrace material has the same SuperSampling on page 6211 options as a Standard material. Ambient This is not the same as the standard ambient color. For Raytrace material, this controls an ambient absorption factor: that is, how much the material absorbs ambient light. Setting Ambient to white is the same as locking the ambient and diffuse colors in a standard material. Default=black. ■ Ambient Color check boxWhen on, the material uses an ambient color. When off, the material uses a spinner to set a grayscale value only. Default=on. 6490 | Chapter 17 Material Editor, Materials, and Maps ■ Color swatchWhen on, the color swatch shows the ambient color. To change the color, click the swatch and then use the Color Selector on page 304. ■ Mono spinnerWhen the check box is off, the ambient component is gray, and this spinner lets you adjust the gray value. Click the map button to assign a map to the ambient component. See Ambient Mapping on page 6451. This button is a shortcut: you can also assign ambient mapping on the Raytrace Maps rollout on page 6505. Diffuse Sets the diffuse color. This is the same as the standard diffuse color. It is the color that the object reflects, without specular reflection. Reflection and transparency effects are layered on top of the diffuse result. When Reflect is 100% (pure white), the diffuse color isn't visible. (This differs from the standard material.) Default=50% gray. Reflect Sets the specular reflection color. This is the color that the reflected environment (that is, the rest of the scene) is filtered through. The color's Value controls the amount of reflection. If your reflect color is saturated and the diffuse color is black, the effect is like colored chrome (for example, colored Christmas tree balls). Default=black (no reflection). If raytracing is off (on the Raytracer Controls rollout), the object still reflects the environment, but ignores other objects in the scene. The environment can be the background color, the environment map, or the map in the Raytrace material's Environment component. TIP If you turn off raytraced reflections, set the Reflect color to a color other than black, and use a Reflect/Refract map for the local environment (see the Environment parameter, below), you get the same effect as a reflection map in a standard material. This can improve rendering time. NOTE Raytrace reflects and transmits the IDs in material ID channel on page 6075 (G-buffer on page 9173), so it can create glowing reflections, and so on. ■ Reflect Color check boxWhen on, the material uses a reflection color. When off, the material uses a spinner to set a grayscale value only. Default=on. ■ Color swatchWhen the check box is on, the color swatch shows the reflection color. To change the color, click the swatch and then use the Color Selector on page 304. ■ Mono spinnerWhen the check box is off, the reflection color component is gray, and this spinner lets you adjust the gray value. Standard Material and Related Materials (Not Photometric) | 6491 ■ FresnelClicking the check box a second time displays this option. When active, applies a Fresnel effect to the reflection. This can add a bit of refraction to the reflecting object, depending on the viewing angle of the object. Click the map button to assign a map to the reflect component. This button is a shortcut: you can also assign reflect mapping in the Raytrace Maps rollout on page 6505. Luminosity Similar to the Standard material's self-illumination component, except that it does not depend on the diffuse color. You can have a blue diffuse object with red luminosity. Default=black. NOTE When Luminosity is off, the name of this control changes to Self-Illum (Self-Illumination). ■ Luminosity check boxWhen on, the material uses a luminosity color. When off, the material uses a spinner to set a grayscale value only for self-illumination. Default=on. ■ Color swatchWhen the check box is on, the color swatch shows the luminosity color. To change the color, click the swatch and then use the Color Selector on page 304. ■ Mono spinnerWhen the check box is off, the luminosity color component is gray, and this spinner lets you adjust the gray value. Click the map button to assign a map to the luminosity component. This button is a shortcut: you can also assign reflect mapping in the Raytrace Maps rollout on page 6505. Transparency Similar to the standard material's filter color for transmitted light, combined with the standard material's opacity controls. This color filters scene elements that are behind the object with Raytrace material. Black is opaque, white is fully transparent, and any value in between filters objects behind the raytraced object. A fully saturated color in both the diffuse and transparency components gives the effect of tinted glass. If you want more of an opaque look, pick the color you want as a transparent color, copy it to the diffuse color, make the diffuse color fully saturated, and then adjust the transparency to get the effect you want. Default=black (no transparency). If raytracing is turned off (in the Raytracer Controls rollout), the object still refracts the environment mapping, but ignores other objects in the scene. 6492 | Chapter 17 Material Editor, Materials, and Maps NOTE By separating the diffuse, reflect, and transparency components, Raytrace material gives you a great deal of control over how the object reacts to its environment. For example, an object might diffusely reflect red, specularly reflect green, and transmit blue. This is not a real-world effect, but it can be useful. ■ Transparency Color check boxWhen on, the material uses a transparency color. When off, the material uses a spinner to set a grayscale value only. Default=on. ■ Color swatchWhen the check box is on, the color swatch shows the transparency color. To change the color, click the swatch and then use the Color Selector on page 304. ■ Mono spinnerWhen the check box is off, the transparency color component is gray, and this spinner lets you adjust the gray value. Click the map button to assign a map to the transparency component. See Filter Color Mapping on page 6466. This button is a shortcut: you can also assign reflect mapping in the Raytrace Maps rollout on page 6505. Index of Refr. (Refraction) The index of refraction (IOR) controls how severely the material refracts transmitted light. At 1.0, the IOR of air, the object behind the transparent object does not distort. At 1.5, the object behind distorts greatly, like a glass marble. At an IOR slightly less than 1.0, the object reflects along its edges, like a bubble seen from under water. Default=1.55. Common IORs (assuming the camera is in air or a vacuum) are: Material IOR Value Vacuum 1.0 (exactly) Air 1.0003 Water 1.333 Glass 1.5 to 1.7 Diamond 2.418 In the physical world, the IOR results from the relative speeds of light through the transparent material and the medium the eye or the camera is in. Typically this is related to the object's density, and the higher the IOR, the denser the object. Standard Material and Related Materials (Not Photometric) | 6493 You can also use a map to control the IOR. IOR maps always interpolate between 1.0 (the IOR of air) and the setting in the IOR parameter. For example, if the IOR is set to 3.55 and you use a black-and-white Noise map to control IOR, the IORs rendered on the object will be set to values between 1.0 and 3.55. The object will appear denser than air. If, on the other hand, your IOR is set to 0.5, then the same map values will render between 0.5 and 1.0, as if the camera were under water and the object was less dense than the water. Here are some more IOR values for various materials: Material IOR Value Carbon Dioxide, Liquid 1.200 Ice 1.309 Acetone 1.360 Ethyl Alcohol 1.360 Sugar Solution 30% 1.380 Alcohol 1.329 Flourite 1.434 Quartz, Fused 1.460 Calspar2 1.486 Sugar Solution 80% 1.490 Glass 1.500 Glass, Zinc Crown 1.517 Glass, Crown 1.520 Sodium Chloride 1.530 Sodium Chloride (Salt) 1 1.544 Polystyrene 1.550 6494 | Chapter 17 Material Editor, Materials, and Maps Material IOR Value Quartz 2 1.553 Emerald 1.570 Glass, Light Flint 1.575 Lapis Lazuli 1.610 Topaz 1.610 Carbon Bisulfide 1.630 Quartz 1 1.644 Sodium Chloride (Salt) 2 1.644 Glass, Heavy Flint 1.650 Methylene Iodide 1.740 Ruby 1.770 Sapphire 1.770 Glass, Heaviest Flint 1.890 Crystal 2.000 Diamond 2.418 Chromium Oxide 2.705 Copper Oxide 2.705 Amorphous Selenium 2.920 Iodine Crystal 3.340 Standard Material and Related Materials (Not Photometric) | 6495 Specular Highlight group The controls in this group affect the appearance of specular highlights. Specular highlights simulate the surface of the raytraced object reflecting the lights in the scene. Changing the color or intensity of lights in the scene can change the appearance of specular highlights. As in standard materials, as you adjust the values in this group the highlight curve at the right changes to give you an idea of the effect. The material preview in the sample slot also updates. Specular Color Sets the specular color on page 9313, assuming there are white lights in the scene. Click the color swatch to display the Color Selector on page 304 and change the highlight color. Click the map button to assign a map to the specular color. See Specular Mapping on page 6459. This button is a shortcut: you can also assign specular level mapping in the Raytrace Maps rollout on page 6505. The remaining controls in the Specular Highlight group depend on the active shader, as shown next to “Shading:” at the top of this rollout. These highlight controls are the same as for the Standard material shaders. These are the highlight controls available to Raytrace materials: ■ Anisotropic highlights on page 6426 ■ Blinn, Oren-Nayar-Blinn, and Phong highlights on page 6428 ■ Metal highlights on page 6430 NOTE Highlight controls that don’t pertain to the current shader are labeled “N/A.” Environment Specifies an environment map that overrides the global environment map. Both Reflect and Transparency use the scene-wide environment map unless you use this button to specify another map. With this control, you can use different environment maps on a per-object basis, or provide an environment to specified objects when the scene as a whole has none. This map overrides the scene-wide environment for both reflection and refraction. To override for refraction alone, see the Transparency Environment control in the Extended Parameters rollout. Use the check box to turn this map on or off. 6496 | Chapter 17 Material Editor, Materials, and Maps TIP You can use any map as the Raytrace environment, including the Reflect/Refract on page 6796 map. Reflect/Refract map is often adequate for getting the required look, and it usually renders more quickly than raytracing the entire scene, especially if the Raytrace material is transparent. If you are using Raytrace material just to get the glass to look right on a car's headlight or on a light bulb hanging in the middle of a room, turn off the raytracer and use an environment map instead. Lock button Locks the Environment map to the Transparency Environment map (found on the Extended Parameters rollout on page 6497). When on, the Transparency Environment map controls are disabled, and a map applied to the Raytrace Environment applies to the Transparency Environment as well. When off, the Transparency Environment map controls are enabled, and the Transparency Environment can have a different map assigned to it. Default=on. Changing this button’s setting here also changes it on the Extended Parameters rollout on page 6497 and the Maps rollout on page 6505. Bump This is the same as bump mapping on page 6472 for Standard materials. Click the button to assign the map. Use the spinner to change the bump Amount. Use the check box to turn the map on or off. Raytrace Extended Parameters Rollout Material Editor ➤ Raytrace material ➤ Extended Parameters rollout The Extended Parameters rollout for a Raytrace material on page 6486 controls the material's special effects, transparency properties, and advanced reflectivity. Standard Material and Related Materials (Not Photometric) | 6497 Interface Except for the wireframe controls, the controls in the Extended Parameters rollout for Raytrace material are specific to the Raytrace material. Special Effects group The controls in this group are special effects. They are powerful, but you might need to experiment to use them effectively. 6498 | Chapter 17 Material Editor, Materials, and Maps Object with raytrace material using translucency and fluorescence Extra Lighting Adds light to the surface of objects with the Raytrace material. You can view this as an ambient lighting color that you can control on a per-material basis, but don't confuse it with the ambient absorption from the Basic Parameters rollout. By mapping this parameter, you can simulate radiosity: the ambient light that results from reflected light in a scene. One effect of radiosity is color bleeding. For example, in strong light a white shirt next to an orange wall will show a reflected orange color. Translucency Creates a translucent effect on page 9337. The Translucency color is a non-directional diffuse reflection. The diffuse color on an object depends upon the angle between the surface normal and the position of the light source. By ignoring the surface normal alignment, this color component simulates translucent materials. For thin objects, the appearance can be like shining a light on the back of a piece of rice paper. You can cast shadows onto the back of the paper and see Standard Material and Related Materials (Not Photometric) | 6499 them projected through the paper; this works well with a projector light. On thicker objects, you can get some good wax-like effects. Fluorescence and Fluor. Bias Creates an effect similar to black light on a black light poster. The light from a black light is largely ultraviolet, outside the visible spectrum. Under black light, fluorescent on page 9165 paints flare or glow. The fluorescence in Raytrace material takes whatever light it sees in the scene, applies the Bias to it, and then, regardless of the color of the lights in the scene, illuminates the fluorescent material as if it were lit by white light. At 0.5, The Bias makes Fluorescence behave just like diffuse coloring. Bias values higher than 0.5 increase the fluorescent effect, making the object brighter than other objects in the scene. Bias values lower than 0.5 make the object dimmer than other objects in the scene. You can get some chromatic shifting effects with this. TIP Full saturation and value for the Fluorescence color help give the effect of commercial fluorescent paints. TIP A slight amount of Fluorescence can add to the realism of skin and eyes. Wire group Size Sets the size of the wire in wireframe mode on page 9351. You can set either pixels (the default) or current units. In Chooses how to measure wire. With pixels, wires maintain the same apparent thickness regardless of the scale of the geometry or how near or far the object is positioned. With units, the wires appear thinner at a distance and thicker at close range, as if they were modeled in the geometry. Pixels (The default.) Measures wire in pixels. Units Measures wire in 3ds Max units. Advanced Transparency group The controls in this group let you further tune transparency effects. Transp. (Transparency Environment) Similar to the environment map in Basic Parameters, but overrides the scene's environment map for transparency (refraction) only. Transparent objects refract this map, while reflections still reflect the scene (or the Basic Parameters Environment map, if one is chosen). Click the button to choose the Transparency Environment map. Use the check box to toggle the effect of the map. 6500 | Chapter 17 Material Editor, Materials, and Maps Lock button Locks the Transparency Environment map to the Environment map (found on the Basic Parameters rollout on page 6488). When on, the Transparency Environment map controls are disabled, and a map applied to the Raytrace Environment applies to the Transparency Environment as well. When off, the Transparency Environment map controls are enabled, and the Transparency Environment can have a different map assigned to it. Default=on. Changing this button’s setting here also changes it on the Basic Parameters rollout on page 6488 and the Maps rollout on page 6505. Density The density controls are for transparent materials. If the material is opaque (the default), they have no effect. Color Sets a transmission color based on thickness. While filter (Transparency) color tints objects behind the transparent object, the density color gives the appearance of color within the object itself, like tinted glass. To use, first make sure the object is transparent. Click the color swatch to display the Color Selector. Choose a color, and then turn on the check box. The Amount controls the amount of density color. Reducing this value reduces the density color effect. Range=0 to 1.0. Default=1.0. A thin piece of tinted glass is mainly clear, while a thick piece of the same glass has more color. The Start and End controls help you simulate this effect. They are expressed in world units. Start is the position in the object where the density color begins to appear. (Default=0.0.) End is the position in the object where the density color reaches its full Amount value. (Default=25.0) To have a lighter effect, increase the End value. To have a heavier effect, reduce the End value. The object must be at least as thick as the Start value before the density color is visible. You can map this color component. Fog Density fog is also a thickness-based effect. It fills the object with a fog that is both opaque and self illuminated. The effect is like smoke trapped in a glass, or wax at the tip of a candle. Colored fog in tubular objects can resemble neon tubes. To use, first make sure the object is transparent. Click the color swatch to display the Color Selector. Choose a color, and then turn on the check box. The Amount controls the amount of density fog. Reducing this value reduces the density fog effect and makes the fog translucent. Range=0 to 1.0. Default=1.0. The Start and End controls let you adjust the fog effect based on the object's dimensions. They are expressed in world units. Start is the position in the object where the density fog begins to appear. (Default=0.0.) End is the position Standard Material and Related Materials (Not Photometric) | 6501 in the object where the density fog reaches its full Amount value. (Default=25.0) To have a lighter effect, increase the End value. To have a heavier effect, reduce the End value. You can map this color component. Render objects inside raytraced objects Turns the rendering of objects inside raytraced objects on or off. Default=on. Render atmospherics inside raytraced objects Turns the rendering of atmospheric effects inside raytraced objects on or off. Atmospheric effects include fire, fog, volume light, and so on. Default=on. Reflections group Controls in this group give you finer control over reflections. Type When set to Default, reflections are layered with the Diffuse color. For example, if the material is not transparent and completely reflective, no diffuse color is visible. When set to Additive, reflections are added to the Diffuse color, as in Standard materials on page 6382. The diffuse component is always visible. Gain Controls reflection brightness. The lower the gain value, the brighter the reflection. At a gain of 1.0, no reflection is visible. Default=0.5. Raytracer Controls Rollout Material Editor ➤ Raytrace material ➤ Raytracer Controls rollout The Raytracer Controls rollout for a Raytrace material on page 6486 controls affect the operation of the raytracer itself. It can help you improve rendering performance. 6502 | Chapter 17 Material Editor, Materials, and Maps Interface Local Options group Enable Raytracing Turns the raytracer on or off. Default=on. Even with raytracing off, Raytrace material and Raytrace map still reflect and refract the environment, including both the environment map for the scene, and the environment map assigned to the Raytrace material. Raytrace Atmospherics Turns the raytracing of atmospheric effects on or off. Atmospheric effects include fire, fog, volume light, and so on. Default=on. Enable Self Reflect/Refract Turns self reflection/refraction on or off. Default=on. Can an object reflect itself? For example, a teapot's body reflects the teapot's handle, but a sphere will never reflect itself. If you don't need this effect, you can improve render time by turning off this toggle. TIP If you have a transparent object such as glass, and Enable Self Reflect/Refract is on, you don't have to make the object 2-sided on page 9079. The raytracer sees back faces when exiting refractive objects. Standard Material and Related Materials (Not Photometric) | 6503 Reflect/Refract Material IDs When on, the material reflects effects assigned to material IDs in the renderer's G-buffer on page 9173 on or off. Default=on. By default, Raytrace material and Raytrace map reflect effects assigned to a material's ID, so that G-buffer effects are not lost. For example, if a raytraced object reflects a lamp made to glow with the Video Post Glow filter (Lens Effects Glow), the reflection glows as well. Raytracer Enable group These two check boxes turn raytracing of reflections or refractions on or off for this material. If you are using the Raytrace material to create only reflections or refractions, turn off the one you aren't using to improve rendering time. Raytrace Reflections Turns raytracing of reflective objects on or off. Default=on. Raytrace Refractions Turns raytracing of transparent objects on or off. Default=on. Local Exclude Displays the local Exclude/Include dialog on page 6515. An object that is excluded locally is excluded from this material only. TIP Using exclusion lists is one of the best and simplest ways to speed up the raytracer. Bump Map Effect Adjusts the effect of bump maps on raytraced reflections and refractions. Default=1.0. Falloff End Distance group Reflect Dims reflections to black at this distance. Default=100.0. Refract Dims refractions to black at this distance. Default=100.0. NOTE The toggles for Reflect Falloff and Refract Falloff aren't animatable. Raytraced Reflection and Refraction Antialiaser group Controls in this group let you override the global antialiasing settings for raytraced maps and materials. They are unavailable if antialiasing is turned off globally. To turn on antialiasing globally, choose Rendering ➤ Raytrace Globals to display the Raytracer Global Parameters rollout on page 7120. On When on, uses antialiasing. Default=unavailable unless global antialiasing is on; on if global antialiasing is turned on. 6504 | Chapter 17 Material Editor, Materials, and Maps Drop-down list Chooses which antialiasing settings to use. There are three options: ■ Use Global Antialiasing Settings(The default.) Uses the global antialiasing settings. Click ... to open the Raytracer Global Parameters rollout on page 7120. ■ Fast Adaptive AntialiaserUses the Fast Adaptive antialiaser, regardless of the global setting. Click ... to open the Fast Adaptive Antialiaser dialog on page 6518. ■ Multiresolution Adaptive AntialiaserUses the Multiresolution Adaptive antialiaser, regardless of the global setting. Click ... to open the Multiresolution Adaptive Antialiaser dialog on page 6520. When you change settings for an antialiaser locally, you don't affect the global settings for that antialiaser. Raytrace Maps Rollout Material Editor ➤ Raytrace material ➤ Maps rollout As with a standard material, the Maps rollout for a Raytrace material on page 6486 contains map buttons for the components of the Raytrace material that can be mapped. You can choose from a large variety of map types. See Map Types on page 6607 to find descriptions of these types, and how to set their parameters. Assigning the Same Map to Different Parameters Applying the same map to different parameters is useful in some cases. For example, using a pattern as both a self-illumination map and an opacity map can make the pattern appear to glow and hover in space. Blending Map Amounts for Opacity and Other Material Components The Specular Level, Glossiness, Self-Illumination, and Opacity values in the four spinners in the Basic Parameters rollout are blended with their associated map Amount values in the Maps rollout. Standard Material and Related Materials (Not Photometric) | 6505 When the Opacity spinner is set to 0, the map Amount spinner completely controls Opacity. That is, reducing the Amount value increases the transparency of the entire surface. On the other hand, when Opacity is 100, reducing the map Amount value increases the opacity of the areas where the Opacity map is less than 1. For example, you can now adjust a Checker Opacity map so that the solid areas remain solid, while the clear areas are semi-transparent. The Specular Level, Glossiness, and Self-Illumination channels all behave in the same way. A setting of 100 applies all of the map; a setting of 0 is the equivalent of turning the map off. When you load old 3ds Max files or bring earlier materials from the Browser into the Materials Editor, the spinner values for Opacity, Specular Level, Glossiness, and Self-illumination are altered, where necessary, to maintain the equivalent material effect. Procedures To assign a map: 1 Click a map button. 3ds Max opens a modal Material/Map Browser on page 6167. 2 Double-click the map you want. To use the Compact Material Editor to assign the same map to different parameters: NOTE In the Slate Material Editor, you can drag the same map’s output socket to more than one component input on the material node. The method described in these steps also works, except that there is no Go To Parent button: Use the active view to return to the material level. 1 In the Maps rollout, use a map button to assign a map. The Material Editor is now at the map level, and displays controls for the map parameters. 2 Click (Go To Parent) to return to the material level, and then open the Maps rollout. 3 Drag the assigned map button to another map button. 3ds Max opens a Copy (Instance) Map dialog on page 6164. 6506 | Chapter 17 Material Editor, Materials, and Maps 4 Choose Copy or Instance, and then click OK. If you choose Swap, the Material Editor swaps the two button assignments. To view the parent material's parameters: ■ If you are currently at the map level in the Compact Material Editor, click (Go To Parent). In the Slate Material editor, simply click the material node in the active view. 3ds Max displays the parameters for the map's parent material. Also, in the Compact Material Editor, the Show End Result and Go to Parent buttons become unavailable. To view a map's parameters: ■ If you are currently at the material level in the Compact Material Editor, or the Slate Material Editor ➤ Parameter Editor, click the button that corresponds to the map. (In the Slate Material Editor, you can also double-click the map node in the active view.) 3ds Max displays the parameters for the map. Also, in the Compact Material Editor, the Show End Result on page 6078 and Go to Parent on page 6078 buttons become available. In the Basic Parameters rollout, if a map has been assigned to a color component or parameter, the corresponding button displays a letter M. In the Maps rollout, if a map has been assigned, the corresponding button displays the map name. To use the Compact Material Editor to view a map's location: ■ Click (Material/Map Navigator) to view the Material/Map Navigator on page 6065. The Navigator displays the hierarchy of the current material, which contains the map. To go to a map using the Navigator: ■ In the Material/Map Navigator on page 6065, click the name of the map, or the green or red parallelogram to the left of the map's name. The Navigator goes to the level of the map, and the Material Editor displays the controls for the map you clicked. Standard Material and Related Materials (Not Photometric) | 6507 As the Navigator's map tree shows, maps for basic material components and parameters are one level below the material itself. To preview a map in a sample slot: 1 Go to the level of the map, as described in previous procedures. The Material Editor displays the map's parameters. 2 Turn off (Show End Result) on page 6078. In the Slate Material Editor, this button is located on the Preview Window on page 6095 for the map node. In the Compact Material Editor, it is located on the toolbar. The preview or sample slot shows the map instead of the material. If the map contains sub-maps, these are also visible. By default, the preview or sample slot displays a map with no three-dimensional shading. You can change this in the Material Editor Options dialog on page 6059. To view the map interactively: 1 Select an object. 2 In the object's creation parameters, make sure that Generate Mapping Coords is on. If the object type does not have a Generate Mapping Coordinates toggle, you need to assign mapping coordinates by applying a UVW Map modifier on page 1883. 3 In the Material Editor, assign the mapped material to the object. 4 If you are at the material level (the top level), click the appropriate map button to go to the map level. 5 Turn on (Show Map In Viewport) on page 6006. The map appears on objects assigned the material in all shaded viewports. Now when you adjust the map, the viewports update to display the adjustments. 6508 | Chapter 17 Material Editor, Materials, and Maps Turning on Show Map In Viewport for one map automatically turns this button off for all other maps the material has. Viewports can display 2D maps such as Checker and Bitmap. They cannot display other kinds of maps such as 3D maps. Show Map in Viewport is unavailable if the active map type cannot display in viewports. TIP Displaying mapped materials in a viewport can slow performance. If you don't need to view the texture, turn off its viewport display. To turn off interactive texture display: 1 Go to the map level. If you are at the material level, click the appropriate map button to go to the map level. 2 Turn off (Show Map In Viewport) on page 6006. The object is shaded but the map no longer appears. To turn a map off: ■ Turn off the map's check box. The check box is to the left of the map's name on the Maps rollout. To turn a map on: ■ Turn on the map's check box. The check box is to the left of the map's name on the Maps rollout. To change a map's strength: ■ Adjust the map's Amount spinner in the Maps rollout. The material's sample slot reflects the change. NOTE Adjusting a map's output (in the map's Output rollout) can also change the map's strength. Standard Material and Related Materials (Not Photometric) | 6509 To use the Compact Material Editro to move directly to an ancestor: NOTE In the Slate Material Editor, you can view the material hierarchy in the active View panel. 1 Click the arrow to the right of the map's name field on page 6080. A drop-down list of ancestors is displayed. You can use this list to jump directly to a particular level in the tree. 2 Click a name in the ancestor list. The ancestor drop-down list shows only part of the tree. It does not show side branches and siblings. To view these, use the Material/Map Navigator on page 6065. You can also use (Go Forward To Sibling) on page 6079 and To Parent) on page 6078. (Go To change a map type using the Compact Material Editor: 1 At the level of a map, click the button labeled Type below the Material Editor toolbar. 3ds Max opens a modal Material/Map Browser on page 6167. If you were at a map, it lists only maps (if you were at a material when you clicked Type, the Browser lists only materials). 2 Choose a map type from the list, and then click OK. If you change a map type and the new map type can have component maps, a Replace Map dialog is displayed. This dialog gives you a choice between discarding the original map or using it as a component map. If the new map type does not have components, it simply replaces the original map type. 6510 | Chapter 17 Material Editor, Materials, and Maps Interface The Maps rollout for Raytrace contains a wide button for each map type. Click this button to select a bitmap file stored on disk or to select a procedural-map type on page 9274. After you select a map, its name and type appears on the button. Use the check box to the left of the button to turn the effect of the Standard Material and Related Materials (Not Photometric) | 6511 map off and on. When the check box is off, the map is not computed and has no effect in the renderer. The Amount spinner determines the amount that the map affects the material, expressed as a percentage of full intensity. For example, a diffuse map at 100% is completely opaque and covers the base material. At 50%, it is semi-transparent and the base material (the diffuse, ambient, and other colors of the material without mapping) shows through. Lock button Locks the Environment map to the Transparency Environment map. When on, the Transparency Environment map controls are disabled, and a map applied to the Raytrace Environment applies to the Transparency Environment as well. When off, the Transparency Environment map controls are enabled, and the Transparency Environment can have a different map assigned to it. Default=on. Changing this button’s setting here also changes it on the Basic Parameters rollout on page 6488, and the Extended Parameters rollout on page 6497. Diffusion Mapping The Diffusion map component lets you apply an additional, second texture to modify the Diffuse component. Typically, you will want to reduce the Amount of this map to allow the main Diffuse map to show through. For example, you might have a clean, bright image for a billboard. You use this image as the Diffuse map, and then use a second map as a Diffusion map to apply soot and city grime. TIP Animating the Amount can change the appearance of the material over time, letting the Diffusion map either conceal or reveal the underlying Diffuse map. NOTE Show Map In Viewport does not display the Diffusion map. Raytrace Dynamics Properties Rollout Material Editor ➤ Raytrace material ➤ Dynamics Properties rollout As with a standard material, the Dynamics Properties rollout for a Raytrace material on page 6486 lets you specify surface properties that affect the animation of an object upon collision with another object. If there are no collisions in your simulation, these settings have no effect. 6512 | Chapter 17 Material Editor, Materials, and Maps Since the Dynamics Properties rollout is available at the top level of any material (including sub-materials), you can specify different surface dynamic properties for each face in an object. There are also controls in the Dynamics utility that let you adjust the surface properties at the object level, but only the Materials Editor lets you alter the surface properties at the sub-object level, through use of a Multi/Sub-Object material on page 6542. As a default, the values in the Dynamics Properties rollout provide a surface that's similar to Teflon-coated hardened steel. Interface Bounce Coefficient Sets how far an object bounces after hitting a surface. The higher the value, the greater the bounce. A value of 1 represents a "perfectly elastic collision," or a bounce in which no kinetic energy is lost. Default=1.0. If you've seen the desktop toy with four ball bearings swinging back and forth on strings and hitting one another, you've seen an example that comes very close to a bounce coefficient of 1. Generally, hardened steel or a super ball have a bounce near 1, while lead has a bounce near 0. Static Friction Sets how difficult it is for the object to start moving along a surface. The higher this value, the more difficult. Default=0.0. If something weighs ten pounds and sits on Teflon (a static friction of near 0), it takes almost no force to make it move sideways. On the other hand, if it sits on sandpaper, then the static friction might be very high, on the order of 0.5 to 0.8. A static friction near 1 is very difficult to create in the real world without adhesives or friction material. Sliding Friction Sets how difficult it is for the object to keep moving over a surface. The higher this value, the more difficult for the object to keep moving. Default=0.0. Once two objects begin to slide over one another, static friction disappears and sliding friction takes over. Generally, sliding friction is lower than static friction due to surface tension effects. For example, once steel starts sliding over brass (a value of static friction that might run from 0.05 to 0.2), the Standard Material and Related Materials (Not Photometric) | 6513 sliding friction drops to a significantly lower value, on the order of .01 to 0.1. For some materials, such as specific friction materials like brake linings, sliding friction is just as high as static friction because it is used in conjunction with a nearly frictionless material such as hardened polished steel. Raytracing Acceleration Parameters Dialog Rendering menu ➤ Raytracer Settings ➤ Render Setup dialog ➤ Raytracer panel ➤ Raytracer Global Parameters rollout ➤ Global Raytrace Engine Options group ➤ Acceleration Controls button The controls in this dialog let you override the default acceleration values and specify your own requirements. Typically you don't need to use them, but if you are familiar with the requirements of your scene, they can help you optimize raytrace rendering for your specific needs and time constraints. Raytracing subdivides the scene, organizing it into a tree for raytrace purposes. A node in this tree is known as a "voxel." Voxel trees are dynamic, and you can't explicitly specify the structure of the tree. (If you set Max. Divisions to 2, the tree is an octree, which is possibly a more familiar data structure.) TIP If your scene is particularly unbalanced (for example, it has a giant planet object and a cluster of small spacecraft objects) keep the Balance setting low. Interface Face Limit Sets the maximum number of faces allowed in a lattice voxel before it is subdivided. Default=10. Balance Determines the sensitivity of the subdivision algorithm. Increasing this value uses more memory but can increase performance. Default=4.0. 6514 | Chapter 17 Material Editor, Materials, and Maps Max. Divisions Sets the initial lattice dimension. For example, 4 is a 4 x 4 x 4 lattice. Default=30. Max. Depth Sets the maximum number of lattice subdivisions. Default=8. Raytrace Exclude/Include Dialog Rendering menu ➤ Raytrace Global Include/Exclude Material Editor ➤ Raytrace material ➤ Raytracer Controls rollout ➤ Local Exclude button Material Editor ➤ Raytrace map ➤ Raytracer Parameters rollout ➤ Local Exclude button Rendering menu ➤ Raytracer Settings ➤ Render Setup dialog ➤ Raytracer panel ➤ Raytracer Global Parameters rollout ➤ Global Raytrace Engine Options group ➤ Exclude button Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Raytracer panel ➤ Raytracer Global Parameters rollout ➤ Global Raytrace Engine Options group ➤ Exclude button These dialogs let you specify which objects the raytracer will and won't see. This is a good optimization when you are working with complex scenes and all you really need is for an object to reflect itself or some other, simpler elements in the scene. Standard Material and Related Materials (Not Photometric) | 6515 Upper left: Bottle excluded from both mirrors Upper right: Bottle reflected by both mirrors Lower middle: Bottle excluded from one mirror The global dialog affects all Raytrace materials and Raytrace maps in your scene. The local dialog affects only the current material or map. TIP Another good use for exclusion can be when you are working on a scene where the world-space scale of objects is not realistic. For example, consider an animation of a space dog-fight, with a planet and its moon in the background. You would use a planet that was actually much smaller, relative to the fighters, than an actual planet. (For example, the planet might be only five times bigger than the fighters, and the moon only half as big as the fighters.) If the fighters are reflective, the reflections of the planet and moon will be incorrect and will give away the fact that you are using miniatures. In this case, raytrace the reflective fighters, and laser blasts, and so on, but exclude the planet and moon props from the raytracer. Create an environment map that represents the planet and moon at their correct scale, and make that the Raytrace material's local environment. When you render, the scale of the planet and moon geometry appears to be correct, and the reflections on the fighters will behave as your eye expects. 6516 | Chapter 17 Material Editor, Materials, and Maps Interface Both the Global and the Local Exclude/Include dialogs contain the following controls: Exclude/Include Choose whether raytracing will exclude or include the objects named in the list on the right. Illumination / Shadow Casting / Both For the raytracer, this is turned off (always set to Illumination). Scene Objects Select objects from the Scene Objects list on the left, then use the arrow buttons to add them to the exclusion list on the right. The Exclude/Include dialog treats a group as an object: you can exclude or include all objects in a group by selecting the group's name in the Scene Objects list. If a group is nested within another group, it isn't visible in the Scene Objects list. Search Field The edit box above the Scene Objects list lets you search for object names by entering names that use wildcards. Standard Material and Related Materials (Not Photometric) | 6517 Display Subtree When on, indents the list according to the object hierarchy. Case Sensitive When on, uses case sensitivity when searching object names. Selection Sets Displays a list of named selection sets. Choosing a selection set from this list selects those objects in the Scene Objects list. Clear Clears all entries from the Exclude/Include list on the right. OK Closes the dialog and retains the exclude or include operations you performed. Cancel Closes the dialog and cancels the exclude or include operations you performed. Raytrace Antialiaser Dialog: Fast Adaptive Antialiaser Rendering menu ➤ Raytracer Settings ➤ Raytracer Global Parameters dialog ➤ Global Ray Antialiaser group ➤ Turn on global ray antialiasing. ➤ Choose Fast Adaptive Antialiaser from the drop-down list. ➤ ... button Material Editor ➤ Material/Map Browser on page 6167 ➤ Raytrace material ➤ Raytracer Controls rollout ➤ Raytraced Reflection and Refraction Antialiaser group (enabled only if antialiasing is globally enabled) ➤ Choose Fast Adaptive Antialiaser from the drop-down list. ➤ ... button Material Editor ➤ Material/Map Browser on page 6167 ➤ Raytrace map ➤ Raytracer Parameters rollout ➤ Raytraced Reflection and Refraction Antialiaser group (enabled only if antialiasing is globally enabled) ➤ Choose Fast Adaptive Antialiaser from the drop-down list. ➤ ... button The Fast Adaptive Antialiaser dialog changes settings for the Raytrace material and maps Fast Adaptive antialiaser. You can use this dialog either globally, from the Raytracer Global Parameters rollout on page 7120, or locally, from the Raytracer Controls rollout on page 6502. When you locally change settings for an antialiaser, you don't affect the global settings for that antialiaser. 6518 | Chapter 17 Material Editor, Materials, and Maps Interface Blur / Defocus (Distance Blur) group Blur Offset is similar to blur offset for Bitmaps, while defocus is based on distance. Blur Offset Affects the sharpness or blurriness of the reflections or refractions without regard to distance. You can use Blur Offset to soften or defocus the details of a reflection or refraction. The value is specified in pixels. Default=0.0. TIP The default Blur Offset setting usually produces good results. If you see aliasing in reflections or refractions, increase its value in increments of 0.5 until the aliasing goes away. See Blur/Blur Offset on page 9110. Blur Aspect This is an aspect ratio that changes the shape of the blur. Usually you will not need to change it. Default=1.0. Standard Material and Related Materials (Not Photometric) | 6519 TIP If you see aliasing that occurs mostly along horizontal lines, try increasing Blur Aspect to 1.5. This changes the shape of the blurred effect. The reverse is also true. If aliasing occurs mostly along vertical lines, try decreasing Blur Aspect to 0.5. Defocusing Defocusing is a blur based on distance. With Defocus, objects near the surface are not blurred, but objects farther away are blurred. The rays cast are spread as they leave the Raytrace material object's surface. Default=0.0. TIP Increasing the value of Defocusing can give a good distance blurring effect. Small adjustments are usually adequate. Try starting with a value less than 0.1, and increase or decrease it as necessary. Also try adjusting Reflect Falloff in Raytrace material or Attenuation in Raytrace map to get the best distance blurring effect. Defocus Aspect This is an aspect ratio that changes the shape of the defocusing. Usually you will not need to change it. Default=1.0. Raytrace Antialiaser Dialog: Multiresolution Adaptive Antialiaser Rendering menu ➤ Raytracer Settings ➤ Render Setup dialog ➤ Raytracer panel ➤ Raytracer Global Parameters rollout ➤ Raytracer Global Parameters ➤ Global Ray Antialiaser group ➤ Turn on global antialiasing. ➤ Choose Multiresolution Adaptive Antialiaser from the drop-down list. ➤ ... button Material Editor ➤ Material/Map Browser on page 6167 ➤ Raytrace material ➤ Raytracer Controls rollout ➤ Raytraced Reflection and Refraction Antialiaser group (enabled only if antialiasing is globally enabled) ➤ Choose Multiresolution Adaptive Antialiaser from the drop-down list. ➤ ... button The Multiresolution Adaptive Antialiaser dialog changes settings for the Raytrace material and maps Multiresolution Adaptive antialiaser. You can use this dialog either globally, from the Raytracer Global Parameters rollout on page 7120, or locally, from the Raytracer Controls rollout on page 6502. When you locally change settings for an antialiaser, you don't affect the global settings for that antialiaser. 6520 | Chapter 17 Material Editor, Materials, and Maps Interface Adaptive Control group Initial Rays Sets the initial number of rays cast per pixel. Default=4. Threshold Determines the sensitivity of the adaptation algorithm. It can range from 0 to 1, where 0 always casts the maximum number of rays and 1 always casts only the minimum number of rays. Default=0.1. Max. Rays (Maximum Rays) Sets the maximum number of rays the algorithm will cast. Default=32. Blur / Defocus (Distance Blur) group Blur Offset is similar to blur offset on page 9110 for bitmaps, while Defocusing is based on distance. Standard Material and Related Materials (Not Photometric) | 6521 Blur Offset Affects the sharpness or blurriness of the reflections or refractions without regard to distance. You can use Blur Offset to soften or defocus the details of a reflection or refraction. The value is specified in pixels. Default=0.0. TIP The default Blur Offset setting usually produces good results. If you see aliasing in reflections or refractions, increase its value in increments of 0.5 until the aliasing goes away. Blur Aspect This is an aspect ratio that changes the shape of the blur. Usually you will not need to change it. Default=1.0. TIP If you see aliasing that occurs mostly along horizontal lines, try increasing Blur Aspect to 1.5. This changes the shape of the blurred effect. The reverse is also true. If aliasing occurs mostly along vertical lines, try decreasing Blur Aspect to 0.5. Defocusing Defocusing is a blur based on distance. With Defocus, objects near the surface are not blurred, but objects farther away are blurred. The rays cast are spread as they leave the Raytrace material object's surface. Default=0.0. TIP Increasing the value of Defocusing can give a good distance blurring effect. Small adjustments are usually adequate. Try starting with a value less than 0.1, and increase or decrease it as necessary. Also try adjusting Reflect Falloff in Raytrace material or Attenuation in Raytrace map to get the best distance blurring effect. Defocus Aspect This is an aspect ratio that changes the shape of the defocusing. Usually you will not need to change it. Default=1.0. Matte/Shadow Material Material/Map Browser on page 6167 ➤ Matte/Shadow The Matte/Shadow material allows you to make whole objects (or any subsets of faces) into matte objects on page 9220 that reveal the current background color or environment map on page 9145. NOTE The Matte/Shadow material is unavailable when mental ray is active; instead, use the Matte/Shadow/Reflection (mi) material on page 6350. 6522 | Chapter 17 Material Editor, Materials, and Maps Simply rendering the framed photo against a background shows the photo in front of the background. Standard Material and Related Materials (Not Photometric) | 6523 A matte object hides parts of the photo, revealing the background to make it appear the photo is behind the goblets. It can also receive shadows cast on it from non-matte objects in the scene. Using this technique, you can cast shadows on backgrounds by building matte proxy objects and placing them in front of similarly shaped objects in the background. 6524 | Chapter 17 Material Editor, Materials, and Maps Creating a matte object for casting shadows against a background image Matte/Shadow materials can also have reflections. NOTE The Matte/Shadow effect is visible only when you render the scene. It isn't visible in viewports. Procedures To render objects seamlessly against a background environment: There are three ways you can render objects to blend seamlessly into a background environment: ■ Assign a Matte/Shadow Material. Standard Material and Related Materials (Not Photometric) | 6525 ■ Assign a 100% self-illuminated diffuse texture to an object using Camera Mapping. ■ Assign a 100% self-illuminated diffuse texture using Environment/Screen projection. Use the Plate Match/MAX R2.5 antialiasing whenever you are trying to match foreground objects with an unfiltered background, or trying to match the antialiasing qualities of the 3ds Max 2.5 renderer. See the description of Antialiasing Filter in the description of the Default Scanline Renderer on page 7042. Example: To see the effect of Affect Alpha and Matte Reflection: 1 Create a scene with one or more objects on a box platform, and one or more shadow-casting spotlights. TIP If you use only one spotlight, increase its Multiplier value. 2 Assign a Matte/Shadow material to the box, and render the scene with default Matte/Shadow parameters (Opaque Alpha is on, and Affect Alpha is off). 3 On the Rendered Frame Window on page 6963 that opens, turn on (Display Alpha Channel). The objects all appear as white silhouettes, including the platform. 4 On the Matte/Shadow Basic Parameters rollout, turn off Opaque Alpha, and turn on Receive Shadows and Affect Alpha. 5 Press F9 (Render Last on page 7016). The silhouette of the box no longer appears, but the other objects and their shadows appear. 6 On the Matte/Shadow Basic Parameters rollout, click the Map button in the Reflection group, and use the Material/Map Browser on page 6167 to assign a Flat Mirror on page 6778 map to the box's material. On the Flat Mirror Parameters rollout, turn on Render group ➤ Assign To Faces With ID and leave the value set to 1. 7 Press F9 (Render Last on page 7016). 8 On the Rendered Frame Window, turn off Display Alpha Channel. 6526 | Chapter 17 Material Editor, Materials, and Maps The reflections of the objects appear on the box, even though the box itself is invisible. Interface Matte group Opaque Alpha Determines whether or not the matte material appears in the alpha channel. If you turn off Opaque Alpha, the matte object will not make an alpha channel, and the image can be used for compositing, just as if there are no matte objects in the scene. Default=off. Atmosphere group These options determine whether fog effects are applied to the matte surfaces, and how they are applied. Apply Atmosphere Turns the fogging of matte objects on and off. Standard Material and Related Materials (Not Photometric) | 6527 When applying fog, you can choose between two different methods. You can either apply fog as if the matte surface is at an infinite distance from the camera or you can apply it as if the matte surface is actually at that point on the object being shaded. In other words, you can apply the fog to the matte surface in either 2D or 3D. The following controls determine how this is applied: At Background Depth This is the 2D method. The scanline renderer on page 9292 fogs the scene, and then renders its shadows. In this case, the shadows won't be lightened by the fog. If you want to lighten the shadows, you need to turn up the shadow brightness. At Object Depth This is the 3D method. The renderer first renders the shadows, and then fogs the scene. Since this varies the amount of fog over the 3D matte surface, the generated matte/alpha channels don't blend perfectly into the background. Use At Object Depth when the matte object is meant to be a 3D object in the scene that the 2D background represents. Shadow group This group determines whether the matte surfaces receive shadows that are cast upon them, and how they receive them. Receive Shadows Renders shadows on the matte surfaces. Default=on. Affect Alpha When on, shadows cast on a matte material are applied to the alpha channel. This lets you render bitmaps with alpha channels that you can composite later. Default=on. Affect Alpha is available only when Opaque Alpha (in the Matte group box) is turned off. When Affect Alpha is on, the higher the Shadow Brightness value, the more transparent the shadow, allowing the background to show through more, and making the shadow appear brighter. Shadow Brightness Sets shadow brightness. At 0.5, the shadows will not be attenuated on the matte surface; at 1.0, the shadows are brightened to the color of the matte surface; and at 0.0 they are darkened to completely obliterate the matte surface. Color Displays a Color Selector on page 304 to let you choose the color of the shadow. Default=black. Setting shadow color is especially useful when you're using a Matte/Shadow material to composite your shadows against a background image, such as video. It lets you tint your shadows to match pre-existing shadows in the image. 6528 | Chapter 17 Material Editor, Materials, and Maps Reflection group Controls in this group determine whether the matte surfaces can have reflections. You create matte reflections using a shadow map. TIP Matte reflections don't successfully create an alpha channel unless you render them against a black background. Amount Controls the amount of reflection to use. This is a percentage that can range from 0 to 100. This control is unavailable unless you have assigned a map. Default=50. You can animate this parameter. Map Displays the Material/Map Browser on page 6167 so you can assign a map to use for reflections. The reflection is independent of the environment unless you choose a Reflect/Refract on page 6778 or Flat Mirror map on page 6778. Compound Materials Compound materials combine two or more sub-materials. Compound materials are similar to compositor maps on page 6751, but they exist at the material level. Applying a compound material to an object creates a compound effect that often uses mapping. You load or create compound materials using the Material/Map Browser. Using a filter control, you can choose whether the Browser lists maps or materials or both. Different types of materials create different effects, behave in particular ways, or are provided as ways to combine multiple materials. NOTE The sub-material buttons and sub-map buttons for most materials and maps have check boxes beside each button. These let you turn that branch of the material or map on or off. For example, in the Top/Bottom material, the Top Material and Bottom Material buttons each have check boxes. Similarly, the Checker map has two map buttons, one for each color. Each button has a check box beside it that lets you disable that color's map. Blend Material Material/Map Browser on page 6167 ➤ Blend The Blend material lets you mix two materials on a single side of the surface. Blend has an animatable Mix Amount parameter that lets you draw material Standard Material and Related Materials (Not Photometric) | 6529 morphing on page 9227 function curves to control the way that the two materials are blended over time. Blend material combines bricks and stucco. NOTE If even one sub-material has its shading set to Wire (see Shader Basic Parameters Rollout on page 6390), the entire material displays and renders as a wire material. Procedures To create a Blend material, do one of the following: ■ In the Slate Material Editor ➤ Browser panel ➤ Create New Material / Map (By Name) ➤ Materials ➤ Standard group, drag a Blend material into the active View. ■ In the Compact Material Editor, activate a sample slot, click the Type button, then in the Material/Map Browser on page 6167, choose Blend and then click OK. 3ds Max opens a Replace Map dialog on page 6082. This dialog asks whether you want to discard the original material in the sample slot, or retain it as a sub-material. Blend materials have similar controls to Mix maps. 6530 | Chapter 17 Material Editor, Materials, and Maps To specify a component material: ■ In the Blend Basic Parameters rollout, click one of the two material buttons. The parameters for the sub-material are displayed. By default, a sub-material is a Standard material with Blinn shading. To control the mix amount: ■ In the Basic Parameters rollout, adjust the Mix Amount value. You can also control the mix amount by using a map. Map used to reveal brick beneath stucco To control the mix amount using a map: ■ In the Basic Parameters rollout, click the map button next to Mask. The Browser is displayed so you can select a map type. The intensity of pixels in this mixing map controls the mix. When the intensity is close to zero, one of the component colors or maps is visible; when it is close to full intensity, the other component is visible. Standard Material and Related Materials (Not Photometric) | 6531 TIP Using a Noise map for the mixing map can give good effects that have a natural appearance. Mix Amount is unavailable while a map is assigned to this parameter. If Use Curve is turned off, the mixing map is used as is. If Use Curve is on, you can shift the effect of the mixing map's gradient ramp to reveal more of one material and less of the other. Interface Material 1/Material 2 Set the two materials to be blended. Use the check boxes to turn the materials on and off. Interactive Chooses which of the two materials is displayed on object surfaces in viewports by the interactive renderer. If one material has Show Map in Viewport on page 6006 on, this takes precedence over the Interactive setting. Only one map at a time can be displayed in viewports. 6532 | Chapter 17 Material Editor, Materials, and Maps Mask Sets a map to use as a mask. The degree of blending between the two materials depends on the intensity of the mask map. Lighter (whiter) areas of the mask show more of Material 1, while darker (blacker) areas of the mask show more of Material 2. Use the check box to turn the mask map on or off. Mix Amount Determines the proportion of the blend (percentage). 0 means only Material 1 is visible on the surface; 100 means only Material 2 is visible. Unavailable if you have assigned a mask map and the mask's check box is on. You can animate this parameter. Create Material Preview on page 6055 is useful for testing the effect. Mixing Curve group The mixing curve affects how gradual or how sharp the transition between the two colors being blended will be. It affects the blend only when a mask map is assigned. TIP For mottled effects, blend two standard materials using a noise map as a mask. Use Curve Determines whether the Mixing Curve affects the mix. This control is available only when a mask is assigned and active. Transition Zone These values adjust the level of the Upper and Lower limits. If the two values are the same, the two materials meet at a definite edge. Wider ranges give more gradual blending from one sub-material to the other. The mixing curve displays the effect of changing these values. Composite Material Material/Map Browser on page 6167 ➤ Composite Composite material composites on page 9118 up to 10 materials. The materials are superimposed from top to bottom, as listed in the rollout. Materials are combined using additive opacity on page 9085, subtractive opacity on page 9320, or mixed using an Amount value. NOTE If even one sub-material has its shading set to Wire (see Shader Basic Parameters Rollout on page 6390), the entire material displays and renders as a wire material. See also: ■ Composite Map on page 6751 Standard Material and Related Materials (Not Photometric) | 6533 Interface Base Material Displays the Material/Map Browser on page 6167, where you assign the base material. By default, the base material is a Standard material. The other materials are composited by superimposing them on top of this material, in order from top to bottom. 6534 | Chapter 17 Material Editor, Materials, and Maps Mat 1 through Mat 9 Each of these nine groups contains controls for a material to composite. By default, no materials are assigned. Check box When on, uses the material in the composite. When off, doesn't use it. Default=on. Button Displays the Material/Map Browser on page 6167, where you assign a material to composite. ASM buttons These buttons control how the material is composited. Default=A. ■ AThis material uses additive opacity on page 9085. Colors in the material are summed based on their opacity. ■ SThis material uses subtractive opacity on page 9320. Colors in the material are subtracted based on their opacity. ■ MThis material mixes materials based on the Amount value (see following). Both color and opacity are blended as they are when you use a Blend material on page 6529 with no mask. Amount Controls the amount of mixing. Default=100.0. For additive (A) and subtractive (S) compositing, the Amount value can range from 0 to 200. When the Amount is 0.0, no compositing happens, and the material below is not visible. When the Amount is 100.0, the composite is complete. When the amount is greater than 100.0, compositing is "overloaded": transparent portions of the material become more opaque, until the material below is no longer visible. For mix (M) compositing, the Amount can range from 0.0 to 100.0. When the Amount is 0.0, no compositing happens, and the material below is not visible. When the amount is 100.0, compositing is complete, and only the material below is visible. Double-Sided Material Material/Map Browser on page 6167 ➤ Double-Sided The Double-Sided material lets you assign two different materials to the front and back faces of an object. Standard Material and Related Materials (Not Photometric) | 6535 On the right, a double-sided material creates a pattern for the inside of the trash can. NOTE If even one sub-material has its shading set to Wire (see Shader Basic Parameters Rollout on page 6390), the entire material displays and renders as a wire material. Procedures To create a Double Sided material, do one of the following: ■ In the Slate Material Editor ➤ Browser panel ➤ Create New Material / Map (By Name) ➤ Materials ➤ Standard group, drag a Double Sided material into the active View. ■ In the Compact Material Editor, activate a sample slot, click the Type button, then in the Material/Map Browser on page 6167, choose Double Sided and then click OK. 3ds Max opens a Replace Map dialog on page 6082. This dialog asks whether you want to discard the original material in the sample slot, or retain it as a sub-material. 6536 | Chapter 17 Material Editor, Materials, and Maps The Double-Sided material controls let you choose the two materials, and the translucency of the material overall. To choose the outer material: ■ Click the button labeled Facing Material. 3ds Max displays the parameters for the sub-material. By default, a sub-material is a Standard material with Blinn shading. To choose the inner material: 1 Go back to the parent material (parameters for the Double-Sided material). 2 On the Double-Sided Basic Parameters rollout, click the button labeled Back Material. 3ds Max displays the parameters for the sub-material. By default, a sub-material is a Standard material with Blinn shading. To make the material translucent: ■ Set Translucency to a value greater than 0. The Translucency control affects the blending of the two materials. When Translucency is 0, there is no blend. When Translucency is 100.0 percent, the outer material is visible on inner faces and the inner material is visible on outer faces. At intermediate values, the specified percentage of the inner material "bleeds through" and is visible on outer faces. Interface Translucency Sets the amount that one material shows through the other. This is a percentage that can range from 0.0 to 100.0. At 100 percent, the outer material is visible on inner faces and the inner material is visible on outer Standard Material and Related Materials (Not Photometric) | 6537 faces. At intermediate values, the specified percentage of the inner material "bleeds through" and is visible on outer faces. Default=0.0. You can animate this parameter. Facing Material and Back Material Click to display the Material/Map Browser on page 6167 and choose a material for one side or the other. Use the check boxes to turn the materials on or off. Morpher Material Material/Map Browser on page 6167 ➤ Morpher material Procedures on page 6539 Interface on page 6540 The Morpher material works hand-in-hand with the Morpher modifier. You can use it to make the cheeks of a character blush, or to wrinkle a character's forehead when the eyebrows are raised. With the Morpher modifier's channel spinners, you can blend materials the same way you morph the geometry. The Morpher material has 100 material channels that map directly to the 100 channels in the Morpher modifier. After you apply the Morpher material to an object and bind it to the Morpher modifier, you use the channel spinners in the Morpher modifier to morph materials and geometry. Empty channels in the Morpher modifier, with no geometry morph data, can be used to morph materials only. NOTE The mental ray renderer on page 7129 does not support the Morpher material. NOTE If even one sub-material has its shading set to Wire (see Shader Basic Parameters Rollout on page 6390), the entire material displays and renders as a wire material. See also: ■ Morpher Modifier on page 1464 Applying the Morpher Material An object must have at least one Morpher modifier in its modifier stack. You can assign the material to an object and bind it to the object's Morpher modifier in either of two ways. ■ After the Morpher modifier is applied to an object, use the Assign New Material command in the Global Parameter rollout of the Morpher modifier. 6538 | Chapter 17 Material Editor, Materials, and Maps This is the simplest way, and applies the Morpher Material to the object and binds the material to the Morpher modifier at the same time. ■ Open the Material Editor, select the Morpher material, and click Choose Morph Object in the Parameters rollout, then click the object in the viewports. After clicking the object, a dialog displays in the viewports, select the Morpher modifier from the dialog (an object may have multiple Morpher modifiers). This binds the Morpher material to the Morpher modifier. NOTE You can bind a Morpher material to only one Morpher modifier. Procedures Example: To apply and use the Morpher material: 1 Create a sphere in the Perspective viewport. 2 On the Modify panel, right-click the sphere's entry in the modifier stack display, and choose Convert To: Editable Mesh. 3 From the Modifier List, choose Morpher. This applies the Morpher modifier to the sphere. 4 On the Morpher modifier's Global Parameters rollout, click Assign New Material. The Morpher material is now applied to the object and bound to the Morpher modifier. 5 Open the Material Editor, and click (Pick Material From Object) (the eyedropper), then click the sphere in the viewports. The Material Editor displays the Morpher material parameters. 6 On the Morpher Basic Parameters rollout, in the Modifier Connection group, click Choose Morph Object. In the dialog that appears, click Morpher to highlight that modifier, and then click Bind. 7 On the Morpher Material Parameters rollout, click the Mat 1 slot. 8 On the Material/Map Browser choose Standard. 9 On the Basic Parameters rollout, click the Diffuse color swatch. Standard Material and Related Materials (Not Photometric) | 6539 10 On the Color Selector, choose a bright yellow, and close the color selector. Leave the Material Editor open. 11 Turn on 12 (Auto Key), then move the time slider to frame 50. Select the sphere, and then go to the Modify panel. 13 On the Morpher modifier's Channel List rollout, set the channel 1 spinner to 100. In the Material Editor, the color of the sample sphere changes to yellow. 14 Turn off (Auto Key). 15 On the main toolbar, click (Render Production). The sphere is yellow. If you render an animation the sphere changes from a grey color to yellow. Interface The Morpher material interface is on a Parameters rollout in the Material Editor. 6540 | Chapter 17 Material Editor, Materials, and Maps Modifier Connection group Choose Morph Object Click this option, then select an object in the viewports that has a Morpher modifier applied to it. Clicking an object in the viewports displays the Choose Morpher modifier dialog. Choose a Morpher modifier, and click Bind. Name Field Displays the name of object to which the Morpher material is applied. If no object has been specified, the field displays "No Target". Refresh Updates the channel data. Marker List This list is identical to the marker list in the Morpher modifier. Markers you save in the Morpher modifier appear here. Base Material group Base material button Click to apply a base material to the object. The base material represents what the model looks like before any channel blending takes place. Channel Material Setup group Map # 100 material channels are available. The scroll bar allows you to scroll through all the channels. Double-click a channel to jump to the material parameters for that channel. There is a one-to-one correspondence between the channels in the Morpher material and the Morpher modifier. A material in channel 1 of the Morpher material is controlled by the channel 1 spinner in the Morpher modifier. Standard Material and Related Materials (Not Photometric) | 6541 Material on/off toggle Turns a channel on and off. Channels that are off do not affect the morph result. Mixing Calculation Options group The system can slow down if there are many active materials being blended. Options in this group allow you to control when the morph result will be computed. Constantly Choose to compute the material morph result all the time. When Rendering Choose to compute the material morph result at render time. Never Calculate Choose to bypass material blending. Multi/Sub-Object Material Material/Map Browser on page 6167 ➤ Multi/Sub-Object The Multi/Sub-Object material lets you assign different materials at the sub-object level of your geometry. You create a multi-material, assign it to an object, and then use the Mesh Select modifier on page 1445 to select faces and choose which of the sub-materials in the multi-material are assigned to the selected faces. 6542 | Chapter 17 Material Editor, Materials, and Maps Figure mapped using a Multi/Sub-Object material If the object is an editable mesh on page 2190, you can drag and drop materials to different selections of faces, building a Multi/Sub-Object material on the fly. See Drag and Drop Sub-Object Material Assignment on page 6165. You can also create a new Multi/Sub-Object material by dragging to faces selected with the Edit Mesh modifier on page 1263. Sub-material IDs do not depend on the order of the list, and you can enter new ID values. The Material Editor Make Unique on page 6072 function lets you make an instanced sub-material into a unique copy. At the Multi/Sub-Object material level, the sample slot's sample object shows a patchwork of the sub-materials. When you edit a sub-material, the sample slot display depends on the setting of the Simple Multi Display Below Top Level toggle in the Material Editor Options dialog on page 6059. Standard Material and Related Materials (Not Photometric) | 6543 Using Multi/Sub-Object Materials Here are some usage tips with regards to mesh editing and managing sub-materials. ■ When working at sub-object levels of Editable Meshes, Polys, Patches and Splines, or with objects that have Edit Mesh, Spline or Patch modifiers applied to them, you can browse by sub-material names if the object has a multi-sub-object material applied to it. ■ Sub-materials that are not assigned to an object, or surface of an object, can be 'cleaned' from the Multi-Sub-Object material by using the Clean MultiMaterial utility on page 6942. ■ Duplicate maps, assigned to materials, can be changed to instances by using the Instance Duplicate Maps utility on page 6947. Procedures To create a Multi/Sub-Object material, do one of the following: ■ In the Slate Material Editor ➤ Browser panel ➤ Create New Material / Map (By Name) ➤ Materials ➤ Standard group, drag a Multi/Sub-Object material into the active View. ■ In the Compact Material Editor, activate a sample slot, click the Type button, then in the Material/Map Browser on page 6167, choose Multi/Sub-Object and then click OK. 3ds Max opens a Replace Map dialog on page 6082. This dialog asks whether you want to discard the original material in the sample slot, or retain it as a sub-material. The controls for a Multi/Sub-Object material are essentially a list of the sub-materials it contains. To assign a sub-material: ■ On the Multi/Sub-Object Basic Parameters rollout, click a sub-material button. The parameters for the sub-material appear. By default, a sub-material is a Standard material with Blinn shading. 6544 | Chapter 17 Material Editor, Materials, and Maps To make one of the sub-materials a solid color: ■ On the Multi/Sub-Object Basic Parameters rollout, click the color swatch next to the sub-material button. In the Color Selector on page 304, choose a color. The color swatches for sub-materials are shortcuts. They assign the color you choose to the sub-material's Diffuse component. To assign one of the sub-materials to a sub-object selection: 1 Select the object, and assign a Multi/Sub-Object material to it. 2 On the Modify panel on page 8773, apply Mesh Select on page 1445 to the object. 3 Click Sub-Object and choose Face as the sub-object category. 4 Select the faces to which you will assign a sub-material. 5 Apply a Material modifier on page 1435, and set the material ID value to the number of the sub-material you want to assign. The viewport updates to show the sub-material assigned to the selected faces. The material ID values in the Multi/Sub-Object material and the material ID numbers in the Select Face rollout correspond. If you set the ID to a number that doesn't correspond to a material contained in the Multi/Sub-Object material, the faces render as black. WARNING Some geometric primitives do not use 1 as the default material ID, and some, such as hedra or box, have multiple material IDs by default. TIP You can also use the Edit Mesh modifier on page 1263 to assign a contained material to selected faces. Apply Edit Mesh to the object, go to the Face sub-object level, and select the faces to assign. Then on the Edit Surface rollout, set the material ID value to the ID of the sub-material. (You can drag and drop on page 6165 a Multi/Sub-Object material to an Edit Mesh modifier as you can to an editable mesh object.) To add a new sub-material: ■ Click Add. Standard Material and Related Materials (Not Photometric) | 6545 A new sub-material is added to the end of the list. By default, the new sub-material's ID number is one greater than the highest material ID already in use. To remove a sub-material: 1 Select the sub-material by clicking its small sample sphere in the Multi/Sub-Object Basic Parameters rollout. The small sample sphere is surrounded by a black and white border to show the sub-material is selected. If the list of sub-materials is longer than the rollout will hold, you can use the scroll bar at the right to display other parts of the list. 2 Click Delete. The sub-material is removed. Deleting a sub-material is an undoable operation. 6546 | Chapter 17 Material Editor, Materials, and Maps Interface Number This field displays the number of sub-materials contained in the Multi/Sub-Object material. Set Number Sets the number of sub-materials make up the material. At the Multi/Sub-Object material level, the sample slot's sample object shows a patchwork of the sub-materials. (When you edit a sub-material, the sample slot display depends on the setting of the Simple Multi Display Below Top Level toggle on the Material Editor Options dialog on page 6059.) Standard Material and Related Materials (Not Photometric) | 6547 Reducing the number of sub-materials removes sub-materials from the end of the list. You can undo Set Number when you have used it to delete materials. Add Click to add a new sub-material to the list. By default, the new sub-material's ID number is one greater than the highest material ID already in use. Delete Click to delete the currently chosen sub-material from the list. You can undo deleting a sub-material. Sort list controls These buttons appear above three of the columns in the sub-materials list. ID Click to sort the list so it begins with the sub-material that has the lowest material ID, and ends with the sub-material that has the highest material ID. Name Click to sort the list by the names you have entered in the Name column. Sub-Material Click to sort the list by the sub-material names that appear on the Sub-Material buttons. List of sub-materials Each sub-material has a single entry in this list. The rollout displays up to 10 sub-materials at a time. If the Multi/Sub-Object material contains more than 10 sub-materials, you can scroll the list using the scrollbar at the right. Each sub-material in the list has the following controls: Small sample sphere The small sample sphere is a "mini-preview" of the sub-material. Click it to select this sub-material. You must select a sub-material before you delete it. ID Shows the ID number assigned to this sub-material. You can edit this field to change the ID number. If you assign two sub-materials the same ID, a warning message appears at the top of the rollout. When the Multi/Sub-Object material is applied to an object, faces in the object assigned the same material ID number render with this sub-material. You can click Sort by ID to sort the sub-material list by this value, from lowest to highest. NOTE Sometimes the Sub-Material button shows a material number. This is not the sub-material ID. 6548 | Chapter 17 Material Editor, Materials, and Maps Name Lets you enter a custom name for the material. A sub-material name appears in the Name on page 6080 field when you're at the level of the sub-material. It also appears in the Browser and the Navigator. Sub-Material button Click the sub-material button to create or edit one of the sub-materials. Each of the sub-materials is a complete material in its own right, with as many maps on page 9215 and levels as you want. By default, each sub-material is a Standard material on page 6382 with Blinn shading on page 6399. Color swatch Click the color swatch to the right of the Sub-Material button to display the Color Selector on page 304 and choose a diffuse color for the sub-material. On/Off toggle Turns the sub-material on or off. When a sub-material is off, it appears black in the sample slot and on objects in the scene. Default=on. Shellac Material Material/Map Browser on page 6167 ➤ Shellac Shellac material mixes two materials by superimposing one over the other. Colors in the superimposed material, called the "shellac" material, are added to colors in the base material. A Shellac Color Blend parameter controls the amount of color mixing. Standard Material and Related Materials (Not Photometric) | 6549 Top: Base material Middle: Shellac material Bottom: Materials combined with a shellac color blend value of 50% 6550 | Chapter 17 Material Editor, Materials, and Maps NOTE If even one sub-material has its shading set to Wire (see Shader Basic Parameters Rollout on page 6390), the entire material displays and renders as a wire material. Interface Base Material Goes to the level of the base sub-material. By default, the base material is a Standard material with Blinn shading. Shellac Material Goes to the level of the shellac material. By default, the shellac material is a Standard material with Blinn shading. Shellac Color Blend Controls the amount of color mixing. At 0.0, the shellac material has no effect. Increasing the Shellac Color Blend value increases the amount of shellac material color blended into the base material color. There is no upper limit on this parameter. Large values "overload" the shellac material colors. Default=0.0. You can animate this parameter. Top/Bottom Material Material/Map Browser on page 6167 ➤ Top/Bottom The Top/Bottom material lets you assign two different materials to the top and bottom portions of an object. You can blend the materials into one another. Standard Material and Related Materials (Not Photometric) | 6551 Top/bottom material gives the pot a charred bottom. The object's top faces are those whose normals point up. The bottom faces have normals that point down. You can choose whether "up" and "down" refer to the scene's world coordinates or to the object's local coordinates. NOTE If even one sub-material has its shading set to Wire (see Shader Basic Parameters Rollout on page 6390), the entire material displays and renders as a wire material. Procedures To create a Top/Bottom material, do one of the following: ■ In the Slate Material Editor ➤ Browser panel ➤ Create New Material / Map (By Name) ➤ Materials ➤ Standard group, drag a Top/Bottom material into the active View. ■ In the Compact Material Editor, activate a sample slot, click the Type button, then in the Material/Map Browser on page 6167, choose Top/Bottom and then click OK. 6552 | Chapter 17 Material Editor, Materials, and Maps 3ds Max opens a Replace Map dialog on page 6082. This dialog asks whether you want to discard the original material in the sample slot, or retain it as a sub-material. The Top/Bottom material controls let you choose the two materials, and also the transition between them. To choose the top or bottom material: ■ On the Top/Bottom Basic Parameters rollout, click the Top Material button or the Bottom Material button. The parameters for the sub-material appear. By default, a sub-material is a Standard material with Blinn shading. To swap the two component materials: ■ In the Basic Parameters rollout, click Swap. The remaining controls, described in the "Interface" section, affect the transition between top and bottom. Interface Top Material and Bottom Material Click to display the parameters for the top or bottom sub-material. By default, a sub-material is a Standard material with Blinn shading. Standard Material and Related Materials (Not Photometric) | 6553 The check box to the right of each button lets you turn off that material, making it invisible in the scene and in the sample slot. Swap Swaps the position of the top and bottom materials Coordinates group Controls in this group let you choose how 3ds Max determines the boundary between top and bottom. World Faces point up or down according to the scene's world coordinates. When you rotate the object, the boundary between top and bottom faces remains in place. Local Faces point up or down according to the object's local coordinates. When you rotate the object, the material rotates with it. Blend Blends the edge between the top and bottom sub-materials. This is a percentage that can range from 0 to 100. At 0, there is a sharp line between the top and bottom sub-materials. At 100, the top and bottom sub-materials tint each other. Default=0. You can animate this parameter. Position Determines where the division between the two materials lies on an object. This is a percentage that can range from 0 to 100. 0 is at the bottom of the object, and displays only the top material. 100 is at the top of the object, and displays only the bottom material. Default=50. You can animate this parameter. Ink 'n Paint Material Material/Map Browser on page 6167 ➤ Ink 'n Paint The Ink 'n Paint material creates cartoon effects. Rather than the three-dimensional, realistic effect most other materials provide, Ink 'n Paint provides flat shading with “inked” borders. 6554 | Chapter 17 Material Editor, Materials, and Maps Snake rendered with ink 'n paint Because Ink 'n Paint is a material, you can create a scene that combines 3D-shaded objects with flat-shaded cartoon objects. Standard Material and Related Materials (Not Photometric) | 6555 Rendering that combines realistic shading with cartoon shading In the Ink 'n Paint material, ink and paint are two separate components, with customizable settings. 6556 | Chapter 17 Material Editor, Materials, and Maps Left: The paint component only Right: The ink component only TIP Ink 'n Paint uses the raytracer settings on page 7120, so adjusting raytrace acceleration can have an effect on the speed of Ink 'n Paint. Also, while you work with Ink 'n Paint, disabling antialiasing can speed up the material, until you're ready to create final renderings. (Turning off Ink really speeds it up.) NOTE Motion blur does not work with Ink 'n Paint. (Typically, hand-drawn cartoons are not motion blurred.) NOTE Shadows don't appear on objects shaded with Ink 'n Paint unless the value of Paint Levels is 4 or greater. WARNING Ink 'n paint will only give correct results when rendered from a camera or perspective view. It does not work in orthographic views. Standard Material and Related Materials (Not Photometric) | 6557 Using Ink 'n Paint You can use Ink 'n Paint on multiple objects, but in general, it tends to work best if you do the following: 1 Collect the objects for cartoon rendering into a single surface model such as an Editable Mesh. 2 Assign different material ID values on page 9217 to portions of the model you want to color differently. Typically, you would do this at the Element sub-object level, although you can certainly apply different material IDs to faces and polygons as well. 3 Create a Multi/Sub-Object material on page 6542. In it, create a sub-material for each of the colors in the model. Make each sub-material an Ink 'n Paint material, then assign colors and maps using each sub-material's Paint controls. If necessary, adjust the Ink controls as well. TIP ActiveShade on page 7001 works with the Ink 'n Paint material, and can be a good way to preview the material's effect. Troubleshooting Here are some commonly encountered problems, and potential solutions: ■ Internal ink lines are missing. The Overlap bias is probably too high. Decrease it. If Underlap is turned on, this might also have too high a bias. Another possible reason is that you have a self-intersecting object, or an object built by attaching smaller objects, thus creating intersecting faces. In this case, set up the objects to use the Mat ID or SmGroup ink components. If elements already have differing material IDs, try turning off Only Adjacent Faces. ■ Ink looks sloppy on sloping parts of the object. The Overlap or Underlap bias might be too low. Try increasing it. ■ Ink looks sloppy between interpenetrating objects. Find out which ink component is the sloppy one. Then adjust its bias control. ■ Ink lines disappear or are too narrow when Variable Width is on. 6558 | Chapter 17 Material Editor, Materials, and Maps Turn on Clamp. You can also try to see if reducing the lighting level helps. Or, you can try turning off Variable Width, then assigning a Falloff map on page 6714 to the Ink Width component. TIP To isolate which ink component is causing a problem, you can try assigning each component a different, distinctive (and easy to read) color, then rendering the image. WARNING Ink 'n paint will only give correct results when rendered from a camera or perspective view. It does not work in orthographic views. Interface Basic Material Extensions rollout 2-Sided Makes the material 2-sided on page 9079. Applies the material to both sides of selected faces. Face Map Applies the material to the faces of the geometry. If the material is a mapped material, it requires no mapping coordinates on page 9212. The map is automatically applied to each facet of the object. Faceted Renders each face of a surface as if it were flat. Fog BG when not painting When paint is turned off, the painted areas of the material color are the same as the background. This toggle, when on, lets the background in paint areas be affected by fog between the camera and the object. Default=off. Opaque alpha When on, the alpha channel is opaque even if ink or paint is turned off. Default=off. Standard Material and Related Materials (Not Photometric) | 6559 Bump Adds bump mapping to the material. ■ ToggleWhen on, enables the bump map. ■ SpinnerControls the bump map amount. ■ Map buttonClick to assign a map to use for bump mapping. Displacement Adds displacement mapping to the material. ■ ToggleWhen on, enables the displacement map. ■ SpinnerControls the displacement map amount. ■ Map buttonClick to assign a map to use for displacement mapping. Paint Controls rollout Paint is the main color of the material. There are three main components of the “paint” of Ink 'n Paint. Each has several associated controls, most of which are documented toward the end of this section. Lighted The fill color for the lighted side of objects. Default=light blue. Turning off this component makes the object invisible, except for the ink. Default=on. 6560 | Chapter 17 Material Editor, Materials, and Maps Left: A lighted character Right: Lighted and Highlight both turned off to render only the ink ■ Paint LevelsThe number of shades of color that are rendered, from light to dark. Lower values make objects look flatter. Range=1 to 255. Default=2. Increasing the value of Levels increases the number of shades of the basic color seen in the lighted area. Shaded The value in the spinner at the left is the percent of the Lighted color that appears on the unlighted side of objects. Default=70.0. Turning off this component displays a color swatch, which you can use to assign a distinct color to shaded areas. Default=on. Standard Material and Related Materials (Not Photometric) | 6561 Increasing the value of Shaded increases the saturation of the shaded area. You can also use Shaded to assign a distinct color for shading. Highlight The color of the specular highlight. Default=white. When this component is off, there is no specular highlight. Default=off. TIP A specular highlight can destroy the illusion of 2D. Use this component sparingly. Left: No highlights 6562 | Chapter 17 Material Editor, Materials, and Maps Right: Highlight on ■ GlossinessThe size of the specular highlight. The greater the Glossiness, the smaller the highlight. Default=50.0. Increasing glossiness decreases the size of the highlight. Color component controls: These are the controls that are duplicated for each of the paint components. Each has an on/off toggle, a main control, and then on the right, a set of map controls. ■ Check boxThe check box at the left of the rollout enables or disables that particular component. In the case of Shaded, it toggles between a percentage value (of the Lighted color) or a distinct Shaded color. ■ Color swatch or spinnerThe main control for each component. Click a color swatch to display a Color Selector on page 304 and set the color of the component. In the case of Shaded, this control can also be a percentage spinner. ■ Map spinnerThe spinner to the right of the main control is the percentage of the map to use. Default=100.0. Standard Material and Related Materials (Not Photometric) | 6563 Mapping the Lighted component Right rear: The original, unmapped material Left: Lighted component with a falloff map applied Right front: Lighted component with a bitmap applied ■ Map check boxThe check box between the spinner and the button enables or disables the map. Default=off until a map is assigned, then on. ■ Map buttonClick the button to assign a map to this component. While a map is assigned and enabled, at 100 percent it completely overrides the main color component. At lower percentages, the map is blended with the color. Ink Controls rollout Ink is the linework, the outlines, in the material. 6564 | Chapter 17 Material Editor, Materials, and Maps Except for Ink Width, each of the ink components has an on/off toggle and a color swatch. Click the color swatch to display a Color Selector on page 304 and change the ink component's color. Each ink component, Ink Width included, also has a set of map controls. Ink When on, the rendering is “inked.” When off, no ink lines appear. Default=on. Standard Material and Related Materials (Not Photometric) | 6565 Left: Rendering with ink Right: Ink turned off Ink Quality Affects the shape of the brush and the number of samples it uses. When Quality equals 1, the brush is a “+” shape, and samples are taken over an area of 5 pixels. When Quality equals 2, the brush is octagonal and the samples are taken over an area of 9 to 15 pixels. When Quality equals 3, the brush is nearly circular, and samples are taken over an area of 30 pixels. Range=1 to 3. Default=1. TIP For most models, increasing the Quality value introduces only a very subtle change, and can take considerably longer to render. Do so only when a sub-object's ink shows too many artifacts in the finished rendering, using the default Ink Quality. (Don't rely on the ActiveShade preview, which will tend to be aliased.) Ink Width The width of the ink, in pixels. This is specified by the spinner labeled Min (minimum) unless Variable Width is on. When Variable Width is on, the Max (maximum) spinner is also enabled, and the ink width can vary between the minimum and maximum values. Default: Min=2.0, Max=4.0. 6566 | Chapter 17 Material Editor, Materials, and Maps Left: One-pixel ink width Middle: Five-pixel ink width Right: Ink width varies from one to five pixels. Variable Width When on, the ink's width can vary between the minimum and maximum Ink Width values. Ink with Variable Width looks a bit more streamlined than ink with a constant width. Default=off. The thickness of ink can be mapped. Left: Thickness mapped with a gradient map Right: Thickness mapped with a noise map Clamp When Variable Width is on, sometimes the scene lighting causes some ink lines to become so thin they nearly disappear. If this happens, turn on Clamp, which forces the ink width to always remain between the Min and Max values, regardless of the lighting. Default=off. Outline The ink where the outer edges of the object appear against the background or in front of a different object. Default=on. Standard Material and Related Materials (Not Photometric) | 6567 Left: Rendering the outline only Right: Rendering only the overlap and underlap ■ Intersection BiasUse this to adjust artifacts that might appear when two objects intersect each other. In effect, this moves the inked object closer to the rendering point of view, or farther away, so Ink 'n Paint can decide which object is in front. Positive values push the object away from the point of view, negative values pull it closer. Default=0.0. Overlap The ink used when a portion of an object overlaps itself. Default=on. ■ Overlap BiasUse this to adjust artifacts that might appear in ink that traces the overlap. It says how far the overlap has to be in front of the rear surface for Overlap ink to turn on. Positive values push the object away from the point of view, negative values pull it closer. Default=10.0. Underlap Similar to Overlap, but applies ink to the farther surface rather than the nearer one. Default=off. ■ Underlap BiasUse this to adjust artifacts that might appear in ink that traces the underlap. It says how far the underlap has to be behind the front surface for Underlap ink to turn on. Positive values push the object away from the point of view, negative values pull it closer. Default=0.0. SmGroup The ink drawn between the boundaries of smoothing groups on page 9310. In other words, it inks the edges of the object that have not been smoothed. Default=on. 6568 | Chapter 17 Material Editor, Materials, and Maps Mat ID The ink drawn between different material ID values on page 9217. Default=on. TIP If two Ink 'n Paint materials overlap in the viewport, and both have Mat ID on, you will often get a doubly thick ink line where they overlap. To correct this, turn off the Mat ID component for one of these materials. Inking the edges between sub-materials ■ Only Adjacent FacesWhen on, inks the material ID edge between adjacent faces, but not between one object and another. When off, inks the material ID edge between two objects or other non-adjacent faces. Default=on. ■ Intersection BiasWhen Only Adjacent Faces is turned off, use this to adjust any artifacts that appear at the boundary between two objects with different material IDs. Default=0.0. Map controls There are map controls for each of the ink components: Width, Outline, Overlap, Underlap, SmGroup, and Mat ID. These work the same as they do for the material's paint components, as described above. Standard Material and Related Materials (Not Photometric) | 6569 Mapping the outline and overlap components to simulate the look of drawing on paper Photometric Materials (Non-mental ray) This section describes photometric materials that do not use mental ray or the mental ray renderer. Architectural Material The settings for an Architectural material are physical properties, so it provides the greatest possible realism when used with photometric lights on page 5707 and radiosity on page 7068. With this combination of features, you can create lighting studies with a high degree of accuracy. 6570 | Chapter 17 Material Editor, Materials, and Maps Architectural materials used with photometric lights and a radiosity solution create a realistic rendering with accurate lighting levels. It is not recommended that you use the Architectural material with standard 3ds Max lights in the scene, or with the Light Tracer. The point of this material is to provide accurate modeling. Use it with photometric lights and radiosity. The mental ray renderer, on the other hand, can render the Architectural material, with some limitations described below. TIP If you don't need the degree of realism that the Architectural material provides, you can use a standard material on page 6382 or other material type. Material Templates When you create a new material, you can choose from a variety of templates. A template is simply a set of preset material parameters, which approximates Photometric Materials (Non-mental ray) | 6571 the kind of material you want to create, and gives you a starting point. See Templates Rollout on page 6572. Rendering Architectural Materials with the mental ray Renderer The mental ray Renderer on page 7129 can render Architectural materials. There are some limitations, as follows: ■ Emit Energy (Based on Luminance): This setting is ignored. The Architectural material does not contribute to the scene's lighting. ■ Sampling Parameters: These settings are ignored, as the mental ray renderer uses its own sampling. TIP When rendering with mental ray, instead of the Architectural material, we highly recommend that you use the Arch & Design material on page 6269. This material was designed especially for mental ray and provides superior flexibility, rendering characteristics, and speed. See also: ■ SuperSampling Rollout on page 6211 ■ mental ray Connection Rollout on page 6215 Templates Rollout Material Editor ➤ Architectural material ➤ Templates rollout The Templates rollout gives you a list of material types to choose from. A template is simply a set of preset parameters for the Physical Qualities rollout, which approximates the kind of material you want to create, and gives you a starting point. Once you choose a template, you can adjust its settings and add maps on page 6607 to enhance realism and improve the material's appearance. The templates do not affect the Diffuse Color on the Physical Qualities rollout, only the numeric settings. 6572 | Chapter 17 Material Editor, Materials, and Maps Interface Template drop-down list Chooses the kind of material you are designing. Each template provides preset values for the various material parameters. These are the material templates provided with 3ds Max. The purpose of most templates is clear, so the table doesn't comment on all of them. Template Comments Ceramic Tile - Glazed Fabric Glass - Clear Glass - Translucent Ideal Diffuse A neutral white material Masonry A good base for a diffuse map Metal Shiny and reflective Metal - Brushed Less shiny Metal - Flat Even less shiny Metal - Polished Highly shiny Mirror Completely shiny Paint Flat Another neutral white material Paint Gloss Also white, but shiny Paint Semi-Gloss Also white, only slightly shiny Paper Photometric Materials (Non-mental ray) | 6573 Template Comments Paper - Translucent Plastic Stone A good base for a diffuse map Stone Polished Has a bit of shininess; also a good base for a diffuse map User Defined Neutral; a good base for a diffuse map User-Defined Metal Somewhat shiny; also a good base for a diffuse map Water Completely clear and shiny Wood Unfinished Neutral; a good base for a map Wood Varnished Physical Qualities Rollout Material Editor ➤ Architectural material ➤ Physical Qualities rollout When you create a new Architectural material on page 6570 or edit an existing one, the settings on the Physical Qualities rollout are the ones you are most likely to need to adjust. 6574 | Chapter 17 Material Editor, Materials, and Maps Procedures To match a material's luminance to a light: WARNING Only photometric lights give correct luminance. Also, the mental ray renderer disregards the Emit Energy setting. ■ Click to turn on Set Luminance From Light (below the Luminance setting), then in a viewport, click the light. After you choose the light, the button turns off once more. TIP If you are using a radiosity solution on page 7068, make sure to turn on Emit Energy (Based On Luminance) for any material whose luminance is greater than zero. This control is on the Advanced Lighting Override rollout on page 6581. Interface Diffuse Color Controls the diffuse color on page 9137. The diffuse color is the color this material has in direct light. Click the color swatch to display the Color Selector on page 304 and change the diffuse color. Photometric Materials (Non-mental ray) | 6575 Set color to texture average Click to change the diffuse color to an average of the colors in the current diffuse map. (If no map is assigned, this button has no effect.) This button is useful when you are going to reduce the diffuse map’s Amount. When the diffuse map pattern appears over an average of itself, for most kinds of materials the effect is more realistic than when the pattern appears over an unrelated color. WARNING This button will change the diffuse color even if the diffuse map is turned off. Diffuse Map These controls assign a map to the material’s diffuse component. To assign a map, click the oblong button (labeled “None” by default). This displays the Material/Map Browser. In the Browser, choose the map type, and then click OK. If you choose Bitmap as the map type, an additional dialog prompts you to choose the particular bitmap file to use. While a map is assigned to the material, its name appears as the map button’s label. ■ Amount spinnerThe spinner at the left sets the amount of diffuse map to use. This value is a percentage: at 100.0, only the map is visible; at lower amounts, the diffuse color shows through; at 0.0, the map is not visible at all. ■ On/offThe check box between the spinner and the map button is an on/off switch. When on, the map appears in the material. When off, the map does not appear. Shininess Sets the shininess of the material. This value is a percentage: at 100.0, the material is as shiny as possible; at lower values, it is less shiny; at 0.0, it is not shiny at all. In general, the shinier a material is, the smaller its specular highlights appear. Specular highlights are reflections of the lights that illuminate the material. (The index of refraction can also affect the size of highlights.) Shininess also controls how much the material reflects other objects in the scene. NOTE Shininess alone is not sufficient to produce specular reflections and highlights on a surface. You must also consider the Index Of Refraction (IOR), described below. 6576 | Chapter 17 Material Editor, Materials, and Maps The amount spinner for a shininess map scales the map. If no map is assigned, the spinner value is used by itself. Transparency Controls how transparent the material is. This value is a percentage: at 100.0, the material is completely transparent; at lower values, the material is partly opaque; and at 0.0, the material is completely opaque. TIP The effect of transparency is best previewed against a pattern background. If the material preview doesn’t show a pattern of colored checks, right-click the material preview or the map preview, and choose Background from the pop-up menu. The amount spinner for a transparency map scales the map. If no map is assigned, the spinner value is used by itself. Translucency Controls how translucent the material is. A translucent object transmits light, but also scatters it within the object. This value is a percentage: at 0.0, the material is completely opaque; at 100.0, the material is as translucent as possible. The amount spinner for a translucency map scales the map. If no map is assigned, the spinner value is used by itself. Index of Refraction The index of refraction (IOR) controls how severely the material refracts transmitted light, and how reflective the material appears. At 1.0, the IOR of air, the object behind the transparent object does not distort. At 1.5, the object behind distorts greatly, like a glass marble. Range=1.0 to 2.5. Common IORs (assuming the camera is in air or a vacuum) are: Material IOR Value Vacuum 1.0 (exactly) Air 1.0003 Water 1.333 Glass 1.5 to 1.7 Diamond 2.418 In the physical world, the IOR results from the relative speeds of light through the transparent material and the medium the eye or the camera is in. Typically this is related to the object's density: the higher the IOR, the denser the object. Photometric Materials (Non-mental ray) | 6577 The IOR affects how shiny a material appears; or, in the case of transparent materials such as water or glass, the amount of distortion. For nontransparent materials, the higher the IOR, the more light is reflected from the material, and the shinier the material appears. A refractive index of 1.0 means that all light is transmitted into the material. In this case, even if the material has a high Shininess value, the surface appears perfectly diffuse, and shows no specular highlights. Luminance cd/m2 When its luminance is greater than 0.0, the material appears to glow, and if you turn on Emit Energy (see below), it contributes energy to the radiosity solution on page 7068. Luminance is measured in candelas per meter squared. The amount spinner for a luminance map scales the map. If no map is assigned, the spinner value is used by itself. Set luminance from light Obtains the material’s luminance from a light in the scene. Click to turn on this button, then click a light in a viewport. The material’s luminance is set to match the luminance of the light, and the button is turned off once more. 2-Sided When on, makes the material 2-sided on page 9079. Applies the material to both sides of selected faces. Raw Diffuse Texture When on, excludes the material from lighting and exposure control. This makes the material render with a completely flat look, using the pure RGB values of the diffuse color or map. Default=off. Special Effects Rollout Material Editor ➤ Architectural material ➤ Special Effects rollout When you create a new Architectural material on page 6570 or edit an existing one, the settings on the Special Effects rollout let you assign maps that create bumps or displacement, adjust light intensity, or control transparency. 6578 | Chapter 17 Material Editor, Materials, and Maps Interface Bump controls These controls assign a bump map on page 6472 to the material. To assign a map, click the oblong button (labeled “None” by default). This displays the Material/Map Browser. In the Browser, choose the map type, and then click OK. If you choose Bitmap as the map type, an additional dialog prompts you to choose the particular bitmap file to use. While a map is assigned to the material, its name appears as the map button’s label. ■ Amount spinnerThe spinner at the left sets the amount of bump mapping to use. At 1000.0, bump mapping has its greatest effect; at lower amounts, the bumps are less pronounced; at 0.0, the bumps are not visible at all. Negative values reverse the direction of the bump effect. Range: –1000.0 to 1000.0. ■ On/offThe check box between the spinner and the map button is an on/off switch. When on, the map is used in the material. When off, the map is not used. Displacement controls These controls assign a displacement map on page 6482 to the material. To assign a map, click the oblong button (labeled “None” by default). This displays the Material/Map Browser. In the Browser, choose the map type, and then click OK. If you choose Bitmap as the map type, an additional dialog prompts you to choose the particular bitmap file to use. While a map is assigned to the material, its name appears as the map button’s label. Photometric Materials (Non-mental ray) | 6579 ■ Amount spinnerThe spinner at the left sets the amount of displacement mapping to use. At 1000.0, displacement mapping has its greatest effect; at lower amounts, the displacement is less pronounced; at 0.0, the displacement are not visible at all. Negative values reverse the direction of the displacement. Range: –1000.0 to 1000.0. ■ On/offThe check box between the spinner and the map button is an on/off switch. When on, the map is used in the material. When off, the map is not used. Intensity controls These controls assign an intensity map to the material, modulating the material's brightness. The map is treated as a black-and-white scale of intensity values. TIP Applying a low-frequency Noise map on page 6723 to the intensity can help reduce the “computer-generated” look of a texture, and add a natural feel to surfaces such as bricks and carpets lit by daylight. To assign a map, click the oblong button (labeled “None” by default). This displays the Material/Map Browser. In the Browser, choose the map type, and then click OK. If you choose Bitmap as the map type, an additional dialog prompts you to choose the particular bitmap file to use. While a map is assigned to the material, its name appears as the map button’s label. ■ Amount spinnerThe spinner at the left sets the amount of intensity mapping to use. At 100.0, intensity mapping has its greatest effect; at lower amounts, the effect is less pronounced; at 0.0, the map has no effect; and at values less than 0.0, the material is dimmed. Range: 0.0 to 100.0. ■ On/offThe check box between the spinner and the map button is an on/off switch. When on, the map is used in the material. When off, the map is not used. Cutout controls These controls assign a cutout map on page 6586 to the material. To assign a map, click the oblong button (labeled “None” by default). This displays the Material/Map Browser. In the Browser, choose the map type, and 6580 | Chapter 17 Material Editor, Materials, and Maps then click OK. If you choose Bitmap as the map type, an additional dialog prompts you to choose the particular bitmap file to use. While a map is assigned to the material, its name appears as the map button’s label. ■ Amount spinnerThe spinner at the left sets the amount of cutout mapping to use. This value is a percentage: at 100.0, the map has its full effect; lower amounts have the effect of darkening the map, reducing its effect and increasing transparency. At 0.0, the map is completely black, making objects with this material completely transparent. ■ On/offThe check box between the spinner and the map button is an on/off switch. When on, the map is used in the material. When off, the map is not used. Advanced Lighting Override Rollout Material Editor ➤ Architectural material ➤ Advanced Lighting Override rollout When you create a new Architectural material on page 6570 or edit an existing one, the settings on the Adjust Radiosity rollout let you adjust how the material behaves in a radiosity solution on page 7068. Obtaining a Better Image Materials with a bright diffuse color or high shininess can be highly reflective. This can lead to overexposed or washed-out radiosity solutions. In general, the best way to adjust this is to reduce the HSV Value (V) of a material's diffuse color; or, for a material with a diffuse map, reduce the map's RGB level. In some situations, the controls on this rollout can improve the appearance of the radiosity solution. Examples of situations where the material's radiosity settings can help include color bleeding and large dark areas: ■ You might want to reduce Reflectance Scale or Color Bleed Scale when a large area of color (for example, a red carpet in a room with white walls) creates excessive color bleeding. This might be physically accurate, but the Photometric Materials (Non-mental ray) | 6581 eye adjusts for such effects, and the radiosity result might look better with less reflectance or less color bleeding. Left: Excessive bleeding of the floor color onto the walls and ceiling. Right: Reducing the floor's Reflectance Scale causes less bleeding. ■ You might want to increase Reflectance Scale when the scene includes a large dark area (for example, a black floor). This can lead to a very dark radiosity result. You can maintain the floor’s color but increase reflectance, giving the solution the colors you want while increasing its brightness. The room is lit only by spotlights pointed at the floor. Increasing reflectance of the floor brightens the entire room. 6582 | Chapter 17 Material Editor, Materials, and Maps TIP To get an idea of how the current material will affect the radiosity solution, check the reflectance and transmittance display on page 6042. Interface WARNING There is no problem with reducing the default scale, but increasing it for any of these parameters might cause colors to “burn out”: if the scale is too great, they render as pure white, appearing overexposed. Emit Energy (Based on Luminance) When on, the material contributes energy to the radiosity solution, based on the material’s luminance value (see above). NOTE The mental ray renderer on page 7129 does not use this setting. The Architectural material does not contribute to the scene's lighting. Increasing the Luminance (above 0.0) makes an object appear to glow in ordinary renderings, but does not contribute energy to the radiosity solution. To have radiosity processing take a self-illuminating material into account, turn on Emit Energy (Based On Luminance). Photometric Materials (Non-mental ray) | 6583 Upper left: By default, luminous neon lights do not influence the scene light. Right: With Emit Energy on, the radiosity solution takes luminance into account. TIP When you increase luminance to achieve a special effect in the rendering (for example, to make the globe surrounding a lamp appear to be glowing), probably you shouldn't turn on Emit Energy (in the example, both the globe and lamp would then add light to the scene). When you increase luminance because the object really glows (for example a neon light tube), then you should turn on Emit Energy, so that the object contributes light to the scene. Color Bleed Scale Increases or decreases the saturation of reflected color. Range=0.0 to 1000.0. Default=100.0. 6584 | Chapter 17 Material Editor, Materials, and Maps Color Bleed increases or decreases the saturation of reflected color. Indirect Bump Scale Scales the effect of the base material’s bump mapping on page 6472 in areas lit by indirect light. When this value is zero, no bump mapping is done for indirect light. Increasing Indirect Light Bump Scale increases the bump effect under indirect lighting. This value does not affect the Bump amount in areas where the base material is lit directly. Range=–999.0 to 999.0. Default=100.0. TIP This parameter is useful because indirect bump mapping is simulated and not always accurate. Indirect Light Bump Scale lets you adjust the effect by hand. Reflectance Scale Increases or decreases the amount of energy the material reflects. Range=0.0 to 1000.0. Default=100.0. Reflectance Scale increases or decreases the energy of reflected rays. TIP Don’t use this control to increase self-illumination. Use the material's Luminance instead. The Luminance control is on the Physical Qualities rollout on page 6574. Photometric Materials (Non-mental ray) | 6585 Transmittance Scale Increases or decreases the amount of energy the material transmits. Range=0 to 1000.0. Default=100.0. Transmittance Scale increases or decreases the energy of transmitted rays. Cutout Mapping Material Editor ➤ Architectural material ➤ Special Effects rollout ➤ Cutout map button Material Editor ➤ Arch & Design material ➤ Special Purpose Maps rollout ➤ Cutout map button Material Editor ➤ Autodesk Generic material ➤ Cut-outs rollout ➤ Turn on Enable. ➤ Image button Material Editor ➤ Autodesk Metal material ➤ Cut-outs rollout ➤ Change Type to Custom. ➤ Image button Assigning a bitmap on page 6636 or procedural map on page 9274 to the Cutout component of an Architectural material on page 6570, Arch & Design material on page 6269, Autodesk Generic material on page 6232, or an Autodesk Metal 6586 | Chapter 17 Material Editor, Materials, and Maps material on page 6247, makes the material partially transparent. Lighter (higher-value) areas of the map render as opaque; darker areas render as transparent; and values in between are semi-transparent. Setting the cutout map's Amount to 100 applies all of the map. Transparent areas are fully transparent. Setting the Amount to 0 is the equivalent of turning the map off. Intermediate Amount values are blended with the Transparency value on the Physical Qualities rollout. Transparent areas of the map become more opaque. The gray levels of a cutout map determine the amount of transparency. Procedures To use a cutout map: 1 Click the Cutout map button. The Material/Map Browser on page 6167 is displayed. 2 Choose from the list of map types on page 6607, and then click OK. The Material is now at the map level, and displays map controls. Photometric Materials (Non-mental ray) | 6587 (If you choose Bitmap as the map type, you first see a file dialog that lets you choose the image file.) 3 Use the map controls to set up the map. To remove a cutout map from a material: TIP You can disable the map without removing it. Simply turn off the toggle immediately to the left of the map button on the Special Effects rollout. 1 If the Material Editor is displaying the map controls, click the Type button on page 6081 to display the Material/Map Browser. If the map controls aren't visible, click the Cutout map button to display them, and then click the Type button. 2 In the Browser, choose NONE as the map type, and then click OK. The map is removed. Advanced Lighting Override Material Activate the Default Scanline Renderer. ➤ Material/Map Browser on page 6167 ➤ Advanced Lighting Override This material lets you directly control the radiosity properties of a material. Advanced Lighting Override is always a supplement to a base material, which can be any renderable material. The Advanced Lighting Override material has no effect on ordinary renderings. It affects the radiosity solution on page 7068 or light tracing on page 7055. NOTE This material is unavailable with the mental ray renderer. Advanced Lighting Override has two main uses: ■ Adjusting the material properties used in a radiosity solution or light tracing ■ Creating special effects such as having self-illuminating objects contribute energy to the radiosity solution As the rollout for the Advanced Lighting Override material states, you don’t have to apply this material to obtain a radiosity solution, and most models will never require it. 6588 | Chapter 17 Material Editor, Materials, and Maps IMPORTANT The mental ray renderer on page 7129 does not support the Advanced Lighting Override material. Obtaining a Better Image Materials that use default settings can be highly reflective. This can lead to overexposed or washed-out radiosity solutions. In general, the best way to adjust this is to reduce the HSV Value (V) of a material color; or, for a bitmapped material, reduce the RGB Level. In some situations, Radiosity Override can improve the appearance of the radiosity solution. Examples of situations where Radiosity Override can help include color bleeding and large dark areas: ■ You might want to reduce Reflectance Scale or Color Bleed when a large area of color (for example, a red carpet in a room with white walls) creates excessive color bleeding. This might be physically accurate, but the eye adjusts for such effects, and the radiosity result might look better with less reflectance or less color bleeding. Left: Excessive bleeding of the floor color onto the walls and ceiling. Right: Radiosity Override material reduces the floor’s reflectance, causing less bleeding. ■ You might want to increase Reflectance Scale when the scene includes a large dark area (for example, a black floor). This can lead to a very dark radiosity result. You can maintain the floor’s color but increase reflectance, giving the solution the colors you want while increasing its brightness. Photometric Materials (Non-mental ray) | 6589 The room is lit only by spotlights pointed at the floor. Increasing reflectance of the floor brightens the entire room. TIP To get an idea of how the current material will affect the radiosity solution or light-traced rendering, check the reflectance and transmittance display on page 6042. Creating Special Effects Self-illumination on page 6416 makes an object appear to glow in ordinary renderings, but does not contribute energy to the radiosity solution. To have radiosity processing take a self-illuminating material into account, make this material the base material of Advanced Lighting Override, then increase the value of Luminance Scale. 6590 | Chapter 17 Material Editor, Materials, and Maps Upper left: By default, self-illuminated neon lights do not influence the scene light. Right: Advanced Lighting Override material scales the neon lights’ Luminance so the radiosity solution can take it into account. Luminance scale takes self-illumination mapping on page 6463 into account. You can use this to model effects such as a computer monitor in a darkened room. The Special Effects group of the Advanced Lighting Override material also has a control for adjusting the quality of bump mapping on page 6472 in areas of indirect lighting. Procedures To adjust a material’s reflectance and transmittance: 1 Create a material for your scene. 2 In the Compact Material Editor, click the Type button and choose Advanced Lighting Override. 3 In the Replace Material dialog on page 6082, choose Keep Old Material As Sub-Material, and click OK. Photometric Materials (Non-mental ray) | 6591 4 Adjust the Reflectance Scale and Transmittance Scale parameters. As you do, watch the Reflectance and Transmittance display, and make sure the values are good for a radiosity solution. For example, 85 percent reflectance is about the highest that will work with radiosity. Most real-world materials have much lower reflectance. See Reflectance and Transmittance Display on page 6042 for some reflectance properties of real-world materials. To make a self-illuminating material emit radiosity energy: 1 Create a material that is self-illuminating. 2 In the Compact Material Editor, click the Type button and choose Advanced Lighting Override. 3 In the Replace Material dialog on page 6082, choose Keep Old Material As Sub-Material, and click OK. 4 Increase the value of Luminance Scale to have the material emit energy for radiosity processing. 6592 | Chapter 17 Material Editor, Materials, and Maps Interface Override Material Physical Properties group These parameters control the base material’s advanced lighting properties directly. WARNING There is no problem with reducing the default scale, but increasing it for any of these parameters might cause colors to “burn out”: if the scale is too great, they render as pure white, appearing overexposed. Reflectance Scale Increases or decreases the amount of energy the material reflects. Default=1.0. Photometric Materials (Non-mental ray) | 6593 Reflectance Scale increases or decreases the energy of reflected rays. TIP To increase self-illumination, use Luminance Scale on page 6595 in the Special Effects group, not this control. Color Bleed Increases or decreases the saturation of reflected color. Default=1.0. Color Bleed increases or decreases the saturation of reflected color. Transmittance Scale Increases or decreases the amount of energy the material transmits. Default=1.0. 6594 | Chapter 17 Material Editor, Materials, and Maps Transmittance Scale increases or decreases the energy of transmitted rays. NOTE This parameter affects only radiosity. It has no effect on light tracing. Special Effects group These parameters relate to specific components in the base material. Luminance Scale (cd/m^2) When greater than 0, scales the self-illumination component on page 6416 of the base material. Use this parameter to have self-illuminating objects contribute energy to the radiosity or light-traced solution. Cannot be less than zero. Default=0.0. Typically, a value of 500 or more will give good results. Indirect Light Bump Scale Scales the effect of the base material’s bump mapping on page 6472 in areas lit by indirect light. When this value is zero, no bump mapping is done for indirect light. Increasing Indirect Light Bump Scale increases the bump effect under indirect lighting. This value does not affect the Bump amount in areas where the base material is lit directly. Cannot be less than zero. Default=1.0. TIP This parameter is useful because indirect bump mapping is simulated and not always accurate. Indirect Light Bump Scale lets you adjust the effect by hand. Base Material Click to go to the base material and adjust its components. You can also replace the base material with a different material type. To return from the base material to the Advanced Lighting Override level, click Go To Parent. Photometric Materials (Non-mental ray) | 6595 Materials to Support Hardware Shading and Rendering to Texture The materials described in this section specifically support hardware shading (as in hardware-driven viewports or a game engine), and the Render to Texture on page 7307 feature. Shell Material Render to a texture. ➤ Material Editor ➤ Pick Material from Object ➤ Click object with baked material. The Shell material is for use with texture baking on page 7307. When you use Render To Texture to bake a texture, it creates a Shell material that contains two materials: the original material used in the rendering, and the baked material. The baked material is a bitmap that is saved to disk by Render To Texture. It is “baked,” or attached to an object in the scene. The Shell material is a container for other materials, like Multi/Sub-Object. It also lets you control which material is used in which renderings. NOTE The Material/Map Browser lists the Shell material when you assign a new material. You can apply two materials to a single object this way, but changing a material's type to Shell does not generate a baked texture that is saved to disk. Procedures To load a shell material into a Compact Material Editor sample slot: 1 Click an unused sample slot. 2 Click (Pick Material From Object). 3 In a viewport, click an object that has a baked material. The sample slot now contains the baked material, and the Shell Material Parameters rollout is displayed. 6596 | Chapter 17 Material Editor, Materials, and Maps Interface Original Material Displays the name of the original material. Click the button to view that material and adjust its settings. Baked Material Displays the name of the baked material. Click the button to view that material and adjust its settings. In addition to the color and mapping of the original material, the baked material can include shadows from lighting, and other information. Also, a baked material has a fixed resolution. Viewport Use these buttons to choose which material appears in shaded viewports: the original material (upper button) or the baked material (lower button). Render Use these buttons to choose which material appears in renderings: the original material (upper button) or the baked material (lower button). DirectX Shader Material Material/Map Browser on page 6167 ➤ DirectX Shader The DirectX Shader material enables you to shade objects in viewports using DirectX (Direct3D) shaders. With DirectX shading, materials in a viewport more accurately represent how the material will appear in another application, or on other hardware such as a game engine. You can use this material only when you are using the Direct3D Display driver on page 8912 and DirectX 9.0 or DirectX 10.0 is chosen as the Direct3D version. NOTE Typically, this material is visible in the Browser only if DirectX 9 or DirectX 10 is available on your system, and you are using the Direct3D display driver with DirectX 9.0 or DirectX 10.0 chosen as the Direct3D version. If this material is not visible, you can see it (in gray) by turning on Incompatible in the Show group. Materials to Support Hardware Shading and Rendering to Texture | 6597 The DirectX Shader material can use the following types of shaders: ■ FX files on page 9172 ■ CGFX files on page 9115 Sample FX and CGFX files are provided in the \fx folder in the 3ds Max program directory. ■ XMSL files on page 9356 You can create an XMSL file from the Slate Material Editor on page 6083, using the Map To Material Conversion node on page 6378. ® You also can create XMSL shader files using the mental mill application ® from mental images . For a MetaSL shader to work with mental ray, you must save it from mental mill as a phenomenon. Phenomena are described in the mental mill Artist Edition User Guide. See also: ■ DirectX Shader group on page 6063 Light Support Typically FX and CGFX shaders are coded to use a specific number of lights: usually just a single light. If the FX/CGFX file you open is coded this way, the shader-specific rollouts display a control that lets you pick the light to use. For example: XSML shaders, on the other hand, are not coded to use specific lights, so they use all active lights in the scene. Bitmap Support When you assign a map to a mappable component of a DirectX shader, you can choose from among these map types: ■ All DX Formats 6598 | Chapter 17 Material Editor, Materials, and Maps Shows all the file types listed in the remainder of this list. ■ BMP files on page 8414 ■ DDS files on page 8416 ■ JPEG files on page 8427 ■ Radiance image (HDR) files on page 8448 ■ PNG files on page 8443 ■ PSD files on page 8444 When you open a Photoshop PSD file that contains layers, 3ds Max displays a dialog that lets you choose to either collapse the layers and display the composited image, or use just a single layer. ■ TGA files on page 8459 Interface DirectX Shader rollout Shader button Click to display a file dialog that lets you open a Direct3D Effects (FX) file. By default, the default.fx file is chosen. To open a CGFX or XSML file, choose that file type from the Files Of Type drop-down list in the file dialog. Reload Click to reload the active shader file. To update a shader file, you can edit it and then click Reload. You don't have to restart 3ds Max to see the effect of the changes to the shader. Shader-specific rollouts The rollouts that appear below the DirectX Shader rollout and above the Software Rendering rollout are the interface to the shader you chose. These rollouts are specific to each shader. When you load a shader that is not appropriate for 3ds Max, then instead of parameters you might see a rollout that displays an error message. For example: Materials to Support Hardware Shading and Rendering to Texture | 6599 An XSML file can contain more than one shader. When you open one of these, 3ds Max prompts you to choose which shader the material will use. For example: Software Render Style rollout Specifies a material that controls software shading and rendering of objects to which the DirectX Shader material is applied. Viewports use DX shading unless the Software or OpenGL driver is active. Renderings always use software shading. Usually you will want to choose a material that clearly identifies which objects in your scene have the DirectX Shader material applied. NOTE The DirectX Shader material has no specific settings for software shading. Any type of 3ds Max material will do. Scenes from previous versions that used DX-specific settings are assigned a Standard material with equivalent rendering properties. 6600 | Chapter 17 Material Editor, Materials, and Maps If DirectX is not available on your system, but you assign the DirectX Shader material anyway (by using the Material/Map Browser's Incompatible option), this is the only rollout that appears in the Material Editor. LightMap Shader Rollout Material Editor ➤ DirectX Manager rollout ➤ Choose LightMap from the drop-down list. ➤ LightMap Shader rollout appears. When you have chosen LightMap as the DirectX viewport shader on page 6222, this rollout appears. The LightMap shader can display both a base texture and a lighting map. Typically both these maps come from rendering to textures (texture baking) on page 7307 The base texture typically would be a completed map, a blend map, or a diffuse map. You can choose these map types, as well as lighting map, to render as elements of a baked texture on page 7312. NOTE In order to use the LightMap shader, you must have 3ds Max configured to use the Direct3D graphics driver. To change the graphics driver configuration, refer to the Viewport Preferences on page 8896 topic. Interface Base Texture group Button Shows the name of the base texture. Click the button to display that material's parameters, and adjust them if necessary. Materials to Support Hardware Shading and Rendering to Texture | 6601 Toggle When on, shaded viewports display the base texture. When off, it is not displayed. If both the Base Texture and Light Map toggles are off, the material appears black in viewports. Mapping Channel Shows the map channel on page 9210 this texture uses. Light Map group Button Shows the name of the lighting map. Toggle When on, shaded viewports display the lighting map. When off, it is not displayed. If both the Base Texture and Light Map toggles are off, the material appears black in viewports. Mapping Channel Shows the map channel this texture uses. Metal Bump Shader Rollout Material Editor ➤ DirectX Manager rollout ➤ Choose LightMap from the drop-down list. ➤ Metal Bump Shader rollout appears. When you have chosen Metal Bump as the DirectX viewport shader on page 6222, this rollout appears. The Metal Bump shader can display a variety of texture-baked maps on page 7307, including normal maps for an embossed effect. It is good for displaying shiny surfaces. NOTE In order to use the Metal Bump shader, you must have 3ds Max configured to use the Direct3D graphics driver. To change the graphics driver configuration, refer to the Viewport Preferences on page 8896 topic. The Metal Bump shader's results are always visible in viewports, regardless of the object type. WARNING The Metal Bump shader lets you adjust settings to get various effects in shaded viewports. These settings will not necessarily apply when you display the texture-baked object on other Direct3D devices. See also: ■ Baked Texture Elements on page 7312 6602 | Chapter 17 Material Editor, Materials, and Maps Interface Ambient & Diffuse group Ambient Color When not black, tints the object's ambient color. Click the color swatch to display a Color Selector on page 304 and choose the ambient color. Default=black. Materials to Support Hardware Shading and Rendering to Texture | 6603 Diffuse Color When not white, tints the diffuse color. Click the color swatch to display a Color Selector and choose the diffuse color. Default=white. Texture 1 Displays a texture map for the diffuse color. Typically this would be a texture-baked diffuse map, completed map, or blend map. See the section “Map Controls,” below, for a description of the individual controls. Texture 2 Displays a second texture map for the diffuse color. Typically this would be a texture-baked lighting map or shadows map. See the section “Map Controls,” below, for a description of the individual controls. Use Alpha When on, displays the alpha channel. When off, does not. Default=off. Mix Amount Adjusts the mixing of the two texture maps in shaded viewports. Specular group Enable When on, enables specular highlights for the object. Default=off. Specular Color Specifies a specular color for the object. Click the color swatch to display a Color Selector and choose a color. Default=white. Texture Displays a specular map for the object. Typically this would be a texture-baked specular map. See the section “Map Controls,” below, for a description of the individual controls. Bump group Normal Displays a normal map for the object. Typically this would be a texture-baked normals map. See the section “Map Controls,” below, for a description of the individual controls. Bump Displays a bump map for the object. Typically this would be a bump map used for the original material. See the section “Map Controls,” below, for a description of the individual controls. Bump Intensity Adjusts the intensity of the bumps in shaded viewports. 6604 | Chapter 17 Material Editor, Materials, and Maps Reflection group Cubemap Displays a reflection map projected cubically (around the scene). Typically this would be an environment map. Reflection Intensity Adjusts the intensity of reflections in shaded viewports. Pick object and create Click to choose an object and have 3ds Max generate the reflections used in the viewport. Sync Standard Material When on, adjustments you make to the Metal Bump shader update settings in the active standard material, letting you save the changes you made. When off, the standard material is unchanged. Default=off. Map Controls In this rollout, all texture maps have the same general controls. The rollout appears only when you are using the DirectX viewport shader. Toggle When on, the map is used in viewports. When off, it is not used. Default=on if a map is assigned, off otherwise. Map button Click to choose the texture map to use for this component of the object. Map Channel Specifies the map channel on page 9210 used by this map. This control is not present for the cubic reflection map. XRef Material Material/Map Browser on page 6167 ➤ XRef Material The XRef material lets you externally reference a material applied to an object in another scene file. As with XRef objects on page 7971, the material resides in a separate source file. You can set the material properties only in the source file. When you change them in the source file and then save it, the material's appearance can change in the master file that contains the XRef. XRef Material | 6605 NOTE If an XRef object has a material applied to it in the original source file (and Merge Materials is turned off when you reference the source file), then that material is automatically externally referenced in the scene, and can be loaded in the Material Editor if you browse from the scene. When you explicitly use the Material Editor to create an XRef material, you don't have to have any XRef objects from that particular source file. However, the record's source file and material do appear in the XRef Objects dialog on page 7977. The Show Map In Viewport button works for an XRef material only if the same button is turned on in the source file. Otherwise, it is disabled. Interface Highlight Corresponding XRef Record in the XRef Objects Dialog Click to open the XRef Objects dialog on page 7977 that highlights the source file's current record with its object displayed in the XRef Entities list. If no file and object have yet been selected for the material, the XRef Objects dialog is displayed, and lets you browse for the file and material to use. File name field Displays the path and file name of the scene file containing the source of the XRef material. You can edit this to point to a different path and file. 6606 | Chapter 17 Material Editor, Materials, and Maps File name display Displays the file name only, without the path. Path button Click to display the Open File dialog from which you can specify a different path and file name for the source file. After you choose the file, 3ds Max displays the XRef Merge dialog on page 7993 that lets you choose the object whose material you want to reference. Object name field Displays the name of the source object pointed to in the source file. Object name and material Displays the name of the source object followed by the material name in parentheses. For example, “Shaker ( Chrome ).” Path button Click to display the XRef Merge dialog on page 7993 pointing to the scene in the XRef File Name field. Here, you can specify a different object whose material you want to reference. Status line Displays the status of the material. For example, if the file and object are both found, this field says “Status: XRef Resolved.” Maps and Shaders The most common use for maps on page 9215 is to improve the appearance and realism of Materials on page 9219. You can also use maps to create environments on page 7621 or projections from lights (see Advanced Effects Rollout on page 5817 ). Maps can simulate textures, applied designs, reflections, refractions, and other effects. Used with materials, maps add details without adding complexity to the geometry of an object. (Displacement mapping on page 6482 can add complexity.) With the mental ray renderer, a shader can be the equivalent of a map. You assign a shader to a material in the same way you assign a map. NOTE mental ray shaders can apply to other scene elements such as cameras; see mental ray Shaders on page 6806 for more information. Accessing Map Types You use the Material/Map Browser on page 6167 to load a map or create a map of a particular type. The Browser groups maps into categories according to their type. You can choose whether the Browser lists maps, materials, or both; you can choose which map types. Maps and Shaders | 6607 To open the Browser from the Compact Material Editor: As you work with materials, you can open the Material/Map Browser from the Material Editor. 1 Open the Compact Material Editor. 2 On the Material Editor toolbar, click Material/Map Browser. (Get Material) to display the Maps and mental ray Shaders When the mental ray renderer on page 7129 is active, the Material/Map Browser also lists mental ray shaders. Shaders are similar to maps, but use yellow icons. You assign them the way you do maps. The mental ray shaders don't fit into the map categories described in the previous section, and aren't described in this topic. See mental ray Shaders on page 6806 for links to shader descriptions. mental ray maps in the browser's list are shown with yellow icons. TIP When the default scanline renderer is active, you can view mental ray shaders in the Browser list, and assign them, by turning on Incompatible in the Show group. Incompatible shaders in the list are displayed in gray. 6608 | Chapter 17 Material Editor, Materials, and Maps Maps and Mapping Coordinates Maps have a spatial orientation. When you apply a material with maps in it to an object, the object must have mapping coordinates. These are specified in terms of UVW axes local to the object. Most objects have a Generate Mapping Coordinates toggle. You can turn this on to provide default mapping coordinates. If the object has this toggle, it is also turned on automatically when you render the scene, or use Show Map In Viewport on page 6006. Some objects, such as editable meshes, don't have automatic mapping coordinates. For these types of objects, you can assign coordinates by applying a UVW Map modifier on page 1883. If you assign a map that uses a mapping channel, but don't apply a UVW Map modifier to the object, the renderer displays a warning that lists objects that require mapping coordinates. You can also use UVW Map to change an object's default mapping. See Mapping Coordinates on page 6005. UVW Mapping Coordinate Channels Each object can have from 1 to 99 UVWmapping coordinate channels. The default mapping (from the Generate Mapping Coordinates toggle) is always UVW 1. The UVW Map modifier can send coordinates to any of these channels. Each map in a material can use any UVW channel (if present), or other type of mapping that depends on whether the map is 2D or 3D. You can set the mapping channel used by NURBS surface on page 2471 sub-objects in their creation or modification parameters. Mapping for 2D Maps You can position a 2D map on the surface of an object by using a map channel, any assigned vertex color, or the local or world coordinate systems. You can also choose different environment mappings. See Coordinates Rollout (2D) on page 6622. Mapping for 3D Maps You can position a 3D map within the volume of an object by using a map channel, any assigned vertex color, or the local or world coordinate systems. See Coordinates Rollout (3D) on page 6698. Maps and Shaders | 6609 Noise for Maps Random noise values increase the complexity of maps and can give them a more natural look. For 2D maps, see Noise Rollout (2D) on page 6632. For 3D maps, you can assign a separate Noise map. See Noise Map on page 6723. Real-World Mapping Real-world mapping is an alternative mapping paradigm in 3ds Max that is off by default. The idea behind real-world mapping is to simplify the correct scaling of texture-mapped materials applied to geometry in the scene. This feature lets you create a material and specify the actual width and height of a 2D texture map in the Material Editor. When you assign that material to an object in the scene, the texture map appears in the scene with correct scaling. For real-world mapping to work, two requirements must be met. First, the correct style of UV texture coordinates must be assigned to the geometry. Essentially, the size of the UV space needs to correspond to the size of the geometry. To this end, a new option called Real-World Map Size has been added to many of the dialogs and rollouts that let you generate texture coordinates (see list at the end of this topic). Any dialog or rollout that lets you turn on Generate Mapping Coords also lets you enable Real-World Map Size. Also, you can toggle this option globally on the Preferences dialog ➤ General panel on page 8887. Most object parameters settings now include a Real-World Map Size toggle. 6610 | Chapter 17 Material Editor, Materials, and Maps The second requirement is available in the Material Editor. All 2D texture maps, such as Bitmap, provide a Use Real-World Scale check box on the Coordinates rollout on page 6622. Like Real-World Map Size, this check box is off by default; when on, the U/V parameter names change to Width/Height and the Tiling label changes to Size. You can then specify the horizontal/vertical offsets and size of the texture map in current system units on page 8959. 2D map coordinates settings now include a Use Real-World Scale toggle. Following is a list of affected features (note links to topics with more extensive information): ■ Bevel Modifier ■ Bevel Profile Modifier ■ Box Primitive ■ Capsule Extended Primitive ■ C-Ext Extended Primitive ■ ChamferBox Extended Primitive Create panel ➤ Geometry button ■ ChamferCyl Extended Primitive ■ Cone Primitive ■ CV Curve Real-World Mapping | 6611 ■ Cylinder Primitive Create panel ■ Doors ■ Editable Spline ■ Extrude Modifier ■ Gengon Extended Primitive ■ GeoSphere Primitive ■ Importing AutoCAD Drawing ■ Importing DXF Files ■ Lathe Modifier ■ L-Ext Extended Primitive ■ L-Type Stair ■ Loft ➤ Surface Parameters Rollout ■ Material Editor Coordinates Rollout ■ Material Editor Options on page 6059 ■ OilTank Extended Primitive ■ Plane Primitive ■ Point Curve ■ Pyramid Primitive ■ Railing ■ Renderable Spline Modifier ■ Sphere Primitive ■ Spindle Extended Primitive ■ Spline Rendering File Link Settings ■ Splines and Extended Splines ■ Stairs ■ Sweep Modifier 6612 | Chapter 17 Material Editor, Materials, and Maps ■ Teapot Primitive ■ Torus Primitive ■ Tube Primitive ■ UVW Map Modifier on page 1883 ■ Wall ■ Windows Output Rollout Material/Map Browser on page 6167 ➤ Choose a map type (Bitmap, Cellular, Falloff, Gradient, Gradient Ramp, Mix, Noise, or Output). ➤ Output rollout After applying a map and setting its internal parameters, you can adjust its output parameters to determine the rendered appearance of the map. NOTE Most controls on the Output rollout are for color output, and don't affect bump mapping on page 6472 except for Invert toggle, reverses the direction of the bumps, and Bump Amount. Also, the results of the Output rollout settings are visible in the Material Editor, but not in viewports with map display enabled. Output Rollout | 6613 Interface These controls appear on the Output rollout for a number of 2D and 3D maps: Invert Reverses the hues of the map, like a negative color photo. Default=off. 6614 | Chapter 17 Material Editor, Materials, and Maps Output Amount Controls the amount of the map being mixed into a composite material. Affects the saturation and alpha value of the map. Default=1.0. Clamp When on, this parameter limits the values of the colors to no greater than 1.0. Turn this on when you're increasing the RGB Level, but don't want the map to appear self-illuminated. Default=off. NOTE If you set the RGB Offset to a value greater than 1.0 while Clamp is on, all colors become white. RGB Offset Adds to the RGB values of the map colors by the amount set by the spinner, which affects the tonal value of the colors. Eventually the map becomes white and self-illuminated. Lowering the value decreases the tonal value toward black. Default=0.0. Alpha from RGB Intensity When on, an alpha channel is generated based on the intensity of the RGB channels in the map. Black becomes transparent and white becomes opaque. Intermediate values are translucent according to their intensity. Default=off. RGB Level Multiplies the RGB values of the map colors by the amount set by the spinner, which affects the saturation of the color. Eventually the map becomes fully saturated and self-illuminated on page 9300. Lowering the value decreases the saturation and makes the map colors grayer. Default=1.0. Enable Color Map Turn on to use the Color Map. See “Color Map group.” Default=off. Bump Amount Adjusts the amount of bumpiness. This value has an effect only when the map is used as a bump map. Default=1.0. For example, suppose you have a map instanced for both the Diffuse and the Bump components. If you want to adjust the amount of bumpiness without affecting the Diffuse colors, adjust this value, which changes the amount of bumpiness without affecting the map's use in other material components. Color Map group The Color Map settings at the bottom of the Output rollout are available only when Enable Color Map is on (see preceding). Output Rollout | 6615 The Color Map graph lets you adjust the tonal range of an image. The point at 1,1 controls highlights, the point at 0.5,0.5 controls midtones, and the point at 0,0 controls shadows. You adjust the shape of the graph by adding points to the line and moving or scaling them. You can add Corner, Bezier-Smooth, or Bezier-Corner points. When a move or scale option is active, points can be selected much like objects in a viewport, by clicking a point, dragging a region around one or more points, and holding down Ctrl to add or subtract from the selection. When you select an individual point, its exact coordinates are displayed in the two fields below the graph at the lower left. You can enter values directly in these fields, but the values are automatically constrained as they are when you manually move or scale a point. You can zoom into the graph to make detailed adjustments. As you zoom in, the graph updates to show decimal measurements along the left vertical axis. You can pan anywhere on the graph with the horizontal and vertical scroll bars, use a button option, or the middle mouse button. Points can be deleted, and you can reset the graph to its default at any time. 6616 | Chapter 17 Material Editor, Materials, and Maps RGB/Mono Specifies a map curve to either filter the RGB channels separately (RGB) or in combination (Mono). Copy CurvePoints When turned on, points added to a Mono graph are copied when you switch to an RGB graph. If you start with an RGB graph, the points are copied to a Mono graph. You can animate the control points but not the Bezier handles. IMPORTANT When Copy CurvePoints is on, animation created in Mono mode is carried over to RGB mode and you can switch channels. The reverse doesn’t work. The following controls affect the points on the graph: Move flyout Moves a selected point in any direction, limited by the unselected points on either side. Constrains movement to the horizontal. Constrains movement to the vertical. On a Bezier smooth point, you can move the point or either handle. Scale Point Changes the output amount of control points while maintaining their relative position. On a Bezier corner point, this control is effectively the same as a vertical move. On a Bezier smooth point, you can scale the point itself or either handle. As with the move controls, scale is limited by the unselected points on either side. Add Point flyout Adds a Bezier corner point anywhere on the graph line. The point makes a sharp angle when moved. Adds a Bezier smooth point anywhere on the graph line. Handles attached to the point create smooth curves when moved. When either Add Point button is active, you can use Ctrl+click to create the other type of point. This eliminates the need to switch between buttons. Output Rollout | 6617 Delete Point Removes selected points. Reset Curves Returns graph to its default, a straight line between 0,0 and 1,1. The following controls affect the view of the graph. The change in view does not affect the graph’s results. Pan Drags the graph in any direction within the viewing window. Zoom Extents Shows the entire graph. Zoom Horizontal Extents Shows the entire horizontal range of the graph. The scale of the curve will be distorted. Zoom Vertical Extents Shows the entire vertical range of the graph. The scale of the curve will be distorted. Zoom Horizontally Compresses or expands the graph in a horizontal direction. Zoom Vertically Compresses or expands the view of the graph in a vertical direction. Zoom Zooms in or out around the cursor. Zoom Region Draws a rectangular region around any area of the graph, then zooms to that view. Missing Map Coordinates Dialog Material Editor ➤ Assign a mapped material to an object that has no UVW Map modifier. ➤ Map level ➤ Coordinates rollout ➤ Change Map Channel to a value other than 1. ➤ Render 6618 | Chapter 17 Material Editor, Materials, and Maps Application menu on page 8579 ➤ Open ➤ Open a MAX scene. ➤ One or more maps in the MAX file cannot be found. Quick Access toolbar on page 8585 ➤ Click the Open button. ➤ Open a MAX scene. ➤ One or more maps in the MAX file cant be found. The Missing Map Coordinates dialog is displayed when you attempt to render one or more objects with materials whose maps use a map channel on page 9210 other than channel 1. (Channel 1 is an exception because channel 1 mapping coordinates are automatically turned on when you assign a mapped material to an object.) Only maps with Show Map In Viewport toggled on are listed as missing. To use other map channels, you must assign a UVW Map modifier on page 1883 to the object. In UVW Map, set Map Channel to match the value used in the material. If the material has multiple maps that use multiple channels, you must assign a separate UVW Map modifier for each channel besides channel 1. If the object is a NURBS surface sub-object on page 2625, you don't need to use UVW Map. Instead, set the map channel on the surface sub-object's Material Properties rollout on page 2564. The Missing Map Coordinates dialog is also displayed when you open a MAX file that references bitmaps that can’t be found in their original location, or are at a location not specified via the Configure User Paths dialog on page 8872. To open the MAX file, click the Browse button on the Missing Map Coordinates dialog. This opens the Configure User Paths dialog so you can assign one or more paths for the MAX file to access. These settings are then stored with the MAX file. NOTE When you open a MAX file that references bitmaps that can’t be found, you might also see a Missing Map/Photometric Files dialog on page 8141, which lets you browse for the missing files. Missing Map Coordinates Dialog | 6619 Interface The list shows the map channel followed by the name of the object. Continue Proceeds with the rendering. The objects listed will not show maps in the material assigned to them, and might not be visible at all. Cancel Cancels rendering. 6620 | Chapter 17 Material Editor, Materials, and Maps UVW Remove Utility Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ UVW Remove The UVW Remove utility removes mapping coordinates or materials from the currently selected objects. Interface UVW Click to remove UVW mapping from this object. NOTE The utility can remove UVW mapping only from collapsed editable mesh objects; that is, editable meshes with no modifiers. Materials Click to remove material assignment from the selected objects. Set Gray If this is on when you click the Materials button, the object color is set to a neutral gray. Default=off. 2D Maps 2D Maps are two-dimensional images that are typically mapped onto the surface of geometric objects, or used as environment maps to create a background for the scene. The simplest 2D maps are bitmaps; other kinds of 2D maps are generated procedurally. UVW Remove Utility | 6621 Coordinates Rollout (2D) Material/Map Browser changed featurematerial/map browserbrowsermaterial/maprendering menumaterial/map browser on page 6167 ➤ Assign a 2D Map. ➤ rollout Material Editor ➤ Coordinates In the Coordinates rollout, by adjusting coordinate parameters, you can move a map relative to the surface of the object to which it is applied and achieve other effects. Tiling Often when you apply a bitmap, especially as a texture pattern, you want the pattern to repeat. This effect is known as tiling, as in a tiled floor or fountain. You control tiling directly from the Coordinates rollout for any 2D map. Tiling a map In default mapping, tiling is active, but because the map is scaled to fit the object, you don't see the effect of tiling unless you offset the UV coordinates 6622 | Chapter 17 Material Editor, Materials, and Maps or rotate the map. In this case, the portions of the surface from which the bitmap has moved away are filled by other portions of the map. Tiling wraps the object with the map image. Mirroring Mirroring a map is an effect related to tiling. It repeats the map and flips the repeated copy. As with tiling, you can mirror in the U dimension, the V dimension, or both. The Tiling parameter for each dimension specifies how many copies of the map are shown. Each copy is flipped relative to its neighbors. Mirroring a map Tiling and Mirroring Combined Because mirroring defaults to two reflected images of the map, the meaning of the Tiling value differs when Mirror is set. In a single mapping dimension (U or V), a value of 1.0, the default, shows two copies of the bitmap; a value of 2.0 shows four copies; a value of 1.5 shows three copies; and so on. Mirroring in both dimensions multiplies the effect. 2D Maps | 6623 Mirroring and tiling a map Decals Decals are useful for mapping single designs, small elements such as stickers, or light switches. A 2D map used as a decal appears only once and is not repeated as with tiling. Wherever the decal doesn't appear on the surface, the surface is rendered as a basic material, with the component colors specified at the material level. With map trees, a decal might appear on top of a different bitmap or other map type. 6624 | Chapter 17 Material Editor, Materials, and Maps Decal mapping Procedures To set tiling: 1 In the Coordinates rollout, make sure Use Real-World Scale is turned off and Tile is turned on for the U or V coordinate, or for both. 2 In the Coordinates rollout, make sure Tile is turned on for the U or V coordinate, or for both. 3 Set the Tiling value for the corresponding coordinates. In the Material Editor, the sample slot changes to show the tiling value you chose. ■ The Tiling value is the number of times the bitmap repeats along the specified dimension. A value of 1.0, the default, maps the bitmap exactly once; a value of 2.0 maps the bitmap twice, and so on. Fractional values map a fractional portion of the bitmap in addition to copies of the whole map. For example, a value of 2.5 maps the bitmap two and a half times. ■ Tiling values less than one increase the size of the map relative to the object. For example, a value of 0.5 maps half of the bitmap. ■ Tiling is uniform if both the U and V dimensions are tiled by the same amount. 2D Maps | 6625 To preview the effect of tiling: ■ In the Compact Material Editor, use the Tiling flyout to choose a 1x, 2x, 3x, or 4x tiling preview. The button you choose changes tiling in the active sample slot to 1.0, 2.0, 3.0, or 4.0 in both U and V. The flyout setting has no effect on the material or its mapping. It does not change the Tiling value or the check box setting. It only helps you preview the effect of changing these settings. To set mirroring: 1 On the Coordinates rollout, make sure Mirror is turned on for the U or V coordinate, or both. Mirror and Tile are exclusive settings: if one is set when you choose the other, the original setting turns off. 2 Set the Mirror value for the corresponding coordinate or coordinates. The material preview changes to show the Mirror value you chose. To create a decal: 1 In the Material Editor, choose a bitmap as a diffuse map. 2 On the map's Coordinates rollout, turn off both Mirror and Tile for both the U and V coordinates. Change the mapping to Planar From Object XYZ. 3 Adjust the X and Y Tiling parameters to scale the decal. Changing the Tiling value changes the size of the mapped bitmap as it does when you tile the map, but with Mirror and Tile turned off, the bitmap appears only once. 4 Adjust the X and Y Offset parameters to position the decal. NOTE You can also use the Parameters rollout's Cropping and Placement controls to achieve a decal effect. To offset the position of a map: 1 In the Coordinates rollout, make sure Use Real-World Scale is turned on. 6626 | Chapter 17 Material Editor, Materials, and Maps 2 On the Coordinates rollout, set the U and V values to be between 0.0 and 100, or between -100 and 0.0. 3 Set the Offset Width and Height values to be between 0.0 and 100, or between –100 and 0.0. On the surface of the object, the map shifts in the directions you chose. UV offsets are especially useful when you have turned tiling off and want the bitmap to appear in a single location. To rotate the map: ■ On the Coordinates rollout, set the Angle U, V, and W spinners. Positive angles rotate the map in the clockwise direction; negative angles rotate it counterclockwise. The angle can be up to 360 degrees, which rotates the map completely and has no visible effect unless you are animating the map's rotation. You can also click Rotate to use the Rotate Mapping Coordinates dialog, which lets you change the rotation by dragging the mouse. To increase or decrease antialiasing: ■ On the map's Coordinates rollout, increase or decrease the Blur value. For diffuse maps and other maps besides bump maps, the Blur value is most effective in the 0.5-20 range. Lower values decrease antialiasing; higher values increase it. The Blur Offset parameter adjusts the image before antialiasing Blur is applied. If all you need is antialiasing, leave Blur Offset at its default of 0.0. To make a map image fuzzier: ■ On the map's Coordinate's rollout, increase the Blur Offset value. Blur Offset is a very strong parameter. The Blur Offset spinner has increments of 0.001 Values greater than 0.1 are likely to be too high. To make a map image sharper: ■ On the map's Coordinates rollout, decrease the Blur Offset value to a value below 0.0. The negative Blur Offset value sharpens the image. 2D Maps | 6627 Interface These controls appear on the Coordinates rollout for many 2D maps: Mapping Type Base your choice on how you’re using the map: applied to an object surface, or to the environment: ■ TextureApplies the map as a texture on page 9327 to a surface. Select the type of coordinates from the Mapping list. ■ EnvironUses the map as an environment map on page 9145. Select the type of coordinates from the Mapping list: Mapping List entries vary depending on choice of Texture or Environ mapping: ■ Explicit Map ChannelUses any map channel. When selected, the Map Channel field becomes active, and you can choose any channel from 1 to 99. ■ Vertex Color ChannelUses assigned vertex colors as a channel. See Editable Mesh on page 2190 for details on assigning vertex color. See also Vertex Color Map on page 6775 and Assign Vertex Colors Utility on page 6927. ■ Planar from Object XYZUses planar mapping based on the object's local coordinates (disregarding the pivot point location). For rendering purposes, planar mapping doesn't project through to the back of the object unless you turn on Show Map On Back. ■ Planar from World XYZUses planar mapping based on the scene’s world coordinates (disregarding the object’s bounding box). For rendering purposes, planar mapping doesn't project through to the back of the object unless you turn on Show Map On Back. 6628 | Chapter 17 Material Editor, Materials, and Maps ■ Spherical Environment/Cylindrical Environment/Shrink-wrap EnvironmentProjects the map into the scene as though it were mapped to an invisible object in the background. See Environment Map on page 9145. ■ ScreenProjects as a flat backdrop in the scene. Show Map on Back When on, planar mapping (Planar from Object XYZ, or with the UVW Map modifier) projects through to render on the back of the object. When off, planar mapping doesn't render on the object's back. Default=on. This toggle is available only when Tiling is off in both dimensions. Its effect is visible only when you render the scene. NOTE In viewports, planar mapping always projects to the back of the object, whether Show Map On Back is turned on or not. To override this, turn off Tiling. Use Real-World Scale When turned on, applies the map to objects using the real-world Width and Height values on page 6610 instead of UV values. Default=off. When Real-World Scale is on, the texture placement is relative to the corner of the texture map so alignment with architectural objects likes walls is more efficient. When off, the texture placement is relative to the center of the texture map. _____ Offset Changes the position of the map in UV coordinates on page 9340. The map moves in relation to its size. For example, if you want to shift the map its full width to the left, and half its width downward from its original position, you enter -1 in the U Offset field and 0.5 in the V offset field. UV/VW/WU Changes the mapping coordinate on page 9212 system used for the map. The default UV coordinates project the map onto the surface like a slide projector. The VW and WU coordinates rotate the map so that it is perpendicular to the surface. Tiling Determines the number of times the map is tiled on page 9328 (repeated) along each axis. Mirror Mirrors on page 9328 the map left-to-right (U axis) and/or top-to-bottom (V axis). Tile Turns tiling on or off in the U or V axis. 2D Maps | 6629 When Use Real-World Scale Is Off Offset (UV) Changes the position of the map in UV coordinates on page 9340. The map moves in relation to its size. For example, if you want to shift the map its full width to the left, and half its width downward from its original position, you enter -1 in the U Offset field and 0.5 in the V offset field. UV/VW/WU Changes the mapping coordinate on page 9212 system used for the map. The default UV coordinates project the map onto the surface like a slide projector. The VW and WU coordinates rotate the map so that it is perpendicular to the surface. Tiling Determines the number of times the map is tiled on page 9328 (repeated) along each axis. Mirror Mirrors on page 9328 the map left-to-right (U axis) and/or top-to-bottom (V axis). Tile Turns tiling on or off in the U or V axis. 6630 | Chapter 17 Material Editor, Materials, and Maps When Use Real-World Scale Is On Offset (Width/Height) Move the map horizontally or vertically along the width or height of the object to which the material is applied. The offset distance is relative to the lower-left corner of the map. UV/VW/WU Changes the mapping coordinate on page 9212 system used for the map. The default UV coordinates project the map onto the surface like a slide projector. The VW and WU coordinates rotate the map so that it is perpendicular to the surface. Size Determines the real world width and height of the map. For example, if you scan a piece of marble that is 12” x 8” and then assign this image as the Diffuse Map, you can type 12” (or 1') and 8” as the Width and Height. This ensures that the scale of the marble is correct in the rendered scene. NOTE The default setting for the texture size can be set using the Default Texture Size option in the Material Editor Options Dialog on page 6059. Mirror Mirrors on page 9328 the map horizontally and/or vertically. Tile Turns horizontal and/or vertical tiling on or off. NOTE If the Use Real-World Size switch is turned off in the Material Editor, the Real-World Map Size settings in modifiers like UVW Map or for primitives like Box will not work. Likewise, moving vertices at a sub-object level or scaling an object, in general, will not honor the Use Real-World Scale settings. 2D Maps | 6631 _____ Angle U/V/W Rotates the map about the U, V, or W axis (in degrees). NOTE When using the Environ mapping type, you can rotate the map only on the W axis. Rotating on the U or V axis has no effect. Rotate Displays a schematic Rotate Mapping Coordinates dialog that lets you rotate the map by dragging on an arcball diagram (similar to the arcball used to rotate viewports, although dragging inside the circle rotates along all three axes, and dragging outside it rotates about the W axis only). The Angle UVW values change as you drag in the dialog. Blur Affects the sharpness or blurriness of the map based on its distance from the view. The farther away the map is, the greater the blurring. The Blur value blurs maps in world space. Blur is primarily used to avoid aliasing on page 9087. Blur Offset Affects the sharpness or blurriness of the map without regard to its distance from the view. Blur Offset blurs the image itself in object space. Use this option when you want to soften or defocus the details in a map to achieve the effect of a blurred image. See Blur/Blur Offset on page 9110. Noise Rollout (2D) Material/Map Browser changed featurematerial/map browserbrowsermaterial/maprendering menumaterial/map browser on page 6167 ➤ Assign a 2D Map. ➤ Material Editor ➤ Noise rollout You can add a random noise to the appearance of your material. Noise perturbs the UV mapping of pixels by applying a fractal noise function. Noise patterns can be very complex and are a versatile way to create apparently random patterns. They are also good for simulating surfaces found in nature, as is characteristic of fractal images. Noise parameters interact closely with each other. Slight variations in each can create noticeably different effects. NOTE Noise settings aren't displayed in viewports. 6632 | Chapter 17 Material Editor, Materials, and Maps Above: A checker map and a bitmap Below: The same maps with noise applied Procedures To add noise to a material: 1 In the Noise rollout, select On. 2 Adjust the three noise parameters to get an effect you like. To remove noise from a material: ■ In the Noise rollout, turn off On. Noise is no longer applied to the map. To animate the noise effect: 1 Turn on (Auto Key). 2 Move to a non-zero frame. 2D Maps | 6633 3 In the Noise rollout, turn on Animate. By default, 3ds Max sets animation keys at either end of the active frame range. 4 Change the Phase value at different keyframes. Interface These controls appear on the Noise rollout for many 2D maps: On Determines whether the Noise parameters affect the map. Amount Sets the strength of the fractal function, expressed as a percentage. If the amount is 0 there is no noise. If the amount is 100 the map becomes pure noise. Default=1.0. Levels Or iterations: the number of times the function is applied. The effect of the level is dependent on the Amount value. The stronger the amount, the greater the effect of increasing the Levels value. Range=1 to 10; Default=1. Size Sets the scale of the noise function relative to geometry. At very small values, the noise effect becomes white noise. At large values, the scale can exceed the scale of the geometry, in which case it has little or no effect. Range=0.001 to 100; Default=1.0. Animate Determines whether animation is on the noise effect. This parameter must be turned on if you intend to animate the noise. Phase Controls the speed of the animation of the noise function. 6634 | Chapter 17 Material Editor, Materials, and Maps Autodesk Bitmap for Autodesk Materials Material Editor ➤ Material/Map Browser ➤ Choose an Autodesk Material that uses maps. The Autodesk Bitmap is a simple bitmap type that is provided with many of the Autodesk Materials on page 6224. The Autodesk Bitmap always uses real-world mapping coordinates on page 6610. If you apply it to an object that has a UVW Map modifier on page 1883 applied to it, be sure to turn on Real-World Map Size. IMPORTANT When an Autodesk Material has “built-in” Autodesk Bitmaps, you can disconnect these or replace them with other 3ds Max map types, but be aware that when you do so, the resulting material will not be compatible with other Autodesk applications. To maintain compatibility across products, leave the Autodesk Bitmaps connected to the Autodesk Material. Interface Parameters rollout Source Opens a Select Bitmap Image File dialog on page 6645 so you can choose an image file to use for the map. You can choose any file type that 3ds Max supports. NOTE For Autodesk Bitmap images, 3ds Max disregards the gamma setting. Brightness You can use the brightness slider or numeric field to decrease the brightness of the image. At the default of 100 percent, the map has its original tones. Default=100.0 percent. Invert Image Inverts the colors of the image. 2D Maps | 6635 Position rollout X, Y Offset the image along the local XY axes in 3ds Max units. Rotate Rotates the image around the local Z axis. Default=0.0. Scale rollout Width, Height Specify a width and height for the image in 3ds Max units. Repeat rollout Horizontal When on, tiles the image horizontally. Default=on. Vertical When on, tiles the image vertically. Default=on. Bitmap 2D Map Material Editor ➤ Material/Map Browser ➤ Bitmap 6636 | Chapter 17 Material Editor, Materials, and Maps A bitmap is an image produced by a fixed matrix of colored pixels, like a mosaic. Bitmaps are useful for creating many kinds of materials, from wood grains and wall surfaces to skin and feathers. You can also use an animation or video file instead of a bitmap to create an animated material. Bitmaps shown in Material Editor sample slots When you assign the Bitmap map, the Select Bitmap Image File dialog on page 6645 opens automatically. Use this dialog to specify a file or sequence as the bitmap image. You can create a Bitmap by dragging a supported bitmap file from Windows Explorer into the Slate Material Editor on page 6083. 3ds Max creates a Bitmap node with the file loaded into it. NOTE To save loading time, if a map with the same name is in two different locations (in two different paths), 3ds Max loads it only once. This poses a problem only if your scene includes two maps that have different content but the same name. In this case, only the first map encountered will appear in the scene. TIP The Viewport Canvas on page 6877 feature lets you create a bitmap for a material on the fly by painting it directly onto an object surface. 2D Maps | 6637 Supported File Types The Material Editor supports the following file formats: AVI files on page 8412 BMP files on page 8414 CIN files (Kodak Cineon) on page 8414 DDS files on page 8416 GIF files on page 8420 HDRI files on page 8448 (.hdr and .pic files) IFL files on page 8420 JPEG files on page 8427 MOV files (QuickTime Movies) on page 8428 MPEG files on page 8429 OpenEXR files on page 8429 PNG files on page 8443 PSD files on page 8444 RGB files (legacy SGI format) on page 8458 RLA files on page 8453 RPF files on page 8455 SGI File (RGB, RGBA, INT, INTA, and BW files) on page 8458 TGA files (Targa) on page 8459 TIFF files on page 8461 YUV files on page 8463 Animated Bitmaps The Bitmap map can synchronize the frames of a bitmap sequence to the age of particles to which the map is applied. With this effect, each particle displays the sequence from the start when it is born, rather than being assigned whichever frame is current. This is achieved by turning on Sync Frames to Particle Age on page 6644. Also, when using Particle Flow, assign the material containing the Bitmap map to a Material Dynamic operator. For more details and a procedure, see Material Dynamic Operator on page 3202. 6638 | Chapter 17 Material Editor, Materials, and Maps NOTE If your scene includes animated bitmaps with materials, projector lights, or environments, the animation file is reloaded once per frame. If your scene uses multiple animations, or if the animations are large files, rendering will be slower. See also: ■ Coordinates Rollout (2D) on page 6622 ■ Noise Rollout (2D) on page 6632 ■ Output Rollout on page 6613 Procedures To crop an image: 1 On the Bitmap Parameters rollout, click the Bitmap button and assign a bitmap. 2 In the Cropping/Placement group, turn on Apply to see the results of cropping in the sample slot (and in shaded viewports, if Show Map In Viewport is active). 3 Turn on Crop. 4 Click View Image to display the bitmap. A frame window appears, displaying the image surrounded by a region outline (a dashed line at the outer edges of the image, with handles on the sides and corners). 5 Specify a cropping region by adjusting the spinners at the top of the window, or by dragging the region outline. To place an image: 1 On the Bitmap Parameters rollout, click the Bitmap button and assign a bitmap. 2 In the Cropping/Placement group, turn on Apply to see the results of cropping in the sample slot (and in shaded viewports if Show Map In Viewport is active). 3 Turn on Place. 4 Click View Image. 2D Maps | 6639 A frame window appears, displaying the image surrounded by a region outline (a dashed line at the outer edges of the image, with handles on the sides and corners). 5 Move the image by adjusting the spinners at the top of the window, or by dragging the region outline. The reduced image "decals" on the sample sphere. The diffuse color is visible around the image. To use the alpha channel that is part of the bitmap: 1 On the Maps rollout, assign the map to the Opacity component. (You can assign a copy or instance of this map to other components, such as Diffuse, as well.) 2 Click the map button for the Opacity component. This lets you adjust the settings for the Opacity map. 3 In the Bitmap Parameters rollout ➤ Alpha Source group, choose Image Alpha. This option is not available if the bitmap does not have an alpha channel. 4 In the Bitmap Parameters rollout ➤ Mono Channel Output group, choose Alpha. This option is not available if the bitmap does not have an alpha channel. The bitmapped material will now have the transparency specified by the alpha channel. This will appear in renderings. Transparency does not appear in viewports or ActiveShade renderings. To create an alpha channel based on intensity: ■ In the Bitmap Parameters rollout ➤ Alpha Source group, turn on RGB Intensity. 3ds Max creates an alpha channel. Full-intensity areas of the image are opaque, zero-intensity areas are transparent, and intermediate colors become partially transparent. To use a completely opaque bitmap: ■ In the Bitmap Parameters rollout ➤ Alpha Source group, turn on None (opaque). 6640 | Chapter 17 Material Editor, Materials, and Maps 3ds Max ignores the bitmap's alpha channel, if present, and does not create a new one. Interface Bitmap Parameters rollout Bitmap Selects the bitmap using the standard file browser. After selection, the full path name appears on this button. Reload Reloads the bitmap file using the same name and path. You don’t need to use the file browser to reload the bitmap after you've updated it in your paint program. Clicking reload for any instance of the map updates the map in all sample slots and in the scene. 2D Maps | 6641 Filtering group Filtering on page 9158 options let you select the method of pixel averaging used in antialiasing on page 9087 the bitmap. Pyramidal Requires less memory and is adequate for most purposes. Summed Area Requires much more memory, but yields generally superior results. None Turns off filtering. Mono Channel Output group Some parameters, such as opacity or specular level are a single value as opposed to a material's three-value color components. Controls in this group determine the source of the Output mono channel in terms of the input bitmap. RGB Intensity Uses the intensity of the red, green, and blue channels for mapping. The color of the pixels is ignored and only the value or luminance of the pixels is used. The colors are computed as gray values in the range between 0 (black) and 255 (white). Alpha Uses the intensity of the alpha channel on page 9088 for mapping. RGB Channel Output group The RGB Channel Output determines where the output RGB part comes from. The controls in this group affect only maps for material components that display color: Ambient, Diffuse, Specular, Filter Color, Reflection, and Refraction. RGB Displays the full color values of the pixels. (Default) Alpha as Gray Displays tones of gray based on the levels of the alpha channel. Cropping/Placement group The controls in this group let you crop the bitmap or reduce its size for custom placement. Cropping a bitmap means to reduce it to a smaller rectangular area than it originally had. Cropping doesn't change the scale of the bitmap. Placing a bitmap lets you scale the map and place it anywhere within its tile. Placing can change the bitmap's scale, but shows the entire bitmap. The four values that specify the placement and size of the cropping or placement region are all animatable. 6642 | Chapter 17 Material Editor, Materials, and Maps Cropping and placement settings affect the bitmap only as it's used for this map and any instances of the map. They have no effect on the bitmap file itself. Apply Turn on to use the cropping or placements settings. View Image Opens a window that shows the bitmap surrounded by a region outline with handles at its sides and corners. To change the size of the crop area, drag the handles. To move the region, position the mouse cursor inside it and drag. To see the results of editing the region, turn on Apply (see preceding). This shows changes in the region as you make them. The bitmap window has U/V and W/H (width/height) controls on its toolbar. Use these to adjust the location and size the image or crop area. When Place is chosen, dragging the region area handles changes the scale of the bitmap (hold down Ctrl to preserve the bitmap's aspect ratio), and dragging the image changes its location within the tile area. The UV/XY button at the right of the window toolbar lets you switch between using UV or XY coordinates in the toolbar spinners (Default=UV). . Crop Makes cropping active. Place Makes placement active. U/V Adjusts the bitmap location. W/H Adjusts the width and height of the bitmap or crop area. Jitter Placement Specifies the amount of random offset. At 0, there is no random offset. Range = 0.0 to 1.0 When Place is turned on, the size and position specified by the spinners or editing window are ignored. 3ds Max then chooses a random size and tile position for the image. Alpha Source group Controls in this group determine the source of the Output alpha channel in terms of the input bitmap. Image Alpha Uses the image's alpha channel (disabled if the image has no alpha channel). RGB Intensity Converts the colors in the bitmap to grayscale tonal values and uses them for transparency. Black is transparent and white is opaque. None (Opaque) Does not use transparency. 2D Maps | 6643 Premultiplied Alpha Determines how alpha is treated in the bitmap. When turned on, the default, premultiplied alpha on page 9273 is expected in the file. When turned off, the alpha is treated as non-premultiplied, and any RGB values are ignored. TIP If you apply an alpha image as a Diffuse map, for example, and it doesn't decal correctly, the bitmap file probably contains non-premultiplied alpha; the RGB values are maintained separately from the alpha values. To correct this, turn off Premultiplied Alpha. Time rollout These controls let you change the start time and speed of animation (AVI on page 8412 or MOV on page 8428) files used as animated texture maps. They make it easier to use sequences of images as maps in scenes, because you can control the timing very precisely Start Frame Specifies the frame where the playback of the animated map will begin. Playback Rate Lets you speed up and slow down the rate that the animation is applied to the map (for example, 1.0 is normal speed, 2.0 is twice as fast, .333 is 1/3 as fast). Sync Frames to Particle Age When on, 3ds Max synchronizes the frames of a bitmap sequence to the age of particles to which the map is applied. With this effect, each particle displays the sequence from the start when it is born, rather than being assigned whichever frame is current. Default=off. When using Particle Flow, assign the material containing the Bitmap map to a Material Dynamic operator. For more details and a procedure, see Material Dynamic Operator on page 3202. NOTE This functionality is not supported by the mental ray renderer. 6644 | Chapter 17 Material Editor, Materials, and Maps End Condition group Determines what happens after the last frame of the bitmap animation if the animation is shorter than the scene. Loop Causes the animation to repeat over and over again from the beginning. Ping-Pong Causes the animation to be played forward and then backward repeatedly, making every animated sequence "loop smoothly." Hold Freezes on the last frame of the bitmap animation. Select Bitmap Image File Dialog Material Editor ➤ Maps Rollout ➤ Click any map selector button. ➤ Material/Map Browser ➤ Double-click Bitmap. ➤ Select Bitmap Image dialog Material Editor ➤ Bitmap map ➤ Bitmap Parameters rollout ➤ Bitmap button ➤ Select Bitmap Image dialog Slate Material Editor ➤ Material/Map Browser ➤ Choose a Bitmap ➤ Select Bitmap Image dialog The Select Bitmap Image dialog allows you to choose a file or sequence of files for a map. If a sequence of files is selected by turning on Sequence, the Image File List Control dialog on page 8423 is opened when you click Setup or Open. Procedures To select a bitmap image for a map: 1 In the Material Editor, open the Maps rollout. 2 Click any button in the Map column. This adds a map into the channel you've selected. For example, clicking in the Map column of the Diffuse channel creates a diffuse or texture map. 2D Maps | 6645 3ds Max opens the Material Map Browser. 3 In the Material/Map Browser, double-click Bitmap. 3ds Max opesn the Select Bitmap Image dialog. 4 In the Select Bitmap Image dialog, navigate the Look In field to select the appropriate directory. NOTE The Select Bitmap Image File dialog uses the last location where a bitmap was chosen, rather than the default bitmap path defined in Customize ➤ Configure User Paths. 5 Highlight the file name in the file list window. 6 Click Open to close the dialog. To select a set of still images as a bitmap sequence: 1 In the Material Editor, open the Maps rollout. 2 Click any button in the Map column. This adds a map into the channel you've selected. For example, clicking in the Map column of the Diffuse channel creates a diffuse or texture map. The Material Map Browser is displayed. 3 In the Material/Map Browser, double-click Bitmap. The Select Bitmap Image dialog is displayed. 4 In the Select Bitmap Image dialog, navigate the Look in field to select the directory containing the sequence of files. 5 If necessary, change file type to match the file extension of the sequence, or choose All Formats. 6 Turn on Sequence, and choose the name of the first sequential file. 7 Click the Setup button. The Image File List Control Dialog opens. 8 Click the Browse button and set the Target path to a writable directory on your hard disk. Do not set the path to a CD-ROM drive. 9 Choose the options you want and click OK. The IFL file is written to the target directory. 6646 | Chapter 17 Material Editor, Materials, and Maps Interface TIP You can resize the dialog by dragging an edge or a corner. History Displays a list of the most recent directories searched. Whenever an image is selected, the path used is added to the top of the history list as the most recently used path. The history information is saved in the 3dsmax.ini on page 42 file. Look In Opens a navigation window to browse other directories or drives. 2D Maps | 6647 Go to Last Folder Visited Click to return to the folder you previously browsed to. Up One Level Moves you up a level in the directory structure. Create New Folder Lets you create a new folder while in this dialog. View Menu Lets you choose the level of detail to display in the file list. List Window When details are turned on, the contents of the directory are displayed with Name, Size, Type, Date Modified, and Attributes. You can sort based on each of these columns by clicking the column label. File Name Displays the file name of the file selected in the list. Files of Type Displays all the file types that can be displayed. This serves as a filter for the list. Open Selects the highlighted file and closes the dialog. Cancel Cancels the selection and closes the dialog. Devices Lets you choose the hardware output device, for example, a digital video recorder. The device, its driver, and its 3ds Max plug-in must all be installed on your system to use the device. Setup When Sequence is turned on, and there are sequential files in the directory displayed, clicking Setup displays an Image File List Control dialog on page 8423 to create an IFL file. Info Displays expanded information about the file, such as frame rate, compression quality, file size, and resolution. The information here depends on the type of information that is saved with the file type. View Displays the file at its actual resolution. If the file is a movie, the Media Player is opened so the file can be played. Gamma Group These controls are available only when Preferences dialog ➤ Gamma and LUT panel on page 8917 ➤ Enable Gamma/LUT Correction is on. 6648 | Chapter 17 Material Editor, Materials, and Maps IMPORTANT When combining standard (low-dynamic-range) and high-dynamic-range images in the same scene, make sure to treat each image’s gamma correctly. For more information, see Gamma Pipeline on page 8927. Gamma Specifies how to handle gamma with the bitmap image. ■ Use image’s own gammaUses the gamma of the incoming bitmap. ■ Use system default gammaReplaces the image gamma with the system default gamma, as set on the Gamma and LUT panel on page 8917 of the Preferences dialog. ■ OverrideDefines a new gamma for the bitmap that is neither the image’s own, nor the system default. NOTE In general, it is less confusing to use the system default gamma for incoming bitmaps. But if you are using bitmaps created (or edited) by a variety of other programs, and need to adjust gamma differently for each program, then use Override. _____ Sequence If there are more than one files that have the same root name and end in sequence numbers, turning on Sequence creates an Image File List (IFL). Default=off. Each time you choose an image, 3ds Max checks to see if an IFL sequence can be created. If the selected image does not yield a list, this option is unavailable. You can use wild-card characters to filter image files. When sequence is turned on, you can click Setup to configure the IFL file. Preview Displays the image as a thumbnail in the image window. Default=on. _____ Image Window Displays a thumbnail of the selected file. If gamma correction or look-up table (LUT) correction on page 8917 is active, 3ds Max applies the correction to this thumbnail image. _____ Statistics Displays the resolution, color depth, image type, and number of frames of the selected file. A full-color image with an alpha channel will show “RGBA Color 16 Bits/Channel”; a bitmap with a limited color depth might show “Indexed Color 8 Bits/Pixel,” and so on. 2D Maps | 6649 Location Displays the full path for the file. With this information at the bottom of the dialog, you always know exactly where you are. Checker Map Material Editor ➤ Material/Map Browser ➤ Checker The Checker map applies a two-color checkerboard pattern to the material. The default checker map is a pattern of black and white squares. Checker maps are 2D procedural maps. The component checkers can be either colors or maps. Checker map used for the tablecloth and (in a composite) for the floor of the ice-cream shop TIP Turning on Noise for a Checker map can be an effective way to create irregular patterns with a natural appearance. 6650 | Chapter 17 Material Editor, Materials, and Maps See also: ■ Coordinates Rollout (2D) on page 6622 ■ Noise Rollout (2D) on page 6632 Procedures To create a Checker map: 1 Click a map button to assign a map. 2 In the Material/Map Browser, choose Checker, and then click OK. To change the color of one set of squares: 1 In the Checker Parameters rollout, click a color swatch to display the Color Selector on page 304. 2 Adjust the color. 3 Click Close. To use a map for one set of squares: ■ In the Checker Parameters rollout, click a map button to assign a map to a color. To soften the edge between the two checker colors: ■ In the Checker Parameters rollout, increase the value of Soften. When Soften equals 0.0, there is a hard edge between the checker colors. Low positive values soften or blur the checker boundary. Larger Soften values can blur the entire material. To swap the two checker components: ■ In the Checker Parameters rollout, click Swap. 2D Maps | 6651 Interface Soften Blurs the edges between the checkers. A little blurs a lot. Swap Switches the position of the two checkers. Color #1 Sets the color of one of the checkers. Click to display the Color Selector on page 304. Color #2 Sets the color of one of the checkers. Click to display the Color Selector on page 304. Maps Selects a map to use within the area of the checker color. For example, you could put an additional checkerboard within one of the checker colors. The check boxes enable or disable their associated map. Combustion Map Material Editor ➤ Material/Map Browser ➤ Combustion With the Combustion map, you can create maps interactively using the Autodesk Combustion software and 3ds Max at the same time. As you use Combustion to paint on a bitmap, the material updates automatically in the Material Editor and in shaded viewports. IMPORTANT The Combustion map works only if Autodesk Combustion is installed on your system. Only Combustion 2.1 and later formats are supported. Maps in the Combustion 1 format are not supported in 3ds Max. 6652 | Chapter 17 Material Editor, Materials, and Maps IMPORTANT The mental ray renderer on page 7129 does not support the Combustion map. See also: ■ CWS (Combustion Workspace) Files on page 8415 ■ Noise Rollout (2D) on page 6632 About the 3ds Max and Combustion Integration You can use Combustion as a material map in 3ds Max. With a Combustion map, you can create a material from a Paint or composite operator, and in turn apply that material to objects in a 3ds Max scene. The Combustion map can include Combustion effects, and it can be animated. In addition, with Combustion you can import 3ds Max scenes that have been rendered to a rich pixel file on page 8455 (RPF on page 8455 or RLA on page 8453 file). The imported rich-pixel rendering becomes an element of your composite. You can adjust its 3D position relative to video elements of the composite, and you can apply Combustion 3D Post effects to objects within it. See the Combustion User’s Guide for more information. NOTE Because 3ds Max runs only on Windows, you cannot use Combustion to create material maps on a Macintosh. 3ds Max Materials and the Combustion Map In 3ds Max, a material on page 9219 is data that you assign to the surface or faces of an object so that it appears a certain way when rendered. Materials affect the color of objects, their shininess, their opacity, and so on. The Material Editor on page 6019 is where you create and manage materials. In the Material Editor, you can assign maps to a material's color components and to its numeric components such as opacity. Maps add images, patterns, color adjustments, and other effects to the visual properties of the material. In the 3ds Max Material Editor, you assign a map by clicking the map button for a component color or other component. This displays the Material/Map Browser, which lets you choose the map type. 3ds Max provides several types of maps on page 9215. The most basic is a 2D map, a two-dimensional image that is typically mapped onto the surface of geometric objects. 2D Maps | 6653 Other uses of 2D maps are as environments to create a background for the scene, as projections from lights, and as displacements to "emboss" geometry. A Combustion map is a 2D map on page 6621. It is a Combustion project used by the 3ds Max Material Editor, so like any Combustion project, it is vector-based, animatable, and fully editable. From within the Material Editor, you can have Combustion create a new project from scratch, or use an existing composite or Paint branch. You can synchronize the Combustion Timeline with the 3ds Max time slider so animated materials synchronize with your 3D scene. With a Combustion map, you can paint in either program: that is, you can paint either in the Combustion viewport or on 3ds Max objects. Both programs update the paint display. You also have the option of using Combustion to paint on an "unwrapped" projection of 3ds Max object geometry. In addition, with Combustion effects that require you to pick a point, such as Lens Flare or Ripple, you can use either program, Combustion or 3ds Max, to pick the point. Tips for Working with a Combustion Map in 3ds Max ■ If you have a dual-screen configuration, you can set it up so you can see both the 3ds Max and the Combustion windows at the same time. Otherwise, you need to use Alt+Tab to switch between the two windows. ■ To work with Combustion, the 3ds Max object must have mapping coordinates on page 9212. Primitive objects have a Generate Mapping Coordinates toggle, which is automatically enabled when you assign a mapped material to the object. Some objects, such as editable meshes, do not have a Generate Mapping Coordinates toggle. For these kinds of objects, go to the Modify panel and apply a UVW Map modifier on page 1883. ■ Sometimes it can be hard to see how the Combustion operator is oriented to the 3ds Max object's mapping coordinates. It can help to paint some temporary strokes in Combustion to see how they are aligned in 3ds Max viewports. Displaying the mapping coordinates in Combustion can help. See the procedure, "To display an unwrapped mesh." on page 6656 It can also help to paint directly on the object in a 3ds Max viewport. See the procedure, "To paint directly on the 3D object." on page 6658 Procedures To create a new Combustion map: 1 Apply a Combustion map to the Diffuse Color of a material. 6654 | Chapter 17 Material Editor, Materials, and Maps 2 Click to turn on (Show Standard Map In Viewport). In the scene, the object turns black in shaded viewports. 3 In the Parameters rollout, click Edit. This launches Combustion, which displays the New Workspace dialog. 4 Set up the new project. The composite or Paint branch that you create in Combustion appears on the object in 3ds Max viewports, as well as in the sample slot for the material with the Combustion map. The workspace name and path are assigned to the material, and appear on the Project button in the material’s Combustion Parameters rollout. For example, you can use the Paint operator in Combustion. When you release the mouse, the stroke appears on the 3ds Max object. 2D Maps | 6655 Paint operator in Combustion Painted object in 3ds Max 6656 | Chapter 17 Material Editor, Materials, and Maps To display an unwrapped mesh: In the 3ds Max Material Editor, you can use the Unwrap Mesh feature to display your 3D object as a 2D mesh in Combustion. You can adjust the color and size of the mesh. The mesh display is only an overlay to help you orient paint strokes and other Combustion effects. It is displayed in Combustion but is not a part of the composite or the map. 1 Create a Combustion map. 2 In the 3ds Max Material Editor, enable Unwrap Selected in the Live Edit group. In Combustion, a mesh appears. This is an "unwrapped" projection of the 3D object. 3D object in 3ds Max 2D Maps | 6657 Corresponding mesh in Combustion To set the mesh parameters: ■ In Combustion, choose File ➤ Preferences ➤ Mesh. Use To Anti-Alias Mesh Remove jaggies from the mesh. Display During Playback Display the mesh when you play back the animation. Color Click the color box to set the color of the mesh using a color picker. To paint directly on the 3D object: 1 Create a Combustion map. 2 In Combustion, select one of the following drawing tools: ■ Freehand 6658 | Chapter 17 Material Editor, Materials, and Maps ■ Straight Line ■ Rectangle ■ Ellipse 3 In the 3ds Max Material Editor, enable Paint in the Live Edit group of the Combustion Parameters rollout. In the 3ds Max viewport, a pen cursor appears. Drag the cursor over the object to paint on it. When you release the cursor, the Paint object also appears in Combustion. 2D Maps | 6659 To animate Combustion Paint strokes: 1 Create a Combustion map. 2 In Combustion, set the time scale to start at frame number 0. Choose File ➤ Preferences. In the Preferences dialog select General, set Display Time As to Frames (From 0), and then click OK. 3 In the 3ds Max Material Editor, enable Track Time in the Live Edit group of the Combustion Parameters rollout. Now the time slider in 3ds Max controls the Timeline indicator in Combustion. 4 In 3ds Max, move the time slider to a frame and create a Paint object. The Paint object appears on that frame in both Combustion and 3ds Max. 5 Move to another frame and use Combustion to modify the Paint object. Combustion uses interpolation to determine the appearance of the Paint object between keyframes. If you add a new Paint object, that object simply appears, starting on the frame where you created it. 6 Continue advancing in the clip, adding and modifying Paint strokes and effects to create your animated material. For more information on animating objects in Combustion, refer to the Combustion User’s Guide. You can add Paint strokes in either program, but to modify them you must use Combustion. NOTE Remember, Combustion tracks the time slider in 3ds Max, but 3ds Max does not track the Timeline indicator in Combustion. If the 3ds Max viewport does not appear to be updating as you paint in Combustion, you might be painting on a different frame than the one displayed in 3ds Max. To find your Paint objects, move to the correct frame in 3ds Max. To use an existing Combustion workspace as a material map in 3ds Max: 1 Apply a Combustion map to the Diffuse Color of a material. 2 In the Combustion Parameters rollout, click the Project bar. The Open Project dialog appears. 6660 | Chapter 17 Material Editor, Materials, and Maps 3 Browse for the workspace file (.cws) that you want to use as a map, and click the Open button. The Combustion workspace name and path appear in the Project button. To apply the map to an object, drag the sample slot from the Material Editor to the object in a 3ds Max viewport. To edit the map, click the Edit button in the Parameters rollout. In Combustion, the workspace corresponding to the selected map opens, and you can edit the image. To paint geometry with a bitmapped material already assigned to it: 1 In 3ds Max, select the object that you want to paint. 2 In the Material Editor, click (Pick Material From Object) so you can see the material in the Material Editor. 3 Open the Maps rollout and note the name of the bitmap file. 4 Replace the bitmap with a Combustion map. 5 On the Paint Parameters rollout, click the blank Project button, and then choose the same bitmap. 6 Click Edit. Combustion is launched and the Import Footage dialog appears. Import the same bitmap. To paint on the bitmap, select Paint. You can also key or color correct the bitmap, or use it to build a composite. For more information, see the Combustion User's Guide. 7 In the 3ds Max Material Editor, click to turn on Map In Viewport). (Show Standard In the scene, the object is mapped in shaded viewports. 2D Maps | 6661 Object with original bitmap Object with painted bitmap To paint selected faces: Use a Multi/Sub-Object material to control the location of your painting. Any sub-material can have a Combustion map, so you can use Combustion to affect only the selected faces. 1 In 3ds Max, select the object you want to paint. 2 In the Modify panel, apply an Edit Mesh modifier to the object. (Choose Edit Mesh from the Modifier drop-down list.) If you are working with an editable mesh object, or a patch or NURBS surface, skip step 2. For geometry primitives, an option is to convert the object to a mesh, patch, or NURBS surface before step 3. However, you then lose the ability to adjust object parameters (for example, the radius of a sphere, the height of a box). 6662 | Chapter 17 Material Editor, Materials, and Maps 3 Choose Face as the sub-object selection level. Select the faces on which you want to paint. 4 Drag a material from a sample slot in the Material Editor onto the selected faces. 5 In the modifier stack display, choose the object again, to disable sub-object selection. 6 In the Material Editor, use Pick Material From Object to grab the material from the geometry. You now have a new Multi/Sub-Object material. The original material appears as a sub-material applied to the selected faces. 7 In the Multi/Sub-Object material, go to the material assigned to the faces you want to paint. 2D Maps | 6663 A Multi/Sub-Object material is simply a container for multiple sub-materials assigned to different faces of the same object. Click a Sub-Material button to go to a sub-material. 8 Assign a Combustion map to the Diffuse component of the sub-material applied to the selected faces. 9 Click Edit to launch Combustion. 10 Use the tools in Combustion to modify the material. 6664 | Chapter 17 Material Editor, Materials, and Maps To modify a Combustion map: 1 In the Material Editor, select the material you want to modify. Material maps created in Combustion are vector-based and fully modifiable. 2 In the Combustion Parameters rollout, click the Edit button. The workspace corresponding to the Combustion map opens in Combustion. As you modify the workspace in Combustion the map is updated in 3ds Max. 3 In Combustion, save the workspace before you disable the Edit button in 3ds Max. To create a displacement map: In 3ds Max, the Displace modifier on page 1255 acts as a force field to push and reshape an object's geometry. You can apply its variable force directly from the modifier gizmo, from a bitmap image, or from a Combustion workspace. The grayscale component of the image is used to generate the displacement. Lighter colors in the image push outward more strongly than darker colors, resulting in a 3D displacement of the geometry. 1 In 3ds Max, select the object to which you want to apply the displacement map. In this example, the displacement is applied to a box primitive. In the object's Parameters rollout, increase the number of Length and Width Segments. The closer the number of segments approaches the resolution of the displacement map, the more accurate is the result. In the example, 150 by 150 gives good results. 2 Apply a Displace modifier: in the Modify panel, choose Displace from the Modifier drop-down list. 2D Maps | 6665 3 In the Parameters rollout, Image group, click the Map button. 4 The Material/Map Browser appears. Select Combustion and click OK. The Map button now reads Map #1 (Combustion). 5 Open the Material Editor, and then click and drag the Map #1 (Combustion) button to an unused sample slot in the Material Editor. An Instance (Copy) Map dialog is displayed. 6666 | Chapter 17 Material Editor, Materials, and Maps 6 Select Instance and click OK. 7 In the Material Editor, Combustion Parameters rollout, click Edit. This launches Combustion. In the New dialog, set the Type To Paint, and create a grayscale image to use as a displacement map. For more information, see the Combustion User's Guide. 8 In 3ds Max, increase the Displacement strength in the modifier Parameters rollout. As you increase the strength, you can see the result of the displacement map on the selected object. 2D Maps | 6667 9 In Combustion, save your project, then in 3ds Max, disable Edit in the Combustion Parameters rollout to exit Edit mode. Interface 2D Mapping Coordinates Like any 2D map in 3ds Max, mapping coordinates control how a Combustion map is positioned on objects. For geometric primitives, mapping coordinates are usually provided automatically. For some kinds of geometry, such as meshes on page 2190, patches on page 2424, and NURBS surfaces on page 2433, you must apply a UVW Map modifier on page 1883 to provide mapping coordinates. Controls in a 2D map's Coordinates rollout on page 6622 affect how the map is positioned. 6668 | Chapter 17 Material Editor, Materials, and Maps When you work with a Combustion map, these are the important points to remember: ■ When you apply a Combustion map to an object, leave mapping set to the default values of Texture and Explicit Map Channel. ■ When you use a Combustion map as an environment map, set mapping to Environ and then choose the mapping shape from the Mapping drop-down list. ■ The offset, tiling, mirror, and angle controls are useful especially when the size of the projected Combustion map is smaller than the geometry. ■ You can choose between UV, VW, and WU projections. (You can also do this from the Combustion Parameters rollout, as described below.) UV projects onto the surface of geometry like a slide projector. VW and WU project the map at right angles to the geometry. With a Combustion map, UV is almost always the most useful choice. Combustion Parameters rollout The Combustion Parameters rollout appears when you assign a Combustion map to a material. 2D Maps | 6669 Project Loads the file to use in Combustion. You can load only file types supported by Autodesk Combustion, such as Combustion workspace files (cws), or footage and image file formats supported by Combustion (see the Combustion User's Guide for information on supported footage formats). Edit Launches Combustion from the 3ds Max Material Editor. If a project is loaded, it is opened in Combustion. If no project is loaded, Combustion displays the New dialog. This dialog lets you specify a project type, name, video format, duration, and background color. Live Edit group These controls affect how you use Combustion with 3ds Max. Operator Switches control to Combustion, where you can select an operator. The results of the operator appear as the image in the Combustion map. The operator does not have to be the last operator in the pipe. While Combustion is active, you can also adjust the operator. The Combustion map updates to show the results. 6670 | Chapter 17 Material Editor, Materials, and Maps Unwrap Selected Takes the current UVW mapping coordinates of the currently selected 3D object (or the current Face sub-object selection), and displays them in Combustion. This can help you coordinate the map and the mesh as you paint. The Unwrap display is only an overlay. It is displayed in Combustion but is not a part of the composite or the map. UV List Changes the mapping coordinate system (the direction in which the map is projected) from UV to VW or UW. UV projects onto the surface of geometry like a slide projector. VW and WU project the map at right angles to the geometry. With a Combustion map, UV is almost always the most useful choice. UV Specifies which mapping channel to unwrap and paint. Range=1 to 99. Track Time Links the Timeline in Combustion to the time slider in 3ds Max. When Track Time is enabled, you can use the time slider in 3ds Max to navigate between frames in Combustion. NOTE This control is not bidirectional; changing the frame in Combustion does not change the frame in 3ds Max. Paint When enabled, displays a paint cursor in 3ds Max viewports. You can then paint directly on the 3D geometry. Dragging the cursor in the viewport over the geometry in 3ds Max creates paint strokes inside Combustion. Constrain To UV When enabled, constrains paint strokes to remain within the edges of the UV mapping coordinates. When paint strokes are unconstrained on an object such as a box, they can jump to the other side of the map when you cross a map’s edge. This can give erratic results. To prevent this, enable Constrain To UV. In general, use the Constrain To UV option when you paint on boxes and other objects with planar maps. Disable this option when you want to paint on spherical maps or anywhere else the mapping has a singularity (where the edges of the map converge to a single point). Selected Faces Constrains the Combustion image to only the faces selected. This gives additional control or masking based on faces rather than UV mapping. Project Info group These readouts display the format of the Combustion Paint or composite operator. They are active when a Combustion workspace is loaded or Edit mode is active. Width Sets horizontal resolution of the frame in pixels. 2D Maps | 6671 Height Sets vertical resolution of the frame in pixels. Frames Sets number of frames in the Combustion workspace. Rate Sets playback speed in frames per second. Custom Resolution group With these controls, you can customize the resolution of the Combustion map. Enable Enables the Width and Height controls. Width and Height Width changes the horizontal resolution of the map. Height changes the vertical resolution of the map. Time group These controls relate frames in the Combustion workspace to frames in the Combustion map. See the controls under "End Condition Group" for how to handle the map when it contains fewer frames than the 3ds Max scene. Start Frame Determines which frame of the Combustion sequence is used as the first frame of the Combustion map in 3ds Max. Duration Sets how many frames of the Combustion file sequence are used by the Combustion map in 3ds Max. Filtering group These controls determine the method for calculating antialiasing on page 9087: Pyramidal Sets the default antialiasing method. This method is faster than Summed Area filtering. Summed Area Implements a better method of antialiasing. Summed Area filtering uses more memory than Pyramidal. If it has to use virtual memory, it can dramatically increase rendering time. None Performs no antialiasing. This option takes the least time to render, but yields the lowest quality results. End Condition group These controls define what the 3ds Max renderer should do when the duration of the Combustion project (or the range of frames used in the Combustion map) is shorter than the rendering sequence in 3ds Max. 6672 | Chapter 17 Material Editor, Materials, and Maps Loop Plays the Combustion project animation repeatedly until the rendering sequence ends. Ping Pong Plays the animation forward, then backward, and repeatedly plays forward and backward until the rendering sequence is completed. Hold Plays the animation once, then repeatedly displays the last frame of the project until the rendering sequence is completed. Gradient Map Material Editor ➤ Material/Map Browser ➤ Gradient Gradients shade from one color to another. You specify two or three colors for the gradient; 3ds Max interpolates intermediate values. Gradient maps are 2D maps. Gradient maps used for the stoplight lamps, and for the background of the scene 2D Maps | 6673 TIP You can swap colors by dragging one color swatch over another, then clicking Swap in the Copy or Swap Colors dialog. To reverse the overall direction of the gradient, swap the first and third colors. Gradient-mapped material tiled (left) and with noise (right) See also: ■ Coordinates Rollout (2D) on page 6622 ■ Noise Rollout (2D) on page 6632 ■ Output Rollout on page 6613 Procedures To create a Gradient map: 1 Click a map button to assign a map. 2 Choose Gradient in the Material/Map Browser, and then click OK. To change a gradient color: 1 In the Gradient Parameters rollout, click a color swatch to display the Color Selector on page 304. 2 Adjust the color. 3 Click one of the other color swatches. 4 Adjust the color. 6674 | Chapter 17 Material Editor, Materials, and Maps To choose the kind of gradient: ■ Choose either Linear or Radial. A linear gradient shades from one color to another along a line. A radial gradient has one color on the inside and another on the outside, shading in a circular pattern. To use a map for a color in the gradient: ■ In the Gradient Parameters rollout, click a map button to assign a map to a color. To adjust the position of the second color: ■ Change the Color 2 Position value. At the default value of 0.5, the second color is between the first and third colors. For a linear gradient, the second color's position ranges from the bottom at 0.0 to the top at 1.0. For a radial gradient, the second color's position ranges from the inside at 0.0 to the outside at 1.0. 2D Maps | 6675 Interface Color #1-3 Sets the three colors that the gradient interpolates between. Displays the Color Selector on page 304. You can drag and drop the colors from one swatch to another. Maps Displays a map on page 9215 instead of the color. Maps are blended into the gradient in the same way that the gradient colors are blended. You can add nested procedural gradients in each window to make 5-, 7-, 9-color gradients, or more. The check boxes enable or disable their associated maps. Color 2 Position Controls the center point of the middle color. The position ranges from 0 to 1. When it is 0, color 2 replaces color 3. When it is 1, color 2 replaces color 1. Gradient Type Linear interpolates the color based on the vertical position (V coordinate) while radial interpolates based on the distance from the center of 6676 | Chapter 17 Material Editor, Materials, and Maps the map (center is: U=0.5,V=0.5). With both of these, you can rotate the gradient using the angle parameter under Coordinates, which is animatable. Noise group Amount When nonzero (ranges from 0 to 1), applies a noise effect. This perturbs the color interpolation parameter using a 3D noise function based on U, V, and Phase. For example, a given pixel is halfway between the first and second color (the interpolation parameter is 0.5). If noise is added, the interpolation parameter would be perturbed by some amount so that it may become less or more than 0.5. Regular Generates plain noise. This is the same as Fractal noise with the Levels setting at 1. When the noise type is set to Regular, the Levels spinner becomes disabled (because Regular is not a fractal function). Fractal Generates noise using a fractal algorithm. The Levels option sets the number of iterations for the fractal noise. Turbulence Generates fractal noise with an absolute value function applied to it to make fault lines. The noise amount must be greater than 0 to see any effects of turbulence. Size Scales the noise function. Smaller values give smaller chunks of noise. Phase Controls the speed of the animation of the noise function. A 3D noise function is used for the noise. The first two parameters are U and V and the third is phase. Levels Sets the number of fractal iterations or turbulence (as a continuous function). Noise Threshold group When the noise value is above the Low threshold and below the High threshold, the dynamic range is stretched to fill 0–1. This produces a smaller discontinuity at the threshold transition and thus causes less potential aliasing. Low Sets the low threshold. High Sets the high threshold. Smooth Helps make a smoother transition from the threshold value to the noise value. When smooth is 0, no smoothing is applied. When it is 1, the maximum amount of smoothing is applied. 2D Maps | 6677 Gradient Ramp Map Material Editor ➤ Material/Map Browser ➤ Gradient Ramp Gradient Ramp is a 2D map similar to the Gradient map. It shades from one color to another. In this map, however, you can specify any number of colors or maps for the gradient. There are a variety of controls, making highly customized gradients possible. Almost any parameter of Gradient Ramp can be animated. Gradient ramp used for the layers of the cake See also: ■ Coordinates Rollout (2D) on page 6622 ■ Noise Rollout (2D) on page 6632 ■ Output Rollout on page 6613 6678 | Chapter 17 Material Editor, Materials, and Maps Procedures To create a material with a Gradient Ramp map: 1 Open the Material Editor, and choose an unused sample slot. 2 Close the Basic Parameters rollout, and open the Maps rollout. 3 Click the Map button for Diffuse to display the Material/Map Browser. 4 In the Browser list, click Gradient Ramp. The map appears in the upper-left of the Browser window. Click OK. Gradient Ramp map is applied to the sample slot as the Browser closes. 5 In the Material Editor, under its toolbar, give the material a name to identify its use in your scene. When you replace an existing map with a gradient ramp map, choosing to Keep Old Map as Submap in the Replace Map dialog, the old map becomes assigned to the first flag as a texture. 2D Maps | 6679 Gradient Ramp-mapped material with a colored gradient 6680 | Chapter 17 Material Editor, Materials, and Maps Interface Gradient bar shows default gradient and interpolation types Gradient bar Presents an editable representation of the gradient being created. The effect of the gradient moves from left (start point) to right (end point). By default, three flags appear along the bottom edge of a red/green/blue gradient. Each flag controls a color (or map). The currently selected flag is green, and its RGB value and its position in the gradient (in the range 0 to 100) appear above the gradient bar. Each gradient can have any number of flags. The gradient bar has the following features: ■ Click anywhere along the bottom edge to create additional flags. ■ Drag any flag to adjust the position of its color (or map) within the gradient. The start and end flags (Flag #1 at 0 and Flag #2 at 100) cannot be moved. However, other flags can occupy these positions and still be moved. 2D Maps | 6681 ■ More than one flag can occupy a given position. If two flags are at the same position, a slight edge appears between the colors. With three or more flags at the same position, the edge is a hard line. Right-click options for gradient bar Right-click in the gradient bar to display a menu with these options: Reset Returns gradient bar to defaults. Load Gradient Loads an existing gradient (DGR) file into the gradient bar. Save Gradient Loads your current gradient bar as a DGR file. Copy, Paste Copies a gradient and pastes it into another Gradient Ramp map. Load UV Map Selects a UV map. Load Bitmap Selects a bitmap. Flag Mode Toggles flag display. Right-click options for flags Right-click any flag to display a menu with the following options: Copy and Paste Lets you copy the current key and paste it to replace another key. The other key could be in another Gradient Ramp as well as the current one. Edit Properties Choose this option to display the Flag Properties dialog on page 6684. Delete Deletes the flag. Gradient Type Chooses the type of gradient. The following Gradient types are available. These affect the entire gradient. ■ 4 CornerAn asymmetrical linear transition of colors. ■ BoxA box. ■ DiagonalA linear diagonal transition of colors. ■ LightingBased on the light intensity value. No light=far left; brightest light=far right. ■ LinearA smooth, linear transition of colors. ■ MappedLets you assign a map to use as the gradient. Enables the Source Map controls for specifying the map and turning it on and off. 6682 | Chapter 17 Material Editor, Materials, and Maps ■ NormalBased on the angle between the vector from the camera to the object and the surface normal vector at the sample point. The leftmost flag of the gradient is 0 degrees; the rightmost flag is 90 degrees. ■ PongA diagonal sweep that repeats in the middle. ■ RadialA radial transition of colors. ■ SpiralA smooth, circular transition of colors. ■ SweepA linear sweep transition of colors. ■ TartanA plaid. Interpolation Chooses the type of interpolation. The following Interpolation types are available. These affect the entire gradient. NOTE Gradients are ordered from left to right. The “next” flag is to the right of the current flag; the “previous” flag is to the left. Custom Sets an individual interpolation type for each flag. Right-click the flag to display the Flag Properties dialog on page 6684 and set the interpolation. Ease In Weighted more toward the next flag than the current flag. Ease In Out Weighted more toward the current flag than the next flag. Ease Out Weighted more toward the previous flag than the next flag. Linear Constant from one flag to the next. (Default.) Solid No interpolation. Transitions are a sharp line. Source Map Click to assign a map to a mapped gradient. The check box turns the map on or off. The Source Map controls are available only when Mapped is the chosen gradient type. Noise group Amount When nonzero, a random noise effect is applied to the gradient, based on the interaction of the gradient ramp colors (and maps, if present). The higher this value, the greater the effect. Range=0 to 1. Regular Generates plain noise. Basically the same as fractal noise with levels disabled (because Regular is not a fractal function). 2D Maps | 6683 Fractal Generates noise using a fractal algorithm. The Levels option sets the number of iterations for the fractal noise. Turbulence Generates fractal noise with an absolute value function applied to it to make fault lines. Note that the noise amount must be greater than 0 to see any effects of turbulence. Size Sets the scale of the noise function. Smaller values give smaller chunks of noise. Phase Controls the speed of the animation of the noise function. A 3D noise function is used for the noise; the first two parameters are U and V and the third is phase. Levels Sets the number of fractal iterations or turbulence (as a continuous function). Noise Threshold group When the noise value is above the Low threshold and below the High threshold, the dynamic range is stretched to fill 0 to 1. This causes a smaller discontinuity at the threshold transition and produces less potential aliasing. High Sets the high threshold. Low Sets the low threshold. Smooth Helps make a smoother transition from the threshold value to the noise value. When Smooth is 0, no smoothing is applied. When Smooth is 1, the maximum amount of smoothing is applied. Flag Properties Dialog Material Editor ➤ Gradient Ramp map ➤ Gradient Ramp Parameters rollout ➤ Right-click a flag at the bottom of the gradient bar. ➤ Edit Properties ➤ Flag Properties dialog By setting parameters on the Flag Properties dialog, you can customize the effect of each flag on the Gradient Ramp map. You have access to all flags from this dialog. See also: ■ Gradient Ramp Map on page 6678 6684 | Chapter 17 Material Editor, Materials, and Maps Interface Name field Select any flag with the spinners. The selected flag turns green on the gradient bar. Use this field to rename a flag to represent its use in the gradient. Interpolation Disabled unless the Interpolation type for the Gradient Ramp map is set to Custom. The available interpolation types for flags are similar to the corresponding ones in the Gradient Ramp map: NOTE Gradients are ordered from left to right. The “next” flag is to the right of the current flag; the “previous” flag is to the left. Ease In Weighted more toward the next flag than the current flag. Ease In Out Weighted more toward the current flag than the next flag. Ease Out Weighted more toward the previous flag than the next flag. Linear Constant from one flag to the next. (Default.) Solid No interpolation. Transitions are a sharp line. Texture Assigns a map in place of a color. When unselected, the flag turns blue to indicate a map assignment. Color Click the color swatch to change the color controlled by the selected flag. 2D Maps | 6685 Position Shows the current position of the selected flag. Use the spinners to reposition the flag, or enter a value directly. Position is not available for the start and end flags, because these flags can’t be moved. Animation keys Animation keys are created by default for Color and Position, and the keys are active, indicated by the green triangles next to the Color and Position labels. You can turn these keys off if you don’t intend to animate the gradient. Swirl Map Material Editor ➤ Material/Map Browser ➤ Swirl Swirl is a 2D procedural map that generates patterns similar to the swirls in two-flavor ice creams. Like other two-color maps, either color can be replaced with other maps, so it’s possible to swirl marble with wood, for example. Swirl used to create the whirlpool 6686 | Chapter 17 Material Editor, Materials, and Maps See also: ■ Coordinates Rollout (2D) on page 6622 ■ Noise Rollout (2D) on page 6632 Procedures To create a Swirl-mapped material: 1 Open the Material Editor, and choose an unused sample slot. 2 Close the Basic Parameters rollout, and open the Maps rollout. 3 Turn on Diffuse Color. Click its Map button to display the Material/Map Browser. 4 In the Browser list, click Swirl. The map appears in the upper-left of the Browser window. Click OK. Swirl map is applied to the sample slot as the Material/Map browser closes. 5 In the Material Editor, under its toolbar, give the material a name to identify its use in your scene. 2D Maps | 6687 Interface Swirl Color Setup group Base The underlying layer for the swirl effect. Click the color swatch to change. Click None to assign a map in place of a color. The check box enables or disables the map. Swirl Mixed with the Base color or map, produces the swirl effect. Click the color swatch to change this color. Click None to assign a map in place of a color. Swap Reverses the color or map assignments for Base and Swirl. Color Contrast Controls the contrast between Base and Swirl. At 0, the swirl is blurred. Higher values increase the contrast until all colors become black and white, even if Swirl Intensity and Swirl Amount are very high. Range=0 to 4.0; Default=0.4. Swirl Intensity Controls the intensity of the swirl color. Higher values create a more vibrant mix of colors. At 0, the swirl effect disappears. Range=-10 to 10.0; Default=2.0. 6688 | Chapter 17 Material Editor, Materials, and Maps Swirl Amount Controls the quantity of the Swirl color that gets mixed into the Base color. If set to 0, only the base color is used. Range=0 to 3.0; Default=1.0. Swirl Appearance group Twist Changes the number of spirals in the swirl effect. Higher values increase the number of spirals. Negative values change the direction of the twist. At 0, the colors are randomly distributed, not swirled. Range=-20.0 to 20.0; Default=1.0. Constant Detail Changes the level of detail within a swirl. Lower values minimize the level of detail within the swirl. At 0, all detail is lost. Higher values increase detail until the swirl effect disappears. Values are in whole numbers. Range=0 to 10; Default=4. Swirl Location group Center Position X and Y Adjusts the location of the swirl’s center on the object. Lock X and Y values remain identical as you adjust them. By turning off Lock and adjusting either the X or Y position, you can “slide” the swirl effect across the object. Default=on. Configuration group Random Seed Sets a new starting point for the swirl effect. Changes the swirl pattern while maintaining other parameters. Range=0 to 65,535; No default. Tiles Map Material Editor ➤ Material/Map Browser ➤ Tiles Using the Tiles procedural map, you can create brick or stacked tiling of colors or material mappings. There are commonly defined architectural brick patterns available, or you can design custom patterns. 2D Maps | 6689 Tiles used for the walls of a house With the Tiles map, you can: ■ Assign many of the maps available through the Material Editor. ■ Load textures and use colors in the pattern. ■ Control the number of tiles in columns and rows. ■ Control the size of the grout gap and its roughness. ■ Apply random variance in the pattern. ■ Control the stacking layout by shifting how the tiles line up. See also: ■ Coordinates Rollout (2D) on page 6622 ■ Noise Rollout (2D) on page 6632 6690 | Chapter 17 Material Editor, Materials, and Maps Procedures Example: To create a brick wall: 1 Create a wall using a Box primitive, or use an existing surface in one of your scenes. 2 Open the Material Editor on page 6019. Select an unused sample slot. 3 Click the Maps rollout to open it. Click the Map button for Diffuse to display the Material/Map Browser. 4 In the map list, select Tiles, then click OK. The Tiles map is now assigned to the sample slot. On the Material Editor, you see new rollouts appear for this map. 5 On the Standard Controls rollout, use Preset Type to select the type of tiles for the wall. Stack Bond is the default. 6 On the Material Editor toolbar, click (Assign Material To Selection) to apply the tile map to the wall. Then click Viewport) to see the applied map. (Show Map In 7 Open the Advanced Controls rollout. Under Tiles Setup, adjust Horizontal and Vertical Count. The default is eight rows high, with three repeats of the pattern in each row. Visually scale the size of the tiles to your scene. Also adjust Texture as well as Color and Fade Variance to fine-tune the appearance of the tiles. 8 Under Grout Setup, adjust parameters for the texture of the grout, gap spacing between tiles, and roughness of the grout. You can also create missing bricks in the map by setting % Holes to a value above 0. 9 Under Miscellaneous, you can vary the color of the tiles by using the Random Seed option. Example: To match the tiles on the top and side of a wall: 1 Select a wall mapped with tile. 2D Maps | 6691 2 On the Modify panel, choose Editable Mesh. 3 Turn on Sub-Object ➤ Face. 4 Select the top face of the wall. 5 Open the Material Editor. Drag the wall’s tile material to an unused sample slot to duplicate the material. 6 Under Tiles Setup, adjust the horizontal and vertical count of the new material to match the side of the wall. 7 Apply the new tile material to the selected faces on the top of the wall. 8 Under Stacking Layout, align the tiles by using the Line Shift option. Interface Standard Controls rollout Preset Type Lists the commonly defined architectural tile bonds, or patterns, plus a custom pattern, which you design by selecting options under the Advanced Controls and Stacking Layout rollouts. The following illustrations show some of the different bonds: Common Flemish 6692 | Chapter 17 Material Editor, Materials, and Maps Fine Running Fine Stack 1/2 Running 2D Maps | 6693 Running Stack 6694 | Chapter 17 Material Editor, Materials, and Maps Advanced Controls rollout Show Texture Swatches Updates to show the texture assigned by a map for Tiles or Grout. 2D Maps | 6695 Tiles Setup group Texture Controls the display of the current texture map for the tiles. When on, the texture is used as the tile pattern instead of the color swatch. When turned off, the color of the tiles is displayed; clicking the color swatch displays the Color Selector on page 304. None Acts as a target where you drag and drop maps for the tiles. When you click this button with a map assigned, 3ds Max displays the rollout for the map. You return this button to None (removing the assigned map) by dragging and dropping a None map from the Map/Material Browser. Horiz. Count Controls the number of tiles in a row. Vert. Count Controls the number of tiles in a column. Color Variance Controls the color variation among the tiles. Fade Variance Controls the fading variation among the tiles. Grout Setup group Texture Controls the display of the current texture map for the grout. When on, the texture is used as the grout pattern instead of the color swatch. When off, the color of the grout is displayed, and clicking the color swatch displays the Color Selector on page 304. None Acts as a target where you drag and drop maps for the grout. When you click this button with a map assigned, 3ds Max displays the rollout for the map. You return this button to None (removing the assigned map) by dragging and dropping a None map from the Map/Material Browser. Horizontal Gap Controls the horizontal size of the grout between the tiles. This value is locked by default to the vertical gap, so that both values change as you edit one or the other. To unlock them, click the lock icon. Vertical Gap Controls the vertical size of the grout between the tiles. This value is locked by default to the horizontal gap, so that both values change as you edit one or the other. To unlock them, click the lock icon. % Holes Sets the percentage of holes in the tiled surface caused by missing tiles. The grout shows through the holes. Rough Controls the roughness of the edges of the grout. 6696 | Chapter 17 Material Editor, Materials, and Maps Miscellaneous group Random Seed Randomly applies patterns of color variation to the tiles. Does not require any other setting to generate completely different patterns. Swap Texture Entries Swaps the texture maps or colors between the tiles and the grout. Stacking Layout group NOTE This group of controls is active only when Custom Tiles is selected in Standard Controls rollout ➤ Pattern Setup ➤ Preset Type. Line Shift Shifts every second row of tiles a distance of one unit. Random Shift Randomly shifts all rows of tiles a distance of one unit. Row and Column Editing group NOTE This group of controls is enabled only when Custom Tiles is selected in Standard Controls rollout ➤ Pattern Setup ➤ Preset Type. Row Modify When on, creates a custom pattern for rows, based on the values of Per Row and Change. Default=off. ■ Per RowSpecifies which rows to change. When Per Row equals 0, no rows change. When Per Row equals 1, every row changes. When Per Row is a value greater than 1, the change appears every N rows: a value of 2 changes every second row, a value of three changes every third row, and so on. Default=2. ■ ChangeChanges the width of tiles in the affected rows. A value of 1.0 is the default tile width. Values greater than 1.0 increase the width of tiles, and values less than 1.0 decrease it. Range=0.0 to 5.0. Default=1.0. A value of 0.0 is a special case: When the Change value is 0.0, no tiles appears in that row, and the underlying material shows through. Column Modify When on, creates a custom pattern for columns, based on the values of Per Column and Change. Default=off. ■ Per ColumnSpecifies which columns to change. When Per Column equals 0, no columns change. When Per Column equals 1, every column changes. When Per Column is a value greater than 1, the change appears every N columns: a value of 2 changes every second column, a value of three changes every third column and so on. Default=2. 2D Maps | 6697 ■ ChangeChanges the height of tiles in the affected columns. A value of 1.0 is the default tile height. Values greater than 1.0 increase the height of tiles, and values less than 1.0 decrease it. Range=0.0 to 5.0. Default=1.0. A value of 0.0 is a special case: When the Change value is 0.0, no tile appears in that column, and the underlying material shows through. 3D Maps 3D maps are patterns generated procedurally in three dimensions. For example, Marble has a grain that goes through the assigned geometry. If you cut away part of an object with marble assigned as its texture, the grain in the cutaway portion matches the grain on the object's exterior. Coordinates Rollout (3D) Material/Map Browser changed featurematerial/map browserbrowsermaterial/maprendering menumaterial/map browser on page 6167 ➤ Assign a 3D Map. ➤ rollout Material Editor ➤ Coordinates By adjusting coordinate parameters, you can move a map relative to the volume of the object to which it is applied. Interface 6698 | Chapter 17 Material Editor, Materials, and Maps Source Chooses the coordinate system to use. There are four options: ■ Object XYZUses the object’s local coordinate system. ■ World XYZUses the scene’s world coordinate system. ■ Explicit Map ChannelActivates the Map Channel field. You can choose any channel from 1 to 99. ■ Vertex Color ChannelAssigns vertex colors as a channel. See Editable Mesh on page 2190 for details on assigning vertex color. See also Vertex Color Map on page 6775. When one of the map channels is set, it locks the map into position on the vertices of the object so that the map "sticks" to the object as it deforms during animation. When an object is deforming through its own local space (for example, when it is bending or twisting), the object appears to move through the map, because it passes through the XYZ coordinates of the 3D texture. Map Channel Unavailable unless the source is Explicit Map Channel. When available, you can choose any channel from 1 to 99. Offset Moves the map pattern along the specified axis. Tiling Tiles on page 9328 the map pattern along the specified axis and makes the pattern narrower. Angle Rotates the map pattern along the specified axis. Blur Affects the sharpness or blurriness of the map based on its distance from the view. The farther away the map is, the greater the blurring. The Blur value blurs maps in world space. Blur is primarily used to avoid aliasing on page 9087. Blur Offset Affects the sharpness or blurriness of the map without regard to its distance from the view. Blur Offset blurs the image itself in object space. Use when you want to soften or defocus the details in a map to achieve the effect of a blurred image. Cellular Map Material Editor ➤ Material/Map Browser ➤ Cellular 3D Maps | 6699 The Cellular procedural map generates a pattern that's useful for a variety of visual effects, including mosaic tiling, pebbled surfaces, and even ocean surfaces. Cellular maps create the goblet textures. TIP The Material Editor sample slot doesn't show the cellular effect very clearly. For a better visual aid to getting the effect you want, assign the map to geometry and render the scene. See also: ■ Coordinates Rollout (3D) on page 6698 ■ Output Rollout on page 6613 Procedures Example: To create confetti: 1 Assign the Cellular map as a Diffuse map. 2 Set the parameters as follows: 6700 | Chapter 17 Material Editor, Materials, and Maps Cell Color (use RGB values after clicking color swatch): 202, 75, 171 Variation: 55 Division Colors (use RGB values after clicking the color swatch): ■ First: 127, 150, 197 ■ Second: 0, 119, 163 Cell Characteristics: ■ Circular ■ Size: 2.4 ■ Spread: 0.43 ■ Fractal: off Thresholds: ■ Low: 0.19 ■ Mid: 0.65 ■ High: 0.86 Example: To create alien skin: 1 Assign the Cellular map as a Diffuse map. 2 Set the parameters as follows: Cell Color (use RGB values after clicking the color swatch): 52, 107, 58 Variation: 0.0 Division Colors (use RGB values after clicking the color swatch): ■ First: 112, 119, 64 ■ Second: 143, 137, 112 Cell Characteristics: ■ Circular ■ Size: 7.9 ■ Spread: 0.61 ■ Fractal: on 3D Maps | 6701 ■ Iterations: 2.0 Thresholds: ■ Low: 0.17 ■ Mid: 0.64 ■ High: 1.0 3 Copy the Diffuse map to the Bump map. If you increase the Bump amount, increase the Cellular bump map's Bump Smoothing value as well. Example: To create a tile mosaic: 1 Assign the Cellular map as a Diffuse map. 2 Set the parameters as follows: Cell Color (use RGB values after clicking the color swatch): 141, 120, 87 Variation: 54 Division Colors (use RGB values after clicking the color swatch): ■ First: 128, 128, 128 ■ Second: 221, 221, 221 Cell Characteristics: ■ Chips ■ Size: 7.0 ■ Spread: 0.35 ■ Fractal: off Thresholds: ■ Low: 0.42 ■ Mid: 0.76 ■ High: 1.0 3 Assign a Mix map as the Bump map. 6702 | Chapter 17 Material Editor, Materials, and Maps 4 Click Material/Map Navigator to display the Navigator. Copy the Cellular Diffuse map by dragging it from the Navigator to the Color #2 map window of the Mix map. 5 A dialog is displayed. You are asked if this should be an instance or a copy. Select Copy and click OK. 6 Assign a Noise map to the Color #1 map window of the Mix map. 7 Set the Noise parameters as follows: Noise Type: Fractal Levels: 6.0 Size: 9.3 8 In the Mix Parameters rollout of the Mix map, set the Mix Amount to 0.5. 9 Go to top level of the material. In the Maps rollout, set Bump Amount to 82. 3D Maps | 6703 Interface Cell Color group These controls specify the color of the cells. Color swatch Displays the Color Selector on page 304. Choose a color for the cells. Map button Assigns a map to the cells, rather than a solid color. 6704 | Chapter 17 Material Editor, Materials, and Maps Check box When on, enables the map. When off, disables the map (cell color reverts to the color swatch). Variation Varies the color of the cells by randomly altering RGB values. The higher the variation, the greater the random effect. This percentage value can range from 0 to 100. At 0, the color swatch or the map completely determines the cell color. Default=0. Division Colors group These controls specify the color of the divisions between cells. Cell divisions are a ramp between two colors or two maps. Color swatches Display the Color Selector for choosing a cell division color. Map buttons Assigns a map to one of the cell division colors. Check boxes When on, enables the associated map. When off, disables the associated map (the division color reverts to the color swatch). Cell Characteristics group These controls change the shape and size of the cells. Circular/Chips Lets you choose how cell edges look. With Circular, the cells are circular. This gives a more organic, or bubbly look. With Chips, the cells have linear edges. This gives a more chipped or mosaic appearance. Default=Circular. Size Alters the overall scale of the map. Adjust this value to fit the map to your geometry. Default=5.0. Spread Alters the size of individual cells. Default=0.5. Bump Smoothing When you use a cellular map as a bump map on page 6472, you might encounter aliasing or jagginess at the boundaries of the cells. If this occurs, increase this value. Default=0.1. Fractal Defines the cellular pattern as a fractal, thus enabling the three following additional parameters. Default=off. Iterations Sets the number of times the fractal function is applied. Caution: Increasing this value increases rendering time. Default=3.0. Adaptive When on, the number of fractal iterations is set adaptively. That is, the number of iterations increases the closer the geometry is to the scene's point of view, and decreases in the distance. This reduces aliasing and also saves time while rendering. Default=on. 3D Maps | 6705 Roughness When you use the Cellular map as a bump map on page 6472, this parameter controls how rough the bumps are. When Roughness is zero, each iteration is half the strength of the previous iteration, and half the size. As Roughness increases, each iteration is closer in strength and size to the previous iteration. When Roughness is at its maximum value of 1.0, each iteration is the same size and strength as the previous. In effect, this turns off the fractalization. Roughness has no effect unless Iterations is greater than 1.0. Default=0.0. Thresholds group These controls affect the relative size of cells and divisions. They are expressed as normalized percentages (0 to 1) of the sizes specified by the default algorithm. Low Adjusts the size of the cells. Default=0.0. Mid Adjusts the size of the first division color, relative to the second. Default=0.5. High Adjusts the overall size of divisions. Default=1.0. Dent Map Material Editor ➤ Material/Map Browser ➤ Dent Dent is a 3D procedural map. During scanline rendering, Dent creates a random pattern based on fractal noise. The effect of the pattern depends on the map type. 6706 | Chapter 17 Material Editor, Materials, and Maps Dent map gives texture to the cup on the left; cup on the right has same pattern, but without dents. Effect of default parameters Defaults: Iterations=2, Size=200, Strength=20 Dent was designed to be used primarily as a bump map, and its default parameters are optimized for this usage. As a bump map, Dent renders three-dimensional dents over the surface of an object. Editable parameters control the size, depth, and complexity of the denting effect. Dent can also be used with other maps. With a diffuse color map, for example, the two colors assigned to Dent mix in random swirls over the surface of the object. Either of the colors can be replaced by other maps. 3D Maps | 6707 Dent bump maps At left, default parameters produce fairly uniform dents over surface. At right, increased Strength parameter creates a deeper and more irregular pitting effect. Dent diffuse maps At left, Dent as a two-color diffuse map. At right, colors replaced with Dent and Marble maps. See also: ■ Coordinates Rollout (3D) on page 6698 Procedures To make a Dent map: 1 In the Material Editor, click a sample slot to make it active. 2 Open the Maps rollout. 3 Click Bump or other map button to display the Material/Map Browser. 4 Double-click Dent in the list of map types. The Material Editor displays the Coordinates and Dent Parameters rollouts. 5 Set parameters on the Dent Parameters rollout. The active sample slot updates to show the Dent effect. To replace a color: 1 Click a color swatch labeled Color #1 or Color #2. 2 In the standard Color Selector on page 304, choose a replacement color. 6708 | Chapter 17 Material Editor, Materials, and Maps The color updates in the color box and sample slot. To swap a color: ■ Click Swap. The position of the two colors is reversed in the color boxes and sample slot. To replace a color with a map: 1 Click a Map button marked None next to one of the color swatches. 3ds Max opens the Material/Map Browser. 2 Select a map from the list. The sample slot updates to show the map in place of the color. Interface Size Sets the relative size of dents. As the size increases, the number of dents decreases when other settings are the same. Default=200. Decreasing Size creates the appearance of tiny dents spaced fairly evenly. The effect can resemble a "sand-covered" surface. Increasing Size creates the appearance of distinct grooves and gouges on a surface. The effect sometimes has a "hardened lava" look. 3D Maps | 6709 Size=10, 500, and 1000 Iterations=1, Strength=20 (default) Size=10, 500, and 1000 Iterations=3, Strength=20 (default) Each set of three spheres uses the same size range, but varies the number of iterations. Strength is held constant in both sets. Strength Determines the relative coverage of the two colors. Higher values increase the coverage of Color #2, while lower values increase the coverage of Color #1. Default=20. When using Dent as a bump map, increasing the Strength value typically makes the dents look deeper. In the following illustrations, each set of three spheres uses the same Strength range, but varies the Size value between the two sets. The Iterations value is the same in both sets. Size=10, Iterations=3 Strength=5, 20 (default), and 100 6710 | Chapter 17 Material Editor, Materials, and Maps Size=1000, Iterations=3 Strength=5, 20 (default), and 100 Iterations Sets the number of calculations used to create the dents. Default=2. Dent is based on a fractal-noise equation. During rendering, a dented surface is calculated one or more times to produce the finished effect. Each calculation pass is an iteration. As a surface is calculated, each iteration adds to the number of dents and the complexity and randomness of the final surface (dents become dented). The Dent texture requires heavy calculation, especially at higher iterations. This can slow down rendering time considerably. Iterations=1, 3, and 6 Size=500, Strength=20 The three spheres have uniform settings for size and strength. Only the number of iterations varies. Swap Reverses the position of colors or maps. Colors Allows choice of two colors where appropriate for a color component (such as Diffuse). Defaults=black for Color #1 and white for Color #2. Dent can create patterns in an object's color as well as its surface. By using Dent as a diffuse color map, the entire surface is affected. 3D Maps | 6711 Size=500, Strength=60 Iterations=2 Two colors are mixed to produce a random pattern, governed by size, strength, and iteration settings. The default colors are black and white, but either can be replaced or swapped. Left sphere: Sets the color to black and white. Middle sphere: Replaces white with red. Right sphere: Swap black and red. By adjusting Strength, Size, and Iterations parameters, you vary the Dent patterns on a diffuse color map. ■ Size sets the density of the dent pattern. At low settings, the pattern is dense. As Size increases with other settings held constant, the pattern becomes increasingly sparse. ■ Strength sets the color strength in the dent pattern. At low settings, Color #1 (black) dominates the pattern. As Strength increases, Color #2 (white) replaces Color #1. ■ Iterations sets the color iterations in the dent pattern. At low settings, Color #1 is dominant. As iterations increase, Color #2 gradually increases in the pattern. Dent is applied as a diffuse map in the following examples. Colors are default black and white. Size=100, 500, and 1000 Strength=20, Iterations=2 Color #1, #2=black, white (defaults) 6712 | Chapter 17 Material Editor, Materials, and Maps Strength=20, 50, and 100 Size=500, Iterations=2 Iterations=2, 4, and 8 Size=500, Strength=20 Maps Replaces colors with maps in the dent pattern. The check boxes enable or disable their associated map. You can assign maps to one or both of the Dent color slots. Any kind of map can be used, including Dent. The map overrides the assigned color, which has no effect. In the three spheres below, the assigned colors are progressively replaced with maps. Parameters of the original Dent map are the same for all spheres. Size=500, Strength=60, Iterations=2 Left sphere: Applies Dent as a diffuse map. Color #1 is black; Color #2 is red. Middle sphere: Replaces black with Dent map (all defaults). Right sphere: Replaces red with Marble map (all defaults). 3D Maps | 6713 Falloff Map Material Editor ➤ Material/Map Browser ➤ Falloff The Falloff map generates a value from white to black, based on the angular falloff of the face normals on the surface of the geometry. Falloff map creates the appearance of translucency. The direction used to specify the angular falloff varies, depending on the methods you choose. However, with the default settings, the map generates white on faces whose normals point outward from the current view, and black on faces whose normals are parallel to the current view. Falloff map provides a greater variety of opacity falloff effects than those in the Falloff settings in a standard material's Extended Parameters rollout on page 6436. You assign the Falloff map as an opacity map on page 6465. However, you can also use Falloff for special effects, such as an iridescent look. NOTE When old files that use Falloff maps are brought into 3ds Max, the old Falloff interface is displayed, replacing the new Falloff interface. 6714 | Chapter 17 Material Editor, Materials, and Maps See also: For functionality shared with other 3D maps, see Output Rollout on page 6613 ■ Procedure To control opacity using a Falloff map: 1 Assign the Falloff map as an opacity map. 2 Render to see the effect. 3 Adjust the falloff parameters to vary the effect. 3D Maps | 6715 Interface Falloff Parameters rollout Front : Side By default, "Front : Side" is the name of the group at the top of this rollout. Front : Side indicates Perpendicular/Parallel falloff. This name changes depending on the falloff type selected. In all cases, the name on the left refers to the top set of controls, and the name on the right to the bottom set. The controls are as follows: ■ Click the color swatches to assign colors. ■ Use the numeric fields and spinners to adjust the relative strength of the colors. 6716 | Chapter 17 Material Editor, Materials, and Maps ■ Click the buttons marked None to assign maps. ■ Turn on the check boxes to activate the maps; otherwise the colors are used. These are on by default. ■ Click Swap Colors/Maps (the curved arrow) to exchange the assignments. Falloff Type Chooses the kind of falloff. Five options are available: ■ Perpendicular/ParallelSets the angular falloff ranges between face normals that are perpendicular to the falloff direction and normals that are parallel to the falloff direction. The falloff range is based on a 90-degree change in face normal direction. (Default.) ■ Towards/AwaySets the angular falloff ranges between face normals that face toward (parallel to) the falloff direction and normals that face away from the falloff direction. The falloff range is based on a 180-degree change in face normal direction. ■ FresnelBased on adjustments to the Index of Refraction (IOR). Results in dim reflections on surfaces facing the view, with much brighter reflections on angled faces, creating highlights like those on the sides of a glass. ■ Shadow/LightAdjusts between two subtextures based on how much light is falling on the object. ■ Distance BlendAdjusts between two subtextures based on Near Distance and Far Distance values. Uses include reducing aliasing on large terrain objects and controlling the shading in non-photorealistic environments. Falloff Direction Chooses the direction of falloff. Five options are available: ■ Viewing Direction (Camera Z-Axis)Sets the falloff direction relative to the camera (or screen). Changing object orientation doesn't affect the falloff map. (Default.) ■ Camera X/Y AxisSimilar to Camera Z-Axis. For example, using Camera X-Axis with the Toward/Away falloff type runs the gradient from left (Toward) to right (Away). ■ ObjectUses an object whose position determines the falloff direction. Click the wide button next to Object in the Mode Specific Parameters group, and then pick an object in the scene. The falloff direction is the direction from the point being shaded toward the object's center. Points on the side 3D Maps | 6717 toward the object center get the Towards value, and those away from the object get the Away value. ■ Local X/Y/Z AxisSets the falloff direction to one of the object's local axes. Changing the orientation of the object changes the falloff direction. ■ World X/Y/Z AxisSets the falloff direction to one of the world coordinate system axes. Changing object orientation doesn't affect the falloff map. When no object is chosen, the falloff direction uses the local X, Y, or Z axis of the object being shaded. Mode Specific Parameters group The first parameter applies and is available only when you set Falloff Direction on page 6717 to Object: Object Picks object from scene and puts its name on the button. The following are parameters for the Fresnel falloff type: Override Material IOR Allows change to the Index of Refraction set by the material. Index of Refraction Sets a new Index of Refraction. This option is unavailable unless Override Material IOR is turned on. The following are parameters for the Distance Blend falloff type: Near Distance Sets the distance at which the blend effect begins. Far Distance Sets the distance at which the blend effect ends. Extrapolate When on, the effect continues beyond the Near and Far distances. 6718 | Chapter 17 Material Editor, Materials, and Maps Mix Curve rollout Using the graph on the Mix Curve rollout, you can precisely control the gradient produced by any falloff type. You see the resulting gradient in the bar below the graph. Move flyout Moves a selected point in any direction, limited by the unselected points on either side. Constrains movement to the horizontal. Constrains movement to the vertical. Scale Point Scales the selected point within the range of its gradient. On a Bezier corner point, this control is effectively the same as a vertical move. On a Bezier smooth point, you can scale the point itself or either handle. As with the move controls, scale is limited by the unselected points on either side. 3D Maps | 6719 Add Point flyout Adds a Bezier corner point anywhere on the graph line. The point makes a sharp angle when moved. Adds a Bezier smooth point anywhere on the graph line. Handles attached to the point create smooth curves when moved. On a Bezier smooth point, you can move the point or either handle. Delete Point Removes selected points. Reset Curves Returns graph to its default, a straight line between 0 and 1. Marble Map Material Editor ➤ Material/Map Browser ➤ Marble The Marble map produces a marbled surface with colored veins against a colored background. A third color is automatically generated. 6720 | Chapter 17 Material Editor, Materials, and Maps Marble map used for the balusters NOTE Another way to create marble is to use the Perlin Marble Map on page 6730. See also: ■ For functionality shared with other 3D maps, see Coordinates Rollout (3D) on page 6698. Procedures To create a Marble map: 1 Click a map button to assign a map. 2 Choose Marble in the Material/Map Browser, and then click OK. To adjust the size of Marble veins: ■ In the Marble Parameters rollout, change the Size value to change the overall scale of the vein pattern, and change Vein Width to change the width of veins relative to the overall scale. 3D Maps | 6721 The larger the Size value, the wider the veins. The larger the Vein Width value, the more veins appear relative to the overall pattern. To change vein color: 1 In the Marble Parameters rollout, click a color swatch to display the Color Selector on page 304. 2 Adjust the color. 3 Click Close to dismiss the dialog. To use a map for a vein: ■ In the Marble Parameters rollout, click a map button to assign a map to a color. To swap the two vein colors: ■ In the Marble Parameters rollout, click Swap. To adjust mapping coordinates: ■ In the Coordinates rollout, adjust Offset, Tiling, or Angle. Interface Size Sets the spacing between the veins. Vein Width Sets the width of the veins. Swap Switches the position of the two colors or maps. 6722 | Chapter 17 Material Editor, Materials, and Maps Color # 1 and Color # 2 Displays the Color Selector on page 304. Select one color for the veins (color 1) and another for the background (color 2). A third color is generated from the two colors you select. Maps Selects the bitmaps or procedural maps on page 9274 to appear in the veins or in the background color. Turn on the check boxes to make the maps active. Noise Map Material Editor ➤ Material/Map Browser ➤ Noise The Noise map creates random perturbation of a surface based on the interaction of two colors or materials. Noise map used for the edges of the street See also: ■ Coordinates Rollout (3D) on page 6698 3D Maps | 6723 ■ Output Rollout on page 6613 Procedures To change a component color: 1 In the Noise Parameters rollout, click a color swatch to display the Color Selector on page 304. 2 Adjust the color. 3 Click OK to dismiss the dialog. To use a map for a component: ■ In the Noise Parameters rollout, click a map button to assign a map to a color. To swap the two component colors: ■ In the Noise Parameters rollout, click Swap. To adjust mapping coordinates: ■ In the Coordinates rollout, adjust Offset, Tiling, or Angle. Interface NOTE For the Noise map, the tiling and mirroring controls are disabled in the Texture Tiling And Output rollout. 6724 | Chapter 17 Material Editor, Materials, and Maps Noise Type ■ Regular(The default.) Generates plain noise. Basically the same as fractal noise with the Levels setting at 1. When the noise type is set to Regular, the Levels spinner is inactive (because Regular is not a fractal function). ■ FractalGenerates noise using a fractal algorithm. The Levels option sets the number of iterations for the fractal noise. ■ TurbulenceGenerates fractal noise with an absolute value function applied to it to make fault lines. Regular, Fractal, Turbulence Size Sets the scale of the noise function, in 3ds Max units. Default=25.0. Noise Threshold When the noise value is above the Low threshold and below the High threshold, the dynamic range is stretched to fill 0 to 1. This creates 3D Maps | 6725 a smaller discontinuity (technically, 1st order instead of 0 order) at the threshold transition and produces less potential aliasing on page 9087. ■ HighSets the high threshold. Default=1.0. ■ LowSets the low threshold. Default=0.0. Levels Determines how much fractal energy is used for the Fractal and Turbulence noise functions. You can set the exact amount of turbulence you want, and also animate the number of fractal levels. Default=3.0. Phase Controls the speed of the animation of the noise function. Use this option to animate the noise function. Default=0.0. Swap Switches the position of the two colors or maps. Color # 1 and Color # 2 Display the Color Selector on page 304 so you can choose one or the other of the two principal noise colors. Intermediate color values are generated from the two colors you select. Maps Select the bitmaps or procedural maps to appear in one or the other noise color. Turn on the check boxes to make the maps active. Particle Age Map Material Editor ➤ Material/Map Browser ➤ Particle Age The Particle Age map is for use with particle systems on page 9261. Typically you assign the Particle Age map as a Diffuse map on page 6453, or in Particle Flow with the Material Dynamic operator on page 3202. It alters the color (or map) of a particle based on the particle's life. The particles in a system begin as one color. At a specified age, they begin changing (by interpolation) to a second color, and then they change again to a third color before they die out. 6726 | Chapter 17 Material Editor, Materials, and Maps Particle age changes the appearance of particles over time. NOTE The Particle Age map does not display in viewports. TIP This map works well with the Particle MBlur map on page 6728. For example, you could assign Particle Age as a diffuse map on page 6453 and Particle MBlur as an Opacity map on page 6465. Another way to use Particle Age is in the mask channel of a Blend on page 6529 material. In this case, you could set up two of the colors to white, and one to black, which would make the particles change materials over their age. In addition, you could set up one of the two materials with an effects channel on page 9173 and use a Glow on page 7785 filter on it through Video Post. See also: ■ For functionality shared with other 3D maps, see Output Rollout on page 6613. 3D Maps | 6727 Interface Color #1 Sets the color of a particle at its birth. Click the button to the right of the color swatch to assign a map instead of a solid color. The check box turns the map on or off. Age #1 Sets the age where a particle starts changing from Color #1 to Color #2, expressed as a percentage of the particle's entire life. Color #2 Sets the color of a particle in mid-life. You can also assign a map to this color. Age #2 Sets the age where a particle's color equals Color #2, expressed as a percentage of the particle's entire life. Color #3 Sets the color of a particle at its death. You can also assign a map to this color. Age #3 Sets the age where a particle changes to Color #3, expressed as a percentage of the particle's entire life. Particle MBlur Map Material Editor ➤ Material/Map Browser ➤ Particle MBlur 6728 | Chapter 17 Material Editor, Materials, and Maps The Particle MBlur (Motion Blur) map is for use with particle systems on page 9261. The map alters the opacity of the leading and trailing ends of particles based on their rate of motion. The map is usually applied as an opacity map, but you can use it as a diffuse map for special effects. Particle MBlur makes particles blur as they move. NOTE The Particle MBlur map does not display in viewports. The following conditions must be in effect to achieve particle motion blur: ■ The Particle MBlur map must be in the same material that is assigned to the particles. For best results, it should be assigned as an opacity map ■ The particle system must support the Particle MBlur map. Particle systems that support Particle MBlur include PArray, PCloud, Super Spray, and Spray. ■ In the particle system's Particle Rotation rollout, in the Spin Axis Controls group, the Direction of Travel/MBlur option must be on. ■ In this same group, the Stretch spinner must be greater than 0 to stretch the particles as a percent of their length based on the particle Speed setting. 3D Maps | 6729 ■ The correct type of particle must be used. MBlur works on all particle types except Constant, Facing, Metaparticles, and PArray Object Fragments. Also, in the Standard Particles category, MBlur does not support the Triangle and SixPoint particle types. ■ The material assigned to the particle system must not be a Multi/Sub-Object material. Interface Color #1 A particle approaches this color as it reaches its slowest speed. By default, this color is white to provide the opaque end of the range for an opacity map. Color #2 A particle approaches this color as it speeds up. As a default, this color is black to provide transparency in an opacity map. Typically, you don't need to change either of these two colors. Sharpness Controls the transparency, relative to the speed. If Sharpness is set to 0, the entire particle is blurry and transparent, no matter how slow it is traveling. The default works well in many cases. Default=2.0. Perlin Marble Map Material Editor ➤ Material/Map Browser ➤ Perlin Marble The Perlin Marble map generates a marble pattern using the Perlin Turbulence algorithm. This map is an alternative to Marble on page 6720, which is also a 3D material. 6730 | Chapter 17 Material Editor, Materials, and Maps Perlin marble used for the texture of the goblet See also: ■ Coordinates Rollout (3D) on page 6698 3D Maps | 6731 Interface Size Sets the size of the marble pattern. Change this to change the scale of marble, relative to the object's geometry. Default=50. Levels Sets the number of times the turbulence algorithm is applied. Can range from 1.0 to 10.0. The higher the value, the more complicated the marble pattern. Default=8.0. Color 1 and Color 2 groups The controls in these groups are identical. They determine the two main colors of the marble. Color swatch Click to display the Color Selector on page 304. and change the color. Map Click to assign a map instead of a solid color. The check box turns the map on or off. Saturation Controls the saturation of the color in the map, without altering the color displayed in the color swatch. Lower values darken the color, and higher values lighten it. Range=1 to 100; Default=85 for Color 1, 70 for Color 2. 6732 | Chapter 17 Material Editor, Materials, and Maps Swap Click to swap Color 1 and Color 2. Smoke Map Material Editor ➤ Material/Map Browser ➤ Smoke Smoke is a 3D map that generates amorphous, fractal-based turbulent patterns. It's primarily designed for animated opacity mapping on page 6465 to simulate the effects of smoke in a beam of light, or other cloudy, flowing mapping effects. Smoke map used to create clouds in the sky See also: ■ Coordinates Rollout (3D) on page 6698 3D Maps | 6733 Interface Size Changes the scale of the smoke "clumps." Default=40. # Iterations Sets the number of times the fractal function is applied. The higher the value, the more detail within the smoke, but the longer the calculation time. Default=5. Phase Shifts the turbulence within the smoke pattern. Animate this parameter to animate the movement of the smoke. Default=0.0. Exponent Makes color #2, representing the smoke, sharper and more wispy. As this value increases, the smoke "tendrils" become smaller within the pattern. Default=1.5. Swap Exchanges the colors. Color #1 Represents the smokeless portion of the effect. Color #2 Represents the smoke. Because this map is usually used as an opacity map, you can adjust the luminance of the color values to alter the contrast of the smoke effect. ■ Click a color swatch to change the color. Usually you only need to do this to adjust luminance. ■ Click a map button to assign a map instead of a solid color. Turn on the check box to activate the map. 6734 | Chapter 17 Material Editor, Materials, and Maps Speckle Map Material Editor ➤ Material/Map Browser ➤ Speckle Speckle is a 3D map that generates a speckled surface pattern that's useful for diffuse mapping on page 6453 and bump mapping on page 6472 to create granite-like and other patterned surfaces. Speckle map used for rocks See also: ■ Coordinates Rollout (3D) on page 6698 3D Maps | 6735 Interface Size Adjusts the size of the speckles. Use this to make the speckles match your geometry. Default=0.1. Swap Exchanges the two color components. Color #1 Represents the color of the speckles. Color #2 Represents the color of the background. Click one of the swatches to display the Color Selector on page 304 and change one of these component colors. Maps Click a button to assign a map that replaces one of the color components. Turning off the check box turns off the associated map (the Speckle map reverts to the associated color component). Splat Map Material Editor ➤ Material/Map Browser ➤ Splat Splat is a 3D map that generates a fractal surface pattern that is useful as a Diffuse map on page 6453 for creating a pattern similar to splattered paint. 6736 | Chapter 17 Material Editor, Materials, and Maps Splat map used for the patterns in ice cream See also: ■ Coordinates Rollout (3D) on page 6698 Interface 3D Maps | 6737 Size Adjusts the size of the splats. Use this to make the splats match your geometry. Default=40. # Iterations Sets the number of times the fractal function is evaluated. The higher the number, the more detailed the splats, but the longer the calculation time. Default=4. Threshold Determines how much of Color #1 is mixed with Color #2. At 0, only Color #1 is displayed; at 1, only Color #2 is displayed. Default=0.2. Swap Exchanges the two color components. Color #1 Represents the color of the background. Color #2 Represents the color of the splats. Click one of the swatches to display the Color Selector on page 304 and change one of these colors. Maps Assigns a map to replace one of the color components. Turning off the check box turns off the associated map (the Splat map reverts to the associated color component). Stucco Map Material Editor ➤ Material/Map Browser ➤ Stucco Stucco is a 3D map that generates a surface pattern that is useful for bump mapping on page 6472 for creating the effect of a stuccoed surface. 6738 | Chapter 17 Material Editor, Materials, and Maps Stucco map used for a plaster wall See also: ■ Coordinates Rollout (3D) on page 6698 Interface 3D Maps | 6739 Size Adjusts the size of the indentations. Use this to make the scale of the stucco match your geometry. Default=20. Thickness Blurs the border between the two colors. At 0, the borders are sharp. The higher the Thickness, the more the borders are blurred and the less distinct the indentations are. When you use Stucco as a bump map, the indentations are very faint at 0.5 and disappear at values not much greater. Default=0.15. Threshold Determines how much of Color #1 is mixed with Color #2. At 0, only Color #2 is displayed; at 1, only Color #1 is displayed. Default=0.57. Swap Exchanges the two color components. Color #1 Represents the color of the indentations. Color #2 Represents the background stucco color. Click one of the swatches to display the Color Selector on page 304 and change one of these component colors. TIP Because the Stucco map is meant to be used as a bump map, usually you don't need to adjust the default colors. Maps Assigns a map to replace one of the color components. Turning off the check box turns off the associated map (the Stucco map reverts to the associated color component). Waves Map Material Editor ➤ Material/Map Browser ➤ Waves Waves is a 3D map that creates watery or wavy effects. It generates a number of spherical wave centers and randomly distributes them over a sphere. You can control the number of wave sets, the amplitude, and the speed of the waves. This map works effectively as both a diffuse and bump map at the same time. It can also be useful in combination with an opacity map. 6740 | Chapter 17 Material Editor, Materials, and Maps Waves map used for the pool in the fountain Interface Num Wave Sets Specifies how many wave sets are used in the pattern. Wave sets are groups of radially symmetrical waves that originate from randomly computed points along the surface of an imaginary sphere inside the object 3D Maps | 6741 (a circle, in the case of 2D wave distribution). For calm water, set this to a low number. Use a high number for choppy water. Range= 1 to 50; Default=10. Wave Radius Specifies the radius, in 3ds Max units, of the imaginary sphere (3D distribution) or circle (2D distribution) whose surface is the origin of each wave set. A large radius produces large circular wave patterns, while a small radius produces dense, smaller waves. Default=800. Wave Len Max and Wave Len Min Define the interval used to randomly chose each wave center. If these two values are close together, the water appears more regular. If they're farther apart, the water is less regular. Default Max=50.0; Default Min=5.0. Amplitude Adjusts the strength and the depth of the waves by increasing the contrast between the two colors. Default=1.0. Phase Shifts the wave pattern. Animate this parameter to animate the motion of the pattern. Distribution 3D/2D 3D distributes the wave centers on the surface of an imaginary sphere, affecting all sides of a 3D object. 2D distributes the wave in circles centered on the XY plane, which is more appropriate for flat water surfaces such as oceans and lakes. Random Number Seed Provides a seed number to generate the water pattern. The pattern changes with each seed, but all other settings are maintained. Swap Exchanges the colors. Color #1 and #2 Click the color swatches to change the colors used in the pattern. Use one color for the wave troughs and the other for the wave peaks. You can also click the map buttons to replace one or both colors with a mapped pattern. The check box enables or disables the map. Wood Map Material Editor ➤ Material/Map Browser ➤ Wood Wood is a 3D procedural map that renders a wavy grain-like pattern throughout the volume of an object. You can control the direction, thickness, and complexity of the grain. 6742 | Chapter 17 Material Editor, Materials, and Maps Wood map used for the seat of the bench Wood is primarily intended as a diffuse color map. Two colors assigned to Wood mix to form the grain pattern. Either of the colors can be replaced by other maps. Wood can also be applied to other map types. When used as a bump map, Wood renders the grain pattern as a three-dimensional engraving of the surface. Wood mapped to a box and cylinder 3D Maps | 6743 Wood used as a bump map Procedures To replace a color: 1 Click a color swatch labeled Color #1 or Color #2. 2 In the standard Color Selector on page 304, choose a replacement color. The color updates in the color box and sample slot. To exchange colors: ■ Click Swap. The position of the two colors is reversed in the color boxes and sample slot. To replace a color with a map: 1 Click a Map bar marked None next to one of the color swatches. This displays the Material/Map Browser. 2 Select a map from the list. The sample slot updates to show the map in place of the color. 6744 | Chapter 17 Material Editor, Materials, and Maps Interface Coordinates rollout Tiling Controls grain complexity or "distortion." By increasing this parameter along a given axis, the grain becomes increasingly compressed and wavy along that axis. Default=1.0 (X, Y, and Z axes). Box A shows the default on all three axes. Boxes B and C show progressively higher Tile settings for the X axis. Increasing Tile on other axes produces similar effects. A: Tile, X axis=1.0 (default) B: Tile, X axis=4.0 C: Tile, X axis=8.0 Grain Thickness=3 3D Maps | 6745 Tile, X axis=4.0 for both Axial Noise=1 (left), 4 (right) Grain Thickness=3 By combining Tile with Axial Noise, even greater distortion is possible. The bottom left box is the same as B, with Tile at 4.0 on the X axis. The bottom right box adds Axial Noise at 4.0. Angle Controls grain direction. Default Grain: Wood is rendered with the grain running along the X axis of the object. This is illustrated by the left cube below. The default angle is 0 for X, Y, and Z axes. Rotated Grain: By rotating the direction of the grain around an axis, you change the rendered effect. In the right cube, the Y axis is set to 90. This rotates the grain direction 90 degrees around the Y axis so that the grain is now running along the Z axis. Other Angle Effects: Varying a single angle can create distorted grain effects (cylinder at left). Varying the three angles by a uniform amount keeps the grain running parallel through an object (cylinder at right). Angle=0,0,0 (defaults) and 0,90,0 Radial, Axial Noise=1 (defaults) Grain Thickness=3 6746 | Chapter 17 Material Editor, Materials, and Maps Angle=0,30,0 and 30,30,30 Radial, Axial Noise=1 (defaults) Grain Thickness=3 (See Coordinates Rollout (3D) on page 6698 for a description of the other parameters in this rollout.) Wood Parameters rollout Defaults: Grain Thickness=7, Radial Noise=1.0, Axial Noise=1.0 Grain Thickness Sets the relative thickness of the color bands that make up the grain. Default=7. The effect of thickness is relative to the context of the object. A grain that appears unrealistically wide on a small table might be acceptable on a large overhead beam. 3D Maps | 6747 Decreasing Grain Thickness creates grain lines that are closer together. The effect can resemble the fine grain of slow-growth hardwoods. At 0, grain disappears, resulting in what can look like composition board made from sawdust. Increasing Grain Thickness creates grain lines that are farther apart. The effect can resemble tropical woods that grow continuously. Grain thickness is shown increasing with identical noise settings. Grain Thickness=1, 3 Radial, Axial Noise=1 (defaults) Grain Thickness=7 (default), 14 Radial, Axial Noise=1 (defaults) Radial Noise Sets the relative randomness of the pattern on a plane perpendicular to the grain, the circular ring structure (cylinder B). Default=1.0. Axial Noise Sets the relative randomness of the pattern on a plane parallel with the grain, along the length of the grain (cylinder A). Default=1.0. Noise settings let you set the randomness or "irregularity" of the grain pattern in two directions. Without any noise, rings and grain are uniform and look inorganic (upper-left cylinder). The defaults for both parameters produce moderate irregularities (upper-right cylinder). 6748 | Chapter 17 Material Editor, Materials, and Maps Radial, Axial Noise=0,0 and 1,1 Angle Y=90, Grain Thickness=3 A: Radial, Axial Noise=0,2 B: Radial, Axial Noise=2,0 C: Radial, Axial Noise=2,2 Angle Y=90, Grain Thickness=3 Cylinders A and B show each parameter acting alone. Cylinder C shows the combination of the same settings. Swap Exchanges the position of the colors. Colors Selects any two colors for the grain pattern. Defaults=brownish yellow for Color #1 and dark brown for Color #2. Either color can be replaced or swapped. The choice of colors, along with grain pattern, is the primary way to represent different types of wood. In fairly uniform woods like yellow pine or redwood, the two colors are often near the same settings (examples B and C). Lighting also makes a difference in the apparent colors. 3D Maps | 6749 A: Default colors B: Color #1=RGB 160,125,50 Color #2=RGB 170,135,25 C: Color #1=RGB 140,90,0 Color #2=RGB 130,80,50 Grain Thickness=3 Other settings at defaults Maps Replace colors with maps. The check boxes enable or disable their associated maps. You can assign maps to one or both of the Wood color slots. Any kind of map can be used, including Wood. The map overrides the assigned color, which has no effect. The left box uses defaults. The right box is the same, except that Color #1 has been replaced with a Checker map, whose colors have been changed to wood tones. Left: Default Right: Color #1 replaced with Checker map Grain Thickness=3 Other settings at defaults 6750 | Chapter 17 Material Editor, Materials, and Maps Compositor Maps Compositors are meant specifically for compositing other colors or maps. In image processing, compositing images refers to superimposing two or more images to combine them. Composite Map Material Editor ➤ Material/Map Browser ➤ Composite The Composite map type is made up of other maps on page 9215, which you layer atop each other using the alpha channel on page 9088 and other methods. For this type of map, you can use overlay images that already contain an alpha channel, or employ built-in masking tools for overlaying only certain parts of a map. Compositor Maps | 6751 Composite map combines stars, moon, and a glow into the sky. The controls for a Composite map include the list of the maps it combines along with a blend mode, opacity setting, and mask for each. Viewports can display the multiple maps in a composite map. For multiple map display, the display driver must be OpenGL on page 8906 or Direct3D on page 8912. The software display driver on page 8905 does not support multiple map display. 6752 | Chapter 17 Material Editor, Materials, and Maps Procedures To assign a map or mask: 1 On a Layer rollout, click an empty map or mask button. These are the large, square buttons labeled “None.” The map button is on the left side; the mask button is on the right. The Material/Map Browser opens. 2 Choose a map type either by double-clicking its name in the list, or by highlighting its name and then clicking OK. Make any further changes as necessary for the map type, such as assigning an image file for a Bitmap map. To change the number of map layers: ■ To increase the number of layers, on the Composite Layers rollout, click the button. The read-only Total Layers numeric field displays the current number of layers. ■ To decrease the number of layers, find the layer to delete and click its (Delete This Layer) button. To change the order of layers: ■ Drag a layer by its title bar to a new location. As you drag the layer, a blue line appears where it will be repositioned. This works the same way as reordering any rollouts. After you move a layer, the layers are renumbered to remain in order. For example, if there are four layers, and you move Layer 4 above Layer 1, Layer 4 becomes Layer 2, Layer 2 becomes Layer 3, and Layer 3 becomes Layer 4. Compositor Maps | 6753 Interface Composite Layers rollout Total Layers The numeric field shows the number of map layers. To add a layer at the top of the stack of layers, click the button. Layer rollout The Composite map uses a separate rollout for each layer’s controls, with as many rollouts as there are layers. Each layer rollout is titled with the optional name first, followed by “Layer” and then the layer number. The layers are applied in order of increasing number; the layering in the material reflects the order of layers in the interface. Layer 1 is lowest; layer 2 is immediately above layer 1, and so on. The map composites layers in the same order. Layer 2 modifies the output of Layer 1; Layer 3 modifies the output of Layer 2, and so on. 6754 | Chapter 17 Material Editor, Materials, and Maps Hide this layer When on, the layer is hidden and has no effect on the output. When a layer is hidden, the button looks like this: Color Correct This Texture Applies a Color Correction map on page 6766 to the map and opens the Color Correction map interface. You can use its controls to modify the map colors. To return to the Composite map interface, click the Material Editor toolbar. (Go To Parent) on After the Color Correction map is assigned, you can return to it from the Composite map interface by clicking this button again. [map] To assign a map to the layer, click this button and then use the Material/Map Browser. Before assigning a map, the button reads “None.” When a map is assigned, the button image is a thumbnail of the map, and clicking it takes you to the parameters for the map. Delete this layer Deletes the layer. This function is undoable. Available only when the map contains more than one layer. Rename this layer Opens a small dialog for naming or renaming the layer. By default, each layer is named “Layer #” where # is the layer number. If you name a layer, the text you enter precedes this default name; for example, “Decal Layer 3.” The space between the custom name and the default name is inserted automatically. If you’ve already named a layer, that name appears in the renaming dialog when you open it. Duplicate this layer Creates an exact copy of the layer and inserts it immediately adjacent to the layer. Opacity The relative transparency of the unmasked portions of the layer. At 100, the layer is completely opaque. As you lower the Opacity value, more of the underlying layers show through. Compositor Maps | 6755 [mask map] To assign a mask map to the layer, click this button and then use the Material/Map Browser. The mask works the same as the Mask map on page 6758: Black areas are transparent; white areas are opaque; and gray areas allow degrees of transparency. So, for example, if the layer is to be a decal, the decal image area would be white and the rest of the image map would be black, so underlying layers can show through. After a mask map is assigned, the button image is a thumbnail of the map, and clicking it takes you to the parameters for the map. Hide the mask of this layer To turn off the mask temporarily, click this button. When a mask is hidden, the button looks like this: Color Correct This Mask Applies a Color Correction map on page 6766 to the mask map and opens the Color Correction map interface. You can use its controls to modify the map colors. To return to the Composite map interface, click the Material Editor toolbar. (Go To Parent) on After the Color Correction map is assigned, you can return to it from the Composite map interface by clicking this button again. [blend mode] Use the drop-down list to choose how the layer pixels interact with those in underlying layers. In the following descriptions, A refers to the current (front) layer and B refers to the result or output of underlying layers. NOTE Because Layer 1 has no underlying layers, its blend mode setting has no effect. ■ NormalDisplays A without any blending. This is the default setting. ■ AverageAdds A and B and then divides by 2. ■ AdditionAdds each A and B pixel. ■ SubtractSubtracts A from B. ■ DarkenCompares the values of A and B, and, for each pixel, uses the darker of the two. 6756 | Chapter 17 Material Editor, Materials, and Maps ■ MultiplyMultiplies the color values of each A and B pixel. Because non-white color channels have values of less than 1.0 (using a range of 0.0 to 1.0), multiplying them tends to darken colors. ■ Color BurnColorizes darker pixels from B with the color from A. ■ Linear BurnSame as Color Burn but with less contrast. ■ LightenCompares the A and B pixels at each location and uses the lighter of the two. ■ ScreenMakes the light areas much lighter, and the darker areas somewhat lighter. ■ Color DodgeColorizes lighter pixels from B with the A color. ■ Linear DodgeSame as Color Dodge but with lower contrast. ■ SpotlightLike Multiply but with twice the brightness. ■ Spotlight BlendSame as Spotlight but also adds ambient illumination to B. ■ OverlayDarkens or lightens the pixels depending on the B color. ■ Soft LightIf the A color is lighter than mid-gray, the image is lightened. If the A color is darker than mid-gray, the image is darkened. ■ Hard LightIf a pixel color is lighter than mid-gray, screen mode is applied. If a pixel color is darker than mid-gray, multiply mode is applied. ■ PinlightReplaces the B colors depending on the brightness of the A color. If the A color is lighter than mid-gray, B colors darker than the A color are replaced. And vice-versa: If the A color is darker than mid-gray, B colors lighter than the A color are replaced. ■ Hard MixProduces either white or black, depending on similarities between A and B. ■ DifferenceFor each pixel pair, subtracts the darker one from the brighter one. ■ ExclusionSimilar to Difference but with lower contrast. ■ HueUses the color from A; the value (brightness) and saturation from B. ■ SaturationUses the saturation from A; the value and hue from B. ■ ColorUses the hue and saturation from A; the value from B. Compositor Maps | 6757 ■ ValueUses the value from A; the hue and saturation from B. Mask Map Material Editor ➤ Material/Map Browser ➤ Mask With the Mask map, you can view one material through another on the surface. The mask controls where a second map is applied to the surface. Mask map applies labels to the fire extinguisher. By default, lighter (whiter) areas of the mask are opaque, showing the map. Darker (blacker) areas of the mask are transparent, showing the underlying material. You can use Invert Mask to reverse the mask's effect. 6758 | Chapter 17 Material Editor, Materials, and Maps Interface These are the controls for the Mask map: Map Selects or creates the map to be viewed through the mask. Mask Selects or creates the map to use as a mask. Invert Mask Inverts the effect of the mask. Mix Map Material Editor ➤ Material/Map Browser ➤ Mix With the Mix map, you can combine two colors or materials on a single side of the surface. You can also animate the Mix Amount parameter, and draw map morphing on page 9227 function curves to control how the two maps are blended over time. Compositor Maps | 6759 Mix map blends skull and crossbones with the reflected scene. Viewports can display both maps in a mix map. For multiple map display, the display driver must be OpenGL on page 8906 or Direct3D on page 8912. The software display driver on page 8905 does not support multiple map display. See also: ■ Output Rollout on page 6613 Procedures To change a component color: 1 In the Mix Parameters rollout, click one of the two color swatches to display the Color Selector on page 304. 2 Adjust the color. To use a map as a component: 1 In the Mix Parameters rollout, click a map button next to one of the two color swatches. 6760 | Chapter 17 Material Editor, Materials, and Maps 3ds Max opens the Material/Map Browser. 2 Select a map type. To exchange the two component colors: ■ In the Mix Parameters rollout, click Swap. To control the mix amount: ■ In the Mix Parameters rollout, adjust the Mix Amount value. Mix Amount is the percentage of Color #2 used in the mix. You can also control the mix amount by using a map. To control the mix amount using a map: 1 In the Mix Parameters rollout, click the map button next to Mix Amount. 3ds Max opens the Browser so you can select a map type. 2 The intensity of pixels in this mixing map controls the mix. When the intensity is close to 0, one of the component colors or maps is visible; when it is close to full intensity, the other component is visible. TIP Using a Noise map for the mixing map can give good effects that have a natural appearance. In the Mix Parameters rollout, Mix Amount is inactive while a map is assigned to this parameter. If Use Curve is off, the mixing map is used as is. If Use Curve is on, you can shift the effect of the mixing map's gradient ramp, offsetting it one way or the other and revealing more or less of the mix components. To control the mix amount using the mix curve: 1 In the Mixing Curve group, turn on Use Curve. 2 Change the shape of the curve by adjusting the Transition Zone values. Compositor Maps | 6761 Interface Swap Exchanges the two colors or maps. Color # 1, Color # 2 Displays the Color Selector on page 304 to select the two colors to be mixed. Maps Select or create the bitmaps or procedural maps to be mixed instead of each color. The check boxes enable or disable their associated maps. Black areas of the map reveal color #1, and white areas of the map reveal color #2. Gray values reveal intermediate mixes. Mix Amount Determines the proportion of the mix. 0 means only Color 1 is visible on the surface, 1 means only Color 2 is visible. You can also use a map instead of the mix amount. The two colors will mix in greater or lesser degree according to the intensity of the map. 6762 | Chapter 17 Material Editor, Materials, and Maps Mixing Curve group These parameters control how gradual or how sharp the transition between the two colors being mixed will be. (This really only has meaning when you have a map applied to Mix Amount.) TIP Try mixing two standard materials using a noise map as a mask for some interesting mottled effects. Use Curve Determines whether the Mixing Curve effects the mix. Transition Zone Adjusts the level of the upper and lower limits. If the two values are the same, the two materials will meet at a definite edge. Wider ranges give more gradual mixing. RGB Multiply Map Material Editor ➤ Material/Map Browser ➤ RGB Multiply The RGB Multiply map is typically used for bump maps on page 6472, where you might want to combine two maps to achieve the correct result. Compositor Maps | 6763 Left: No bump mapping on the ashtray Right: RGB Multiply used as a bump map to enhance the texture of the ashtray This map combines two maps by multiplying their RGB values. For each pixel, the red of one map is multiplied times the red of the second map, the blue times the blue, and the green times the green. If the maps have alpha channels, RGB Multiply can output either map's alpha channel, or a new alpha channel created by multiplying the alpha channel values of the two maps. You can also make one of the maps a solid color. This tints the other map. 6764 | Chapter 17 Material Editor, Materials, and Maps Interface Color #1, Color #2 Click a map button to assign one of the maps. The check box disables or enables the map. To tint one of the maps, turn off the other map and click its color swatch to choose the tint color, using the Color Selector on page 304. Alpha From group The buttons in this group let you determine how to generate alpha for the map. If neither map has an alpha channel, these options have no effect. Map #1 Uses the first map's alpha channel. Map #2 Uses the second map's alpha channel. Multiply Alphas Generates a new alpha channel by multiplying the alpha channels of the two maps. Color Modifier Maps Color Modifier maps alter the colors of pixels in a material. Color Modifier Maps | 6765 Color Correction Map Material Editor ➤ Material/Map Browser ➤ Color Correction The Color Correction map provides an assortment of tools for modifying the colors of an incorporated, underlying map, using a stack-based method. Tools for correcting color include monochrome, inversion, custom rewiring of color channels, hue shift, and adjustment of saturation and lightness. Color-adjustment controls in many cases mirror those found in Autodesk Toxik and Autodesk Combustion. Interface IMPORTANT The Color Correction map uses a stack-based approach, with modifications applied per rollout, starting at the top of the interface and ending at the bottom. Settings from the Texture rollout are applied first, then the Channels rollout settings are applied to the output of the Texture rollout, and so on. The order is: 1 Texture rollout 2 Channels rollout 3 Color rollout 4 Lightness rollout Because of this enforced order, it is not possible to reorder the rollouts for this map. 6766 | Chapter 17 Material Editor, Materials, and Maps Texture rollout [color swatch] 3ds Max uses this color if no map is specified. To change the color, click the swatch and use the Color Selector on page 304 controls. [map button] To specify a map, click this button, initially labeled “None.” After you specify a map using the Material/Map Browser on page 6167, the button label shows the name and type of the map. Color Modifier Maps | 6767 TIP If you replace an existing map with the Color Correction map, 3ds Max prompts you to choose whether to keep the old map as a sub-map. If you do so, the old map is placed in this slot. Channels rollout [channel operation] Choose the initial operation to be performed on the map color channels: ■ NormalPasses the color channels unaltered to the Color rollout controls. ■ MonochromeConverts all color channels to shades of gray. ■ InvertReplaces the red, green, and blue color channels with their inverses. The inverse for each channel is calculated by subtracting the value from the maximum value: 1.0 in the case of floating-point colors, or 255 for eight-bit channels. So, for example, red changes to cyan (green + blue); green changes to magenta (red +blue); and blue changes to yellow (red + green). ■ CustomLets you apply different settings to each channel using the remaining controls on the rollout. TIP You can use one of the preset channel operations (Normal/Monochrome/Invert) as a starting point for customization. Choose the preset, and then choose Custom. The previous settings remain active and available for changing. Red/Green/Blue/Alpha Lets you specify channel operations on a per-channel basis. Available only when Custom is the active choice. Otherwise these fields show the current setting, such as Monochrome for the RGB channels. Use the drop-down list to choose an replacement value or channel for each channel: ■ Red/Green/Blue/AlphaReplaces the channel with the channel you choose. For example, if you set Blue=Red, the blue component of each pixel takes on the current value of the red component of that pixel. ■ Red (Inverse)/Green (Inverse)/Blue (Inverse)/Alpha (Inverse)Replaces the channel with the inverse of the channel you choose. For example, if you set Blue=Red (Inverse), the blue component of each pixel takes on the inverse of the current value of the red component of that pixel. The inverse for each channel is calculated by subtracting the value from the maximum value: 1.0 in the case of floating-point colors, or 255 for eight-bit channels. So, for example, red changes to cyan (green + blue); 6768 | Chapter 17 Material Editor, Materials, and Maps green changes to magenta (red + blue); and blue changes to yellow (red + green). ■ MonochromeConverts the color channel to grayscale. To determine the grayscale value for a channel, 3ds Max adds the values of of the red, green, and blue channels for each pixel and then divides by three. For example, if the RGB values are 0.5, 0.4, and 0.0, then the monochrome value for any channel of that pixel would be 0.3. ■ OneSets the channel to the highest possible value; in effect, turns it all the way on. For example, if the original color of a pixel in a 24-bit or 32-bit map is R=50; G=75; and B=100, then the result of setting Green=One would be R=50; G=255; and B=100. ■ ZeroSets the channel to the lowest possible value; in effect, turns it off. For example, if the original color of a pixel is R=50; G=75; and B=100, then the result of setting Green=Zero would be R=50; G=0; and B=100. Color rollout This rollout gives you three controls for overall color conversion. These controls work on the output of the Channels rollout. To use the original map, make sure the Channels rollout is set to Normal. Hue Shift Lets you change colors using a standard Hue spectrum. Use the slider or the numeric control to determine how to remap colors in the map. To reset to 0, right-click the slider. Range=-180 to 180. This control works the same as the Hue Shift control in Autodesk Combustion and Autodesk Toxik. Saturation The intensity or purity of the map colors. Lowering the Saturation value removes color, causing the image to tend toward grayscale, while raising it intensifies the color. To modify the value, use the slider or the numeric control. To reset to 0, right-click the slider. Range=-100 to 100. This control works the same as the Saturation control in Autodesk Combustion and Autodesk Toxik. Hue Tint Colorizes all non-white map pixels according to the color swatch value. Grayscale values, including black and white, have no effect. Strength The degree to which the Hue Tint setting affects the map pixels. Range=0 to 100. Color Modifier Maps | 6769 Lightness rollout: Standard The Standard option on the Lightness rollout gives you two easy-to-use controls: Brightness The overall luminance of the map image. To modify the value, use the slider or the numeric control. To reset to 0, right-click the slider. Range=-100 to 100. Contrast The difference between brighter and darker portions of the map image. To modify the value, use the slider or the numeric control. To reset to 0, right-click the slider. Range=-100 to 100. Lightness rollout: Advanced The Advanced controls are similar to those available in the Photo Lab feature of Autodesk Toxik. This tool lets you simulate camera exposure and photo-development changes in maps. You can change the exposure to brighten or darken a map in incremental steps,providing perceptually relative uniform changes in luminance. Photo-development adjustments can produce images with different color distribution. [exposure method] Choose from the drop-down list the method by which to express exposure: ■ GainThe pixel color values are multiplied by this value. ■ F-StopAs in photography, increasing by 1 doubles the luminance, and increases gain by a factor of 2. 6770 | Chapter 17 Material Editor, Materials, and Maps ■ Printer LightsA definable setting (see Printer Lights per Stop) where increasing this value by the value of the Printer Lights per Stop setting (N) doubles the luminance (N printer lights=1 f-stop) RGB/R/G/B You can change the settings for all three color channels simultaneously (RGB) and for each channel individually. In addition, you can toggle the settings for the individual channels with the check boxes. Gamma/Contrast The amount of gamma correction can be expressed in terms of contrast or in terms of the usual gamma exponent. Increasing the gamma exponent decreases contrast. Pivot Gamma correction is applied about a pivot value. That is, pixel values equal to the pivot value are left unchanged. This is useful when you want to use gamma correction to change the contrast of an map but do not want to affect a particular luminance level. Lift/Offset The lift is simply a uniform offset added to all the pixel values (different offsets for different color components). Lift is usually applied as the last step of the process and can be used to control the overall brightness of the map. Printer Lights per Stop When using the Printer Lights exposure method, this setting determines the number of printer lights equivalent to one f-stop; that is, the number required to double or halve the exposure. Output Map Material Editor ➤ Material/Map Browser ➤ Output With Output map, you can apply output settings to procedural maps, such as Checker or Marble, that don't have these settings. Color Modifier Maps | 6771 Interface Output Parameters rollout In this rollout, you choose the map to apply the output controls to. Map Displays a modal version of the Material/Map Browser so you can choose the map type. The check box turns the map on or off. Output rollout The controls in this rollout are the same as for maps with a built-in output option. See Output Rollout on page 6613. 6772 | Chapter 17 Material Editor, Materials, and Maps Color Modifier Maps | 6773 RGB Tint Map Material Editor ➤ Material/Map Browser ➤ RGB Tint RGB Tint adjusts the value of the three color channels in an image. Three color swatches represent these channels. Changing a color swatch adjusts the value of its associated color channel. RGB Tint map The channels are named Red, Green, and Blue for their default colors, but you can assign them any color. You are not limited to variations of red, green, and blue. Procedures To tint a map: 1 In the RGB Tint Parameters rollout, click the Map button marked None. 3ds Max opens the Material/Map Browser. 2 Select the map you want to tint 3 Click the R, G, or B color swatch. The Color Selector on page 304 is displayed. 4 Choose a new color. The red, green, or blue value of each pixel in the underlying map changes accordingly. 6774 | Chapter 17 Material Editor, Materials, and Maps To change the saturation of one color in an image: 1 Click the R, G, or B color swatch. 2 On the Color Selector, increase or decrease Value to vary the color from light to dark. To replace one color with another: 1 Click the R, G, or B color swatch. 2 On the Color Selector, increase or decrease Hue to change the color. Interface R/G/B The red, green, and blue on page 9280 color swatches display the Color Selector on page 304 to adjust the value of the specific channel. Map Displays the Material/Map Browser to select the map to be tinted. The check box turns the effect of the map on or off. Vertex Color Map Material Editor ➤ Material/Map Browser ➤ Vertex Color Vertex Color map makes any vertex coloring applied to an object available for rendering. You can assign vertex colors using the VertexPaint Modifier on page 1910, the Assign Vertex Colors utility on page 6927, or the vertex controls Color Modifier Maps | 6775 for an editable mesh on page 2201, editable patch on page 2387, or editable poly on page 2258. Mapping vertex colors While vertex color assignment is primarily used for special applications, such as game engines or radiosity renderers, you can also use it to create colorful, gradient surface effects. You can also use it in design visualization: Use the VertexPaint Modifier on page 1910 to paint your landscape different colors to represent grass, shrubbery, parking areas, etc., and then use Vertex Color map to use the vertex coloring in your rendered images. Incidentally, when you use the Terrain object's on page 663 Color By Elevation function, 3ds Max assigns a material that uses a Vertex Color map as the diffuse component. TIP To view vertex colors in a viewport, right-click the object, choose Properties from the quad menu, and then turn on Vertex Channel Display in the Display Properties group. Procedures To use the vertex color map: 1 Assign vertex colors to an object. 2 Assign a material to the object, then assign a Vertex Color map to the material's diffuse component. 3 Optionally, if manipulating the map channels with the Channel Info utility on page 6936, choose a map channel or sub-channel to render. 4 Render the scene. 6776 | Chapter 17 Material Editor, Materials, and Maps Interface These parameters let you define which map channel or sub-channel is to be rendered. One application is to support usage of the Vertex Color map in conjunction with the Channel Info utility on page 6936. The settings are interlinked; changing one parameter will change the other two, as appropriate. Map Channel Lets you specify which map channel to use. Range=0 to 99. Default=0. Notes regarding this setting: ■ If you set Map Channel to a channel that doesn't contain any vertex coloring data, attempting to render will generate a Missing Map Coordinates error message. To resolve this, apply vertex coloring to that channel. ■ By default, the vertex coloring in map channel 1 is a color gradient derived from the UVW texture coordinates by converting UVW values to RGB values. Thus, at UV=0,0 (the lower-left corner of the map), the coloring is black; at UV=1,0, the coloring is red, and at UV=1,1 (the upper-right corner), the coloring is yellow (red + green=yellow). You can change these colors with a tool such as VertexPaint modifier on page 1910. ■ Map Channel cannot be set to a negative value, thus the map doesn't support rendering of the vertex illumination (-1) or vertex alpha (-2) channel. Sub Channel Lets you can specify that the map will use either the Red, Green, or Blue sub-channel of the specified map channel, or all sub-channels. Channel Name After assigning the material with the Vertex Color map to an object with named map or vertex-color channels (see Channel Info Utility on Color Modifier Maps | 6777 page 6936), you can click Update, and then, from this drop-down list, choose a named map channel from the object. Update Refreshes the contents of the Channel Name drop-down list. Use Update after applying the material to an object, or after adding channels to the object. NOTE There could be conflicts if one material with a Vertex Color map is assigned to objects with different named Map Channels, where one channel's name may be displayed in preference to another's. Reflection and Refraction Maps These maps, grouped as "Other" in the Material/Map Browser on page 6167, are maps that create reflections and refractions. Flat Mirror Map Material Editor ➤ Material/Map Browser ➤ Flat Mirror The Flat Mirror on page 9163 map produces a material that reflects surrounding objects when it is applied to a collection of coplanar faces. You assign it as a material's reflection map on page 6475. 6778 | Chapter 17 Material Editor, Materials, and Maps Flat mirror map reflects the ice-cream shop's interior. Reflect/Refract maps don't work well for flat surfaces because each face reflects part of the environment based on where its surface normal points. Using this technique, a large flat face can reflect only a small part of the environment. Flat Mirror automatically generates a reflection that encompasses a larger part of the environment, to better simulate a mirror-like surface. Rules for Using Flat Mirror Flat Mirror cannot generate reflections correctly unless you observe these rules: ■ Assign Flat Mirror to selected faces only. There are two ways to do this. You can make the Flat Mirror material a sub-material of a Multi/Sub-Object on page 6542 material, or you can use the Apply To Faces With ID control. ■ If you assign Flat Mirror to multiple faces, the faces must lie in a plane. ■ Non-coplanar faces in the same object cannot have the same Flat Mirror material. In other words, if you want two different planes of an object to have flat reflections, you must use a Multi/Sub-Object material. Assign Flat Mirror Reflection and Refraction Maps | 6779 to two different sub-materials, and assign different material IDs to the to different planar faces. The material ID used by the Flat Mirror sub-material must be unique to the coplanar faces in the object. If you assign Flat Mirror using Apply to Faces with ID, faces without that ID display the nonreflective components (diffuse color, and so on) of the material with the Flat Mirror reflection map. ■ Procedures To assign a flat mirror to one face of an object: 1 In the Material Editor, create a Standard material. 2 Assign a Flat Mirror map as the material's reflection map. 3 In the Flat Mirror Parameters rollout ➤ Render group, turn on Apply To Faces With ID, and choose the material ID number the mirrored face will have. 4 Follow the next set of steps for assigning the material to the object. To assign the mirror to a flat surface: 1 2 On the Select an object. Modify panel, apply Edit Mesh to the object. 3 Make sure Sub-Object is selected, and choose Face as the sub-object level. 4 Select a single face or multiple faces that lie in a single plane. 5 Assign the faces the material ID you chose for the Flat Mirror map. 6 Assign the material to the object. To assign a flat mirror using a Multi/Sub-Object material: 1 In the Material Editor, create a Multi/Sub-Object material. 2 Click one of the unused material buttons in the Multi/Sub-Object material's parameters. 6780 | Chapter 17 Material Editor, Materials, and Maps 3 In the new Standard sub-material, open the Maps rollout and click the map button for Reflection. 4 In the Material/Map Browser, choose Flat Mirror, and then click OK. Flat Mirror controls are similar to those for automatic reflection and refraction. 5 Apply Edit Mesh to the object, and then in the stack view area of the modifier stack display on page 8776, choose Face as the sub-object level. 6 Select a single face or multiple faces that lie in a single plane. 7 Assign the faces the material ID corresponding to the Flat Mirror sub-material slot. Using a Multi/Sub-Object material, you can apply Flat Mirror to different faces of the object that are not coplanar. However, faces that are not coplanar must use different sub-material slots, otherwise 3ds Max doesn't correctly generate the flat mirror reflections. Reflection and Refraction Maps | 6781 Interface Blur group Apply Blur Turns on filtering to blur the maps. Antialiasing is also applied to the Distortion effect, if any, when Apply Blur is turned on. Blur Affects the sharpness or blurriness of the generated map based on its distance from the object. The farther away the map is, the greater the blurring. 6782 | Chapter 17 Material Editor, Materials, and Maps Blur is primarily used to avoid aliasing on page 9087. It's a good idea to use a small amount of blurring for all maps in order to avoid the scintillation or aliasing that can occur when pixel details are reduced off in the distance. Default=1.0. Render group First Frame Only The renderer creates the automatic flat mirror only on the first frame. Every Nth Frame The renderer creates the automatic flat mirror based on the frame rate on page 9169 set by the spinner. Use Environment Map When off, environment maps are ignored by the mirror during rendering. It's useful to turn this off when you have mirrors in the scene and you're rotoscoping against a flat screen environment map. A screen environment map does not exist in 3D space the way the other environment-map types do, and will not render properly. Default=on. Apply to Faces with ID Specifies the material ID number where you want the mirror assigned. You can assign a flat-mirror material to an object without having to make it a component of a Multi/Sub-Object on page 6542 material. The restriction is that the other faces on the object must be able to use the nonmirrored properties of the same material (its diffuse color, and so on). If the other faces need completely different material characteristics, you need to use a Multi/Sub-Object material. For example, if you have an object, such as a box, with unique material IDs for each side, you can use Apply To Faces With ID to specify the side of the box that will show the mirror reflection. The remaining sides of the box will have the same material characteristics, but without the reflection. Distortion group To simulate irregular surfaces, you can distort the flat-mirror reflections. Distortion can be based on a bump map or on noise controls built into Flat Mirror material. None No distortion. Use Bump Map Distorts the reflection using the material's bump map. A flat mirror surface that has a Bump map will appear bumpy, but its reflection won't be distorted by the bumps unless you use this option. Use Built-In Noise Distorts the reflection using the settings in the Noise group. Reflection and Refraction Maps | 6783 Distortion Amount Adjusts the amount of distortion to the reflected image. This is the only value that affects the amount of distortion. No matter how high the Bump map's Amount spinner is set, or how extreme the Noise settings, if this Distortion Amount is set to 0, no distortion appears in the reflection itself. This control is inactive when None is chosen. Noise group The controls in this group are inactive unless you choose Use Built-In Noise as the active distortion type. Regular Generates plain noise. Basically the same as Fractal noise with the Levels setting at 1. When the noise type is set to Regular, the Levels spinner is inactive (because Regular is not a fractal function). Fractal Generates noise using a fractal algorithm. The Levels setting determines the number of iterations for the fractal noise. Turbulence Generates fractal noise with an absolute value function applied to it to make fault lines. Phase Controls the speed of the animation of the noise function. A 3D noise function is used for the noise, so that the first two parameters are U and V and the third is phase. You can animate this parameter to animate the noise effect. Size Sets the scale of the noise function. Smaller values give smaller chunks of noise. Levels Sets the number of fractal iterations or turbulence (as a continuous function). Raytrace Map Material Editor ➤ Material/Map Browser ➤ Raytrace Raytrace map provides fully raytraced reflections and refractions. The reflections and refractions it generates are more accurate than those produced by the reflect/refract map on page 6796. Rendering raytraced objects is slower than using Reflect/Refract. On the other hand, Raytrace is optimized for rendering 3ds Max scenes, and you can further optimize it for your scene by excluding specific objects or effects from raytracing. 6784 | Chapter 17 Material Editor, Materials, and Maps Raytrace map creates highly reflective and refractive surfaces. You can also use the Raytrace material on page 6486, which uses the same raytracer to generate accurate, raytraced reflections and refractions. The differences between Raytrace map and Raytrace material are: ■ You use Raytrace map as you do other maps. This means you can add raytraced reflections or refractions to any kind of material. ■ You can assign Raytrace map to material components other than reflect or refract, although these are the main ways to use this map. ■ Raytrace map has more extensive attenuation controls than Raytrace material. ■ Raytrace map often renders more quickly than Raytrace material. Raytrace Map and Raytrace material have the same name because they use the same raytracer and share global parameters. NOTE Raytracing does not always work correctly in orthographic viewports (left, front, and so on). It works correctly in perspective viewports and camera viewports. Reflection and Refraction Maps | 6785 Raytracer Parameters Rollout Material Editor ➤ Raytrace map ➤ Raytracer Parameters rollout This rollout contains the main controls for the Raytrace map on page 6784. Interface Local Options group Enable Raytracing Turns the raytracer on or off. Default=on. Even with raytracing off, Raytrace material and Raytrace map still reflect and refract the environment, including both the environment map for the scene, and the environment map assigned to the Raytrace material. Raytrace Atmospherics Turns the raytracing of atmospheric effects on or off. Atmospheric effects include fire, fog, volume light, and so on. Default=on. 6786 | Chapter 17 Material Editor, Materials, and Maps Enable Self Reflect/Refract Turns self reflection/refraction on or off. Default=on. Can an object reflect itself? For example, a teapot's body reflects the teapot's handle, but a sphere will never reflect itself. If you don't need this effect, you can improve render time by turning off this toggle. TIP If you have a transparent object such as glass, and have self reflect/refract turned on, you don't have to make the object 2-sided on page 9079. The raytracer sees back faces when exiting refractive objects. Reflect/Refract Material IDs When on, the material reflects effects assigned to material IDs in the renderer's G-buffer on page 9173 on or off. Default=on. By default, Raytrace material and Raytrace map reflect effects assigned to a material's ID, so that G-buffer effects are not lost. For example, if a raytraced object reflects a lamp made to glow with the Video Post Glow filter (Lens Effects Glow), the reflection glows as well. Trace Mode group With options in this group, you select whether to cast reflected or refracted rays. Auto Detect If assigned to the material's Reflection component, the raytracer will reflect. If assigned to Refraction, it will refract. If you assign Raytrace to any other component, you have to manually specify whether you want reflected rays or refracted rays. (Default.) NOTE Auto Detect might fail when you use Raytrace map in a material with a strong bump map. When you use a strong bump map, choose one of the explicit options. Reflection Casts reflected rays off the object's surface. Refraction Casts refracted rays into or through the object's surface. NOTE Raytrace reflects and transmits the IDs in material ID channel on page 6075 (G-buffer on page 9173), so it can create glowing reflections, and so on. Local Exclude Click to display the local Include/Exclude dialog on page 6515. An object that is excluded locally is excluded from this map only. TIP Using exclusion lists is one of the best and simplest ways to speed up the raytracer. Reflection and Refraction Maps | 6787 Background group Use Environment Settings Respects the environment settings of the current scene. Color Swatch Overrides the environment settings with the specified color. Map Button Overrides the environment settings with the specified map. By specifying an environment map, you override the environment map for the scene as a whole. Both reflection and refraction use the scene-wide environment map unless you use this option to specify another map. With this control, you can use different environment maps on a per-object basis, or provide an environment to specified objects when the scene as a whole has none. Raytraced Reflection and Refraction Antialiaser group Controls in this group let you override the global antialiasing settings for raytraced maps and materials. They are unavailable if antialiasing is turned off globally. To turn on antialiasing globally, choose Rendering ➤ Raytracer Settings to open the Raytracer Global Parameters rollout on page 7120. On When on, uses antialiasing. Default=unavailable unless global antialiasing is turned on; on if global antialiasing is turned on. Drop-down list Chooses which antialiasing settings to use. There are three options: ■ Use Global Antialiasing Settings(The default.) Uses the global antialiasing settings. Click ... to open the Raytracer Global Parameters rollout on page 7120. ■ Fast Adaptive AntialiaserUses the Fast Adaptive antialiaser, regardless of the global setting. Click ... to open the Fast Adaptive Antialiaser dialog on page 6518. ■ Multiresolution Adaptive AntialiaserUses the Multiresolution Adaptive antialiaser, regardless of the global setting. Click ... to open the Multiresolution Adaptive Antialiaser dialog on page 6520. When you change settings for an antialiaser locally, you don't affect the global settings for that antialiaser. 6788 | Chapter 17 Material Editor, Materials, and Maps Raytrace: Attenuation Rollout Material Editor ➤ Raytrace map ➤ Attenuation Rollout When a ray is reflected off an object or refracted through it, by default the ray travels through space forever, with no attenuation on page 9098. The controls in this rollout allow you to attenuate rays, so their strength diminishes over distance. In the Raytrace map on page 6784, attenuation is implemented by a clipping algorithm. Objects beyond the maximum attenuation range aren't even considered by the raytracer. Because of this, assigning attenuation can speed up rendering time. Interface Falloff Type Choose the falloff to use. ■ OffTurns off attenuation. (Default.) Reflection and Refraction Maps | 6789 ■ LinearSets linear attenuation. Linear attenuation is calculated between the start and end range values. ■ Inverse SquareSets inverse square attenuation. Inverse square attenuation is calculated beginning at the start range, and doesn't use the end range. Inverse square is the actual attenuation rate for light in the real world. However, it doesn't always give the effect you want in a rendered scene. ■ ExponentialSets exponential attenuation. Exponential attenuation is calculated between the start and end range values. You also specify the exponent to use. ■ Custom FalloffSpecifies a custom curve to use for attenuation (falloff). Start Range The distance in world units where attenuation begins. Default=0.0. End Range Sets the distance in world units where the ray is fully attenuated. Default=100.0. This is not used by inverse square attenuation. Exponent Sets the exponent used in exponential falloff. Default=2.0. This is used only by exponential attenuation. Color These controls affect the behavior of light rays as they attenuate out. By default, as a ray fades out, it is rendered as the background color. You can set a custom color instead. Background As the ray attenuates out, returns the background (either the scene's background or the background specified locally in the Raytracer Parameters rollout) rather than the actual color of what the reflected/refracted ray sees. (Default.) Specify Sets the color that is returned by the ray as it attenuates out. If you choose not to use the background color, black or gray usually work best as the attenuation color, Custom Falloff group These controls are inactive unless the Falloff Type is set to Custom Falloff. Custom Falloff Uses the falloff curve to determine the falloff between the start and the end ranges. 6790 | Chapter 17 Material Editor, Materials, and Maps These are the controls for custom attenuation. The custom attenuation curve is at the left. The gray scale bar below the curve shows how the curve will affect the falloff as light rays diminish in strength. Near Sets the strength of the reflected/refracted ray at the start range distance. This is a normalized percentage that can range from 0.0 to 1.0. Default=1.0. Control 1 Controls the shape of the curve near the curve start. Default=0.667. Control 2 Controls the shape of the curve near the curve end. Default=0.333. Far Sets the strength of the reflected/refracted ray at the end range distance. This is a normalized percentage that can range from 0.0 to 1.0. Default=0.0. Raytrace: Basic Material Extensions Rollout Material Editor ➤ Raytrace map ➤ Basic Material Extensions Rollout This rollout contains controls for fine-tuning the effect of the Raytrace map on page 6784. Interface Reflectivity/Opacity These controls affect the intensity of the raytracer's results. ■ SpinnerControls the amount of raytracing used by the material it is assigned to. Analogous to the Output Amount parameter in the Output rollout of the Bitmap map type on page 6636. Reflection and Refraction Maps | 6791 ■ Map buttonAssigns a map that controls the amount of raytracing. You can vary the amount of raytracing used over the surface of the object. ■ Check boxEnables or disables the map. Tint With these controls, you can tint the colors returned by the raytracer. Tinting applies only to reflected colors; it doesn't affect the material's diffuse component. ■ Check boxTurns basic tinting on or off. Default=off. ■ Color swatchAssigns a tint color for reflections. Default=white. ■ Amount spinnerSets the amount of tinting used. Default=1.0. ■ Map buttonAssigns a map to use for tinting. You can vary the tint colors over the surface of the object. ■ Check boxEnables or disables the map. Bump Map Effect Controls the effect of a bump map on rays that the surface reflects and refracts. For example, you might want to make a glass object highly bumpy, but reduce the bump effect on refracted parts of the scene. 6792 | Chapter 17 Material Editor, Materials, and Maps Bump Map Effect equals 1.0. The refraction of tiles behind the glass is distorted by the bump map. Reflection and Refraction Maps | 6793 Bump Map Effect equals 0.0. The refraction of tiles behind the glass is not distorted. Bump Map Effect is active only when raytracing is enabled. Raytrace: Refractive Material Extensions Rollout Material Editor ➤ Raytrace map ➤ Refractive Material Extensions Rollout With the controls in this rollout, you can fine-tune the effect of the Raytrace map on page 6784 on a material's refraction component. 6794 | Chapter 17 Material Editor, Materials, and Maps Interface Internal Density Effects Color With these controls, you can specify a transmission color based on thickness. The density color gives the appearance of color within the object itself, like tinted glass. ■ EnableTurns color density on or off. ■ Color swatchDisplays a Color Selector on page 304. Choose the transmission color. ■ AmountControls the amount of density color. Reducing this value reduces the density color effect. Range=0 to 1.0. Default=1.0. ■ Color MapAssigns a map to the density color component. Use the check box to enable or disable the map. ■ Start and EndA thin piece of tinted glass is mainly clear, while a thick piece of the same glass has more color. Start and End Distance, expressed in world units, controls help you simulate this effect. Start is the position in the object where the density color begins to appear (Default=0.0). End is the position in the object where the density color reaches its full Amount Reflection and Refraction Maps | 6795 value. To have a lighter effect, increase the End value. To have a heavier effect, reduce the End value. Fog Density fog is also a thickness-based effect. It fills the object with a fog that is both opaque and self illuminated. The effect is like smoke trapped in a glass, or wax at the tip of a candle. Colored fog in tubular objects can resemble neon tubes. ■ EnableTurns fog on or off. ■ Color swatchDisplays a Color Selector on page 304 for choosing the fog color. ■ AmountControls the amount of density fog. Reducing this value reduces the density fog effect and makes the fog translucent. Range=0 to 999999.0. Default=1.0. ■ Color MapAssigns a map to the fog component. Use the check box to enable or disable the map. ■ Start and EndStart and End Distance controls, expressed in world units, adjust the fog effect based on the object's dimensions. Start is the position in the object where the density fog begins to appear (default=0.0). End is the position in the object where the density fog reaches its full Amount value. To have a lighter effect, increase the End value. To have a heavier effect, reduce the End value. Render objects inside raytraced objects Turns the rendering of objects inside raytraced objects on or off. Default=on. Render atmospherics inside raytraced objects Turns the rendering of atmospheric effects inside raytraced objects on or off. Atmospheric effects include fire, fog, volume light, and so on. Default=on. Treat Refractions as Glass (Fresnel effect) When on, applies a Fresnel effect to the refraction. This can add a bit of reflection to the refracting object, depending on the viewing angle of the object. When off, the object is refractive only. Default=on. Reflect/Refract Map Material Editor ➤ Material/Map Browser ➤ Reflect/Refract 6796 | Chapter 17 Material Editor, Materials, and Maps The Reflect/Refract map produces a reflective or refractive surface. To create reflection, assign this map type as the material's reflection map on page 6475. To create refraction, assign it as the refraction map on page 6477. Reflect/Refract map used for the balloons NOTE A reflective object can reflect another reflective object. In the real world, this creates a virtually infinite number of interreflections. In 3ds Max, you can set the number of interreflections within a range from 1 to 10. You set this Rendering Iterations parameter on the Render Setup dialog on page 6989. This map works by using six renderings in the form of a cube that surrounds the objects. Reflect/Refract views the cubic maps from the perspective of the pivot point on page 9269 of the object, mapping them onto the object's surface as a spherical reflection map. You can choose to generate the cubic maps automatically, or to load previously created maps. A reflective surface reflects the surrounding maps like a mirror. A refractive surface creates the illusion that the surrounding maps are seen through the surface. Reflection and Refraction Maps | 6797 NOTE Reflect/Refract is meant to be used with curved or irregularly shaped objects. For mirror-like flat surfaces that you want to reflect the environment accurately, use Flat Mirror on page 6778 material. For more accurate refractions, especially for an object in a refractive medium (such as a pencil in a glass of water), use Thin Wall Refraction material on page 6803. Automatic Cubic Maps When you choose automatic cubic maps, 3ds Max generates the maps based on the perspective of the mapped object's pivot point. Automatic maps are based on the geometry of the scene. The advantage to using automatic maps is that the six views are automatically generated at rendering time and can be easily updated for each frame of an animation. The disadvantage is that regenerating the maps increases rendering time. In addition, the maps exist only for the rendering and can't be edited or otherwise manipulated. In the Material Editor, automatic reflections or refractions reflect or refract the background of the sample slot. Assigning Cubic Maps When you choose to load cubic maps from files, you use the controls in the From File group. The advantage to using From File is that the bitmap files already exist and take less rendering time. In addition, you can edit the bitmap images. The disadvantage is that it's more difficult to use bitmaps to render an animation because first you need to create the animated bitmaps. IMPORTANT Assigned cubic maps must be square, and each of the six maps must be the same size. You can automatically load six bitmaps at once if the six bitmaps have valid cubic-map file names. The first part of all six file names must be the same, and the last part is an underscore followed by a two-letter abbreviation of the map position, as shown in the following table: Last Part of Cubic Map File Name Meaning _UP Up _DN Down _LF Left 6798 | Chapter 17 Material Editor, Materials, and Maps Last Part of Cubic Map File Name Meaning _RT Right _FR Front _BK Back For example, if you have six bitmaps on disk, labeled view_up.bmp, view_fr.bmp, view_lf.bmp, and so on, when you click one of the file buttons and choose the bitmap for that position, all six views are loaded. If you select a bitmap whose name doesn't follow the convention, or you select one with a valid cubic-map name but assign it to the wrong button, only that bitmap will be loaded. Since all assigned bitmaps must be the same size, when you assign a new bitmap to one of the windows, the sample slot doesn't update automatically. This avoids generating an error message each time you assign a bitmap. Once you've assigned all six maps and are sure they are square and the same size, click the Reload button to update all of the maps and redisplay the sample slot. You can also use the Reload button to see your changes after you've edited one of the cubic maps by using a paint program. Rendering Cubic Maps The controls in the Render Cubic Map Files group let you generate the maps automatically and save them to disk. Use the To File button to specify the folder and file name of the Up (_UP) bitmaps. Click Pick Object and Render Maps, and then click the object to map. 3ds Max creates the files and also assigns them to the six From File map buttons. Rendering cubic maps has the same effect as automatic with the advantage that map rendering doesn't have to take place at scene rendering time. The disadvantage is that you can't create an automatically animated reflections or refractions this way. Using Animated Cubic Maps The cubic maps can be animations instead of bitmaps. Be sure that each is square and all have the same resolution. If you want the animated reflections to match animated changes in the scene, use automatic maps and set them to render every Nth frame. Reflection and Refraction Maps | 6799 Procedures To generate and save cubic maps: 1 In the Source group, choose From File. 2 In the Render Cubic Map Files group, click the button next to To File. A file dialog is displayed. Type a name for one of the six cubic bitmap files. You're specifying the name of the Up bitmap. There are two ways to do this: ■ Specify the entire file name; for example, myview_up.bmp. ■ Specify the file prefix and extension only; for example, myview.bmp. IMPORTANT You must specify at least a prefix and extension. The "_UP" is added automatically. 3 Click Pick Object and Render Maps. 4 Click an object in your scene where you want the six views rendered. This is usually the same object where you will apply the material, but it doesn't have to be. After selecting the object, a window opens temporarily that shows the six views as they render and are saved to disk. Their file names then appear on the six buttons in the From File group. Each of the six file names is identical, except for a two-letter suffix indicating the direction of the rendered view. 6800 | Chapter 17 Material Editor, Materials, and Maps Interface Source Chooses the source of the six cubic maps. Automatic Automatically generates by looking out in six directions from the pivot of the object with the material, then mapped onto the surface during rendering. When on, the options in the Automatic group are active, letting Reflection and Refraction Maps | 6801 you choose whether the maps will be generated only once, or regenerated at specified frames in the animation. From File When on, you can specify the bitmaps to use. When From File is active, the controls in the Render Cubic Map Files group are also available. You can generate the six cubic reflection maps automatically and save them to files, where you can load them with the From Files controls. Size Sets the size of the Reflect/Refract maps. The default value of 100 produces distinct images. Lower values lose progressively more detail. Use Environment Map When off, environment maps are ignored by Reflect/Refract map during rendering. It's useful to turn this off when you have mirrors in the scene and you're rotoscoping against a flat screen environment map. A screen environment map does not exist in 3D space the way the other environment-map types do, and will not render properly. Blur group Apply Turns on filtering to blur the maps. Blur Offset Affects the sharpness or blurriness of the map without regard to its distance from the object. Use Blur Offset when you want to soften or defocus the details in a map to achieve the effect of a blurred image. Blur Affects the sharpness or blurriness of the generated map based on its distance from the object. The farther away the map is, the greater the blurring. Blur is primarily used to avoid aliasing on page 9087. It's a good idea to use a small amount of blurring for all maps in order to avoid the scintillation or aliasing that can occur when pixel details are reduced off in the distance. Default=1. Atmosphere Ranges group If your scene contains environmental Fog on page 7640, the cubic maps must have near and far range settings to properly render the fog from the point of view of the object assigned the material. The Near and Far spinners in this group let you specify a fog range relative to the object. Near Sets the near range for fog. Far Sets the far range for fog. Get From Camera Uses the Near and Far atmosphere range settings of a camera in the scene. Click this option, and then select the camera. These values aren't dynamically linked to the camera object. They are simply copied from the camera's range values at the time you click the camera. If the 6802 | Chapter 17 Material Editor, Materials, and Maps camera's range values later change, the map's Near and Far values remain the same. Automatic group This controls are active only when Automatic is the active source for the Reflect/Refract maps. First Frame Only Tells the renderer to create automatic maps only on the first frame. Every Nth Frame Tells the renderer to create animated auto maps based on the frame rate on page 9169 set by the spinner. From File group These controls are active when From File is active as the Reflect/Refract source. Here you assign the six bitmaps to be used as the cubic maps. Up / Down / Left / Right / Front / Back Assigns one of the six cubic maps. If the map is one of a set of six with the correct file name, all six are loaded. If the map doesn't follow file naming conventions, or you assign it to a button of a different position (_UP to Front, for example), only that map is assigned. You must assign the others manually. Reload Reloads the assigned maps and updates the sample slot. You can edit one or more of the cubic maps using a paint program, then click Reload to update the material and the scene. Render Cubic Map Files group To File Choose a file name for the Up map (_UP). Pick Object and Render Maps Active when you choose a file. Click to turn on, then select the mapped object to render the six cubic maps. Assign the cubic maps to the six From File buttons. Thin Wall Refraction Map Material Editor ➤ Material/Map Browser ➤ Thin Wall Refraction Reflection and Refraction Maps | 6803 Thin Wall Refraction simulates the "jog," or offset effect, you find when you view part of an image through a plate of glass. For objects that model glass, such as a Box in the shape of a window pane, this map is faster, uses less memory, and provides a much better visual effect than the Reflect/Refract map. Thin wall refraction TIP At 100% refraction and opacity, you can see no diffuse color or mapping, and there is not much illusion of a refractive material. The effect is invisible. In the Maps rollout of the parent material, set Refraction Amount to 50%, and in the Basic Parameters rollout, set Opacity to a value greater than 0. Procedures To assign the Thin Wall Refraction map to a material: 1 Click the Map button for Refraction in the material's Maps rollout. 2 In the Material/Map Browser, choose Thin Wall Refraction. 3 Adjust the map's parameters. 4 In the parent material, set the Refraction Map Amount to 50%. 6804 | Chapter 17 Material Editor, Materials, and Maps 5 Assign the material to an object. Interface Blur group These controls are for antialiasing. Apply Blur Turns on filtering to blur the maps. Blur Affects the sharpness or blurriness of the generated map based on its distance from the object. The farther away the map is, the greater the blurring. Blur is primarily used to avoid aliasing on page 9087. It's a good idea to use a small amount of blurring for all maps in order to avoid the scintillation or aliasing that can occur when pixel details are reduced off in the distance. Default=1.0. Render group These controls affect how the refraction should behave in animations. First Frame Only Tells the renderer to create the refracted image only on the first frame. This is the fastest option. You can use it if the camera and refractive object don't move. Reflection and Refraction Maps | 6805 Every Nth Frame Tells the renderer to regenerate the refracted image based on the frame rate on page 9169 set by the spinner. Every single frame provides the most accurate result, but takes longest to render. Use Environment Map When off, environment maps are ignored by the refraction during rendering. It's useful to turn it this off when you have refractions in the scene and you're rotoscoping against a flat screen environment map. A screen environment map does not exist in 3D space the way the other environment map types do, and will not render properly. Default=on. Refraction group These controls are specific to the Thin Wall Refraction effect: Thickness Offset Affects the size of the refractive offset, or jog effect. At 0, there's no offset, and the object can appear invisible in the rendered scene. At 10.0, the offset is at its greatest. Range from 0.0 to 10.0; Default=0.5. NOTE The IOR (index of refraction) spinner in the parent material's Extended Parameters rollout also affects the offset effect. Bump Map Effect Affects the magnitude of refraction due to the presence of a bump map. This parameter multiplies the current bump map Amount in the parent material. Reduce this value to reduce the effect of the secondary refraction; increase this value to increase the effect. If there is no bump map assigned, this value has no effect. Default=1.0. If there is unevenness in the surface of the glass, there is a secondary refraction. Thin Wall Refraction generates this secondary refraction if the material also has a bump map present. The algorithm guesses at the scaling of the secondary refraction, and can create too large an effect. If this happens, scale the effect down by reducing this value to less than one. mental ray Shaders In mental ray, a shader is a function that calculates light effects. There can be shaders for lights, cameras (lens shaders), materials, shadows, and so on. NOTE In 3D modeling, the term “shader” typically refers to an algorithm that specifies how a surface responds to light. (The shaders for standard 3ds Max fall into this category.) With the mental ray renderer, “shader” has a more general sense of any algorithm used in rendering. 6806 | Chapter 17 Material Editor, Materials, and Maps The mental ray renderer on page 7129 can render most types of 3ds Max materials and maps. See 3ds Max Materials in mental ray Renderings on page 7137. In addition, if you have enabled mental ray extensions (see mental ray Preferences on page 8950), you can apply a variety of shaders to materials. Materials designed for use with the mental ray renderer have specific components to which you can assign a shader. And for standard 3ds Max material types, the mental ray Connection rollout on page 6215 lets you add mental ray shading. WARNING When you use the scanline renderer, mental ray shaders typically appear as black or white surfaces, or they are ignored entirely. You assign a mental ray shader the same way you do a map. In the Material/Map Browser on page 6167, mental ray shaders appear with a yellow icon, instead of the green icon used for maps. mental ray maps in the browser's list are shown with yellow icons. The shaders listed in the Browser depend on which type of shader component you have chosen in the Material Editor. For example, when you assign a Surface shader, the Browser lists a variety of shaders and standard 3ds Max maps. But when you assign a more special-purpose Contour shader, the Browser lists only those shaders that generate contour lines. mental ray Shaders | 6807 NOTE Other kinds of special-purpose shaders include shaders for cameras and lights. Buttons to assign camera shaders are found on the Render Setup dialog ➤ Camera Effects rollout on page 7201, and the controls to assign light shaders are on a light object's mental ray Light Shader rollout on page 5824. This rollout appears only on the Modify panel, not the Create panel. The shaders listed in the Browser come from several libraries that are provided with 3ds Max. Shaders created specifically for 3ds Max are described in this document. Shaders provided with the mental images or lume shader libraries have their own online documentation. In addition to the shaders described in the topics that follow, 3ds Max includes these shaders: ■ The Car Paint on page 6343 material is also available as a shader, with the same set of parameters. ■ The mr Sun on page 5885, mr Sky on page 5888, and mr Physical Sky on page 5893 shaders are components of the mental ray Sun & Sky on page 5874 solution. ■ Volume shading on page 7164 can be applied to a camera or material. ■ Displacement shading on page 7167 adds surface detail to models at render time. ■ Contour shading on page 7168 lets you render vector-based contour lines, or outlines. NOTE When you wire the parameters of an object whose material has mental ray shaders assigned, names of shader parameters might differ from those in the Material Editor interface. Also, parameters not supported by 3ds Max might appear as blanks in the wiring menu. mental ray Shaders not Provided with 3ds Max If your installation includes shader libraries other than those listed in this reference (whether obtained from a third-party source, or custom written), then the Browser might list those shaders as well. Documentation for third-party or custom shaders should come from the shader's provider. Where Shaders Are Installed Shaders provided with 3ds Max are installed in the subdirectory \mentalimages\shaders_standard\, below the 3ds Max root directory. The \include folder is for the MI include files, and the \shaders folder is for the DLLs. 6808 | Chapter 17 Material Editor, Materials, and Maps Third-party shaders should not be installed in \shaders_standard. They should be installed either in \shaders_3rdparty or \shaders_autoload. If a third-party shader is present in \shaders_autoload, it is loaded automatically when you start 3ds Max. If a third-party shader is present in \shaders_3rdparty, you must update the file 3rdparty.mi so it explicitly loads the shader. The MI file \shaders_3rdparty\3rdparty.mi contains comments that explain how to add load statements. NOTE Shaders listed in the MI file are loaded in reverse order: that is, from the bottom of the list to the top. mental images Shader Libraries Material Editor ➤ Material/Map Browser ➤ Choose a mental ray shader other than a custom 3ds Max shader or a lume shader. Note: Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. The shaders provided with standard libraries from mental images are meant for use with the mental ray renderer on page 7129. There are three standard libraries: Base Shaders (base.mi), Physics Shaders (physics.mi), and Contour Shaders (contour.mi). NOTE In the mental image libraries, the names of base shaders have the prefix “mib_” and the names of contour shaders have the prefix “contour_”. These prefixes don't appear in the 3ds Max user interface or in the table that follows. (Names of physics shaders have no conventional prefix.) The following table lists the mental images library shaders provided with 3ds Max. TIP When you follow a link to the documentation for mental images library shaders, scroll up a bit in your browser. The links tend to go directly to the shader's declaration code, and often there are some introductory paragraphs directly above the code. If the link goes to the beginning of a section, scroll down instead. Shader Library Ambient/Reflective Occlusion base mental ray Shaders | 6809 Shader Library Combi contour Contour Composite contour Contour Contrast Function Levels contour Contour Only contour Contour PS (PostScript) contour Contour Store Function contour Curvature contour Depth Fade contour Photon physics Dielectric base Factor Color contour Layer Thinner contour Light Infinite base Light Point base Light Spot base Opacity base Parti Volume physics Photon Basic base Reflect base Refract base 6810 | Chapter 17 Material Editor, Materials, and Maps Shader Library Shadow Transparency base Simple contour Texture Remap base Texture Rotate base Texture Wave base Transmat physics Transmat Photon physics Transparency base Two Sided base Width From Color contour Width From Light contour Width From Light Dir contour NOTE You can also access the mental images shader help by choosing Help ➤ Additional Help, opening the mental ray 3.6 Reference, and then highlighting mental ray Shader Reference on the Contents panel. Shaders in the LumeTools Collection Material Editor Material/Map Browser ➤ Choose one of the shaders listed in this topic. Note: LumeTools shaders appear in the Browser only if the mental ray renderer is the currently active renderer. mental ray Shaders | 6811 The LumeTools Collection of shaders provide a variety of naturalistic effects when used with the mental ray renderer on page 7129. These are the lume shaders provided with 3ds Max: ■ Beam ■ Distortion ■ Edge and Edge Shadow ■ Facade ■ Glass ■ Glow ■ Landscape ■ Metal ■ Mist ■ Night ■ Ocean ■ Stain ■ Submerge ■ Translucency ■ Water Surface ■ Wrap Around ■ Wet-Dry Mixer NOTE You can also access the lume shader help by choosing Help ➤ Additional Help, opening the mental ray Reference, and then highlighting LumeTools Collection on the Contents panel. 6812 | Chapter 17 Material Editor, Materials, and Maps 3ds Max Custom Shaders Material Editor ➤ Material/Map Browser ➤ Pick a mental ray shader other than a mental images library shader or a lume shader. Note: Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. The topics in this section describe custom shaders for use with the mental ray renderer on page 7129, and 3ds Max. 3D Displacement Shader (mental ray) Material Editor ➤ mental ray Connection rollout ➤ For the Displacement component, turn off the lock button. ➤ Click the button for the Displacement component. ➤ Material/Map Browser ➤ 3D Displacement Material Editor ➤ mental ray material ➤ Click the button for the Displacement component. ➤ Material/Map Browser ➤ 3D Displacement Note: Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. A 3D Displacement shader displaces the geometry of surfaces. The effect is similar to displacement mapping of a standard material. You can apply mental ray displacement to any kind of object, unlike standard displacement mapping, which is restricted to surface models (meshes, patches, polys, and NURBS surfaces). Displaced surfaces are smooth if the displaced polygons share normals; otherwise, the displaced surfaces are faceted. Also, unless normals are shared, faces can become separated in the displaced mesh. To prevent this, make sure adjacent surfaces belong to the same shading group. mental ray Shaders | 6813 When the mental ray renderer is the active renderer, mental ray displacement is the only displacement method used, unless your scene includes a Displace modifier on page 1255, which always uses standard 3ds Max displacement. TIP Before you render, you can disable or enable displacement by using the Displacement toggle in the Options group on the Common Parameters rollout on page 7020. Global settings for the mental ray displacement method are in the Displacement group on the Render Setup dialog ➤ Renderer panel ➤ Shadows And Displacement rollout on page 7209. See also: ■ mental ray Displacement on page 7167 ■ mental ray Connection Rollout on page 6215 ■ mental ray Material on page 6369 Interface 6814 | Chapter 17 Material Editor, Materials, and Maps 3D Displacement (3dsmax) Parameters rollout NOTE The button to the right of the Factor and Direction Strength controls is a shortcut shader button. Clicking one of these buttons displays the Material/Map Browser on page 6167 so you can assign a shader to this component. When a map or a shader has been assigned to a component, this button displays the letter “M,” and the comparable button on the Shaders rollout displays the map or shader name. Object Independent When on, the displacement effect is independent of the size of the object's bounding box. When off, the displacement effect is scaled according to the size of the object. Default=on. Scaling the displacement based on object size is the standard behavior for regular 3ds Max displacement mapping. Displacement Length This is the length of displacement when Object Independent is on, the extrusion map is at 100 per cent (white) and the Extrusion Strength equals 1.0. Lower gray levels in the extrusion map, or other values of Extrusion Strength, scale the amount of displacement. When Object Independent is off, this value is disregarded. Default=1.0. Extrusion Strength Controls the height of the displacement. This value is a multiplier: at the default value of 1.0, the map's effect is unchanged. Greater values increase the effect of the map, and lower values decrease it. Default=1.0. Extrusion Map Click to display the Material/Map Browser on page 6167 and choose a map to use for the displacement. Displacement maps apply the gray scale of the map to generate the displacement. Lighter colors in the 2D image push outward more strongly than darker colors, resulting in a 3D displacement of the geometry. Direction Strength Controls the strength of the direction shader. Default=0.0. IMPORTANT Adding a direction shader has no visible effect unless you set Direction Strength to be greater than its default value of zero. (Direction Strength values less than zero have no effect.) Direction Map Click to display the Material/Map Browser on page 6167 and choose a shader to use for the map direction. The direction of the displacement is perturbed according to the RGB values of the shader output or map pixels. Red values offset in the U axis, Green values offset in V, and Blue values offset in W (using the object-local UVW coordinates). mental ray Shaders | 6815 Shaders rollout The controls on this rollout let you assign a map or shader to the Factor or Direction Strength parameters. Click the button for a component to display the Material/Map Browser on page 6167 and assign the map or shader. Use the toggle at the left to turn the effect of the map off or on. The button to the right of each main shader button is for shaders that can return multiple parameters. If a shader that returns multiple parameters is assigned to the component, the button's tooltip shows the parameter name. Bump Shader (mental ray) Material Editor ➤ mental ray material ➤ Click the button for the Surface or Bump component. ➤ Material/Map Browser ➤ Bump Note: Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. The Bump shader provides bump mapping for the mental ray renderer. Bumps are created by perturbing face normals before the object is rendered, using the same method as bump mapping on page 6472 for the scanline renderer. WARNING Although you can assign a Bump shader to the Surface component, if you assign only a Bump shader, the surface will render as black. For the Surface component, use the Bump shader in a Shader List on page 6840, or for the mental ray material on page 6369, use the Bump component itself. 6816 | Chapter 17 Material Editor, Materials, and Maps Interface Bump (3dsmax) Parameters rollout Multiplier Adjust the bump effect by multiplying the map values. Negative Multiplier values reverse the bump effect: hollow areas now protrude, and raised areas become hollow. Default=1.0. Map Click to display the Material/Map Browser on page 6167 and choose a map to use for generating bumps. Bump mapping uses the intensity of the map to affect the surface of the material. The intensity affects the apparent bumpiness of the surface: white areas protrude, and black areas recede. Shaders rollout The controls on this rollout let you assign a map or shader to the Multiplier parameter. Click the button for a component to display the Material/Map Browser on page 6167 and assign the map or shader. Use the toggle at the left to turn the effect of the map off or on. The button to the right of the main shader button is for shaders that can return multiple parameters. If a shader that returns multiple parameters is assigned to the component, the button's tooltip shows the parameter name. mental ray Shaders | 6817 DGS Material Shader (mental ray) Material Editor ➤ mental ray Connection rollout ➤ Unlock the Surface or Photon component. ➤ Click the shader button for the Surface or Photon component. ➤ Material/Map Browser ➤ DGS Material Material Editor ➤ mental ray material ➤ Click the button for the Surface or Photon component. ➤ Material/Map Browser ➤ DGS Material Note: Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. DGS stands for Diffuse, Glossy, Specular. This shader is a mental ray phenomenon (a scripted shader tree) that provides a physically accurate simulation of a surface. With the mental ray Connection rollout of a basic 3ds Max material, or a mental ray material, you can assign the DGS Material shader to either the Surface or Photon component. This shader provides a custom 3ds Max interface to the “DGS Material Photon” shader that is part of the mental images physics library. 6818 | Chapter 17 Material Editor, Materials, and Maps Interface Parameters rollout NOTE The button to the right of the first six controls is a shortcut shader button. Clicking one of these buttons displays the Material/Map Browser on page 6167 so you can assign a shader to this component. When a map or a shader has been assigned to a component, this button displays the letter “M,” and the comparable button on the Shaders rollout displays the map or shader name. Diffuse Click the color swatch to display a Color Selector on page 304 and change the material's diffuse color. Glossy Highlights Click the color swatch to display a Color Selector and change the color of glossy highlights. Specular Click the color swatch to display a Color Selector and change the color of mirror reflections. When the specular color is white, the material is mental ray Shaders | 6819 100 percent reflective, like a mirror. When the specular color is black, the material does not reflect any of its surroundings. Shiny Sets the width of glossy highlights. The larger this value, the smaller the highlights. Default=30.0. Transparency Specifies the transparency. The effective range of Transparency is from 0.0 to 1.0. At 0.0 the material is fully opaque. At 1.0 it is fully transparent. Default=0.0. WARNING You can set the value of Transparency to be greater than 1.0, but this has no effect. An anomaly of the user interface for shaders in the mental ray and lume libraries, is that spinner values are not “clamped” to lie within their effective ranges, as they are for controls in 3ds Max. The value of Transparency also indirectly specifies the reflectivity of the material, which is calculated as 1.0 minus the Transparency value. Index Of Refraction Specifies the IOR. In the physical world, the IOR results from the relative speeds of light through the transparent material and the medium the eye or the camera is in. Typically this is related to the object's density. The higher the IOR, the denser the object. Default=1.5. See Extended Parameters Rollout (Standard Material) on page 6436 for a list of IOR values for commonly encountered materials. NOTE When the IOR equals 1.0, there is no refraction, and calculating the transparency can take less time than when the material is refractive. Lights When on, the material is illuminated only by those lights specified in the list. When Lights is turned off, all lights in the scene affect the material. Default=off. The remaining light controls are unavailable unless Lights is turned on. ■ List of lightsDisplays the lights you have chosen to illuminate this material. ■ AddAdds a light to the list. Click Add to turn it on, then click the light object in a viewport. ■ ReplaceReplaces a light in the list. Highlight a light's name in the list, click Replace to turn it on, then click the replacement light object in a viewport. ■ DeleteDeletes a light from the list. Highlight a light's name in the list, then click Delete. 6820 | Chapter 17 Material Editor, Materials, and Maps Shaders rollout The controls on this rollout let you assign a map or shader to one of the basic parameters of the DGS Material shader. This is comparable to mapping a component of a standard material; by adding shaders, you can create a shader tree that generates complex effects. Click the button for a component to display the Material/Map Browser on page 6167 and assign the map or shader. Use the toggle at the left to turn the effect of the map off or on. The button to the right of each main shader button is for shaders that can return multiple parameters. If a shader that returns multiple parameters is assigned to the component, the button's tooltip shows the parameter name. For all the DGS Material shader components, the available mental ray shaders are the same: Shader Library Bump on page 6816 3ds Max DGS Material (this shader) 3ds Max Dielectric base Dielectric Material on page 6823 3ds Max Edge lume Facade lume mental ray Shaders | 6821 Shader Library Glass lume Glow lume Landscape lume Material to Shader on page 6832 3ds Max Metal lume Ocean lume Opacity base Reflect base Refract base Shader List on page 6840 3ds Max Stain lume Translucency lume Transmat physics Transparency base Two Sided base Water Surface lume Wet-Dry Mixer lume 6822 | Chapter 17 Material Editor, Materials, and Maps Dielectric Material Shader (mental ray) Material Editor ➤ mental ray Connection rollout ➤ Unlock the Surface or Photon component. ➤ Click the shader button for the Surface or Photon component. ➤ Material/Map Browser ➤ Dielectric Material or Dielectric Material Photon Material Editor ➤ mental ray material ➤ Click the button for the Surface or Photon component. ➤ Material/Map Browser ➤ Dielectric Material or Dielectric Material Photon Note: Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. The Dielectric Material shader creates transparent, refractive materials that are physically accurate. A dielectric material, such as glass, is a material whose surface transmits most light that strikes it at angles close to perpendicular (90 degrees), but reflects most light that strikes at glancing angles (close to zero degrees). When applied to the Surface component, this shader affects the surface's appearance. When applied to the Photon component, it affects its photon behavior for caustics and global illumination. (The Glass material is a mental ray phenomenon (a scripted shader tree) that is equivalent to a mental ray material on page 6369 with a Dielectric Material shader assigned to both its Surface and Photon components, with the parameter settings identical for both.) NOTE This material does not use a shadow shader, so shadows will always be opaque unless you use a Dielectric Material shader for the Photon component, and generate caustics when you render. Adjacent Refractive Materials Two controls, Outside Light Persistence and Index Of Refraction (Out), are for situations where you are modeling two adjacent refractive materials. Consider a drink in a martini glass. The glass has an index of refraction (IOR) of 1.5, while the alcohol in the glass has an IOR of about 1.3. To create a physically accurate model of this situation, use three glass materials: one for the glass itself, one for the alcohol, and a third material for the surfaces where mental ray Shaders | 6823 they touch each other. For this third material, set the “inside” IOR to 1.3, and the outside IOR to 1.5. Interface Light Persistence In conjunction with the Persistence Distance, controls the percentage of light that the volume transmits. For example, if the color is set to R=G=B=0.5 and the Persistence Distance is set to 2.0, then objects with a thickness of 2.0 units will appear 50 per cent transparent. Default=white (R=G=B=1.0). Because transparency depends on the thickness of the object, objects with varying thickness show different transparency depending on the angle from which they are viewed. Index Of Refraction Specifies the Index Of Refraction (IOR). In the physical world, the IOR results from the relative speeds of light through the transparent material and the medium the eye or the camera is in. Typically this is related to the object's density. The higher the IOR, the denser the object. Default=1.5. See Extended Parameters Rollout (Standard Material) on page 6436 for a list of IOR values for commonly encountered materials. Outside Light Persistence In conjunction with the Persistence Distance, controls the percentage of light transmitted on the other side of a surface. 6824 | Chapter 17 Material Editor, Materials, and Maps When set to the default of black, this control has no effect. See the section “Adjacent Refractive Materials,” above. Default=black (R=G=B=0.0). Index Of Refraction (out) Sets the IOR on the other side of a surface. When set to the default of zero, this control has no effect. See the section “Adjacent Refractive Materials,” above. Default=0.0. Persistence Distance In conjunction with the Light Persistence color, controls the percentage of light that the volume transmits. It is the distance at which light transmission is reduced to the percentage specified by the Light Persistence RGB values. Default=1.0. If you specify an Outside Light Persistence color, that setting also uses the Persistence Distance. Ignore Normals When on, the renderer does not use normals to decide whether a light ray is entering or leaving the object. Normally, the shader uses normals to decide whether a ray is entering or leaving an object. (It is entering if the normal points toward the ray, leaving if the normal points away from the ray.) This can present a problem for rendering objects whose normals are not unified. When Ignore Normals is on, the shader decides whether a ray is entering or leaving the object by counting the number of times the ray has intersected the object. Default=off. Opaque Alpha When on, refracted rays that touch the environment don't generate a transparent alpha value. (This is how 3ds Max usually treats the environment.) When off, refracted rays that touch the environment render a transparent alpha value, which can help if you plan to use the rendering as part of a composite. Default=off. Phong Coefficient When greater than zero, generates Phong highlights on the surface. The highlights appear in the sample slot. In general this value must be greater than 10 for highlights to be apparent. Default=0.0. Environment Shader (mental ray) Material Editor ➤ mental ray Connection rollout ➤ Assign a shader to the Environment component. ➤ Material/Map Browser ➤ Environment mental ray Shaders | 6825 Material Editor ➤ mental ray material ➤ Assign a shader to the Environment component. ➤ Material/Map Browser ➤ Environment Note: Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. The Environment shader lets you specify an environment that is local to the material. Controls for the Environment shader are similar to those for a scene's environment on the Render Setup dialog ➤ Environment panel. However, the local Environment shader doesn't affect the scene background. Instead, it provides an environment that the material can reflect or refract. If an environment map is present, it generates the reflections or refractions, and they are not ray traced. Interface Parameters rollout NOTE The buttons to the right of the UseAlpha and Color controls are shortcut shader buttons. Clicking one of these buttons displays the Material/Map Browser on page 6167 so you can assign a shader to this component. When a map or a shader is assigned to a component, this button displays the letter “M,” and the comparable button on the Shaders rollout displays the map or shader name. 6826 | Chapter 17 Material Editor, Materials, and Maps UseAlpha When on, uses the map's alpha channel, if it has one. The alpha channel specifies those portions of the map that are transparent or translucent. Default=off. Color Click the color swatch to display a Color Selector on page 304 and choose a color to use as the environment. Map Click the button to display a Material/Map Browser on page 6167 and choose a map to use as the environment. Shaders rollout The controls on this rollout let you assign a map or shader to the UseAlpha and Color parameters. Click the button for a component to display the Material/Map Browser on page 6167 and assign the map or shader. Use the toggle at the left to turn the effect of the map off or on. The button to the right of each main shader button is for shaders that can return multiple parameters. If a shader that returns multiple parameters is assigned to the component, the button's tooltip shows the parameter name. Glare Shader (mental ray) Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Renderer panel ➤ Camera Effects rollout ➤ Camera Shaders group ➤ Click the Output button. ➤ Material/Map Browser ➤ Glare The Glare shader, when used as a camera output shader on page 7207, creates a halo around very bright areas in the rendered image. It’s applied in two mental ray Shaders | 6827 dimensions after rendering, so it can partially obscure darker objects between the bright area and the camera for greater realism. Interior lit by mr Sky Portal; no glare Interior with Glare shader for output; default Glare settings NOTE The glare effect from this shader is intended purely for illustrative purposes. It is not designed to be physically accurate and is not suited for precise simulation purposes. Procedure To use the Glare shader: Using and adjusting the Glare output shader requires first assigning it on the Render Setup dialog, and then instancing it in the Material Editor. This procedure delineates the steps for doing so. 1 Make sure mental ray is the assigned renderer. 2 Open the Render Setup dialog (press F10), and on the Renderer panel, go to the Camera Effects rollout. 3 On the Camera Effects rollout, click the Output button (labeled “None” by default). This opens the Material/Map Browser. 4 In the shader list, double-click the Glare entry. This assigns the shader and closes the browser. 5 Render the scene. If the results are satisfactory, you can stop here. The remaining steps concern adjusting the shader settings. 6828 | Chapter 17 Material Editor, Materials, and Maps 6 Open the Material Editor (press M), and, if necessary, the Render Setup dialog. 7 Drag the Output button from the Camera Shaders group on the Render Setup dialog to a sample slot on the Material Editor. When the Instance (Copy) Map dialog prompts you, choose Instance, if necessary, and click OK. This places an instance of the Glare shader in the sample slot. Editing this instance also modifies the output shader you originally assigned. 8 Adjust the Glare Parameters as necessary, rendering as you go to view the results. Interface Quality Lets you set the tradeoff between detail and speed. Lower Quality settings cause Glare to run more quickly, but can result in a boxy-looking glare halo, while a higher Quality value gives a better overall effect at the cost of rendering time. A mid-level setting is appropriate for most scenes. Spread Controls how sensitive Glare is to bright objects. Lower values for Spread produce smaller glare halos while higher values cause larger glare halos. Very high values can cause dark objects to have halos. TIP The best way to enlarge an object's halo is to increase its brightness, not to increase the Spread value. Streaks When on, uses an image file you specify to create a streaking effect, such as is visible when looking at bright images through glass or, in photographs, through a camera lens. mental ray Shaders | 6829 Streak Image Click to choose an image file to be used to create the streak effect. This file takes effect only when Streaks is on. Streaks Weight Controls the blending between the "normal" glare and the streaks image. A value of 0.0 disables streaks, while a value of 1.0 makes the streaks fully visible. Resolution for Glare Processing An absolute value specifying the image size, in pixels, on which the Glare computation occurs. If you image is rendered at 5000 x 5000 and Resolution for Glare Processing is set to 350, Glare will effectively compute on a 350 x 350 image internally and reapplied on the final image, possibly resulting in an inadeqate glare effect. Replace Rendered Image with Glare Only Generates an overlay image of the glare effect only; the original underlying image is removed. This mode is useful when render speed is critical, so that Glare can be run on a lower-resolution image to produce an overlay, which you can then composite with a higher-resolution underlying image. Height Map Displacement Shader (mental ray) Material Editor ➤ mental ray Connection rollout ➤ For the Displacement component, turn off the lock button. ➤ Click the button for the Displacement component. ➤ Material/Map Browser ➤ Height Map Displacement Material Editor ➤ mental ray material ➤ Click the button for the Displacement component. ➤ Material/Map Browser ➤ Height Map Displacement Note: Shaders don't appear unless the mental ray renderer is the currently active renderer. The Height Map Displacement shader displaces the geometry of surfaces, and is specifically intended for use with height maps generated by normal mapping; see Creating and Using Normal Bump Maps on page 7320. 6830 | Chapter 17 Material Editor, Materials, and Maps IMPORTANT When applying a material containing this map to an object, the mental ray Displacement ➤ Smoothing option must be off. If such materials are applied to all objects in the scene, you can turn off Smoothing globally on page 7212. Otherwise, turn off smoothing for each object whose material uses a height map via the Object Properties ➤ mental ray panel on page 236 (turn off Use Global Settings and then turn off Smoothing). TIP Avoid the temptation to apply MeshSmooth to a model when creating a height map for it. This changes the shape of the model so the height values will not be correct. The low-res model must have exactly the same shape when the map is created and when it is used for displacement. Also, MeshSmooth does not use the same algorithm as the mental ray displacement smoothing, so using both forms of smoothing won't work perfectly. The best results are obtained by not smoothing the low-res model when the map is created and also not using mental ray smoothing. Also, avoid using a paint program to modify the height map. The values in the height map depend on the shape of both the low-res and high-res models, and it's easy to damage the mathematical accuracy. If you paint any changes onto the map, you must be careful to preserve the faceted look, and avoid the temptation to blur away the facets. You might try painting in Additive and Subtractive mode to add or subtract to the displacement, because Normal mode will set a fixed displacement, making it difficult for an artist to control the result. See also: ■ 3D Displacement Shader (mental ray) on page 6813 ■ mental ray Displacement on page 7167 ■ mental ray Connection Rollout on page 6215 ■ mental ray Material on page 6369 Interface mental ray Shaders | 6831 Height Map Displacement (3dsmax) Parameters rollout Be sure to enter the same values for Minimum and Maximum Height as the equivalents on the Projection Options dialog, as specified below. Minimum Height The “Min Height” value specified on the Render to Texture: Projection Options dialog on page 7351 when creating the height map. Default=-10.0. Maximum Height The “Max Height” value specified on the Render to Texture: Projection Options dialog on page 7351 when creating the height map. Default=10.0. Height Map The height map itself (usually a bitmap). Material to Shader (mental ray) Material Editor ➤ mental ray Connection rollout ➤ Assign a shader. ➤ Material/Map Browser ➤ Material to Shader Material Editor ➤ mental ray or DGS material ➤ Assign a shader. ➤ Material/Map Browser ➤ Material to Shader Note: Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. Lets you use a regular 3ds Max material as a shader. Depending on the component to which this shader is assigned (Surface, Shadow, Displacement, Volume, and so on), the mental ray renderer uses the appropriate material component. For example, if you want a mental ray material's Surface component to look like a standard material you have, assign Material To Shader as the Surface shader, and then assign it the standard material. NOTE Material To Shader doesn't work as an environment background. Use the original 3ds Max material, instead. TIP To edit the material assigned to Material To Shader, you can drag the button to an unused sample slot in the Material Editor (be sure to choose Instance when prompted). Or you can follow these steps: 6832 | Chapter 17 Material Editor, Materials, and Maps 1 In an unused sample slot, create the material and adjust its settings. 2 Save the material to a library. 3 Assign the Material To Shader to its component. 4 When you click the Material To Shader's shader button, browse from the library and load the material you prepared in advance. If you need to further adjust the material, you can repeat these steps (without having to reassign the Material To Shader). Interface Material button Click to display the Material/Map Browser on page 6167 and choose the material to use for shading. mr Labeled Element Shader (mental ray) Material Editor ➤ Any material ➤ Click a map button ➤ Material/Map Browser ➤ mr Labeled Element Note: Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. The mr Labeled Element shader doesn’t actually function as a shader, but instead works in conjunction with the mr Labeled Element render element on page 7298 to let you output any branch of a shader tree (a string of nested maps) as a render element. For example, if you use the Checker map as a diffuse map, and you use a Perlin Marble map as one of the two checker colors, you can render only the checker-map components that contain the marble map to a custom element for subsequent compositing. For details on using the mr Labeled Element shader, see To use the mr Labeled element: on page 7298. mental ray Shaders | 6833 Interface Shader/Map to Store (Passthrough) Click the map button to assign a shader or map or shader/map branch to be passed to the render element. If a shader or map is already assigned, the button is labeled “M”; click the button to edit the shader or map. Label Enter the same name as that assigned to the render element. Multi/Sub-Map Shader (mental ray) Material Editor ➤ Any material ➤ Click a map button ➤ Material/Map Browser ➤ Multi/Sub-Map Note: Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. The Multi/Sub-Map shader provides the ability to assign different colors or maps to a single parameter of a material. For example, you could create an array of pebbles on a terrain and assign a single Arch & Design material to all of the pebbles. To introduce color variation, place a Multi/Sub-Map shader in the Diffuse slot of the material. In doing so, you would maintain the same BRDF properties for all pebbles, varying only the diffuse color. Judicious use of Multi/Sub-Map can vastly reduce the required number of materials in complex scenes. Multi/Sub-Map can vary the assigned color or map at random, or based on object, material, or smoothing group ID. You can define up to 20 colors or maps to different IDs and for higher IDs you can repeat the assignment cycle or specify an out-of-range color or map. 6834 | Chapter 17 Material Editor, Materials, and Maps Left: Auditorium seats colors vary object ID; Right: colors vary at random NOTE The Multi/Sub-Map shader does not display correctly in shaded viewports. In general, it is recommended that you leave Show Map In Viewport off for materials that use the shader as the Diffuse map. mental ray Shaders | 6835 Interface 6836 | Chapter 17 Material Editor, Materials, and Maps Switch Color/Map based on Choose the basis on which to assign a color or map: ■ Object IDUses the Object ID on page 230 value. Objects whose ID is 1 are assigned Color/Map #1, and so on. NOTE Objects whose ID is 0 (the default), or, if Repeat on page 6837 is off, with an ID value higher than the upper limit as determined by value of Number of Colors/Maps to Use on page 6837, are assigned the Default/Out-of-range Color on page 6837 (or map). ■ Material IDUses the Material ID on page 9217. Faces whose Material ID is 1 are assigned Color/Map #1, and so on. NOTE If Repeat on page 6837 is off, faces with an Material ID value higher than the upper limit as determined by value of Number of Colors/Maps to Use on page 6837 are assigned the Default/Out-of-range Color on page 6837 (or map). ■ Smoothing GroupUses the smoothing group ID on page 315. Faces in smoothing group 1 are assigned Color/Map #1, and so on. For faces assigned to multiple smoothing groups, Multi/Sub-Map uses the highest assigned value. NOTE Faces that don’t belong to any smoothing group, or, if Repeat on page 6837 is off, with a smoothing group ID value higher than the upper limit as determined by value of Number of Colors/Maps to Use on page 6837, are assigned the Default/Out-of-range Color on page 6837 (or map). ■ RandomAssigns colors or maps at random. The randomization is fixed and does not change upon re-rendering the scene or reassigning the material. Default/Out-of-range Color The color or map assigned to objects or faces whose ID does not fall within the specified range (1 to Number of Colors/Maps). Does not apply to the Random option. Number of Colors/Maps to Use The highest ID value to use. If Repeat is off, IDs higher than this value (or set to 0) are assigned the Default/Out-of-range Color. Range=1 to 20. Repeat When on, the assigned colors/maps cycle through values higher than the Number Of Colors/Maps To Use setting. For example, if Number Of Colors/Maps To Use is set to 7, objects or faces with ID 8 or 15 would use Color/Map #1, IDs set to 9 or 16 would use #2, and so on. mental ray Shaders | 6837 When off, any IDs outside the specified range (1 to Number of Colors/Maps) use the Default/Out-of-range Color on page 6837. Color/Map #1-20 For each Color/Map parameter, specify a color or map to use. If you assign a map, it overrides the color unless you disable the map using a check box on the Maps rollout. To assign a map, click the map button to the right of the color swatch and choose a map from the Material/Map Browser. Maps rollout This rollout provides check boxes for enabling and disabling the map/color assignments and buttons for assigning maps. Object Color Shader (mental ray) Material Editor ➤ Any material ➤ Click a map button ➤ Material/Map Browser ➤ Object Color Note: Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. The Object Color shader lets you use the object’s wireframe color on page 9350 as a map or shader in any material. You can use the color or a single channel of it (red, green, or blue) as is, or modify the color with two other colors or maps depending on its intensity. As with the Multi/Sub-Map shader on page 6834, you can assign a single material containing the Object Color shader in a map slot (typically Diffuse) to any number of objects, with the result that each object’s final appearance varies, depending, in this case, on its wireframe color. NOTE The Object Color shader does not display correctly in shaded viewports. In general, it is recommended that you leave Show Map In Viewport off for materials that use the shader as the Diffuse map. 6838 | Chapter 17 Material Editor, Materials, and Maps Object Color shader used for ink color in Ink ‘n Paint material Interface Use Channel(s) Choose to extract the actual color (RGB) of the object’s wireframe color, or an individual component of the color: red, green, or blue. White/Black These two colors (or maps) are blended based on the intensity (value) of the channel. With lighter intensities, more of the White color is used, and with darker intensities, more of the Black color is used. At their default values, these settings leave the object color or channel intact. However, if you change them, the result is a range of colors based on the mental ray Shaders | 6839 mixture of the two and the intensities of the extracted channels. For example, if you set Use Channel(s) to RGB (the default), and set the White color to red and the Black color to blue, then the resulting output would range from red to purple to blue, depending on the original object-color intensity. Top: Spheres in viewport showing object colors Inset: Object Color parameters Bottom: Rendered spheres with same material Shader List (mental ray) Material Editor ➤ mental ray Connection rollout ➤ Assign a shader. ➤ Material/Map Browser ➤ Shader List Material Editor ➤ mental ray, DGS, or Glass material ➤ Assign a shader. ➤ Material/Map Browser ➤ Shader List 6840 | Chapter 17 Material Editor, Materials, and Maps Note: Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. The Shader List shader provides an interface for constructing a mental ray shader list. A shader list combines the effect of multiple shaders: each shader is called in turn, the first one's output being treated as input to the next, and so on. Interface List of shaders Shows the names of the shaders in the list. Highlight a shader's name to alter its position in the list, or to access its parameters. Each active shader in the list is called in order, from top to bottom. Up Moves the selected shader up in the list. Down Moves the selected shader down in the list. Add Shader Displays a Material/Map Browser on page 6167 so you can choose a shader to add to the list. Remove Selected Removes the selected shader from the list. mental ray Shaders | 6841 Selection group On When on, the shader is active. When off, the shader is inactive and isn't called. You can use this toggle to disable a shader without removing it from the list entirely. Shader button Shows the name of the currently selected shader. Click the button to view that shader's parameters in the Material Editor. When you are done adjusting an individual shader's parameters, you can click Go To Parent to return to the Shader List Parameters rollout. Production Shaders The Production Shaders category of advanced mental ray shaders comprises several texture shaders, a lens shader, and two output shaders, all covered in this section. Also part of the Production Shaders library is the Matte/Shadow/Reflection material on page 6350. Texture Shaders The topics in this section describe shaders that manage environment maps, and a shader to manage gamma and gain. Environment/Background Switcher Environment And Effects dialog ➤ Click the Environment Map button. ➤ Material/Map Browser ➤ Environment/Background Switcher NOTE Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. The Environment/Background Switcher map lets you use one map as a background and another as an environment map, to provide environmental reflections. In typical usage, you use the Environment/Background Switcher as an Environment map. As the Background map you apply a background image, preferably using the Environment/Background Camera Map on page 6845 shader. As the Environment/Reflections map, use an environment map. If you have a plain photograph of a chrome ball taken from a similar camera angle as the background, you can use Environment Probe / Chrome Ball on page 6848 shader 6842 | Chapter 17 Material Editor, Materials, and Maps for easy, automatic unwrapping, or, if you have a fully unwrapped environment-map image, use a Bitmap map in Spherical Environment mode. For details, see the following procedure. NOTE While the Environment/Background Switcher is most commonly used as an environment map, it can be used in other places as well. It will use the Background result for anything that is seen directly by the camera, and the Environment/Reflection for anything seen indirectly, as in reflections, refractions, etc. Procedure To use the Environment/Background Switcher map: This procedure assumes you have two photographs: one of a background, and another an image of a mirror/chrome ball, both taken from roughly the same camera position. The photo of the chrome ball should be cropped so that it exactly touches the edges of the ball. The best result is obtained if at least the chrome ball photo is HDR, but good results can be achieved with a traditional, non-HDR phogograph. NOTE This workflow applies to stills or video sequences with only slight camera movement. For any complex fly-around camera motion, the simple "auto-unwrapping" performed by the Environment Probe/Chrome Ball shader will not suffice. 1 Open the Environment And Effects dialog to the Environment panel on page 7621. 2 On the Common Parameters rollout, click the Environment Map button. This opens the Material/Map Browser. 3 From the browser list, choose Environment/Background Switcher (mi). The Environment Map button label now shows the name of the map. 4 Open the Material Editor. 5 Drag the Environment Map button to a sample sphere in the Material Editor. Confirm the Instance choice. mental ray Shaders | 6843 This displays the Environment/Background Switcher (mi) Parameters rollout in the Material Editor. 6 Click the Background map button. From the Material/Map Browser, choose a map; Environment/Background Camera Map on page 6845 is the recommended choice. This displays the map’s parameters rollout. Click the Map button (“Browse”) and choose a bitmap file for the background image. 7 Click (Go To Parent) to return to the Switcher controls. 8 Click the Environment/Reflections map button. From the Material/Map Browser, choose a map; Environment Probe / Chrome Ball on page 6848 is the recommended choice. This displays the map’s parameters rollout. Click the Map button (“Browse”) and choose a bitmap file for the background image. Ideally, the bitmap is an HDR photograph of a chrome or mirror ball taken from the camera perspective in the scene, but a non-HDR photo also works well. Or, if you have a fully unwrapped environment map photo, use it as a Bitmap map and, on the Coordinates rollout, choose Environ and set Mapping to Spherical Environment. 9 Adjust the various maps’ parameters as necessary and then render the scene. Interface Background Specifies the background color or map. The background shows up wherever it is not blocked by a foreground object, or transmitted by a transparent object. Environment/Reflections Specifies the environment color or map. This image or color shows up in reflective surfaces. 6844 | Chapter 17 Material Editor, Materials, and Maps Environment/Background Camera Map Material Editor ➤ Material/Map Browser ➤ Environment/Background Camera Map NOTE Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. This shader is similar in function to using a Bitmap map with environment mapping set to Screen as an Environment Map. However, Screen mapping simply chooses a pixel from the map based on the coordinates of the currently rendered pixel. This does not work well with reflections. In contrast, the Environment/Background Camera Map shader correctly renders “back transformation.'' In other words, for a point seen in a reflection, it takes the reflected point’s 3D coordinate, convert it to its matching onscreen position (if any), and looks up the map based on this new 2D location (or returns a special value if the point is offscreen). Back Transformation In the following discussion of back transformation in the context of the Environment/Background Camera Map, refer to this illustration: mental ray Shaders | 6845 Imagine the green ray coming from the camera hitting the screen (blue rectangle) at the green "+". Using the Bitmap map set to Screen environment mapping mode as the Environment Map, the background-image location corresponding to this screen coordinate will be used for anything that happens to this ray. Even when it hits the teapot and bounces to the floor (green dot), this would be still be textured with the texture background pixel from the green "+" location. In contrast, the Environment/Background Camera Map shader would transform the point (green dot) to a new screen coordinate (imaginary red ray) and use the value from the red "+" instead. The yellow ray, however, hits the reflective object at some other location, and its reflected location (yellow dot) is outside the screen. For these cases, the shader would use its Off-screen settings. 6846 | Chapter 17 Material Editor, Materials, and Maps Interface Map Click the Browse button to specify a bitmap file containing the background image. Alternatively, click the map button to specify a procedural map. Multiplier A multiplier for the background image. Reverse Gamma Correction Applies inverse gamma correction to the texture. Per-Pixel Matching Matches the image to the background on a pixel-per-pixel basis, with the bottom-left pixel of the map matched exactly to the bottom-left rendered pixel. If the pixel size of the map differs from the pixel size of the rendered output, the renderer issues a warning. However, it still renders the image, cropping or padding it as necessary. Force Transparent Alpha When on, forces the background alpha to 0. When off, mental ray uses the actual alpha from the bitmap image or procedural map. If the file contains no alpha data, returns opaque alpha values when off. Off-screen Rays return Environment When on, uses the scene environment for off-screen points. Because the shader back-transforms points such as those seen in reflections into screen space, it might happen that parts of surfaces reflect points that are not on the screen. Because the projected map contains data only for points on the screen, this option allows a reasonable alternative for off-screen points. Off-screen Color (When Above Off) Defines the color of off-screen points when Off-Screen Rays Return Environment (see previous) is off. mental ray Shaders | 6847 Environment Probe / Chrome Ball Material Editor ➤ Material/Map Browser ➤ Environment Probe/Chrome Ball NOTE Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. This shader is intended as an environment shader (apply as an Environment Map), because it looks up based on the ray direction. It maps the proper direction to a point on the chrome ball and retrieves its color. In the visual effects industry it is common practice to photograph a chrome ball (also known as a “light probe”) on set, as well as a gray ball on page 6849 for lighting reference. Ideally, one shoots these at multiple exposures and uses software such as Photosphere (Macintosh) or HDRShop (PC) to combine them into a single high-dynamic-range image and/or unwrap the chrome/gray ball into a spherical environment map. However, it is often difficult to regain the proper orientation of spherical map so it matches the camera used to render the CG scene. Furthermore, a single photo of a chrome/gray ball contains poor data for certain angles that one might want to avoid seeing in the final render. These shaders are intended to simplify a special case: When the chrome/gray ball is already shot from the exact camera angle from which the final image is to be rendered. It simply utilizes the mental ray camera coordinate space and applies the chrome/gray ball in this space, hence the orientation of the reflections will always “stick” to the rendering camera. For additional information and illustrations, see Help menu ➤ Additional Help ➤ mr Production Shader Library ➤ Chapter 6: Mirror/Gray Ball Shaders. 6848 | Chapter 17 Material Editor, Materials, and Maps Interface Chrome/Mirror Ball Image Click the Browse button to specify the file containing the chrome ball image. The image should be cropped so the ball exactly touches the edges of the image. Alternatively, click the map button to specify a procedural map. Multiplier A multiplier for the chrome ball image. Reverse Gamma Correction Applies an inverse gamma correction to the texture. Blur (literal mental ray image files only) Blur the image. This applies only to literal mental ray textures; that is, bitmap images specified with the Browse button, rather than maps specified with the map button. Environment Probe / Gray Ball Material Editor ➤ Material/Map Browser ➤ Environment Probe/Gray Ball NOTE Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. This shader can be used either as an environment shader or a texture shader, because it looks up based on the direction of the surface normal. It will map the normal vector direction to a point on the gray ball and retrieve its color. In the visual effects industry it is common practice to photograph a chrome ball on page 6848 (also known as a “light probe”) on set, as well as a gray ball for lighting reference. mental ray Shaders | 6849 Ideally, one shoots these at multiple exposures and uses software such as Photosphere (Macintosh) or HDRShop (PC) to combine these into a single high-dynamic-range image and/or unwrap the chrome/gray ball into a spherical environment map. However, it is often difficult to regain the proper orientation of spherical map so it matches the camera used to render the CG scene. Furthermore, a single photo of a chrome/gray ball contains poor data for certain angles that one might want to avoid seeing in the final render. These shaders are intended to simplify a special case: When the chrome/gray ball is already shot from the exact camera angle from which the final image is to be rendered. It simply utilizes the mental ray camera coordinate space and applies the chrome/gray ball in this space, hence the orientation of the reflections will always “stick” to the rendering camera. For additional information and illustrations, see Help menu ➤ Additional Help ➤ mr Production Shader Library ➤ Chapter 6: Mirror/Gray Ball Shaders. Interface Grey Ball Image Click the Browse button to specify the file containing the gray ball image. The image should be cropped so the ball exactly touches the edges of the image. Alternatively, click the map button to specify a procedural map. Multiplier A multiplier for the gray ball image. Reverse Gamma Correction Applies an inverse gamma correction to the texture. Blur (literal mental ray image files only) Blur the image. This applies only to literal mental ray textures; that is, bitmap images specified with the Browse button, rather than maps specified with the map button. 6850 | Chapter 17 Material Editor, Materials, and Maps Utility Gamma & Gain Material Editor ➤ Material/Map Browser ➤ Utility Gamma & Gain This is a simple shader that applies a gamma and a gain (multiplication) of a color or map. It provides an alternative way of controlling gamma in 3ds Max. Many similar shaders exist in various OEM integrations of mental ray, so you also can use this shader for standalone mental ray and for cross-platform phenomena development. NOTE Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. The shader can also be used as a simple gamma lens shader, in which case the input is not used, but the eye ray color is used instead. Interface Input Specifies the input color or map. Gamma The gamma applied to the input. Gain (multiplier) The multiplier for the input. Reverse Gamma Correction (De-Gamma) When off, the shader takes the input, multiplies it by the Gain value, and then applies a gamma correction of Gamma to the color. When on, the shader takes the input, applies a reverse gamma correction of Gamma to the color, and then divides it by the Gain value. mental ray Shaders | 6851 Lens Shader The topic in this section describes a shader for rendering a subset of objects in a scene. Render Subset of Scene/Masking Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Renderer panel ➤ Camera Effects rollout ➤ Camera Shaders group ➤ Lens button ➤ Material/Map Browser ➤ Render Subset of Scene/Masking NOTE Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. This shader allows re-rendering a subset of the objects in a scene, defined by object or material. It is intended for a “quick fix” solution when almost everything in a scene is perfect, but just one object or material needs a small tweak. NOTE This shader works for first-generation rays only. Thus, for example, refracted or reflected rays from an object do not show up in the rendering. Procedure To use the Render Subset of Scene/Masking map: 1 Open the 7185. Render Setup dialog to the Renderer panel on page 2 On the Camera Effects rollout, click the Camera Shaders group ➤ Lens button. This opens the Material/Map Browser. 3 From the browser list, choose Render Subset of Scene/Masking (mi). The Lens button label now shows the name of the map. 4 Open the Material Editor. 5 Drag the Lens button to a sample sphere in the Material Editor. Confirm the Instance choice. 6852 | Chapter 17 Material Editor, Materials, and Maps This displays the Render Subset of Scene/Masking (mi) Parameters rollout in the Material Editor. 6 Specify an object list or material to render and make any necessary additional settings. TIP If you specify a material, choose it from the scene (set Browse From to Scene). 7 Render the scene. Only the specified objects render. Interface Object List The object or objects to be rendered. Use the Add, Replace, and Delete buttons to edit the list. Material Specifies a material to render. NOTE If you specify a material but no objects, all objects containing that material will render. If you specify a material as well as several objects with different materials, only objects with the specified material will render. mental ray Shaders | 6853 NOTE The Render Subset of Scene/Masking shader does not support the Multi/Sub-Object material on page 6542. However, it does support component materials of a Multi/Sub-Object material. Mask Only Outputs only the mask color (see following) in the specified objects’ locations; this is very fast. Use this if you only want to locate the objects in the scene. Rays not hitting any objects return the Background color, and rays hitting any object not in the subset return the Other Objects color. Mask Color The color returned for specified objects when Mask Only is on. Color of Background The color returned for the background when Mask Only is on. Color of Other Objects The color returned for non-specified objects when Mask Only is on. Calculate FG on All Objects (Entire Image) Determines whether the final gather (FG) preprocessing should apply to all objects, or only those in the subset. Because FG blends neighboring FG samples, a given object might use information in FG points coming from nearby objects not in the subset. This is especially true if the objects are coplanar. Therefore it is advised to let the FG prepass “see” the entire scene. Turning off this option and creating FG points only for the subset of objects is faster, but there is a certain risk of boundary artifacts, especially in animations. If the scene uses a saved FG map, this option can be left off. Output Shaders The topics in this section describe shaders for managing motion blur as a post process. Motion Vector Export Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Renderer panel ➤ Camera Effects rollout ➤ Camera Shaders group ➤ Output button ➤ Material/Map Browser ➤ Motion Vector Export 6854 | Chapter 17 Material Editor, Materials, and Maps NOTE Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. This shader is intended for those who wish to do compositing work before applying motion blur, or to use a specific third-party motion-blur shader. Its purpose is to export motion in pixel space (mental ray’s standard motion vector format is in world space) encoded as a color. Most third-party tools expect the motion vector encoded as colors where red is the X axis and green is the Y axis. To fit into the confines of a color (especially when not using floating point and a color range extends only from black to white), the motion is scaled by a factor (here called Max Displace) and the resulting value range, which is -1 to 1, is mapped to the color channel’s 0 to 1 range. The shader also support a couple of different floating point output modes. Interface Max Displace (pixels) Sets the maximum encoded motion vector length. Motion vectors of this number of pixels or above are encoded as the maximum value that is possible to express within the limit of the color (that is, white or black). To maximally utilize the resolution of the chosen image format, it is recommended that you use a Max Displace value of 50.0 (the default) for eight-bit images (which are not really suitable for this purpose) and a value of 2000.0 for 16-bit images. The shader outputs an informational statement of the maximum motion vector encountered in a frame to aid in tuning this parameter. For details, consult the documentation for your third-party motion-blur shader. If Max Displace is 0.0, motion vectors are encoded relative to the image resolution. For example, for an image 600 pixels wide and 400 pixels high, a movement of 600 pixels in positive X is encoded as 1.0 in the red channel, while a movement 600 pixels in negative X is encoded as 0.0. A movement in positive Y of 400 pixels is encoded as 1.0 in the blue channel etc. mental ray Shaders | 6855 Blue Channel is Magnitude When on, the blue color channel represents the magnitude of the blur, and the red and green channels encode the 2D direction only. When off, the blue channel is unused and the red and green channels encode both direction and magnitude. Floating Point Format When not set to 0, the shader writes real, floating-point motion vectors into the red and green channels. They are not normalized to the max displace length, not clipped, and contain both positive and negative values. When this option is used, neither Max Displace nor Blue Channel Is Magnitude have any effect. The floating-point format options are: ■ 1The actual pixel count is written as-is in floating point. ■ 2The pixel aspect ratio is taken into account such that the measurement of the distance the pixel moved is expressed in pixels in the Y direction, and the X component will be scaled by the pixel aspect ratio. This format is compatible with Autodesk Toxik. Blur Environment/Background When on, motion vectors are generated for the empty background area controlled by the camera movement. NOTE This option does not work when the Scanline rendering algorithm on page 7197 is enabled. HDR Image Motion Blur Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Renderer panel ➤ Camera Effects rollout ➤ Camera Shaders group ➤ Turn on Output. ➤ Output button ➤ Material/Map Browser ➤ HDR Image Motion Blur NOTE Shaders appear in the Browser only if the mental ray renderer is the currently active renderer. This shader applies fast, grain-free motion blur as a post process. It works by using pixel motion vectors stored in the rendering phase and “smearing" these into a visual simulation of motion blur. Like using the rasterizer, this means that features such as mirror images or even objects seen through foreground transparent object will “streak" together 6856 | Chapter 17 Material Editor, Materials, and Maps with the foreground object. Furthermore, since the motion frame buffer only stores one segment, the “streaks" are always straight, never curved. The major advantage of this method is rendering speed. Scene or shader complexity has no impact. The blur is applied as a mental ray “output shader" that is executed after the main rendering pass. The execution time of the output shader depends on how many pixels need to be blurred, and how far each pixel needs to be “smeared.” NOTE Because the shader works in post, it does not blur shadows or reflections of moving objects. If these effects are necessary, use standard motion-blur methods. Interface Shutter Duration (frames) The amount of time the shutter is “open.” In practice this means that after the image has been rendered the pixels are smeared into streaks in both the forward and backward direction. Each smear length is half the distance the object moves during the shutter time. Shutter Falloff (Blur Softness) The drop-off speed of the smear; that is, how quickly it fades to transparent. This setting controls the “softness" of the blur. NOTE The perceived length of the motion blur diminishes as the Falloff value increases, so it might be necessary to compensate by increasing the Shutter Duration value slightly. Thus, falloff is especially useful for creating the effect of over-bright highlights “streaking" convincingly: By using an inflated shutter length (above the cinematic default of 0.5) and a higher falloff, over-brights have the potential to smear in a pleasing manner. mental ray Shaders | 6857 Blur Environment/Background Determines whether the camera environment (that is, the background) should be blurred by the cameras movement or not. When on, pixels from the environment are blurred, and when off they are not. NOTE This option does not work when the Scanline rendering algorithm on page 7197 is enabled. Calculation Color Space (Gamma) Defines the gamma color space in which blur calculations occur. Because mental ray output shaders act on written frame buffers, and these buffers (unless floating point) already have any gamma correction applied, it is important to apply post effects with the appropriate gamma. Min. Motion Threshold (pixels) The minimum motion-vector length (measured in pixels) an object must move for blur to be added. If set to 0.0, it has no effect, and every object with even sub-pixel movement will have a slight amount of blur. While this is technically accurate, it might cause the image to be perceived as overly blurry. Background Distance The distance to the background, which helps the algorithm calculate the depth layout of the scene. This value should be about the same as the scene depth; anything farther from the camera than this distance would be considered “far away" by the algorithm. Blur More Objects Near Camera When on, the blurring of objects closer to the camera is more opaque than that of more-distant objects. Because this can result in the blurs of objects very close to the camera to be unrealistically opaque, use this option only when necessary; that is, when the blurs of more-distant objects overwrite those of closer objects. MetaSL Shaders 3ds Max provides a set of MetaSL shaders for creating materials to use with hardware shading. You can add additional MetaSL shaders to your scene, in the form of XMSL files on page 9356. You can find general information about MetaSL shaders in the mental mill User’s Guide. Information about specific shaders is in the mental mill Shader Library documentation. 6858 | Chapter 17 Material Editor, Materials, and Maps See also: ■ Map to Material Conversion on page 6378 Component Falloff Shader Slate Material Editor ➤ Material/Map Browser ➤ Component Falloff Generates a black-and-white falloff gradient. The gradient is based on the dot product between the viewer’s direction and the surface normal. Interface Component Falloff rollout Falloff Amount Increasing this value increases the amount of black at the center of the falloff area. Decreasing this value decreases the amount of black at the center of the falloff area. Default=1.0. The map button at the right is a shortcut to the Maps rollout. Maps rollout The controls on this rollout let you assign a shader to one of the basic parameters of the Component Falloff shader. This is comparable to mapping a component of a standard material; by adding shaders, you can create a shader tree that generates complex effects. MetaSL Shaders | 6859 Click the button for a component to display the Material/Map Browser on page 6167 and assign the map or shader. Use the toggle at the left to turn the effect of the map off or on. The button to the right of each main shader button, for shaders that return multiple parameters, is inactive. Component Reflection Shader Slate Material Editor ➤ Material/Map Browser ➤ Component Reflection Generates a reflection. Interface There are no parameters for the Component Reflection shader. Conversion Color to Float Shader Slate Material Editor ➤ Material/Map Browser ➤ Conversion Color to Float Converts a color to a floating-point value by averaging the values of the three color components (RGB). 6860 | Chapter 17 Material Editor, Materials, and Maps Interface Conversion Color to Float rollout Color Specifies the color to convert to a floating-point value. The map button at the right is a shortcut to the Maps rollout. Maps rollout The controls on this rollout let you assign a shader to one of the basic parameters of the Conversion Color To Float shader. This is comparable to mapping a component of a standard material; by adding shaders, you can create a shader tree that generates complex effects. Click the button for a component to display the Material/Map Browser on page 6167 and assign the map or shader. Use the toggle at the left to turn the effect of the map off or on. The button to the right of each main shader button, for shaders that return multiple parameters, is inactive. Conversion Float to Color Shader Slate Material Editor ➤ Material/Map Browser ➤ Conversion Float to Color Converts a floating-point value to a color. RGB all equal the input value, and A (alpha) = 1.0. MetaSL Shaders | 6861 Interface Conversion Float to Color rollout Float Specifies the floating-point value to convert to a color. The map button at the right is a shortcut to the Maps rollout. Maps rollout The controls on this rollout let you assign a shader to one of the basic parameters of the Conversion Float To Color shader. This is comparable to mapping a component of a standard material; by adding shaders, you can create a shader tree that generates complex effects. Click the button for a component to display the Material/Map Browser on page 6167 and assign the map or shader. Use the toggle at the left to turn the effect of the map off or on. The button to the right of each main shader button, for shaders that return multiple parameters, is inactive. Illumination Phong Shader Slate Material Editor ➤ Material/Map Browser ➤ Illumination Phong Generates Phong shading, based on the lighting. 6862 | Chapter 17 Material Editor, Materials, and Maps Interface Output Sockets Unlike the other MetaSL shaders provided with 3ds Max, the Illumination Phong shader has four outputs. ■ ResultOutputs all components of the shader. ■ SumOutputs the Diffuse and Specular components. ■ DiffuseOutputs only the Diffuse component. ■ SpecularOutputs only the specular component. Illumination Phong Phen[omenon] rollout Diffuse Color Specifies the diffuse color. Default=white. Diffuse Float Modifies the diffuse color. At 0.0, no diffuse color is present. At 1.0, the diffuse color is at full strength. Range: 0.0 to 1.0. Default=0.7. Specular Color Specifies a color that tints the specular highlight. Default=white. Specular Float Modifies the specular highlight color. At 0.0, the specular highlight color is not visible. At 1.0, the specular highlight color is at full strength. Range: 0.0 to 1.0. Default=0.06. Specular Shininess Sets shininess. The larger the value, the smaller the specular highlight. Default=15.0. Normal Specifies the surface normal. The map buttons at the right are shortcuts to the Maps rollout. MetaSL Shaders | 6863 Maps rollout The controls on this rollout let you assign a shader to one of the basic parameters of the Illumination Phong shader. This is comparable to mapping a component of a standard material; by adding shaders, you can create a shader tree that generates complex effects. Click the button for a component to display the Material/Map Browser on page 6167 and assign the map or shader. Use the toggle at the left to turn the effect of the map off or on. The button to the right of each main shader button, for shaders that return multiple parameters, is inactive. Math Color Add Shader Slate Material Editor ➤ Material/Map Browser ➤ Math Color Add Generates the sum of two colors. 6864 | Chapter 17 Material Editor, Materials, and Maps Interface Math Color Add rollout left The first color to add. right The second color to add. The map buttons at the right are shortcuts to the Maps rollout. Maps rollout The controls on this rollout let you assign a shader to one of the basic parameters of the Math Color Add shader. This is comparable to mapping a component of a standard material; by adding shaders, you can create a shader tree that generates complex effects. Click the button for a component to display the Material/Map Browser on page 6167 and assign the map or shader. Use the toggle at the left to turn the effect of the map off or on. The button to the right of each main shader button, for shaders that return multiple parameters, is inactive. MetaSL Shaders | 6865 Math Color Mix Shader Slate Material Editor ➤ Material/Map Browser ➤ Math Color Mix Generates a mix of two colors, based on linear interpolation controlled by a Mix color. The calculation is A * (1–X) + B*X, where A and B are the colors, and X is the Mix color. Interface Math Color Mix rollout Color 1 The first color to mix. Color 2 The second color to mix. Mix The color that controls mixing. The map buttons at the right are shortcuts to the Maps rollout. Maps rollout The controls on this rollout let you assign a shader to one of the basic parameters of the Math Color Mix shader. This is comparable to mapping a 6866 | Chapter 17 Material Editor, Materials, and Maps component of a standard material; by adding shaders, you can create a shader tree that generates complex effects. Click the button for a component to display the Material/Map Browser on page 6167 and assign the map or shader. Use the toggle at the left to turn the effect of the map off or on. The button to the right of each main shader button, for shaders that return multiple parameters, is inactive. Math Color Multiply Shader Slate Material Editor ➤ Material/Map Browser ➤ Math Color Multiply Generates the product of two colors. Interface Math Color Multiply rollout left The first color to multiply. right The second color to multiply. The map buttons at the right are shortcuts to the Maps rollout. MetaSL Shaders | 6867 Maps rollout The controls on this rollout let you assign a shader to one of the basic parameters of the Math Color Multiply shader. This is comparable to mapping a component of a standard material; by adding shaders, you can create a shader tree that generates complex effects. Click the button for a component to display the Material/Map Browser on page 6167 and assign the map or shader. Use the toggle at the left to turn the effect of the map off or on. The button to the right of each main shader button, for shaders that return multiple parameters, is inactive. Normals Bumpmap Shader Slate Material Editor ➤ Material/Map Browser ➤ Normals Bumpmap Generates normals based on a normal map. 6868 | Chapter 17 Material Editor, Materials, and Maps Interface Normals Bumpmap rollout Normal Map Specifies the map to use for normals. Amount Sets the amount of the effect. At 0.0, normals are not changed. Default=1.0. Texture Space Specifies the texture space to use. Range: 0 to 4. texture_uv Set UV coordinates for the texture. The map buttons at the right are shortcuts to the Maps rollout. Maps rollout The controls on this rollout let you assign a shader to one of the basic parameters of the Normals Bumpmap shader. This is comparable to mapping a component of a standard material; by adding shaders, you can create a shader tree that generates complex effects. Click the button for a component to display the Material/Map Browser on page 6167 and assign the map or shader. Use the toggle at the left to turn the effect of the map off or on. MetaSL Shaders | 6869 The button to the right of each main shader button, for shaders that return multiple parameters, is inactive. Normals Make Normal Shader Slate Material Editor ➤ Material/Map Browser ➤ Normals Make Normal Generates normals from color values, typically by using a texture map. Interface Normals Make Normal rollout Color Sets a color to use for generating normals. Typically, you would replace this with a texture map. Amount Sets the amount of the effect. At 0.0, normals are not changed. Default=1.0. The map buttons at the right are shortcuts to the Maps rollout. Maps rollout The controls on this rollout let you assign a shader to one of the basic parameters of the Normals Make Normal shader. This is comparable to mapping 6870 | Chapter 17 Material Editor, Materials, and Maps a component of a standard material; by adding shaders, you can create a shader tree that generates complex effects. Click the button for a component to display the Material/Map Browser on page 6167 and assign the map or shader. Use the toggle at the left to turn the effect of the map off or on. The button to the right of each main shader button, for shaders that return multiple parameters, is inactive. Texture Lookup 2d Shader Slate Material Editor ➤ Material/Map Browser ➤ Texture Lookup 2d Gets a texture from a 2D bitmap. Interface Texture Lookup 2d rollout Texture The texture to output. Texture Space Specifies the texture space to use. Range: 0 to 3. texture_uv Set UV coordinates for the texture. The map buttons at the right are shortcuts to the Maps rollout. MetaSL Shaders | 6871 Maps rollout The controls on this rollout let you assign a shader to one of the basic parameters of the Texture Lookup 2d shader. This is comparable to mapping a component of a standard material; by adding shaders, you can create a shader tree that generates complex effects. Click the button for a component to display the Material/Map Browser on page 6167 and assign the map or shader. Use the toggle at the left to turn the effect of the map off or on. The button to the right of each main shader button, for shaders that return multiple parameters, is inactive. Normal Bump Map Material Editor ➤ Material/Map Browser ➤ Normal Bump The Normal Bump map lets you use a texture-baked Normals map (see Baked Texture Elements on page 7312). Typically you assign it to a material's Bump component, Displacement component, or both. Using the map for Displacement can correct edges that otherwise look unrealistically smooth; however, this adds faces to the geometry. TIP A Normals map for the indicated material component is generated automatically if you turn on Output Into Normal Bump in the Selected Elements Unique Settings group of the Render To Texture dialog's Output rollout on page 7341. 6872 | Chapter 17 Material Editor, Materials, and Maps Interface Normal As a rule, contains a Normals map generated by Render To Texture on page 7307. Use the toggle to enable or disable use of the map (default=on). Use the spinner to increase or decrease the map's effect. Additional Bump This optional component can contain an additional map to modify the bump or displacement effect. It is treated as a regular bump map on page 6472. Use the toggle to enable or disable use of the map (default=on). Use the spinner to increase or decrease the map's effect. Channel Direction group By default, the Normals map's red channel indicates left versus right, while green indicates up versus down (and blue indicates vertical distance). The controls in this group let you adjust that interpretation. Flip Red (X) Flips the red channel so that left and right are reversed. Flip Green (Y) Flips the green channel so that up and down are reversed. Swap Red & Green Swaps the red and green channels to rotate the normals. For example, if the normal is (228,178, 255), the normal points in the direction of 2 o’clock. Swapping Red and Green results in a normal of (178, 228, 255), which points in the direction of 1 o’clock. Normal Bump Map | 6873 Method group The Method group lets you choose which coordinate to use on the normals. These controls are the same as those in the Projection Options dialog on page 7351. ■ Tangent(The default.) Project at a tangent to the target object's surface. This is the method to use for objects that both move and deform, such as animated characters. ■ Local XYZProject using the object's local coordinates. This method can be used for stationary or moving objects, but not for objects that deform: if the object deforms, the projection will appear incorrect at some frames. ■ ScreenProject using screen coordinates; that is, flat projection in the Z axis. X is horizontal, increasing in a positive direction to the right; Y is vertical, increasing in a positive direction upward; and Z is perpendicular to the screen, increasing in a positive direction toward the viewer. This method is useful mainly for stationary objects seen only from a single angle; for example, a statue seen through a window. ■ WorldProject using world coordinates. This is useful mainly for objects that don't move or deform; otherwise, a moving object with world-projected normals will appear to “swim” through the texture. Camera Map Per Pixel Map Material Editor ➤ Material/Map Browser ➤ Camera Map per Pixel The Camera Map Per Pixel map lets you project a map from the direction of a particular camera. It is meant as an aid to 2D matte painting: You can render a scene, adjust the rendering using an image-editing application, then use this adjusted image as a matte that is projected back onto the 3D geometry. TIP Final rendering can be slow. Script-driven network rendering on page 7368 can help improve performance. 6874 | Chapter 17 Material Editor, Materials, and Maps Limitations The Camera Map Per Pixel does not handle these situations: ■ Animated objects. The projection does not use UVW mapping. ■ Animated textures. ■ Occlusion based on a Z-depth channel is handled in a limited way only. Procedures To use Camera Map Per Pixel: 1 Create the 3D model. 2 Set up a camera. 3 Set up the rendering resolution you want. To get good results, the plate should be at least 2K pixels; 3K to 6K, or higher is recommended. 4 Render the scene to an editable image format such as TIFF on page 8461. 5 Render the scene again, this time to a format such as RPF on page 8455 that has a Z-depth component. Make sure the Z option is turned on. 6 Use an image-editing application to make changes you want to the editable image. 7 Apply Camera Map Per Pixel to the diffuse component on page 6453 of the geometry on which you want the matte to appear. Use these settings: ■ Set Camera to the same camera you used for the renderings. ■ Set Texture to the matte image you edited. ■ Set ZBuffer Mask to the Z-depth rendering (the RPF or RLA file). Adjusting (which usually means increasing) the value of ZFudge can improve the quality of edges of the projection. Usually it is a good idea to have Remove Back Face Pixels turned on. Another way to adjust the projection edge is to adjust this control's Angle Threshold. TIP If you have persistent problems with seams, try generating a mask with an alpha channel and using it to clean up the edge of the projection. Camera Map Per Pixel Map | 6875 If you have multiple mattes to project, you might need to slice geometry to make each map's target a separate object. Interface Map Channel Sets which map channel to use. Default=1. Camera Click to turn on, and then choose a camera in the scene by selecting it in a viewport, or press H to use the Pick Object dialog on page 184. Once you have assigned a camera, its name appears on this button. This camera should be the one used to render the map used in the Texture and ZBuffer Mask components. Texture Click to assign the texture to project. You can assign any kind of map, but typically this is a Bitmap on page 6636 that contains an image file that you first rendered from the same camera, and then possibly edited with a different application. ZBuffer Mask Click to assign a map that contains Z-depth data used to mask the projection from unwanted surfaces. Typically this is an RPF file on page 8455 or an RLA file on page 8453 rendered using the same camera, with the Z channel option turned on. 6876 | Chapter 17 Material Editor, Materials, and Maps Use the toggle to turn use of the ZBuffer Mask on or off. By default, it is off, and it is not turned on automatically when you assign the ZBuffer Mask. ■ ZFudgeZFudge values other than 1.0 add a margin of deviation to the use of the Z-depth data, letting you fine-tune the Z-Buffer masking. Default=1.0. Mask Behaves like the mask in the Mask map on page 6758 by letting you view one map through another. Black areas of the mask are transparent, white areas are opaque, and gray areas are partially transparent, based on the percentage of the gray. ■ Mask Uses the Camera ProjectionWhen on, the mask uses the same camera projection as the Texture and ZBuffer Mask. When off, it uses the object's UVW coordinates. Default=on. Remove Back Face Pixels When on, sets the projection to exclude surfaces that face away from the camera, based on the value of Angle Threshold. Default=on. ■ Angle ThresholdSpecifies the angle to use as a cutoff when removing backface pixels. Default=90.0. At the default of 90 degrees, faces perpendicular to the camera, or at a greater angle, are not projected. Material, Mapping, and Vertex Color Utilities The topics in this section describe various tools and utilities for managing materials, maps, and vertex color. Viewport Canvas Tools menu ➤ Viewport Canvas Viewport Canvas provides tools for painting color and patterns onto any bitmap in an object’s material on page 9219 in the viewport. You can paint in 3D in multiple layers directly onto the object, or on a moveable 2D canvas superimposed on the viewport. Viewport Canvas can export the painting in PSD format so you can modify it in Adobe Photoshop or a compatible program, and then save the file and update the texture in 3ds Max. Material, Mapping, and Vertex Color Utilities | 6877 NOTE While Viewport Canvas was originally introduced in the previous version of 3ds Max (2010), it has been significantly enhanced and improved to the point that it is, in effect, an entirely new feature in Autodesk 3ds Max 2011. For example, you can now paint directly onto any 3D object with any map in any material. And new painting tools include Blur, Sharpen, Dodge, and Burn. But perhaps most important, you can now paint in multiple layers that can interact with one another the same way as in Photoshop. Even if you’ve used Viewport Canvas before, please read this section of the help carefully to best take advantage of the changes in this feature. You start by choosing a brush and activating one of the painting tools: Paint, Erase, Clone, and a number of others. You then paint directly on the object, switching tools and changing layers whenever you like. Among the Viewport Canvas features are the ability to use a custom palette, randomize brush settings, use a graphics tablet and pen to vary brush radius and other settings based on pressure, mirror brush strokes, and save and load all settings. You can also switch instantly between painting on an object and a 2D canvas with real-time feedback in both areas. For maximum accuracy, use TIFF or another lossless file format. Also, make sure the viewport display of textures uses the highest possible resolution. You 6878 | Chapter 17 Material Editor, Materials, and Maps can do that by going into Customize ➤ Preferences ➤ Viewports ➤ Configure Driver and, setting Download Texture Size to 512, and turning on Match Bitmap Size As Closely As Possible. Viewport Canvas requires DirectX 9.0 as the viewport display driver. NOTE To paint on an object surface successfully, its UVW mapping should be inside the boundaries of the UVW limits (0.0 to 1.0). For example, if Real-World Map Size on page 6610 was enabled for a primitive that was then converted to an editable mesh or poly, first adjust the mapping to be within those limits. In general, do not enable Real-World Map Size for objects you intend to paint on with Viewport Canvas. Procedures To use Viewport Canvas with layers: This procedure serves as both a general-purpose introduction to Viewport Canvas and a guide to using the Layers feature. 1 Select an object to paint on. The object need not have a material assigned, but it must have mapping coordinates on page 9212. If not, Viewport Canvas will not work with it. 2 Choose Tools menu ➤ Viewport Canvas. The Viewport Canvas dialog opens. Position it so doesn’t obscure your object, if necessary. TIP Customize the dialog by adjusting the position and settings to your preference and then make the changes permanent with Save Current Settings As Default on page 6900. You can also dock the dialog to the left or right side of the program window. 3 Click (Paint) or any other tool. If the object does not have a material assigned, the Assign Material dialog opens, giving you the option to assign a Standard material on page 6382, browse for a material using the Material/Map Browser on page 6167, or cancel. For details on these options, see Assign Material Dialog on page 6900. To get started quickly, choose Assign Standard Material. After you assign a material, or if the object already has a material, a list of available map types opens. The list also shows any assigned maps. Viewport Canvas | 6879 4 Choose a map type from the list. For example, to paint the object’s coloring with a Standard material, choose the Diffuse Color map. If the map type does not have a bitmap image file assigned, choosing the map type opens the Create Texture dialog on page 6901, where you can use the browse button ([...]) to specify a new or existing bitmap file. Otherwise Viewport Canvas uses the current bitmap. NOTE If you use Create Texture to specify an existing bitmap file, the file is overwritten. Also, if the assigned map type is not a bitmap, you’re prompted to choose a component of the map, typically a color, for which to create a bitmap. Viewport Canvas requires a bitmap file to work with. After setting up the material and map, if necessary, the Layers dialog on page 6907 opens and the mouse cursor becomes the icon for the active tool when over the active viewport, such as a circle for the Paint and Erase tools. When using the Paint tool and the cursor is over the object to be painted, the paint image is visible within the brush icon. The background layer is now active and ready for painting on. 5 Choose a color on page 6891 or brush image on page 6895 and/or mask and paint on the object surface, if you wish. However, you might want instead to paint in a new layer; see the following note. TIP As the background (default) layer cannot be erased, it is highly recommended that you always paint into a layer other than the background. 6 On the Layers dialog, click (Add New Layer). A new layer is added to the painting and becomes the active layer. 7 Drag over the object surface to paint. While painting, you can switch tools, colors, and brush images; add, delete, and switch layers, change the layer order, and specify filters and how layers interact; and navigate the viewport to paint different parts of the object. 8 To exit painting mode, right-click in the active viewport or click the Paint button again. 6880 | Chapter 17 Material Editor, Materials, and Maps If you’ve added one or more layers to a single-layer bitmap, the Save Texture Layers dialog opens, prompting you to specify what to do with your painting. These options are detailed here on page 6909. To preserve the layers in the current map, choose “Save as PSD and replace texture in material,” then use the file dialog that opens to specify the PSD file to save. This file becomes the new map in the object’s material. You can return to editing that map by activating any painting tool, or, to edit a different map in the material, choose it from the Options rollout. Example: To use the Clone tool in Viewport Canvas: The Clone tool enables painting a texture from a different part of the object, using one or all layers of its bimap, or from anywhere in the active viewport. For example, you can clone a texture from one object to another. This procedure provides an example of using all three cloning sources. 1 Set up a scene containing two objects with different texture maps. The object to paint on should have a multi-layer bitmap (PSD file) as the Diffuse map, and the other object can have any type of Diffuse map, such as Checker. TIP You can use Viewport Canvas to create a multi-layer PSD file; see the preceding procedure for details. 2 Select the object to paint on. 3 Choose Tools menu ➤ Viewport Canvas. Viewport Canvas | 6881 The Viewport Canvas dialog opens. If necessary, position the dialog so it doesn’t obscure the viewport. 4 On the Options rollout, turn off Save Texture. This lets you experiment without saving changes to the original bitmap file. 5 Open the Paint Behavior rollout and note that Clone Source is set to Current Layer. 6 Click (Clone) and choose the material’s Diffuse map. The Layers dialog opens, showing the bitmap’s layers. 7 Choose a layer to clone from. You’re now ready to pick the texture to clone. 8 Position the mouse cursor over the texture to clone in the active viewport, press and hold Alt, click the left mouse button, and release Alt. A green dot appears on the texture where you clicked, showing the center of the area to be cloned. You’re now ready to paint using the cloned image. 6882 | Chapter 17 Material Editor, Materials, and Maps 9 Move the mouse around over the selected object. The area of the cloned texture that fits inside the brush circle moves with the brush as a preview, while the green dot remains stationary. Cloning from a single layer 10 Click once on the surface of the selected object, then release the mouse button. The cloned image is copied to the selected object. NOTE In regular usage it’s not necessary to click once to start cloning a texture; you can drag instead, as with other painting tools. We suggest clicking first in this procedure in order to show how the Clone tool works. All subsequent painting with the Clone brush, before exiting the tool or changing a setting, copies the texture relative to this point. 11 Move the mouse around near the point you just clicked. The brush now appears to be sliding over the cloned texture and the green dot moves around, previewing exactly which portions of the texture will be cloned when start painting again. Viewport Canvas | 6883 The green dot is over the part of the bitmap in Layer 2. TIP To disable the preview feature, turn off Options rollout ➤ Brush Preview on page 6897. 12 Drag to paint some more of the cloned texture. Only the contents of the current layer is cloned. 13 On the Layers dialog, choose a different layer. The green dot goes away because you’ve changed a setting. The Clone brush is still active, but if you tried to paint now, no paint would be deposited because the clone point has been lost. However, at any time you can specify a new clone point in the current layer by Alt+clicking again. Cloning from Layer 2 6884 | Chapter 17 Material Editor, Materials, and Maps 14 On the Paint Behavior rollout, set Clone Source to All Layers and again Alt+click the area to clone from. 15 Paint with the Clone brush. Now you’re cloning from every layer, not just the active one. Cloning from all layers TIP The Clone tool copies the texture exactly as it appears in the viewport, complete with curvature, foreshortening, and so on. To paint with an undistorted texture, set it up that way in the viewport. For example, use a viewport background image, or map the texture to a plane parallel to the viewing plane in an orthogonal viewport. 16 On the Paint Behavior rollout, set Clone Source to Viewport and Alt+click the second object from step 1. 17 Paint on the selected object with the Clone brush. Now you’re cloning from the entire viewport, including the grid (if visible) and the viewport background. Viewport Canvas | 6885 Cloning from the entire viewport NOTE When Clone Source is set to Current Layer or All Layers, cloning a texture does not incorporate viewport shading, but when set to Viewport, it does. 18 Continue painting. To finish using Clone, right-click in the viewport or click the Clone button again to toggle it off. Because Save Texture is off, your painting is discarded. Interface This initial section describes the controls on the upper portion of the Viewport Canvas dialog: painting tools, brush and color settings, and buttons for opening 2D View and the Layer dialog. The remaining controls are available from separate rollouts on the dialog and are described in Additional Viewport Canvas Rollouts on page 6893. NOTE The Viewport Canvas dialog floats over the program interface by default. You can dock it to the left or right side of the window by dragging or by right-clicking the title bar and choosing Dock ➤ Left or Right. When docked, you can float the dialog by dragging or by right-clicking near the top and choosing Float. 6886 | Chapter 17 Material Editor, Materials, and Maps Painting tools To paint an object with Viewport Canvas, select one object and then choose a painting tool from the upper section of the Viewport Canvas dialog. The painting tools work only with a single selected object, and the object must have a material with a bitmap file assigned to at least one map. If necessary, Viewport Canvas can apply the material and create the map for you. The object also needs UVW coordinates, which Viewport Canvas cannot create. For details, see this procedure on page 6879. TIP For optimal performance with Viewport Canvas when painting high-resolution bitmaps, increase the mesh resolution of the object being painted. Also, to prevent visual anomalies in painted textures, avoid overlapping texture coordinates. The following mouse and keyboard options are available while using the painting tools: ■ Normal (no key)Paints or edits the image with the current color or brush image. ■ ShiftEraser: Erases parts of what you have drawn during the current activation of the tool. This mode uses the Opacity setting of the Erase tool, rather than the standard Opacity setting used by the other tools. Viewport Canvas | 6887 ■ CtrlSamples color from the selected object surface; picks a single pixel from the center of the brush. ■ Space BarHold and click to draw a straight line from the last painted point to where you click. This works with all stroke-type painting tools, including Paint and Erase. ■ Ctrl+ShiftHold and drag vertically to change the brush radius on page 6892 interactively. ■ Alt+ShiftHold and drag vertically to change the brush opacity on page 6892 interactively. ■ Ctrl+AltHold and drag vertically to change the brush hardness on page 6892 interactively. ■ Right-clickExits the tool and applies the paint to the model’s texture, saving it to the bitmap file. In most cases this takes less than a second, but if it takes longer, a progress bar updates in the interface during calculations. If you right-click or otherwise exit a painting tool after adding one or more layers to a single-layer bitmap, the Save Texture Layers dialog on page 6909 opens to prompt you to determine how to treat the multi-layer image. NOTE Because the bitmap is saved after exiting the tool, you cannot undo strokes after doing so. However, while painting, Undo works normally. To prevent applying the paint to the model (for example, when experimenting), turn off Options rollout ➤ Save Texture on page 6897. Right-clicking then simply discards the painting before exiting the tool. Also, most brushes have an optional preview mode on page 6897. Paint Starts the Paint tool for adding color to an object surface. You can paint with solid colors, or with a bitmap in the form of a brush image on page 6893. You can paint anywhere on the model, changing the color, opacity, brush image and other settings and navigating the viewport as you go. Erase When active, you remove the contents of the layer by painting, using the current brush settings. 6888 | Chapter 17 Material Editor, Materials, and Maps IMPORTANT Erase is not available for the background layer. Therefore we recommend that you do most of your painting in additional layers. While using other painting tools, you can activate Erase temporarily by pressing and holding Shift. When you release the key, the tool returns to its original function. NOTE Erase has its own Opacity on page 6892 setting, which is distinct from that of other tools but uses the same field. When Erase is active (including using the Shift key with other tools), the Opacity setting applies to Erase only; at all other times the Opacity setting applies to all applicable tools except Erase. Clone Starts the Clone tool, which lets you copy part of the image from elsewhere on the object or in the viewport. To use Clone, first press and hold Alt while clicking a point on the screen to clone from, then release Alt and paint on the selected object. The paint is sampled from the area you first clicked. For more information, see this procedure on page 6881. While using Clone, you can choose to sample from the current layer, all layers, or the active viewport. For details, see Clone Source on page 6897. IMPORTANT When using the Clone tool to pick up paint from the canvas, we recommend that you set the viewport driver ➤ Texel Lookup on page 8917 to Nearest, if possible. This provides the sharpest representation of the texture in the viewport, thus producing more accurate results when the paint is projected. This is because you can clone only from what is visible in the viewport. Fill When painting a 3D surface, applies the current color or brush image to the entire element on page 9143 you click on. Depending on the object’s UVW mapping, this might affect other elements as well. When painting the 2D View on page 6893 canvas, fills the entire layer with the current color or brush image. When filling with a brush image, use the Fill Tool - Brush Images on page 6898 to specify whether the filled image is tiled or simply wrapped once. Gradient Applies the color or brush image as a gradient. In effect, Gradient is a partial fill with edge falloff that you set with the mouse. Viewport Canvas | 6889 To use, click at the starting point of the gradient and drag to the endpoint. The fill is performed on the part of the object “behind” the drag direction, perpendicular to the viewing plane, and then falls off to full transparency at the endpoint that you set. Blur Applies a blurring effect by painting. To adjust the blurring amount, use the Blur/Sharpen on page 6893 setting. Sharpen Sharpens blurred edges. To adjust the degree of sharpening, use the Blur/Sharpen on page 6893 setting. TIP Overuse of the Sharpen tool can lead to unwanted artifacts such as white outlines around edges. For best results, apply with a light touch by lowering the Opacity value. Contrast Increases the contrast in the painted area. This can help emphasize subtle features in the texture. Dodge Lightens the painted area. Works mainly on medium tones; does not affect pure-black pixels. Burn Darkens the painted area. Works mainly on medium tones; does not affect pure-white pixels. Smudge Pushes pixels around on the screen, somewhat like finger-painting. For a rougher smudging effect, use a brush image mask on page 6893 instead of a solid color. TIP Like the Sharpen tool, Smudge works best when applied with a light touch by lowering the Opacity value. 6890 | Chapter 17 Material Editor, Materials, and Maps Move Layer When on, move the active layer by dragging anywhere in the viewport. While dragging, a message next to the mouse cursor shows the offset amount on the U and V texture axes. Move Layer is not available for the background layer. Rotate Layer When on, rotate the active layer by dragging anywhere in the viewport. While dragging, a message next to the mouse cursor shows the rotation angle. Rotate Layer is not available for the background layer. TIP Rotation always occurs around the center of the image (not the canvas). For example, if a layer contains only one paint stroke, it rotates around the center of the stroke. To best see where the center is, open the 2D Paint window on page 6904. Scale Layer When on, scale the active layer by dragging anywhere in the viewport. While dragging, a message next to the mouse cursor shows the scaling percentage. Scale Layer is not available for the background layer. TIP Scaling always occurs about the center of the image (not the canvas). For example, if a layer contains only one paint stroke, it scales around the center of the stroke. To best see where the center is, open the 2D Paint window on page 6904. Color group Color Click the color swatch to open the Color Selector on page 304, which lets you change the paint color. Viewport Canvas | 6891 Black/White Set the paint color to black or white by clicking the respective button. Open Color Palette Opens the custom Color Palette dialog with an array of color swatches; click a swatch to use its color. To customize a swatch, right-click it and use the Color Selector that opens to adjust the color. Use the buttons at the bottom of the dialog to load a custom palette, save the current palette, or save the current palette as the default. Brush Settings group Radius The radius of the brush sphere in pixels. To change the radius interactively in the viewport, hold Ctrl+Shift while dragging vertically. NOTE As noted, the Viewport Canvas brush is spherical in shape, so when painting thin sections of 3D objects you might find that the brush penetrates the object and applies paint to two or more surfaces simultaneously. If this situation occurs, try reducing the Radius setting or using 2D View. Opacity Sets the opacity for the for all tools except Erase. When Erase is active, this field sets the value for the Erase tool only. A value of 100 is fully opaque. To change the opacity interactively in the viewport, hold Alt+Shift while dragging vertically. Hardness The falloff at the brush edges. A high Hardness value yields a sharp-edged brush; the lower the value, the softer the edge. To change the hardness interactively in the viewport, hold Ctrl+Alt while dragging vertically. Spacing When painting a continuous stroke by dragging, the distance relative to the brush radius between each copy of the brush deposited along the stroke. 6892 | Chapter 17 Material Editor, Materials, and Maps The default value, 0.25, means the copies are deposited one-fourth of the radius apart. To deposit copies edge-to-edge, set Spacing to 2.0. Scatter Randomizes the placement of each copy of the brush during a stroke. The higher the Scatter value, the greater the randomization. Blur/Sharpen The amount of blurring or sharpening applied by the Blur or Sharpen tool. Available only for those tools. 2D View / Layers Dialog 2D View Toggles the 2D Paint on page 6904 window for painting on a rectangular canvas. Layers Dialog Toggles the Layers dialog on page 6907 for managing bitmap layers. Additional Viewport Canvas Rollouts Tools menu ➤ Viewport Canvas In addition to the main interface with the painting tools and brush settings, the Viewport Canvas dialog includes a number of rollouts with additional settings, tools, and options. These are covered in this topic. Brush Images Rollout Use the Brush Images settings for painting with bitmap images and masks as opposed to solid colors. You can assign preset and custom images for brush color and masking. For example, using a mask lets you make the brush outline square instead of the default circle. You can also cause the brush rotation to follow the stroke direction or use random rotation. TIP Typically when you paint with a brush image you click rather than drag to leave single copies of the image. If you drag to leave multiple copies, increase the Spacing on page 6892 value to minimize or avoid overlap. Also, to avoid obvious repetition of the brush image, set Rotation (see following) to Random. Viewport Canvas | 6893 Color When Use is on, Viewport Canvas paints with the specified brush image. To set the brush image, click the thumbnail; this opens the Viewport Canvas Brush Images dialog on page 6903. Mask When Use is on, Viewport Canvas uses the specified brush image to mask the brush; that is, to hide and reveal different parts of the brush image. In other words, the mask image sets the opacity based on the brightness of each pixel in the mask image. White areas are fully opaque (apply the full color of the underlying brush image); black areas are fully transparent (no paint is applied), and gray areas use in-between opacities. To set the mask image, click the thumbnail; this opens the Viewport Canvas Brush Images dialog on page 6903. Rotation Sets the brush angle. Choose one of the following: ■ NoneThe brush image is always right side up. ■ Follow StrokeThe software angles the brush image so the top of the image is pointed forward with respect to the stroke direction. To see the direction when using this option, drag the brush. ■ Random Each painted copy of the brush image uses a different angle, chosen at random. 6894 | Chapter 17 Material Editor, Materials, and Maps Brush Image Settings Rollout Projection Choose how Viewport Canvas projects the brush image: ■ Hit NormalThe brush image is projected onto the geometry along the normal of the geometry at the mouse location. ■ From ScreenThe brush image is aligned to the screen and then projected onto the geometry. Color/Mask: Fit To Brush When on, the brush image is scaled so that it fits the brush’s current size. When off, making the brush radius smaller than the brush image crops the image. Color/Mask Tiling Choose a tiling option for the brush image (color or mask): ■ NoneAreas outside the brush image are transparent. ■ TileThe brush image is tiled. ■ Across ScreenThe brush image is tiled across the screen so that the same place on screen will always have the same part of the texture. This way painting twice in the same place produces the same result. For best results with this option, set Projection to From Screen (see preceding). Viewport Canvas | 6895 Options Rollout Paint On Choose a map type in the object’s material to paint on. Click the button to open a list of the available map types: Choose a map type from the list. For example, to paint the object’s coloring with a Standard material, choose the Diffuse Color map. If the map type does not have a bitmap image file assigned, choosing the map type opens the Create Texture dialog on page 6901. Otherwise Viewport Canvas paints on the existing bitmap. NOTE If the assigned map type is not a bitmap, you’re prompted to choose a component of the map, typically a color, for which to create a bitmap. Viewport Canvas requires a bitmap file to work with. 6896 | Chapter 17 Material Editor, Materials, and Maps Map Channel The channel on page 9210 to which to assign the map. Save Texture When on, exiting the active painting tool updates the current bitmap texture file. When off, any changes are discarded automatically. When experimenting, turn this switch off so your painting isn’t saved. Brush Preview When on, the brush image appears in the circular “brush” at the mouse cursor. Paint Behavior Rollout Paint Affects Choose how ...: ■ Spherical RadiusPaint applies only to pixels within the spherical radius on page 6892 of the brush in the scene. ■ DepthPaint is applied to all pixels "under" the brush, perpendicular to the viewing plane. In effect, paint is applied all the way through the object. Mirroring Choose whether or how painting is reflected across an axis as you paint: ■ NonePainting is not mirrored. ■ X/Y/ZPainting is mirrored across the specified axis. Clone Source When using the Clone brush on page 6889, choose where paint can be cloned from: ■ Current LayerPaint can be cloned from only the current paint layer on the selected object. Viewport Canvas | 6897 ■ All LayersPaint can be cloned from all paint layers (that is, the composite image) on the selected object. ■ ViewportAny part of the viewport can be cloned from, including the background and other objects in the scene. However, viewport overlay items such as the ViewCube are not available for cloning. Fill Tool - Brush Images Choose the behavior of a brush image using using the Fill brush: ■ TileThe brush image is tiled across the active layer. ■ 3D WrapThe brush image is wrapped around the object in a way that tries to eliminate any seams. Randomize Rollout Brush Radius When on, the brush radius on page 6892 is randomized between the Min and Max values each time the brush is applied (including within continuous strokes). The Brush Settings ➤ Radius value is not used, except that the applied spacing is based on it (if the Spacing setting not randomized). Opacity When on, the brush opacity on page 6892 is randomized between the Min and Max values each time the brush is applied (including within continuous strokes). 6898 | Chapter 17 Material Editor, Materials, and Maps Eraser Opacity When on, the eraser on page 6888 opacity is randomized between the Min and Max values each time the brush is applied (including within continuous strokes). Hardness When on, the brush hardness on page 6892 is randomized between the Min and Max values each time the brush is applied (including within continuous strokes). Spacing When on, the brush spacing on page 6892 is randomized between the Min and Max values each time the brush is applied (including within continuous strokes). Scatter When on, the brush Scatter on page 6893 value is randomized between the Min and Max values each time the brush is applied (including within continuous strokes). Color When on, randomizes the value of each pixel in the brush based on the color of the swatch next to the Color check box each time the brush is applied (including within continuous strokes). This adds a speckled appearance look to brush strokes. This color overrides the standard Color setting. Does not affect painting when using a color brush image on page 6895. Tablet Pressure Rollout While painting with a graphic tablet (aka pen tablet), you can vary the following settings by changing the pen pressure on the tablet as you draw. Brush Radius Varies the radius on page 6892 based on pen pressure. Opacity Varies the opacity on page 6892 based on pen pressure. Hardness Varies the hardness on page 6892 based on pen pressure. Scatter Varies the Scatter on page 6893 value based on pen pressure. Load/Save Settings Rollout Use these settings to store the current Viewport Paint setup to a text file on disk and reload it later. You can also make the current settings the default, so Viewport Canvas always starts with those settings. Viewport Canvas | 6899 The saved settings include the positions of the Viewport Canvas (also its size), Layers, and 2D Paint dialogs, whether Viewport Canvas rollouts are open or closed, and all numeric and other values. Load Opens a dialog for loading saved settings. Save Opens a dialog for saving the current settings. Save Current Settings As Default Saves the current settings to the file Default.txt, which is loaded automatically when Viewport Canvas starts. Assign Material Dialog Tools menu ➤ Viewport Canvas ➤ Select an object with no material. ➤ Click a painting tool. ➤ Assign Material dialog NOTE After you choose an option from the Assign Material dialog, Viewport Canvas prompts you for the map type to use. If you choose a map type to which a bitmap image file is not yet assigned, the Create Texture dialog on page 6901 opens. The Assign Material dialog opens when you start to paint an object to which no material is assigned. It has a shortcut for assigning a Standard material, or you can choose another material. You can use Viewport Canvas with any material in 3ds Max. After you designate the material type to assign, you’re prompted for a map type to paint on (such as Diffuse), and then for a bitmap file to use. 6900 | Chapter 17 Material Editor, Materials, and Maps Interface Assign Standard Material Assigns a Standard material on page 6382 to the object. Browse Material to Assign Opens the Material/Map Browser on page 6167, which you can use to assign any material in 3ds Max. Cancel Exits the dialog without assigning a material or starting Viewport Canvas. Create Texture Dialog Tools menu ➤ Viewport Canvas ➤ Select an object. ➤ Click a painting tool. ➤ Assign a material on page 6900 or use an existing material. ➤ Choose an empty map slot. ➤ Create Texture dialog Viewport Canvas dialog ➤ Options rollout ➤ Click Paint On button. ➤ Choose an empty map slot. ➤ Create Texture dialog This dialog lets you specify the settings for a new bitmap for painting with Viewport Canvas tools. You can an existing bitmap for overwriting or let Viewport Canvas create a new one. Viewport Canvas | 6901 Interface Width/Height Displays and sets the dimensions of the bitmap to create. Use these to set a custom size. Preset Sizes Click one of these buttons to set the Width and Height fields to the specified value. Color Displays the current background color for the new texture. To change the color, click the swatch and use the Color Selector dialog that opens. Save New Texture To Enter a path and file name (with legitimate extension) for the new texture in the text field, or click the “...” button to specify the path and file name using a file dialog. If you choose an existing file, the file is overwritten. NOTE Pressing Enter after entering a file path and name in this field has no effect; click OK to continue. Show Map in Viewport Makes the map visible in the viewport. In most cases, leave this on so you can see what you’re painting. Map Channel The map channel on page 9210 for the new map. 6902 | Chapter 17 Material Editor, Materials, and Maps Viewport Canvas Brush Images Dialog Tools menu ➤ Viewport Canvas ➤ Brush Images rollout ➤ Click Color thumbnail or Mask thumbnail. The Viewport Canvas Brush Images dialog lets you choose an image and mask to paint with using the Brush Image on page 6893 feature. Interface Here you can choose from the provided images and masks or from any number of custom brushes that you define. The dialog comprises a row of preset color brushes, a row of preset mask images, a list of custom maps where you can use your own images as brush maps, and two buttons for managing the maps. To see the name of any brush image, hover the mouse over its thumbnail. To use a map as a brush image, click its thumbnail; the map replaces the map for the thumbnail you clicked on the Brush Images rollout and closes the Brush Images dialog. Color Presets Choose a color image to paint with. The presets are fixed; to use your own brushes, see Custom Maps, following. Mask Presets Choose a mask image to paint with. The mask image sets the opacity based on the brightness of each pixel in the mask image. White areas are fully opaque (apply the full color of the underlying brush image); black areas are fully transparent (no paint is applied), and gray areas use in-between opacities.. So, for example, the mask preset with a white square on a black background converts the default circular brush outline to a square one. The presets are fixed; to use your own masks, see Custom Maps, following. Viewport Canvas | 6903 Custom Maps Lists custom brush images. Two are included: a yellow star on a black background and a star-shaped mask. To create a custom brush, make a square image in a paint program. Or, to make a custom mask image, make a black-and-white image (white is transparent, shades of gray produce degrees of transparency, and black is completely opaque). Save the image as a TIFF-format image file in the folder that opens when you click the Browse Custom Maps Dir button. The new brush then shows up in the Custom Maps list the next time you open the Brush Selection dialog, or after you click Reload Custom Maps. TIP There’s no inherent difference between a brush image and a mask; only the way Viewport Canvas uses them. You can use a grayscale image as a brush, or a color image as a mask. In the latter case, Viewport Canvas uses only the Value (brightness) information from the image for masking purposes. Browse Custom Maps Dir Opens a file dialog set to the disk directory that holds custom maps. You can’t change the location, but you can use this dialog to copy your own files to the custom-maps directory, to copy or delete files, or any other standard file function. Reload Custom Maps After adding or deleting custom-map files, click this button to update the Custom Maps listing. 2D View Tools menu ➤ Viewport Canvas ➤ Start painting. ➤ Click 2D View. 2D View lets you paint a map onto a flat, rectangular 2D Paint window superimposed on the viewports. This window is visible only in the active viewport, and can thus be truncated in a multi-viewport display. For best results when using 2D View, maximize the active viewport (press Alt+W to toggle viewport maximization). Painting in the 2D Paint window works exactly the same as regular painting on a 3D surface. You can use all the painting tools and layer tools as normal. As you paint in the 2D window, the map on the object surface is updated in real time. You can also paint directly onto the object even while the 2D Paint window is open. The 3ds Max viewport navigation tools do not affect the 2D window, but mouse-based controls do: Zoom in and out by rolling the mouse wheel, and pan the window by dragging with the wheel button (or middle button) held down. 6904 | Chapter 17 Material Editor, Materials, and Maps Brush Image Distortion When you apply a rectangular texture map to a rounded 3D object, distortion can occur at “gathering” points, such as the top and bottom of a sphere, because of the compression required to make the image fit into the smaller surface area. When you paint directly onto a 3D surface with Viewport Canvas, the software compensates for this by automatically spreading out the image as it approaches a gathering point. However, if you paint such an area in the 2D Paint window, the image appears normal in the window, but is distorted on the object surface. The image, applied directly to the sphere’s surface near its top (left), appears distorted in the 2D Paint window. The image, applied in the 2D Paint window (right), appears distorted on the sphere surface. Viewport Canvas | 6905 Interface To move the 2D Paint window, drag its title bar, and to resize the window, drag the side and bottom edges and the bottom corners. To exit 2D Paint, click the 2D View button or the Close button (X) on the title bar. In addition, the following tools are available on the window toolbar: Toggle UV Wireframe Turns the wireframe display of the texture coordinates (visible as a grid) on and off in the 2D Paint window. 6906 | Chapter 17 Material Editor, Materials, and Maps Fit Texture To View Zooms the view to fit the entire texture map in the window. Actual Size Zooms so that each pixel in the texture map is the same size as a screen pixel. The texture map is then displayed in its actual size. Viewport Canvas Layers Tools menu ➤ Viewport Canvas ➤ Activate any paint tool. Viewport Canvas supports painting in and editing individual layers, with full control over how layers interact with each other. You can apply transform layers, apply filters to them, and save a layered image in the Adobe Photoshop-native PSD format on page 8444. When you activate any painting tool in Viewport Canvas, the Layers dialog opens by default; you can toggle the dialog with the Layers Dialog on page 6893 button on the Viewport Canvas dialog. For details about the how to use layers in Viewport Canvas, see this procedure on page 6879 and the remainder of this section. Viewport Canvas | 6907 Interface Layers Dialog [Menu bar] The five menus provide access to various layer-management functions. See Layers Dialog Menu Bar on page 6911. [Blending Mode] This drop-down list includes a number of Photoshop-type blend modes on page 6756 that determine how the layer image affects underlying layers. Available only for layers other than the background. Only one blending mode can be applied to a layer, to use multiple blending modes, duplicate the layer and apply a different mode to each copy. Opacity The amount by which the current layer obscures lower layers. At 100% opacity, lower layers are hidden; at lower opacity values the current layer is increasingly transparent. [Layers list] Lists the layers in the current texture, including each layer’s name and thumbnail image. Layer contents appear in the image in the order listed, starting with the layer at the bottom of the list (the background layer) and going upwards. In other words, each layer is superimposed over the layers below it in the list. 6908 | Chapter 17 Material Editor, Materials, and Maps The list provides the following features: ■ To activate a layer, click its name or thumbnail. The layer highlights, indicating that this layer will receive any subsequent painting or commands. ■ To toggle visibility of a layer, click the light-bulb icon to the left of the thumbnail. Not available for the background layer. ■ To rename a layer, double-click its name or use the Rename Layer command, available from the Layer menu and right-click menu. A small Rename Layer dialog opens; edit the name and then click OK. ■ To reposition a layer in the list, drag it to the new position. The background layer cannot be moved. ■ To use a command from the Layer menu on page 6911, right-click a layer. Duplicate Layer Makes an identical copy of the active layer, places it in the slot immediately above the active layer, and makes the duplicate layer active. Add New Layer Creates a new, empty layer in the slot immediately above the active layer and makes the new layer active. Delete Layer Deletes the active layer. This action is undoable. Save Texture Layers Dialog When you use Viewport Canvas to add one or more layers to a single-layer bitmap texture such as a JPEG or PNG file and then exit the Paint or other tool, Viewport Canvas opens the Save Texture Layers dialog with a choice of options for handling the image. The choices are as follows: Viewport Canvas | 6909 ■ Continue PaintingReturns to the active painting tool (Paint, Erase, etc.) without saving a file. ■ Save as PSD filePrompts you for the name and location of the file to save, saves the file, and then restores the original bitmap texture. Your multi-layer painting is stored only in the saved file, not in the scene. You can then use the Material Editor to load the file as a texture map. ■ Flatten Layers and save the current textureCombines all the layers into one and saves the image to the current image file. ■ Save as PSD and replace texture in materialSaves the image in PSD format and replaces the current map in the material with the saved PSD file. This option preserves the layers in the map. ■ Save PSD then flatten layers and save the current textureSaves the image in PSD format, then combines the layers into a single layer and saves the flattened image to the current map file. The PSD file is saved separately and is not part of the scene unless you load it manually. ■ Discard PaintDiscards all painting since the last time the texture was saved, as well as any layers added on top of the background layer. This option effectively undoes any layering operations and reverts to the original, single-layer bitmap. 6910 | Chapter 17 Material Editor, Materials, and Maps Layers Dialog Menu Bar Tools menu ➤ Viewport Canvas ➤ Activate any paint tool. ➤ Layers dialog ➤ Menu bar The Layers dialog menu bar provides access to commands for file functions, layer and dialog management, and image processing tools. File Menu Tools menu ➤ Viewport Canvas ➤ Activate any paint tool or click Layers Dialog. ➤ Layers dialog ➤ Menu bar ➤ File menu The Layers dialog File menu includes commands for saving and loading the painted bitmap. Save PSD As Opens a file dialog for saving the current texture as a layered PSD file. Save Bitmap (Flattened) As Opens a file dialog for saving a flattened version of the current texture in any of the formats listed under Save As Type on the dialog. The layered texture in remains intact in 3ds Max. Load Bitmap Into Current Layer Opens a file dialog for choosing a bitmap file to load into the active layer, replacing its current contents. If you choose a PSD file, the PSD Input Options on page 8444 dialog opens with the option to collapse the layers or load a single layer. TIP This is an easy way apply a bitmap to a material map without using the Material Editor. Paste From Clipboard Replaces the current layer contents with the contents of the Windows clipboard. The clipboard contents must be a bitmap. For example, you could open an image file in Windows Paint, select part of it, press Ctrl+C to copy the selection to the clipboard, and then paste it into the layer using this command. Layer Menu Tools menu ➤ Viewport Canvas ➤ Activate any paint tool or click Layers Dialog. ➤ Layers dialog ➤ Menu bar ➤ Layer menu Viewport Canvas | 6911 The Layers dialog Layer menu includes commands for managing layers in the painting. All Layer menu commands are undoable. NOTE These commands are also available from a context menu that opens when you right-click a layer in the layers list. Rename Layer Opens a small dialog for renaming the active layer. Add Layer Mask Opens a submenu for applying a mask to the layer; the choices are Reveal All (creates an all-white mask) and Hide All (creates an all-black mask) . Available only for layers other than the background. For layers with a layer mask applied, this menu item changes to two others: Disable/Enable Layer Mask, and Delete Layer Mask. When a layer has a layer mask, a thumbnail image of the mask appears on the right side of the layer’s entry in the list: To work with the layer image, click the layer thumbnail on the left side of the list entry; to work with the layer mask, click its thumbnail on the right side. When the layer mask is active, you can modify it by painting or by loading a bitmap on page 6911, as with the standard layer image. The layer mask is a grayscale image. Black pixels hide the current layer image, revealing the underlying layer; white pixels reveal the current layer; and shades of gray make the current layer translucent. Layer 1 uses a checker bitmap as a layer mask to reveal the background layer in a regular pattern. 6912 | Chapter 17 Material Editor, Materials, and Maps New Layer Adds a new layer above the active layer and activates the new layer. Duplicate Layer Adds a copy of the active layer above the active layer and activates the duplicate layer. Delete Layer Deletes the active layer. Merge Down Combines the active layer with the following layer in the list, and gives the merged layer the name of the latter layer. Apply Image Merges copies of all visible layers into the active layer. The other layers remain intact. NOTE Because the background layer cannot be hidden, it is always involved in Apply Image. Flatten Visible Layers Combines all visible layers into a single layer. Any hidden layers are discarded. Flip Horizontal Reverses the layer contents left-to-right. Flip Vertical Reverses the layer contents top-to-bottom. Adjust Menu Tools menu ➤ Viewport Canvas ➤ Activate any paint tool or click Layers Dialog. ➤ Layers dialog ➤ Menu bar ➤ Adjust menu The Layers dialog Adjust menu includes commands for processing the entire image. Most commands open a modal dialog with a Preview option, but Auto Levels and Invert have no parameters and take effect immediately. Brightness/Contrast/Hue/Saturation Opens a dialog with controls for adjusting the following settings: ■ BrightnessAffects the brightness (value) of the entire layer. The highest value, 100, makes the layer completely white, while the lowest value, -100, makes it black. ■ ContrastAffects the contrast of the layer. Higher values tend to result in fully saturated colors, bright whites, and deep blacks, while lower values tend toward an overall gray tone. ■ HueRotates areas of colors through the color spectrum. Does not affect shades of gray (including black and white). Viewport Canvas | 6913 ■ SaturationHigher values tend toward “purer,” or brighter colors, while lower values tend toward shades of gray. Levels The Levels controls in Viewport Canvas work the same as the Levels controls in most paint programs. ■ BlackAffects mainly the darkest areas in the image. Raising the Black level makes the overall image tend to become black. ■ WhiteAffects mainly the brightest areas in the image. Lowering the White level makes the overall image tend to become white. ■ Mid Tones OffsetAffects mainly the areas in the image that are not black or white. Raising the Mid Tones level makes the image tend to become black, while lowering it makes the image tend to become white. Color Balance Adjusts the overall coloration of the image. ■ Cyan - RedAdjusts the image color between cyan and red. ■ Magenta - GreenAdjusts the image color between magenta and green. ■ Yellow - BlueAdjusts the image color between yellow and blue. ■ Shadows/Midtones/HighlightsSpecifies whether the color adjustments affect the darker, in-between, or lighter portions of the image. Auto Levels Attempts a “best-fit” adjustment of the image brightness, contrast, saturation, and color balance. Invert Converts the color of each pixel to its spectral opposite by subtracting the RGB values from 255. So, for example, red becomes aqua (blue-green), blue becomes yellow, and so on. Filter Menu Tools menu ➤ Viewport Canvas ➤ Activate any paint tool or click Layers Dialog. ➤ Layers dialog ➤ Menu bar ➤ Filter menu Choosing a Filter menu item opens a modal dialog that lets you change settings with sliders and (for Blur) radio buttons. Each dialog has a Preview switch that’s on by default so you can view the effect immediately on the painted surface. 6914 | Chapter 17 Material Editor, Materials, and Maps Blur Opens a dialog that lets you specify the amount and direction of blur to apply to the layer. ■ BlurThe amount of blurring to apply. ■ UniformBlurs equally in all directions. ■ HorizontalBlurs horizontally only. ■ VerticalBlurs vertically only. Sharpen Applies a sharpening effect by adjusting the contrast between pixels at edges in the image. ■ AmountThe degree of sharpening applied. ■ RadiusThe distance from each affected pixel within which neighboring pixels are affected by the sharpening. ■ ThresholdThe contrast at edge pixels required for sharpening to occur. At higher values, less sharpening is applied. Find Edges Emphasizes edges and de-emphasizes color and midtones. The output tends to resemble a sketch with black ink on white paper. ■ ThresholdThe contrast at edge pixels required for edge detection to occur. At higher values, fewer midtones appear. ■ ContrastThe contrast at edges for detection to occur. At higher values, fewer midtones appear. Median Reduces image noise without affecting sharpness. ■ RadiusThe distance within which noise reduction occurs. Lower values tend to be more effective. Threshold Converts a color image to black-and-white. ■ ThresholdAt lower values, pixels tend to become white, while ■ SmoothnessApplies a blurring or averaging effect. ■ GradientLower values produce high-contrast output, while higher values tend toward grayscale output. Viewport Canvas | 6915 High Pass Emphasizes edges near sharp color transitions and de-emphasizes the remainder of the image. This can be useful for preserving image detail before using the Threshold filter (see preceding). ■ RadiusThe area in which the filter looks for color contrast. The higher this value, the less filtration is performed. Distort Adds “wavy” distortion to the image. ■ OffsetThe distance pixels move along the distorting waveforms. ■ ScaleThe relative size of the distorting waveforms. ■ IterationsThe number of times the distortion is applied to the image. ■ PhaseThe relative position of the distorting waveforms. Dock Menu Tools menu ➤ Viewport Canvas ➤ Activate any paint tool or click Layers Dialog. ➤ Layers dialog ➤ Menu bar ➤ Dock menu The Dock menu provides controls for positioning the Layers dialog within the program interface. Dock Left / Dock Right Attaches the Layers dialog as a vertical panel to the left or right side, respectively, of the viewports. Float The Layers dialog floats freely over the program interface. You can place it anywhere on the screen by dragging the title bar. This is the default state. Render Surface Map Rendering menu ➤ Render Surface Map This dialog provides a set of tools for creating bitmaps based on an object’s UVW mapping. The bitmaps display certain surface properties of the object. There’s also a Bitmap Select function for selecting sub-objects based on mapping attributes. 6916 | Chapter 17 Material Editor, Materials, and Maps NOTE These tools work only with editable poly objects. If you attempt to use one with another type of object, even if it has an Edit Poly modifier applied, nothing happens. Also, the object must have a map channel on page 9210 (typically 1) corresponding to the current Map Channel setting on the Render Surface Map dialog. If the object has no map channel, an error message informs you of this fact. To provide a map channel, apply an Unwrap UVW on page 1787 or UVW Map on page 1883 modifier and then convert the object to an editable poly. Procedure Example: To use Render Surface Map: This procedure describes how to create a surface map and then use it in a material. 1 From the Rendering menu, choose Render Surface Map. This opens the Render Surface Map dialog. 2 Select the editable poly object for which to generate the surface map. 3 Set the Map Channel parameter on the Render Surface Map dialog to that of the object. IMPORTANT Make sure the object has a mapping channel and that Map Channel is set to that channel. If you attempt to render a surface map and encounter a message that says that the map channel does not exist, either set Map Channel to the correct value, or, if the object has no mapping, create mapping for it. To do so, apply a mapping modifier such as Unwrap UVW on page 1787 or UVW Map on page 1883 and then collapse on page 1974 the modifier stack. Also, for best results, make sure mapping clusters do not overlap. For example, in the Unwrap UVW modifier, use the Flatten Mapping on page 1827 tool. 4 Click one of the top four buttons on the Render Surface Map dialog: Cavity Map on page 6919, Density Map on page 6920, Dust Map on page 6920, or SubSurface Map on page 6921. For example, to generate a texture that makes the object look dirty in concave areas, use Cavity Map. After a brief pause, the generated texture opens in a separate window. The texture type (such as Cavity Map) appears in the window’s title bar. Render Surface Map | 6917 5 On the output window toolbar, click (Save Image). Specify a name, type (graphics format), and location for the file, and then click Save. 6 Use the Material Editor to assign the saved image file as a Diffuse map in a material, and then assign the material to the object you used to generate the map. Interface W/H The width and height of the bitmap to generate. 6918 | Chapter 17 Material Editor, Materials, and Maps TIP When generating bitmaps for use in real-time-rendering applications, such as games, both dimensions should be powers of 2, such as 256 or 512. Size Choose a size from the list of presets. Map Channel The map channel to use when generating the bitmap. Seam Bleed Determines how many pixels are added at UVW borders as “padding.” These bled pixels will never overwrite the pixels within UVW seams. This value has no effect in SelectionToBitmap. Bitmap Type Cavity Map Generate a grayscale image that displays how convex or concave the surface of an editable poly object is at a given point. The more concave the surface is the darker the pixels will be and the more convex the surface is the more white is added to the pixels. This image can be used as a cavity or "dirt" map, or as a base for further texture painting. A Cavity map created from a character head Render Surface Map | 6919 Contrast Determines how much extra contrast is added. In a very high resolution mesh the surface does not change much from polygon to polygon, so in such cases it might be neccessary to increase the contrast to get the difference in concavity/convexity to show clearly. Density Map Generates a grayscale image that displays how dense the editable poly mesh is at a given point. White areas represent the smallest distance between vertices and black represents the greatest distance. A Density map created from a character head Dust Map Generates a grayscale image that the extent to which each point in the surface faces the world Z direction. White represents vertices pointing fully in the Z direction and black represents vertices pointing 90 degrees from the Z axis (that is, parallel to the world XY plane) or below. 6920 | Chapter 17 Material Editor, Materials, and Maps A Dust map created from a character head SubSurface Map Generates a grayscale image that displays an estimation of the relative volume of a poly object at a given point. White represents the thinnest parts and black represents the thickest parts. You can then use this map to simulate greater translucency in thin areas. The resulting map does not necessarily represent accurately how light would pass through the surface but can be useful for simulating this. Render Surface Map | 6921 SubSurface maps created from a poly mesh, showing different Blur values The upper two images use flat shading so that only the texture is visible. Blur The degree of blurring applied to the generated map. 6922 | Chapter 17 Material Editor, Materials, and Maps In the preceding illustration, the top rendering has Blur set to 4, while the center one has Blur set to 40. The bottom rendering shows the poly object without a texture map. Occlusion Map Generates a grayscale bitmap based on the extent to which parts of the object occlude other parts. Does not depend on scene lighting. SelectionToBitmap Generates a black-and-white bitmap based on the current sub-object selection and displays it in a window from which you can save it. White areas in the output image indicate selected sub-objects at that location. At the vertex level each vertex gets a white dot. At the edge level each edge gets a dot in the middle of the edge. At the polygon level each polygon is filled with white color. You can use a bitmap generated with SelectionToBitmap for selecting sub-objects with the Bitmap Select tool (see following). SelectionToBitmap used at the Vertex level NOTE You can assign CUI shortcuts on page 8837 (PolyTools category) for SelectionToBitmap. When assigned as shortcuts, the image is generated as follows: ■ Normal (no key)Creates a 256x256 bitmap. ■ ShiftCreates a 512x512 bitmap. Render Surface Map | 6923 Texture Wrap This tool creates a texture map from an input texture and wraps it around the selected object in a way that creates no texture seams and with a uniform texture scale across the surface. It projects the input texture from all directions and blends the result based on surface normal. A good use for this tool is to provide a base texture for a model. For example, you can create a basic skin texture and wrap that around the whole character model in a seamless way. Another use is for complex shapes such as a tree and all its branches. To use Texture Wrap, first click Pick Texture to specify a texture file, then select the object to wrap and click Texture Wrap. The input texture (left) and the resulting wrapped texture applied to a model (right) TIP For complex objects, use the Flatten Mapping on page 1843 feature of the Unwrap UVW modifier to create UVW coordinates for all parts of a mesh. You can then use Texture Wrap to wrap a texture around that object with good results across texture seams. NOTE This tool might not produce ideal results with very-low-resolution models that have many sharp angles between faces. It works best with organic surfaces that have some curvature. Pick Texture Opens a file dialog for specifying an image file to wrap as the texture. Tile The number of times the texture will be repeated across the object, both horizontally and vertically. 6924 | Chapter 17 Material Editor, Materials, and Maps Texture Wrap With an editable poly object selected, click to wrap the texture. Bitmap Select Enables you to select parts of the model based on a bitmap image. Bitmap Select Opens the Bitmap Select dialog. Bitmap Select Dialog Rendering menu ➤ Render Surface Map ➤ Bitmap Select With Bitmap Select you can select sub-objects in the model based on a bitmap image. Bitmap Select applies the chosen bitmap for selection purposes based on the model’s UVW mapping (it need not be part of a material applied to the object), and uses it to select parts of the mesh that correspond to a defined color. For example, you can select all polygons that have the color white in the chosen bitmap. This way you can save a sub-object selection that will survive any topology changes, and quickly select hard-to-reach areas of the model. You can also have many selections stored in the same bitmap, because every color in the bitmap can be defined as a separate selection. It is recommended that you use lossless formats for the bitmap, such as Targa or or BMP, because a format such as compressed JPEG can lose color information in the compression. Bitmap Select works at all sub-object levels. The software uses the following guidelines to determine a sub-object’s color: ■ At the Vertex level, the vertex must have the specified color to be selected. ■ At the Edge level, the center of the edge must have the specified color to be selected. ■ At the Polygon level, the center of the polygon must have the specified color to be selected. IMPORTANT Bitmap Select uses the bitmap as tiled once on each texture axis (U/V/W) and applied to the object using its UVW mapping. Even if, for example, you’ve applied the bitmap to the object’s material’s Diffuse map and used the Tiling settings to repeat it across the surface, Bitmap Select treats it as untiled (Tiling=1.0) for the purposes of selecting sub-objects. Also, even if you’ve modified the tiling with the UVW Map modifier, Bitmap Select works only within the basic UVW space (0,1). Render Surface Map | 6925 Procedure To use Bitmap Select: 1 Use the map slot buttons to choose from one to four bitmaps to use for selection. TIP To see a bitmap on the object, apply it as a Diffuse map to an unused material and apply the material temporarily to the object. Leave the Tiling values at their defaults (1.0, 1.0). 2 Set the Use Mapslot value to the number of the map slot to use for selection. Also, if necessary, change the map channel value. 3 Set Get Selection From to the color to use for making the selection. Any sub-objects with that color will be selected. 4 Select an editable poly object and access the sub-object level, such as Vertex or Polygon, at which you want Bitmap Select to work. 5 Click GO to make the selection. Interface Map1-Map4 Use these mapslot buttons to specify bitmaps to use in getting the selection. Clicking a button opens the Material/Map Browser on page 6167. Use the C button next to a mapslot to clear the map assigned to that slot. 6926 | Chapter 17 Material Editor, Materials, and Maps Use Mapslot The map slot (1-4) Bitmap Select uses for making the selection. Mapchannel The map channel to use in making the selection. Get selection from Determines which bitmap color Bitmap Select uses for getting the selection. For example, if you choose White at the Polygon sub-object level, all polygons that have a corresponding white color in the bitmap, based on the UVW layout, will be selected. To use a color other than white or black, choose Color and then click the color swatch. Use the Color Selector to choose the color to use in getting the selection. NOTE There is a slight tolerance for the color so the color does not have to be exact but is allowed to differ slightly. Go Makes the selection based on the supplied criteria. Assign Vertex Colors Utility Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Assign Vertex Colors The Assign Vertex Colors utility assigns vertex colors based on the material assigned to the object and the lighting in the scene. The utility applies a VertexPaint modifier on page 1910 to the object when Assign To Selected is clicked. Once the VertexPaint modifier has been applied to the object, go to the Modify panel or click Edit to access the VertexPaint tools. TIP To render vertex colors, you must apply a material that has a Vertex Color map on page 6775 in its diffuse component. To view vertex colors in viewports, right-click the object, choose Object Properties on page 221 from the quad menu, and then turn on Vertex Channel Display in the Display Properties group and make sure the drop-down option is set to Vertex Color. The Assign Vertex Colors utility supports light inclusion or exclusion when using the Scene Lights option. All of the commands found within the Assign Vertex Color utility are also available from the Modify panel when a VertexPaint modifier has been applied to an object. Assign Vertex Colors Utility | 6927 Vertex Colors and Radiosity The Vertex Colors utility supports radiosity on page 7068. If you use radiosity with assigned vertex colors, be sure to turn on the option Re-Use Direct Illumination From Radiosity Solution. This option is in the Rendering Parameters rollout. See Radiosity Controls on page 7087. When this option is on, the renderer simply displays the vertex colors assigned by the radiosity solution: strictly speaking, it is not rendering at all. The additional option Render Direct Illumination, also on the Rendering Parameters rollout, causes direct lighting not to be saved in the corresponding mesh. This corresponds to the options Radiosity, Render Direct Illumination, in which case Assign Vertex Colors gets indirect illumination from the radiosity mesh but renders direct illumination separately; or Radiosity, Indirect Illumination Only, in which case Assign Vertex Colors doesn't apply direct illumination to vertices at all. See also: ■ VertexPaint Modifier on page 1910 ■ Vertex Color Map on page 6775 Procedures To use the Assign Vertex Colors utility: 1 Assign materials to the objects you want to affect. These can be mapped or unmapped materials. 2 Light the objects. 3 Select the objects you want to affect. 4 Open the Object Properties dialog for each object, click to turn off the By Layer button, turn on Vertex Channel Display, and click OK. 5 Expand the Display Properties rollout in the Display panel and turn on Vertex Colors. 6 Access the Assign Vertex Colors utility. 7 Choose one of the Light Model options. 8 Choose one of the Color Assignment choices. 9 Click Assign to Selected. 6928 | Chapter 17 Material Editor, Materials, and Maps VertexPaint modifiers are applied to the selected objects, and the vertex colors for the objects are taken from their materials and from the lighting in the scene, depending on the options you choose under Light Model. Changing the material or the lighting in the scene won’t change the vertex colors. To do this, click the Update All button. NOTE The new vertex colors are stored in the Vertex Paint modifier. If you want to access them, go to the Modify panel and access the parameters in the rollouts there. You can also use the tools found in the Vertex Paint floating dialog to create layers, paint, blur or adjust color. The Vertex Paint floater launches when you go to the Modify panel and the object is selected. Example: To use the Assign Vertex Colors utility on a specific object: 1 Create a sphere with 24 segments. 2 Apply a mapped material to the sphere, and turn on Show Map In Viewports. The mapped sphere is displayed in the viewport. 3 Apply a mapped material to the sphere. NOTE Choose a simple, well-defined map with large, easily-distinguished areas. 4 Open the Object Properties dialog for the sphere, turn on Vertex Colors, and click OK. 5 Open the Object Properties dialog for the sphere, click to turn off the By Layer button, turn on Vertex Channel Display, and click OK. The sphere turns white because you're now displaying its vertex colors, and they're all white as a default. 6 With the sphere selected, open the Assign Vertex Colors utility. 7 Choose Shaded and turn on Use Maps. 8 Turn on Mapping. 9 Click Assign To Selected. A blurred version of the mapping appears on the sphere. The vertices are now colored based on the material and the lighting in the scene. The mapping is blurred because the resolution of the mesh at 24 segments is much lower than the pixel resolution of the map. Assign Vertex Colors Utility | 6929 10 Go to the Modify panel and note the VertexPaint modifier. 11 Move down in the stack to the creation parameters, click Yes at the warning prompt, and increase the Segments to 70. The new vertices shift the already assigned vertices. 12 Return to the VertexPaint level of the stack, and click Assign in the Assign Vertex Colors rollout. Had we returned to the Utilities panel, we would have added another Vertex Paint modifier to the stack; clicking Assign in the VertexPaint Modifier only updates that modifier. TIP Vertex colors will only show up in a rendered scene if you assign the Vertex Color map to the diffuse channel. However, if you do this, you can't properly update your vertex colors with the Assign Vertex Colors utility. The solution is to assign a Blend material to your object. Assign the straight diffuse bitmap to Material 1, and the Vertex Color map to Material 2 of the Blend. Switch to 100 percent of Material 2 when rendering, and 100 percent of Material 1 when updating the vertex colors. 6930 | Chapter 17 Material Editor, Materials, and Maps Interface Assign Vertex Colors Utility | 6931 Channel group Here you'll find tools to choose which channel type the vertex color utility will assign. If you choose map channel, you can also specify the map channel ID number. ■ Vertex ColorChoose this to assign a vertex color layer. ■ Vertex IllumChoose this to assign a vertex lighting layer. ■ Vertex AlphaChoose this to assign a vertex transparency layer. ■ Map ChannelChoose this to assign a specifically numbered map channel. Map channel spinner Use this to define the channel number. Available only when Map Channel is chosen. Name If a channel has a name defined, it will appear here. Channels can be named using the Channel Info Utility on page 6936. NOTE Although the Color, Illum, and Alpha channels have specific names, in fact 3ds Max does not enforce what kind of data is saved in them, and any of the three channels can contain four-channel (RGBA) vertex color data. Light Model group Provides options that let you specify how the surface of the object appears to be illuminated. 6932 | Chapter 17 Material Editor, Materials, and Maps ■ Lighting + DiffuseUses the current scene lighting and materials to affect the vertex colors. ■ Lighting OnlyUses only lighting to assign vertex colors, ignoring material properties. When this option is chosen, Shadows and Mapping are disabled in the Rendering Options rollout. ■ DiffuseUses the material's diffuse color, ignoring the lighting. Color Assignment group Lets you specify how colors are interpolated across surfaces. ■ Color by Face(The default.) Colors are interpolated between the center of each face. Color By Face samples fewer points, so it is the quicker method. On the other hand, results are less accurate. ■ Color by VertexColors are interpolated between vertices. For each face, this method uses three points instead of one, so it is slower but usually more accurate. An exception can occur when an object's shadow falls between two vertices: in such a case, the object should occlude lighting, but because only vertices are taken into account, the shadow is not calculated and a “light leak” occurs. Assign Vertex Colors Utility | 6933 Rendering Options group The options in this group let you choose whether to include shadows, texture maps, or a radiosity solution in vertex colors. NOTE You can save a radiosity solution in vertex colors, but not Light Tracer on page 7055 illumination, which is not stored in the scene's geometry. Shadows When on, shadows are used when the vertices are shaded. Default=off. TIP You can soften the shadow edge by using the VertexPaint modifier's Paint or Blur tools. Mapping When on, texture maps are used when the vertices are shaded. Default=off. The radio buttons specify how to use radiosity data. ■ No Radiosity(The default.) Do not use the radiosity solution when assigning vertex colors. 6934 | Chapter 17 Material Editor, Materials, and Maps NOTE This option is the only one available unless a radiosity solution on page 7068 is present in the scene. ■ Radiosity, Reuse Direct Illum. from SolutionIncludes radiosity in the vertex color assignments, and uses the direct illumination from the solution. This is comparable to the choice Re-Use Direct Illumination From Radiosity Solution on the Rendering Parameters rollout on page 7107. This choice disables the Shadows toggle, because shadows don't need to be recomputed. ■ Radiosity, Render Direct IlluminationIncludes radiosity in the vertex color assignments, but uses a separate pass to render direct illumination. This is comparable to the choice Render Direct Illumination on the Rendering Parameters rollout on page 7107. ■ Radiosity, Indirect Illum. OnlyIncludes only indirect illumination from the radiosity solution in the vertex color assignments. This choice disables the Shadows toggle, because shadows don't need to be recomputed. Reminder field Displays a message that says whether regathering is enabled or disabled. Regathering provides the most accurate radiosity results, but it can add considerable time to radiosity calculations. Radiosity Setup Click to display the Advanced Lighting panel on page 7054 of the Render Setup dialog, where you can set up and generate a radiosity solution. If the mental ray renderer is the active renderer, this button is not available. _____ Assign to Selected Assigns vertex colors to the selected objects based on the assigned material, and the choices specified in the preceding group boxes. Assign to Selected creates a VertexPaint modifier and adds it to the stack of the selected objects. Edit Click to display the VertexPaint Paintbox on page 1920, the floating dialog that holds the vertex painting tools. This button is unavailable if you haven't yet clicked Assign To Selected. Assign Vertex Colors Utility | 6935 Channel Info Utility Utilities panel ➤ More button ➤ Channel Info ➤ Click Channel Info button. Tools menu ➤ Channel Info The Channel Info utility gives game artists and others direct access to objects' channel information that might not otherwise be easily available. All objects in 3ds Max have mapping channels, which hold information pertinent to texture mapping as well as vertex color, illumination, and alpha. Mesh objects also have geometry and vertex-selection channels. The Channel Info utility lets you view an object's channels, give them meaningful names, delete unused channels, and copy information between channels. The utility's Map Channel Info dialog shows all the channel data for selected objects. It displays the number of channels, the number of vertices per channel, and how much memory the channel uses. It also lets you name channels, as well as clear (or delete), copy, and paste channels. Each of these commands except renaming puts a modifier on the stack to achieve the results. NOTE Channel Info supports mesh, polygon, and patch objects. It does not support NURBS objects. See also: ■ Vertex Color Map on page 6775 ■ Skin Utilities on page 4249 ■ Select By Channel Modifier on page 1601 ■ UVW Mapping Add Modifier on page 1905 ■ UVW Mapping Clear Modifier on page 1905 ■ UVW Mapping Paste Modifier on page 1906 6936 | Chapter 17 Material Editor, Materials, and Maps Procedures To use the Channel Info utility: 1 Select an object or objects to use with the utility. 2 Open the utility. The Map Channel Info dialog opens. 3 To create a map channel, click any channel and then click the Add button. The new, empty channel appears at the end of the list. 4 Most channels have three components. For example, a mesh or map channel has X, Y, and Z components, and an alpha channel has R, G, and B components. To expand all three-component channels, click the SubComp button. To collapse all expanded channels, click SubComp again. 5 To copy one channel to another, click the source channel, click Copy, and then click the destination channel and click Paste. In some cases, you might need to expand or collapse the component display (see previous step). For example, when copying a vertex selection (vsel) channel to a map channel, you must paste the vsel channel to a component channel. 6 To minimize a channel's memory footprint, click the channel and then click the Clear button. This removes most all or of the data from the channel, so first make sure the data is unnecessary or is available elsewhere. If the cleared channel is the last one in the list, it might be deleted from the list. Channel Info Utility | 6937 Interface The primary user interface of the Channel Info utility is the Map Channel Info dialog, which you open by clicking the utility's Channel Info button on the command panel. This modeless dialog shows information about all map channels belonging to the current selection, at the object level. If you change the selection, the dialog automatically updates to reflect the selection. The dialog consists of two parts: a button toolbar at the top, and a tabular display of map channels belonging to each object in the current selection. Channel Info toolbar Copy Copies the channel data from the highlighted channel to the copy buffer, where it becomes available for pasting. After you copy a channel, its name appears on the line below the button toolbar. Paste Pastes the contents of the copy buffer to the highlighted channel. You can copy and paste only between channels with the same topology, or you can copy from any channel to a channel with no vertices. Source and destination channels need not be of the same type. For instance, you can copy from a mesh channel to a map channel, and vice-versa. Name Lets you rename the highlighted channel. Click this button to open a small dialog that displays the current channel name and lets you edit this name or enter a new one from the keyboard. Clear Use this function to remove channels or delete data from a map channel (including alpha, illumination, and vertex color channels). Clear has no effect on geometry or vertex selection channels. 6938 | Chapter 17 Material Editor, Materials, and Maps The specific result depends on the type of object and which channel you clear. With respect to reducing the object's memory footprint, the utility is most effective with Editable Poly objects. ■ Geometric primitive or Editable/Edit Mesh objectDeletes the highlighted texture map channel if it is the last map channel in the object, and it's not the default map channel (1:map). If the highlighted channel is not the last, Clear deletes all vertices in the channel. The faces remain, so the memory-footprint reduction is partial. NOTE This also applies to objects that collapse to editable mesh, such as Loft objects. ■ Editable Poly objectDeletes the highlighted texture map channel if it is the last map channel in the object, and it's not the default map channel. If the highlighted channel is not the last, Clear deletes all vertices and faces in the channel. ■ Patch objectDeletes the highlighted texture map channel if it is the last map channel in the object, and it's not the default map channel. If the highlighted channel is not the last, Clear has no effect. NOTE When you use the Clear function, 3ds Max adds a UVW Mapping Clear modifier to the object's modifier stack. You can recover the deleted data by removing the modifier from the stack, or changing its Map Channel setting. Add Appends a new map channel to the object's channel list. If multiple objects are selected, Add becomes available only after you click a track, so 3ds Max knows which object to add the channel to. NOTE If you apply mapping with a channel number higher than any existing channels, 3ds Max automatically creates all intermediate channels. For example, if you apply a UVW Mapping modifier to a standard object and set Map Channel to 5 in the modifier, 3ds Max adds map channels 2, 3, 4, and 5. SubComp Toggles display of the channels' subcomponents. When displayed, you can rename, copy, and paste each subcomponent independently of its parent channel. Each channel except vsel has three subcomponents. Mesh and map channels' subcomponents are labeled X, Y, and Z; those of alpha, illumination, and vertex color channels are R, G, and B (red, green, and blue). Lock Retains the current mapping data information in the table even if you change the selection. Channel Info Utility | 6939 For example, if you want to see mapping data for a specific object or objects constantly, first select the objects and then click Lock. Thereafter, if you select different objects in the viewport, the table continues to display the data for the selection when you clicked Lock. If you turn off Lock, the table updates to show data only for the current selection. If you click Update when Lock is on, 3ds Max will refresh the table contents to reflect the current selection, and then retain that data. Update Refreshes the displayed data to reflect any changes in the objects or mapping, or, when Lock is on, the selection. For example, if you apply mapping to an object, or change its mapping, click Update to display the changes in the Map Channel Info dialog. Channel Info table The table functions similarly to a spreadsheet. If not all rows or columns are visible, you can scroll the table using standard methods, including rolling the mouse wheel for vertical scrolling. To highlight a row, click anywhere in the row. You can highlight only one row at a time. To resize a column, drag the vertical divider at the right of the column heading. To automatically set a column's width to the size of the longest entry, double-click the vertical divider to the right of the column heading. Following is a brief explanation of each of the columns in the table: Object Name The name of the object. If you change the name in the Modify panel, click the dialog's Update button to display the new name in the dialog. ID The type of channel. The available channel types are: ■ mesh/polyThe object's mesh or poly data, depending on whether it's a mesh or poly object: vertices and faces. You can copy this channel and paste it to any other three-component channel. This channel is not available for patch objects. ■ vselThe vertex selection. You can copy this channel and paste it to other channels' subcomponents. This channel is not available for patch objects. ■ -2:AlphaThe vertex alpha channel. You can transfer all vertex alpha values between objects with the same topology by copying and pasting this channel. You can apply vertex alpha information to objects with the VertexPaint modifier on page 1910, and to editable surfaces with the Vertex Properties settings (editable poly on page 2268) and Surface Properties (editable mesh on page 2206 and editable patch on page 2395). 6940 | Chapter 17 Material Editor, Materials, and Maps ■ -1:IllumThe vertex illumination channel. You can transfer all vertex illumination values between objects with the same topology by copying and pasting this channel. You can apply vertex illumination information to objects with the VertexPaint modifier on page 1910, and to editable surfaces with the Vertex Properties settings (editable poly on page 2268) and Surface Properties (editable mesh on page 2206 and editable patch on page 2395). ■ 0:vcThe vertex color (vc) channel. You can transfer all vertex color values between objects with the same topology by copying and pasting this channel. You can apply vertex color information to objects with the VertexPaint modifier on page 1910, and to editable surfaces with the Vertex Properties settings (editable poly on page 2268) and Surface Properties (editable mesh on page 2206 and editable patch on page 2395). ■ 1:mapThe default mapping channel. You can transfer all UVW mapping information between objects with the same topology by copying and pasting this channel. You can create additional mapping channels by various means, including with the Channel Info utility. Channel Name The name of the channel. By default, a channel has no name, as indicated by the entry “-none-”. To name or rename the channel, click the channel to highlight it and then click the Name button at the top of the dialog, or right-click the channel and choose Name from the right-click menu. NOTE Most channels can be split into subcomponents on page 6939. You can name the subcomponents separately from the channel itself. Num Verts The number of vertices in the channel. To paste one channel to another, they must have the same number of vertices. Some channels have faces but no vertices. This is typically the case with Alpha, Illumination, and vertex color channels in newly created non-poly objects. In such cases, these channels function as placeholders for the corresponding data should you add it later. They do consume a small amount of memory, so if you have no intention of using a channel, you can save some memory by converting the object to Editable Poly. Num Faces The number of faces in the channel. If a channel has faces but not vertices, that means it's a placeholder. See Num Verts, above, for more information. Channel Info Utility | 6941 Dead Verts The number of unused map vertices in the channel. Such vertices can be left over from sub-object editing. Size(KB) The approximate amount of memory consumed by the channel. Use this figure to check for unused channels that are using up memory. Clean MultiMaterial Utility Compact Material Editor ➤ Utilities menu ➤ Clean MultiMaterial Select an object. ➤ Utilities panel ➤ More button ➤ Clean MultiMaterial ➤ Click Find All button. The Clean MultiMaterial utility parses Multi/Sub-Object materials and displays any that contain sub-materials are not assigned to any material IDs in the scene. You can then choose to remove any unused sub-materials, thus consolidating your Multi/Sub-Object materials. This utility searches an entire scene. You do not need to select objects or materials. Procedures To clean all materials: 1 Open a scene. 2 On the Material Editor, open the Utilities menu and choose Clean MultiMaterial. The Clean Multi-Materials dialog opens, displaying the following: 6942 | Chapter 17 Material Editor, Materials, and Maps The dialog displays a list of all Multi/Sub-Object materials that contain unassigned sub-materials. All the Multi/Sub-Object materials are automatically turned on, and thus subject to cleaning. 3 Click the OK button. All unused sub-materials are deleted and the dialog closes. To clean specific Multi/Sub-Object materials: When you create a Multi/Sub-Object material, you might create extra sub-materials in anticipation of objects that haven't been added to the scene yet. In such cases, you can prevent the utility from removing the extra sub-materials. 1 Open a scene. Clean MultiMaterial Utility | 6943 2 On the Material Editor, open the Utilities menu and choose Clean MultiMaterial. The Clean Multi-Materials dialog opens. 3 In the list, turn off any Multi/Sub-Object materials you do not want to clean. 6944 | Chapter 17 Material Editor, Materials, and Maps 4 Click OK. All unused sub-materials are deleted from the indicated materials and the dialog closes. Clean MultiMaterial Utility | 6945 Interface The Clean dialog presents you with a list of all Multi/Sub-Object materials in the scene that contain unassigned sub-materials. You can then select materials from which to remove unassigned sub-materials. The dialog consists of two parts: a status field at the top and a list of Multi/Sub-Object materials. Status Field The Status Field is not interactive. It displays prompts about the unused materials. Materials list This list displays Multi/Sub-Object materials that have sub-materials that are not currently being used in the scene. When the Clean MultiMaterial utility 6946 | Chapter 17 Material Editor, Materials, and Maps opens, it lists all Multi/Sub-Object materials with unused sub-materials and turns them on to be cleaned. Click the check box next to a material name to turn it off and prevent the utility from cleaning it. Clean Deletes unused sub-materials from Multi/Sub-Object materials that are turned on. Cancel Cancels the operation. Instance Duplicate Maps Utility Compact Material Editor ➤ Utilities menu ➤ Instance Duplicate Map Utilities panel ➤ More button ➤ Instance Duplicate Maps ➤ Click Find All button. The Instance Duplicate Maps utility searches an entire scene for materials that have duplicate Bitmap maps and give you the option to instance them. If your scene has different materials that use the same texture maps, creating instances will reduce the load on your video card, which can improve viewport performance. For example, if you render a scene containing three materials that reference the texture map MyMap.bmp, 3ds Max searches for that texture map three times: once for each material it is used in. However, if you use the Instance Duplicate Maps utility, you can create instances of the duplicate maps so the renderer will find the first reference to MyMap.bmp and use it for any subsequent material that uses the same maps. This utility searches an entire scene. You do not need to select objects or materials. NOTE In order to be eligible for instancing, the Bitmap maps must be identical in all aspects with regard to their initial settings. For example, if two materials use the same bitmap image applied as Diffuse maps, but have different initial Tiling settings, their maps aren't eligible for instancing. Animation is not supported as a criterion for determining duplication, so any differences in the animation of Bitmap map parameters will be lost from the use of this utility. For example, if two materials use the same bitmap image Instance Duplicate Maps Utility | 6947 applied as Diffuse maps, and have the same initial Tiling settings, but their Tiling settings are animated to different subsequent values, after using the utility both maps will have the same animation as the first map. Procedures To instance all duplicate maps: 1 Open a scene. 2 On the Material Editor, open the Utilities menu and choose Instance Duplicate Map. The Instance Duplicate Maps dialog opens, displaying the following: The dialog displays a list of all texture maps found to have exact duplicates in the scene. The search will include all copies found to have identical paths and settings. 3 Click the Instance All button. All identical maps are instanced and the dialog closes. 6948 | Chapter 17 Material Editor, Materials, and Maps To instance only specific maps: Perhaps you only want to instance a few of the texture maps found in specific materials. NOTE You have to select at least two maps from the Duplicates list 1 Open a scene. 2 On the Material Editor, open the Utilities menu and choose Instance Duplicate Map. The Instance Duplicate Maps dialog opens. 3 From the Duplicated Textures list, click the arrow button to open the list of duplicated textures and choose a texture you want to instance. 4 From the Duplicate list, select at least two map entries. Instance Duplicate Maps Utility | 6949 If you don't select at least two entries, you will see a warning in the status field at the top of the dialog. 5 Click Instance. 6950 | Chapter 17 Material Editor, Materials, and Maps Since all three of the maps were instanced, the dialog now shows there are 42 duplicated textures. 6 Continue instancing texture or click Close when you are done. Instance Duplicate Maps Utility | 6951 Interface The primary user interface of the Instance Duplicate Maps utility is the Instance Duplicate Maps dialog, which you open from the Utilities menu in the Material Editor. This utility works globally, so you do not need to select objects or materials in order to use it. The dialog consists of three parts: a status field at the top, a drop menu containing duplicated texture maps and a list of map names and the materials that belong to. Status Field The Status Field is not interactive. It shows you prompts and warnings about the duplicate textures and maps. Some of the messages displayed in this section include: ■ “No duplicate textures were found in the scene.” – when the utility is run in a scene containing no duplicates. 6952 | Chapter 17 Material Editor, Materials, and Maps ■ “Select duplicates and press “Instance” to consolidate.” – when the utility is run in a scene containing duplicates. ■ “The selected duplicates contain parameters that are animated. Animation is not supported as criteria for determining duplication so differences in the animation will be lost.” – when animation is present in a set of duplicates. ■ “At least two maps must be selected in order to proceed.” – when the Instance button is pressed with one or no duplicates selected. Duplicated Textures list This drop-down list contains all the maps in the scene found to be identical in every way, including texture map path and name, and initial parameter settings. The number after “Duplicated Textures” indicates how many sets were found in the scene. This list appears with the first entry visible and once active can be scrolled using the up/down arrow keys. Duplicates list When you choose a texture in the Duplicated Textures list, 3ds Max displays its duplicates in the Duplicates list, showing the map name and the name of the parent material. The number after “Duplicates” indicates how many copies were found in the scene. Textures in this list can be chosen individually. Only duplicates chosen in this list will be consolidated into the final instance if you click the Instance button. The name of the resulting instance is that of the first chosen duplicate in the list. Instance All Performs the consolidation on all duplicates in the scene regardless of selections made from the Duplicated Textures or Duplicates lists. Instance Performs the consolidation on only the duplicates chosen on the Duplicates list. Selected duplicates will disappear from this list after consolidation. If all are selected, the corresponding texture will disappear from the first list as well. Close Closes the operation at its current point. Instance Duplicate Maps Utility | 6953 6954 Rendering 18 Rendering shades the scene's geometry using the lighting you've set up, the materials you've applied, and environment settings, such as background and atmosphere. You use the Render Setup dialog on page 6956 to render images and animations and save them to files. The rendered output appears in the Rendered Frame Window on page 6963, where you can also render and do some setup. Rendering "fills in" geometry with color, shadow, lighting effects, and so on. NOTE Bitmap paging is always active and is managed automatically, enabling you to render scenes with large bitmaps, a large number of bitmaps, or very high resolution images (for example, 5,000 x 5,000 pixels or more). 6955 NOTE 3ds Max does not append any color-space information to rendered output. If necessary, you can apply a color space such as sRGB to output images in an image-editing program like Adobe Photoshop. Environments and Rendering Effects A variety of special effects, such as film grain, depth of field, and lens simulations, are available as rendering effects. Another set of effects, such as fog, are provided as environment effects. Environment settings on page 7621 let you choose a background color or image, or choose an ambient color value for when you render without using radiosity. One category of environment settings is the exposure controls on page 7665, which adjust light levels for display on a monitor. Rendering effects on page 7515 provide a way for you to add blur or film grain to a rendering, or to adjust its color balance. See also: ■ Rendering Effects on page 7515 ■ Environment and Atmosphere Effects on page 7620 Object-Level Rendering Controls You can control rendering behavior at the object level. See Object Properties on page 221. Render Setup Dialog Rendering menu ➤ Render Setup Main toolbar ➤ (Render Setup) Rendered Frame Window ➤ Keyboard ➤ F10 6956 | Chapter 18 Rendering (Render Setup) Rendering creates a 2D image or animation based on your 3D scene. It shades the scene's geometry using the lighting you've set up, the materials you've applied, and environment settings such as background and atmosphere. The Render Setup dialog has multiple panels. The number and name of the panels can change, depending on the active renderer. These panels are always present: ■ Common panel on page 7020 Contains the main controls for any renderer, such as whether to render a still image or an animation, setting the resolution of rendered output, and so on. ■ Renderer panel on page 7037 Contains the main controls for the current renderer. Additional panels whose presence depends on the active renderer include: ■ Render Elements panel on page 7269 Contains the controls for rendering various image information into individual image files. This can be useful when you work with compositing, image-processing, or special-effects software. ■ Raytracer panel on page 7120 Contains global controls for ray-traced maps and materials. ■ Advanced Lighting panel on page 7054 Contains controls for generating radiosity and light tracer solutions, which can provide global illumination for your scene. ■ Processing on page 7129 and Indirect Illumination on page 7213 panels Contain special controls for the mental ray renderer on page 7129. At the bottom of the Render Setup dialog are controls that, like those in the Common Parameters rollout on page 7020, apply to all renderers. These are described in this topic's “Interface” section, below. NOTE Bitmap paging is always active and is managed automatically, enabling you to render scenes with large bitmaps, a large number of bitmaps, or very high resolution images (for example, 5,000 x 5,000 pixels or more). Render Setup Dialog | 6957 Choice of a Renderer Three renderers are provided with 3ds Max. Additional renderers might be available as third-party plug-in components. The renderers provided with 3ds Max are: ■ Default scanline renderer on page 7042 The scanline renderer is active by default. It renders the scene in a series of horizontal lines. Global illumination options available for the scanline renderer include light tracing on page 7055 and radiosity on page 7068. The scanline renderer can also render to textures on page 7307 (“bake” textures), which is especially useful when preparing scenes for game engines. ■ mental ray renderer on page 7129 The mental ray renderer created by mental images is also available. It renders the scene in a series of square “buckets.” The mental ray renderer provides its own method of global illumination, and can also generate caustic lighting effects. In the Material Editor, a variety of mental ray shaders on page 6806 provide effects that only the mental ray renderer can display. ■ Quicksilver Hardware renderer on page 7258 The Quicksilver Hardware renderer provides fast rendering using your system’s graphic hardware. It is especially good for rendering previews, but it also has quality controls and a variety of effects that are comparable to effects in the scanline and mental ray renderers. The Quicksilver Hardware renderer supports both standard materials and maps, and those materials and maps supported by the mental ray renderer, including MetaSL shaders on page 6858. ■ VUE file renderer on page 7267 The VUE file renderer is a special-purpose renderer that generates an ASCII text description of the scene. A view file can include multiple frames, and specify transforms, lighting, and changes of view. Standard and ActiveShade Renderers In 3ds Max, there are two different types of renderings. Production rendering is active by default, and is typically the one you use for finished renderings. This type of rendering can use any of the three aforementioned renderers. The second type of rendering is called ActiveShade on page 7001. An ActiveShade 6958 | Chapter 18 Rendering rendering uses the default scanline renderer to create a preview rendering that can help you see the effects of changing lighting or materials; the rendering updates interactively as you change your scene. Rendering iwth ActiveShade is, in general, less precise than production rendering. Another advantage of production rendering is that you can use different renderers, such as the mental ray or VUE file renderer. To choose between production and ActiveShade rendering, use the radio buttons described in the Interface section, following. To change the renderer assigned to production rendering, use the Assign Renderer rollout on page 7034. See also: ■ Render Setup on page 6989 Procedures To render a still image: 1 Activate the viewport to render. 2 Click (Render Setup). The Render Setup dialog opens, with the Common panel active. 3 On the Common Parameters rollout, check the Time Output group to make sure the Single option is chosen. 4 In the Output Size group, set other rendering parameters or use the defaults. 5 Click the Render button at the bottom of the dialog. By default, rendered output appears in the Rendered Frame Window on page 6963. TIP To render a view without using the dialog, click on page 6999). (Render Production To render an animation: 1 Activate the viewport to render. Render Setup Dialog | 6959 2 Click (Render Setup). The Render Setup dialog opens, with the Common panel active. 3 On the Common Parameters rollout on page 7020, go to the Time Output group and choose a time range. 4 In the Output Size group, set other rendering parameters or use the defaults. 5 In the Render Output group, click Files. 6 On the Render Output File dialog on page 6979, specify a location, name, and a type for the animation file, and then click Save. Typically, a dialog appears that lets you configure options for the chosen file format. Change settings or accept the defaults, and then click OK to continue. The Save File check box turns on. 7 Click the Render button at the bottom of the dialog. NOTE If you set a time range and do not specify a file to save to, the animation is rendered only to the window. This can be a time-consuming mistake, so an alert warns you about it. TIP Once you have rendered the animation this way, you can render it again without using the dialog by clicking Interface 6960 | Chapter 18 Rendering (Render Production) or pressing F9. [rendering mode] ■ Production/IterativeChoose whether to render in production on page 6999 or iterative on page 7000 mode. (This is the default.) ■ ActiveShadeChoose to use ActiveShade on page 7001. Preset From this drop-down list you can choose a set of preset rendering parameters, or load or save rendering parameter settings. See Preset Rendering Options on page 7013. Viewport Chooses the viewport to render. By default, this is the active viewport. You can use this drop-down list to choose a different one. The list contains only currently displayed viewports. Lock View When on, locks the view to the one shown in the Viewport list. This enables you to adjust the scene in other viewports (which become active as you use them), and then click Render to render the viewport you originally chose. When off, Render always renders the active viewport. Render Renders the scene. When ActiveShade is chosen, the name of this button changes to ActiveShade, and clicking it opens a floating ActiveShade window on page 7001. If the scene you're rendering contains bitmaps that cannot be located, a Missing External Files dialog on page 8141 opens. This dialog lets you browse for the missing maps, or continue to render the scene without loading them. Render Setup Dialog | 6961 Rendering Progress dialog When you click Render, a rendering progress dialog shows the parameters being used, and a progress bar. The rendering dialog has a Pause button to 6962 | Chapter 18 Rendering the left of the Cancel button. When you click Pause, the rendering pauses, and the button's label changes to Resume. Click Resume to continue with the rendering. NOTE The mental ray renderer does not support the Pause button. You can cancel a mental ray rendering, but you can't pause it. Rendered Frame Window Main toolbar ➤ (Rendered Frame Window) Rendering menu/main toolbar ➤ Render Setup ➤ Render Setup dialog ➤ Render ➤ Rendered Frame Window opens. Rendering menu ➤ Render ➤ Rendered Frame Window opens. Main toolbar ➤ (Render Production) Rendering menu ➤ View Image File ➤ Choose a file to view. ➤ Open ➤ Rendered Frame Window (reduced functionality) displays the file. The Rendered Frame Window displays rendered output. This window has controls to: ■ Set the area to render (region, etc.). ■ Choose the viewport to render. ■ Choose a render preset. ■ Render the scene. ■ Save the image to a file. ■ Place a copy of the rendered image on the Windows clipboard, ready for pasting into another graphics application. ■ Create a clone of the window. This displays a new window so you can create another rendering and compare it with the previous one. Rendered Frame Window | 6963 ■ Open a new Rendered Frame Window. ■ Toggle display of the red, green, and blue color channels. ■ Display the alpha channel on page 9088. ■ Display only monochrome (gray scale). ■ Clear the image from the window. ■ Print the rendered output. ■ Change a number of mental ray-specific settings. When you choose the View Image File command from the Rendering menu, 3ds Max displays still images and image sequences in a feature-reduced version of the Rendered Frame Window. When you view sequentially numbered image files or images in an IFL file on page 8420, this window displays navigation arrows that let you step through the images. The Rendered Frame Window Title Bar The title bar of the Rendered Frame Window includes this information: ■ Viewport name ■ Frame number ■ The display gamma value, if gamma has been enabled. If the color-correction method you use is a look-up table, then when the table is enabled the title bar shows the file name of the table, with no path. See Gamma and LUT Preferences on page 8917. ■ Image type and color depth For example, a full-color image with an alpha channel will show “RGBA Color 16 Bits/Channel”; a bitmap with a limited color depth might show “Indexed Color 8 Bits/Pixel,” and so on. ■ Image aspect ratio 6964 | Chapter 18 Rendering Procedures To zoom and pan in the Rendered Frame Window: You can zoom in and out and pan the image in the Rendered Frame Window. You can even do this while a scene is rendering. ■ To zoom in, hold down Ctrl and then click. To zoom out, use Ctrl+right-click. ■ To pan, hold down Shift and then drag. If you have a wheel mouse, you can use the wheel to zoom and pan: ■ To zoom in or out, roll the wheel. ■ To pan, press the wheel and drag. NOTE You can use any third-button pointing device to pan the image. To enable this, open the Customize menu ➤ Preferences dialog. Go to the Viewports panel on page 8896, and in the Mouse Control group choose the Pan/Zoom option (this is the default). Interface This first section documents the controls on the main Rendered Frame Window. For information about the additional control panel that appears below the main window when using mental ray, see mental ray Rendering Options on page 6974. Rendered Frame Window | 6965 Rendered Frame Window Rendering Controls These controls provide access to rendering settings such as presets and the viewport to render, as well as the Render command. To toggle display of these controls, click the Toggle UI button at the right end of the Rendered Frame Window toolbar. Area to Render This drop-down list provides the available Area to Render on page 6992 options. Choose View, Selected, Region, Crop, or Blowup. When using Region, Crop, or Blowup, set the region with the Edit Region control (see following). Alternatively, you can set the region automatically to the current selection with the Auto Region Selected option (also see following). Edit Region Enables manipulation of the region window: resize by dragging the handles, and move by dragging inside the window. When Area To Render is set to Region, you can edit the region both in the Rendered Frame Window and in the active viewport. If Area To Render is set to View or Selected, clicking Edit Region switches to Region mode. When Area To Render is set to Crop or Blowup, you can edit the region only in the active viewport, because in those cases the Rendered Frame Window doesn’t necessarily reflect the same area as the viewport. Hence, also in Crop and Blowup modes, a warning icon on page 6968 appears to the right of the Auto Region Selected. The icon’s tool tip suggests that you edit the region in 6966 | Chapter 18 Rendering the viewport. A warning also appears in Region mode if the Rendered Frame Window area doesn’t match the active viewport. Turning on Edit Region automatically activates the Show Safe Frames on page 8716 function in the active viewport. NOTE 3ds Max maintains two separate render regions: one for Region and Crop, and another for Blowup. Changing the Area To Render option activates the relevant render region. Auto Region Selected When on, sets the region for Region, Crop, and Blowup automatically to the current selection. This auto-region is calculated at render time and does not overwrite the user-editable regions. If Area To Render is set to View or Selected, clicking Auto Region Selected switches to Region mode. TIP Alternatively, when rendering with mental ray, use Subset Pixels (see following) for greater accuracy. Subset Pixels (of selected objects) When on, rendering the scene applies only to selected objects. Available only when rendering with mental ray. This option differs from the Area to Render ➤ Selected on page 6995 option in that it takes into account all scene elements that affect its appearance. This includes shadows, reflection, direct and indirect lighting, and so on. Also, Selected replaces the entire contents of the Rendered Frame Window (except for selected objects) with the background color, but Subset Pixels replaces only pixels used by the re-rendered, selected objects. Subset Pixels rendering is particularly useful when performing iterative rendering while adjusting lighting, shadows, and other scene elements for a particular object or set of objects in the scene. It lets you re-render repeatedly to view the results of isolated changes without disturbing the rest of the rendered output. TIP Objects rendered in Subset Pixels mode at low antialiasing settings might show objectionable outlines. To eliminate any such outlines, increase the antialiasing setting on page 6975. For best results, use Medium antialiasing (Min 1/4, Max 4) or better. The equivalent Render Setup dialog control is Subset Pixel Rendering ➤ Render changes to selected objects only on page 7199. Rendered Frame Window | 6967 [warning] This warning symbol appears when Area to Render on page 6966 is set to Crop or Blowup, accompanied by a tool tip that tells you to edit the Crop or Blowup region in the viewport. It also appears in Region mode if the Rendered Frame Window doesn’t show the same area as the viewport (that is, if you previously rendered in Crop or Blowup mode). Viewport Shows the viewport that renders when you click the Render button. The drop-down list contains all visible viewports. To specify a different viewport to render, choose it from the list or activate it in the main user interface. Activating a different viewport in the main interface automatically updates this setting if Lock To Viewport is off. Lock To Viewport When on, only the viewport active in the Viewport list renders, even if you activate a different viewport in the main interface. However, you can still choose a different viewport to render from the list. When off, activating a different viewport in the main user interface updates the Viewport value. Render Preset Choose a preset rendering option on page 7013 from the drop-down list. Render Setup Opens the Render Setup dialog on page 6956. Environment and Effects Dialog (Exposure Controls) Opens the Environment and Effects dialog to the Environment panel on page 7621. You can set an exposure control on the Exposure Control rollout. Production/Iterative Choose the result of clicking the Render button: ■ ProductionRenders using all the current settings on the Rendered Frame Window, Render Setup, dialog, and so on. ■ IterativeIgnores network rendering, rendering of multiple frames, file output, export to MI files, and email notification. Also, with the scanline renderer, rendering Selected on page 6995 leaves the rest of the Rendered Frame Window intact in Iterative mode. 6968 | Chapter 18 Rendering Use this option when doing quick iterations on the image, usually in parts; for example, working on final gather settings, reflections, or specific objects or areas of the scene. This choice is also available from a drop-down in the bottom-left corner of the Render Setup dialog. And you can render in either mode from the render flyout on page 6998 on the main toolbar. NOTE When rendering with mental ray, the Production/Iterative switch moves to the lower panel for easier access after adjusting settings. Render Renders the scene using the current setup. NOTE When rendering with mental ray, the Render button moves to the lower panel for easier access after adjusting settings. Rendered Frame Window toolbar Save Image Allows you to save the rendered image displayed in the Rendered Frame Window. Copy Image Places an exact copy of the visible portion of the rendered image on the Windows clipboard, ready for pasting into a paint program or bitmap editing software. The image is always copied as displayed, so, for example, if the Monochrome button on page 6970 is on, the copied data consists of an eight-bit grayscale bitmap. NOTE No HDR (high-dynamic-range) data is copied. Clone Rendered Frame Window Creates another window containing the displayed image. This allows you to render another image to the Rendered Frame Window and compare it with the previous, cloned image. You can clone the Rendered Frame Window any number of times. The cloned window uses the same initial zoom level as that of the original. NOTE A cloned window provides minimal functionality, and cannot be re-rendered or cloned. Rendered Frame Window | 6969 Print Image Sends the rendered image to the default printer as defined in Windows (in Windows XP, see Start menu ➤ Settings ➤ Printers And Faxes). The background prints as transparent. Clear Clears the image from the Rendered Frame Window. Enable Red Channel Displays the red channel of the rendered image. When turned off, the red channel is not displayed. Enable Green Channel Displays the green channel of the rendered image. When turned off, the green channel is not displayed. Enable Blue Channel Displays the blue channel of the rendered image. When turned off, the blue channel is not displayed. Display Alpha Channel Displays the alpha channel on page 9088. Monochrome Displays an 8-bit grayscale of the rendered image. Channel Display List Lists any channel rendered with the image. When you choose a channel from the list, it is displayed in the Rendered Frame Window. For most kinds of files, only the RGB and alpha channels are available. If you render an RPF file on page 8455 or RLA file on page 8453, additional channels can be present. The Rendered Frame Window displays nonvisual channels, such as Material ID or the G-Buffer, using colors it assigns at random to distinct values. Color Swatch Stores the color value of the last pixel you right-clicked. You can drag this color swatch to other color swatches in 3ds Max. Clicking the color swatch displays the Color Selector on page 304, which displays more information about the color. You can leave the Color Selector displayed while you right-click over other pixels in the Rendered Frame Window. (Changing the current value in the Color Selector changes the color swatch on the Rendered Frame Window's toolbar, but it does not change the color of pixels in the rendered image.) 6970 | Chapter 18 Rendering Toggle UI Overlays When on, displays the frame that shows the Region, Crop, or Blowup area when one of those options is active. To disable display of the frame, turn off this toggle. NOTE The frame is still active when not displayed. Toggle UI When on, all controls are available. When off, disables display of the rendering controls at the top of the dialog as well as the mental ray controls on the separate panel below the dialog. To simplify the dialog interface and allow it to take up less space, turn this off. TIP When off, you can resize the window smaller than is possible when Toggle UI is on. Layer This setting appears on the Rendered Frame Window toolbar when you render to the RPF on page 8455 or RLA on page 8453 file format. It lets you see the information at different layers of the following channels: ■ Z Depth ■ Normal ■ Non-Clamped Color ■ Coverage ■ Node Render ID ■ Color ■ Sub-Pixel Weight ■ Sub-Pixel Mask Layer shows no additional information for other channels. It is useful primarily when the scene contains objects that occlude each other, and you have turned on the Render Occluded Objects toggle for these objects. (See Object Properties on page 221.) Be aware that rendering occluded objects increases render time. TIP Rendering occluded objects can help you create 3D effects when you composite images with the Autodesk Combustion software. Rendered Frame Window | 6971 Frame-Steps (arrows) When viewing sequentially numbered files (such as image0005.jpg) or IFL files, the arrows display the next or the previous file in the sequence. To jump to the first image or the last image in the sequence, hold down Ctrl and click an arrow. Available only when you use the View Image File command on the Rendering menu. TIP To see these buttons, enlarge the size of the Rendered Frame Window. Pixel Data When you right-click the Rendered Frame Window, the color swatch is updated, and information about the rendering and the pixel beneath the mouse is displayed. If you hold the right mouse button down while dragging, the information changes with each new pixel the mouse crosses. The display includes the following information: Image group Width The width of the image in pixels. Aspect The pixel aspect ratio. Height The height of the image in pixels. 6972 | Chapter 18 Rendering Gamma The gamma value carried in the bitmap file. This value is always 1.0, because once the image is rendered and saved to memory or a file, no correction is applied. You can see the gamma value used to display the image, if any, in the title bar of the Rendered Frame Window. Type The type of image, based on color depth. For example, a full-color image with an alpha channel will show “RGBA Color 16 Bits/Channel”; a bitmap with a limited color depth might show “Indexed Color 8 Bits/Pixel,” and so on. Pixel group Pixel information includes the pixel location in the bitmap, in parentheses following the Pixel group heading. The counting starts at 0. For example, in the above illustration, the pixel in question is the 308th from the left edge and the 141st from the top edge. Also shown in this group are channel values for red, green, blue, alpha, and monochrome, both as 16-bit integers (0 to 65535) and as floating-point values between 0.0 and 1.0. NOTE With high-dynamic-range images, the floating-point values can be greater than 1.0 or less than 0.0. Red The red component value (0 to 65535) and the floating-point value. Green The green component value (0 to 65535) and the floating-point value. Blue The blue component value (0 to 65535) and the floating-point value. Alpha The alpha component value (0 to 65535) and the floating-point value. Mono The monochrome values of the pixel, using the same formula used by monochrome material map channels such as bump and opacity maps. Extra Pixel Data (G-Buffer Data) group If the rendering output uses a format that contains additional channels, such as RPF on page 8455 or RLA on page 8453, the informational pop-up shows this data in the Extra Pixel Data group. The group includes all the possible channels. If a channel is not present, its value is displayed as "N/A," for "not applicable." Z Depth Displays Z-Buffer information in repeating gradients from white to black. The gradients indicate relative depth of the object in the scene. Material ID Displays the Effects Channel used by a material assigned to an objects in the scene. The Effects Channel is a material property set in the Material Editor. Rendered Frame Window | 6973 Object ID Displays the object’s G-Buffer Object ID on page 230. UV Coordinates Displays the range of UV mapping coordinates. Normal Displays the orientation of normal vectors. Non-Clamped Color Displays the "real" color value delivered to the renderer in RGB order. The renderer uses a floating-point range of 0.0 to 1.0 to represent the range of each color channel. Thus, 1.0 is 100%, or 65535 (real color values can be greater than 1, but are clamped by the renderer to 1). Coverage Displays the coverage of the surface fragment from which other G-Buffer values (Z Depth, Normal, and so on) are obtained. Z-Coverage values range from 0 to 255. Node Render ID Displays an object’s G-Buffer Object channel. Color Displays the color returned by the material shader for the fragment. Transparency Displays transparency returned by the material shader for the fragment. Velocity Displays the velocity vector of the fragment relative to the screen. Sub-Pixel Weight Displays the sub-pixel weight of a fragment. The channel contains the fractions of the total pixel color contributed by the fragment. The sum of all the fragments gives the final pixel color. The weight for a given fragment takes into account the coverage of the fragment and the transparency of any fragments that are in front of a given fragment. Sub-Pixel Mask Displays the sub-pixel alpha mask. This channel provides a mask of 16 bits (4x4) per pixel, used in antialiased alpha compositing. mental ray Rendering Options Rendered Frame Window on page 6963 (with mental ray active) ➤ bottom panel This additional panel appears below the Rendered Frame Window when mental ray is the active renderer. It allows for easy adjustment of important settings related to reflection, refraction, final gathering, and more. 6974 | Chapter 18 Rendering NOTE Most of the controls on this panel have equivalent controls on the Render Setup dialog, as linked to in the descriptions in this topic. Changing a setting here makes the same adjustment to the respective Render Setup control, and vice versa. Please note: If you change a setting here, the equivalent Render Setup dialog setting updates automatically, but the reverse is not true. If you change a setting on the Render Setup dialog, to see the change on this panel, you must first click the panel to refresh its display. See also: ■ Subset Pixels on page 6967 is the only mental ray-specific control that appears in the main (upper) Rendered Frame Window interface. Interface Image Precision (Antialiasing) Provides presets for a number of recommended combinations of minimum and maximum Samples Per Pixel settings. For details, see Samples per Pixel group on page 7190. Soft Shadows Precision A global multiplier for the Shadow Samples setting in all lights casting soft shadows. This includes all photometric lights on page 5707 (Target Light, Free Light, mr Sky Portal), as well as mr Sun on page 5885, mr Area Omni on page 5777, and mr Area Spot on page 5780. Typically the light should be set to cast ray traced shadows, although in some cases shadow maps work too. Possible multiplier values are 0.125, 0.25, 0.5, 1, 2, 4, 8, and 16. The leftmost slider position (“Soft Shadows off”) is equivalent to turning on Area Lights/Shadows as Points on page 7027. The remaining slider positions are also available as the Global Tuning Parameters rollout ➤ Soft Shadows Precision on page 7186 control. For an example, see this illustration on page ?. Final Gather Precision Provides a range of quick, easy preset solutions for final gathering on page 7213. The default presets are: Draft, Low, Medium, High, mental ray Rendering Options | 6975 Very High, and Custom (the default choice). Available only when Final Gather is on. For details, see FG Precision Presets on page 7217. NOTE The leftmost position of the slider disables final gathering, and is the equivalent of the Enable Final Gather on page 7216 toggle when off. Glossy Reflections Precision Controls reflection quality globally and, at the leftmost position, disables all reflections (see Enable Reflections on page 7199). To improve performance when you don’t require reflections, drag the slider all the way to the left. At other positions, the slider determines the quality of reflections in all instances of the Arch & Design material on page 6269 and related materials in the scene. The slider setting acts as a multiplier to each material’s Reflection group ➤ Glossy Samples on page 6287 setting. For an example, see this illustration on page ?. NOTE This slider adjusts each material’s Glossy Samples setting temporarily for rendering purposes only; it does not change the materials. For example, if the scene contains three Arch & Design materials with Reflection ➤ Glossy Samples settings of 32, 20, and 8, and you set Glossy Reflections Precision to 0.5X (Low), the resultant values as rendered will be 16, 10, and 4. However, the original material settings remain intact, and are restored for rendering purposes when you set the slider back to 1.0X - Default. The equivalent Render Setup dialog controls are Glossy Reflections Precision on page 6976 and Enable Reflections on page 7199. Glossy Refractions Precision Controls refraction quality globally and, at the leftmost position, disables all refraction (see Enable Refractions on page 7199). To improve performance when you don’t require refraction, drag the slider all the way to the left. At other positions, the slider determines the quality of refractions in all instances of the Arch & Design material on page 6269 and related materials in the scene. The slider setting acts as a multiplier to each material’s Refraction group ➤ Glossy Samples on page 6290 setting. NOTE This slider adjusts each material’s Glossy Samples setting temporarily for rendering purposes only; it does not change the materials. For example, if the scene contains three Arch & Design materials with Refraction ➤ Glossy Samples settings of 32, 20, and 8, and you set Glossy Reflections Precision to 0.5X (Low), the resultant values as rendered will be 16, 10, and 4. However, the original material settings remain intact, and are restored for rendering purposes when you set the slider back to 1.0X - Default. 6976 | Chapter 18 Rendering The equivalent Render Setup dialog control is Glossy Refractions Precision on page 6976 and Enable Refractions on page 7199. Traces/Bounces Limits Max. Reflections Sets the maximum number of times a ray can be reflected. At 0, no reflection occurs. At 1, the ray can be reflected once only. At 2, the ray can be reflected twice, and so on. Default=4. The equivalent Render Setup dialog control is Max. Reflections on page 7199. Max. Refractions Sets the maximum number of times a ray can be refracted. At 0, no refraction occurs. At 1, the ray can be refracted once only. At 2, the ray can be refracted twice, and so on. Default=6. The equivalent Render Setup dialog control is Max. Refractions on page 7199. FG Bounces Sets the number of times mental ray calculates diffuse light bounces for each diffuse ray. Default=0. The equivalent Render Setup dialog control is Diffuse Bounces on page 7219. Reuse group These commands let you save rendering time by reusing translated geometry and final gather solutions. The Final Gather controls are available only when Final Gather on page 6975 is on. Lock Geometry Translation Determines whether changed geometry is retranslated to mental ray format at render time. When on, sub-object-level changes such as vertex editing or adjusting a modifier such as Bend are ignored and don’t cause retranslation. However, object-level changes such as moving or rotating an object are retranslated. The equivalent Render Setup dialog control is Translator Options rollout ➤ Geometry Caching group ➤ Lock Geometry Translation on page 7245. Geometry When on, rendering uses geometry caching. During the first render, the translated geometry is saved to the cache file. Then, in subsequent renderings of the same scene, the renderer uses the cached geometry for any unchanged objects instead of retranslating it. Any changed geometry is retranslated. Default=off. The equivalent Render Setup dialog control is Translator Options rollout ➤ Geometry Caching group ➤ Enable on page 7245. NOTE Network rendering does not support this option. mental ray Rendering Options | 6977 Clear Geometry Cache Deletes the cached geometry. The equivalent Render Setup dialog control is Translator Options rollout ➤ Geometry Caching group ➤ Clear Geometry Cache on page 7245. Lock Final Gather Determines whether or not mental ray uses the final gather map (FGM) file or files as is. When off, mental ray can add new final gather points if necessary. When on, mental ray uses only the data in the specified file, and does not generate any new final gather points during the pre-processing stage. Available only when Reuse ➤ Final Gather is on (see following). Default=off. To create the FGM files, use Generate Final Gather Map Now on page 7237 or the drop-down list next to it ( ). The equivalent Render Setup dialog control is Read FG Points Only from Existing Map Files on page 7235. Final Gather When on and Lock Final Gather is off (see preceding), generates or updates a final gather map (FGM) file. If Lock Final Gather is on as well, mental ray does not perform final gathering, but instead uses cached final gather map data to save rendering time. If no FGM file is specified on the Render Setup dialog ➤ Final Gather rollout (see Final Gather Map group on page 7235), 3ds Max uses the file name temp.fgm. The equivalent Render Setup dialog control, when Lock Final Gather is off, is Incrementally Add FG Points to Map Files on page 7235. Clear Final Gather Cache Deletes the cached final gather solution. The equivalent Render Setup dialog control is Reuse rollout ➤ Final Gather Map group ➤ Delete File on page 7237. _____ NOTE The following two controls move to the Rendered Frame Window lower panel from the upper panel when the mental ray renderer is active. Production/Iterative Choose the result of clicking the Render button: ■ ProductionRenders using all the current settings on the Rendered Frame Window, Render Setup, dialog, and so on. 6978 | Chapter 18 Rendering ■ IterativeIgnores network rendering, rendering of multiple frames, file output, export to MI files, and email notification. Also, with the scanline renderer, rendering Selected on page 6995 leaves the rest of the Rendered Frame Window intact in Iterative mode. Use this option when doing quick iterations on the image, usually in parts; for example, working on final gather settings, reflections, or specific objects or areas of the scene. This choice is also available from a drop-down in the bottom-left corner of the Render Setup dialog. And you can render in either mode from the render flyout on page 6998 on the main toolbar. Render Renders the scene using the current setup. Render Output File Dialog Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Common panel ➤ Common Parameters rollout ➤ Render Output group ➤ Click Files. ➤ Render Output File Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Common panel ➤ Common Parameters rollout ➤ Render Output group ➤ Click Files. ➤ Render Output File The Render Output File dialog lets you assign a name to the file that the rendering will output. You can also determine the type of file to render. Depending on your choice of file type, you can also set up options such as compression, and color depth and quality. See also: ■ Image File Formats on page 8411 Procedures To name the render output file: 1 Choose Rendering ➤ Render Setup, and then in the Render Output group of the Common Parameters rollout, click Files. This opens the Render Output File dialog. Render Output File Dialog | 6979 2 Use the Save In field near the top of the dialog to choose the directory in which to save the rendered file. 3 In the File Name field, enter the name for the file to be rendered. TIP If you enter a filename extension as well (for instance: myimage.bmp) and then press Tab, the Setup button activates and you can click it to change the file settings. 4 Choose the type of file you want to render from the Save As Type drop-down list. TIP If you entered the filename extension as part of the file name, you can skip this step. 5 Click Save to close the Render Output File dialog. Clicking Save also opens a dialog that lets you set the options for the file format you chose. Adjust these settings (or leave them at their defaults), and then click OK. 6 On the Render Setup dialog, click the Render button to render the scene and save the file. NOTE If a file of the same name already exists, a dialog opens to let you confirm overwriting it. This dialog also provides a check box for automatically overwriting render-output files without being prompted for the duration of the session. To set up options for the render-output file: 1 Choose Rendering ➤ Render and then in the Render Output group of the Common Parameters rollout, click Files. The Render Output File dialog opens. 2 In the File Name field, enter the name for the file to be rendered. 3 Navigate the Save In field to choose the directory where you want the rendered file to be saved. 4 Choose the type of file you want to render from the Save As Type drop-down list, then click Save. 6980 | Chapter 18 Rendering A dialog is displayed that lets you set the options for the file format you chose. Adjust these settings (or leave them at their defaults), and then click OK. NOTE You can also view the setup dialog by clicking Setup, if this button is available. WARNING Make sure the file name extension in the File Name field matches the file type in the Save As Type field. Changing the file type does not update the file name automatically. The file options dialog depends on the type indicated by the file name, not the type indicated by Save As Type. 5 If the Render Output File dialog is still open, click Save. Render Output File Dialog | 6981 Interface History Displays a list of the most recent directories searched. Whenever an image is selected, the path used is added to the top of the history list as the most recently used path. The history information is saved in the 3dsmax.ini on page 42 file. Save In Opens a navigation window to browse other directories or drives. Go to Last Folder Visited Click to return to the folder you previously browsed to. 6982 | Chapter 18 Rendering Up One Level Moves you up a level in the directory structure. Create New Folder Lets you create a new folder while in this dialog. View Menu Provides several options for how information is displayed in the list window: ■ Thumbnails: Displays the contents of a directory as thumbnails, without the details. ■ Tiles: Displays the contents of a directory as large icons, without the details. If you widen the dialog, these tile across the width. ■ Small Icons: Displays the contents of a directory as small icons, tiled across the width, without the details. ■ List: Displays the contents of a directory without the details. ■ Details: Displays the contents of a directory with full details such as size and date. List of files Lists the contents of the directory, in the format specified by the View menu. TIP When the active display format is Details, the contents of the directory are displayed with Name, Size, Type, Date Modified, and Attributes. You can sort the list according to a column's contents by clicking that column's label. _____ File name Displays the file name of the file selected in the list. Save as type Displays all the file types that can be saved. This serves as a filter for the list. NOTE The choice in this field determines the file type saved, regardless of the file name extension entered in the File Name field. Save Sets the file information for saving upon rendering. Closes the dialog if you haven't changed the output file type. If you've changed the file type, clicking Save opens the Setup dialog for the specified file type. Change the settings as necessary, and then click OK to close Render Output File Dialog | 6983 both the Setup and the Output dialogs, or click Cancel to return to the Output dialog. Cancel Cancels the file save and closes the dialog. Devices Lets you choose the hardware output device, for example, a digital video recorder. To use the device, the device, its driver, and its 3ds Max plug-in must all be installed on your system. _____ Setup Displays controls for the selected file type. These vary with each different file format. Change the settings as necessary, and then click OK or Cancel. Info If you highlight an existing file in the list, clicking Info displays expanded information about the file such as frame rate, compression quality, file size, and resolution. The information here depends on the type of information saved with the file type. View If you highlight an existing file in the list, clicking View displays the file at its actual resolution. If the file is a movie, the Media Player is opened so the file can be played. Gamma group To set up gamma options for the output file, Enable Gamma Correction must be on in the Gamma panel on page 8917 of the Preferences dialog (Customize ➤ Preferences ➤ Gamma). Otherwise, the Gamma controls are unavailable in the Render Output File dialog. ■ Use Image’s Own GammaThis option is not available in this dialog. ■ Use System Default GammaUses the system default gamma, as set in the Gamma panel of the Preferences dialog. ■ OverrideDefines a new gamma for the bitmap that differs from the system default. Using Override is not recommended for bitmaps that you render. It is better to set a system default value, based on the graphic display you use, and use this same gamma value for all your renderings. _____ Sequence This is not available in the Render Output File dialog. 6984 | Chapter 18 Rendering NOTE To render a sequence of still images, choose the Active Time Segment or define a range of frames in the Common Parameters rollout of the Render Setup dialog. If you have selected a still image file type, each frame will append a four-digit number to the name you have selected, incremented with each frame. Preview When on, enables display of the image as a thumbnail. Image thumbnail Displays a thumbnail of the selected file. Preview must be turned on. _____ Statistics Displays the resolution, color depth, file type, and number of frames of the selected file. Location Displays the full path for the file. View Image File Rendering menu ➤ View Image File Choose and view still images, numbered image sequences, images in an IFL file on page 8420, or animation files using options in the View File dialog. Still images and numbered image sequences appear in a feature-reduced version of the Rendered Frame Window on page 6963. If you choose an IFL file in the file dialog, the Info button displays the contents of the text file in Windows Notepad. You can zoom in and out and pan the image. If you have a wheel mouse, you can use its wheel button to zoom and pan. See the following procedures. If you choose an animation file (AVI on page 8412 or QuickTime MOV on page 8428), 3ds Max starts the Windows Media Player so that you can play it. The Media Player has its own Help system. Procedures To view a file: 1 Choose Rendering ➤ View Image File. 2 Choose a file type from the Files Of Type list. 3 Choose a file to view. View Image File | 6985 NOTE The View File dialog uses the last location where a file was chosen, rather than the default Images path defined on the Configure User Paths dialog. To zoom in the Rendered Frame Window, do one of the following: ■ Press Ctrl and click. ■ Using a wheel mouse, roll the wheel forward (away from you). To zoom out in the Rendered Frame Window, do one of the following: ■ Press Ctrl and right-click. ■ Using a wheel mouse, roll the wheel backward (towards you). To pan the Rendered Frame Window, do one of the following: ■ Press Shift and drag. ■ Using a wheel mouse, drag with the wheel button held down. (You can use any three-button device to pan the image.) 6986 | Chapter 18 Rendering Interface History Whenever an image is selected, the path used is added to the top of the history list as the most recently used path. File selections from other areas of the interface, such as Views ➤ Viewport Background, are stored here also. The history information is saved in the 3dsmax.ini on page 42 file. Look In Browses drives and directories. File Name Displays the name of the selected file. Files of type Selects the type of files to list in the directory window. View Image File | 6987 Devices Lets you choose the hardware output device, for example, a digital video recorder. To use the output device, the device, along with its driver, and its plug-in must all be installed on your system. Setup This is unavailable in View Image File. This option is available only in file dialogs like the Render Output File dialog or the Viewport Background dialog. Displays a dialog to specify image attributes for saved files or, in the Select Background Image dialog, the arguments for creating an IFL file. Info Displays image information. View View the selected image or animation. Gamma group Selects the type of gamma to be used for the selected file. Available only when Enable Gamma Selection is turned on in the Gamma panel on page 8917. Use Image’s Own Gamma Uses the gamma of the incoming bitmap. Use System Default Gamma Ignores the image’s own gamma and uses the system default gamma instead, as set in the Gamma panel on page 8917. Override Defines a new gamma for the bitmap that is neither the image’s own, nor the system default. _____ Sequence This is unavailable in View Image File. This option is available in the Views ➤ Viewport Background ➤ Files ➤ Select Background Image dialog on page 117. It is used in conjunction with Setup to create IFL files. Preview Toggle the image preview display. Preview Window Displays the selected image. [statistics box] Displays file statistics and the file's full directory path. Rendering Commands The main commands for rendering are on the main toolbar on page 8623 and the Rendered Frame Window on page 6963. Another way to invoke some of these commands is to use the default Rendering menu on page 8617, which contains other commands related to rendering. 6988 | Chapter 18 Rendering See also: ■ Rendering Effects on page 7515 ■ Environment and Atmosphere Effects on page 7620 ■ Network Rendering on page 7368 Render Setup Main toolbar ➤ (Render Setup) Rendering menu ➤ Render Setup Keyboard ➤ F10 This command opens the Render Setup dialog on page 6956, which lets you set the parameters for rendering. Rendering creates a still image or an animation. It shades the scene's geometry using the lighting you've set up, the materials you've applied, and environment settings such as background and atmosphere. Render Setup | 6989 Rendering "fills in" geometry with color, shadow, lighting effects, and so on. Rendering is multi-threaded and multi-processed on multiple-processor configurations. A two-processor or dual-core system can render in nearly half the time a single-processor system can. Rendering can also take place on multiple systems by using a network. See Network Rendering on page 7368. For the mental ray renderer, also see Distributed Bucket Rendering Rollout (mental ray Renderer) on page 7249. Missing Mapping Coordinates If the renderer finds a parametric object that requires mapping, it automatically sets its Generate Mapping Coordinates toggle before rendering the scene. The toggle remains set after the rendering is done. In the following cases, however, 3ds Max is unable to supply mapping coordinates automatically: ■ Non-parametric objects, such as imported meshes, don't have built-in coordinates. ■ Some third-party (plug-in) objects aren't provided with mapping coordinates. 6990 | Chapter 18 Rendering In these cases, 3ds Max is unable to render the scene completely. It displays a Missing Mapping Coordinates dialog on page 6618 that lists the objects the renderer couldn't map. To resolve the problem apply a UVW Map modifier on page 1883 to the objects that the dialog lists. NOTE If a material has Show Map In Viewport set when that material is assigned to an object, the object's Generate Mapping Coordinates toggle is set, if it was not previously set. (The state of Show Map In Viewport is saved with each material.) Procedures To render a still image: 1 Activate the viewport to render. 2 Click (Render Setup). The Render Setup dialog on page 6956 appears. 3 In the Time Output group, make sure Single is on. 4 In the Output Size group, set other rendering parameters or use the defaults. 5 Click Render. By default, the rendering appears in a window. TIP To render a view without using the dialog, click (Render Production on page 6999 or use Render Last on page 7016 (press F9). To render an animation: 1 Activate the viewport to render. 2 Click (Render Setup). The Render Setup dialog on page 6956 appears. 3 Open the Common Parameters rollout on page 7020. Choose a time range in the Time Output group. Render Setup | 6991 4 In the Output Size group, set other rendering parameters or use the defaults. 5 In the Render Output group, click Files. 6 A Render Output File dialog on page 6979 is displayed. 7 Use the file dialog to specify a name and a type for the animation file, and then click Save. A configuration dialog opens that lets you set the options for the file format you chose. Adjust these settings or leave them at their defaults, and then click OK. The configuration dialog closes, and on the Render Setup dialog ➤ Common Parameters rollout, the Save File toggle is now available and on. 8 Click Render. NOTE If you set a time range and do not specify a file to save to, the animation is rendered only to the window. This can be a time-consuming mistake, so an alert warns you about it. TIP To render a view without using the dialog, click (Render Production on page 6999) or use the Keyboard Shortcut F9 to Render Last on page 7016. Area to Render Rendered Frame Window ➤ Area to Render drop-down list The Area To Render list on the Rendered Frame Window on page 6963 lets you specify the portion of the scene that will be rendered. 6992 | Chapter 18 Rendering Area To Render lets you render only a portion of the scene. Procedures To render only selected objects: 1 Open the Rendered Frame Window. 2 From the Area To Render drop-down list in the top-left corner of the window, choose Selected. 3 Activate the viewport to render. 4 Select the objects to render. 5 Render the scene. 3ds Max displays a progress dialog that shows the progress of rendering and the rendering parameter settings. To stop rendering, click Cancel in this dialog, or press Esc. To render a region: 1 Activate the viewport to render, or choose it from the Viewport drop-down list on the Rendered Frame Window. Area to Render | 6993 2 On the Rendered Frame Window, click (Edit Region). This automatically sets the Area To Render option to Region, and displays the region window in the Rendered Frame Window and the active viewport. The window has editing handles and a close box (X). 3 To move the region window, drag inside it. To adjust its size, drag the handles. To preserve the window's aspect ratio, press and hold Ctrl before you drag a handle. 4 Render the scene. 3ds Max renders the region only. In Production mode, the Rendered Frame Window is cleared before rendering, but in Iterative mode, the area of the window outside the region remains intact. To render a blowup: 1 Open the Rendered Frame Window and choose the viewport to render. 2 Choose Blowup from the Area To Render list. (Edit Region) button appears on the Rendered Frame Window, to the right of the Area To Render list, and the Blowup region window is displayed in the active viewport. This window is different from the one used for Region and Crop. The Blowup region window does not appear in the Rendered Frame Window because the region extents might exceed the window area, depending on the rendering history. 3 To move the window, drag inside it. To adjust the window size, drag its handles. The window is constrained to the aspect ratio of the current output size. 4 Render the scene. 3ds Max displays a progress dialog that shows the progress of rendering and the rendering parameter settings. To stop rendering, click Cancel in this dialog, or press Esc. 6994 | Chapter 18 Rendering Interface The following choices are available on the Area To Render drop-down list. NOTE The Box Selected, Region Selected, and Crop Selected options previously available before 3ds Max 2009 are no longer necessary and have been removed. To achieve the equivalents, combine an Area To Render option with the Auto Region Selected on page 6967 option on the Rendered Frame Window. View (The default.) Renders the active viewport. Selected Renders the currently selected object or objects only. Rendering a selection with the scanline renderer leaves the remainder of the Rendered Frame Window intact. However, mental ray renders the background first, thus effectively clearing the rest of the frame. TIP Rendering Selected renders the selection in isolation, without any contribution from the rest of the scene, such as shadows, reflections, etc. When rendering with mental ray, to render a selection with full contribution from the other scene contents, use the Subset Pixels on page 6967 option instead. TIP To remove any existing image from the window when rendering with the scanline renderer, use the Clear button before rendering. Area to Render | 6995 Region Renders a rectangular region within the active viewport. Using this option leaves the remainder of the Rendered Frame Window intact except when rendering an animation, in which case it clears the window first. Use the Region option when you need to test-render a part of the scene. When you choose Region from the Area To Render list, the Edit Region on page 6966 control activates. This causes an editable version of the region to appear in both the Rendered Frame Window and the active viewport. To move the region or change its size, drag either region box or its handles, respectively. If you turn off Edit Region, the region remains visible in the Rendered Frame Window, but is no longer editable. Alternatively, to set the region to the current selection automatically, turn on Auto Region Selected on page 6967. TIP To remove any existing image from the window, use the Clear button before rendering. NOTE Region rendering is meant to create a draft rendering of a selected area of a view. As such, Region rendering uses only an Area filter for antialiasing, regardless of which antialiasing is chosen in the Render Setup dialog. 6996 | Chapter 18 Rendering Crop Lets you specify the size of the output image using the same region box that appears for the Region option. After you choose Crop from the Area To Render list, turn on Edit Region on page 6966 to cause a rectangular render region to appear in the active viewport. To move the region or change its size, drag the region box or its handles, respectively. Alternatively, to set the region to the current selection automatically, turn on Auto Region Selected on page 6967. Area to Render | 6997 Blowup Renders a region within the active viewport and enlarges it to fill the output display. After you choose Blowup from the Area To Render list, turn on Edit Region on page 6966 to cause a rectangular render region to appear in the active viewport. To move the region or change its size, drag the region box or its handles, respectively. Alternatively, to set the blowup region to the current selection automatically, turn on Auto Region Selected on page 6967. Render Flyout Main toolbar ➤ Render flyout The Render flyout provides a few different rendering options. The Render flyout lets you choose among these buttons: ■ Render Production on page 6999 ■ Render Iterative on page 7000 6998 | Chapter 18 Rendering ActiveShade on page 7000 ■ The Render buttons let you render the scene using the settings without using the Render Setup dialog on page 6956. Choosing one of these buttons also changes which rendering settings are active on the Render Setup dialog. Invoking the Render command from the Rendering menu or by pressing Shift+Q uses the active mode on the Render flyout. By default, all the rendering options use the default scanline renderer on page 7042. You can change the renderer assigned to Production or ActiveShade by using the Assign Renderer rollout on page 7034 on the Render Setup dialog ➤ Common panel. Render Production Main toolbar ➤ Render flyout ➤ (Render Production) The Render Production command, available on the Render flyout on page 6998 on the main toolbar, renders the scene using the current production render settings without opening the Render Setup dialog on page 6956. You can activate Production rendering mode without rendering from the drop-down list in the bottom-left corner of the Render Setup dialog, and in the top-right corner of the Rendered Frame Window. You assign which renderer to use for production rendering on the Assign Renderer rollout on page 7034 of the Render Setup dialog ➤ Common panel. See also: ■ Render Iterative on page 7000 ■ ActiveShade on page 7000 Render Production | 6999 Render Iterative Main toolbar ➤ Render flyout ➤ (Render Iterative) The Render Iterative command, available from the Render flyout on page 6998 on the main toolbar, renders the scene in iterative mode without opening the Render Setup dialog on page 6956. You can activate Iterative rendering mode without rendering from the drop-down list in the bottom-left corner of the Render Setup dialog, and in the top-right corner of the Rendered Frame Window. Iterative rendering ignores file output, network rendering, rendering of multiple frames, export to MI files, and email notification. Use this option when doing quick iterations on the image, usually in parts; for example, working on final gather settings, reflections, or specific objects or areas of the scene. Also, when rendering in Iterative mode, rendering Selected on page 6995 or Region on page 6996 leaves the rest of the Rendered Frame Window intact. See also: ■ Render Production on page 6999 ■ ActiveShade on page 7000 ActiveShade Main toolbar ➤ Render flyout ➤ (ActiveShade) Keyboard ➤ Shift+Q (Uses the Render mode currently active on the toolbar: either Production or ActiveShade) The ActiveShade button, available from the Render flyout on page 6998, creates an ActiveShade on page 7001 rendering in a floating window. You assign which renderer to use for ActiveShade rendering on the Assign Renderer rollout on page 7034 of the Render Setup dialog on page 6956 ➤ Common panel. 7000 | Chapter 18 Rendering See also: ■ Render Production on page 6999 ■ Render Iterative on page 7000 Rendering with ActiveShade Main toolbar ➤ Render flyout ➤ (ActiveShade) Click or right-click the Point-Of-View (POV) viewport label. ➤ POV viewport label menu on page 8712 ➤ ActiveShade ActiveShade gives you a preview rendering that can help you see the effects of changing lighting or materials in your scene. When you adjust lights or materials, the ActiveShade window interactively updates the rendering. ActiveShade | 7001 ActiveShade preview of material changes Above left: Before the update Above right: After changing the material for the fabric to a mapped material and increasing the highlights on the material for the wood 7002 | Chapter 18 Rendering ActiveShade preview of lighting changes Above left: Before moving a light in a viewport Above right: After moving the light There are two ActiveShade options: ■ ■ ViewportThe ActiveShade rendering appears in the active viewport. FloaterThe ActiveShade rendering appears in its own window. Only one ActiveShade window can be active at a time. If you choose one of the ActiveShade commands while an ActiveShade window is already active, you get an alert that asks whether you want to close the previous one. If the ActiveShade | 7003 previous ActiveShade window was docked in a viewport, the viewport reverts to the view it previously showed. TIP You can drag and drop materials from the Material Editor on page 6019 to ActiveShade windows and viewports, as you can with other viewports. NOTE You can't make a maximized viewport an ActiveShade window, or maximize an ActiveShade window. ActiveShade Commands When you right-click an ActiveShade window, the quad menu on page 8640 displays an ActiveShade menu. This menu contains a number of ActiveShade commands on page 7010. ActiveShade and Object Selection If you select an object before you invoke ActiveShade, ActiveShade is done only for that object. This can greatly increase the speed of ActiveShade. Similarly, once the ActiveShade window is open, the initialize and update steps on page 9083 (whether automatic or manual) are done only for the selected object. In a "docked" ActiveShade viewport, you can select objects by right-clicking, turning on Select Object in the Tools (lower-right) quadrant of the quad menu, then clicking the object you want to select. In an ActiveShade viewport, only one object at a time can be selected. TIP When an object in an ActiveShade window has a mapped material, select it before you change a map or adjust its parameters. What ActiveShade Does and Doesn't Do For the sake of interactivity, the ActiveShade window is limited in what it can update interactively. An ActiveShade rendering is typically less precise than a final production rendering. 7004 | Chapter 18 Rendering TIP When you change geometry by transforming it or modifying it, right-click the ActiveShade window and choose Tools ➤ Initialize from the quad menu (lower-right quadrant). This updates the ActiveShade rendering. ■ Moving an object does not update the ActiveShade window. ■ Applying a modifier or otherwise changing object geometry does not interactively update the ActiveShade window. ■ Reflections are rendered only in the Initialize pass. ■ Materials are displayed as RGBA data with 8 bits per channel. ■ Multiple changes to a material might lead to deterioration in image quality. If you see this happening, right-click the ActiveShade window and choose Tools ➤ Initialize from the quad menu (lower-right quadrant). ■ Masks are reduced from 8x8 to 4x4 subdivisions per pixel. The mask is corrected to 6-bit opacity (0 to 63 rather than 0 to 255). This might result in some visual noise around object edges. ■ Because of the preceding item, filters are coarser than in full-scale renderings, but they still have significant subpixel information. ■ There is a limitation of 16 subdivisions per pixel. Because of this, any objects behind the sixteenth occluding object for a given pixel will be ignored. Rendered back faces count as separate objects. ■ Reshading uses compressed normals and other direction vectors. This should have no visible effect. ■ ActiveShade does not render atmospheric effects, rendering effects, or ray-traced shadows (the only shadows it can render are shadow-mapped shadows). Procedures To display an ActiveShade window in a viewport: ■ Click or right-click the Point-Of-View (POV) viewport label. From the POV viewport label menu on page 8712, choose ActiveShade. NOTE You can't make a maximized viewport an ActiveShade window, or maximize an ActiveShade window. ActiveShade | 7005 To display a free-floating ActiveShade window: ■ Choose ActiveShade from the Render flyout on page 6998. NOTE As with the Render command, the ActiveShade window respects the Output Size setting from the Render Setup dialog on page 6956. To use a different render size, set it first with Render Setup, and then open the ActiveShade window. To update an ActiveShade window after moving an object or changing object geometry: 1 Right-click the ActiveShade window. 2 In the Tools (lower-right) quadrant of the quad menu, choose Initialize. To see the toolbar in an ActiveShade viewport: 1 Click the viewport to make it active. 2 Press the Spacebar to display the toolbar. Pressing spacebar again toggles the toolbar off, and so on. You can also turn toolbar display on or off by right-clicking and using the quad menu. To change an ActiveShade viewport to another kind of viewport: 1 Turn on the toolbar in the ActiveShade viewport. 2 Right-click the toolbar. 3 In the pop-up menu, choose the type of view to display. You can also restore the viewport to its previous status by right-clicking the viewport and choosing View (upper-left) quad ➤ Close. To zoom and pan in an ActiveShade window: You can zoom in and out and pan the image in the ActiveShade window. You can even do this while a scene is rendering. 1 Hold down Ctrl and then click to zoom in, right-click to zoom out. 2 Hold down Shift and then drag to pan. (The window must be zoomed in.) 7006 | Chapter 18 Rendering If you have a three-button mouse, you can use its third button or wheel to zoom and pan: 1 Roll the wheel to zoom in or out. 2 Press the wheel, and drag to pan. NOTE You can use any third-button pointing device to pan the image. To enable this, choose the Pan/Zoom option on the Viewports panel on page 8896 of the Preferences dialog. Interface Both the viewport and floating versions of the ActiveShade window have the same controls as a Rendered Frame Window on page 6963. In an ActiveShade viewport, the toolbar is off by default. In a floating ActiveShade window, the toolbar is always visible. TIP In an active ActiveShade viewport, you can toggle toolbar display by pressing the Spacebar. (This is a main user interface shortcut, so the Keyboard Shortcut Override Toggle can be either on or off.) ActiveShade | 7007 TIP If you clear the image, you can redisplay it by right-clicking the ActiveShade window and choosing Tools ➤ Initialize or Tools ➤ Update Shading from the lower-right quadrant of the quad menu. ActiveShade Floater Main toolbar ➤ Render flyout ➤ (ActiveShade) To create an ActiveShade rendering in its own window, choose the ActiveShade command from the Render flyout on the main toolbar. You can open only one ActiveShade window at a time. If you change a viewport to an ActiveShade view while a floating ActiveShade window is open, you get a message that asks whether you want to close the floating window or stop the operation. 7008 | Chapter 18 Rendering See also: ■ Rendering with ActiveShade on page 7001 ■ ActiveShade Commands (Quad Menu) on page 7010 ■ ActiveShade Initialize and Update on page 9083 ActiveShade Viewport Right-click viewport label. ➤ Views ➤ ActiveShade Creates an ActiveShade rendering on page 7001 that is "docked" in a viewport. Only one ActiveShade rendering can be displayed at a time. If you try to display a floating ActiveShade window while an ActiveShade viewport is displayed, you get a message that asks whether you want to close the docked ActiveShade rendering, or stop the operation. If you go ahead and close the docked ActiveShade rendering, the viewport reverts to the view it previously showed. ActiveShade Commands When you right-click an ActiveShade viewport, the quad menu on page 8640 displays an ActiveShade menu. This menu contains a number of ActiveShade commands on page 7010. ActiveShade and Object Selection If you select an object before you invoke ActiveShade, ActiveShade is done only for that object. This can greatly increase the speed of ActiveShade. Similarly, once the ActiveShade window is open, the initialize and update steps on page 9083 (whether automatic or manual) are done only for the selected object. In a "docked" ActiveShade viewport, you can select objects by right-clicking, turning on Select Object in the Tools (lower-right) quadrant of the quad menu, then clicking the object you want to select. In an ActiveShade viewport, only one object at a time can be selected. TIP When an object in an ActiveShade window has a mapped material, select it before you change a map or adjust its parameters. ActiveShade | 7009 Procedures To display the toolbar for the ActiveShade viewport: ■ Press the Spacebar. The Spacebar toggles the toolbar display. In viewports, the toolbar is off by default. (This is a main user interface shortcut, so the Keyboard Shortcut Override Toggle can be either on or off.) The controls on the toolbar for an ActiveShade viewport are the same as for a floating ActiveShade window on page 7008. To change the ActiveShade viewport to another kind of viewport, do one of the following: ■ Right-click the ActiveShade viewport, and choose Close from the View (upper-left) quadrant of the quad menu. The viewport reverts to the view it previously showed. ■ If the toolbar is not visible, press the Spacebar to display it, then right-click the toolbar and choose the kind of view to display. ActiveShade Commands (Quad Menu) When you right-click an ActiveShade window, the lower-left quadrant of the quad menu displays a set of commands for ActiveShade on page 7001. Interface 7010 | Chapter 18 Rendering Render quadrant (upper right) These are general-purpose commands. Show Last Rendering Displays the last rendering in a Rendered Frame Window on page 6963. Not available if no rendering has been made during this session. Render Setup Displays the Render Setup dialog on page 6956. When you use the ActiveShade quad menu, Render Setup is set to render the ActiveShade window initially. Render Last Repeats the last render, using the last viewport from which you rendered. Material/Map Browser Opens a modeless Material/Map Browser on page 6167 dialog. Material Editor opens the Material Editor on page 6019. Tools quadrant (lower right) These are the commands that perform ActiveShade operations. Draw Region When on, lets you draw a rectangular region of the ActiveShade window. While it is active, only the region is updated by interactive reshading. This can save time, and also help you concentrate on just a portion of the image to be rendered. Default=off. To turn off Draw Region, click outside the rectangular region. The entire ActiveShade window is updatable again. Initialize Initializes the ActiveShade window. To keep the ActiveShade window current, you need to choose Initialize after transforming, modifying, or otherwise changing geometry. If you have turned off Automatic Reinitialization, you also need to choose Initialize after you update a mapped material. Rendering can be slow. The initialize pass is meant to take care of the most time-consuming portions of rendering, to allow the update pass to take place as quickly as possible. Initialization includes the following steps: ■ Evaluate the scene geometry into meshes. ■ Apply space warps. ■ Do transformations and clipping. ■ Evaluate textures and shade materials. ActiveShade | 7011 ■ Perform optimizations to speed later processing, such as merging fragments from the same surface that are in the same pixel. The result of initialization is a buffer. This is a compressed rendering that, like a G-Buffer on page 9173, contains the rendering plus additional information used by the second step, updating. During the initialize pass, progress is indicated by a row of pixels (white by default) that traverses the top edge of the ActiveShade window. Update Updates the ActiveShade window. Updating shading takes the buffer created by the first pass, initialization, and uses information in that buffer to change the color of pixels when you make changes to lights and materials in the scene. During the update pass, progress is indicated by a row of pixels (white by default) that descends the right edge of the ActiveShade window. To keep the ActiveShade window current, you need to choose Update Shading if you have previously turned off Automatic Shading Update. Select Object (viewports only) When on, you can select an object in the ActiveShade window by clicking. You can select only one object at a time. When an objects is selected in the ActiveShade window, the Initialize pass resamples textures for that object alone. This improves the window's rendering speed, and is useful when you are adjusting texture display. Toggle Toolbar (viewports only) Toggles display of the ActiveShade window toolbar in viewports. Keyboard shortcut: Spacebar NOTE The Keyboard Shortcut Override toggle on page 9008 must be on for the spacebar to toggle the ActiveShade toolbar. Options quadrant (lower left) These commands control how the ActiveShade window behaves. Act Only On Mouse Up When on, changes you make to light and material parameters (for example, the RGB or Multiplier spinners) update the ActiveShade window only after you release the mouse. When off, changes to these parameters are updated immediately, as you drag the mouse. Default=on. Turning off Act Only On Mouse Up can make the ActiveShade window more responsive to changes, but it can also slow performance. 7012 | Chapter 18 Rendering Auto Initialization When on, changes you make to textures (mapped materials) automatically cause the ActiveShade window to initialize. Default=on. Initialization can be time consuming in complex scenes. To save time, you can turn off Automatic Reinitialization, or use Draw Region to restrict initialization and shading updates to only a portion of the scene. Auto Update When on, changes you make to lighting, and materials without maps, automatically cause an update of the ActiveReshade window. Default=on. View quadrant (upper left) Close Closes the ActiveShade window. If the ActiveShade window was docked in a viewport, the viewport reverts to the view it previously displayed. Preset Rendering Options Render Setup dialog ➤ Preset drop-down list (near the bottom of the panel) Rendered Frame Window ➤ Render Preset drop-down list (in the top row of controls) Render Shortcuts toolbar on page 8631 ➤ drop-down list Preset rendering options are available on the Render Setup dialog on page 6956, the Rendered Frame Window on page 6963, and the Render Shortcuts toolbar on page 8631. Some of the presets are tailored for relatively quick, preview renderings; others are for slower but higher quality renderings. You can save and load presets as RPS files. Preset Rendering Options | 7013 In addition to the default presets that ship with 3ds Max, you can create your own. At the bottom of the Preset list, two choices let you use and create your own custom presets: Load Preset When you choose Load Preset, 3ds Max opens a file selector dialog that lets you choose the RPS file to load. 7014 | Chapter 18 Rendering Each category corresponds to one panel of the Render Setup dialog. Choose which panel's settings you want to load from the RPS file, and click Load. Once you load a custom preset file, its name appears on the drop-down list, along with the default choices. IMPORTANT Although you assign the renderer on the Common panel of the Render Setup dialog, the renderer assignment is not among the Common category settings in the RPS file. Instead, each preset has a separate category for the current renderer assignment. For example, if the current renderer is the Default Scanline Renderer, the Select Preset Categories dialog will have a category labeled Default Scanline Renderer. Save Preset When you choose Save Preset, 3ds Max first opens a file selector dialog that lets you name the RPS file. After that, the Select Preset Categories dialog opens. Each category corresponds to one panel of the Render Setup dialog. Choose which panel's settings you want to save, and then click Save. Once you save a custom preset file, its name appears on the drop-down list, along with the default choices. IMPORTANT Even though the renderer is assigned on the Common panel of the Render Setup dialog, the renderer assignment is not saved with the Common category in the RPS file. The renderer assignment has its own category on the Select Preset Categories dialog. For example, if the current renderer is the Default Scanline Renderer, the Select Preset Categories dialog will have a category labeled Default Scanline Renderer. The RPS files that provide the default presets are in the \renderpresets subfolder of 3ds Max folder. We recommend you save your own presets in this subfolder as well. If you choose a different location, 3ds Max saves the full path name. Preset Rendering Options | 7015 (You can also use the Configure User Paths dialog ➤ File I/O panel on page 8875 ➤ RenderPresets setting to specify a custom location.) Render Last Keyboard ➤ F9 The Render Last command repeats the last render (whether a render view, render region, render blowup, or render selected) using the last viewport from which you rendered. WARNING Render Last does not save to a file, even if the previous rendering did so. Print Size Wizard Rendering menu ➤ Print Size Assistant The Print Size Wizard feature is useful when you plan to print a rendered image. It lets you specify output size, resolution, and orientation in terms of the printed image; that is, using a standard measuring system rather than pixels. It also indicates the approximate uncompressed size of the image file. You can render directly from the wizard on your computer or over a network, or transfer the settings to the Render Setup dialog on page 6956. Procedures To use the Print Size wizard: 1 Set up a scene to render. 2 From the Rendering menu, choose Print Size Assistant. 3 Choose a preset paper size, or specify a custom size in inches or millimeters. Alternatively, specify an image size in pixels. 4 Choose or specify a DPI (dots per inch) ratio for the printed output. 5 Choose an output orientation: Portrait or Landscape. 6 When ready to render to a file, turn on Save File, click the Files button, and use the resulting Select TIFF File dialog to specify an output image file. 7016 | Chapter 18 Rendering 7 Do one of the following: ■ To render immediately, click Render. ■ To set further rendering properties, click Render Setup. Interface Paper Size group drop-down list The Paper Size drop-down list lets you choose from several standard print resolutions and aspect ratios. Choose one of these formats, or leave it set to Custom to use the other controls in the Paper Size group. These are the options you can choose from on the list: ■ Custom ■ A - 11 x 8.5 in. (at 300 dpi) ■ B - 17 x 11 in. (at 200 dpi) ■ C - 22 x 17 in. (at 150 dpi) Print Size Wizard | 7017 ■ D - 34 x 22 in. (at 100 dpi) ■ E - 44 x 34 in. (at 75 dpi) ■ A0 - 1189 x 841 mm (at 75 dpi) ■ A1 - 841 x 594 mm (at 100 dpi) ■ A2 - 594 x 420 mm (at 150 dpi) ■ A3 - 420 x 297 mm (at 200 dpi) ■ A4 - 297 x 210 mm (at 300 dpi) ■ A5 - 210 x 148 mm (at 300 dpi) ■ Letter (11 x 8.5 in. at 300 dpi) ■ Legal (14 x 8.5 in. at 300 dpi) ■ Tabloid (17 x 11 in. at 300 dpi) TIP You can customize the Paper Size list by editing the file plugcfg\printwiz.ini. If you choose to edit the file, first be sure to save a backup copy of the original. Portrait/Landscape Choose Portrait for vertically oriented output or Landscape for horizontal output. The window image provides a graphic depiction of the orientation. NOTE Changing between Portrait and Landscape simply switches the Width and Height settings. The actual orientation depends on the image dimensions. For example, if you choose Portrait, and then specify a custom size whose width is greater than its height, the resulting orientation will be horizontal. TIP After changing this setting, be sure to preview the image using the Show Safe Frames on page 8716 function on the Point-Of-View (POV) viewport label menu on page 8712. This shows how the output orientation corresponds to the viewport. Choose Unit Lets you specify whether the measurement units for Paper Width and Paper Height are in millimeters (mm) or inches. Choose DPI Value Provides four buttons for commonly used dots-per-inch settings: 72, 150, 300, and 600. Click one to set it in the DPI property, below. Paper Width/Height Specifies the output width and height in mm (millimeters) or inches, depending on which is chosen under Choose Unit. 7018 | Chapter 18 Rendering NOTE Changing either setting also changes the corresponding Image size setting. Image Width/Height Specifies the output width and height in pixels. NOTE Changing either setting also changes the corresponding Paper size setting. DPI Specifies the output resolution in dots per inch. The easiest way to set this is by clicking one of the buttons under Choose DPI Value. If you're using a different resolution, set it here manually. Only TIFF files on page 8461 support DPI information. If you render to a different image format, you might have to later adjust the image resolution using an image-processing application. NOTE Changing the DPI setting also changes the Image Width/Height settings, keeping the same aspect ratio. Uncompressed File Size Displays the size of the rendered TIFF image file if no compression is used. Rendering group Rendering directly from the Print Size Wizard allows you to output the current frame to a disk file in TIFF format on page 8461. This format is commonly used in the publishing industry. To render to a different format, use the wizard's Render Setup button. Save File When on, 3ds Max saves the rendered image to disk when you render. Save File is available only after you specify the output file using the Files button. Default=off. Files Opens the Select TIFF File dialog, which lets you specify the output file name and location. If, during the current session, you already rendered an image to disk using the Render Setup dialog on page 6956, the last file name you used appears in this field. Save Alpha Channel When on, 3ds Max includes an eight-bit alpha channel on page 9088 in the rendered TIFF file on page 8461. Default=off. Compress File When on, uses compression when saving the file. Render Setup Opens the Render Setup dialog on page 6956 and transfers any settings (such as image size) you've made in the Print Size Wizard. Here you can make further changes and then render the scene. Render Renders the scene to the Rendered Frame Window on page 6963. Also renders to a disk file if you've turned on Save File and specified a file name. Print Size Wizard | 7019 Common Panel (Render Setup Dialog) Render Setup dialog on page 6956 ➤ Common panel The Common panel of the Render Setup dialog contains controls that apply to any rendering, regardless of which renderer you have chosen, and that lets you choose renderers. Common Parameters Rollout (Render Setup Dialog) Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Common panel ➤ Common Parameters rollout Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Common panel ➤ Common Parameters rollout The Common Parameters rollout sets parameters common to all renderers. Procedures To set the size of the image, do one of the following: 1 In the Output Size group, click one of the preset resolution buttons. 2 In the Output Size group, choose one of the pre-formatted film or video formats from the drop-down list. 3 In the Output Size group, choose Custom from the drop-down list, and then adjust the Width, Height, and Aspect Ratio values manually. TIP Smaller images render much more quickly. For example, you can use 320 x 240 to render draft images, then change to a larger size for your final work. To save the rendered still image in a file: 1 In the Render Output group, click Files. 2 In the file dialog, specify a name and a type for the image file, and then click OK. The Save File toggle turns on. 7020 | Chapter 18 Rendering You can later turn off Save File if you want only to view the rendering on screen. NOTE The file dialog has a Setup button. This displays a subdialog that lets you choose options specific to the file type you are saving to. To alter the pixel aspect ratio: ■ In the Output Size group of the Render Setup dialog ➤ Common panel ➤ Common Parameters rollout, adjust the Pixel Aspect setting to fit the requirements of your output device. The Image Aspect field updates to show the aspect ratio of the rendered output. If you alter the pixel aspect ratio but also render to a window or a file, the rendered image might appear distorted. To speed up rendering time for the purpose of a test (or draft) rendering: 1 In the Options group of the Common Parameters panel, turn on Area Lights/Shadows As Points. 2 Set any other parameters and click Render. All area and linear lights in the scene are treated as point lights during the rendering. This reduces rendering time, however some quality is lost. When you are ready to render at high quality, you can simply turn off Area Lights/Shadows As Points and render again. NOTE Scenes with radiosity on page 7068 are not affected by the Area Lights/Shadows As Points toggle, as area lights do not have a significant effect on the performance of a radiosity solution. Common Parameters Rollout (Render Setup Dialog) | 7021 Interface 7022 | Chapter 18 Rendering Time Output group Select which frames you want to render. Single Current frame only. Active Time Segment The Active Time Segment on page 9082 is the current range of frames as shown in the time slider. Range All the frames between and including the two numbers you specify. Frames Nonsequential frames separated by commas (for example, 2,5) or ranges of frames, separated by hyphens (for example, 0-5). ■ File Number BaseSpecifies the base file number, from which the file name will increment. Range= -99,999 to 99,999. Available only for Active Time Segment and Range output. ■ Every Nth frameRegular sample of frames. For example, type 8 to render every 8th frame. Available only for Active Time Segment and Range output. For example, if the Range of frames is set to 0-3, Every Nth Frame is 1, and the File Number Base is 15, the output files are file0015, file0016, file0017, file0018. You can specify a negative number base, as well. For example, if you're rendering frames 50-55, and set the File Number Base to -50, the result is file-050, file-051, file-052, file-053, file-054, file-055. NOTE If you begin render a range of frames, but haven't assigned a file in which to save the animation (using the Files button on page 7028), an alert box appears to warn you about this. Rendering animations can take a long time, and usually it doesn't make sense to render a range without saving all frames to a file. Output Size group Select one of the predefined sizes or enter another size in the Width and Height fields (in pixels). These controls affect the image's aspect ratio on page 9096. Drop-down list The Output Size drop-down list lets you choose from several standard film and video resolutions and aspect ratios. Choose one of these formats, or leave it set to Custom to use the other controls in the Output Size group. These are the options you can choose from on the list: ■ Custom ■ 35mm 1.316:1 Full Aperture (cine) ■ 35mm 1.37:1 Academy (cine) Common Parameters Rollout (Render Setup Dialog) | 7023 ■ 35mm 1.66:1 (cine) ■ 35mm 1.75:1 (cine) ■ 35mm 1.85:1 (cine) ■ 35 MM Anamorphic (2.35:1) ■ 35 MM Anamorphic (2.35:1) (Squeezed) ■ 70mm Panavision (cine) ■ 70mm IMAX (cine) ■ VistaVision ■ 35mm (24mm X 36mm) (slide) ■ 6cm X 6cm (2 1/4" X 2 1/4") (slide) ■ 4" X 5" or 8" X 10" (slide) ■ NTSC D-1 (video) ■ NTSC DV (video) ■ PAL (video) ■ PAL DV (video) ■ HDTV (video) NOTE The values of the Image Aspect and Width and Height buttons can change, depending on which output format you select from this list. Aperture Width (mm) Lets you specify an aperture width for the camera that creates the rendered output. Changing this value changes the camera's Lens value. This affects the relationship between the Lens and the FOV values, but it doesn't change the camera's view of the scene. For example, if you have a Lens setting of 43.0 mm, and you change the Aperture Width from 36 to 50, when you close the Render Setup dialog (or render), the camera Lens spinner has changed to 59.722, but the scene still looks the same in the viewport and the rendering. If you use one of the preset formats rather than Custom, the aperture width is determined by the format, and this control is replaced by a text display. Width and Height Let you set the resolution of the output image by specifying the width and the height of the image, in pixels. With Custom format, you 7024 | Chapter 18 Rendering can set these two spinners independently. With any other format, the two spinners are locked to the specified aspect ratio, so adjusting one alters the other. The maximum width and height is 32,768 x 32,768 pixels. Preset resolution buttons (320x240, 640x480, and so on) Click one of these buttons to choose a preset resolution. You can customize these buttons: right-click a button to display the Configure Preset dialog on page 7029, which lets you change the resolution specified by the button. Image Aspect Lets you set the aspect ratio of the image. Changing this value changes the Height value to maintain the correct dimensions for the active resolution. When you use a standard format rather than Custom, you can't change the aspect ratio, and this control is replaced by a text display. In 3ds Max, the Image Aspect value is always expressed as a multiplier value. In written descriptions of film and video, often aspect ratio is also described as a ratio. For example, 1.33333 (the default Custom aspect ratio) is often expressed as 4:3. This is the standard aspect ratio for broadcast video (both NTSC on page 9238 and PAL on page 9257) when letterboxing is not used. (Letterboxing shows the full width of a wide-screen film format, framed by black regions above and below.) When using a custom output size, the lock button to the left of Image Aspect locks the aspect ratio. When it is on, the Image Aspect spinner is replaced by a label, and the Width and Height spinners are locked to each other; adjusting one alters the other to maintain the aspect-ratio value. In addition, when the aspect ratio is locked, altering the Pixel Aspect value alters the Height value to maintain the aspect-ratio value. NOTE In viewports, the camera's cone changes to reflect the image aspect ratio you set in the Render Setup dialog. This change takes place when you exit the Render Setup dialog. Pixel Aspect Sets the aspect ratio of the pixels for display on another device. The image might look squashed on your display but will display correctly on the device with differently shaped pixels. If you use one of the standard formats rather than Custom, you can't change the pixel aspect ratio and this control is disabled. The lock button to the left of Pixel Aspect locks the pixel-aspect ratio. When it is on, the Pixel Aspect spinner is replaced by a label, and you can't change the value. This button is available only with the Custom format. Common Parameters Rollout (Render Setup Dialog) | 7025 Images with different pixel aspects appear stretched or squashed on a monitor with square pixels. NOTE For standard NTSC on page 9238, the pixel aspect ratio is 0.9. If you are creating 16:9 (0.778) anamorphic images for NTSC, the pixel aspect ratio should be 1.184. (As in the previous discussion of Image Aspect, this assumes the image is not letterboxed.) Options group Atmospherics Renders any applied atmospheric effects, such as volume fog, when turned on. Effects Renders any applied rendering effects, such as Blur, when turned on. Displacement Renders any applied displacement mapping. Video Color Check Checks for pixel colors that are beyond the safe NTSC on page 9238 or PAL on page 9257 threshold and flags them or modifies them to acceptable values. By default, "unsafe" colors render as black pixels. You can change the color check display by using the Rendering panel on page 8929 of the Preference Settings dialog on page 8886. 7026 | Chapter 18 Rendering Render to Fields Renders to video fields on page 9154 rather than frames when creating animations for video. Render Hidden Geometry Renders all geometric objects in the scene, even if they are hidden. Area Lights/Shadows as Points Renders all area lights or shadows as if they were emitted from point objects, speeding up rendering time. When mental ray is the active renderer, this switch is also available on the Rendered Frame Window ➤ lower panel as the leftmost position of the Soft Shadows Precision on page 6975 slider. Alternatively, you can use the slider to adjust soft shadows globally, so that you can still see soft shadows while speeding up rendering. TIP This option is useful for draft renderings, as point lights render much faster than area lights. NOTE Scenes with radiosity on page 7068 are not affected by this toggle, as area lights do not have a significant effect on the performance of a radiosity solution. Force 2-Sided 2-Sided rendering on page 9079 renders both sides of all faces. Usually, you'll want to keep this option off to speed rendering time. You may want to turn it on if you need to render the inside as well as the outside of objects, or if you've imported complex geometry in which the face normals are not properly unified. NOTE This switch does not apply to objects that use the mental ray materialArch & Design on page 6269. In such cases, turn on the material's Advanced Rendering Options rollout ➤ Back Face Culling check box on page 6318. Super Black Super Black rendering on page 9322 limits the darkness of rendered geometry for video compositing. Leave off unless you're sure you need it. Advanced Lighting group Use Advanced Lighting When on, 3ds Max incorporates a radiosity solution on page 7068 or light tracing on page 7055 in the rendering. Compute Advanced Lighting When Required When on, 3ds Max computes radiosity when required on a per-frame basis. Normally, when rendering a series of frames, 3ds Max calculates radiosity only for the first frame. If, in an animation, it might be necessary to recalculate the advanced lighting in subsequent frames, turn this option on. For example, a brightly painted door might open and affect the coloring of a nearby white wall, in which case the advanced lighting should be recalculated. Common Parameters Rollout (Render Setup Dialog) | 7027 Bitmap Proxies group Displays whether 3ds Max is using full-resolution maps or bitmap proxies for rendering. To change this setting, click the Setup button. Setup Click to open the Global Settings and Defaults for Bitmap Proxies dialog on page 8130. Render Output group Save File When on, 3ds Max saves the rendered image or animation to disk when you render. Save File is available only after you specify the output file using the Files button. Files Opens the Render Output File dialog on page 6979, which lets you specify the output file name, format, and location. You can render to any of the still or animated image file formats on page 8411 that are writable. If you render multiple frames to a still-image file format, the renderer renders individual frame files and appends sequence numbers to each file name. You can control this with the File Number Base setting on page 7023. Put Image File List(s) in Output Path(s) Turn on to create an image sequence (IMSQ) file on page 8426, and save it in the same directory as the rendering. Default=off. 3ds Max creates one IMSQ file (or IFL file) per render element on page 7269. The files are created when you click Render or Create now. They are generated before the actual rendering. Image sequence files can be created by the following kinds of rendering: ■ The Render Setup dialog ■ The Render command ■ Batch rendering ■ Command-line rendering ■ MAXScript rendering ■ ActiveShade rendering They are not created by the following kinds of rendering: ■ Rendering to textures ■ Video Post rendering 7028 | Chapter 18 Rendering ■ Rendering a panorama Create Now Click to create the image sequence file “by hand.” You must first choose an output file for the rendering itself. [image sequence file type] Choose either of the following: ■ Autodesk ME Image Sequence File (.imsq)When chosen (the default), creates an Image Sequence (IMSQ) file on page 8426. ■ Legacy 3ds max Image File List (.ifl)When chosen, creates an Image File List (IFL) file on page 8420 of the kind created by previous versions of 3ds Max. Use Device Sends the rendered output to a device such as a video recorder. First click the Devices button to specify the device, for which an appropriate driver must already be installed. Rendered Frame Window Displays the rendered output in the Rendered Frame Window on page 6963. Net Render Enables network rendering on page 7368. If this is on, when you render you'll see the Network Job Assignment dialog on page 7415. Skip Existing Images When activated and Save File is on, the renderer will skip images in a sequence that have already been rendered to disk. Configure Preset Dialog Main toolbar ➤ (Render Setup) ➤ Render Setup Dialog ➤ Common panel ➤ Common Parameters rollout ➤ Output Size group ➤ Right-click a preset resolution button. ➤ Configure Preset dialog Rendering menu ➤ Render Setup ➤ Render Setup Dialog ➤ Common panel ➤ Common Parameters rollout ➤ Output Size group ➤ Right-click a preset resolution button. ➤ Configure Preset dialog This dialog lets you change the preset resolution on a button in the Output Size group of the Common Parameters rollout. Configure Preset Dialog | 7029 Interface Width Sets the output width, in pixels. Height Sets the output height, in pixels. Pixel Aspect Sets the output pixel aspect ratio. Get Current Settings Gets the current Width, Height, and Pixel Aspect settings from the Output Size group, and assigns them to the spinners on this dialog. Email Notifications Rollout Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Common panel ➤ Email Notifications rollout Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Common panel ➤ Email Notifications rollout This rollout lets a rendering job send email notifications, as network rendering does. Such notifications can be useful when you launch a lengthy render, such as an animation, and don't care to spend all your time near the system doing the rendering. 7030 | Chapter 18 Rendering Interface Enable Notifications When on, the renderer sends an email notification when certain events happen. Default=off. Categories group Notify Progress Sends emails to indicate rendering progress. An email is sent every time the number of frames specified in Every Nth Frame has completed rendering. Default=off. ■ Every Nth FrameThe number of frames used by Notify Progress. Default=1. TIP If you turn on Notify Progress, almost certainly you want this value to be greater than the default! Notify Failures Sends an email notification only if something occurs to prevent the completion of a rendering. Default=on. Notify Completion Sends an email notification when a rendering job is complete. Default=off. Email Options group From Enter the email address of the person who initiates the rendering job. To Enter the email address of the person who needs to know the rendering status. Email Notifications Rollout | 7031 SMTP Server Enter the numeric IP address of the system you use as a mail server. Scripts Rollout (Render Setup Dialog) Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Common panel ➤ Scripts rollout Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Common panel ➤ Scripts rollout The Scripts rollout lets you specify scripts to run before and after rendering. The script to execute can be: ■ A MAXScript file (MS) ■ A macro script (MCR) ■ A batch file (BAT) ■ An executable file (EXE) If relevant to its format, the script can have command-line arguments. The pre-render script is executed before rendering (but after any other MAXScript scripts that are registered using the #preRender callback mechanism). The post-render script is executed after rendering has completed. You can also use the “Execute Now” buttons to run the scripts “by hand.” 7032 | Chapter 18 Rendering Interface Pre-Render group Specifies a script to run before you render. Enable When on, the script is enabled. Execute Now Click to execute the script “by hand.” File name field When a script is selected, this field shows its path and name. You can edit this field. File Click to open a file dialog and choose the pre-render script to run. Delete File Click to remove the script. Execute Locally (Ignored by Network Rendering) When on, the script must run locally. If you use network rendering, the script is ignored. Default=off. Post-Render group Specifies a script to run after you render. Enable When on, the script is enabled. Execute Now Click to execute the script “by hand.” File name field When a script is selected, this field shows its path and name. You can edit this field. Scripts Rollout (Render Setup Dialog) | 7033 File Click to open a file dialog and choose the post-render script to run. Delete File Click to remove the script. Assign Renderer Rollout Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Common panel ➤ Assign Renderer rollout Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Common panel ➤ Assign Renderer rollout The Assign Renderer rollout displays which renderers are assigned to the production and ActiveShade categories, as well as the sample slots in the Material Editor. The Render flyout on the toolbar also lets you choose which renderer to use: ■ ■ The Render Production and Render Iterative buttons use the production renderer. The ActiveShade button uses the ActiveShade renderer. These are the renderers that ship with 3ds Max: Default Scanline Renderer on page 7042 mental ray Renderer on page 7129 (not available for ActiveShade) Quicksilver Hardware Renderer on page 7258 (not available for ActiveShade) VUE File Renderer on page 7267 (not available for ActiveShade) Additional renderers might be available if you've installed them as plug-ins. 7034 | Chapter 18 Rendering Interface For each rendering category, the rollout shows the name of the renderer currently assigned, and a button that lets you change the assignment. Choose Renderer (“...”) Click the button with the ellipsis to change the renderer assignment. The button displays a Choose Renderer dialog on page 7035. ■ ProductionChooses the renderer used to render graphic output. ■ Material EditorChooses the renderer used to render sample slots on page 6025 in the Material Editor. By default, the sample slot renderer is locked to be the same as the production renderer. You can turn off the lock button to assign a different renderer for sample slots. ■ ActiveShadeChooses the ActiveShade on page 7001 renderer used to preview the effects of lighting and material changes in the scene. The only ActiveShade renderer that ships with 3ds Max is the default scanline renderer. _____ Save as Defaults Click to save the current renderer assignments as defaults, so they will be active the next time you restart 3ds Max. Choose Renderer Dialog Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Common panel ➤ Assign Renderer rollout ➤ Click a Choose Renderer (...) button. Assign Renderer Rollout | 7035 Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Common panel ➤ Assign Renderer rollout ➤ Click a Choose Renderer (...) button. This dialog appears when you click one of the Choose Renderer (“...”) buttons on the Assign Renderer rollout on page 7034. Procedures To change the renderer assigned to the category you picked, do one of the following: ■ Highlight another renderer's name in the list, and then click OK. ■ Double-click another renderer's name in the list Interface The scrollable list shows the names of renderers that you can assign, exclusive of the renderer that is currently assigned to the rendering category you are reassigning. 7036 | Chapter 18 Rendering Renderers The topics in this section describe the renderers that are provided with 3ds Max, and the controls associated with them. Renderer Panel (Render Setup Dialog) Main toolbar ➤ panel (Render Setup) ➤ Render Setup dialog ➤ Renderer Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Renderer panel The Render Setup dialog ➤ Renderer panel contains the main controls for the active renderer. Depending on which renderer is active, additional panels can become available. TIP The default scanline renderer on page 7042 and the mental ray renderer on page 7129 have different and unique capabilities. Based on these, you decide which renderer you want to use for each scene. It is a good idea to design materials with a particular renderer in mind. The mental ray Connection rollout on page 6215 lets you add features unique to the mental ray renderer to basic 3ds Max materials. Renderers | 7037 Interface When the Default Scanline Renderer Is Active The Renderer panel contains a single rollout: Default Scanline Renderer Rollout on page 7042 Additional panels are: ■ Advanced Lighting Panel on page 7054 ■ Raytracer Panel on page 7120 ■ Render Elements panel on page 7269 7038 | Chapter 18 Rendering When the mental ray Renderer Is Active The renderer panel contains these rollouts: Sampling Quality Rollout (mental ray Renderer) on page 7189 Rendering Algorithms Rollout (mental ray Renderer) on page 7195 Camera Effects Rollout (mental ray Renderer) on page 7201 Shadows & Displacement Rollout (mental ray Renderer) on page 7209 Additional panels are: ■ Indirect Illumination panel Caustics and Global Illumination Rollout (mental ray Renderer) on page 7224 Final Gather Rollout (mental ray Renderer) on page 7213 Reuse (FG and GI Caching) Rollout (mental ray Renderer) on page 7231 ■ Processing panel Translator Options Rollout (mental ray Renderer) on page 7240 Diagnostics Rollout (mental ray Renderer) on page 7247 Renderer Panel (Render Setup Dialog) | 7039 Distributed Bucket Rendering Rollout (mental ray Renderer) on page 7249 ■ Render Elements panel on page 7269 When the Quicksilver Hardware Renderer Is Active The Renderer panel contains a single rollout: Quicksilver Hardware Renderer on page 7258 Additional panels are: ■ Render Elements panel on page 7269 7040 | Chapter 18 Rendering When the VUE File Renderer Is Active The Renderer panel contains a single rollout: VUE File Renderer on page 7267 Default Scanline Renderer The topics in this section describe controls that are specific to the Default Scanline Renderer. Default Scanline Renderer | 7041 A rendering created by the scanline renderer Default Scanline Renderer Rollout Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Assign Renderer rollout ➤ Choose Default Scanline Renderer as the production renderer. ➤ Renderer panel ➤ Default Scanline Renderer rollout Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Assign Renderer rollout ➤ Choose Default Scanline Renderer as the production renderer. ➤ Renderer panel ➤ Default Scanline Renderer rollout This rollout sets parameters for the default scanline renderer on page 9292. 7042 | Chapter 18 Rendering NOTE If your scene includes animated bitmaps (e.g., AVI files), including materials, projector lights, environments, and so on, each animation file is reloaded once per frame. If your scene uses multiple animations, or if the animations are themselves large files, this reloading can hamper rendering performance. To improve performance, use image sequences (each animation frame in a separate image file) instead. Environment Alpha Toggle and Filtering To control whether or not the renderer uses the environment map's alpha channel in creating the alpha for the rendered image, choose Customize ➤ Preferences ➤ Rendering on page 8929, and then turn on Use Environment Alpha in the Background group. If Use Environment Alpha is off (the default), the background receives an alpha value of 0 (completely transparent). If Use Environment Alpha is on, the alpha of the resulting image is a combination of the scene and the background image's alpha channel. Also, when you render to TGA files on page 8459 with premultiplied alpha on page 9273 turned off, turning on Use Environment Alpha prevents incorrect results. You can also control whether or not a background image is affected by the renderer's antialiasing filter. Choose Customize ➤ Preferences ➤ Rendering, and then turn on Filter Background in the Background group. Default=off. TIP If you plan to composite 3ds Max objects in another program such as Combustion or Photoshop, render the objects against a black background. Otherwise, a fringe of environment or background color can appear around the 3ds Max objects. Plate Match Filtering This section describes the Plate Match/MAX R2 antialiasing filter (see Antialiasing group on page 7047 for descriptions of other filtering options). In versions of 3ds Max prior to R2.5, antialiasing affected only geometric edges, with the filtering of bitmaps being controlled in the Bitmap Map parameters (pyramidal, summed area, or no filtering). Current antialiasing filters affect every aspect of the object, filtering textures along with geometric edges. While the method used in R2.5 and subsequent versions provides superior results, this method also produces inconsistencies when rendering objects that are supposed to match the environment background, because the antialiasing filters do not affect the background by default (FilterBackground=0 in the [Renderer] section of the 3dsmax.ini on page 42 file or Customize menu ➤ Preferences ➤ Rendering tab ➤ Background group ➤ Filter Background). Default Scanline Renderer | 7043 In order to correctly match an objects map to an unfiltered background image, you need to use the Plate Match/MAX R2 filter so the texture is not affected by the antialiasing. There are three ways you can render objects to blend seamlessly into a background environment: ■ Assign a matte/shadow material on page 6522. ■ Assign a 100% self-illuminated diffuse texture to an object using Camera Mapping on page 1119. ■ Assign a 100% self-illuminated diffuse texture using Environment/Screen projection (see Coordinates Rollout (2D) on page 6622). Use Plate Match/MAX R2 antialiasing when you need to match foreground objects with an unfiltered background, or when you need to match the antialiasing qualities of the 3ds Max 2 renderer. Procedures To set up an object for motion blurring: 1 Select the object to blur. 2 Right-click the object, and then choose Properties from the quad menu. 3ds Max opens the Object Properties dialog. 3 In the Motion Blur group, click By Layer to change it to By Object. The other Motion Blur controls are now enabled. 4 In the Motion Blur group, choose either Object or Image. 5 If you chose Image, you can adjust the Multiplier spinner. This increases or decreases the length of the blurred object's streak. 6 Click OK. To add motion blur when you render the animation: 1 Click Render Setup. 3ds Max opens the Render Setup dialog 7044 | Chapter 18 Rendering 2 On the Default Scanline Renderer rollout, turn on Apply in the Object Motion Blur group or the Image Motion Blur group. ■ For Object Motion Blur, set Duration, Duration Subdivisions, and Samples. ■ Increase Duration to exaggerate the motion blur effect. Decrease it to make the blur more subtle. ■ If Samples is less than Duration Subdivisions, the slices used are selected randomly, giving a grainy look to the blur. If Samples equals Duration Subdivisions, the blur is smooth. The smoothest blur results from larger, equal values of these two parameters, but be aware that this can slow down rendering by a factor of three to four. ■ For Image Motion Blur, adjust Duration and Apply to Environment Map. ■ Increase Duration to exaggerate the streaking. Decrease it to make it more subtle. 3 Turn on Apply to Environment map to have camera orbit movement blur the environment map. This works only with Spherical, Cylindrical, or Shrink-Wrapped environments. 4 Set other rendering parameters, and then click Render. Default Scanline Renderer | 7045 Interface 7046 | Chapter 18 Rendering Options group Mapping Turn off to ignore all mapping information to speed up rendering for tests. Affects automatic reflections and environment maps as well as material mapping. Default=on. Auto Reflect/Refract and Mirrors Ignores automatic reflection/refraction maps to speed up rendering for tests. Shadows When off, cast shadows aren't rendered. This can speed up rendering for tests. Default=on. Force Wireframe Set to render all surfaces in the scene as wireframes. You can choose the thickness of the wireframe in pixels. Default=1. Enable SSE When on, rendering uses Streaming SIMD Extensions (SSE). (SIMD stands for Single Instruction, Multiple Data.) Depending on the CPU (or CPUs) of your system, SSE can improve render time. Default=off. Antialiasing group Antialiasing Antialiasing on page 9087 smoothes the jagged edges that occur along the edges of diagonal and curves lines when rendering. Turn off only when you are rendering test images and greater speed is more important than image quality. Turning off Antialiasing disables the Force Wireframe setting. Geometry renders according to the material assigned it even if Force Wireframe is turned on. Turning off Antialiasing also disables render elements on page 7269. If you need to render elements, be sure to leave Antialiasing on. Filter drop-down list Lets you select a high-quality table-based filter to apply to your rendering. Filters are the last step in antialiasing. They work at the sub-pixel level and allow you to sharpen or soften your final output, depending on which filter you select. Below the controls in this group, 3ds Max displays a box with a brief description of the filter and how it is applied to your image. TIP Render Region and Render Selected give reliable results only when rendered with the Area filter. The following table describes the available antialiasing filters. Name Description Area Computes antialiasing using a variable-size area filter. This is the original 3ds Max filter. Default Scanline Renderer | 7047 Name Description Blackman A 25-pixel filter that is sharp, but without edge enhancement. Blend A blend between sharp area and Gaussian soften filters. Catmull-Rom A 25-pixel reconstruction filter with a slight edge-enhancement effect. Cook Variable A general-purpose filter. Values of 1 to 2.5 are sharp; higher values blur the image. Cubic A 25-pixel blurring filter based on a cubic spline. Mitchell-Netravali Two-parameter filter; a trade-off of blurring, ringing, and anisotropy. If the ringing value is set higher than .5 it will impact the alpha channel of the image. Plate Match/MAX R2 Uses the 3ds Max 2 method (no map filtering) to match camera and screen maps or matte/shadow elements to an unfiltered background image. See the section “Plate Match Filtering,” above, for a discussion of how and why you might want to use this filter. Quadratic A 9-pixel blurring filter based on a quadratic spline. Sharp Quadratic A sharp nine-pixel reconstruction filter from Nelson Max. Soften An adjustable Gaussian softening filter for mild blurring. Video A 25-pixel blurring filter optimized for NTSC and PAL video applications. 7048 | Chapter 18 Rendering Filter Maps Turns on or off the filtering of mapped materials. Default=on. TIP Leave Filter Maps turned on unless you are making test renderings and want to speed up rendering time and save memory. Filter Size Allows you to increase or decrease the amount of blur applied to an image. This option is available for only some of the Filter choices. Setting the Filter Size to 1.0 effectively disables the filter. NOTE Some filters show additional, filter-specific parameters below the Filter Size control. When you render separate elements on page 7269, you can explicitly enable or disable the active filter, on a per-element basis. Global SuperSampling group Disable all Samplers Disables all supersampling on page 9322. Default=off NOTE SuperSampling settings are ignored by the mental ray Renderer on page 7129, which has its own sampling method. Enable Global Supersampler When on, applies the same supersampler to all materials. When turned off, materials set to use the global settings are controlled by the settings appearing in rendering dialog. All other controls in the Global SuperSampling group of the rendering dialog will become disabled, except for the Disable All Samplers. Default=on. Supersample Maps Turns on or off supersampling for mapped materials. Default=on. TIP Leave Supersample Maps on unless you are making test renderings and want to speed up rendering time and save memory. Sampler drop-down list Lets you choose which supersampling method to apply. Default=Max 2.5 Star. The options for a supersampling method are the same as those that appear on the SuperSampling rollout on page 6211 in the Material Editor. Some methods offer expanded options that let you better control the quality of the supersampling and the number of samples taken during rendering. Object Motion Blur group You determine which objects have object motion blur on page 9242 applied to them by setting Object in the Motion Blur group of the Properties dialog for Default Scanline Renderer | 7049 that object. Object motion blur blurs the object by creating multiple "time-slice" images of the object for each frame. It takes camera movement into account. Object motion blur is applied during the scanline rendering process. Apply Turns object motion blur on or off globally for the entire scene. Any objects that have their Object Motion Blur property set are rendered with motion blur. Duration Determines how long the "virtual shutter" is open. When this is set to 1.0, the virtual shutter is open for the entire duration between one frame and the next. Longer values produce more exaggerated effects. The effect of changing duration. Samples Determines how many Duration Subdivision copies are sampled. The maximum setting is 32. When Samples is less than Duration, random sampling within the duration occurs (which is why there might be a slight granular look to the motion blur). For example, if Duration Subdivision=12 and Samples=8, there are eight random samples out of 12 possible copies within each frame. When Samples=Duration, there is no randomness (and if both numbers are at their maximum value (32), you get a dense result (which costs between 3–4 times the normal rendering time for that specific object). If you want to obtain a smooth blur effect, use the maximum settings of 32/32. If you want to cut down rendering time, values of 12/12 will give you much smoother results than 16/12. Because sampling happens within the duration, the Duration value always has to be less than or equal to Samples. 7050 | Chapter 18 Rendering Duration Subdivisions Determines how many copies of each object are rendered within the Duration. Left: Same value for Samples and Subdivisions. Right: Samples value is less than Subdivisions. Image Motion Blur group You determine which objects have image motion blur on page 9190 applied to them by setting Image in the Motion Blur group of the Properties dialog for that object. Image motion blur blurs the object by creating a smearing effect rather than multiple images. It takes camera movement into account. Image motion blur is applied after scanline rendering is complete. Default Scanline Renderer | 7051 The coin on the right has Image Motion Blur applied You can’t put image motion blur on objects that change their topology. TIP When blurred objects overlap, sometimes blurring doesn't work correctly and there are gaps in the rendering. Because image motion blur is applied after rendering, it can't account for object overlap. To fix this problem, render each blurred object separately, to a different layer, and then composite the two layers using the Alpha Compositor in Video Post. 7052 | Chapter 18 Rendering NOTE Image motion blur doesn't work for NURBS objects that are animated so their tessellation (surface approximation on page 2762) changes over time. This happens when sub-objects are animated independently of the top-level NURBS model on page 9239. Nor does image motion blur work on any of the following: ■ Anything with an Optimize. ■ Any primitive with animated segments. ■ MeshSmooth of any type with a "Smoothness" value (under iterations) other than 1. ■ MeshSmooth on polygons with Keep Faces Convex on. ■ Anything with Displacement Material. In general, if you have objects with changing topology, use scene or object motion blur rather than image motion blur. Apply Turns image motion blur on or off globally for the entire scene. Any objects that have their Image Motion Blur property set are rendered with motion blur. Duration Specifies how long the "virtual shutter" is open. When this is set to 1.0, the virtual shutter is open for the entire duration between one frame and the next. The higher the value, the greater the motion blur effect. Apply to Environment Map When set, image motion blur is applied to the environment map as well as to the objects in the scene. The effect is noticeable when the camera orbits. The environment map should use Environment mapping: Spherical, Cylindrical, or Shrink-Wrap. The image motion blur effect doesn't work with Screen-mapped environments. Transparency When on, image motion blur works correctly with transparent objects that overlap. Applying image motion blur to transparent objects can increase rendering time. Default=off. Auto Reflect/Refract Maps group Rendering Iterations Sets the number of inter-object reflections in non-flat automatic reflection maps. Although increasing this value can sometimes enhance image quality, it also increases rendering time for reflections. Default Scanline Renderer | 7053 Color Range Limiting group Color Range Limiting allows you handle over-brightness by toggling between either Clamping or Scaling color components (RGB) that are out of range (0 to 1). Typically, specular highlights can cause color components to rise above range while using filters with negative lobes can cause color components to be below range. You choose one of two options to control how the renderer handles out of range color components: ■ ClampTo keep all color components in range Clamp will change any color with a value greater than 1 down to 1 while any color below 0 will be clamped at 0. Any value between 0 and 1 will not change. Very bright colors tend to render as white when using Clamp since hue information can be lost in the process. ■ ScaleTo keep all color components in range Scale will preserve the hue of very bright colors by scaling all three color components so that the maximum component has a value of 1. Be aware that this will change the look of highlights. Memory Management group Conserve Memory When on, rendering uses less memory at a slight cost of memory time. Memory saved is in the range of 15 to 25 percent. The time cost is about four percent. Default=off. Advanced Lighting Panel Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Assign Renderer rollout ➤ Set Production to Default Scanline Renderer. ➤ Advanced Lighting panel ➤ Select Advanced Lighting rollout Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Assign Renderer rollout ➤ Set Production to Default Scanline Renderer. ➤ Advanced Lighting panel ➤ Select Advanced Lighting rollout The Advanced Lighting rollout lets you select one of the advanced lighting options that accompany the default scanline renderer on page 7042: either the Light Tracer on page 7055 or Radiosity on page 7068. 7054 | Chapter 18 Rendering The Light Tracer provides soft-edged shadows and color bleeding for brightly-lit scenes such as outdoor scenes. Radiosity provides physically accurate modeling of the light in a scene. Interface Until you choose an advanced lighting option, the Advanced Lighting panel displays a single rollout, Select Advanced Lighting. List of plug-ins Choose an advanced lighting option from this drop-down list. Default=No advanced lighting chosen. Active When an advanced lighting option is chosen, use Active to toggle whether the advanced lighting is used when you render your scene. Default=On. Light Tracer Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Choose Default Scanline Renderer as the active production renderer. ➤ Advanced Lighting panel ➤ Select Advanced Lighting rollout ➤ Choose Light Tracer from the drop-down list. Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Choose Default Scanline Renderer as the active production renderer. ➤ Advanced Lighting panel ➤ Select Advanced Lighting rollout ➤ Choose Light Tracer from the drop-down list. The Light Tracer provides soft-edged shadows and color bleeding for brightly-lit scenes such as outdoor scenes. It is typically used in conjunction with a Default Scanline Renderer | 7055 Skylight on page 5771. Unlike radiosity on page 7068, the Light Tracer does not attempt to create a physically accurate model, and can be easier to set up. Outdoor scene lit by Skylight and rendered with light tracing 7056 | Chapter 18 Rendering Character lit by Skylight and one spotlight, and rendered with light tracing Model by Sonny Sy — orange_3D@yahoo.com — www.geocities.com/orange_3D Default Scanline Renderer | 7057 TIP While you can use light tracing for indoor scenes, radiosity is usually the better choice in such cases. Previewing the Effect of Light Tracing ■ To get a quick preview of the effect the Light Tracer will have, lower the values of Rays/Sample and Filter Size. The result will be a grainy version of the full effect. ■ Another way to get a quick preview is to make sure Adaptive Undersampling is turned on. In this group, set the Initial Sample Spacing sampling and the Subdivide Down To setting to the same value. In the General Settings group, lower the value of Rays/Sample, and set Bounces equal to 0.0. This gives a rather blotchy but fast preview of the rendering. Increase the Rays/Sample and Filter Size values to improve the image quality. In general, you can get good, fairly quick results with a lower Filter Size value as long as Rays/Sample has a high value and Adaptive Undersampling is on. Other Tips for Using the Light Tracer ■ To improve rendering time, use the Object Properties dialog on page 221 to disable light tracing (or radiosity solving) for objects that don't have a great impact on the final effect. TIP You can also use the Advanced Lighting Override material on page 6588 to alter the effect of light tracing on particular objects. For example, if you encounter visual artefacts with a bump-mapped material, convert it to an Advanced Lighting Override material and reduce the Indirect Light Bump Scale value. ■ Experiment with the Adaptive Undersampling group settings, which restrict light tracing to the areas of your scene that need it. ■ To increase the amount of color bleeding, increase the values of both Bounces and Color Bleed. Color bleeding is usually a subtle effect. ■ If there are glass objects in the scene, increase the Bounces value to an amount greater than 0. But be aware that this increases rendering time. ■ If the main scene lighting is a Skylight on page 5771, and you need specular highlights in your scene, add a second light: for example, a Directional light that parallels the Skylight. Make sure Shadows are turned on for this light, and on the light's Advanced Effects rollout on page 5817, turn off Diffuse. 7058 | Chapter 18 Rendering If the objects with highlights don't greatly affect shadows or color bleeding, you can leave Diffuse on for this light, and use Object Properties to exclude the objects from light tracing. ■ Set Key filters are not taken into account when you animate Light Tracer settings. If you wish to use Set Key to create keys for animating the Light Tracer parameters, Shift+right-click the spinner to create those keys. IMPORTANT If you use a texture map with the Skylight, you should use an image-processing program to thoroughly blur the map before using it. This helps reduce variance and the number of rays needed for light tracing. You can blur the map beyond recognition, and it will still look correct when used for regathering. Procedures To set up a scene for the Light Tracer: This is a typical use case: 1 Create the geometry for an outdoor scene. 2 Add a Skylight on page 5771 to illuminate it. One or more spotlights can also work well. If you use the physically based IES Sun or IES Sky lights, using an exposure control on page 7665 is essential. 3 Choose Rendering ➤ Advanced Lighting ➤ Light Tracer. This opens the Render Setup dialog to the Advanced Lighting panel and activates Light Tracer. 4 Adjust the Light Tracer parameters, activate the viewport to render, and then activate the Common panel. 5 Adjust your rendering settings, and then click the Render button at the bottom of the dialog. The scene renders with soft-edged shadows and color bleeding. Default Scanline Renderer | 7059 Interface General Settings group Global Multiplier Controls the overall lighting level. Default=1.0. Left: Lower Global Multiplier value 7060 | Chapter 18 Rendering Right: Higher Global Multiplier value Object Multiplier Controls the level of light reflected by objects in the scene. Default=1.0. NOTE This setting has little effect unless Bounces is greater than or equal to 2. Sky Lights [toggle] When on, enables regathering from the Skylights in the scene. (A scene can contain more than one Skylight.) Default=on. Sky Lights [amount] Scales the intensity of the Skylights. Default=1.0. Above: Increasing the Sky Lights value Below: Increasing the Object Multiplier value Color Bleed Controls the strength of color bleeding. Color bleeding results when light is interreflected among scene objects. Default=1.0. NOTE This setting has little effect unless Bounces is greater than or equal to 2. Default Scanline Renderer | 7061 Above: Excessive color bleeding Below: Color bleeding eliminated by setting Color Bleed to 0.0 Rays/Sample The number of rays cast per sample (or pixel). Increasing this value increases the smoothness of the effect, at a cost of render time. Decreasing this value results in a grainier effect, but renders more quickly. Default=250. TIP To get a “first draft” preview of the effect of light tracing, reduce the value of Rays/Sample and the Filter Size. Changing the number of rays per sample 7062 | Chapter 18 Rendering The higher the value, the less grain Color Filter Filters all light falling on objects. Set to a color other than white to tint the overall effect. Default=white. Filter Size The size, in pixels, of the filter used to reduce noise in the effect. Default=0.5. TIP Filter Size is especially useful when Adaptive Undersampling is turned off, and Rays/Sample has a low value. Changing the Filter Size value Increasing Filter Size reduces noise in the rendering. Extra Ambient When set to a color other than black, adds that color as extra ambient light on objects. Default=black. Ray Bias Ray Bias, like Shadow Bias on page 9304, adjusts the positioning of the bounced light effects. Use it to correct rendering artifacts, such as the banding that can occur when an object casts shadows on itself. Default=0.03. Bounces The number of light-ray bounces that are traced. Increasing this value increases the amount of color bleeding. Lower values give faster results with less accuracy, and typically produce darker images. Higher values allow more light to flow through the scene, resulting in brighter, more accurate images at a cost of rendering time. Default=0. When Bounces equals 0, the Light Tracer disregards volumetric lighting. Default Scanline Renderer | 7063 TIP If your scene has transparent objects such as glass, increase Bounces to be greater than zero. Be aware that this increases rendering time. Increasing the number of bounces increases the level of global illumination and the amount of color bleeding in the rendering. Cone Angle Controls the angle used for regathering. Reducing this value can result in slightly higher contrast, especially in regions where lots of small geometry casts shadows on a larger structure. Range=33.0 to 90.0. Default=88.0. All rays initially cast are limited by the cone angle 7064 | Chapter 18 Rendering Volumes [toggle] When on, the Light Tracer regathers light from volumetric lighting effects such as Volume Light on page 7654 and Volume Fog on page 7646. Default=on. For volumetric lighting to work with light tracing, Bounces must be greater than 0. Volumes [amount] Multiplies the amount of light regathered from volumetric lighting effects. Increase to increase their impact on the rendered scene, decrease to decrease their effect. Default=1.0. Increasing the Volumes value increases the effect of volumetric lighting in the rendering. Adaptive Undersampling group These controls can help you speed up rendering time. They reduce the number of light samples taken. The ideal settings for undersampling vary greatly from scene to scene. Undersampling initially takes samples from a grid superimposed on the pixels of the scene. Where there is enough contrast between samples, it subdivides that region and takes further samples, down to the minimum area specified by Subdivide Down To. Lighting for areas not directly sampled is interpolated. Default Scanline Renderer | 7065 Initial sampling uses a regular grid. Adaptive undersampling concentrates on transition areas. TIP If you use adaptive undersampling, try adjusting the Subdivision Contrast value to obtain the best results. The effect of this control depends on the value of Rays/Sample. 7066 | Chapter 18 Rendering Adaptive Undersampling When on, the Light Tracer uses undersampling. When off, it samples every pixel. Turning this off can increase the detail of the final rendering, but at a cost of rendering time. Default=on. Initial Sample Spacing The grid spacing for the initial samples of the image. This is measured in pixels. Default=16x16. Initial sample spacing values Subdivision Contrast The contrast threshold that determines when a region should be further subdivided. Increasing this value causes less subdividing to occur. Too low a value can cause unnecessary subdividing. Default=5.0. Decreasing the subdivision contrast threshold can reduce noise in soft shadows and bounced lighting. Subdivide Down To The minimum spacing for a subdivision. Increasing this value can improve render time at a cost of accuracy. Default=1x1. Depending on the scene geometry, grids larger than 1x1 might still be subdivided below this specified threshold. Default Scanline Renderer | 7067 Show Samples When on, sample locations render as red dots. This shows where the most sampling has taken place, which can help you choose the optimal settings for undersampling. Default=off. Modeling Global Illumination with Radiosity Radiosity is rendering technology that realistically simulates the way in which light interacts in an environment. This topic provides you with a conceptual overview of what radiosity is and how this global illumination technique relates to other rendering techniques available in 3ds Max. This information will help you decide which technique is most suitable for the visualization task you want to perform. By more accurately simulating the lighting in your scene, radiosity offers you significant benefits over standard lights: ■ Improved Image Quality: The radiosity technology of 3ds Max produces more accurate photometric on page 9266 simulations of the lighting in your scenes. Effects such as indirect light, soft shadows, and color bleeding between surfaces produce images of natural realism that are not attainable with standard scanline rendering. These images give you a better, more predictable representation of what your designs will look like under specific lighting conditions. ■ More Intuitive Lighting: In conjunction with radiosity techniques, 3ds Max also provides a real-world lighting interface. Instead of specifying lighting intensity with arbitrary values, light intensity is specified using photometric units (lumens, candelas, and so on). In addition, the characteristics of real-world lighting fixtures can be defined using industry-standard Luminous Intensity Distribution files (such as IES on page 5735, CIBSE on page 9116, and LTLI on page 9209), which are obtainable from most lighting manufacturers. By being able to work with a real-world lighting interface, you can intuitively set up the lighting in your scenes. You can focus more on your design exploration than on the computer graphic techniques required to visualize them accurately. 7068 | Chapter 18 Rendering Top: A scene rendered without radiosity. Bottom: The same scene rendered with radiosity. Default Scanline Renderer | 7069 Computer Graphics Rendering The 3D models created in 3ds Max contain geometric data defined in relationship to a 3D Cartesian coordinate system, referred to as world space on page 9354. The model also contains other information about the material of each of the objects and the lighting in the scene. The image on a computer monitor is made up of many illuminated dots, called pixels on page 9270. The task in creating a computer graphics image of a geometric model is to determine the color for each pixel based on the model information and a specific viewpoint (camera). The color of any specific point on a surface in a model is a function of the physical material properties of that surface and the light that illuminates it. Two general shading algorithms: local illumination and global illumination are used to describe how surfaces reflect and transmit light. Local Illumination Local illumination algorithms describe only how individual surfaces reflect or transmit light. Given a description of light arriving at a surface, these mathematical algorithms, called shaders in 3ds Max, predict the intensity, color, and distribution of the light leaving that surface. In conjunction with a material description, different shaders will determine, for example, if a surface will appear like plastic or metal or if it will appear smooth or rough. 3ds Max provides a robust interface for defining a wide array of different surface materials. After defining how an individual surface interacts with light at the local level, the next task is to determine where the light arriving at the surface originates. With the standard scanline rendering system on page 9292 of 3ds Max, only the light coming directly from the light sources themselves is considered in the shading. For more accurate images, however, it is important to take into account not only the light sources, but also how all the surfaces and objects in the environment interact with the light. For example, some surfaces block light, casting shadows on other surfaces; some surfaces are shiny, in which case we see in them the reflections of other surfaces; some surfaces are transparent, in which case we see other surfaces through them; and some surfaces reflect light onto other surfaces. Global Illumination Rendering algorithms that take into account the ways in which light is transferred between surfaces in the model are called global illumination 7070 | Chapter 18 Rendering algorithms. 3ds Max offers two global illumination algorithms as an integral part of its production rendering system: ray-tracing and radiosity. Before an explanation of how ray-tracing and radiosity work, it’s useful to understand how light is distributed in the physical world. Consider, for example, the room shown in the illustration below. Kitchen lit by two lights This kitchen above has two light sources. One theory of light considers the light in terms of discrete particles called photons, that travel from the light source until they encounter some surface in the kitchen. Depending on the surface material, some of these photons are absorbed and others are scattered back out into the environment. The fact that photons traveling at a particular wavelength are absorbed while others are not is what determines the color of the surface. Surfaces that are very smooth reflect the photons in one direction, at an angle equal to the angle at which they arrive at the surface, the angle of incidence. These surfaces are known as specular surfaces, and this type of reflection is known as specular reflection. A mirror is an example of a perfectly specular surface. Of course, many materials display some degree of both specular and diffuse reflection. Default Scanline Renderer | 7071 Left: Specular reflection Right: Diffuse reflection The way in which the photons are reflected from a surface depends primarily on the smoothness of the surface. Rough surfaces tend to reflect photons in all directions. These are known as diffuse surfaces, and this type of reflection is known as diffuse reflection (shown above). A wall painted with flat paint is a good example of a diffuse surface. The final illumination of the kitchen is determined by the interaction between the surfaces and the billions of photons emitted from the light source. At any given point on a surface, it is possible that photons have arrived directly from the light source (direct illumination) or else indirectly through one or more bounces off other surfaces (indirect illumination). If you were standing in the kitchen, a very small number of the photons in the room would enter your eye and stimulate the rods and cones of your retina. This stimulation would, in effect, form an image that is perceived by your brain. In computer graphics we replace the rods and cones of a retina with the pixels of the computer screen. One goal of a global illumination algorithm is to re-create, as accurately as possible, what you would see if you were standing in a real environment. A second goal is to accomplish this task as quickly as 7072 | Chapter 18 Rendering possible, ideally in real time (30 images per second). Currently, no single global illumination algorithm can accomplish both goals. Ray-Tracing One of the first global illumination algorithms developed is known as ray-tracing. The ray-tracing algorithm recognizes that although billions of photons may be traveling about the room, the photons we primarily care about are the ones that enter the eye. The algorithm works by tracing rays backward, from each pixel on the screen into the 3D model. In this way, we compute only the information needed to construct the image. To create an image using ray-tracing, the following procedure is performed for each pixel on the computer screen. 1 A ray is traced back from the eye position, through the pixel on the monitor, until it intersects with a surface. We know the reflectivity of the surface from the material description, but we do not yet know the amount of light reaching that surface. 2 To determine the total illumination, we trace a ray from the point of intersection to each light source in the environment (shadow ray). If the ray to a light source is not blocked by another object, the light contribution from that source is used to calculate the color of the surface. 3 If an intersected surface is shiny or transparent, we also have to determine what is seen in or through the surface being processed. Steps 1 and 2 are repeated in the reflected (and, in the case of transparency, transmitted) direction until another surface is encountered. The color at the subsequent intersection point is calculated and factored into the original point. 4 If the second surface is also reflective or transparent, the ray-tracing process repeats, and so on until a maximum number of iterations is reached or until no more surfaces are intersected. Default Scanline Renderer | 7073 Ray-tracing: Rays are traced from the camera through a pixel, to the geometry, then back to their light sources. The ray-tracing algorithm is very versatile because of the large range of lighting effects it can model. It can accurately account for the global illumination characteristics of direct illumination, shadows, specular reflections (for example, mirrors), and refraction through transparent materials. The main disadvantage of ray-tracing is that it can be very slow for environments of even moderate complexity. In 3ds Max, ray-tracing is used selectively on objects with ray-trace materials on page 6486 that specify ray-tracing as their shading option. Ray-tracing can also be specified for light sources as the method for rendering the shadows they cast. A significant disadvantage of both ray-tracing and scanline rendering is that these techniques do not account for one very important characteristic of global illumination, diffuse inter-reflections. With traditional ray-tracing and scanline rendering, only the light arriving directly from the light sources themselves is accurately accounted for. But, as shown in the room example, not only does light arrive at a surface from the light sources (direct lighting), it also arrives from other surfaces (indirect lighting). If we were to ray-trace an image of the kitchen, for example, the areas in shadow would appear black because they 7074 | Chapter 18 Rendering receive no direct light from the light sources. We know from experience, however, that these areas would not be completely dark because of the light they would receive from the surrounding walls and floor. In scanline rendering and traditional ray-tracing (versions of 3ds Max prior to v5), this indirect illumination is usually accounted for simply by adding an arbitrary ambient light value that has no correlation to the physical phenomena of indirect illumination and is constant throughout space. For this reason, scanline and ray-traced images can often appear very flat, particularly renderings of architectural environments, which typically contain mostly diffuse surfaces. Radiosity To address this issue, researchers began investigating alternative techniques for calculating global illumination, drawing on thermal engineering research. In the early 1960s, engineers developed methods for simulating the radiative heat transfer between surfaces to determine how their designs would perform in applications such as furnaces and engines. In the mid-1980s, computer graphics researchers began investigating the application of these techniques for simulating light propagation. Radiosity, as this technique is called in the computer graphics world, differs fundamentally from ray-tracing. Rather than determining the color for each pixel on a screen, radiosity calculates the intensity for all surfaces in the environment. This is accomplished by first dividing the original surfaces into a mesh of smaller surfaces known as elements. The radiosity algorithm calculates the amount of light distributed from each mesh element to every other mesh element. The final radiosity values are stored for each element of the mesh. Default Scanline Renderer | 7075 Radiosity: A ray of light that hits a surface is reflected by multiple diffuse rays, which can themselves illuminate other surfaces. Surfaces are subdivided to increase accuracy of the solution. In early versions of the radiosity algorithm, the distribution of light among mesh elements had to be completely calculated before any useful results could be displayed on the screen. Even though the result was view-independent, the preprocessing took a considerable amount of time. In 1988, progressive refinement was invented. This technique displays immediate visual results that can progressively improve in accuracy and visual quality. In 1999, the technique called stochastic relaxation radiosity (SRR) was invented. The SRR algorithm forms the basis of the commercial radiosity systems provided by Autodesk. 7076 | Chapter 18 Rendering An Integrated Solution Although the ray-tracing and radiosity algorithms are very different, they are in many ways complementary. Each technique has advantages and disadvantages. Lighting Advantages Algorithm Disadvantages Ray-Tracing Accurately renders direct illumination, shadows, specular reflections, and transparency effects. Memory Efficient Computationally expensive. The time required to produce an image is greatly affected by the number of light sources. Process must be repeated for each view (view dependent). Doesn’t account for diffuse interreflections. Radiosity Calculates diffuse interreflections between surfaces. Provides view independent solutions for fast display of arbitrary views. Offers immediate visual results. 3D mesh requires more memory than the original surfaces. Surface sampling algorithm is more susceptible to imaging artifacts than ray-tracing. Doesn’t account for specular reflections or transparency effects. Neither radiosity nor ray-tracing offers a complete solution for simulating all global illumination effects. Radiosity excels at rendering diffuse-to-diffuse inter-reflections, and ray-tracing excels at rendering specular reflections. By integrating both techniques with a production quality scanline rendering system, 3ds Max offers the best of both worlds. After you create a radiosity solution, you can render a two-dimensional view of it. In your 3ds Max scene, ray-tracing adds effects in addition to those that radiosity provides: lights can Default Scanline Renderer | 7077 provide ray-traced shadows, and materials can provide ray-traced reflections and refractions. The rendered scene combines both techniques, and appears more realistic than either technique alone could provide. By integrating ray-tracing and radiosity, 3ds Max offers a full range of visualization possibilities, from fast, interactive lighting studies to images of exceptional quality and realism. See also: ■ Radiosity Preferences on page 8948 ■ Advanced Lighting Override Material on page 6588 How Radiosity Works in 3ds Max This topic provides an overview of how radiosity works in 3ds Max. These are the overall steps: 1 Object by object, 3ds Max loads a copy of the scene into the radiosity engine. 2 3ds Max subdivides each object according to the Global Subdivision Settings in the Radiosity Meshing Parameters rollout, or according to the object's individual object properties, if those differ from the global settings. 3 3ds Max emits a certain amount of rays, based on the average scene reflectance and number of polygons. The brightest light source will have more rays to emit than the weakest light source. 4 These rays bounce around randomly in the scene and deposit energy on the faces. 5 3ds Max updates the viewports by taking all the energy from the faces and spreading it to the closest vertex. See the section that follows, “Refinement Steps for Radiosity,” for a more detailed description of the solution process. Refinement Steps for Radiosity The radiosity process involves three stages of increasing refinement. The first two stages occur during the primary radiosity processing, and the third stage can be used during the final rendering. 7078 | Chapter 18 Rendering Within each of the first two stages, you can stop and start the processing at any time. This can be useful for evaluating interim results or increasing the level of accuracy you desire. For example, you can interrupt the Initial Quality stage at 50% and jump ahead to the Refine stage if you wish. However, once you enter the Refine stage, you cannot continue further iterations of Initial Quality unless you restart the solution. The stages of a radiosity solution are Initial Quality, Refine, and then Regathering. 1 Initial Quality In the Initial Quality stage, the distribution of diffuse lighting in the scene is calculated by essentially mimicking the behavior of real photons. Rather than tracing the path of an essentially infinite number of photons, statistical methods are used to choose a much smaller set of “photon rays” whose distribution in space is representative of the actual Default Scanline Renderer | 7079 distribution. As with any statistical sampling process, the greater the number of rays used in the approximation, the greater the accuracy of the solution. During the initial quality stage, the overall appearance of the lighting level of the scene is established. The results can be interactively displayed in shaded viewports. The initial quality stage performs repeated passes, which are shown in the dialog’s progress bar. 2 Refine Iterations (All Objects) and Refine Iterations (Selected Objects) Because of the random nature of the sampling during the initial quality stage, some of the smaller surfaces or mesh elements in the scene might miss being hit by enough rays (or any rays at all). These small surfaces remain dark, and result in the appearance of “variance” or dark spots. To alleviate these artifacts, the Refine stage “regathers light” at every surface element. You can perform the Refine stage for the entire scene, or for selected objects in the scene. 3 Regathering Even after the Refine stage, it is still possible for visual artifacts to appear in a scene because of the topology of the original model. These artifacts sometimes appear as shadow or light “leaks.” To eliminate even these model-based artifacts, a third, optional refinement stage known as Pixel Regathering occurs at the time of image rendering. This involves a final “regather” process for each pixel of the image. Regathering can add a considerable amount of time to the rendering of a final image, but it also produces the most detailed and artifact-free images possible. One benefit of using Regathering is that it means the initial modeling and mesh resolution don’t need to be nearly as “refined” or “tight” as would otherwise be required. Radiosity Workflows This topic describes how to set up a scene for use with radiosity. Considerations include the size of the scene and the measuring system, the lighting, and the materials used in the scene. Set Units Correctly Before Processing Radiosity When using imported geometry, make sure the units are consistent in your scene before processing radiosity. For example, a wall’s height is more likely to be 8 feet than 8 kilometers. Units in 3ds Max must match the units of the 7080 | Chapter 18 Rendering model because the radiosity engine always uses an inverse-square falloff for lights. Therefore, distance is crucial. To make sure your units are set up correctly, use the Units Setup dialog on page 8955. The system unit on page 8959 is the most important setting on this dialog. The system unit is the measurement on which 3ds Max bases its calculations. The Display Unit is just a tool that lets you customize how units are displayed in the user interface. The following two scenarios show how to set unit scales after importing geometry that has been created using different units than what is currently set in 3ds Max: Example 1: You import a table that was created in AutoCAD using metric scale. The table is 9 units long, which corresponds to an actual length of 90 centimeters. When the table is imported into 3ds Max, it measures 9 scene units. Therefore, using the Units Setup ➤ System Unit Setup dialog, you must set System Unit Scale to 1 Unit=10.0 Centimeters. The table now uses the correct units because it is 90 centimeters long in the 3ds Max model. Example 2: You have an AutoCAD model that was created using Architectural Units. The model is a room whose length is 20’4”. In AutoCAD, Architectural Units are stored as inches. Therefore, before importing the model to 3ds Max, set the System Unit Scale to 1 Unit=1 inch (this is the default setting). Once imported to 3ds Max, the room length will measure 20’x12+4”=244 units. TIP To check dimensions quickly in 3ds Max, use the Measure Distance tool on page 2913. Physically Based Workflow Use radiosity on page 7068 to create physically based lighting simulations. When doing so, keep in mind the following: ■ Scene dimensions: Make sure your scenes use accurate dimensions, with consistent units. For example, illumination from a light source in a room 120 meters high differs significantly from that of the same source in a room 120 inches high. ■ Lights: Work exclusively with Photometric lights on page 5707 and make sure the light intensities fall within a normal range. ■ Natural Lighting: To simulate natural light, use only IES sun on page 5866 and IES Sky on page 5870. These provide accurate photometric representations of sunlight and skylight based on a specified location, date and time. Default Scanline Renderer | 7081 ■ Material Reflectance: Ensure that the materials in your scene have reflectance values on page 6042 within the range of the physical materials they represent. For example, a painted white wall should have a maximum reflectance of approximately 80% while a pure white color material (RGB:255, 255, 255) has a reflectance of 100%. This means that the material reflects 100% of the energy received. ■ Exposure Control: The exposure control is the equivalent of the aperture of a camera. Activate an exposure control and set a value that provides the final results you desire. To process radiosity for photometric lights using a physically based workflow: 1 Ensure that your geometry is set to a physically correct scale and that the materials have valid reflectance values. 2 Place photometric lights in your scene. The benefit of this workflow is that it allows you to place lights in your scene the same way you would in the real world. You can create new photometric lights or, using the asset browser on page 8143, drag and drop preset luminaire objects on page 7937 from the included library. You can also refer to Common Lamp Values on page 5716. 3 Choose Rendering ➤ Environment to display the Environment panel on page 7621. Select the type of exposure control you want to use (typically Logarithmic on page 7673). 4 To preview the lighting, click (Render Production). At this stage, no processing of radiosity occurs, but you can quickly confirm that the direct lighting is correct. If you like, adjust the position of the lights. 5 Choose Rendering ➤ Advanced Lighting ➤ Radiosity, and then confirm any alerts that appear. On the Select Advanced Lighting rollout, make sure Active is on. 6 To process radiosity, on the Radiosity Processing Parameters rollout, click Start. Once the Radiosity calculation has been completed, you should see your results in the viewports. The light levels are stored with the geometry and you can navigate the model interactively without reprocessing the scene. 7082 | Chapter 18 Rendering 7 Click (Render Production) again. The renderer calculates the direct lighting and shadows and then integrates the radiosity solution (indirect lighting) as a modulated ambient light. Lighting Analysis After you generate a radiosity solution, you can use the Lighting Analysis tool on page 7118 to analyze the lighting levels in your scene. This dialog provides data on material reflectance, transmittance, and luminance. You can also visualize the light levels in the scene interactively with the Pseudo Color Exposure Control on page 7686. Rendering to the Rendered Frame Window displays an additional rendered frame with a legend below the image. The legend correlates lighting levels and color values. If you need to generate a lighting report, you can use the Lighting Data Exporter utility on page 7692 to export the luminance and illuminance data to a 32-bit LogLUV TIFF file on page 8461 or a pair of PIC files on page 8442 (one each for luminance and illuminance). NOTE To obtain the most accurate quantitative analysis of lighting levels, avoid using colored materials and diffuse maps. Non-Physically Based Workflow You don’t necessarily have to work with physically based lights and materials in order to incorporate radiosity effects into your renderings. But there are a number of issues that you need to consider: ■ Lights: Because the radiosity engine is physically based, the engine interprets Standard lights on page 5757 as Photometric lights on page 5707. For example, a Standard Spot light with a multiplier value of 1.0 is translated as a Physically Based Spot light with an intensity value of 1500 candelas (default value). This translation value corresponds to the Physical Scale value in the various exposure controls. In addition, if your Standard lights use custom attenuation settings (for example, no attenuation, manual attenuation, or linear decay), the radiosity engine always solves for these lights using inverse square attenuation, which is physically correct. This means that the amount of energy that bounces between surfaces might not be equivalent to the way the Standard lights render. Default Scanline Renderer | 7083 ■ Natural Lighting: To simulate natural lighting without using the physically based workflow described above, you can use only a Direct Light on page 5764 for the Sun and Skylight on page 5771 to produce skylight on page 9309. ■ Exposure Control: Standard lights are not physically based, so use the Logarithmic Exposure Control on page 7673 for the radiosity solution. Be sure to turn on Affect Indirect Only. The Brightness and Contrast controls of the exposure control will affect only the radiosity solution and your lights will render as usual. To process radiosity with standard lighting: 1 Ensure that your geometry is set to a physically correct scale. 2 On the Create panel, click (Lights). Create and position standard lights on page 5757 in your scene. 3 To preview the lighting, click (Render Production). At this stage, the radiosity is not processed, but you can quickly confirm that the direct lighting is correct. Adjust the position of the lights if desired. 4 Choose Rendering ➤ Advanced Lighting ➤ Radiosity and confirm any alerts that appear. On the Select Advanced Lighting rollout, make sure Active is on. 5 To process radiosity, on the Radiosity Processing Parameters rollout, click Start. Once the Radiosity calculation has been completed, you should see your results in the viewports. 6 To display the Environment panel on page 7621, where you set exposure controls, in the Interactive Tools group of the Radiosity Processing Parameters rollout, click Setup. 7 When working with non-physically based lights, always use the Logarithmic Exposure Control on page 7673. On the Logarithmic Exposure Control Parameters rollout, turn on Affect Indirect Only. This causes the exposure control to affect only the results of the radiosity solution. This way you maintain the way your direct lights render without radiosity. Use the Brightness and Contrast controls of the exposure control 7084 | Chapter 18 Rendering to adjust the intensity of the radiosity solution to match the lighting at an appropriate level. TIP You can use the thumbnail preview to adjust brightness and contrast interactively. 8 To render the scene after radiosity processing, click Production). (Render Summary The following table is designed to help you obtain good results with radiosity. Physically Based Non-Physically Workflow Based Workflow Lights Photometric Lights on page 5707 Standard Lights on page 5757 Daylight IES Sun on page Directional Light 5866 and IES Sky on on page 5764 and page 5870 Skylight on page 5771 Exposure Control Any Logarithmic on page 7673 − turn on Affect Indirect Only. Units Make sure your scene is set to the appropriate scale. Make sure your scene is set to the appropriate scale. Animation with Radiosity By default, a radiosity solution on page 7068 is calculated at the current frame. If you are animating objects and you want to perform a radiosity solution at every frame, turn on Compute Advanced Lighting When Required in the Render Setup dialog ➤ Common panel ➤ Common Parameters rollout on page 7020 ➤ Advanced Lighting group. Default Scanline Renderer | 7085 Once the renderer starts processing each frame of your animation, it computes the radiosity solution for each frame as required. This occurs, for example, when an object moves or a light intensity changes. If nothing changes in the scene from one frame to the next, the radiosity engine does not recalculate the solution. NOTE Due to the random statistical sampling used by the radiosity engine, there might be some flickering between frames. If this occurs, increase the value of Initial Quality or the number of Refine Iterations to solve the problem. TIP Before launching a lengthy animation with radiosity, process a radiosity solution manually for a single frame to make sure the results are acceptable. TIP If you animate only the camera as in an architectural walkthrough, you can save time by calculating a radiosity solution for only the first frame of the animation. You can then reuse it in all subsequently rendered frames by turning off Compute Advanced Lighting When Required on the Common Parameters rollout of the Render Setup dialog. Avoid using the Automatic Exposure Control on page 7668 for animations. This exposure control can change from frame to frame, creating a flickering effect. Object Animation The radiosity solution is calculated for each frame if any object is animated in the scene (the default is to calculate the current frame only). You specify the parameters (goals/quality) you want to reach on the Advanced Lighting panel. Before rendering the entire animation, we recommend first running a solution to verify that it’s successful. These parameters are then reprocessed for each frame. You go to the Render Setup dialog ➤ Common Parameters rollout and enable the option Compute Advanced Lighting When Required, and then render the scene. The radiosity is processed for the first frame and then rendered. 3ds Max then moves to the next frame, processes radiosity, renders, and so on. Camera Animation If objects remain static in the scene and only the camera moves, you can solve radiosity at frame 0, and when you render the animation, turn off Compute Advanced Lighting When Required. 7086 | Chapter 18 Rendering Radiosity Controls Render Setup dialog on page 6956 ➤ Choose Default Scanline Renderer as the production renderer. ➤ Advanced Lighting panel ➤ Choose Radiosity. Rendering menu ➤ Advanced Lighting ➤ Radiosity ➤ Render Setup dialog ➤ Advanced Lighting panel ➤ Radiosity is chosen. Radiosity is a technique to calculate indirect light. Specifically, radiosity calculates the interreflections of diffuse light among all the surfaces in a scene. To make this calculation, radiosity takes into account the lighting, materials, and environment settings in the scene. Radiosity processing is distinct from the rendering process. You can render without radiosity. However, to render with radiosity, you must calculate radiosity first. Once a radiosity solution for a scene exists, you can use it in multiple renderings, including multiple frames of an animation. If the scene contains moving objects, radiosity might need to be recalculated; see Animation with Radiosity on page 7085. For an overview of radiosity and how radiosity works in 3ds Max, see Radiosity Solution on page 7068. For suggestions regarding workflow for using radiosity, see Radiosity Workflows on page 7080. NOTE Radiosity is a method for global illumination. IMPORTANT If the dimensions of your scene are not realistic, then radiosity cannot show realistic lighting. See also: ■ Modeling Global Illumination with Radiosity on page 7068 ■ How Radiosity Works in 3ds Max on page 7078 ■ Radiosity Workflows on page 7080 ■ Animation with Radiosity on page 7085 ■ Lighting Analysis on page 7118 ■ Radiosity Preferences on page 8948 Default Scanline Renderer | 7087 ■ Advanced Lighting Override Material on page 6588 Procedures To set units correctly: Follow these steps if your scene does not already use real-world units. 1 Right-click the (3D Snap Toggle) and on the Snaps panel, turn off all the settings. Then turn on Vertex to enable vertex snapping. Close the dialog. 2 Use Tools ➤ Measure Distance to measure some object in the scene for which you know the size; for example, a door or window. The distance displays in the Coordinate Display of the status bar. 3 Choose Customize ➤ Units Setup and adjust the Scene Unit Scale. For example, if your object measures 35 scene units long, and your model uses US Standard measurement, then you would enter 1 for the scale, and choose Inches from the drop-down list. This would give you an object 35 inches long. If your object measures 90 scene units long, and your model uses Metric measurement, then you would enter 1 for the scale, and select Centimeters from the drop-down list. This would give you an object 90 centimeters long. Example: To process radiosity with photometric lighting: 1 Use a scene that has geometry set to the correct scale. For more information, see To set units correctly on page 7088. For example, if the ceiling is 96 scene units high in the model, make sure the units are set to US Standard (inches) and not Metric. 2 On the Create panel, click (Lights). 3 Choose Create ➤ Photometric Lights ➤ Target Point Light. 4 Choose Photometric from the drop-down list. (The default is Standard.) 5 In the Object Type rollout, click Target Point. 7088 | Chapter 18 Rendering 6 Drag in a viewport. The initial point of the drag is the location of the light, and the point where you release the mouse is the location of the target. The light is now part of the scene. 7 Set the creation parameters. TIP You can use the of the light or its target. (Select And Move) transform to adjust the location 8 On the Modify panel, adjust the light's settings. 9 To preview the lighting, click Render. Make any changes you need to adjust the rendering. 10 Choose Rendering menu ➤ Environment to open the Environment panel on page 7621 of the Environment And Effects dialog. 11 On the Exposure Control rollout of the Environment panel, choose Logarithmic Exposure Control from the drop-down list. Click Render Preview. The thumbnail preview shows the effect of exposure control. 12 On the Logarithmic Exposure Control rollout on page 7673, adjust the settings until the scene lighting is acceptable. For example, a brightness of 65 and a contrast of 50 can be good values for interior scenes. The thumbnail preview updates as you adjust settings. 13 Choose Rendering ➤ Advanced Lighting ➤ Radiosity to display the Advanced Lighting panel with Radiosity chosen as the advanced lighting type. The rollouts for radiosity are displayed. 14 Choose Rendering ➤ Radiosity to display the Radiosity panel. 15 On the Radiosity Processing Parameters rollout on page 7093, click Start to begin processing radiosity. 16 To render the scene after radiosity processing completes, click Render. Default Scanline Renderer | 7089 Example: To process radiosity with standard lighting: Photometric lights are recommended for use with radiosity. But if you are working on a scene that already contains standard lights, you can follow these guidelines. 1 Create or load a scene containing the appropriate geometry for lighting. There is no need to adjust any scale factors. 2 On the Create panel, click (Lights). Choose Standard as the light type. 3 In the Object Type rollout, click a light type such as Target Spot. 4 Drag in a viewport. The initial point of the drag is the location of the spotlight, and the point where you release the mouse is the location of the target. The light is now part of the scene. 5 Set the creation parameters for the light. 6 To preview the lighting, click (Render Production). Make any changes you need to adjust the rendering. 7 Choose Rendering ➤ Advanced Lighting to display the Advanced Lighting panel. On the Select Advanced Lighting rollout, choose Radiosity as the advanced lighting type. The rollouts for radiosity are displayed. 8 Choose Rendering ➤ Advanced Lighting ➤ Radiosity to display the Advanced Lighting panel with Radiosity chosen as the advanced lighting type. The rollouts for radiosity are displayed. 9 On the Radiosity Processing rollout, under Interactive Tools, click Setup to display the Environment panel on page 7621 where you set exposure controls. NOTE The exposure controls allow you to control only the intensity of the indirect lighting. 3ds Max retains the original intensity and effect for the direct lighting. 7090 | Chapter 18 Rendering 10 On the Exposure Control rollout of the Environment panel on page 7621, choose Logarithmic Exposure Control from the drop-down list. 11 On the Logarithmic Exposure Control rollout on page 7673, turn on Affect Indirect Only. 12 On the same rollout, use the Physical Scale setting to assign the standard light a photometric value in candelas. 13 Render the scene again after radiosity processing. Interface Radiosity controls appear as rollouts on the Advanced Lighting panel of the Render Setup dialog. To choose radiosity, use the Select Advanced Lighting rollout on page 7054. Default Scanline Renderer | 7091 7092 | Chapter 18 Rendering Radiosity Processing Parameters Rollout Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Choose Default Scanline Renderer as the active production renderer. ➤ Advanced Lighting panel ➤ Select Advanced Lighting rollout ➤ Choose Radiosity from the drop-down list. ➤ Radiosity Processing Parameters rollout Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Choose Default Scanline Renderer as the active production renderer. ➤ Advanced Lighting panel ➤ Select Advanced Lighting rollout ➤ Choose Radiosity from the drop-down list. ➤ Radiosity Processing Parameters rollout Contains the main controls for processing a radiosity solution. Interface Default Scanline Renderer | 7093 Reset All When you click Start, a copy of the 3ds Max scene is loaded into the radiosity engine. Clicking Reset All clears all the geometry from the engine. Reset Clears the light levels from the radiosity engine, but doesn’t clear the geometry. Start Starts the radiosity processing. Once the radiosity solution has reached the percentage amount specified by Initial Quality, this button changes to Continue. If you click Stop before reaching the full Initial Quality percentage, then clicking Continue causes radiosity processing to resume, until the full percentage is reached, or you click Stop once more. You can click Stop and then Continue more than once. In addition, you can calculate radiosity up to an Initial Quality less than 100 percent, then later increase the value of Initial Quality, click Continue, and resume solving radiosity. In either case, Continue saves time by avoiding regenerating the radiosity solution from scratch. Once the full Initial Quality percentage has been reached, clicking Continue has no effect. Stop Stops the radiosity processing. The Start menu changes to Continue. You can later click Continue to resume radiosity processing, as described for the Start menu. Keyboard shortcut: Esc Process group The options in this group set the behavior of the first two stages of the radiosity solution, Initial Quality and Refine. Initial Quality Sets the quality percentage at which to stop the Initial Quality stage, up to 100%. For example, if you specify 80%, you will get a radiosity solution that is 80% accurate in energy distribution. A goal of 80 to 85% is usually sufficient for good results. During the Initial Quality stage, the radiosity engine bounces rays around the scene and distributes energy on surfaces. Between each iteration, the engine measures the amount of variance (noise between surfaces) that was computed. Most of the brightness of the scene is distributed in the early iterations. The contribution to the scene’s average brightness decreases logarithmically between iterations. After the first few iterations, the brightness of the scene does not increase much, but subsequent iterations reduce the variance in the scene. 7094 | Chapter 18 Rendering NOTE The “quality” refers to the accuracy of energy distribution, not to the visual quality of the solution. Even at a high Initial Quality percentage, the scene can still show considerable variance. This variance is resolved by the subsequent stages of the solution. Increasing the percentage value of Initial Quality. Increasing quality does not greatly increase the average brightness of the scene, but it decreases the variance between different surfaces in the scene, such as the faces of the sphere. Refine Iterations (All Objects) Sets the number of Refine iterations to perform for the scene as a whole. The Refine Iterations stage increases the quality of the radiosity processing on all objects in the scene. Gathers energy from each face in order to reduce the variance between faces using a different process from the Initial Quality stage. This stage does not increase the brightness of the scene, but it improves the visual quality of the solution and significantly reduces variance between surfaces. If you don’t reach an acceptable result after processing a certain number of Refine iterations, you can increase the number and continue processing. Default Scanline Renderer | 7095 TIP If you plan to use Regathering at render time, you generally don’t need to perform the Refine stage to get good-quality final renderings. NOTE After 3ds Max processes Refine Iterations, Initial Quality is disabled and you can’t change it until you click Reset or Reset All. Large image with no iterations has areas of uneven illumination. Inset images: After a number of iterations, the uneven areas have been corrected. Refine Iterations (Selected Objects) Sets the number of Refine iterations to perform for selected objects, using the same method as Refine Iterations (All Objects). Make an object selection and then set the number of iterations you require. Refining selected objects rather than the entire scene can save a lot of processing time. Typically, this option is useful for objects that have a lot 7096 | Chapter 18 Rendering of small surfaces and show a lot of variance, such as railings or chairs or highly subdivided walls. NOTE After 3ds Max processes Refine Iterations, Initial Quality is disabled and you can’t change it until you click Reset or Reset All. Process Refine Iterations Stored in Objects Each object has a radiosity property called Refine Iterations. Each time you refine an object selection, the number of steps stored with these objects is incremented. When you reset the radiosity solution and then start it again, the steps for each objects are refined automatically, provided this toggle is turned on. This is useful when you are creating animations, when the radiosity needs to be processed at every frame, and the same level of quality between frames has to be maintained. Update Data When Required on Start When on, the radiosity engine must be reset and then recalculated if the solution is invalidated. In this case, the Start menu changes to read Update & Start. When this is pressed, the radiosity solution is reset and the calculation starts over again. When this toggle is off, the radiosity solution does not need to be reset if it is invalidated. You can continue processing your scene with the invalid solution. NOTE The radiosity solution is invalidated any time an object or light is added, removed, moved, or altered in any way. Interactive Tools group The options in this group help you adjust the display of the radiosity solution in the viewport and in the rendered output. These controls take effect immediately on an existing radiosity solution and do not require any additional processing for you to see their effects. Indirect Light Filtering Reduces the amount of noise between surface elements by averaging the indirect lighting levels with the surrounding elements. A value of 3 or 4 is usually sufficient. If you use too high a value, you risk losing detail in the scene. Because Indirect Light Filtering is interactive, you can readily evaluate the result and adjust it as you need. Direct Light Filtering Reduces the amount of noise between surface elements by averaging the direct lighting levels with the surrounding elements. A value of 3 or 4 is usually sufficient. If you use too high a value, you risk losing detail in the scene. Direct Light Filtering is interactive, so you can readily evaluate the result and adjust it as you need. Default Scanline Renderer | 7097 NOTE Direct Light Filtering works only when you use Shoot Direct Lights on page 7103. If you're not using Shoot Direct Lights, everything is considered indirect lighting. For a 65% quality solution, increasing the Indirect Light Filtering value from 0 to 3 creates a smoother diffuse light. The results are comparable to a much higher-quality solution. No Exposure Control Selected Displays the name of the current exposure control. (When you change the exposure control by choosing Rendering menu ➤ Environment, the name display in the Radiosity dialog updates automatically.) ■ SetupClick to display the Environment panel on page 7621, where you access the Exposure Control rollout; there, you can choose the exposure control and set its parameters. Display Radiosity in Viewport Toggles the display in the viewports between radiosity and standard 3ds Max shading. You might want to do turn off radiosity shading to increase display performance. 7098 | Chapter 18 Rendering Radiosity Meshing Parameters Rollout Render Setup dialog on page 6956 ➤ Choose Default Scanline Renderer as the active production renderer. ➤ Advanced Lighting panel ➤ Select Advanced Lighting rollout ➤ Choose Radiosity from the drop-down list. ➤ Radiosity Meshing Parameters rollout Controls the creation of a radiosity mesh and its size in world units. In order to create the lighting of a scene, 3ds Max calculates the intensity for discrete points in the environment by subdividing the original surfaces into elements which are part of a radiosity mesh. This rollout allows you to determine whether you want a mesh or not, and to specify the size of the mesh elements in world units. For quick tests, you might want to turn off the mesh globally. The scene will look flat, but the solution will still give you a quick impression of the overall brightness. The finer the mesh resolution is, the more accurate the lighting detail will be. But there is a trade-off in time and memory. Meshing (shown in light red) subdivides flat surfaces in the scene. Default Scanline Renderer | 7099 Left: No mesh. The solution looks very flat. Middle: Coarse mesh, every 24 inches. The lighting improves. Right: Fine mesh, every 4 inches. The lighting reveals more subtle effects. NOTE A tight meshing is not necessary when you use the regathering feature on the Rendering Parameters rollout on page 7107. 7100 | Chapter 18 Rendering Interface NOTE You can override the subdivision settings in this group with the Advanced Lighting panel on page 232 of the Object Properties dialog. This allows you to have a different mesh resolution on some objects. For example, you might want to have a finer mesh on an important wall surface that you know will have a lot of detail. To display the Object Properties dialog, right-click a selected object and choose Properties from the quad menu. Global Subdivision Settings group Enabled Turns on the radiosity mesh for the entire scene. Turn off the mesh when you want to perform quick tests. ■ Use Adaptive SubdivisionTurns adaptive subdivision on and off. Default=on. NOTE The Mesh Settings group parameters Minimum Mesh Size, Contrast Threshold, and Initial Meshing Size are available only when Use Adaptive Subdivision is on. Default Scanline Renderer | 7101 Left: A simple box with no subdivision Middle Left: The box faces are subdivided Middle Right: The box faces are subdivided with a smaller Meshing Size Right: The box faces are subdivided with Adaptive Subdivision Mesh Settings group Adaptive Subdivision using the default mesh and light settings 7102 | Chapter 18 Rendering Max Mesh Size The size of the largest faces after adaptive subdivision. Default=36” for imperial units and 100cm for metric units. When Use Adaptive Subdivision is turned off, Max Mesh Size sets the size of the radiosity mesh in world units. Min Mesh Size Faces are not divided smaller than the minimum mesh size. Default=3” for imperial units and 10cm for metric units. Contrast Threshold Faces that have vertex illuminations that differ by more than the Contrast Threshold settings are subdivided. Default=75.0. Radiosity solutions with different Contrast Threshold values. The best solution is at the center, with Contrast Threshold=60. Initial Meshing Size When improving the face shape, faces that are smaller than the Initial Meshing Size are not subdivided. The threshold for deciding whether a face is poorly shaped also gets larger as the face size is closer to the Initial Mesh Size. Default=12 inches (1 foot) for US Standard units and 30.5cm for metric units. Light Settings group Shoot Direct Lights When adaptive subdivision or shoot direct lights is on, the direct lighting on all of the objects in the scene is calculated analytically, based on the following switches. Lighting is analytically computed without modifying the object's mesh which produces lighting that is less noisy and more pleasing to the eye. This switch is implicitly enabled when using adaptive subdivision since it is a requirement. Default=on. This switch is available when the Use Adaptive Subdivision switch is turned off. Default Scanline Renderer | 7103 Adaptive Subdivision with light settings turned off NOTE Lighting from lights that are not included while shooting direct light are calculated using random sampling. These lights also are not able to affect the adaptive subdivision of objects. Include Point Lights in Subdivision Controls whether point lights are used when shooting direct lights. If this switch is off, then point lights are not included in illumination calculated directly at vertices. Default=on. Include Linear Lights in Subdivision Controls whether linear lights are used when shooting direct lights. If this switch is off, then linear lights are not used in calculating the illumination at vertices. Default=on. Include Area Lights in Subdivision Controls whether area lights are used when shooting direct lights. If this switch is off, then area lights are not used in illumination calculated directly at vertices. Default=on. Include Skylight When turned on, skylight is used when shooting direct lights. If this switch is turned off, then skylight is not used in illumination calculated at vertices directly. Default=off. Include Self-Emitting Faces in Subdivision This switch controls how self-emitting faces are used when shooting direct lights. If this switch is turned 7104 | Chapter 18 Rendering off, then self-emitting faces are not used in illumination calculated at vertices directly. Default=off. ■ Minimum Self-Emitting Size This is the minimum size that a self-emitting face will be subdivided when calculating its illumination. Minimum size is used rather than the number of samples to allow larger faces to be sampled more than smaller ones. Default=6.0. This setting is unavailable unless Include Self-Emitting Faces In Subdivision is on. Light Painting Rollout (Radiosity) Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Choose Default Scanline Renderer as the active production renderer. ➤ Advanced Lighting panel ➤ Select Advanced Lighting rollout ➤ Choose Radiosity from the drop-down list. ➤ Light Painting rollout Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Choose Default Scanline Renderer as the active production renderer. ➤ Advanced Lighting panel ➤ Select Advanced Lighting rollout ➤ Choose Radiosity from the drop-down list. ➤ Light Painting rollout The light painting tools in this rollout allow you to touch up shadowed and illuminated areas manually. You can use these tools to touch up shadow and light-leak artifacts without having to do additional remodeling or radiosity processing. Using Pick Illumination, Add Illumination, and Remove Illumination, you can add or remove illumination on one selection set at a time. To use the light painting tools, you first select objects, and then choose a light painting tool: Pick Illumination, Add Illumination, or Remove Illumination. 3ds Max highlights the active button, and when the cursor is over a selected object, it changes to a crayon icon for the Add and Remove Illumination tools, or to an eyedropper icon for Pick Illumination. You can pick, add, or remove illumination through objects. For example, if you select the floor as an object, you can work under the bookshelf, by working through it. Once in light painting mode, you can’t select another object unless you cancel the operation. Default Scanline Renderer | 7105 Interface Intensity Specifies the intensity of the illumination in lux or candelas depending on the units you have selected in the Customize ➤ Units Setup dialog on page 8955. Pressure Specifies the percentage of the sampled energy to be used when you add or remove illumination. Add Illumination Adds illumination starting at the vertex of a selected object. 3ds Max adds illumination based on the amount in the Pressure spinner. The pressure amount corresponds to a percentage of the sampled energy. For example, if a wall has about 2,000 lux on it, Add Illumination adds 200 lux to the surface of the selected object. Remove Illumination Removes illumination starting at the vertex of a selected object. 3ds Max removes illumination based on the amount in the Pressure spinner. The pressure amount corresponds to a percentage of the sampled energy. For example, if a wall has about 2,000 lux on it, Remove Illumination removes 200 lux from the surface of the selected object. Pick Illumination Samples the amount of illumination from a surface that you select. To save you from inadvertently making bright or dark spots, Pick Illumination uses an amount of illumination relative to the surface illumination you sample. Click the button, and move the eyedropper cursor over the surface. When you click a surface, the amount of illumination in lux or candelas is reflected in the Intensity spinner. For example, if you used Pick Illumination over a wall that has 6 lux of energy, then 0.6 lux displays in the Intensity spinner. The amount of illumination 3ds Max adds or removes on the surface will be this value multiplied by the Pressure value. Clear Clears all the changes you made. Processing additional radiosity iterations or changing the filtering amount will also discard any changes to the solution you made with the light painting tool. 7106 | Chapter 18 Rendering Using light painting to add or remove light in a radiosity solution. Rendering Parameters Rollout (Radiosity) Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Choose Default Scanline Renderer as the active production renderer. ➤ Advanced Lighting panel ➤ Select Advanced Lighting rollout ➤ Choose Radiosity from the drop-down list. ➤ Rendering Parameters rollout Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Choose Default Scanline Renderer as the active production renderer. ➤ Advanced Lighting panel ➤ Select Advanced Lighting rollout ➤ Choose Radiosity from the drop-down list. ➤ Rendering Parameters rollout Provides parameters for controlling how to render the radiosity-processed scene. By default, when you render, 3ds Max first recalculates the shadows from light objects, and then adds the result of the radiosity mesh as ambient light. Default Scanline Renderer | 7107 The first two options on the rollout control how the renderer treats direct illumination. Re-Use Direct Illumination From Radiosity Solution provides a quick render that displays colors from the radiosity mesh. Render Direct Illumination uses the scanline renderer to provide direct illumination and shadows. This second option is usually slower but more accurate. With Render Direct Illumination, the radiosity solution provides only the indirect lighting. When you choose the Render Direct Illumination method, you can turn on regathering to correct artifacts and shadow leaks. Regathering provides the slowest but the best-quality rendering. NOTE Regathering is extremely intensive for your CPU and uses a lot of RAM, so it might not be practical for print-resolution images (for example, 4000 x 4000 pixels). Interface Re-Use Direct Illumination from Radiosity Solution 3ds Max doesn’t render direct lights, but uses the direct lighting stored in the radiosity solution. If 7108 | Chapter 18 Rendering you turn on this option, the Regather Indirect Illumination option is disabled. The quality of shadows in the scene depends on the mesh resolution. Capturing fine shadow details might require a fine mesh, but in some situations this option can speed up overall rendering time, especially for animations, because the lights don’t have to be recalculated by the scanline renderer. If you are using the Assign Vertex Colors utility on page 6927, turn this option on. Left: Direct light only is stored in the radiosity mesh. Middle: Indirect light only is stored in the radiosity mesh. Right: Direct and indirect light both stored in the radiosity mesh (the shadows are usually very coarse). WARNING If you choose this option but haven't generated a radiosity solution, rendering generates a completely black image. Render Direct Illumination 3ds Max renders shadows from the lights at each rendering frame, and then adds indirect light from the radiosity solution. This is the default rendering mode. Left: Direct light calculated only by the scanline renderer. Middle: Indirect light calculated only by the radiosity mesh. Default Scanline Renderer | 7109 Right: Direct and indirect light combined. Regather Indirect Illumination In addition to recalculating all the direct lighting, 3ds Max recalculates the indirect lighting at each pixel by regathering illumination data from the existing radiosity solution. Using this option can produce the most accurate, artifact-free images, but it can add a considerable amount of rendering time. NOTE If you know that you want to use the regathering option, then typically you don’t need as dense a mesh for the radiosity solution. Even if you don’t subdivide the surfaces at all and do an Initial Quality of 0%, the regathering will work, and might provide an acceptable visual result (useful for quick tests as well). However, accuracy and subtle details depend on the quality of the radiosity solution stored in the mesh. The radiosity mesh is the foundation for the regathering process. In the following illustrations, solutions were processed with an Initial Quality of 0%. There is a high variance between small surfaces when a dense mesh is used. Regathering gives acceptable results regardless of mesh density. But more subtle details appear with a denser mesh; for example, at the base of the sculpture. No mesh Left: Model subdivision Middle: Viewport result Right: Result of regathering 7110 | Chapter 18 Rendering Coarse mesh Left: Model subdivision Middle: Viewport result Right: Result of regathering Fine mesh Left: Model subdivision Middle: Viewport result Right: Result of regathering Rays per Sample The number of rays 3ds Max casts for each sample. 3ds Max casts these rays randomly in all directions to calculate (“regather”) the indirect illumination from the scene. The more rays per sample, the more precise the sample will be. Fewer rays per sample produce more variance, creating a more grainy effect. Processing speed and precision are affected by this value. Default=64. Filter Radius (pixels) Averages each sample with its neighbors in order to reduce the noisy effect. Default=2.5 pixels. Default Scanline Renderer | 7111 NOTE Pixel radius varies according to the output resolution. For example, a 2.5 radius is OK for NTSC resolution, but it might be very large for smaller images, or too precise for very large images. Pixel radius of 2 Left: 10 rays per sample Middle: 50 rays per sample Right: 150 rays per sample Pixel radius of 5 Left: 10 rays per sample Middle: 50 rays per sample Right: 150 rays per sample 7112 | Chapter 18 Rendering Pixel radius of 10 Left: 10 rays per sample Middle: 50 rays per sample Right: 150 rays per sample Increasing the number of rays per sample can greatly increase rendering time. The images on the right can take nearly six times as long to render as the images on the left. Increasing the filter radius also increases render time, but not as dramatically. Clamp Values (cd/m^2) This control is expressed as a luminance value. Luminance (candelas per meter squared) represents how brightly you perceive a material. Clamp Value sets an upper limit on the luminance that will be considered in the Regathering stage. Use it to avoid the appearance of bright spots. Default Scanline Renderer | 7113 Bright polygons in the scene can create a “sparkle” effect of bright spots. These bright spots are artifacts not of the number of samples cast, but rather of the presence of bright polygons in your scene. During the Initial Quality stage, this bright energy gets bounced in random directions, leading to a “sparkle” effect. Typically you can detect these polygons before regathering. During the final Regathering stage, bright spots can be avoided by setting Clamp Values somewhat below the luminance of these bright surfaces and spots. 7114 | Chapter 18 Rendering Bright spots have been reduced by clamping. TIP You can query the luminance of these surfaces by using the Lighting Analysis tool on page 7118. TIP Use Render Region on page 6992 to render just the area of the bright spots to find rapidly the right clamp value to use. Be careful with this control: Clamp Values let you clamp any intensity, and the rendering might become darker than it should be because you have clamped indirect illumination that is to be expected, thus dimming the effect of the radiosity solution. Default Scanline Renderer | 7115 Adaptive Sampling group These controls can help you shorten rendering times. They reduce the number of light samples taken. The ideal settings for adaptive sampling vary greatly from scene to scene. Adaptive sampling initially takes samples from a grid superimposed on the pixels of the scene. Where there is enough contrast between samples, it subdivides that region and takes further samples, down to the minimum area specified by Subdivide Down To. Lighting for areas not directly sampled is interpolated. TIP If you use adaptive sampling, try adjusting the Subdivision Contrast value to obtain the best results. Adaptive Sampling When on, the radiosity solution uses adaptive sampling. When off, it does not. Turning off adaptive sampling can increase the detail of the final rendering, but at a cost of rendering time. Default=off. Initial Sample Spacing The grid spacing for initial samples of the image. This is measured in pixels. Default=16x16. Subdivision Contrast The contrast threshold that determines when a region should be further subdivided. Increasing this value causes less subdividing to occur. Reducing this value can cause unnecessary subdivide. Default=5.0. Subdivide Down To The minimum spacing for a subdivision. Increasing this value can improve render time at a cost of accuracy. Default=2x2. Depending on the scene geometry, grids larger than 1x1 might still be subdivided below this specified threshold. Show Samples When on, sample locations render as red dots. This shows where the most sampling has taken place, which can help you choose the optimal settings for adaptive sampling. Default=off. Statistics Rollout (Radiosity) Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Choose Default Scanline Renderer as the active production renderer. ➤ Advanced Lighting panel ➤ Select Advanced Lighting rollout ➤ Choose Radiosity from the drop-down list. ➤ Statistics rollout 7116 | Chapter 18 Rendering Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Choose Default Scanline Renderer as the active production renderer. ➤ Advanced Lighting panel ➤ Select Advanced Lighting rollout ➤ Choose Radiosity from the drop-down list. ➤ Statistics rollout This rollout lists information about the radiosity processing. Interface Radiosity process group Lists the current level of quality and number of refine iterations in the radiosity process. Solution Quality The current level of quality in the radiosity process. Refine Iterations The number of refine iterations in the radiosity process. Elapsed Time The time spent processing the solution since the last reset. Scene Information group Lists information on the radiosity processing of the scene. Geometric Objects Lists the number of objects processed. Light Object Lists the number of light objects processed. NOTE Self-illuminated objects count as one light per face. Meshing Size Lists the size of radiosity mesh elements in world units. Default Scanline Renderer | 7117 NOTE Transparent, 2–sided, and translucent objects' faces are counted twice. Mesh Elements Lists the number of elements in the mesh processed. Lighting Analysis Select an object that has radiosity solution information. ➤ Rendering menu ➤ Advanced Lighting ➤ Lighting Analysis To query light levels, analyze the data, and produce reports, use the Lighting Analysis dialog. This dialog provides rendering data on material reflectance, transmittance, and luminance. For example, a lighting engineer might need to know if light fixtures in a scene provide an even level of illumination on the walls of a building. The engineer uses the Lighting Analysis dialog after placing the lights in the ceiling and processing radiosity. The engineer inspects the light levels and material reflectance in the scene and then adjusts the brightness of lights, changes units, or reduces material reflectance. To use the Lighting Analysis tools, a radiosity solution must be calculated and displayed in the scene. For better feedback, use it in conjunction with the Pseudo Color Exposure Control on page 7686. This tool maps luminances or illuminances to pseudo colors that show the brightness of the values 3ds Max converts. TIP You can also export LogLUV TIFF files on page 8461 or PIC files on page 8442 for analysis by other software; do this by using the Lighting Data Exporter utility on page 7692. See also: ■ Modeling Global Illumination with Radiosity on page 7068 ■ Radiosity Workflows on page 7080 ■ Radiosity Controls on page 7087 ■ Radiosity Preferences on page 8948 ■ Lighting Data Exporter Utility on page 7692 7118 | Chapter 18 Rendering Interface Statistics group Displays the radiosity solution lighting statistics for the object you select. Quantity Indicates the desired photometric value: ■ LuminanceThe amount of energy leaving a surface. ■ IlluminanceThe amount of energy arriving at a surface. Point The luminance or illuminance at the point on the object where you clicked. Point Reflectance The reflectance of the surface material at the point on the object where you clicked. Point Transmittance The transmittance of the surface material at the point on the object where you clicked. Object Avg The amount of light intensity for the object as a whole. Object Min The object’s minimum luminance or illuminance value. Object Max The object’s maximum luminance or illuminance value. Scene Max The scene’s highest luminance or illuminance value. Selection Information group Object Name The name of the selected object. Default Scanline Renderer | 7119 Object Area The area size of the selected object. Point Location The X,Y,Z coordinate of the point on an object you clicked. Raytracer Panel The topic in this section describes the Raytracer Global Parameters rollout, which has global settings for raytraced materials, maps, and shadows. Raytracer Global Parameters Rollout Rendering menu ➤ Raytracer Settings Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Choose Default Scanline Renderer as the active production renderer. ➤ Raytracer panel ➤ Raytracer Global Parameters rollout Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Choose Default Scanline Renderer as the active production renderer. ➤ Raytracer panel ➤ Raytracer Global Parameters rollout These parameters control the raytracer globally. That is, they affect all Raytrace materials and Raytrace maps in your scene. They also affect the generation of Advanced Ray-traced shadows on page 9279 and Area shadows on page 9095. NOTE These controls adjust ray-trace settings for the scanline renderer only. The settings of these controls have no impact on the mental ray renderer, which has its own ray-tracing controls. 7120 | Chapter 18 Rendering Interface Ray Depth Control group Ray depth, also known as recursion depth, controls how many times the renderer allows a ray to bounce before it is considered lost or trapped. Default Scanline Renderer | 7121 Upper left: Ray depth is zero Upper right: Ray depth of 2 Lower middle: Extremely high ray depth Maximum Depth Sets the maximum recursion depth. Increasing this value potentially increases the realism of your rendered scene, at a cost of rendering time. You can reduce this value to reduce rendering time. Range=0 to 100. Default=9. Cutoff Threshold Sets a cutoff threshold for adaptive ray levels. If the contribution of any ray to the final pixel color drops below the cutoff threshold, the ray is terminated. Default: 0.05 (5% of the final pixel color). This can speed up your rendering time considerably. Color to use at Max Depth As a rule, when a ray reaches the maximum depth, it is rendered the same color as the background environment. You can override the color returned at maximum depth by either selecting a color, or setting an alternative environment map. This can make the "lost" ray invisible in the scene. 7122 | Chapter 18 Rendering TIP If you are having trouble with getting complex objects to render, especially glass, specify the maximum recursion color to something obvious, like magenta, and your background color to something that contrasts, like cyan. The chances are that a lot of your rays are getting lost in either maximum recursion or just being shot off into the world, totally missing anything you think they should strike. Try rendering the scene again. If this is the problem, try reducing the Maximum Depth value. ■ SpecifySpecifies what color the raytracer returns when the ray is considered lost or trapped. Click the color swatch to change this color. ■ Background(The default.) Returns the background color when the ray is considered lost or trapped. For Raytrace material, the background color is the global environment background or the environment specified locally for the material. For Raytrace map, the background color is either the global environment background, or is set locally in the Raytracer Parameters rollout on page 6786. Global Ray Antialiaser group Controls in this group let you set global antialiasing for raytraced maps and materials. Default Scanline Renderer | 7123 Above: No antialiasing Below: Antialiasing of reflections TIP Turning on Supersample for a Raytraced material (in the Raytrace Basic Parameters rollout on page 6488) usually provides adequate antialiasing. Use one of the raytrace antialiasers (Fast Adaptive or Multiresolution Adaptive) when you want to blur reflections or refractions. On When on, uses antialiasing. Default=off. Drop-down list Chooses which antialiasing settings to use. There are two options: ■ Fast Adaptive AntialiaserUses the Fast Adaptive antialiaser, regardless of the global setting. Click ... to open the Fast Adaptive Antialiaser dialog on page 6518. ■ Multiresolution Adaptive AntialiaserUses the Multiresolution Adaptive antialiaser, regardless of the global setting. Click ... to open the Multiresolution Adaptive Antialiaser dialog on page 6520. 7124 | Chapter 18 Rendering Global Raytrace Engine Options group These options are comparable to the local options on Extended Parameters rollout on page 6497 and the Raytracer Controls rollout on page 6502. Their setting affects all Raytrace materials and Raytrace maps in the scene, unless you set local overrides. Enable Raytracing Turns the raytracer on or off. Default=on. Even with raytracing off, Raytrace material and Raytrace map still reflect and refract the environment, including both the environment map for the scene, and the environment map assigned to the Raytrace material. Raytrace Atmospherics Turns the raytracing of atmospheric effects on or off. Atmospheric effects include fire, fog, volume light, and so on. Default=on. Enable Self Reflect/Refract Turns self reflection/refraction on or off. Default=on. Can an object reflect itself? For example, a teapot's body reflects the teapot's handle, but a sphere will never reflect itself. If you don't need this effect, you can improve render time by turning off this toggle. TIP If you have a transparent object such as glass, and Enable Self Reflect/Refract is on, you don't have to make the object 2-sided on page 9079. The raytracer sees back faces when exiting refractive objects. Reflect/Refract Material IDs When on, the material reflects effects assigned to material IDs in the renderer's G-buffer on page 9173 on or off. Default=on. By default, Raytrace material and Raytrace map reflect effects assigned to a material's ID, so that G-buffer effects are not lost. For example, if a raytraced object reflects a lamp made to glow with the Video Post Glow filter (Lens Effects Glow), the reflection glows as well. Render objects inside raytraced objects Toggles the rendering of objects inside raytraced objects. Default=on. Render atmospherics inside raytraced objects Toggles the rendering of atmospheric effects inside raytraced objects. Atmospheric effects include fire, fog, volume light, and so on. Default=on. Enable Color Density / Fog Effects Toggles the color density and fog features. Acceleration Controls Opens the Raytracing Acceleration Parameters dialog on page 6514. Exclude Opens the Raytrace Exclude/Include dialog on page 6515, which lets you exclude objects from ray-tracing. Default Scanline Renderer | 7125 _____ Show Progress Dialog When on, rendering displays a window with progress bars titled Raytrace Engine Setup. Default=on. Show Messages When on, displays a window, Raytrace Messages, that shows status and progress messages from the raytrace engine. Default=off. Using Multi-Pass Rendering Effects Create panel ➤ (Cameras) ➤ Target button or Free button ➤ Parameters rollout ➤ Multi-Pass Effect group Multi-pass rendering effects use multiple renderings of the same frame, with slight camera movement between each rendering. The multiple passes simulate the blurring that film in a camera would register under certain conditions. The included multi-pass effects are provided: ■ Depth of field on page 5951 (Default Scanline Renderer) 7126 | Chapter 18 Rendering Multi-pass depth of field Top: Focus is in the middle distance; near and far objects are blurred. Bottom left: Focus on near objects, far objects are blurred. Bottom right: Focus on far objects, near objects are blurred. ■ Motion blur on page 5955 (Default Scanline Renderer) Default Scanline Renderer | 7127 Above: Motion blur applied to wings of the flying dragon Below: Multiple passes appear in successive refreshes of the Rendered Frame Window. ■ Depth of Field (mental ray) on page 5950 See also: ■ Motion Blur with the mental ray Renderer on page 7147 ■ Depth of Field with the mental ray Renderer on page 7148 7128 | Chapter 18 Rendering mental ray Renderer ® ® The mental ray renderer from mental images is a general-purpose renderer that can generate physically correct simulations of lighting effects, including ray-traced reflections and refractions on page 7144, caustics on page 7154, and global illumination on page 7160. NOTE mental images and mental ray are registered trademarks, and photon map is a trademark of mental images GmbH & Co. KG, Berlin, Germany. Scene rendered with the default 3ds Max scanline renderer mental ray Renderer | 7129 Same scene rendered with the mental ray renderer The second rendering, done with the mental ray renderer, shows caustics cast by refraction through the martini glass. Caustics are also visible in the reflection on the cocktail shaker. The mental ray renderer in 3ds Max supports the mental ray version 2 (mi2) and version 3 (mi3) formats. It does not support the mental ray version 1 (mi1) format. Differences Between the mental ray Renderer and the Default Scanline Renderer Compared to the default 3ds Max scanline renderer, the mental ray renderer relieves you of the need to simulate complex lighting effects "by hand" or by generating a radiosity solution. The mental ray renderer is optimized to use multiple processors and to take advantage of incremental changes for efficient rendering of animations. Unlike the default 3ds Max renderer, which renders scanlines from the top of the image downward, the mental ray renderer renders rectangular blocks called buckets. The order in which the buckets are rendered can vary, depending on the method you choose. By default, mental ray uses the Hilbert method, which picks the next bucket to render based on the cost of switching to the next 7130 | Chapter 18 Rendering one. Because objects can be discarded from the memory to render other objects, it’s important to avoid having to reload the same object multiple times. This is especially important when you have enabled placeholder objects (see the Processing panel ➤ Translator Options rollout on page 7240). If you use distributed rendering to render a scene, it might be hard to understand the logic behind the rendering order. In this case, the order has been optimized to avoid sending lots of data over the network. Each CPU is assigned a bucket as the bucket becomes available, so different buckets can appear in the rendered image at different times. See the Renderer panel ➤ Sampling Quality rollout on page 7189. NOTE The mental ray renderer can also be run in a standalone fashion, using a command-line interface based on the mi2 or mi3 scene description format. This is described in the manual mental ray Programming, which is written for programmers writing custom shaders on page 9302. Procedures To use the mental ray renderer: 1 Choose Rendering menu ➤ Render Setup. The Render Setup dialog opens. 2 On the Common panel, open the Assign Renderer rollout, and then click the “...” button for the Production renderer. The Choose Renderer dialog opens. 3 On the Choose Renderer dialog, highlight mental ray Renderer and then click OK. TIP After you make the mental ray renderer the active production renderer, you can make the mental ray renderer the default renderer for all new scenes by clicking Save As Defaults. This is a convenient way to avoid extra setup time. Now the Render Setup dialog contains the mental ray controls. You can choose to render the scene with the built-in mental ray renderer, or simply to translate the scene and save it in an MI on page 9223 file that you can render later, perhaps on a different system. Controls for choosing whether to render, save to an MI file, or both, are on the Translator Options rollout on page 7240. mental ray Renderer | 7131 Rendering with the mental ray Renderer Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Common panel ➤ Assign Renderer rollout ➤ Choose mental ray Renderer as the Production renderer. Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Common panel ➤ Assign Renderer rollout ➤ Choose mental ray Renderer as the Production renderer. To use the mental ray translator and renderer, you must first choose mental ray as the production renderer, as described the "Procedures" section below. Once you have chosen mental ray rendering, the Render Setup dialog displays panels and rollouts that control the mental ray renderer. Common Parameters Rollout When you render with mental ray, controls on the Render Setup dialog ➤ Common panel ➤ Common Parameters rollout remain the same, and function just as they do with the default scanline renderer. Limitations The mental ray renderer does not support certain rendering features, as described here. ■ Output dithering options aren't supported (in Main menu ➤ Customize ➤ Preferences ➤ Preference Settings dialog ➤ Rendering panel ➤ Output Dithering group). ■ The mental ray renderer does not fully support G-buffer options in post processing and image file output. The mental ray renderer generates all required G-buffer channels, but does not include transparency information. If two transparent objects overlap each other, the mental ray render generates information only for the frontmost object. ■ When you use a bitmap as an environment (that is, as a background), the mental ray renderer samples and filters it. This can result in unwanted blurring. To prevent background blurring, render the scene against a solid-color background, and then composite the rendered scene with the background image. 7132 | Chapter 18 Rendering ■ Sometimes when you render objects that have no thickness, or an Extrude modifier with zero thickness, the mental ray renderer generates rendering artifacts that appear as streaks. In some cases, you can fix this by turning on Force 2-Sided on the Render Setup dialog's Common Parameters rollout. If the streaks persist, give the object or the Extrude modifier a nonzero thickness. See also: ■ Sampling Quality Rollout (mental ray Renderer) on page 7189 ■ Camera Effects Rollout (mental ray Renderer) on page 7201 ■ Caustics and Global Illumination Rollout (mental ray Renderer) on page 7224 ■ Final Gather Rollout (mental ray Renderer) on page 7213 ■ Shadows & Displacement Rollout (mental ray Renderer) on page 7209 ■ Rendering Algorithms Rollout (mental ray Renderer) on page 7195 ■ Translator Options Rollout (mental ray Renderer) on page 7240 ■ Distributed Bucket Rendering Rollout (mental ray Renderer) on page 7249 Procedures To use the mental ray renderer: 1 Choose Rendering menu ➤ Render Setup. 3ds Max opens the Render Setup dialog. 2 On the Common panel, open the Assign Renderer rollout, then click the “...” button for the Production renderer. 3ds Max opens the Choose Renderer dialog. 3 On the Choose Renderer dialog, highlight mental ray Renderer and then click OK. Now, when you render, the Render Setup dialog appears with the mental ray controls. You can choose to render the scene with the built-in mental ray renderer, or simply to translate the scene and save it in an MI on page 9223 file that you can render later, perhaps on a different system. Controls for choosing mental ray Renderer | 7133 whether to render, save to an MI file, or both, are on the Translator Options on page 7240 rollout. To make the mental ray Renderer the default renderer for new scenes: ■ After you make the mental ray renderer the active production renderer, click Save As Defaults on the Assign Renderer rollout. Getting Good Results with mental ray Rendering Although the mental ray renderer is relatively easy to use once you’ve set it up correctly, there are several "gotchas" that you might encounter immediately, especially if you’re primarily accustomed to the 3ds Max scanline renderer and its workflow. For example, see 3ds Max Materials in mental ray Renderings on page 7137. Following are some basic rules of thumb for using mental ray in 3ds Max: Using Lights with the mental ray Renderer When you set up a scene for rendering with the mental ray renderer, keep the following tips in mind: ■ The Overshoot parameter for lights doesn't work when you use mental ray to render shadow-mapped shadows. To use Overshoot, use ray-traced shadows. ■ Excluding an object from shadow casting doesn't work when you use mental ray to render shadow-mapped shadows. To exclude objects from shadow casting, use ray-traced shadows. (The Exclude button is on a light's General Parameters rollout.) ■ When you assign a map to object shadows in the light's Shadow Parameters rollout, the mental ray renderer does not recognize the toggle for the map (to the left of the Map button), and renders the map whether the toggle is on or off. To stop using the map, you must click the Map button and in the Material/Map Browser, assign NONE as the map type. ■ Using the default scanline renderer, you can set a light to have a value of zero, with a shadow color of white, and a shadow density of −1. With these settings, the light casts shadows but does not illuminate the scene. To get the same effect using the mental ray renderer, the light value must not be zero. Instead, set it to a value close to zero (for example, 0.001 or 0.001). ■ The mental ray renderer disregards the bias parameters in the Shadow Map Params rollout and the Ray Traced Shadow Params rollout. 7134 | Chapter 18 Rendering Ray Tracing The mental ray ray tracer is fast and provides excellent quality images, but it’s important to use it correctly. The mental ray renderer does not fully support cubic maps for Reflect/Refract maps on page 6796. It uses them if they have already been generated by the default scanline renderer, but it does not generate them. If Source ➤ From File is active and the mental ray renderer can find the six cubic maps, it uses them. If Source ➤ Automatic is active, or if the cubic maps cannot be found, the mental ray renderer generates ray-traced reflections or refractions instead. Ray Tracing Setup On the rendering menu, Ray Tracer Settings and Raytrace Global Include/Exclude are disabled while the mental ray renderer is active. These controls adjust ray-trace settings for the scanline renderer only. The settings of these controls have no impact on the mental ray renderer. The ray-tracing controls for mental ray appear on the Renderer panel ➤ Rendering Algorithms rollout on page 7195. TIP While the mental ray renderer ignores the global inclusion or exclusion settings for the ray tracer, you can enable or disable ray-tracing at the local level of a Raytrace material or map. Ray Tracing Rules of Thumb Say you’re rendering a (lathed) wineglass, with an inner and outer surface and a piece of geometry representing the wine. The wine geometry is just slightly smaller than the inner surfaces of the wineglass, and capped with a flat top. Now, you go to render the glass. After rendering the scene, however, there’s something wrong: the inner surfaces of the glass don’t seem reflective enough, and the wine isn’t refracting properly. What’s wrong? It’s possible that you have the number of reflections and refractions set too low for the number of surfaces you have. To check this, go to the Renderer panel ➤ Rendering Algorithms rollout on page 7195 and look at the Maximum Trace Depth settings. If you havent changed the parameters, then you should see Max. Reflections and Max. Refractions set to the default of 6, and Max. Depth set to 6. There’s the problem: you actually have six surfaces that need to be traced by the light rays for both reflections and refractions. The way to always calculate the number of rays needed for a scene is to take the ray-traced objects in your scene and draw an imaginary line through them, originating at the point of view. Then, count the number of surfaces the line intersects. mental ray Renderer | 7135 For the wineglass and wine, you need at least six reflections and refractions that correspond to the following surfaces: ■ Near outer glass surface (“near” relative to your Camera viewpoint) ■ Near inner glass surface ■ Near wine surface ■ Far wine surface ■ Far inner glass surface ■ Far outer glass surface Therefore, increase the value of Max. Depth to 12. Caustics and Global Illumination Before rendering with caustics, there are several things you need to set up in your scene: ■ For caustics to work properly, the generating object must use a material that contains some degree of shininess, reflectivity, or refraction. Assign a Raytrace or other map as either a Reflection map or Refraction map before you render caustics. ■ Most often, you’ll be using very shiny, highly reflective materials (such as chrome and other metals), or transparent or translucent materials (such as glass goblets or water), to generate caustics in your scene. If you’re using a glassy material, make sure it’s double-sided to create the proper results. ■ Make sure you have object properties on page 236 set to Receive Caustics or Generate Caustics (or both). To set up these properties, right-click an object and choose Properties. For example, if you’re rendering a wineglass on a tabletop, you probably want the wineglass both to generate and receive caustics (so that caustics are scattered within the glass itself), and the tabletop only to receive caustics (unless it’s chrome, say, instead of wood). ■ If the rendering of your scene is washed out by light, double-check the Multiplier settings: one in the Basic group of the Final Gather rollout on page 7213, and one each in the Caustics and Global Illumination (GI) groups of the Indirect Illumination panel ➤ Caustics And Global Illumination rollout on page 7224. These apply to all lights in the scene. Reducing the Multiplier values can eliminate washout. 7136 | Chapter 18 Rendering If a single light object is causing the problem, you can reduce the Energy multiplier's value in that light object's mental ray Indirect Illumination rollout on page 5821, available on the Modifier panel. ■ To improve the quality of caustics, go to the Caustics group on page 7226 of the Caustics And Global Illumination rollout on page 7224 and increase the Max Num. Photons Per Sample setting. ■ Be careful of the total number of photons you’re emitting: A very high number (100,000 and above) can dramatically increase your rendering time. Then again, for some simple scenes, you might actually be able to set these to 1,000,000 and still render in an acceptable amount of time. WARNING The number of photons specified for each light indicates the number of photons that need to be stored for each light, not the number of photons to be shot. This is an important distinction: If a light points in a direction where there is no surface, the mental ray renderer might shoot photons forever. In the Messages Window on page 7143, the mental ray renderer displays warnings that no photons are being stored. To avoid the slowdowns related to this issue, make sure that every light points in the direction of a surface (this is sometimes impossible to do with omni lights). Another way to avoid this problem is to add a big sphere around your entire model. ■ In general, use an exposure control. The mr Photographic Exposure Control on page 7677 works particularly well for adjusting overall exposure. Coincident Faces When it encounters coincident faces, the mental ray renderer can produce artifacts, because it can't decide which face is nearer the camera (neither is). To fix this, move or scale one of the objects so faces are no longer coincident. Backface Culling mental ray rendering correctly performs backface culling, and renders one-sided faces much as the scanline renderer does. 3ds Max Materials in mental ray Renderings For the most part, the mental ray renderer treats 3ds Max maps and materials the same way the default scanline renderer does. The exceptions are listed below. In general, if the mental ray renderer does not recognize a map or material, it renders it as opaque black. mental ray Renderer | 7137 WARNING The mental ray renderer does not necessarily support maps or materials provided as plug-ins from third-party vendors. It supports third-party maps and materials only if the vendor has explicitly used the mental ray SDK to add support for the mental ray format. Unless the third-party vendor clearly specifies mental ray support, you should assume the map or material is unsupported, and will render as black. See also: ■ mental ray Renderer on page 7129 ■ Getting Good Results with mental ray Rendering on page 7134 Issues for Reflections and Refractions The maps used to create reflections or refractions, Flat Mirror, Raytrace, Reflect/Refract, and Thin Wall Refraction, are supported by the mental ray renderer. However, the mental ray renderer simply uses these maps as indications to use its own ray-tracing method, leading to some restrictions on which parameters are supported, as described in the sections “Materials” and “Maps,” below. Map Blurring When reflections and refractions are ray traced, applying Blur (or Distortion, in Flat Mirror) does not apply to reflections or refractions of environment maps. In general, Blur and Distortion render differently than they do with the default scanline renderer, and you might have to experiment with parameter values to get a comparable rendering result. TIP If Blur effects are not rendering well with the mental ray renderer, try increasing the Maximum number of samples in the Renderer panel ➤ Sampling Quality Rollout on page 7189. Materials The mental ray renderer does not support these materials: ■ Advanced Lighting Override material ■ Morpher material 7138 | Chapter 18 Rendering Raytrace Material The mental ray renderer supports all Raytrace material settings except for the antialiasing parameters and the settings found under Rendering ➤ Raytracer Settings and Rendering ➤ Raytrace Global Include/Exclude. All these options are specific to the default scanline renderer. TIP While the mental ray renderer ignores the global inclusion or exclusion settings for the ray tracer, you can enable or disable ray-tracing at the local level of a Raytrace material or map. Maps ■ Bitmap The mental ray renderer can't use the Progressive JPEG (.jpg) format as a bitmap. Also, Summed Area filtering is not supported (in the Filtering group of the Bitmap Parameters rollout). PSD files are supported, but are translated into binary data, and because of this, consume a lot of memory and increase render time. To reduce the time involved, convert the PSD file to a format such as BMP. The same is true of TIFF files. In addition, there are certain TIFF subformats that the mental ray renderer does not support; specifically, LZW, CCIT (fax), or JPEG compression; non-RGB color models such as CMYK, CIE, or YCbCr; or multiple images in the same file (in this case, only the first image is used). The mental ray renderer does support bilevel (1-bit), grayscale (4or 8-bit), color map (4- or 8-bits), RGB(A) (8-, 16-, or 32-bit) TIF images, and TIF files with image strips. ■ Combustion map The mental ray renderer doesn't support this map. ■ Flat Mirror map Flat Mirror is supported by the mental ray renderer, except for the First Frame Only and Every Nth Frame parameters. ■ Raytrace map The mental ray renderer supports all Raytrace map settings except for the antialiasing parameters. ■ Reflect/Refract map This map tells the mental ray renderer to use ray-traced reflections and refractions. Most parameters are supported, but the parameters Blur Offset, First Frame Only, Every Nth Frame, and Atmosphere Ranges are not supported. mental ray Renderer | 7139 NOTE The mental ray renderer does not fully support cubic maps for Reflect/Refract maps. It uses cubic maps if they have already been generated by the default scanline renderer, but it does not generate them. If Source ➤ From File is active and the mental ray renderer can find the six cubic maps, it uses them. If Source ➤ Automatic is active, or if the cubic maps cannot be found, the mental ray renderer generates ray-traced reflections or refractions instead. Enhancements to Standard Features The primary interface to the mental ray renderer consists of rollouts on the Render Setup dialog. To choose the mental ray renderer, use the Assign Renderer rollout on page 7034, as described in this procedure on page 7131. In addition, object properties, lights, and the Material Editor have additional controls to support mental ray rendering. Last but not least, 3ds Max offers a special mr Proxy object for speeding up rendering of large, complex scenes. Object Properties Enhancements Parameters on the mental ray panel on page 236 of the Object Properties dialog support displacement as well as the mental ray indirect illumination features: final gather on page 7213, caustics on page 7154, and global illumination on page 7160. mental ray Proxy Object When working with high-resolution geometry, you can save memory and translation time by using the special mr Proxy object on page 496 as a stand-in for your models. Light Object Enhancements Along with the mental ray renderer, mental ray-specific area light objects and light settings are provided. Light Objects The area light on page 9092 is a feature of the mental ray renderer. Instead of a point source, it emits light from a broader area around the source. There are two basic types of mental ray area light: mr Area Omni Light on page 5777 and mr Area Spotlight on page 5780. An additional, special-purpose mental area light 7140 | Chapter 18 Rendering is the mr Sky Portal on page 5898. Area lights create soft-edged shadows. This can help improve the realism of your rendering. NOTE To render soft-edged shadows, shadows must be ray-traced, not shadow-mapped: see the Renderer panel ➤ Shadows & Displacement Rollout on page 7209. In 3ds Max, area lights are created and supported by the MAXScript scripts, light-mentalray_areaomni.ms and light-mentalray_areaspot.ms. Both scripts are found in the \stdplugs\stdscripts\ folder within 3ds Max install directory. Because of this, when you create an area light, you actually create a target spot or omni light for which the mental ray renderer uses the parameters on the Area Light Parameters rollout. If you render with the default scanline renderer, the light behaves like any other target spot or omni light. (You can change a light from one type to another using the Type drop-down list on the light’s General Parameters rollout.) For area lights rendered with the mental ray renderer, you can still set and use other lighting parameters, such as color, the Multiplier value, the spotlight cone, and so on. Shadow maps are an exception. The mental ray renderer ignores the light's local shadow map settings. Area lights always use ray-traced shadows. TIP You can use a MAXScript utility to convert standard 3ds Max light objects to area lights, as described in this procedure on page 5778. Light Settings The mental ray Indirect Illumination rollout on page 5821 has been added to light objects to support the mental ray renderer’s indirect illumination effects of caustics on page 7154 and global illumination on page 7160. The mental ray Light Shader rollout on page 5824 has been added so you can add mental ray light shaders to light objects. IMPORTANT To see the mental ray rollouts for lights, you must use mental ray Preferences on page 8950 to enable mental ray extensions. These rollouts appear only on the Modify panel, not on the Create panel. Camera Enhancements On the Parameters rollout on page 5931, a “Depth Of Field (mental ray)” choice appears on the Multi-Pass Effect drop-down list to support the mental ray renderer's depth-of-field effects. To use this, turn on both Enable in the camera's Multi-Pass Effect group (default=off), and Depth Of Field on the mental ray Renderer | 7141 Render Setup dialog ➤ Renderer panel ➤ Camera Effects rollout on page 7201. You can also assign mental ray lens, output, and volume shaders to cameras. These controls are also on the Render Setup dialog ➤ Camera Effects rollout. (This rollout also contains some contour-shading controls.) NOTE When you use the mental ray renderer, reflected or refracted light rays do not always respect a camera's clipping planes (set in the Clipping Planes group of the Parameters rollout). Also, large clipping-plane values can cause poor quality in the rendering of shadow maps. To fix this, narrow the clipping range or switch to ray-traced shadows. Material Editor Enhancements The Material Editor works as it does with the default scanline renderer. Certain materials and maps, or some of their controls, aren't supported by the mental ray renderer; see 3ds Max Materials in mental ray Renderings on page 7137. By default, the Material Editor sample slots use the currently active renderer: typically this is either the default scanline renderer or the mental ray renderer. You assign the renderer for sample slots with the Render Setup dialog ➤ Common panel ➤ Assign Renderer rollout on page 7034. When mental ray extensions are enabled (using mental ray Preferences on page 8950) and the mental ray renderer is active, the Material Editor displays these additional mental ray features: ■ A mental ray Connection rollout on page 6215 lets you add mental ray shaders to 3ds Max materials. ■ When you click a material's Type button, the Material/Map Browser displays additional mental ray materials on page 6224. ■ When you click a map or shader button, the Material/Map Browser displays additional mental ray shaders on page 6806. Shaders are provided in shader library (MI) files on page 9223. Some shaders are customized for 3ds Max, some are provided by the lume library, and most are provided by mental images libraries. Settings for the custom 3ds Max shaders are provided in this reference. Settings for the third-party lume and mental images shaders are provided in their own help files. This reference links to those descriptions; see Shaders in the LumeTools Collection on page 6811 and mental images Shader Libraries on page 6809. 7142 | Chapter 18 Rendering mental ray Messages Window Rendering menu ➤ mental ray Message Window The mental ray Messages window displays log messages (other than debug messages) generated by the mental ray renderer. Interface Example of mental ray Messages window Three status fields appear above the messages area: ■ Num. CPUsShows the number of CPUs in use. ■ Num. threadsShows the number of threads being rendered. ■ mental ray versionShows the current mental ray renderer version, in detail. The options beneath the messages area are equivalent to options on the mental ray Preferences dialog on page 8950. Information When on, the mental ray renderer generates information messages. Default=off. This is equivalent to the preference, Show/Log Information Messages. Progress When on, the mental ray renderer generates progress messages. Default=off. This is equivalent to the preference, Show/Log Progress Messages. mental ray Renderer | 7143 Debug (Output to File) When on, the mental ray renderer generates debug messages. Default=off. This is equivalent to the preference, Log Debug Messages (To File). NOTE Debug messages are never displayed by the Messages Window. They are numerous, and would make it difficult to find or read other messages. Open on Error When on, the Messages Window is displayed if the mental ray renderer logs an error message. Default=off. This is equivalent to the preference, Open Message Window On Error. Clear Click to clear all messages from the messages area. mental ray Concepts These topics describe what the mental ray renderer can do, and explain how it accomplishes these effects. For more technical detail about mental ray capabilities, see the mental ray Reference, available from Help menu ➤ Additional Help, and the books Programming mental ray and Rendering with mental ray, both by Thomas Driemeyer. Ray-Traced Reflections and Refractions with the mental ray Renderer The mental ray renderer can generate reflections and refractions by ray tracing. Ray tracing traces the path of rays sampled from the light source. Reflections and refractions generated this way are physically accurate. 7144 | Chapter 18 Rendering Ray-traced reflections and Refractions To reduce the time required to generate reflections and shadows, rays are limited by trace depth. Trace depth limits the number of times a ray can be reflected, refracted, or both. You can turn off ray tracing. In this case, the mental ray renderer uses scanline rendering only. Turning off ray tracing makes the controls for all the effects that are specific to mental ray unavailable in the Renderer's rollouts. Ray tracing uses one of two ray-trace acceleration methods on page 9278. You enable ray tracing and set trace depth with the Render Setup dialog ➤ Renderer panel ➤ Rendering Algorithms rollout on page 7195 controls. Shadows with the mental ray Renderer The mental ray renderer can generate shadows by ray tracing. Ray tracing traces the path of rays sampled from the light source. Shadows appear where rays have been blocked by objects. Ray-traced shadows have sharp edges. mental ray Renderer | 7145 Ray-traced shadows Turning off caustics makes the outlines of shadows in this scene easier to see. You can tell the mental ray renderer to use shadow maps on page 9305 instead of ray-traced shadows. This can improve performance at a cost of accuracy. Shadow controls are on the Render Setup Dialog ➤ Renderer panel ➤ Shadows & Displacement rollout on page 7209. Shadow Generators and the mental ray Renderer Light objects in 3ds Max let you choose a shadow generator: Ray Traced, Advanced Ray Traced, Shadow Map, and so on. Because the mental ray renderer supports only two kinds of shadow generation, ray tracing and shadow maps, some of the 3ds Max shadow generators aren't fully supported. In 3ds Max, a special shadow generator type, mental ray Shadow Map, is provided to support the mental ray renderer. If shadows are enabled (on the Shadows & Displacement rollout on page 7209 of the Render Setup dialog) but shadow maps are not enabled, then shadows for all lights are generated using the 7146 | Chapter 18 Rendering mental ray ray-tracing algorithm. If shadow maps are enabled, then shadow generation is based on each light’s choice of shadow generator: ■ mental ray Shadow MapShadows are generated using the mental ray shadow-map algorithm. ■ Shadow MapSettings on the Shadow Parameters rollout are translated into a mental ray equivalent before shadows are generated. The quality of shadows generated this way might not always meet expectations. ■ Area Shadows, Advanced Ray Traced Shadows, or Ray Traced ShadowsShadows are generated using the mental ray ray-tracing algorithm. Motion Blur with the mental ray Renderer Motion blur is a way to enhance the realism of a rendered animation by simulating the way a real-world camera works. A camera has a shutter speed, and if significant movement occurs during the time the shutter is open, the image on film is blurred. Motion blur added to rendering of an animated wheel as it speeds up and rolls forward mental ray Renderer | 7147 To render motion blur with the mental ray renderer, you must turn on ray tracing (the Ray Trace parameter) on the Render Setup dialog ➤ Renderer panel ➤ Rendering Algorithms rollout on page 7195. The mental ray renderer uses a Shutter parameter to control motion blur. This simulates the shutter speed of a camera. At 0.0, there is no motion blurring. At 1.0, the maximum amount of motion blurring occurs. Values between zero and one adjust the amount of motion blur. The closer to 1.0, the greater the blurring. You turn on motion blur and adjust shutter speed on the Render Setup Dialog ➤ Renderer panel ➤ Camera Effects rollout on page 7201. If you render using shadow maps on page 9305, then by default mental ray applies motion blur to these as well. See the Render Setup dialog ➤ Renderer panel ➤ Shadows & Displacement rollout on page 7209. TIP mental ray motion blur is not recommended for use with particle systems, as this can increase rendering time considerably. Use a Particle MBlur map on page 6728 instead. NOTE Motion blur with the mental ray renderer does not always follow curving trajectories. Increasing the value of Motion Segments can help, but this works better for rotary motion than for traveling motion. Depth of Field with the mental ray Renderer Depth of field is a way to enhance the realism of a rendering by simulating the way a real-world camera works. With a broad depth of field, all or nearly all of a scene is in focus. With a narrow depth of field, only objects within a certain distance from the camera are in focus. 7148 | Chapter 18 Rendering Scene rendered using no depth of field All apples are equally in focus. mental ray Renderer | 7149 Same scene using depth of field to control focus The middle apple is clearer than the other two. To render depth-of-field effects with mental ray, ray tracing (the Ray Trace toggle) must be enabled on the Render Setup dialog ➤ Renderer panel ➤ Rendering Algorithms rollout on page 7195. You must also enable depth of field for the camera: in the camera's Multi-Pass Effect group, choose Depth Of Field (mental ray) as the depth-of-field type. (If you choose the scanline renderer's Depth Of Field option, the rendering that results can be out of focus.) The mental ray renderer uses the camera’s target distance and f-Stop parameters to control the depth-of-field effect. The camera's target distance determines the focus plane. The focus plane is the distance from the camera at which the scene is completely in focus. 7150 | Chapter 18 Rendering Focus plane in relation to a camera Here it is set to the middle apple, as in the previous renderings. mental ray Renderer | 7151 Focus plane in relation to a camera 7152 | Chapter 18 Rendering Here it is set to the nearest apple, as in the renderings that follow. The f-stop controls the amount of blurring at distances other than the focus plane distance. In a real-world camera, the f-stop measures the size of the lens’s aperture. The lower the f-stop value, the larger the aperture and the narrower the depth of field. So increasing the f-stop value broadens the depth of field, and decreasing the f-stop value narrows the depth of field. Decreasing the f-stop to narrow depth of field Focal plane set at the nearest apple, and f-stop set to 0.1. mental ray Renderer | 7153 Increasing the f-stop to broaden depth of field Focal plane in same location, f-stop increased to 1.0. You set the f-Stop in the camera's Depth Of Field rollout. See Depth of Field Parameter (mental ray Renderer) on page 5950. NOTE For Perspective viewports, which have no camera, the Render Setup dialog ➤ Renderer panel ➤ Camera Effects rollout on page 7201 has explicit Focus Plane and f-Stop settings. Caustic Lighting Effects Caustics are the effects of light cast onto an object via reflection off or refraction through another object. 7154 | Chapter 18 Rendering Swimming pool rendered without caustics mental ray Renderer | 7155 Reflective caustics added to swimming pool To calculate caustics, the mental ray renderer uses the photon map technique on page 9267. (Ray tracing can’t generate accurate caustics, and they aren’t provided by the default scanline renderer.) You enable caustics on the Render Setup dialog ➤ Indirect Illumination panel ➤ Caustics And Global Illumination rollout on page 7226. In addition, you must designate: ■ Which light objects can create caustics. ■ Which renderable objects can generate caustics. ■ Which renderable objects can receive caustics. The settings for generating and receiving caustics are on the Object Properties dialog ➤ mental ray Panel on page 236. 7156 | Chapter 18 Rendering Refractive caustics rendered with the default of Radius turned off. Radius size is based on scene extents; specifically, 1/100 the radius of the full scene. mental ray Renderer | 7157 Radius value explicitly set to 1.0 7158 | Chapter 18 Rendering Radius value increased to 2.5. Filter type changed to Cone. mental ray Renderer | 7159 Photon count increased to 50,000 (in Global Light Properties group) for greater detail in the caustics. Global Illumination with the mental ray Renderer Global illumination enhances the realism in rendered images by simulating all light interreflection effects in a scene (except caustics on page 7154). It generates such effects as "color bleeding," where for example, a white shirt next to a red wall appears to have a slight red tint. The mental ray renderer offers two distinct toolsets for achieving global illumination: photon tracing on page 7228 and final gathering on page 7213. The primary difference between the two is that photon tracing goes from the light source toward the ultimate illuminated target (taking bounces into account), and final gathering goes the opposite way: from the illuminated surface toward the light source. You can use either of these toolsets separately, or combine them for optimal rendered results. 7160 | Chapter 18 Rendering Scene rendered without global illumination mental ray Renderer | 7161 Same scene with global illumination 7162 | Chapter 18 Rendering Global illumination made smoother by final gather To calculate global illumination, the mental ray renderer uses the photon map technique on page 9267. NOTE The mental ray renderer generates global illumination without requiring you to generate a radiosity solution. A photon map is a model of global illumination in its own right. NOTE In order to use global illumination in mental ray, the photons must be able to bounce among two or more surfaces. This can be accomplished by having a single object with some concavity in its surface that’s exposed to the light source, or at least two objects, and at least one object must be set to receive global illumination (see mental ray Panel (Object Properties Dialog) on page 236). Otherwise you’ll receive error messages and no photons will be stored. Using a photon map can cause rendering artifacts such as dark corners and low-frequency variations in the lighting. You can reduce or eliminate these artifacts by turning on final gathering on page 7213, which increases the number of rays used to calculate global illumination. mental ray Renderer | 7163 You enable global illumination on the Render Setup dialog ➤ Indirect Illumination panel ➤ Caustics And Global Illumination rollout on page 7224, and final gathering on the Final Gather rollout on page 7213. In addition, you must designate: ■ Which light objects can generate global illumination. ■ Which renderable objects can generate global illumination. ■ Which renderable objects can receive global illumination. The settings for generating and receiving global illumination are on the Object Properties dialog ➤ mental ray Panel on page 236. By default, all objects in 3ds Max are set to generate and receive global illumination. mental ray Volume Shading Volume shading shades a three-dimensional volume, rather than a surface. Typically, volume shaders provide atmospheric effects such as mist and fog. Model rendered with no volume effect 7164 | Chapter 18 Rendering Same model rendered in mist Mist applied as a camera volume shader; realistic falloff on There are two ways to assign a volume shader: ■ To a camera This effectively makes the entire scene a single volume. ■ To a material This makes a volume out of objects to which the material is applied. Usually when you assign a volume shader to a material, you want to make its surface transparent so the shading within the volume is visible. You can do this with the mental images Transmat shader. To assign a volume shader to a camera, use the Render Setup dialog. To assign a volume shader to a material, use the material's Volume shader component. This component is found on the mental ray Connection rollout on page 6215, and in the mental ray material on page 6369 itself. See the “Procedures” that follow. mental ray Renderer | 7165 Procedures To apply volume shading to a camera: 1 On the main toolbar, click (Render Setup). If the active renderer is not already the mental ray renderer, go to the Common panel, and on the Assign Renderer rollout, click the “...” button for the Production renderer. A Choose Renderer dialog is displayed. Highlight “mental ray Renderer” in the list, and then click OK. 2 Click the Renderer tab to go to the Renderer panel. On the Camera Effects rollout, find the Camera Shaders group, and click Volume. The Material/Map Browser on page 6167 is displayed. 3 Choose a volume shader from the list in the Browser, and then click OK. To apply volume shading to an object: 1 Choose Customize ➤ Preferences. Go to the mental ray panel, and turn on Enable Mental Ray Extensions. 2 On the main toolbar, click (Render Setup). If mental ray is not already the active renderer, go to the Common panel, and on the Assign Renderer rollout, click the “...” button for the Production renderer. The Choose Renderer dialog opens. Highlight “mental ray Renderer” in the list and then click OK. Leave the Render Setup dialog open, or minimize it. 3 Open the Material Editor. Use the mental ray Connection rollout on page 6215 to assign a volume shader to the Volume component. Another technique would be to use the mental ray material on page 6369, and assign a shader to the Volume component. 4 Also on the mental ray Connection rollout, click the lock button to unlock the Surface component. Click the shader button (“None”) and use the Browser to assign the Transmat (physics) shader to the surface. (If you are using the mental ray material, you don't need to first unlock the Surface component.) 7166 | Chapter 18 Rendering 5 Apply the material to objects you wish to use as shaded volumes. mental ray Displacement Displacement shading with the mental ray renderer is similar to displacement mapping on page 6482 of standard materials. One advantage of using mental ray displacement is that the additional polygons of displaced surfaces are stored only in the mental ray scene database, not in your 3ds Max scene, so they do not increase the memory requirements of your scene, except at render time. This can be a big improvement in performance over displacement mapping with standard materials and the scanline renderer. Procedures To add displacement to a mental ray rendering: 1 Choose Customize ➤ Preferences. Go to the mental ray panel, and turn on Enable Mental Ray Extensions. 2 On the main toolbar, click (Render Setup). If the active renderer is not already the mental ray renderer, go to the Common panel, and on the Assign Renderer rollout, click the “...” button for the Production renderer. A Choose Renderer dialog is displayed. Highlight “mental ray Renderer” in the list, and then click OK. Leave the Render Setup dialog open, or minimize it. 3 Open the Material Editor. 4 On the mental ray Connection rollout, click the lock button to unlock the Displacement component. Click the shader button (“None”) and use the Browser to assign a displacement shader to the surface. WARNING This overrides any displacement assigned to the base material as a standard map. Another technique would be to use the mental ray material on page 6369, and assign a shader to the Displacement component. (If you are using the mental ray material, you don't need to first unlock the Displacement component.) mental ray Renderer | 7167 5 Apply the material to objects you wish to show the displacement. mental ray Contour Shading Contour shading lets you render vector-based contour lines. Contours are similar to the ink component on page 6564 of the Ink 'n Paint material. Model rendered without contours 7168 | Chapter 18 Rendering Model with contours added to the rendering Simple contour shader You add contour rendering by assigning one of the contour shaders to the Contour component of a material. This component is found on the mental ray Connection rollout on page 6215 of most materials and on the mental ray material's Advanced Shaders rollout on page 6377. Then when you render, use the Contours group on page 7205 controls on the Camera Effects rollout on page 7201 to enable contours. On the Camera Effects rollout, additional shaders can modify the contours, or control how they are rendered. For example, to render only the contours, but not the shaded model, assign a Contour Only shader to the Contour Output component. Rendering of the model's contours only mental ray Renderer | 7169 Contours Only output shader, background set to white NOTE Contour shading does not work with distributed bucket rendering. Procedures To add contours to a mental ray rendering: 1 Choose Customize ➤ Preferences. Go to the mental ray panel, and turn on Enable Mental Ray Extensions. 2 On the main toolbar, click (Render Setup). If mental ray is not already the active renderer, go to the Common panel, and on the Assign Renderer rollout, click the “...” (Choose Renderer) button for the Production renderer. The Choose Renderer dialog opens. Highlight “mental ray Renderer” in the list, and then click OK. Leave the Render Setup dialog open, or minimize it. 3 Open the Material Editor. For the materials of objects you want to render with contours, use the mental ray Connection rollout on page 6215 to assign a shader to the Contour component. Another technique would be to use the mental ray material on page 6369, and assign shaders to both the Surface and Contour components. TIP The Simple contour shader renders uniform lines whose color and width you can control. The other contour shaders provide variant contour styles with more direct user controls. 4 On the Render Setup dialog, go to the Renderer panel. On the Camera Effects rollout, turn on Enable in the Contours group. To simply add contour lines to a rendering, leave the shaders in the Camera Effects rollout set to their defaults. For other options, see Camera Effects Rollout (mental ray Renderer) on page 7201. Combi Contour Shader mental ray material ➤ Advanced Shaders rollout ➤ Click Contour button. ➤ Choose Combi (contour). 7170 | Chapter 18 Rendering Other material ➤ mental Ray Connection rollout ➤ Advanced Shaders group ➤ Unlock Contour if necessary. ➤ Click Contour button. ➤ Choose Combi (contour). The Combi contour shader is a combination of the Depth Fade on page 7174, Layer Thinner on page 7177, and Width from Light on page 7181 shaders. TIP Use a Tape helper object on page 2886 to determine the Z depth of your view. The following illustration shows a blue line crossing the glass pane held by the character. This blue line is the reflection of the edge of the floor, behind the camera. The line is blue (Near Color), because the distance considered is not the distance of the eye ray bouncing in the glass; rather, it is the distance between the camera and the edge itself. mental ray Renderer | 7171 Interface Near Z The minimum distance. Near Color The color of the contour at and below the minimum distance. Near Width (%) The width at and below the minimum distance. Far Z The maximum distance. Far Color The color of the contour at and beyond the maximum distance. Far Width (%) The width at and beyond the maximum distance. Depth Factor The factor for thinning the contour at each layer. For example, to get contours that are 2 percent wide when the material is on top, 1 percent wide when the material is behind one other (semitransparent) material, 0.5 percent wide when the material is behind two materials, and so on, set Width (%) to 2.0 and Depth Factor to 0.5. Light To specify a scene light source for use in determining contour thickness, click this button and then select a light. After you specify a light, its name appears on the button. To remove the specified light source from the shader’s influence, click the Clear button. Light Min Width Factor The minimum factor by which the light-dependency decreases the contour width. 7172 | Chapter 18 Rendering For example, for contours that are interpolated between 2 percent wide at the Near Z distance and 1 percent wide at the Far Z distance, and get half as wide for each layer of material beyond Far Z, and where the width also depends on the direction to the specified light source, setLight Min Width Factor to 0.5. Curvature Contour Shader mental ray material ➤ Advanced Shaders rollout ➤ Click Contour button. ➤ Choose Curvature (contour). Other material ➤ mental Ray Connection rollout ➤ Advanced Shaders group ➤ Unlock Contour if necessary. ➤ Click Contour button. ➤ Choose Curvature (contour). The Curvature contour shader traces a line whose thickness depends on the angle between normals of adjacent faces. So if two normals are in nearly opposite directions, there is a contour of width close to Max Width between them. As the angle between them decreases, the width of the contour decreases almost to Min Width. mental ray Renderer | 7173 Interface Color The color used for rendering the contour lines. Min Width (%) The minimum contour width, in percent of the image size. Max Width (%) The maximum contour width, in percent of the image size. Depth Fade Contour Shader mental ray material ➤ Advanced Shaders rollout ➤ Click Contour button. ➤ Choose Depth Fade (contour). Other material ➤ mental Ray Connection rollout ➤ Advanced Shaders group ➤ Unlock Contour if necessary. ➤ Click Contour button. ➤ Choose Depth Fade (contour). The Depth Fade contour shader changes the line width and color based on Z depth, in world units. If a contour point is more distant than Far Z, the contour gets color Far Color and the width gets Far Width. If a point is nearer than Near Z, the contour gets color Near Color and the width gets Near Width. If the depth is in between, the color and width are linearly interpolated. TIP Use a Tape helper object on page 2886 to determine the Z depth of your view. 7174 | Chapter 18 Rendering Interface Near Z The minimum distance. Near Color The color of the contour at and below the minimum distance. Near Width (%) The width at and below the minimum distance. Far Z The maximum distance. Far Color The color of the contour at and beyond the maximum distance. mental ray Renderer | 7175 Far Width (%) The width at and beyond the maximum distance. Factor Color Contour Shader mental ray material ➤ Advanced Shaders rollout ➤ Click Contour button. ➤ Choose Factor Color (contour). Other material ➤ mental Ray Connection rollout ➤ Advanced Shaders group ➤ Unlock Contour if necessary. ➤ Click Contour button. ➤ Choose Factor Color (contour). The Factor Color shader uses the color of the material as rendered by mental ray, as opposed to the diffuse color. In the following illustration, the materials are all self-illuminating to ensure a constant color. The shader does the rest. 7176 | Chapter 18 Rendering Interface Factor The multiplier for the material color. If the factor is 0, a black contour results. If the factor is between 0 and 1, a dark contour of the same hue as the material results. If the factor is 1, the contour gets the same color as the material at that location. If the factor is larger than 1, brighter contours of the same hue as the material result. Width (%) The contour width as a percent of the image size. Layer Thinner Contour Shader mental ray material ➤ Advanced Shaders rollout ➤ Click Contour button. ➤ Choose Layer Thinner (contour). Other material ➤ mental Ray Connection rollout ➤ Advanced Shaders group ➤ Unlock Contour if necessary. ➤ Click Contour button. ➤ Choose Layer Thinner (contour). The Layer Thinner bases the contour lines’ thickness on the trace depth as determined by the Contour Contrast Function Levels shader. In the following illustration, the glass pane is semi-transparent. The shader detects that situation and makes the lines thinner when they are drawn inside the glass pane. mental ray Renderer | 7177 Interface Color The color used for rendering the contour lines. Width (%) The thickness of the contour lines at the top layer. Depth Factor The factor for thinning the contour at each layer. For example, to get contours that are 2 percent wide when the material is on top, 1 percent wide when the material is behind one other (semitransparent) material, 0.5 percent wide when the material is behind two materials, and so on, set Width (%) to 2.0 and Depth Factor to 0.5. 7178 | Chapter 18 Rendering Simple Contour Shader mental ray material ➤ Advanced Shaders rollout ➤ Click Contour button. ➤ Choose Simple (contour). Other material ➤ mental Ray Connection rollout ➤ Advanced Shaders group ➤ Unlock Contour if necessary. ➤ Click Contour button. ➤ Choose Simple (contour). The Simple contour shader draws all lines the same width. Interface Color The color used for rendering the contour lines. Width (%) The relative thickness of the contour lines. mental ray Renderer | 7179 Width from Color Contour Shader mental ray material ➤ Advanced Shaders rollout ➤ Click Contour button. ➤ Choose Width from Color (contour). Other material ➤ mental Ray Connection rollout ➤ Advanced Shaders group ➤ Unlock Contour if necessary. ➤ Click Contour button. ➤ Choose Width from Color (contour). The Width from Color shader bases the thickness of contours on the brightness of the color of your materials. The brighter the color, the thinner the contour. IMPORTANT The color used by the shader is not the diffuse color of the material, but instead the rendered color, so lighting has an influence here. Although the name of the shader uses the word "Color," it would be probably more appropriate to call this shader "Width from Brightness," because only the brightness of a color is taken in consideration. 7180 | Chapter 18 Rendering Interface Color The color used for rendering the contour lines. Min Width (%) The relative thickness of the thinnest contour lines, where rendered material colors are brightest. Max Width (%) The relative thickness of the thickest contour lines, where rendered material colors are darkest. Width from Light Contour Shader mental ray material ➤ Advanced Shaders rollout ➤ Click Contour button. ➤ Choose Width from Light (contour). Other material ➤ mental Ray Connection rollout ➤ Advanced Shaders group ➤ Unlock Contour if necessary. ➤ Click Contour button. ➤ Choose Width from Light (contour). The thickness of contours generated by the Width from Light shader are based on the direction of a light you can specifiy in your scene. mental ray Renderer | 7181 Light source is on the left side of the scene. Interface Color The color used for rendering the contour lines. Min Width (%) The relative thickness of the thinnest contour lines, where illumination is brightest. Max Width (%) The relative thickness of the thickest contour lines, where illumination is darkest. 7182 | Chapter 18 Rendering Light To specify a scene light source for use in determining contour thickness, click this button and then select a light. After you specify a light, its name appears on the button. To remove the specified light source from the shader’s influence, click the Clear button. Width from Light Direction Contour Shader mental ray material ➤ Advanced Shaders rollout ➤ Click Contour button. ➤ Choose Width from Light Dir (contour). Other material ➤ mental Ray Connection rollout ➤ Advanced Shaders group ➤ Unlock Contour if necessary. ➤ Click Contour button. ➤ Choose Width from Light Dir (contour). The Width from Light Dir shader modifies the thickness of contours based on the direction specified by a "virtual light vector" as defined in the shader. The virtual light is used only to calculate the contours; it does not affect the scene in any other way. The virtual light direction is controlled by the Light Direction value. It’s a vector parameter, which means it has three value fields, which correspond to the world X, Z, and Y axes, respectively. For example, the following illustration comprises three separate renders, in which Light Direction is set to (1,0,0), (0,1,0), and (-1,0,0), respectively. Left to right: Light Direction=(1,0,0);(0,1,0);(-1,0,0) mental ray Renderer | 7183 Interface Color The color used for rendering the contour lines. Min Width (%) The relative thickness of the thinnest contour lines, where illumination from the virtual light is brightest. Max Width (%) The relative thickness of the thickest contour lines, where illumination from the virtual light is darkest. Light Direction Use these three vector fields to specify the position of the virtual light shines for defining the relative contour thickness. The first field specifies the world X axis; the second, the world Z axis; and the third specifies the world Y axis. For example, to have the light shining from the right, so that the contour lines are thinnest on the right side of scene objects as viewed from the front, set Light Direction to (1,0,0). A negative number reverses the position, so using (-1,0,0) would position the light on the left side. mental ray Renderer Interface Render Setup dialog on page 6956 ➤ Renderer panel/Indirect Illumination panel/Processing panel Topics in this section cover the Render Setup dialog panels that are specific to mental ray rendering. For information on the common rendering panels, see: ■ Common Panel (Render Setup Dialog) on page 7020 ■ Render Elements Panel and Rollout on page 7269 7184 | Chapter 18 Rendering Renderer Panel (mental ray) Render Setup dialog on page 6956 ➤ Renderer panel Note: The Renderer panel appears only when mental ray is the active renderer. The Renderer panel includes settings for optimizing mental ray rendering as well as controls for camera effects, shadows, and displacement shading. Global Tuning Parameters Rollout (mental ray Renderer) Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Renderer panel ➤ Global Tuning Parameters rollout Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Renderer panel ➤ Global Tuning Parameters rollout Note: The Global Tuning Parameters rollout appears only when the mental ray renderer is the currently active renderer. The Global Tuning Parameters parameters give you high-level control of the quality of mental ray shaders for soft shadows, glossy reflections, and glossy refractions. These controls let you adjust overall rendering quality without having to modify individual light and material settings. In general, lowering a global tuning parameter value decreases rendering time, and raising it increases rendering time. WARNING Because these parameters act as multipliers, certain combinations of global tuning settings and the values they modify can yield non-useful results. For example, if the Reflection ➤ Glossy Samples setting in an Arch & Design material is 8 and you set Glossy Reflections Precision to 0.1, the result is a Glossy Samples value of 0.8, which is equivalent to 0, thus turning off glossiness and producing mirror reflections. You can find an example of these controls in use in the following illustration, which contains three separate renderings. In each image, each goblet contains an Arch & Design material using the Chrome template. All Chrome settings are the defaults, except the Reflection ➤ Glossiness settings were changed to 0.6, 0.4, and 0.2 respectively (from left to right), and the Reflection ➤ Glossy Samples settings were all changed to 8. For the renderings, Glossy Reflections Precision was set to 0.25, 1.0, and 5.0, respectively (from top to mental ray Renderer | 7185 bottom). The highest-quality rendering took 15 times longer than the lowest-quality. Glossy Reflections Precision affects all Arch & Design materials in the scene. Interface Soft Shadows Precision A global multiplier for the Shadow Samples setting (or similar-named, as noted following) in all lights casting soft shadows. This includes all photometric lights on page 5707 (Target Light, Free Light, mr Sky 7186 | Chapter 18 Rendering Portal), as well as mr Sun on page 5885 (Softness Samples), mr Area Omni on page 5777 (Samples), and mr Area Spot on page 5780 (Samples). Typically the light should be set to cast ray- traced shadows, when available, although in some cases shadow maps work too. Possible multiplier values are 0.125, 0.25, 0.5, 1, 2, 4, 8, and 16. The following illustration comprises three separate renders of a scene containing two photometric spotlights and two cylinders. Both spotlights have disc-shaped emitters of radius 10.0 and cast ray-traced shadows, but the one on the left has Shadow Samples set to 64 while the one on the right has Shadow Samples set to 8. From top to bottom, the scenes were rendered with Soft Shadows Precision set to 0.125, 1.0, and 4.0, respectively. Soft Shadows Precision affects all lights casting soft shadows in the scene. mental ray Renderer | 7187 NOTE This setting adjusts each light’s Shadow Samples setting temporarily for rendering purposes only; it does not change the actual setting. For example, if the scene contains three lights with Shadow Samples settings of 64, 32, and 8, and you set Soft Shadows Precision to 0.5, the resultant values as rendered will be 32, 16, and 4. However, the original settings remain intact, and are used for rendering purposes when you set Soft Shadows Precision back to the default 1.0. The equivalent Render Frame Window control is the Soft Shadows Precision on page 6975 slider, with one exception: This control, unlike the slider, does not disable soft shadows at its lowest value. Glossy Reflections Precision Controls reflection quality globally. Glossy Reflections Precision determines the quality of reflections in all instances of the Arch & Design material on page 6269 and related materials in the scene. The value acts as a multiplier to each material’s Reflection group ➤ Glossy Samples on page 6287 setting. NOTE This setting adjusts each material’s Glossy Samples setting temporarily for rendering purposes only; it does not change the materials. For example, if the scene contains three Arch & Design materials with Reflection ➤ Glossy Samples settings of 32, 20, and 8, and you set Glossy Reflections Precision to 0.5, the resultant values as rendered will be 16, 10, and 4. However, the original material settings remain intact, and are used for rendering purposes when you set Glossy Reflections Precision back to the default 1.0. The equivalent Render Frame Window control is the Glossy Reflections Precision on page 6976 slider, with one exception: This control, unlike the slider, does not disable reflections at its lowest value. Glossy Refractions Precision Controls refraction quality globally. Glossy Refractions Precision determines the quality of refractions in all instances of the Arch & Design material on page 6269 and related materials in the scene. The value acts as a multiplier to each material’s Refraction group ➤ Glossy Samples on page 6290 setting. NOTE This setting adjusts each material’s Glossy Samples setting temporarily for rendering purposes only; it does not change the materials. For example, if the scene contains three Arch & Design materials with Refraction ➤ Glossy Samples settings of 32, 20, and 8, and you set Glossy Refractions Precision to 0.5, the resultant values as rendered will be 16, 10, and 4. However, the original material settings remain intact, and are used for rendering purposes when you set Glossy Refractions Precision back to the default 1.0. 7188 | Chapter 18 Rendering The equivalent Render Frame Window control is the Glossy Refractions Precision on page 6976 slider, with one exception: This control, unlike the slider, does not disable refraction at its lowest value. Sampling Quality Rollout (mental ray Renderer) Render Setup dialog on page 6956 ➤ Renderer panel ➤ Sampling Quality rollout Note: The Sampling Quality rollout appears only when the mental ray renderer is the currently active renderer. The controls on this rollout affect how the mental ray renderer performs sampling on page 9288 for antialiasing rendered images. Procedures To use low sampling for previews: ■ Leave the Minimum and Maximum values at their default settings of 1/4 and 4, or reduce them to 1/16 and 1/4. TIP Do not assign Minimum and Maximum the same value. To use high sampling for final renderings: ■ Increase the Minimum and Maximum values to 4 and 16, respectively, or to higher values. TIP Do not assign the same value to both Minimum and Maximum. To view the sampling pattern: ■ On the Diagnostics rollout on page 7247, choose Sampling Rate, then render the scene. Instead of rendering the image, mental ray draws a diagram that shows the range of applied sampling values. White lines indicate edges in the scene, where the mental ray renderer took the maximum number of samples. If fractional sample limits are used (sampling down), lighter dots indicate the higher value while darker dots indicate the lower value. To assist with analysis, View Samples also draws red lines around each bucket, or separately rendered block. mental ray Renderer | 7189 When the Minimum and Maximum number of samples are equal, the diagram shows all buckets as white. Interface Samples per Pixel group Set the minimum and maximum sample rates for antialiasing the rendered output. NOTE Presets for several sample rate combinations are available on the Rendered Frame Window as the Image Precision (Antialiasing) slider on page 6975. Minimum Sets the minimum sample rate. The value represents the number of samples per pixel. A value greater than or equal to 1 indicates that one or more samples are computed per pixel. A fractional value indicates that one sample is computed for every N pixels (for example, 1/4 computes a minimum of one sample for every four pixels). Default=1/4. Maximum Sets the maximum sample rate. If neighboring samples find a difference in contrast that exceeds the contrast limit, the area containing the contrast is subdivided to the depth specified by Maximum. Default=4. The values of the Minimum and Maximum lists are "locked" together so that the value of Minimum can't exceed the value of Maximum. 7190 | Chapter 18 Rendering Filter group Filter type Determines how multiple samples are combined into a single pixel value. Can be set to Box, Gauss, Triangle, Mitchell, or Lanczos. Default=Box. TIP For most scenes the Mitchell filter gives the best results. ■ Box filter: Sums all samples in the filter area with equal weight. This is the quickest sampling method. ■ Gauss filter: Weights the samples using a Gauss (bell) curve centered on the pixel. ■ Triangle filter: Weights the samples using a pyramid centered on the pixel. ■ Mitchell filter: Weights the samples using a curve (steeper than Gauss) centered on the pixel. ■ Lanczos filter: Weights the samples using a curve (steeper than Gauss) centered on the pixel, diminishing the effect of samples at the edge of the filter area. Width and Height Specify the size of the filtered area. Increasing the value of Width and Height can soften the image, however it will increase rendering time. Default=Depends on the Filter type you choose: ■ Box filter: Width=1.0, Height=1.0 ■ Gauss filter: Width=3.0, Height=3.0 ■ Triangle filter: Width=2.0, Height=2.0 ■ Mitchell filter: Width=4.0, Height=4.0 ■ Lanczos filter: Width=4.0, Height=4.0 Spatial Contrast group This control sets the contrast value used as thresholds to control sampling. Spatial contrast applies to each still image. If neighboring samples in a frame differ by more than this color, the mental ray renderer does recursive supersampling (that is, more than one sample per pixel), up to the depth specified by the Maximum samples per pixel on page 7190 value. Increasing the Spatial Contrast values decreases the amount of mental ray Renderer | 7191 sampling done, and can speed the rendering of a scene at the cost of image quality. ■ R, G, BSpecify the threshold values for the red, green, and blue components of samples. These values are normalized, and range from 0.0 to 1.0, where 0.0 indicates the color component is fully unsaturated (black, or 0 in eight-bit encoding) and 1.0 indicates the color component is fully saturated (white, or 255 in eight-bit encoding). Default=(0.05, 0.05, 0.05). ■ ASpecifies the threshold value for the alpha component of samples. This value is normalized, and ranges from 0.0 (fully transparent, or 0 in eight-bit encoding) to 1.0 (fully opaque, or 255 in eight-bit encoding). Default=0.05. ■ [color swatch]Click to display a Color Selector on page 304 to let you specify the R, G, and B threshold values interactively. Options group Lock Samples When on, the mental ray renderer uses the same sampling pattern for every frame of an animation. When off, the mental ray renderer introduces a quasi-random (Monte Carlo) variation in the sample pattern from frame to frame. Default=on. Varying the sample pattern reduces rendering artifacts in animations. Jitter Introduces a variation into sample locations; see Sampling on page 9288. Turning on Jitter can help reduce aliasing. Default=on. Bucket Width Determines the size of each bucket in pixels. Range=4 to 512 pixels. Default=48 pixels. To render the scene, the mental ray renderer subdivides the image into rectangular sections, or “buckets.” Using a smaller bucket size causes more image updates to be generated during rendering. Updating the image consumes a certain amount of CPU cycles. For scenes with little complexity, smaller buckets can increase the rendering time, while larger buckets can make things render faster. For more complex scenes, the reverse is true. Bucket Order Lets you specify the method by which mental ray chooses the next bucket. If you are using placeholders or distributed rendering, use the default Hilbert order. Otherwise, choose a method based on how you prefer to see the image appear as it renders in the Rendered Frame Window. ■ Hilbert (best)(The default.) The next bucket chosen is the one that will trigger the fewest data transfers. 7192 | Chapter 18 Rendering TIP Always use Hilbert order when you use placeholders (see the Translator Options rollout on page 7240) or distributed rendering (see the Distributed Bucket Rendering rollout on page 7249). ■ SpiralThe buckets begin at the center of the image, and spiral outward. ■ Left to rightBuckets are rendered in columns, from bottom to top, left to right. ■ Right to leftBuckets are rendered in columns, from bottom to top, right to left. ■ Top-downBuckets are rendered in rows, from right to left, top to bottom. ■ Bottom-upBuckets are rendered in rows, from right to left, bottom to top. Frame Buffer Type Lets you choose the bit depth of the output frame buffer: ■ Integer (16 bits per channel)Outputs 16 bits per channel of color information.This is the default output format. ■ Floating-Point (32 bits per channel)Outputs 32 bits per channel of color information. This method supports high-dynamic-range imagery (HDRI). mental ray Renderer | 7193 NOTE When you render an image with floating-point, 32-bit output, you might see jagged edges in bright areas such as self-illuminated objects or reflections of light sources. The reason is that in floating-point rendering, the brightness of a pixel can be greater than 1 (“whiter than white,” so to speak). 7194 | Chapter 18 Rendering Above: In a 16-bit rendering, bright highlights are muted. Below: In a 32-bit rendering, bright highlights (on the lamp chains and the mirror), are strong and jagged. For example, suppose a pixel is sampled four times, and an object occludes the pixel one of those times. In a 16-bit rendering, this results in a 25 percent grayscale value for the pixel. The same thing happens in a 32-bit rendering, unless the object is bright. In that case, the pixel might be 20 times brighter than its surroundings, so the result does not blend into its surroundings, and the rendered highlight appears to be jagged or “aliased.” While this effect is apparent in the 3ds Max Rendered Frame Window, it is only apparent: if you use the image in a compositing program that handles HDRI images, for example, or open it and adjust its levels in an image-processing program such as Photoshop, the image appearance will be correct. Rendering Algorithms Rollout (mental ray Renderer) Render Setup dialog on page 6956 ➤ Renderer panel ➤ Rendering Algorithms rollout The controls in this rollout let you choose whether to render using ray-tracing, scanline rendering, or both. You can also choose the method used to accelerate ray-tracing. The Trace Depth controls the number of times each ray can be reflected, refracted, or both. Procedures To set trace depth for reflections and refractions: 1 Count the number of times you want an object to be reflected or refracted in the scene. 2 On the mental ray: Rendering Algorithms rollout, turn on Enable Reflections and enable Refractions. 3 Set Max. Reflections to the number of reflections you want, and Max. Refractions to the number of refractions you want. mental ray Renderer | 7195 4 Set Max. Trace Depth to the sum of the values for Max Reflections and Max Refractions. The greater the number of reflections and refractions, the more slowly your scene will render. On the other hand, too low a value for Max. Reflections or Max. Refractions (or Max. Trace Depth, controlling both) can make your rendering look unrealistic. Interface By default, Scanline is off and Ray Tracing is enabled for accurate rendering. Scanline rendering is used for direct illumination (“primary rays”) only; ray 7196 | Chapter 18 Rendering tracing is used for indirect illumination (caustics and global illumination) as well as reflections, refractions, and lens effects. You can use both options together or disable either option, but not both. For example, if only Ray Tracing is enabled and you turn it off, 3ds Max enables Scanline rendering. Scanline group Enable When on, the renderer can use scanline rendering. When off, the renderer uses the ray-tracing method only. Scanline rendering is faster than ray tracing, but cannot generate reflections, refractions, shadows, depth of field, or indirect lighting. Default=off. Use Fast Rasterizer (Rapid Motion Blur) When on, uses a fast rasterizer method to generate the first generation of rays to trace. This can improve rendering speed. Default=off. This option works well with object motion blur, and also with scenes that have no motion blur. The following settings are available for the fast rasterizer: ■ Samples per PixelControls the number of samples per pixel used by the fast rasterizer method. More samples result in greater smoothness, at a cost of render time. Range=1 to 225. Default=16. ■ Shades per PixelControls the approximate number of shading calls per pixel. Greater values result in more accurate renderings, at a cost of render time. Range=0.1 to 10000 (ten thousand). Default=2.0. NOTE mental ray provides a Time Samples setting specifically for motion blur in the fast rasterizer. When Use Fast Rasterizer is on, the Camera Effects rollout ➤ Time Samples on page 7205 label changes to Time Samples (Fast Rasterizer) to indicate that this version of Time Samples is now in effect. Ray Tracing group Enable When on, mental ray uses ray tracing to render reflections, refractions, lens effects (motion blur and depth of field), and indirect lighting (caustics and global illumination). When off, the renderer uses the scanline method only. Ray tracing is slower but more accurate and more realistic. Default=on. To render reflections, refractions, depth of field, and indirect lighting (caustics and global illumination), Ray Tracing must be enabled. Use Autovolume When on, uses the mental ray autovolume mode. This lets you render nested or overlapping volumes such as the intersection of two mental ray Renderer | 7197 spotlight beams. Autovolume also allows a camera to move through the nested or overlapping volumes. Default=off. To use Autovolume, Ray Trace must be on, Scanline must be off, and the shadow mode must be set to Segments. (You set the shadow mode on the Shadows And Displacement rollout on page 7209.) If these conditions aren't met when you click to turn on Autovolume, an alert warns you about this, and gives you the option of making the appropriate setting changes. Raytrace Acceleration Group Method The drop-down list sets which algorithm to use for raytrace acceleration on page 9278. The other controls in this group box change, depending on which acceleration method you choose. These are the alternatives: ■ BSP The BSP method has Size and Depth controls. See Ray-Trace Acceleration: Parameters for the BSP Method on page 7200. This method is the fastest on a single-processor system. Use it for small-to-medium size scenes on a single processor. BSP is also the best method to use when ray tracing is turned off. ■ BSP2 (The default.) The BSP2 method is configured automatically by mental ray and has no controls. This method is optimized for large, static scenes; for example, a fully-furnished cafeteria. BSP2 requires less memory than BSP and is able to flush memory when necessary. However, there could be a small performance loss when using it with smaller scenes. Reflections/Refractions group Trace depth controls the number of times a light ray can be reflected or refracted. At 0, no reflection or refraction occurs. Increasing these values can increase the complexity and realism of a scene, at a cost of greater rendering time. TIP In some cases, you might want to set Max. Refractions high and Max. Reflections low. For example, you might have the camera looking through several glasses that are lined up, so they're overlapping from the camera's point of view. In this situation, you might want the light rays to refract twice for each glass (once for each layer), so you'd set Max. Refractions to 2 x [number of glasses]. However, to save rendering time, you could set Max. Reflections to 1, resulting in accurate multi-layer refraction with a relatively fast rendering time. 7198 | Chapter 18 Rendering Max. Trace Depth Limits the combination of reflection and refraction. Tracing of a ray stops when the total number of reflections and refractions reaches the Max. Trace Depth. For example, if Max. Trace Depth is set to 3 and the two trace depths are both set to 2, a ray can be reflected twice and refracted once, or vice-versa, but it can’t be reflected and refracted four times. Default=6. Enable Reflections When on, mental ray traces reflections. Turn off to improve performance when you don’t require reflections. This control is also available on the Rendered Frame Window ➤ lower panel, as the leftmost position of the Glossy Reflections Precision on page 6976 slider. ■ Max. ReflectionsSets the number of times a ray can be reflected. At 0, no reflection occurs. At 1, the ray can be reflected once only. At 2, the ray can be reflected twice, and so on. Default=4. This control is also available on the Rendered Frame Window ➤ lower panel, as the Max. Reflections on page 6977 parameter. Enable Refractions When on, mental ray traces refraction. Turn off to improve performance when you don’t require refraction. This control is also available on the Rendered Frame Window ➤ lower panel, as the leftmost position of the Glossy Refractions Precision on page 6976 slider. ■ Max. RefractionsSets the number of times a ray can be refracted. At 0, no refraction occurs. At 1, the ray can be refracted once only. At 2, the ray can be refracted twice, and so on. Default=6. This control is also available on the Rendered Frame Window ➤ lower panel, as the Max. Refractions on page 6977 parameter. Subset Pixel Rendering group Render changes to selected objects only When on, rendering the scene applies only to selected objects. Unlike using the Selected on page 6995 option for rendering, however, using this option takes into account all scene elements that affect its appearance. This includes shadows, reflection, direct and indirect lighting, and so on. Also, unlike Selected, which replaces the entire contents of the Rendered Frame Window (except for selected objects) with the background color, this option replaces only pixels used by the re-rendered selected objects. Subset pixel rendering is particularly useful when performing iterative rendering and refinement of lighting, shadows, and other scene elements for a particular object or set of objects in the scene. It lets you re-render repeatedly to view the results of isolated changes without disturbing the rest of the rendered output. mental ray Renderer | 7199 This setting is also available on the Rendered Frame Window, as Subset Pixels (of selected objects) on page 6967. Ray-Trace Acceleration: Parameters for the BSP Method Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Renderer panel ➤ Rendering Algorithms rollout ➤ Raytrace Acceleration group ➤ Choose BSP as the Raytrace Acceleration method. Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Renderer panel ➤ Rendering Algorithms rollout ➤ Raytrace Acceleration group ➤ Choose BSP as the Raytrace Acceleration method. When you choose BSP as the Raytrace Acceleration method on the Rendering Algorithms rollout on page 7195, the parameters described here are displayed. BSP stands for Binary Space Partitioning. NOTE If the scene contains too many faces (triangles) to fit in a tree of the size specified by the Size and Depth parameters, mental ray disregards the Size value and creates larger leaf nodes. This can significantly slow down rendering. To avoid this problem, increase the value of Depth. Interface Size Sets the maximum number of faces (triangles) in the leaf of a BSP tree. Increasing the Size value reduces memory consumption but increases rendering time. Default=10. Depth Sets the maximum number of levels in the BSP tree. Increasing the Depth value reduces rendering time, but increases memory consumption and preprocessing time. Default=40. TIP For large scenes, increasing the Depth value to 50 or more can greatly improve rendering time. 7200 | Chapter 18 Rendering Camera Effects Rollout (mental ray Renderer) Render Setup dialog on page 6956 ➤ Renderer panel ➤ Camera Effects rollout Note: The Camera Effects rollout appears only when the mental ray renderer is the currently active renderer. The controls in this rollout are for the camera effects depth of field on page 7148 and motion blur on page 7147, as well as for contour shading on page 7168 and adding camera shaders. Procedures To use depth of field for a Camera view: 1 On the camera’s Parameters rollout, in the Multi-Pass Effect group, turn on Enable and choose Depth Of Field (mental ray). 2 Set the camera’s target distance to the range at which you want objects to be clearly in focus. For a Target camera, you can select the camera’s target object and move it. For a Free camera, you adjust the Target Distance on the Parameters rollout. 3 On the Camera’s Depth Of Field rollout, decrease the f-Stop value to narrow the depth of field, or increase the f-Stop value to broaden the depth of field. You might need to experiment with f-Stop values to get the effect you want. 4 Render the scene. To use depth of field for a Perspective view: 1 On the Render Setup dialog, go to the Renderer panel ➤ Camera Effects rollout, and in the Depth Of Field (Perspective Views Only) group, turn on Enable. 2 Set the Focus Plane distance to the range at which you want objects to be clearly in focus. 3 Decrease the f-Stop value to narrow the depth of field, or increase the f-Stop value to broaden the depth of field. You might need to experiment with f-Stop values to get the effect you want. If you have trouble getting good results with f-Stop, use the mental ray Renderer | 7201 drop-down list to change the method to In Focus Limits, then adjust the Near and Far values to enclose the region of the scene you want to be clearly in focus. 4 Render the scene. To use motion blur: 1 Select each object you want to be blurred by motion, right-click and choose Properties, then on the Object Properties dialog ➤ General panel, make sure that in the Motion Blur group, Enable is turned on and Object is chosen. The mental ray renderer won't generate motion blur if Image is the chosen type. 2 On the Render Setup dialog, go to the Renderer panel ➤ Camera Effects rollout, and in the Motion Blur group turn on Enable. NOTE With the mental ray renderer, don't use Motion Blur as a Multi-Pass Effect. 3 Increase the Shutter value to increase the blurriness caused by motion blur. 4 On the Render Setup dialog, go to the Rendering Algorithms rollout, and make sure Ray Trace is turned on. Motion blur is not rendered when the mental ray renderer uses scanlines only. 5 Render the scene. To render with contours: 1 Use the mental ray Connection rollout to assign a contour shader to an object's material. The mental ray material also lets you assign a contour shader. 2 On the Render Setup dialog ➤ Renderer panel ➤ Camera Effects rollout, in the Contours group, turn on Enable. 3 Change the contour shaders if you wish. 7202 | Chapter 18 Rendering NOTE A number of Contour Output shaders are available, but by default, only one Contour Contrast and one Contour Store shader are provided with 3ds Max. You can adjust the contour contrast shader's settings; the contrast store shader has no parameters. 4 Render the scene. To assign a camera shader: 1 Click the button for a camera Lens, Output, or Volume shader. The Material/Map Browser is displayed. 2 Choose a shader from the Browser list, and then click OK. To adjust the settings for a contour or camera shader assigned on this rollout: 1 Open the Material Editor. If you need to, arrange the open dialogs so you can see the Material Editor and the Render Setup dialog at the same time. 2 Drag the shader button from the Render Setup dialog to an unused sample slot in the Material Editor. An Instance (Copy) Map dialog is displayed. Be sure to choose Instance, and then click OK. If you don't choose Instance, changes you make to the shader settings in the Material Editor won't have any effect on the Render Setup dialog. TIP If you forgot to choose Instance, change the shader settings as you choose, and then drag the shader's sample slot or its Type button back to the button in the Render Setup dialog. This updates the Render Setup dialog copy of the shader. The Material Editor displays the shader parameters rollout. 3 Adjust the parameters. mental ray Renderer | 7203 Interface Motion Blur group TIP mental ray motion blur is not recommended for use with particle systems, as this can increase rendering time considerably. Use a Particle MBlur map on page 6728 instead. NOTE Motion blur with the mental ray renderer does not always follow curving trajectories. Increasing the value of Motion Segments can help, but this works better for rotary motion than for traveling motion. The Rendering Control Properties (lower-right) quad of the rendering quad menu (Ctrl+Alt+right-click) has a Motion Blur toggle for a single, selected 7204 | Chapter 18 Rendering object. You can turn on Motion Blur for lights and cameras: moving lights and cameras can generate motion blur when rendered with mental ray. Enable When on, the mental ray renderer calculates motion blur on page 7147. Default=off. Blur All Objects Applies motion blur to all objects, regardless of their object property setting. Default=on. Shutter Duration (frames) Simulates the shutter speed of a camera. At 0.0, there is no motion blurring. The greater the Shutter Duration value, the greater the blurring. Default=0.5. Shutter Offset (frames) Sets the beginning of the motion-blur effect relative to the current frame. The default value, –0.25, centers the blurring slightly before the current frame for a photorealistic effect. Default=–0.25. Motion Segments Sets the number of segments for calculating motion blur. This control is for animations. If motion blur appears to be tangential to the actual motion of an object, increase the Motion Segments value. Larger values result in more accurate motion blur, at a cost of rendering time. Default=1. Time Samples When the scene uses motion blur, controls the number of times the material is shaded during each time interval (set by Shutter Duration on page 7205). Range=0 to 100. Default=5. By default, the material is shaded only once, and then blurred. If the material changes rapidly during the shutter interval, it might be useful to increase this value, in order to obtain more accurate motion blur. Rapid changes in reflections or refractions might require a higher Time Samples value. NOTE When Rendering Algorithms rollout ➤ Use Fast Rasterizer on page 7197 is on, the label for this parameter changes to Time Samples (Fast Rasterizer) to indicate that this version of Time Samples is now in effect. The default value for the Fast Rasterizer version of Time Samples is 1, and the range is 1 to 128. If you change the value for either version, 3ds Max remembers the changed setting when you switch. Contours group These controls enable contours, and let you use shaders to adjust the results of a contour shader on page 7168. You assign the primary contour shader to the Contour component of the mental ray Connection rollout on page 6215 or a mental ray material (see Advanced Shaders Rollout (mental ray Material) on page 6377). NOTE Contour shading does not work with distributed bucket rendering. mental ray Renderer | 7205 Enable When on, enables rendering of contours. Default=off. To change a shader assignment for adjusting contours, click a button. Default shaders are already assigned to the three components, as the button labels indicate. Contour Contrast The contour contrast component can be assigned the following shader: Shader Library Contour Contrast Function Levels contour Contour Store This component stores the data on which contours are based. It can be assigned the following shader, which has no parameters to set: Shader Library Contour Store Function contour Contour Output The contour output component can be assigned one of these shaders: Shader Library Contour Composite contour Contour Only contour Contour PS (PostScript) contour To adjust the settings for a shader assigned to one of these components, drag the shader's button to an unused Material Editor sample slot. When prompted to use an instance or a copy, be sure to choose Instance. (If you edit a copy of the shader, you will have to drag the sample slot back to the shader button on the Camera Effects rollout before you see any changes take effect.) Camera Shaders group These controls let you assign mental ray camera shaders. Click a button to assign a shader to that component. After a shader is assigned, its name appears on the button. Use the toggle on the left to temporarily disable a shader that has been assigned. 7206 | Chapter 18 Rendering Lens Click to assign a lens shader. This component can be assigned one of these shaders: Shader Library Distortion lume mr Physical Sky on page 5893 3ds Max Night lume Render Subset of Scene/Masking on page 3ds Max 6852 Shader List on page 6840 (Lens) 3ds Max Utility Gamma & Gain on page 6851 3ds Max Wrap Around lume Output Click to assign a camera output shader. These are the output shaders you can assign: Shader Library Glare Shader (mental ray) on page 6827 (The lume default.) HDR Image Motion Blur on page 6856 3ds Max Motion Vector Export on page 6854 3ds Max Shader List on page 6840 (Output) lume Volume Click to assign a volume shader to the camera. These are the volume shaders you can assign: Shader Library Beam lume Material to Shader on page 6832 3ds Max Mist lume mental ray Renderer | 7207 Shader Library mr Physical Sky on page 5893 3ds Max Parti Volume physics Shader List on page 6840 (Volume) 3ds Max Submerge lume NOTE You can also assign Volume shaders to the Volume component of the mental ray Connection rollout on page 6215 and the mental ray material (see Material Shaders Rollout (mental ray Material) on page 6370). Depth of Field (Perspective Views Only) group These controls are comparable to the depth-of-field controls for cameras. They apply only to Perspective viewports. You can render depth-of-field effects for either Camera or Perspective views. Depth-of-field effects don’t appear when you render orthographic viewports. For a Perspective view, use the controls in this group. For a Camera view, choose “Depth Of Field (mental ray)” as the multi-pass rendering effect, then adjust the f-Stop setting. See Depth of Field Parameter (mental ray Renderer) on page 5950. Enable When on, the mental ray renderer calculates depth-of-field on page 7148 effects when rendering a Perspective view. Default=off. [method drop-down list] Lets you choose the method for controlling depth-of-field. Default=f-Stop. ■ f-StopControls depth-of-field with the f-Stop setting. ■ In Focus LimitsControls depth-of-field with the Near and Far values. In most cases, the f-Stop method is easier to use. The In Focus Limits method can help when the scale of objects in the scene makes it difficult to control depth of field using the f-Stop value alone. Focus Plane For Perspective viewports, sets the distance from the camera, in 3ds Max units, at which the scene is completely in focus. Default=100.0. For Camera viewports, the focus plane is set by the camera's target distance. 7208 | Chapter 18 Rendering f-Stop When f-Stop is the active method, sets the f-stop for use when you render Perspective views. Increasing the f-stop value broadens the depth of field, and decreasing the f-stop value narrows the depth of field. Default=1.0. The f-Stop can have a value less than 1.0. This is not realistic in terms of an actual camera, but it can help you adjust the depth of field for scenes whose scale does not use realistic units. Near and Far When In Focus Limits is the active method, these values set the range, in 3ds Max units, within which objects are in focus. Objects lose focus when they are closer than the Near value or farther than the Far value. These values are approximate, because the transition from in-focus to out-of-focus is gradual, not abrupt. The Near and Far values are related to each other and to the value of Focus Plane. Changing the value of Near changes Far as well, and vice versa. Specifically, if H = Hyperfocal distance, the Focus Plane value at which the Far limit becomes infinity D = The Focus Plane distance Dn = The Near distance Df = The Far distance Then Dn = HD / (H + D) Df = HD / (H − D) Shadows & Displacement Rollout (mental ray Renderer) Render Setup dialog on page 6956 ➤ Renderer panel ➤ Shadows & Displacement rollout Note: The Shadows & Displacement rollout appears only when the mental ray renderer is the currently active renderer. mental ray Renderer | 7209 The controls in this rollout affect shadows on page 7145 and displacement on page 7167. NOTE You can disable displacement globally by turning off Displacement in the Options group on the Common Parameters rollout on page 7020. Interface Shadows group Enable When on, the mental ray renderer renders shadows. When off, no shadows are rendered. Default=on. When Enable is off, the other shadow controls are unavailable. Mode The shadow mode can be Simple, Sort, or Segments. Default=Simple. ■ SimpleCauses the mental ray renderer to call shadow shaders in a random order. ■ SortCauses the mental ray renderer to call shadow shaders in order, from the object to the light. Sort applies to third-party, external shadow shaders on page 9302. ■ SegmentsCauses the mental ray renderer to call shadow shaders in order along the light ray from the volume shaders to the segments of the light ray between the object and the light. 7210 | Chapter 18 Rendering TIP Choose Simple for regular shadows, Segments for volume shadows. Shadow Maps group These controls specify a shadow map on page 9305 used to render shadows. When you specify a shadow map file, the mental ray renderer uses the shadow map instead of ray-traced shadows. To stop using a shadow map and use ray-traced shadows, delete the map's name from the file name field. Enable When on, the mental ray renderer renders shadow-mapped shadows. When off, all shadows are ray-traced. Default=on. When Enabled is off, the other controls in this group are unavailable. If shadows are enabled but shadow maps are not enabled, then shadows for all lights are generated using the mental ray ray-tracing algorithm. If shadow maps are enabled, then shadow generation is based on each light’s choice of shadow generator: ■ mental ray Shadow MapShadows are generated using the mental ray shadow-map algorithm. ■ Shadow MapSettings on the Shadow Parameters rollout are translated into a mental ray equivalent before shadows are generated. The quality of shadows generated this way might not always meet expectations. ■ Area Shadows, Advanced Ray Traced Shadows, or Ray Traced ShadowsShadows are generated using the mental ray ray-tracing algorithm. Motion Blur When on, the mental ray renderer applies motion blur on page 7147 to shadow maps. Default=on. WARNING Turning on Motion Blur for both cameras and shadows can cause shadows to shift position. To avoid this effect, turn on motion blur for cameras only. Rebuild (Do Not Re-Use Cache) When on, the renderer saves the recalculated shadow map (.zt) file on page 9356 to the file specified by the Browse button. Default=on. ■ Use FileWhen on, the mental ray renderer either saves the shadow map to a ZT file, or loads an existing file. The state of Rebuild determines whether the ZT file is saved or loaded. This option is unavailable until you click the ellipsis button (see following) to provide a name for the ZT file. mental ray Renderer | 7211 ■ ... [browse]Click to display a file selector dialog, which lets you specify a name for the shadow map ZT file and the folder where it is saved. ■ File nameAfter you specify a shadow map file (see preceding), this field displays its name and path. ■ Delete FileClick to delete the current ZT file. Displacement group View Defines the space for displacement. When View is on, the Edge Length specifies the length in pixels. When off, the Edge Length is specified in world space units. Default=on. Smoothing Turn off to have the mental ray renderer correctly render height maps. Height maps can be generated by normal mapping; see Creating and Using Normal Bump Maps on page 7320. When using only height maps in the scene, make sure this option is off. If some objects in the scene use height maps while others use standard displacement, apply smoothing on a per-object basis (see mental ray Panel (Object Properties Dialog) on page 236). When on, mental ray simply smoothes the geometry using the interpolated normals, making the geometry look better. This result, however, cannot be used for height map displacement because smoothing affects geometry in a way that is incompatible with height mapping. Edge Length Defines the smallest potential edge length due to subdivision. The mental ray renderer stops subdividing an edge once it reaches this size. Default=2.0 pixels. Max. Displace Controls the maximum offset, in world units, that can be given to a vertex when displacing it. This value can affect the bounding box of an object. Default=20.0. TIP If displaced geometry appears to be “clipped,” try increasing the value of Maximum Displace. NOTE When using placeholders (see the Translator Options rollout on page 7240), if this value is larger than it needs to be, it can reduce performance. If you experience slow rendering times with displaced objects when Use Placeholder Objects is on, try lowering the Max. Displace value. Max. Subdiv. Controls the extent to which mental ray can recursively subdivide each original mesh triangle for displacement. Each subdivision 7212 | Chapter 18 Rendering recursion potentially divides a single face into four smaller faces. Choose the value from the drop-down list. Range=4 to 64K (65,536). Default=16K (16,384). For example, using the default value means that mental ray can subdivide each displaced mesh triangle into as many as 16,384 smaller triangles. Indirect Illumination Panel Render Setup dialog on page 6956 ➤ Indirect Illumination panel Note: The Indirect Illumination panel appears only when mental ray is the active renderer. The Indirect Illumination panel controls provide methods for rendering bounced light within an environment, including final gathering, caustics, and photons. Final Gather Rollout (mental ray Renderer) Render Setup dialog on page 6956 ➤ Indirect Illumination panel ➤ Final Gather rollout Note: The Indirect Illumination panel appears only when the mental ray renderer is the currently active renderer. Final gathering is a technique for estimating global illumination for a given point by either sampling a number of directions over the hemisphere over that point (such a set of samples is called a final gather point), or by averaging a number of nearby final gather points since final gather points are too expensive to compute for every illuminated point. In the former case, the hemisphere orientation is determined by the surface normal of the triangle on whose surface the point lies. For diffuse scenes, final gathering often improves the quality of the global illumination solution. Without final gathering, the global illumination on page 7228 on a diffuse surface is computed by estimating the photon density (and energy) near that point. With final gathering, many new rays are sent out to sample the hemisphere above the point to determine the incident illumination. Some of these rays strike diffuse surfaces, and the global illumination at those points is then computed by the material shaders at these point, using illumination from the photon map, if available, and from other material properties. Other rays strike specular surfaces and do not contribute to the final gather color (since that type of light transport is a secondary caustic). Tracing many rays (each with a photon map lookup) is very mental ray Renderer | 7213 time-consuming, so it is done only when necessary. In most cases, interpolation and extrapolation from nearby final gathers is sufficient. Final gathering is also useful without photon tracing; in fact, this is the recommended method of indirect lighting for non-expert users. By default it takes only first-bounce indirect light into account, but you can obtain physically accurate results by increasing the number of bounces on page 7219 to between 3 and 7 and using a high values for density on page 7218 and ray count on page 7218. Interior rendered with final gathering only, lit by daylight only Final gathering is useful in scenes with slow variation in the indirect illumination, such as purely diffuse scenes. For such scenes, final gathering eliminates photon map artifacts such as low-frequency noise and dark corners. With final gathering, fewer photons are needed in the photon map and, because each final gather averages over many values of indirect illumination, lower accuracy is sufficient. In film production work, final gathering increasingly replaces photon mapping, except for caustics. Without multiple-bounce effects, which are performed by photons by default and by final gathering only if the shaders adjusts the trace depth, tends to have far less impact on the final image than the first bounce that final gathering supports by default. Although physical correctness is lost, this is often sufficient for film production, and final gathering is easier to control than photons emanating from distant light sources. However, for accurate indoor illumination simulations and other CAD-related applications, photon mapping is still the method of choice. 7214 | Chapter 18 Rendering Procedure You can find additional procedures for using final gather in rendering animations here on page 7232. To use an environment map as a final gather light source: Illumination from which final gathering is derived can be provided by an actual light source, of course, but it can also be provided by an object to which a self-illuminated material is applied, or even an environment map. In the latter case, follow this procedure: 1 Add a skylight on page 5771 to the scene. 2 Do either of the following: ■ On the Skylight Parameters rollout, make sure Sky Color (the default) is chosen, click the map button (“None”) to open the Material/Map Browser dialog and then choose a map. ■ On the Skylight Parameters rollout, choose Use Scene Environment. Use the Environment panel on page 7621 controls to assign an environment map. Thereafter, rendering with final gather enabled take the skylight map into account when calculating final gather illumination. TIP For extra realism, use an HDR image on page 8448 as a Bitmap map image on page 6636. Interface NOTE The Final Gather Map controls found on this rollout in releases prior to 3ds Max 2010, are now on the Reuse (FG and GI Caching) rollout on page 7231. mental ray Renderer | 7215 Basic group Enable Final Gather When on, the mental ray renderer uses final gathering on page 9160 to create global illumination or to improve its quality. Default=on. The leftmost position of the Final Gather Precision on page 6975 slider on the lower panel of the Render Frame Window also turns off Enable Final Gather. 7216 | Chapter 18 Rendering TIP Without final gathering, global illumination can appear to be patchy, but final gathering increases rendering time. Leave Enable Final Gather off to preview the scene, and then turn it on for the finished rendering. (Increasing the number of photons used to calculate global illumination can also improve global illumination.) Multiplier/color swatch Adjust these settings to control the intensity and color of the indirect light accumulated by final gathering. The default values, 1.0 and white, produce physically correct rendering. These settings are useful for adjusting the contribution of the final gather effect, thus improving the quality of an image. FG Precision Presets Provides a quick, easy solution for final gather. The default presets are: Draft, Low, Medium, High, Very High, and Custom (the default choice). Available only when Enable Final Gather is on. The presets affect the following settings: ■ Initial FG Point Density ■ Rays per FG Point ■ Interpolate Over Num. FG Points The preset settings are defined in the text file mentalray_fg_presets.ini, found in the \plugcfg folder in 3ds Max installation. You can modify the existing presets and add new ones by editing this file. This setting is also available on the Rendered Frame Window, as Final Gather Precision on page 6975. Project FG Points ... Choose a method for avoiding or minimizing the final-gather “flickering” that can result from rendering an animation with a still or moving camera, especially when the scene also contains moving light sources and/or moving objects. ■ Project FG Points From Camera PositionDistributes final gather points from a single viewpoint. Use this when the camera from which you’re rendering the animation does not move, thus saving rendering time. ■ Project Points from Positions Along Camera PathDistributes final gather points across multiple viewpoints. Use this when the camera from which you’re rendering an animation moves, especially if you’re seeing flickering in areas that are lit mainly by final gathering. This method can result in slightly longer rendering times. Also, when using this method, set the Divide Camera Path by Num. Segments parameter to an appropriate value, and increase the Initial FG Point Density setting (see following). mental ray Renderer | 7217 NOTE This method is most effective for relatively brief shots from a camera that doesn’t move very quickly. If you’re rendering an animation in which the camera moves a significance distance between frames, such as 30-frame dolly shot of a large stadium, you might achieve better results by using the Final Gather Map on page 7235 feature, generating a map for every frame, by itself, or combined with “Project Points ...”. For procedures that describe how to achieve flicker-free animations in different situations, see this section on page 7232. NOTE When you use this method, before rendering each animation frame, the Rendered Frame Window shows the final-gathering precalculation for all segments. Divide Camera Path by Num. Segments Choose from the drop-down list the number of segments into which to divide the camera path when using the Project Points from Positions Along Camera Path option (see preceding). The available values are squares of the numbers 1 to 10. You’ll need to determine the best value experimentally, but as a rule of thumb, set the number of segments to at least one per 15 or 30 frames. Also, when increasing this setting, be sure to set Initial FG Point Density higher. Again, you’ll need to experiment, as the optimal setting depends very much on the scene contents, lighting, and so on. Start with a low value and increase until the results look good. Initial FG Point Density A multiplier for the density of final gather points. Increasing this value increases the density (and thus the quantity) of final gather points in the image. The points will therefore be closer together and more numerous. This parameter is useful for solving geometry problems; for example, near edges or corners. Default=1.0. TIP When adjusting final render settings it's often helpful to visualize the final gather points; to do so, turn on Diagnostics on page 7247 and choose the Final Gather option. Rays per FG Point Sets how many rays are used to compute indirect illumination in a final gather. Increasing this value makes global illumination less noisy, but also increases rendering time. Default=250. Interpolate Over Num. FG Points Controls the number of final gather points that are used for an image sample. It is useful for solving noise problems and getting smoother results. 7218 | Chapter 18 Rendering For each final gather point, mental ray interpolates (averages) indirect light values over the nearest N final gather points, with N specified by the value of this parameter, as opposed to points within the specified radii as with the alternate method on page 7223. Increasing the value increases the smoothness of the result, and the required number of calculations, hence the render time (but not as much as you might expect). This setting is unavailable when Use Radius Interpolation Method on page 7223 is enabled. Diffuse Bounces Sets the number of times mental ray calculates diffuse light bounces for each diffuse ray. Default=0. Like Maximum Reflections and Maximum Refractions, this value is subject to the restriction of Max Depth. If you set Diffuse Bounces higher than Max Depth, the latter setting is automatically raised to the Diffuse Bounces value in the MI output file, but this is not reflected in the 3ds Max interface. This setting is also available on the Rendered Frame Window, as FG Bounces on page 6977. NOTE When Global Illumination on page 7228 is on, changing this setting has no effect. Weight Controls the relative contribution of the diffuse bounces to the final gather solution. The value scales from "using no diffuse bounces" (value=0.0) to "use full diffuse bounces" (value=1.0). Default=1.0. Advanced group Noise Filtering (Speckle Reduction) Applies a median filter using neighboring final gather rays that are shot from the same point. This parameter lets you choose a value from a drop-down list. The options are None, Standard, High, Very High, and Extremely High. Default=Standard. The practical effect of increasing the Noise Filtering value is to make the scene illumination smoother, at a cost of render time. However, increasing filtering can also make the illumination somewhat darker. Noise Filtering works by eliminating stray rays that are considerably brighter than most of the rest. For example, in a situation in which most of the rays are within 10 percent of each others’ brightness, but a few are 50 percent brighter than the rest, using Noise Filtering will tend to disregard the latter rays in computing the Final Gather solution. As a result, in low-light situations, setting Noise Filtering=None can greatly increase the overall illumination. In the following rendered image, an interior scene, lit only by skylight entering through the window, is very dark with Noise Filtering set to Standard (Diffuse Bounces=1). mental ray Renderer | 7219 Noise Filtering=Standard In the next illustration, the same scene renders much brighter with Noise Filtering set to None. Note, however, the unevenness of the illumuniation. 7220 | Chapter 18 Rendering Noise Filtering=None In cases like this, you can achieve superior results with slightly longer rendering times by setting Noise Filtering to Standard and using a sky portal on page 5898 in the window opening, as shown in the following illlustration: mental ray Renderer | 7221 Noise Filtering=Standard + Sky Portal The above illustration is also improved by the realistic shadows cast by the chair and table legs from the Sky Portal light. Draft Mode (No Precalculations) When on, final gathering skips the precalculation phase. This results in a rendering with artifacts, but begins rendering more quickly, so it can useful when you want to do a series of trial renderings. Default=off. Trace Depth group The Trace Depth controls are similar to those for calculating reflections and refractions, but they refer to the light rays used by final gathering, rather than to rays used in diffuse reflection and refraction. Max. Depth Limits the combination of reflection and refraction. Reflection and refraction of a light ray stop when the total number of both equals the Maximum Depth setting. For example, if Maximum Depth equals 3 and the trace depths each equal 2, a ray can be reflected twice and refracted once, or vice versa, but it can’t be reflected and refracted four times. Default=2. 7222 | Chapter 18 Rendering Max. Reflections Sets the number of times a ray can be reflected. At 0, no reflection occurs. At 1, the ray can be reflected once only. At 2, the ray can be reflected twice, and so on. Default=5. Max. Refractions Sets the number of times a ray can be refracted. At 0, no refraction occurs. At 1, the ray can be refracted once only. At 2, the ray can be refracted twice, and so on. Default=5. Use Falloff (Limits Ray Distance) When on, uses the Start and Stop values to limit the length of light rays used for regathering before using the environment color. This can help improve regathering time, especially for scenes that are not fully enclosed by geometry. Default=off. ■ StartSpecifies the distance, in 3ds Max units, at which rays begin. You can use this value to exclude geometry that is too close to the light source. Default=0.0. ■ StopSpecifies the maximum length, in 3ds Max units, of a light ray. If the ray reaches this limit without encountering a surface, then the environment is used for shading. Default=0.0. FG Point Interpolation group These settings provide access to the legacy method of final gather point interpolation. Use Radius Interpolation Method When on, makes the remaining controls in this group available. Also makes the Interpolate Over Num. FG Points check box on page 7218 unavailable, indicating that these controls override that setting. Radius When on, sets the maximum radius within which final gathering is applied. Reducing this value can improve quality at a cost of rendering time. If Radii In Pixels is off, the radius is specified in world units, and defaults to 10 percent of the maximum circumference of the scene. If Radii In Pixels is on, default=5.0 pixels. If both Radii In Pixels and Radius are off, the maximum radius is the default value of 10 percent of the maximum scene radius, in world units. Radii in Pixels When on, the radii values are specified in pixels. When off, radii units depend on the value of the Radius toggle. Default=off. Min. Radius When on, sets the minimum radius within which final gathering must be used. Decreasing this value can improve render quality but increase rendering time. Unavailable unless Radius is turned on. Default=0.1. If Radii In Pixels is on, default=0.5. mental ray Renderer | 7223 TIP In general, increasing the point density on page 7218 is better than decreasing Min. Radius. TIP To minimize flickering in animations, keep the two Radius values as close to each other as possible. Caustics and Global Illumination Rollout (mental ray Renderer) Render Setup dialog on page 6956 ➤ Indirect Illumination panel ➤ Caustics and Global Illumination rollout Note: The Indirect Illumination panel appears only when the mental ray renderer is the active renderer. The controls in this rollout are for the effects of caustics on page 7154 and global illumination on page 7160. Procedures To render with caustics: 1 Select each object you want to generate caustics, either by reflection or refraction. Right-click and choose Properties, then on the mental ray panel of the Object Properties dialog, turn on Generate Caustics. Objects receive caustics by default. If you think this value might have changed for the objects you want to receive caustics, use those objects’ Object Properties dialog to make sure Receive Caustics is turned on. Also, to speed rendering time, you might want to turn off Receive Caustics for those objects that don’t need to show them. 2 On the Render Setup dialog, go to the Caustics And Global Illumination rollout and turn on Caustics. 3 Adjust the caustics parameters to get the effect you want. 4 Render the scene. 7224 | Chapter 18 Rendering To render with global illumination: Objects generate and receive global illumination by default. If you think these settings might have changed for any objects in the scene, use the Object Properties dialog to make sure the proper settings are enabled. 1 Select each object you want to generate and/or receive global illumination. Right-click and choose Properties, then on the mental ray panel of the Object Properties dialog, turn on Generate Global Illumination and/or Receive Global Illumination. Also, to speed rendering time, you might want to turn off Receive Global Illumination for those objects that don’t need it. 2 On the Render Setup dialog, go to the Indirect Illumination panel ➤ Caustics And Global Illumination rollout ➤ Global Illumination (GI) group and turn on Enable. 3 Adjust the global illumination parameters to get the effect you want. 4 For the final rendering, turn on Final Gather as well as Global Illumination. See Final Gather Rollout (mental ray Renderer) on page 7213. 5 Render the scene. Interface NOTE The Photon Map controls found on this rollout in releases prior to 3ds Max 2010, are now on the Reuse (FG and GI Caching) rollout on page 7231. mental ray Renderer | 7225 Caustics group IMPORTANT For caustics to render, you must also make sure to set up these other conditions in your scene: ■ At least one object must be set to generate caustics. This is off by default. 7226 | Chapter 18 Rendering ■ At least one object must be set to receive caustics. This is on by default. ■ At least one light must be set to generate caustics. This is off by default. The settings for generating and receiving caustics are located on the Object Properties dialog ➤ mental ray Panel on page 236. Enable When on, the mental ray renderer calculates caustics effects. Default=off. Multiplier/color swatch Use these to control the intensity and color of the indirect light accumulated by caustics. The defaults, 1.0 and white, produce physically correct rendering. This is useful for adjusting the contribution of the caustics effect, thus improving the quality of an image. Maximum Num. Photons per Sample Sets how many photons are used to compute the intensity of the caustic. Increasing this value makes caustics less noisy but also more blurry. Decreasing this value makes caustics more noisy but less blurry. The larger the Samples value, the greater the rendering time. Default=100. TIP To preview a caustic, set Samples to 20, then increase the value for a final rendering. Maximum Sampling Radius When on, the spinner value sets the size of photons. When off, each photon is calculated to be 1/100 of the radius of the full scene. Maximum Sampling Radius default=off; value default=1.0. In many cases, the default photon size (Radius=off) of 1/100 the scene size gives useful results. In other cases, the default photon size might be too large or too small. When photon reflections overlap, the mental ray renderer uses sampling to smooth them together. Increasing the number of samples increases the amount of smoothing and can create more natural-looking caustics. When photons have a small radius and don't overlap, the Samples setting has no effect. Low Radius values with a large number of photons result in dotty caustics. Filter Sets the filter to use for sharpening caustics. Can equal Box, Cone, or Gauss. The Box option requires less rendering time. The Cone option makes caustics appear sharper. Default=Box. The Gauss filter uses a Gauss (bell) curve, and can be smoother than the Cone filter. mental ray Renderer | 7227 Filter Size Controls the sharpness of caustics when you choose Cone as the caustic filter. This value must be greater than 1.0. Increasing the value makes caustics more blurry. Decreasing the value makes caustics sharper, but also slightly more noisy. Default=1.1. Opaque Shadows when Caustics Are Enabled When on, shadows are opaque. When off, shadows can be partially transparent. Default=on. Opaque shadows render more quickly than transparent shadows. Global Illumination (GI) group These settings let you control the usage of photons by mental ray for generating global illumination on page 7160. By default, all objects generate and receive global illumination. The settings for generating and receiving GI are located on the Object Properties dialog ➤ mental ray Panel on page 236. NOTE In order to render global illumination in mental ray, the photons must be able to bounce among two or more surfaces. This can be accomplished by having a single object with some concavity in its surface that’s exposed to the light source, or at least two objects, and at least one object must be set to receive global illumination (see mental ray Panel (Object Properties Dialog) on page 236). Otherwise you’ll receive error messages and no photons will be stored. Enable When on, the mental ray renderer calculates global illumination. Default=off. Multiplier/color swatch Use these to control the intensity and color of the indirect light accumulated by global illumination. The defaults, 1.0 and white, produce physically correct rendering. This is useful for adjusting the contribution of the GI effect, thus improving the quality of an image. Maximum Num. Photons per Sample Sets how many photons are used to compute the intensity of the global illumination. Increasing this value makes global illumination less noisy but also more blurry. Decreasing this value makes global illumination more noisy but less blurry. The larger the Samples value, the greater the rendering time. Default=500. TIP To preview global illumination, set Samples to 100, then increase the value for a final rendering. Maximum Sampling Radius When on, the numeric value sets the size of photons. When off, each photon is calculated to be 1/10 of the radius of the full scene. Default=off, 1.0. 7228 | Chapter 18 Rendering In many cases, the default photon size (Maximum Sampling Radius=off) of one-tenth the scene size gives useful results. In other cases, the default photon size might be too large or too small. When photons overlap, the mental ray renderer uses sampling to smooth them together. Increasing the number of samples increases the amount of smoothing and can create more natural-looking caustics. When photons have a small radius and don't overlap, the Samples setting has no effect. For global illumination, photons should overlap. To get good results, you might need to turn on Maximum Sampling Radius and increase the photon size. Merge Nearby Photons (saves memory) Enables reduction of the memory footprint of the photon map. When on, use the numeric field to specify the distance threshold below which mental ray merges photons. The result is a smoother, less-detailed photon map that uses significantly less memory. Default=off, 0.0. NOTE Loading a legacy file uses the default value of 0.0. Also, using a value of 0.0 is equivalent to turning the feature off. Optimize for Final Gather (Slower GI) If turned on before you render the scene, the mental ray renderer computes information to speed up the regathering process. Specifically, each photon stores additional information about how bright its neighbors are. This is particularly useful when combining Final Gather with Global Illumination, in which case the additional information allows Final Gather to quickly determine how many photons exist in a region. The fast lookup computation can take a long time, but it can greatly reduce the total rendering time. Default=off. The fast lookup computation can be can be stored as additional data inside a photon map file on page 9270, and then reused in subsequent renderings. Volumes group The controls in this group and the ones that follow are for the photon maps on page 9267 used to calculate caustics and global illumination. This group controls volumetric caustics. Volumetric caustics require a material to have a volume shader assign to its Photon Volume component. Maximum Num. Photons per Sample Sets how many photons are used to shade the volume. Default=100. Maximum Sampling Radius When on, the numeric setting determines the size of photons. When off, mental ray calculates each photon to be one-tenth the size of the scene extents on page 9293. Default: off; value=1.0. The numeric setting is unavailable when the check box is off. mental ray Renderer | 7229 Trace Depth group The Trace Depth controls are similar to those for calculating reflections and refractions, but they refer to the photons used by caustics and global illumination, rather than to rays used in diffuse reflection and refraction. Max. Depth Limits the combination of reflection and refraction. Reflection and refraction of a photon stop when the total number of both equals the Maximum Depth setting. For example, if Maximum Depth equals 3 and the trace depths each equal 2, a photon can be reflected twice and refracted once, or vice versa, but it can’t be reflected and refracted four times. Default=10. Max. Reflections Sets the number of times a photon can be reflected. At 0, no reflection occurs. At 1, the photon can be reflected once only. At 2, the photon can be reflected twice, and so on. Default=10. Max. Refractions Sets the number of times a photon can be refracted. At 0, no refraction occurs. At 1, the photon can be refracted once only. At 2, the photon can be refracted twice, and so on. Default=10. Light Properties group Controls in this group affect how lights behave when calculating indirect illumination. By default, the energy and photon settings apply to all lights in a scene. Use the mental ray Indirect Illumination rollout on page 5821 for light objects to adjust an individual light either by multiplying the global values, or by setting local values (using multipliers is the recommended method). Average Caustic Photons per Light Sets the number of photons emitted by each light for use in caustics. This is the number of photons in the photon map on page 9267 used for caustics. Increasing this value increases the accuracy of caustics, but also increases the amount of memory used and the length of render time. Decreasing this value improves memory usage and render time, and can be useful for previewing caustic effects. Default=10000. Average GI Photons per Light Sets the number of photons emitted by each light for use in global illumination. This is the number of photons in the photon map used for global illumination. Increasing this value increases the accuracy of global illumination, but also increases the amount of memory used and the length of render time. Decreasing this value improves memory usage and render time, and can be useful for previewing global-illumination effects. Default=10000. Decay Specifies how photon energy decays as it moves away from each light source. This value is given by 1/(distancedecay), where distance is the distance between the light source and an object, and decay is the value of this setting. Default=2.0. 7230 | Chapter 18 Rendering The most common values are: ■ 0.0The energy doesn't decay, and photons can provide indirect illumination throughout the scene. ■ 1.0The energy decays at a linear rate, proportionally to its distance from the light. That is, a photon's energy is 1/distance, where distance is the distance from the light source. ■ 2.0(The default.) The energy decays at an inverse square rate. That is, a photon's energy is the inverse of the square of the distance from the light source: 1/distance2. In the real world, light decays at an inverse square rate (Decay=2.0), but this gives strictly realistic results only if you provide a realistic value for the energy of the light. Other values of Decay can help you adjust indirect illumination without worrying about physical accuracy. NOTE Decay values of less than 1.0 are not recommended, and can cause rendering artifacts. Geometry Properties group All Objects Generate & Receive GI and Caustics When on, at rendering time, all objects in the scene can generate and receive caustics and global illumination, regardless of their local object properties settings. When off, an object's local object properties determine whether it generates or receives caustics or global illumination. Turning this on is an easy way to ensure that caustics and global illumination are generated, though it can increase rendering time. Default=off. This setting does not alter the object's local object properties settings for mental ray. When you turn off All Objects Generate & Receive GI And Caustics, the prior object properties settings are in effect once again. Reuse (FG and GI Caching) Rollout (mental ray Renderer) Render Setup dialog on page 6956 ➤ Indirect Illumination panel ➤ Caustics and Global Illumination rollout Note: The Indirect Illumination panel appears only when the mental ray renderer is the active renderer. The Reuse rollout gathers together all controls for generating and using final gather map (FGM) and photon map (PMAP) files, and adds the ability to reduce mental ray Renderer | 7231 or eliminate flickering in rendered animations by interpolating among final gather map files. Calculating final gather and photon map solutions often requires extensive calculation, so, when appropriate, caching the solutions as separate files can save a great deal of rendering time, especially when re-rendering an animation after, for example, adjusting the camera. Using cached solutions can also save time when rendering over a network; you can generate the cache files once, and then make them accessible to all machines on the network so they can dedicate themselves to the work of simply rendering the frames. For FGM files, you can choose to accumulate all final gather map points into a single file, or generate separate files for individual animation frames. With the latter method, you can then reduce animation flicker by interpolating among the map files when rendering. See also: ■ Final Gather Rollout (mental ray Renderer) on page 7213 ■ Caustics and Global Illumination Rollout (mental ray Renderer) on page 7224 Procedures To generate and then use a final gather solution when rendering a still image or walkthrough animation: This method uses a single final gather map file and is best for when objects don’t move in the scene. 1 On the Reuse rollout, set Mode to Single File Only. 2 Set the Final Gather Map method to Incrementally Add FG Points To Map Files. This automatically sets the default file name and path. You can use those, or change them by clicking the [...] (browse) button next to the file name field. 3 Click Generate Final Gather Map File Now. 3ds Max calculates the final gather solution for all frames and saves it to the specified file. 4 Set the Final Gather Map method to Read FG Points Only From Existing Map Files, and then render the scene. 7232 | Chapter 18 Rendering Now, as long as you don’t change the lighting or move objects in the scene, you can re-render as many times as you like without having to recalculate the final gather solution, thus saving a significant amount of rendering time. To generate and then use a final gather solution when rendering an animation with moving objects: This method uses multiple final gather map files and is best for when objects in the scene move during the animation. You can minimize final gather flickering by interpolating among the final gather solutions. When rendering an animation that contains both a moving camera and moving objects/lights, a special option is available for projecting final-gather points from regular intervals along the camera path; see step 1. 1 If the camera does not move during the animation, skip to step 2. However, if the camera moves through the scene during the animation, on the Final Gather rollout, choose Project Points from Positions Along Camera Path on page 7217 and set Divide Camera Path by Num. Segments on page 7218 to an appropriate value, based on the length of the camera path. Also, if you're using a large number of segments, increase the Initial FG Point Density setting on page 7218. 2 On the Reuse rollout, set Mode to One File Per Frame. 3 Set the Final Gather Map method to Incrementally Add FG Points To Map Files. This automatically sets the default file name and path. You can use those, or change them by clicking the [...] (browse) button next to the file name field. 4 Click Generate Final Gather Map File Now. 3ds Max calculates the final gather solution for each frame and saves it in a separate numbered file (for example: temp0000.fgm, temp0001.fgm, and so on). 5 Set the Final Gather Map method to Read FG Points Only From Existing Map Files. 6 To reduce final-gather flicker, set a value greater than 0 for Interpolate Over N Frames. This value determines the number of frames before and after the current frame over which the interpolation occurs. For example, the interpolation mental ray Renderer | 7233 for frame 5 with Interpolate=2 uses the cached final gather solutions for frames 3 to 7, inclusive. The higher the Interpolate value, the greater the flicker reduction. However, if objects and/or lights move very quickly during the animation, a high interpolation value can reduce the accuracy of the final gather solution. 7 Render the animation. Now, as long as you don’t change the lighting or the way objects move in the scene, you can re-render as many times as you like without having to recalculate the final gather solution, thus saving a significant amount of rendering time. Interface Mode Choose the method by which 3ds Max generates the cache files. The choices are: ■ Single File Only (Best for Walkthrough and Stills)Creates one FGM file that contains all final gather map points, whether you use Generate Final Gather 7234 | Chapter 18 Rendering Map File Now or the accompanying drop-down that lets you generate every Nth frame within the current range. Use this method when rendering a still image, or an animation in which only the camera moves. Typically the single FGM file generated with this method is significantly larger than the files created with the One File Per Frame method (see following). ■ One File Per Frame (Best for Animated Objects)Creates a separate FGM file for each animation frame. Use this method when objects in the scene move around during the animation, which can cause the final-gather solution to vary from frame to frame. For best results with this method, generate the FGM files first, then, before rendering, choose the Read FG Points Only ... option and specify an interpolation value. Calculate FG/GI and Skip Final Rendering When on and you render the scene, mental ray calculates final gather and global illumination solutions when render the scene, but does not perform the actual rendering. This saves FGM files only if the Final Gather Map ➤ Incrementally Add FG Points ... option is active, and PMAP files only if the Caustics And Global Illumination Photon Map ➤ Read/Write Photons option is active. Alternatively, use the respective Generate ... Map File Now buttons. Final Gather Map group [method] Choose the method for generating and/or using final gather map files: ■ OffRendering with Enable Final Gather does not generate final gather map files. ■ Incrementally Add FG Points to Map FilesCreates cache files as necessary when rendering or generating FGM files. Uses data from existing files and updates them as necessary with new final-gather points generated while rendering. ■ Read FG Points Only from Existing Map FilesUses final gather data previously saved in FGM files for rendering without generating any new data. To create the FGM files, use Generate Final Gather Map Now on page 7237 or the drop-down list next to it ( ). mental ray Renderer | 7235 NOTE If any final gather map files are unavailable when you render using this method, the software issues warnings via the mental ray Messages window on page 7143, but proceeds with the rendering. This setting is available on the Rendered Frame Window as Reuse ➤ Lock Final Gather on page 6978. To reduce or eliminate final-gather flickering in rendered animations, use this method with the interpolation option (see following). NOTE If you choose the Incrementally Add FG Points To Map File or Read FG Points Only From Existing Map Files option or turn on Rendered Frame Window ➤ Reuse group ➤ Final Gather on page 6978 without first generating final gather map files, the software specifies the default map-file base name temp.fgm in the \sceneassets\renderassets\ path in the current project folder on page 8112. You can change the path and file name by clicking the Browse [...] button to the left of the file name field. Interpolate Over N Frames The number of FGM files before and after the current frame to use for interpolation. Use this with the Read FG Points Only ... method (see preceding). For example, if this setting is 2, then mental ray uses for the current frame the average of the final gather solutions from five final gather map files: the two frames preceding the current frame, the current frame, and the two frames following the current frame. TIP When preparing for rendering using interpolation of FGM files, keep the required frame range in mind. For example, if you use the default Interpolate Over N Frames value of 2, and start rendering at frame 0, for best results you’ll need FGM files starting at -2. So before you generate the FGM files, set the start of the output frame range on page 7023 to -2, and then set it back to 0 for rendering. ... [Browse] Click to display a file selector dialog, which lets you specify a name for the final gather map (FGM) file, and the folder where it is saved. If Final Gather Map is set to Off (Do Not Cache Map to Disk), specifying a map file name automatically chooses the Incrementally Add FG Points To Map Files option. [file name] After you specify a final gather map file using the browse control (see preceding), the name field displays its name and path. If no file name is currently specified, the software fills in this field automatically with the default path and the file name temp.fgm when you choose the Incrementally Add FG Points To Map File or Read FG Points Only From Existing 7236 | Chapter 18 Rendering Map Files option (see preceding), or by turning on the Rendered Frame Window ➤ Reuse group ➤ Final Gather on page 6978 check box. Delete File Click to delete the current FGM file(s). If no files exist, you’re notified; if files do exist, you’re prompted to confirm the deletion. Generate Final Gather Map Now Processes the final gather pass for all animation frames (as specified in the Common Parameters rollout ➤ Time Output group on page 7023). Generates the maps to the specified file without rendering the scene. Available only when the method on page 7235 is set to Incrementally Add FG Points to Map Files or Read FG Points Only from Existing Map FilesU. If Mode on page 7234 is set to Single File Only, mental ray saves all final gather points to the same file. If Mode is set to One File Per Frame, however, clicking this button generates a separate FGM file for each animation frame. TIP To generate, instead, a single frame or a noncontinuous range of FGM files at regular intervals, click the button next to this button (see following). To reduce flicker when rendering an animation, use this function first to generate a separate final gather map file for each frame, choose Read FG Points Only from Existing Map Files on page 7235, and specify an interpolation amount on page 7236 greater than 0 before rendering. [drop-down list] This drop-down list offers a choice of frame ranges to use for generating final gather maps without rendering. Choosing an item from the list begins the map-generation process immediately. The choices are as follows: ■ The active frame output setting, reflected from the Common Parameters rollout ➤ Time Output group on page 7023 choice. For example: Frame 0 to 100; Frames: 1,3,5-12. ■ Current Frame: Generates one frame only ■ [The active time segment on page 3417] Every N Frame(s), where N can be 1, 3, 5, 10, or 20. For example, if the active time segment is 0 to 100 (the default), and you choose Every 5 Frame(s), the output is [file name]000.fgm, [file name]005.fgm, [file name]010.fgm, ... [file name]100.fgm. mental ray Renderer | 7237 This option is most useful when Mode on page 7234 is set to Single File Only, for example, to bake every fifth frame into one file. Alternatively, you can use it to generate FGM files for interpolating final gather solutions in an animation, but the scene doesn’t change very much throughout the animation. Caustics and Global Illumination Map group These controls tell mental ray how to calculate and use photon map files for indirect illumination. These controls are available only if Caustics or Global Illumination is enabled on the Caustics And Global Illumination rollout on page 7224. NOTE If you've specified a photon map here, mental ray continues to use that map instead of generating a new one. To cause the photon map file to be rebuilt, delete the existing file. [method] Choose the method for generating caustics and photon map files: ■ Off (Do not Cache Map to Disk)Photon maps are calculated as necessary while rendering; cached maps are not written or read. ■ Read/Write FileIf the specified photon map (PMAP on page 9270) file does not yet exist, mental ray generates a new map file when rendering. If the specified file does exist, mental ray loads and uses the file. Before using this option, click Browse (“...”) and provide a name for the PMAP file. ■ Read Photons Only from Existing Map FilesUses cached photon maps from a PMAP file while rendering. No calculation of photon maps takes place. Before using this option, click Browse (“...”) and provide a name for the PMAP file. ... [browse] Click to display a file selector dialog, which lets you specify a name and path for the photon map (PMAP) file. This automatically turns on Read/Write File. [file name] After you use the [...] button to specify a photon map file, this field displays its name and path. Delete File Click to delete the current PMAP file. Generate Photon Map Now Processes the photon-mapping pass for all animation frames (as specified in the Common Parameters rollout ➤ Time 7238 | Chapter 18 Rendering Output group on page 7023). Generates the photon maps to the specified file without rendering the scene. To reduce flicker when rendering an animation with a networked render farm, use this function first to generate the GI solution for all frames, and then make sure Read/Write File or Read Photons Only from Existing Map Files (see preceding) is on before rendering. Processing Panel Render Setup dialog on page 6956 ➤ Processing panel Note: The Processing panel appears only when mental ray is the active renderer. The Processing panel is an additional Render Setup dialog on page 6956 panel whose controls relate to managing how the renderer operates. It also lets you generate diagnostic renderings in pseudo color. mental ray Renderer | 7239 Interface Translator Options Rollout (mental ray Renderer) Render Setup dialog on page 6956 ➤ Processing panel ➤ Translator Options rollout Note: The Processing panel appears only when the mental ray renderer is the currently active renderer. Controls in this rollout affect the operation of the mental ray renderer with respect to translation of the scene to the format the renderer requires. They also let you save the translated scene to an MI file on page 9223, which you can then use with a standalone renderer. The translated output uses the mental 7240 | Chapter 18 Rendering ray version 3 (mi3) format. The translator does not support mental ray version 1 (mi1). See also: ■ Distributed Bucket Rendering Rollout (mental ray Renderer) on page 7249 Procedures To save the mental ray renderer settings: ■ When you have a set of rendering settings you want to keep, go to the Render Setup dialog and open the Preset drop-down list at the bottom. Choose Save Preset (at the bottom of the list), enter a file name, and click Save. Next, use the Select Preset Categories dialog to highlight the parameter categories to store in the preset and click Save. Thereafter you can choose your custom setup from the Preset drop-down list. To create a rendering from multiple passes: 1 Use the Render Type on page 6992 ➤ Selected option to choose only a portion of the scene to render. 2 On the Translator Options rollout, in the Render Passes group, click the ellipsis [...] button next to Save. 3 A Save As dialog is displayed. Use it to enter a name and location for the PASS file. 4 Click Render. The partial rendering is saved in the PASS file you specified. 5 Repeat steps 1 through 4 until you have generated all the passes for the rendering (or all the passes but the last). WARNING If your scene includes an environment, render it only in the final pass. Rendering the environment in multiple passes is time consuming, and can lead to artifacts such as unwanted color changes to the background. Render all passes but the last one using a default black background. 6 In the Render Passes group, click Add to add the various pass files to the list. 7 Turn on Merge. mental ray Renderer | 7241 At this point, you might also want to turn off Save, unless you want the final result to be saved as a PASS file as well as a rendering. 8 Click Render. The rendering consists of all the passes merged into one. TIP For some purposes, you might want to create the passes, then create a new 3ds Max scene with no objects, set the rendering resolution to match the passes, you created, then merge the passes as described in steps 7 and 8 above. Interface 7242 | Chapter 18 Rendering Memory Options group Use Placeholder Objects When on, 3ds Max sends geometry to the mental ray renderer only on demand. Initially, the mental ray scene database is populated only with the sizes (bounding box) and positions of objects in the 3ds Max scene. An object's geometry is sent to the rendering engine only when mental ray renders a bucket that contains the object. Default=off. This option can improve rendering speed when a large amount of the scene's geometry is outside of the view you are rendering. When the mental ray renderer is low on memory, Use Placeholder Objects enables it to increase available memory by deleting object geometry from the scene database. This can dramatically reduce memory usage, but at a possible cost in rendering speed. Use mental ray Map Manager When on, maps (typically file-based bitmap images) used in materials and shaders are read from disk and if necessary, translated to a format that the mental ray renderer can read. When off, maps are accessed directly from memory, and translation is unnecessary. Default=off. Following is a complete list of differences between turning this option on and off: When on: ■ mental ray reads textures directly from disk (mental ray is able to flush textures out of memory when memory is low). Also, textures are loaded only if needed. ■ mental ray uses its built-in pyramid filtering system. These pyramid lookup tables can be flushed out of memory when memory is low. ■ Texture formats not supported directly by mental ray are read by 3ds Max and sent, before rendering begins, as binary data to mental ray. When off: ■ 3ds Max reads the textures from disk, and then sends individual pixel colors to mental ray as they are needed. NOTE 3ds Max reads the textures from disk and keeps them stored in memory between renders. This can make renders faster, because the bitmaps don’t need to be reloaded every time. 3ds Max will not read the texture from disk if it was already loaded previously (for example, in a previous render, for a Material Editor preview, or for displaying the map in a viewport). ■ Rendering uses a pyramid filter shader that is identical to the standard 3ds Max pyramid filter system. mental ray Renderer | 7243 Turning this option on is useful for large scenes that take a lot of memory to render. Turning it off is quicker, because textures already loaded in memory don’t have to be reloaded by mental ray. NOTE Turning the option on and off might result in very small differences between rendered images because of the different algorithms used in the mental ray map manager and the 3ds Max map manager. You must turn on “Use mental ray Map Manager” when performing these actions: ■ Using distributed bucket rendering. See Distributed Bucket Rendering Rollout (mental ray Renderer) on page 7249. When rendered with distributed bucket rendering and the mental ray map manager, images with textures can look different than when rendered with 3ds Max alone, because the filtering technique is different. ■ Exporting to an MI file. See Export to .mi File group on page 7246. Conserve Memory Tells the translator to be as memory efficient as it can. This can slow down the translation process, but reduces the amount of data being sent to the mental ray renderer. Default=off. This option is useful when you are trying to render a huge scene and time is not necessarily an issue. When you render to an MI file, this option can also help reduce the size of the output file. When on, this toggle also tells the mental ray renderer to save frames as temporary .map files. This allows you to render extremely large frames without running out of random-access memory. The location of the temporary map files is chosen in the following order: 1 If the file \[program folder]\mentalimages\rayrc contains a registry entry called _MI_REG_FBDIR, the renderer uses this directory. The entry should have the form registry "{_MI_REG_FBDIR}" value " " end registry where is the directory you want to use. 2 If the rayrc file has no registry entry, the renderer uses the directory specified by the TMPDIR environment variable. 3 If there is no TMPDIR environment variable, the renderer uses the directory specified by the TEMP environment variable. 7244 | Chapter 18 Rendering Geometry Caching group Geometry caching lets you save the translated scene contents to a temporary file for reuse in subsequent renders. This can save time by omitting the translation step, especially with geometry-heavy scenes. Two levels of caching are available: standard and locked. Enable When on, rendering uses geometry caching. During the first render, the translated geometry is saved to the cache file. Then, in subsequent renderings of the same scene, the renderer uses the cached geometry for any unchanged objects instead of retranslating it. Any changed geometry is retranslated. Default=off. This control is available on the Rendered Frame Window lower panel as Reuse ➤ Geometry on page 6977. Lock Geometry Translation When on, sub-object-level changes such as vertex editing or adjusting a modifier such as Bend are ignored and don’t cause retranslation. However, object-level changes such as moving or rotating an object are retranslated. This control is available on the Rendered Frame Window lower panel as Reuse ➤ Lock Geometry Translation on page 6977 ( button). Clear Geometry Cache Deletes the cached geometry. This control is available on the Rendered Frame Window lower panel as Reuse ➤ Clear Geometry Cache on page 6978. Material Override group Material Override allows you to render a scene with all its materials replaced by a single master material. For example, if you need to do a wireframe pass, you can create a Wire material and then specify it here. When you render, all surfaces will use the Wire material. Enable When on, rendering uses the override material for all surfaces. When off, surfaces are rendered with the material applied to them in the scene. Default=off. Material Click to display the Material/Map Browser on page 6167 and choose a material to use as the override. Once you have chosen an override material, this button displays the material name. mental ray Renderer | 7245 Export to .mi File group These controls let you save the translated scene in a mental ray MI file on page 9223. Before exporting, you must specify an export file by clicking the ellipsis [...] button. NOTE Exporting to an MI file is not available when you render to texture on page 7307. Export on Render When on, saves the translated file to an MI file instead of rendering when you click Render. Available only after you have clicked the ellipsis [...] button to specify an MI file. Default=off. Un-compressed When on, the MI file is not compressed. When off, the file is saved in a compressed format. Default=on. Incremental (Single File) When on, exports an animation as a single MI file that contains a definition of the first frame and descriptors of the incremental changes from frame to frame. When off, exports each frame as a separate MI file. Default=off. When you export an animation, turning on Incremental can save a considerable amount of disk space. ■ ... [browse]Click to display a file selector dialog, which lets you specify a name for the MI file, and the folder where it is saved. ■ File nameAfter you've used the ellipsis [...] button to specify an MI file, this field displays its name and path. Render Passes group Controls in this group let you create a rendering out of multiple passes that render portions a scene. This can be a useful way to render large scenes or scenes that have complex effects. It can also be a way to divide the labor on a composited (“merged”) rendering. See the “Procedures” section, above, for more information. NOTE You cannot render to passes when you render to texture on page 7307. Save When on, saves the image currently being rendered (prior to merging) inside the specified PASS file. ■ ... [browse]Click to display a file selector dialog, which lets you specify a name for the PASS file and the folder where it is saved. ■ File nameAfter you have specified a PASS file, the name field displays its name and path. 7246 | Chapter 18 Rendering If you are rendering a time segment (that is, an animation), the PASS files are created with sequence numbers appended to the main file name (for example, test0000.pass, test0001.pass, and so on). Merge When on, the PASS files specified in the list will be merged into the final rendering. ■ List of PASS filesLists the PASS files that will be merged into the final rendering (possibly including the pass that is currently being rendered and saved). ■ AddClick to add a PASS file to the list. If you choose a PASS file with a sequence number appended to its name, 3ds Max asks if you want to use the individual file or the entire sequence. ■ DeleteClick to delete the highlighted PASS file from the list. Merge Shader Lets you choose the shader used to merge the PASS files. Clicking the shader button displays a Material/Map Browser so you can choose the shader (when a shader is chosen, its name appears on the button). When the toggle is on, this shader is used for merging. IMPORTANT No merge shaders are provided with 3ds Max. This option is provided for users who plan to write a custom merge shader appropriate to their particular compositing project. Mapping group Skip Maps and Textures When on, rendering ignores maps and textures, including projection maps, and uses only surface colors (diffuse, specular, and so on). Default=off. Turning off maps can be useful, and save time, when you are adjusting global illumination. Diagnostics Rollout (mental ray Renderer) Render Setup dialog on page 6956 ➤ Processing panel ➤ Diagnostics rollout Note: The Processing panel appears only when the mental ray renderer is the currently active renderer. The tools on the Diagnostics rollout can help you understand why the mental ray renderer is behaving in a certain way. The Sampling Rate tool, in particular, can help explain the renderer's performance. mental ray Renderer | 7247 Each of these tools generates a rendering that is not a photorealistic view, but a schematic representation of the functionality you have chosen to analyze. Interface Enable When on, the renderer renders the graphic representation for the tool you have chosen. Sampling Rate When chosen, renders an image that shows where samples were collected during rendering; see Sampling (mental ray Renderer) on page 9288. This can help you adjust the contrast and other sampling parameters. Coordinate Space Renders an image that shows the coordinate space of objects, the world, or camera. ■ ObjectShows local coordinates (UVW). Each object has its own coordinate space. ■ WorldShows world coordinates (XYZ). The same coordinate system applies to all objects. ■ CameraShows camera coordinates, which appear as a rectangular grid superimposed on the view. Size Sets the size of the grid. Default=1.0. TIP To avoid busy moiré patterns in the grid, increase the value of Size. Photon Renders the effect of a photon map in the screen. This requires that a photon map be present (to render caustics or global illumination). If no 7248 | Chapter 18 Rendering photon map is present, the Photon rendering looks just like the nondiagnostic rendering of the scene: the mental ray renderer first renders the shaded scene, then replaces it with the pseudocolor image. ■ DensityRenders the photon map as it is projected into the scene. High density is displayed in red, and lower values render in increasingly cooler colors. ■ IrradianceSimilar to the Density rendering, but shades the photons based on their irradiance. The maximum irradiance is rendered in red, and lower values render in increasingly cooler colors. BSP Renders a visualization of the parameters used by the tree in the BSP ray-trace acceleration method on page 7200. If a message from the renderer reports excessively large depth or size values, or if rendering seems unusually slow, this can help you locate the problem. ■ DepthShows the depth of the tree, with top faces in bright red, and increasingly deep faces in increasingly cool colors. ■ SizeShows the size of leaves in the tree, with differently sized leaves indicated by different colors. NOTE The BSP diagnostic works with the BSP method only; the BSP2 method does not support it. Final Gather Renders the scene with pre-processing final-gather points displayed as green dots, and tile-rendering (final render) final-gather points displayed as red dots. For animation purposes, the presence of red dots is undesirable. To resolve this, use the Interpolate Over Num. FG Points setting on page 7218 instead of the Radius Interpolation Method on page 7223, or, if you prefer the latter, keep the Min. Radius setting as close as possible to the Radius setting; that is, the maximum radius. Distributed Bucket Rendering Rollout (mental ray Renderer) Render Setup dialog on page 6956 ➤ Processing panel ➤ Distributed Bucket Rendering rollout Note: The Processing panel appears only when the mental ray renderer is the currently active renderer. Controls on this rollout are for setting up and managed distributed bucket rendering. With distributed rendering, multiple networked systems can all mental ray Renderer | 7249 work on a mental ray rendering. Buckets are assigned to systems as they become available. While distributed bucket rendering can be used for offline rendering of animation frames, as in standard network rendering, it's best suited for speeding up the rendering of single images as you work. Especially when rendering high-resolution still images, you can get much faster results with distributed bucket rendering. TIP When you use distributed bucket rendering, be sure to: ■ Turn on Use Placeholder Objects on the Translator Options rollout on page 7240. When placeholder objects are enabled, geometry is sent to the renderer only on demand. ■ Leave Bucket Order set to Hilbert on the Sampling Quality rollout on page 7189. With Hilbert order, the sequence of buckets to render uses the fewest number of data transfers. NOTE Contour shading does not work with distributed bucket rendering. IMPORTANT To use distributed bucket rendering, you must set up host systems that are capable of running the mental ray renderer. There are two ways to do so: set up satellite systems, or install mental ray standalone licensing on remote hosts. Satellite Systems “Satellite” processors allow any owner of a 3ds Max license to freely use up to eight slave CPUs to render an image using distributed bucket rendering (not counting the one, two, or four processors on the “master” system that runs 3ds Max). Each satellite system must have the following files installed: ■ rayrc ■ raysat_3dsmax .bat ■ raysat_3dsmax .exe ■ raysat_3dsmax server.exe where is the current 3ds Max version number. 7250 | Chapter 18 Rendering You can use the 3ds Max installation program to install these files: see the Installation Guide for more information. In addition, information about each satellite should be stored in the RAYHOSTS file on page 9279. You can set up satellite systems by using the Add button on the Distributed Bucket Rendering rollout, as described in the “Interface” section, below. Host Systems with SPM Licenses When you use mental ray SPM licenses, remote hosts (that is, all systems other than the one running 3ds Max) must have the mental ray renderer (ray.exe) and a mental ray SPM license server running. To obtain this, you must run the mental ray installer on all remote hosts, then configure and run the SPM license server. Instructions about how to do so are provided with the mental ray renderer sold by mental images. Once the remote hosts have been configured to run a licensed instance of ray.exe, you can use them for distributed rendering simply by naming them in the RAYHOSTS file on page 9279. You can add hosts to the RAYHOSTS file using the Add button described in the “Interface” section, below, just as you would add a satellite processor. Batch Rendering (Using Backburner or the Command Line) You can launch distributed bucket rendering from the command line, using 3dsmaxcmd.exe. If you use satellite processors, you cannot use Backburner to manage distributed bucket rendering. When host processors have SPM licenses, you can use Backburner to manage distributed bucket rendering. You can use the environment variable MRMAX_OFFLINE_DBR_OVERRIDE to control whether batch rendering uses distributed bucket rendering. The state of this variable overrides the “DBR enable” flag. If it is set to “yes,” “true,” or “on,” distributed bucket rendering is enabled; if it is set to “no,” “false,” or “off,” distributed bucket rendering is disabled. All other values of this variable are ignored. See also: ■ Translator Options Rollout (mental ray Renderer) on page 7240 mental ray Renderer | 7251 Procedures To use mental ray distributed rendering: 1 On the Render Setup dialog, go to the Processing panel. On the Distributed Bucket Rendering rollout, turn on Distributed Render. NOTE The Net Render option on the Common Parameters rollout has no effect on distributed bucket rendering. 2 Click to select the names of those satellite or host systems you want to use for distributed rendering. You can click All to select all the host names in the list, or None to select none of the hosts. 3 If other host systems have maps installed on them, with exactly the same file names and path names as on your local host, turn on Distributed Maps. With Distributed Maps turned on, remote renderers can use their local copy of maps, which saves time. 4 Render the scene. Each system renders the buckets assigned to it. The final rendering appears on your local system, with buckets “arriving” in an indeterminate order. Example: To use mental ray distributed bucket rendering with Backburner: This procedure demonstrates how to multiply the number of CPUs used for rendering without having to purchase mental ray standalone licenses, using the 3ds Max satellite technology. If you have a few machines with 3ds Max licensed, and many machines without, you can use both the distributed rendering technology and Backburner so a rendering job would use 8 CPUs per Backburner server, thereby increasing the rendering speed. For the purpose of this procedure, we're using a render farm comprising three machines named A, B, and C, each running a licensed copy of 3ds Max. 7252 | Chapter 18 Rendering NOTE The number of machines you can use depends on the number of machines running licensed copies of 3ds Max. You are able to use only eight external (or satellite) CPUs per licensed copy of 3ds Max: four dual-processor machines or eight single-processor machines (or equivalent). 1 Choose which machines (other than machines A, B, and C) will serve as satellites, install 3ds Max on each, and write down each machine's IP address. 2 Use the Windows Notepad program or a text editor to open the max.rayhosts file on machine A, located in mentalimages subdirectory within 3ds Max folder. 3 In the max.rayhosts file, under the “localhost” entry enter the IP address of each satellite CPU to be used; up to eight in all (see Figure 1). Example of a rayhost file 4 Repeat the previous step on machines B and C with the remaining IP addresses. 5 Launch Backburner Manager on the machine submitting the job or any other machine. Launch the Backburner Server on machines A, B, and C. WARNING It is necessary for the machine running the Backburner Server to have 3ds Max licensed. A mental ray standalone license will not enable you to use the distributed bucket rendering feature, and Backburner will prompt you with a license error. 6 On the machine submitting the job choose mental ray as the renderer, and then turn on Use Placeholder Objects, Use mental ray Map Manager (see Figure 2), and the Distributed Render (see Figure 3). mental ray Renderer | 7253 Translator Options Distributed Bucket Rendering 7254 | Chapter 18 Rendering 7 Submit the job to the Backburner network rendering farm. The job is submitted to the network rendering farm and is picked up by machines A, B, and C. Each machine uses its internal CPU as well as its satellite CPUs to render the job. Interface Distributed Render When on, the mental ray renderer can use multiple satellite or host systems for distributed rendering. The list specifies which systems to use. Default=off. NOTE The Net Render option on the Common Parameters rollout has no effect on distributed bucket rendering. The other distributed rendering controls are unavailable unless Distributed Render is on. Distributed Maps When on, specifies that all texture maps can be found on each of the slave machines doing distributed rendering. This saves time by avoiding the necessity for mental ray to distribute all the maps to each slave via TCP/IP. When off, specifies that all maps used in rendering reside on the local system; that is, the system on which you start rendering. Default=off. mental ray Renderer | 7255 If Distributed Maps is on but the maps are not found on the slaves, those maps simply will not render on the slaves, and rendered output will be incorrect. Also, an error message will appear in the mental ray message window. If you are doing local rendering only, this setting has no effect. Maps on all systems in distributed rendering must have exactly the same name and directory path. [name field] Displays the RAYHOSTS file's on page 9279 name and path. [list of hosts] After you choose a RAYHOSTS file, this list shows the host systems available for distributed mental ray rendering. You can use this list to choose only those hosts you want to use for this particular rendering. When you render with Distributed Render on, the mental ray renderer uses only the hosts whose names are highlighted in this list. Click a host name to select it. To deselect a selected host name, click it again. NOTE The RAYHOSTS file, and therefore the host list, can contain duplicate entries. However, before you render you must select only processors that are not duplicates; otherwise, at render time 3ds Max will display an error message. If Distributed Render is on but the list of hosts is empty when you click Render, 3ds Max will not perform distributed bucket rendering. All Highlights all system names in the hosts list. None Clears the highlight from all system names in the hosts list. Add Click to display an Add/Edit DBR Host dialog on page 7257, which lets you add a host processor to the RAYHOSTS file. Edit Click to display the Add/Edit DBR Host dialog on page 7257, and edit the highlighted host processor's entry in the RAYHOSTS file. Available only when a single list entry is highlighted. Remove Click to remove the currently highlighted host processors from the list and the RAYHOSTS file. Available only when one or more list entries are highlighted. Clicking Remove displays a Remove Selected Hosts dialog, which warns you that the host descriptors will be removed from both locations: 7256 | Chapter 18 Rendering To restore a host that you have removed, use the Add button once again. Add/Edit DBR Host Dialog The Add/Edit DBR (Distributed Bucket Rendering) Host dialog opens when you click Add on the Distributed Bucket Rendering rollout on page 7249. It lets you add a host (or “satellite”) processor to use when you render using distributed buckets. As the text on the dialog reminds you, the new host is added to the text of the RAYHOSTS file on page 9279. Interface Port Number Lets you enter a port number for the processor. This control is unavailable unless you turn off Use Default Port. When Use Default Port is off, the default port value appears in this field. Name or IP Address Enter the name or the numeric IP address of the processor you want to add. mental ray Renderer | 7257 Use Default Port When on, 3ds Max assigns a port number to the new processor. The Port Number control is unavailable while Use Default Port is on. Default=on. Quicksilver Hardware Renderer Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Common panel ➤ Assign Renderer rollout ➤ Choose Quicksilver Hardware Renderer as the active production renderer. ➤ Renderer panel ➤ Quicksilver Hardware Renderer Parameters rollout The Quicksilver hardware renderer uses graphics hardware to generate renderings. One advantage of the Quicksilver hardware renderer is its speed. The default settings provide rapid rendering. You can also increase the quality for more polished results. Hardware rendering with default (draft) settings 7258 | Chapter 18 Rendering Scanline rendering of the same scene, for comparison Quicksilver Hardware Renderer | 7259 Hardware rendering with hardware sampling increased to 8x IMPORTANT To use the Quicksilver hardware renderer, your graphics hardware must support Shader Model 3.0 (SM3.0) or a later version. If you aren’t sure what graphics hardware you have, in 3ds Max choose Help ➤ Diagnose Video Hardware. This displays a dialog with details about your graphics configuration, including GPU Shader Model Support, which shows the Shader Model version number. Supported Materials, Maps and Shaders, and Features The Quicksilver hardware renderer supports the following materials: ■ Arch & Design material on page 6269, including Autodesk Materials on page 6224 ■ Standard material on page 6382 ■ Double-Sided material on page 6535 ■ Multi/Sub-Object material on page 6542 7260 | Chapter 18 Rendering The Quicksilver renderer also supports the following maps and shaders: ■ MetaSL shaders on page 6858 ■ mental ray shaders: mr Physical Sky on page 5893 Utility Gamma & Gain shader on page 6851 ■ Standard maps: All Standard maps except for the following: Cellular map on page 6699 Gradient Ramp map on page 6678 Output map on page 6771 Vertex Color map on page 6775 The Quicksilver hardware renderer supports rendering elements separately on page 7269. It does not support Render to Texture on page 7307. Quicksilver Hardware Renderer | 7261 Interface 7262 | Chapter 18 Rendering Image Precision (Antialiasing) group These controls set the level of sampling used to calculate antialiasing on page 9087. Higher levels give smoother results, at a cost of some render time. Hardware Based Sampling Sets the level of edge-based sampling performed by the graphics hardware. Default = None (Draft). ■ None (Draft) ■ 2x ■ 4x ■ 8x Software Based Sampling Sets the level of per-pixel sampling performed by the software component of the renderer. Increasing this value is helpful when you render texture maps. Default = None (Draft) ■ None (Draft) ■ 4x ■ 16x Resulting Sampling Value Displays the level of sampling obtained from hardware and software methods combined. Lighting group These controls let you choose how the renderer handles lighting. Quicksilver Hardware Renderer | 7263 Illuminate with Choose how the rendering is illuminated: with Scene Lights or Default Lights on page 8981 (that is, viewport lighting). Default = Scene Lights. ■ ShadowsWhen on, the scene is rendered with shadows. Default=on. Soft Shadows Precision (Multiplier) Scales the sampling value of area lights in the scene. Default=1. Ambient Occlusion When on, enables ambient occlusion (AO). AO improves shadow quality by taking into account the proximity of objects. When AO is enabled, the controls for it become available. Default=off. ■ Intensity/FadeControls the intensity of the AO effect. The higher the value, the darker the shadows. ■ RadiusDefines the radius, in 3ds Max units, within which the Quicksilver renderer looks for occluding objects. Larger values cover larger areas. For more information about ambient occlusion, see Built-in Ambient Occlusion on page 6304 (the version of AO used by the Architecture & Design Material has somewhat different controls). Indirect Illumination When on, enables indirect illumination. Indirect illumination improves the quality of lighting by taking into account bounced 7264 | Chapter 18 Rendering light. When indirect illumination is enabled, the controls for it become available. Default=off. ■ MultiplierControls the intensity of indirect illumination. The default value of 1.0 generates physically correct illumination. Default=1.0. ■ Sample Distribution AreaControls the size of the square area where sample points are distributed. The greater the value, the more the sample points are dispersed, which lowers the effective sampling quality. Default=100.0. ■ DecayControls the rate of decay of the indirect light. The greater the value, the quicker the decay. Default=1.0. ■ Enable Indirect Lighting ShadowsWhen on, the renderer indirect illumination can generate shadows. Default=off. Transparency / Reflections group These controls let you choose how the Quicksilver renderer handles transparent and reflective objects. Transparency When on, objects with transparent materials are rendered as transparent. Default=on. ■ SimpleUses the simplest method of calculating transparency. ■ BestUses the best method of calculating transparency, at the cost of render time. Reflections When on, the rendering displays reflections. Default=off. IMPORTANT Enabling Reflections enables static reflections only. To see dynamic reflections on an object, you must explicitly include it by using the subcontrols. Quicksilver Hardware Renderer | 7265 The subcontrols for reflections let you limit the number of objects that show reflections. ■ [Include/Exclude check box]When on, enables the Include button. Click the Include button to display the Include/Exclude dialog on page 5805. In this context, Including an object allows it to generate reflections. Excluding an object excludes it from reflections, and saves render time. Default=off. ■ Material IDWhen turned on, lets you choose a Material ID value identifying those materials that will show reflections. ■ Object IDWhen turned on, lets you choose an Object ID value identifying those materials that will show reflections. Depth of Field group These controls let you add depth of field to the rendering. Depth of field is available only when you render a Camera or Perspective view. Enable When on, the rendering generates depth of field. Default=off. [Camera drop-down list] When From Camera (the default) is chosen, the Quicksilver renderer uses the Camera Environment Range settings to generate depth of field. No other controls are available. When Override Camera is chosen, you can choose values for generating depth of field that differ from the Camera settings. ■ Focal PlaneSets the location of the focal plane as a distance from the Camera object, in 3ds Max units. Default=100.0. ■ Near PlaneSets the near plane as a distance from the Camera object, in 3ds Max units. Objects nearer than this plane will be blurred in the rendering. Default=90.0. 7266 | Chapter 18 Rendering ■ Far PlaneSets the far plane as a distance from the Camera object, in 3ds Max units. Objects farther than this plane will be blurred in the rendering. Default=110.0. Hardware Shaders Cache Folder group These controls let you manage the location of hardware shaders on your computer. [Cache folder path] Displays the path of the folder used to save hardware shaders. The default location is in your user settings. The path depends on the operating system you are using:. ■ Windows XP: \documents and settings\ \local settings\application data\autodesk\3dsmax\2011 - 32bit\enu\plugcfg\ (or “64bit” for the 64-bit version) ■ Vista or Windows 7: \users\ \appdata\local\autodesk\3dsmax\2011 32bit\enu\plugcfg\ (or “64bit” for the 64-bit version) Open Configure System Paths Click to display the Configure System Paths dialog on page 8881, which lets you choose an alternate location for saving hardware shaders. VUE File Renderer Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Common panel ➤ Assign Renderer rollout ➤ Choose VUE File Renderer as the active production renderer. ➤ Renderer panel ➤ VUE File Renderer rollout VUE File Renderer | 7267 Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Common panel ➤ Assign Renderer rollout ➤ Choose VUE File Renderer as the active production renderer. ➤ Renderer panel ➤ VUE File Renderer rollout The VUE File Renderer creates VUE (.vue) files. VUE files on page 9344 use an editable ASCII format. Procedures To create a .vue file: 1 Use the Render Setup dialog ➤ Assign Renderer rollout to assign the VUE File Renderer as the Production renderer. You can't assign the VUE File Renderer to be the ActiveShade renderer. 2 Activate a camera viewport. NOTE You must render from a camera viewport in order to include the coordinates for the camera itself. 3 Use the VUE File Renderer rollout to specify a file name. 4 Render the scene. The VUE file is written to disk. The Rendered Frame Window on page 6963 is displayed, but it doesn't display an image. Interface ... [Browse] Click to open a file selector dialog and then specify a name for the VUE file to create. [File name The text field displays the name of the file. 7268 | Chapter 18 Rendering Rendering Elements Separately Rendering to elements lets you separate various types of information in the rendered output into individual image files. This can be useful when you work with some image-processing, compositing, and special-effects software. Render Elements Panel and Rollout Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout This topic describes the available types of render elements and how to use them. These are the elements you can choose to render separately: ■ Alpha: A grayscale representation of the alpha channel, or transparency, of the scene. Transparent pixels appear in white (value=255) and opaque in black (value=0). Translucent pixels appear in gray. The darker the pixel, the more transparent it is. The alpha channel can be useful when you composite elements. ■ Atmosphere: The atmospheric effects in the rendering. ■ Background: The background of the scene. Other elements do not include the scene background. Include this element if you want to use the background in compositing. The background is not trimmed against geometry, so elements should be composited over the background. See Compositing Rendered Elements on page 7273. ■ Blend: A custom combination of the previous elements. The Blend element displays an additional Blend Element Parameters rollout on page 7286. ■ Diffuse: The diffuse component of the rendering. The Diffuse element displays an additional Diffuse Texture Element rollout on page 7287. Rendering Elements Separately | 7269 ■ Hair And Fur: The component of the rendering created by the Hair And Fur Modifier (World Space) on page 1010. See Hair And Fur Render Element on page 7288. ■ Illuminance HDR Data: Generates an image containing 32–bit floating-point data that can be used for analyzing the amount of light that falls on a surface perpendicular to its normal. See Illuminance HDR Data Element Parameters Rollout on page 7288. ■ Ink: The Ink component (borders) of Ink 'n Paint materials on page 6554. ■ Lighting: The effect of direct and indirect lights and shadows in the scene. The Lighting element displays an additional Lighting Texture Element rollout on page 7290. ■ Luminance HDR Data: Generates an image containing 32–bit floating-point data that can be used for analyzing the perceived brightness of a surface after light has been “absorbed” by the material of the surface. See Luminance HDR Data Element Parameters Rollout on page 7291. ■ Material ID: Renders the material ID information assigned to an object. This information is useful when you are making selections in other image-processing or special-effects applications, such as Autodesk Combustion. For example, you could select all of the objects with a given material ID in Combustion. The material ID corresponds to the value you set for the material with the material ID channel. Any given material ID will always be represented by the same color. The correlation between a specific material ID and a specific color is the same in Combustion. See Material ID Channel Flyout on page 6075. ■ Matte: Renders a matte mask, based on selected objects, material ID channel (effects IDs), or G-Buffer IDs. The Matte element displays an additional Matte Texture Element rollout on page 7292. ■ mr A&D: These elements render various components of the Arch & Design material to HDR compositors such as Autodesk Toxik. For details, see mr A&D Elements on page 7293. ■ mr Labeled Element: Renders a branch of a map tree that you specify using a label. For details, see mr Labeled Element Parameters Rollout on page 7298 ■ mr Shader Element: Outputs the raw contribution of any mental ray shader in the scene. This includes standard 3ds Max materials and maps that are converted to mental ray shaders in the translation process. For details, see mr Shader Element Parameters Rollout on page 7300 7270 | Chapter 18 Rendering ■ Object ID: Renders the object ID information assigned to the object. See Object ID Element Rollout on page 7303. ■ Paint: The Paint component (surfaces) of Ink 'n Paint materials on page 6554. ■ Reflection: The reflections in the rendering. ■ Refraction: The refractions in the rendering. ■ Self-Illumination: The self-illumination component of the rendering. ■ Shadow: The shadows in the rendering. This element saves black-and-white shadows only. See Compositing Rendered Elements on page 7273. NOTE The mental ray renderer does not include shadows created by global illumination on page 7224and final gathering on page 7213 in the Shadow render element output. ■ Specular: The specular component of the rendering. ■ Velocity: The motion information which can be used in other applications for things such as creating motion blur or retiming an animation. The Velocity element displays an additional Velocity Element Parameters rollout on page 7304. ■ Z Depth: A grayscale representation of the Z depth, or depth within the view, of objects within the scene. The nearest objects appear in white, and the depth of the scene in black. Intermediate objects are in gray, the darker the deeper the object is, within the view. The Z Depth element displays an additional Z Element Parameters rollout on page 7306. When you render one or more elements, a normal complete rendering is also generated. In fact, the element renderings are generated during the same rendering pass, so rendering elements costs little extra render time. Rendering to elements is available only when you do production rendering with the default scanline renderer on page 7042 or the mental ray renderer on page 7129. NOTE The default scanline renderer supports a maximum of 32 render elements per scene. The mental ray renderer does not limit the number of render elements. If you're using a third-party renderer, check the product documentation for a possible limit on the number of render elements. Render Elements Panel and Rollout | 7271 NOTE When using the default scanline renderer, Antialiasing on page 7047 must be on in order to render elements. With Antialiasing off, rendering elements is disabled. Example Here is a rendering of a fountain, against a checkered background, and various elements. On the right is the fully rendered fountain. On the left, from top to bottom, are diffuse, specular, shadow, and reflection elements. 7272 | Chapter 18 Rendering Two more elements not directly related to the objects in the scene, but important when compositing the image to other sources: on the left is the background, on the right is the alpha channel. On the left is an atmosphere element, in this example, a light fog on the back side of the fountain. On the right is the Z-depth. The fog uses the depth of the image and objects to determine its density. The Z-depth element contains these depth values. Compositing Rendered Elements In general, you can composite elements using additive composition, which is independent of the compositing order. The main exceptions are the background element, atmospheres, and shadows. ■ Background: The background is not trimmed against geometry, the background should be composited under the other elements. ■ Atmosphere: The atmosphere element should be composited over all other elements. Render Elements Panel and Rollout | 7273 ■ Black-and-white shadows: Black-and-white shadows should be composited over the rest of the image (aside from the atmosphere), to dim color in the shadowed areas. This technique does not take colored lighting into account. In other words, the layers when you composite using black-and-white shadows appear like this: Top: Atmosphere Second from top: Shadow element Middle: Diffuse + Specular + ... (other elements) Bottom: Background "Screen" Compositing for Specular and Reflection Elements The other exception to additive composition is when specular or reflection elements have been generated by certain material shaders. These shaders generate specular and reflection elements you must composite differently: ■ Anisotropic ■ Multi-Layer ■ Oren-Nayar-Blinn Shaders are assigned on a per-material basis, in the Material Editor. If you render specular or reflection elements in a scene that uses these shaders, then composite them with the diffuse and other foreground components (aside from colored shadows, as described above), by overlaying them using an operation called "Screen" in some compositing programs. Screen compositing uses this formula to combine elements: Background * (1 - Foreground) + Foreground The background is multiplied by the inverse of the foreground color, and then the foreground color is added to the result. For more information, see the documentation for the compositing program you use. 7274 | Chapter 18 Rendering Procedures To have the Render Elements dialog assign names to the rendered element files automatically: 1 Assign an output file name and file type for the (entire) rendered scene using the Files buttonFiles on page 7028 on the Common Parameters rollout of the Render Setup dialog. 2 On the Render Elements rollout, use the Add button to specify elements for rendering (see following procedure). To render elements to files without rendering the entire scene to a file, follow this procedure, and then turn off Common panel ➤ Common Parameters rollout ➤ Render Output group ➤ Save File. To add an element for rendering: 1 Click Add. 2 On the Render Elements dialog, do one of the following: ■ Highlight the name of an element, and then click OK. ■ Double-click the name of an element. If you have assigned a file name for the entire rendering, the new element is assigned a file name automatically. Otherwise, use the Files button in the Selected Element Parameters group to assign an output file name and file type for the element rendering. 3 If the element is one (such as Blend or Z Buffer) that has additional parameters, adjust these parameters in the appropriate rollout. To render the separate elements: 1 Add the elements you want to render. TIP You can use the Enable button (in the Selected Element Parameters rollout) to disable individual elements for a particular rendering pass. 2 If you haven't assigned file names automatically (see the first procedure, preceding), use the Browse [...] button in the Selected Element Parameters group to assign an output file name and file type for the element rendering. Render Elements Panel and Rollout | 7275 3 Make sure Elements Active (at the top of the Render Elements rollout) is turned on, and then click Render to render the scene. The rendered elements are also displayed on the desktop, each in its own window. (The windows cascade on top of each other.) To generate a Combustion™ workspace (CWS) file that contains the rendered elements: 1 In the Output to Combustion group, turn on Enable. If you have assigned a file name for the entire rendering, the new element is assigned a file name automatically. Otherwise, use the Files button in the Output to Combustion group to assign an output file name for the CWS file. 2 If you want to change the file or pathname click ... [ellipsis]. 3 Do one of the following: ■ Render the scene. The CWS file is created at the time of the rendering. ■ Create Combustion Workspace Now. Use this button to create a Combustion workspace at any time. You do not have to render for the workspace to be created. NOTE This only works if there is at least one Render Element selected and if your Render Output file type (set on the Common panel) is AVI, RPF, CIN, JPG, PNG, MOV, RGB, RLA, TGA, TIF, or EXR. 7276 | Chapter 18 Rendering Interface Add Click to add a new element to the list. This button displays the Render Elements dialog on page 7280. Render Elements Panel and Rollout | 7277 Merge Click to merge the render elements from another 3ds Max scene. Merge displays a file dialog so you can select the scene file to get the elements from. The list of render elements in the selected file is added to the current list. Delete Click to delete the selected elements from the list. Elements Active When on, clicking Render renders the separate elements. Default=on. Display Elements When on, each rendered element is displayed in its own window, which is a feature-reduced version of the Rendered Frame Window on page 6963. When off, the elements are rendered to files only. Default=on. The windows for each rendered element open cascaded on top of each other. Move one element's window to see another's. Element Rendering list This scrollable list shows the elements to render separately, and their status. To resize the columns in the list, drag the border between two columns. The list includes the following columns: Name Shows the name o f the element. You can change the default name of elements, in the Selected Element Parameters group. To select an element, click its name in the list. Use Ctrl+click to select additional elements, or Shift+click to select a contiguous group of additional elements. Enabled Shows whether the element is enabled. Filter Shows whether the active antialiasing filter is enabled for the element. Type Shows what type of element this is. This field is useful if you have changed the name of an element. Output Path Shows the path and file name for the element. Selected Element Parameters group These controls are for editing selected elements in the list. 7278 | Chapter 18 Rendering Enable Turn on to enable rendering the selected elements. Turn off to disable rendering. Default=on. The Enabled column of the elements list shows whether or not an element is enabled. Enable Filtering When on, applies the active antialiasing filter on page 7047 to the rendered element. When off, the rendered element does not use the antialiasing filter. Default=on. The Filter column of the elements list shows whether or not the filter is enabled for an element. Disabling antialiasing can improve rendering time, although the rendered element that results might appear jagged. NOTE Turning off Enable Filter disables only general antialiasing and map filtering. Edge blending still occurs when this switch is off. Name Shows the name of the currently selected element. You can type in a custom name for the element. This control is unavailable when multiple elements are selected. [...] (Browse) The text box lets you enter a path and file name for the element. Alternatively, click the [...] ( ellipsis) button to open the Render Element Output File dialog on page 7282, which lets you choose a folder, file name, and file type for the element. This control is available only when a single element is highlighted. NOTE If you first assign a file name and path for the complete rendering on the Render Setup dialog ➤ Common Parameters rollout on page 7020, the render elements feature uses this name and path automatically as the basis for names of the various elements. It appends an underscore (_) and then the name of the element to the basic file name. For example, if the render file name is "C:\render\image.jpg", when you add a Specular render element, the default path and file name for the rendered specular element is "C:\render\image_specular.jpg". Similarly, when you enable output to a Combustion workspace (CWS) file on page 8415, the file name you assigned is the default name of the CWS file. For example, if the render file name is "C:\image.jpg", when you enable Combustion output, the default path and file name is "C:\image.cws". Render Elements Panel and Rollout | 7279 Output to Combustion group When on, generates a Combustion Workspace (CWS) file on page 8415 that contains the elements you are rendering. You can use this file in the Combustion software, and you can use Combustion workspaces in the Combustion map on page 6652. WARNING If you are rendering elements to composite over a background, make sure that the file format for the Diffuse, Shadows, and Alpha elements supports an alpha channel. The formats we recommend for this purpose are: RLA on page 8453, RPF on page 8455, PNG on page 8443, or TGA on page 8459. WARNING 3ds Max supports some file types that Combustion does not. For use with Combustion, do not render elements as EPS files. If you render to this format, the CWS file is not saved. See your Combustion documentation for more information on supported file formats. Enable When on, creates a CWS file that contains the elements you have rendered. [...] (Browse) The text box lets you enter a path and file name for the CWS file. Alternatively, click the [...] (ellipsis) button to open the Save To Combustion dialog, which lets you choose a folder and file name for the CWS file. Create Combustion Workspace Now When clicked, creates a Combustion workspace (CWS file). This button makes it possible to create a Combustion workspace without rendering. NOTE You must add at least one render element for this file to be created and the Render Output type on the Common panel must be set to AVI, RPF, CIN, JPG, PNG, MOV, RGB, RLA, TGA, TIF, or EXR. Render Elements Dialog Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog 7280 | Chapter 18 Rendering This dialog lets you choose elements to render. Procedures To choose an element to render separately, do one of the following: ■ Highlight the element's name in the list, and then click OK. ■ Double-click the element's name in the list. To highlight multiple elements, do any of the following and then click OK: ■ To highlight non-contiguous elements, click an element's name in the list, and then Ctrl+click further elements. ■ To highlight contiguous elements, drag from the first to the last. ■ To highlight contiguous elements, click the first element's name in the list, and then Shift+click another element. Interface The scrolling list shows the names of elements you can render separately. These are described in Render Elements Panel and Rollout on page 7269. Render Elements Dialog | 7281 Render Element Output File Dialog Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements Rollout ➤ Selected Element Parameters group ➤ Browse ([...]) button Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements Rollout ➤ Selected Element Parameters group ➤ Browse ([...]) button The Render Element Output File dialog lets you assign a name to a file that saves one element of the rendering. You can also determine the type of file to render, and set up options such as compression, color depth, and quality, depending on the file type. See also: ■ Image File Formats on page 8411 Procedures To specify the render element output file and its settings: 1 Choose Rendering ➤ Render Setup, and then, on the Render Elements rollout, in the Selected Element Parameters group, click the Browse ([...]) button. The Render Element Output File dialog opens. 2 In the File Name field, enter the name for the file to be rendered. 3 Navigate the Save In field to choose the directory where you want the rendered file to be saved. 4 In the Save As Type field, choose the type of file you want to render. 5 Click Save to open the Setup dialog for the specified output file type. Thereafter, the Setup button becomes available on the Render Element Output File dialog; you can click this to change the settings. 6 Change any settings as necessary, and then click OK to close the Render Element Output File dialog. Alternatively, clicking Cancel returns you to the Render Element Output File dialog. 7282 | Chapter 18 Rendering 7 Click Render to render and save the file. Interface History Displays a list of the most recent directories searched. Whenever an image is selected, the path used is added to the top of the history list as the most recently used path. The history information is saved in the 3dsmax.ini on page 42 file. Save In Opens a drop-down list to browse other directories or drives. Up One Level Moves to the next-highest level in the directory structure. Create New Folder Lets you create a new folder while in this dialog. View Menu Provides several options for how information is displayed in the list window: ■ Thumbnails: Displays the contents of a directory as thumbnails, without the details. Render Element Output File Dialog | 7283 ■ Tiles: Displays the contents of a directory as large icons, without the details. If you widen the dialog, these tile across the width. ■ Small Icons: Displays the contents of a directory as small icons, tiled across the width, without the details. ■ List: Displays the contents of a directory without the details. ■ Details: Displays the contents of a directory with full details such as size and date. List of files Lists the contents of the directory, in the format specified by the View menu. TIP When the active display format is Details, the contents of the directory are displayed with Name, Size, Type, Date Modified, and Attributes. You can sort the list according to a column's contents by clicking that column's label. File Name Displays the file name of the file selected in the list. Save as File Type Displays all the file types that can be saved. This serves as a filter for the list. NOTE The choice in this field determines the file type saved, regardless of the extension entered in the File Name field. Save Sets the file information for saving upon rendering. Closes the dialog if you haven't changed the output file type. If you've changed the file type, clicking Save opens the Setup dialog for the specified file type. Change the settings as necessary, and then click OK to close both the Setup and the Output dialogs, or click Cancel to return to the Output dialog. Cancel Cancels the selection and closes the dialog. Devices Lets you choose the hardware output device, for example, a digital video recorder. To use this function, the device, its driver, and its 3ds Max plug-in must all be installed on your system. Setup Click to open a dialog with controls for the output file type. These vary with each different file format. 7284 | Chapter 18 Rendering NOTE The Setup button becomes available after you specify a file name or type. If you first choose a type from the Save As Type drop-down list, click anywhere on the dialog to activate Setup. If you first enter a file name and extension (such as test.png), press Tab to activate Setup. Also, clicking Setup uses the filename extension, even if it doesn't agree with the Save As Type setting. Info Displays expanded information about a highlighted file such as frame rate, compression quality, file size, and resolution. The information available depends on the file type. View Displays the file at full resolution. If the file is a movie, Windows Media Player opens to play the file. Sequence This is not available in the Render Element Output File dialog. NOTE To render a sequence of still images, choose the Active Time Segment or define a range of frames on the Common Parameters rollout of the Render Setup dialog. If you are rendering to a still-image file type, 3ds Max appends a four-digit frame number to the file name name, incremented with each frame. Preview When on, enables display of the image as a thumbnail in the Image Window. Image Window Displays a thumbnail of the selected file, when Preview is turned on. Gamma group To set up gamma options for the output file, Enable Gamma Correction must be on in the Gamma panel on page 8917 of the Preferences dialog (Customize ➤ Preferences ➤ Gamma). Otherwise, the Gamma controls are unavailable in the Render Output File dialog. ■ Use Image’s Own GammaThis option is not available in this dialog. ■ Use System Default GammaUses the system default gamma, as set on the Gamma panel of the Preferences dialog on page 8917. ■ OverrideDefines a new gamma for the bitmap that differs from the system default. Using Override is not recommended for element bitmaps. Using the system default gamma value ensures that all elements have consistent renderings. Render Element Output File Dialog | 7285 Statistics/Location Statistics Displays the resolution, color depth, file type, and number of frames of the highlighted file. Location Displays the full path and name of the highlighted file. Individual Render Elements These topics describe individual render elements, especially those that display a rollout with options. Blend Element Parameters Rollout Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Blend element to the elements list (or select an existing Blend element in the list). Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Blend element to the elements list (or select an existing Blend element in the list). The Blend element is a custom combination of several other elements. By default, all elements are turned on in this rollout, and the Blend rendering is identical to the full, normal rendering, except for the scene background. Use the check boxes to choose your own combination of elements to appear in the Blend rendering. Interface Ambient When on, include the ambient color component. Default=on. 7286 | Chapter 18 Rendering Diffuse When on, include the diffuse color component. Default=on. Specular When on, include the specular color component. Default=on. Self-Illumination When on, include self-illumination. Default=on. Reflection When on, include reflections. Default=on. Refraction When on, include refractions. Default=on. Apply Atmosphere When on, include atmospheric effects. Default=on. Apply Shadows When on, include shadows. Default=on. Paint When on, include the Paint component of Ink 'n Paint materials on page 6554. Default=on. Ink When on, include the Ink component of Ink 'n Paint materials. Default=on. Diffuse Texture Element Rollout Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Diffuse element to the elements list (or select an existing Diffuse element in the list). Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Diffuse element to the elements list (or select an existing Diffuse element in the list). The Diffuse render element displays the diffuse color component of objects in the scene. Interface Individual Render Elements | 7287 Lighting When on, the diffuse render element displays the color of objects after lighting has been applied. When Lighting is turned off, the element displays the diffuse color of objects before the lighting gets applied. For textured objects, this will look like a 3D projection of the texture. However, objects with a single color will look “flat”. Hair And Fur Render Element Main toolbar ➤ (Render Setup) ➤ Render Elements panel ➤ Add ➤ Render Elements dialog ➤ Hair And Fur Rendering menu ➤ Render Setup ➤ Render Elements panel ➤ Add ➤ Render Elements dialog ➤ Hair And Fur The Hair And Fur render element produces an additional image that depicts only the elements in the scene generated by the Hair And Fur modifier on page 1010. This image can be used for compositing. NOTE The Hair And Fur render element supports only the ”buffer” rendering method on page 7522 using the default scanline and mental ray renderers. Illuminance HDR Data Element Parameters Rollout Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Illuminance HDR Data element to the elements list (or highlight an existing Illuminance HDR Data element in the list). Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Illuminance HDR Data element to the elements list (or highlight an existing Illuminance HDR Data element in the list). Generates an image containing 32–bit floating-point data that can be used for analyzing the amount of light that falls on a surface perpendicular to its normal. The illuminance data ignores material characteristics such as reflectance and transmittance. 7288 | Chapter 18 Rendering Illuminance is not related to surface properties. For best results, render with mental ray or another renderer that supports 32–bit floating-point output and set the output format to PIC, HDR, or EXR. If using the scanline renderer or another renderer that doesn't support 32–bit floating-point output, set the Scale Factor parameter, which acts as a multiplier, to adjust the range of values for the output data. Interface Scale Factor When you use a renderer that does not support floating-point output, set Scale Factor to a value less than 1.0. Default=1.0 (no scaling). Individual Render Elements | 7289 Lighting Texture Element Rollout Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Lighting element to the elements list (or highlight an existing Lighting element in the list). Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Lighting element to the elements list (or highlight an existing Lighting element in the list). The lighting element contains the effects of lighting within the scene, including color, shadows, direct and indirect light. This rollout lets you determine which parts of the lighting are included in the rendering. Interface Direct Light On When on, the render element includes information from any direct lights in the scene. The light’s color and projection map should appear. NOTE The final color for direct lighting takes surface normals into consideration. Indirect Light On When on, the render element includes information from ambient or bounced lighting in the scene. NOTE When using radiosity, expect effects such as color bleed. Shadows On When on, the render element includes shadows. 7290 | Chapter 18 Rendering Luminance HDR Data Element Parameters Rollout Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Luminance HDR Data element to the elements list (or highlight an existing Luminance HDR Data element in the list). Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Luminance HDR Data element to the elements list (or highlight an existing Luminance HDR Data element in the list). Generates an image containing 32–bit floating-point data that can be used for analyzing the perceived brightness of a surface after light has been “absorbed” by the material of the surface. The luminance data considers material characteristics such as reflectance and transmittance. Luninance takes surface properties into account. For best results, render with mental ray or another renderer that supports 32–bit floating-point output and set the output format to PIC, HDR, or EXR. If using the scanline renderer or another renderer that doesn't support 32–bit floating-point output, set the Scale Factor parameter, which acts as a multiplier, to adjust the range of values for the output data. Individual Render Elements | 7291 Interface Scale Factor When you use a renderer that does not support floating-point output, set Scale Factor to a value less than 1.0. Default=1.0 (no scaling). Matte Texture Element Rollout Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Matte element to the elements list (or highlight an existing Matte element in the list). Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Matte element to the elements list (or highlight an existing Matte element in the list). The Matte render element displays a matte mask for a selected object, material ID channel (effect ID) on page 6075, or G-Buffer ID on page 9173. Each matching element is represented with a white pixel on the mask. For more info on matte behavior, see Matte Object on page 9220. WARNING The Matte render element does not work for objects to which the mental ray material on page 6369 is applied. 7292 | Chapter 18 Rendering Interface Effect ID Sets the material ID channel on page 6075 to include in the Matte render element. G-Buffer ID Sets the G-Buffer ID on page 9173 to include in the Matte render element. Include Opens the Exclude/Include dialog on page 5805, where you can select objects in the scene to exclude or include in your Matte mask. When including, all selected objects are rendered with white pixels. When excluding, all pixels are white, by default. Selected objects are rendered as black pixels. WARNING If you use Exclude, make sure the Effect ID and G-Buffer ID parameters are not on. These modes provide inferior results when used in combination. mr A&D Elements Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add one or more mr A&D elements to the elements list (or highlight an mr A&D entry in the list). Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add one or more mr A&D elements to the elements list (or highlight an mr A&D entry in the list). The mr A&D elements let you specify as render elements the most important components of the Arch & Design material on page 6269, generally in three Individual Render Elements | 7293 different contribution types: raw, level, and output. You can save these as HDR image files for subsequent compositing in a program such as Autodesk Toxik. NOTE As their names suggest, these render elements pertain only to objects to which the Arch & Design material on page 6269 is applied, rendered with mental ray. With most of the elements, raw is the unscaled contribution, and level is the scaling, and the output component, calculated by multiplying the raw and level components, is the resultant contribution of the element to the full rendered output. The level is often related to an input parameter (or combinations thereof), and has been modified to abide by the energy-conservation feature of the Arch & Design material. 7294 | Chapter 18 Rendering Hence the elements contain some redundancy: For example, if you just want the current reflections in a separate channel, use the Output Reflections element, but if you want more control over the amount of reflections in post-production, you can instead use Raw Reflections and Level Reflections, multiplying them (with optional, additional processing) in the compositing phase prior to adding them to the final color. Reflections: Raw (left) * Level (center) = Output (right) NOTE In order to maintain a correct compositing equation, the effects of the mr Photographic exposure control on page 7677 are intentionally excluded from the A&D render elements output. TIP When rendering mr A&D elements for compositing in an HDR application like Toxik, be sure to set Frame Buffer Type on page 7193 to Floating-Point (32 bits per channel), which allows raw-element values to exceed 1.0, and save output files in the OpenEXR format on page 8429. List of All Outputs Following is a list of all available render elements for the Arch & Design material (each has the “mr A&D” prefix): ■ Output: BeautyThe main, blended output. It is identical to the single output of the Arch & Design material. ■ Diffuse Direct IlluminationOutput is the resulting diffuse on page 6284 component after lighting, including textures. Raw is the diffuse lighting itself, without textures, and Level Diffuse is the diffuse texture color adjusted by the energy conservation. ■ Diffuse Indirect IlluminationOutput is the resulting indirect illumination, including ambient occlusion on page 6308 effects, multiplied by the diffuse color. Raw is the raw result from indirect illumination. There is no Level component. Individual Render Elements | 7295 ■ Ambient OcclusionRaw is the raw contribution of the ambient occlusion on page 6308. ■ Diffuse Indirect Illumination with AOXtra is the indirect illumination affected by ambient occlusion but without being multiplied by the diffuse color. ■ OpacityOutput (Opacity Background) is the final contribution of any background of the object as a result of the input cutout on page 6325 opacity (as determined by the assigned map) being less than 1.0. Raw contains the background without scaling by the opacity. If the cutout opacity is 1.0, these outputs contain black, because no transparency is rendered in such cases. The Level output contains the actual opacity itself. Care must be taken if opacity equals zero, because this mean that the material has performed no shading whatsoever and none of the other outputs will contain any value at all. ■ ReflectionsOutput is the resulting Reflection group on page 6285 component. Raw is the unalloyed (full-intensity) reflection, and Level is the actual reflectivity, including reflection color and BRDF on page 6298 settings. WARNING The Arch & Design material samples very-low-level reflections in the rendering phase at low quality (for performance), so avoid doing huge modifications to reflection intensity in post. ■ Self IlluminationOutput contains the Self Illumination (Glow) on page 6300 component. ■ SpecularOutput is the resulting specular component. Raw is determined by the Reflection ➤ Glossiness on page 6286 value and the Anisotropy on page 6294 settings, while Level is determined by the BRDF on page 6298 settings, the Reflectivity on page 6285 and Reflection ➤ Color on page 6286 values, and the Relative Intensity of Highlights on page 6317 value. ■ TranslucencyTranslucency is the combined result of the Weight on page 6292 and Color on page 6294 settings. Output is the resulting translucency component, Raw is the raw translucency, and Level is the actual translucency level, adjusted by the energy conservation. ■ TransparencyTransparency is the combined result of the Refraction group on page 6315 settings, including the Translucency settings. Output is the resulting transparency component, Raw is the raw transparency, and Level is the actual transparency level, adjusted by the energy conservation. 7296 | Chapter 18 Rendering Proper Compositing Due to the redundancy available in the outputs, there are several ways to composite them to yield the same result as the beauty render. Here we outline two compositing pipelines in equation form. You can use these in Autodesk Toxik and other HDR compositing applications. First we have the “simple” variant, which is simply a sum of the various result parameters. This version allows only minimal post-production changes to the overall balance between the materials. Its advantage is in not needing as many files, as well as working reasonably well in non-floating-point compositing. Beauty = Output Diffuse Direct Illumination + Output Diffuse Indir ect Illumination + Output Specular + Output Reflections + Output Transparency + Output Translucency + Self Illumination Then we have the more “complex” variant, which uses the various raw and level outputs, thus allowing much greater control in post production. Note that the raw outputs need to be stored and composited in floating point to maintain the dynamic range. The level outputs always stay in the 0.0-1.0 range and do not require floating-point storage. Beauty = Level Diffuse * (Raw Diffuse Direct Illumination + (Raw Diffuse Indirect Illumination * Raw Ambient Occlusion)) + Level Specular * Raw Specular + Level Reflections * Raw Reflections + Level Transparency * Raw Transparency + Level Translucency * Raw Translucency + Self Illumination Interface All mr A&D render elements have the same settings: Multiplier Scales the brightness of the output. Individual Render Elements | 7297 TIP When rendering A&D elements for compositing in Autodesk Combustion, bear in mind that Combustion does not support HDR imagery, so to avoid clamping it will be necessary to adjust the Multiplier value for each element. Apply Shadows When on, the output includes shadows cast on the surface. mr Labeled Element Parameters Rollout Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add mr Labeled Element to the elements list (or highlight an mr Labeled Element entry in the list). Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add mr Labeled Element to the elements list (or highlight an mr Labeled Element entry in the list). The mr Labeled Element is a render element that lets you output one or more branches of a material tree to a custom render element. (A branch comprises a map or shader and any sub-elements, such as maps assigned to the map’s map slots.) To use this element, assign the mr Labeled Element shader on page 6833 as the parent of the branch to render, give it a label, and then use the same label for the render element. For details, see the following procedure. Procedure To use the mr Labeled element: 1 In the Material Editor, determine which branch of a material to output as a separate element. For example, an Arch & Design material might contain a Gradient map assigned as a Diffuse ➤ Color shader, and one of the Gradient maps could be assigned a Checker map, and one of the Checker maps could be assigned a Noise map. This procedure will assume you want to render the Checker map and its constituent Noise map to an element. So the material structure would be like this: 7298 | Chapter 18 Rendering A&D material ➤ Gradient (Diffuse Color) ➤ Checker (Gradient Color #1) ➤ Noise (Checker Color #1) 2 In the Material Editor, click the map button at the top of the branch you want to output. In this example, you’d click the Diffuse ➤ Color map button in the Arch & Design material to open the Gradient map settings. Youd then click the first map button (Color #1) on the Gradient Parameters rollout to open the Checker map settings. 3 Click the map button just above the map rollouts on the right side of the Material Editor (in this example, Checker) to open the Material/Map Browser. 4 On the Material/Map Browser, double-click the mr Labeled Element item. This opens the Replace Map dialog. 5 Make sure “Keep old map as sub-map?” is chosen, and then click OK. 6 You now see the mr Labeled Element Parameters rollout. If you click the Shader/Map To Store (Passthrough) button, labeled “M”, you can access the branch that will be output to the render element: the Checker map containing the Noise map. 7 If you clicked the M button, go back up to the parent mr Labeled Element shader, and then enter a name for the element in the Label field. In this example, the name could be checker/noise branch. The material structure would now be like this (new map in italics): A&D material ➤ Gradient (Diffuse Color) ➤ mr Labeled Element shader (Gradient Color #1) ➤ Checker (mr Labeled Element shader map) ➤ Noise (Checker Color #1) 8 On the Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout, click Add. Choose the mr Labeled Element item from the list. 9 On the Parameters rollout for the element, enter the name you specified in step 7 in the Label field. 10 Set up the other Render Element parameters as necessary and then render the scene. Your custom element is rendered to an image file. The following illustration shows the example described in the preceding procedure. The left-hand image shows the full material, with the Noise inside the Checker inside the Gradient, and the right-hand image shows a labeled element containing only the Noise inside the Checker. The Individual Render Elements | 7299 element renders only the part of the Checker map that is used by the Gradient map. Left: Full rendering; Right: Labeled element Interface Label Enter the name of the element you specified in the mr Labeled Element Shader ➤ Label field. Multiplier Scales the brightness of the rendered output. Apply Shadows When on, the output includes shadows cast on the surface. mr Shader Element Parameters Rollout Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add mr Shader Element to the elements list (or highlight an mr Shader Element entry in the list). Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog 7300 | Chapter 18 Rendering ➤ Add mr Shader Element to the elements list (or highlight an mr Shader Element entry in the list). The mr Shader element outputs the raw contribution of any mental ray shader in the scene. This includes standard 3ds Max materials and maps that are converted to mental ray shaders in the translation process. The output of this element does not figure into the final rendered output. For example, you could use the mr Shader element to render a few different ambient occlusion passes (see mental images Shader Libraries on page 6809). NOTE The mr Shader element is intended primarily for rendering shaders, not full materials. While you can, in most cases, most "material-style" shaders might contain their own code to write to render elements, and in some circumstances this can cause odd conflicts. For example, piping a Standard material through a Material To Shader shader on page 6832 into the mr Shader element is not recommended because it could cause the Standard material’s render element to collide with the original render elements from the main render. Procedure To use the mr Shader element: 1 In the Material Editor, determine which shader to output as a separate element. For example, an Arch & Design material might contain a Gradient map assigned as a Diffuse ➤ Color shader, and one of the Gradient maps could be assigned a Checker map, and one of the Checker maps could be assigned a Noise map. This procedure will assume you want to render the Checker map and its constituent Noise map to an element. So the material structure would be like this: A&D material ➤ Gradient (Diffuse Color) ➤ Checker (Gradient Color #1) ➤ Noise (Checker Color #1) 2 On the Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout, click Add. Choose the mr Shader Element item from the list. 3 On the Parameters rollout for the element, click the Shader button; this opens the Material/Map Browser dialog. 4 Make sure Browse From on the dialog is set to Scene. If the object to which the shader is applied is selected, you could also choose Selected. In the material tree, highlight the shader to output as an element. Individual Render Elements | 7301 NOTE Any subordinate shaders are also included in the element output. 5 Set up the other Render Element parameters as necessary and then render the scene. Your Shader element is rendered to an image file. The following illustration shows the example described in the preceding procedure. The left-hand image shows the full material, with the Noise inside the Checker inside the Gradient, and the right-hand image shows a Shader element containing only the Noise inside the Checker. The element renders the entire Checker map even though only part of it is used by the Gradient map. Left: Full rendering; Right: Shader element Interface Shader The shader to render as an element. Click the button and then choose a shader or material from the list in the Material/Map Browser. Typically you’d want the element to output a shader in the scene, so you’d make sure Browse From is set to Selected or Scene. Multiplier Scales the brightness of the rendered output. Apply Shadows When on, the output includes shadows cast on the surface. 7302 | Chapter 18 Rendering Object ID Element Rollout Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Object ID element to the elements list (or highlight an existing Object ID element in the list). Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Object ID element to the elements list (or highlight an existing Object ID element in the list). Renders the object ID information assigned to the object. Roughly comparable to the material ID, the object ID information is useful for selecting objects based on an arbitrary index value in another image-processing or special-effects application. If you know that you will want to select several objects at once, at a later time, you can assign them all the same object ID in 3ds Max. By rendering with the object ID, this information will be available in other applications. You assign the object ID with the Object Properties dialog ➤ General panel ➤ Object Channel parameter on page 230. A given object ID is always represented by the same (arbitrary) color. The correlation between a specific material ID and a specific color is the same in Combustion. When an Object ID entry is highlighted in the element rendering list on page 7278, the Object ID Element rollout appears on the Render Elements panel. This rollout lets you choose whether to base the render color of a given object ID on the object color or the Object ID. If you choose Object Color, the render color is the object's base color, as shown on the Create panel ➤ Name And Color rollout and at the top of the other command panels, and is not based on the Object ID. If you choose Object ID, an arbitrary color is assigned to each object based on its Object ID. Individual Render Elements | 7303 Interface Render Color Based On ■ Object Color Renders colors based on object colors. ■ Object ID (The default.) Renders colors based on Object IDs. Velocity Element Parameters Rollout Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Velocity element to the elements list (or highlight an existing Velocity element in the list). Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Velocity element to the elements list (or highlight an existing Velocity element in the list). The Velocity element generates a rendering that contains information about the motion of objects in the frame. You can use the Velocity rendering to generate motion blur when you use a composition application such as Combustion or Flame. There are plug-ins for compositors that generate motion blur; for example, those created by RE:Vision Effects, Inc. The advantages of rendering a Velocity element are that the composition application might give you finer control over the motion blur than 3ds Max does; you can render a “beauty” frame that does not contain motion blur; and the Velocity element is quicker to render than using one of the 3ds Max motion-blur effects. Another use of the Velocity element is to re-time clips rendered in 3D. There are specialized applications that allow you to re-time an image sequence, using velocity data to generate more accurate inbetween frames. 7304 | Chapter 18 Rendering In the Velocity rendering, the motion information is saved as RGB color information:.red saves movement on the X axis, green saves Y-axis movement, and blue saves Z-axis movement, relative to the plane of the rendered frame. The mental ray renderer supports this element, but the mental ray Motion Blur camera effect must be turned off. Also, some mental ray materials do not support render elements. Controls on the element's rollout let you improve the precision of the motion data saved in the rendering. See the procedure, following. Procedures To render a velocity element for an animation sequence: 1 On the Render dialog ➤ Render Elements panel ➤ Render Elements rollout, click Add. In the Render Elements dialog that appears, highlight Velocity, and then click OK. 2 Highlight the Velocity element in the Element Rendering list. 3 On the Velocity Element Parameters rollout, turn on Update, then render several test frames. (Choose frames where object velocity appears to be the greatest.) 4 After each test frame, make a note of the Maximum Velocity value. If you need to do so, enter the largest of these values as the Maximum Velocity to use. Having a specific Maximum Velocity value will give you more accurate velocity data. 5 Turn off Update. Now the Maximum Velocity will remain constant. 6 Render the animation. Interface Individual Render Elements | 7305 Maximum Velocity Enter a Maximum Velocity value based on the result collected by Update. Setting a Maximum Velocity increases the precision of the motion information. See the procedure, above: Procedures on page 7305. Default=1.0. Update Turn on when you render test frames, as described in the above procedure. After each rendering, Maximum Velocity is set to the value recorded by update. Use the largest of these values, and then turn off Update before you render the full animation. Default=off. NOTE The Update control does not work with mental ray distributed bucket rendering. Z Depth Element Parameters Rollout Main toolbar ➤ (Render Setup) ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Z Depth element to the elements list (or select an existing Z Depth element in the list). Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Elements panel ➤ Render Elements rollout ➤ Add button ➤ Render Elements dialog ➤ Add Z Depth element to the elements list (or select an existing Z Depth element in the list). The Z-depth element is a grayscale representation of the Z depth, or depth within the view, of objects within the scene. The nearest objects appear in white, and the depth of the scene in black. Intermediate objects are in gray. The darker the gray, the deeper the object is, within the view. This rollout lets you adjust what portion of the scene is shown in the Z-depth rendering. By default, the rendering includes objects near the front of the view (Z Min=100.0), and extends for 300 3ds Max units into the scene (Z Max=300.0). If your scene is deeper than 300 units, you need to increase the value of Z Max. You can use the Update option to let 3ds Max automatically determine the depth extents of objects in the rendered view. 7306 | Chapter 18 Rendering Interface Z Min The minimum distance to include in the Z-depth rendering. This is a value in 3ds Max units, and cannot be less than 0.0. Default=100.0 Z Max The maximum distance to include in the Z-depth rendering. This is a value in 3ds Max units. Default=300.0 Update Lets 3ds Max automatically determine the depth range of objects in the rendered view. When on, after completion of a rendering, 3ds Max changes the Z Min and Z Max values to reflect what the renderer determined. Typically, you would make a single test rendering with this on, and then turn off the check box. Render to Texture Make sure the default scanline renderer or the mental ray renderer is the active renderer. ➤ Select one or more objects. ➤ Rendering menu ➤ Render To Texture Rendering to texture, or "texture baking,” allows you to create texture maps based on an object's appearance in the rendered scene. The textures are then “baked” into the object: that is, they become part of the object via mapping, and can be used to display the textured object rapidly on Direct3D devices such as graphics display cards or game engines. You can render to textures using the mental ray renderer on page 7129 Typical Texture Baking Method 1 Set up a scene with lighting. Render to Texture | 7307 Banana object in a lighted room 2 Select the objects whose textures you want to bake. Banana object selected 3 Choose Rendering ➤ Render To Texture. 4 A Render To Texture dialog on page 7333 appears. In this dialog, you choose which elements on page 7312 of the rendering you want to bake. Elements are aspects of the rendering such as diffuse color, shadows, alpha (transparency/opacity), and so on. In this dialog, you can also choose various display options on page 7319 for showing the baked texture in shaded viewports. 7308 | Chapter 18 Rendering TIP If you have a Direct3D graphics display driver, you can use DirectX viewport shaders on page 6222 to view the baked texture in shaded viewports. They show how the baked texture will appear on DirectX devices. 5 Click Render. After you click Render in the Render To Texture dialog, a number of things happen. (This is a typical set of events; the dialog gives you a lot of control over how texture baking actually occurs.) ■ The elements you chose are rendered, each to its separate bitmap file. Lighting map of the banana By default, the texture type is Targa on page 8459, and the element maps are placed in the \images subfolder of the folder where you installed 3ds Max. The new textures are “flat”: In other words, they are organized according to groups of object faces. ■ In the modifier stack, a new modifier is applied to the object. It is called Automatic Flatten UVs. It is simply an Unwrap UVW modifier on page 1787, automatically applied. This modifier manages the mapping of the flattened texture to faces of the object, and lets you adjust that mapping if necessary. Render to Texture | 7309 Flattened texture-mapping coordinates for the banana ■ A Shell material on page 6596 is applied to the object. This material is a container for both the object's original material (you don't lose those maps and settings), and the newly created baked material, with its new textures. The Shell material lets you access both materials and adjust their settings, if necessary. It also lets you choose which material to view, the original material or the texture-baked material, in shaded viewports or in renderings. New shell material contains the banana's original material (below left) and the baked texture (below right). 7310 | Chapter 18 Rendering Rendered light map applied to the banana With the light map, banana appears lit even when lights are turned off. That is texture baking in a nutshell. For best results, Logarithmic exposure control is recommended for Render To Texture. If Linear or Automatic exposure controls are used, each object will have different lighting levels, generating a different histogram. Each object renders as if it had a different light level and in some cases, you may not get a rendering at all. This happens because Linear and Automatic exposure controls are view dependent. Render to Texture | 7311 Logarithmic Exposure Control is not view dependent, and will reproduce the image correctly. See the Exposure Controls on page 7665 topic for more information about Linear, Automatic and Logarithmic exposure controls. See also: ■ Shell Material on page 6596 ■ DirectX Manager Rollout on page 6222 ■ LightMap Shader Rollout on page 6601 ■ Metal Bump Shader Rollout on page 6602 Baked Texture Elements Select objects. ➤ Rendering menu ➤ Render to Texture ➤ Render to Texture dialog ➤ Output rollout ➤ Click Add. ➤ Add Texture Elements dialog ➤ Choose elements to render. When you render to texture or “bake” a texture, you choose one or more elements to render. These elements save aspects of the rendered scene: its geometry, lighting, shadows, and so on. Some texture elements can display in shaded viewports; others require a DirectX viewport shader on page 6222 to view in 3ds Max. When you add an element to render, it appears in a list in the Objects To Bake on page 7336 rollout. In the list, you can disable or enable rendering of that individual map, or select it to adjust which components it will include. NOTE Automatically generated reflections and refractions do not work well with rendered textures, although they are included in the Complete and Blend texture maps. The available element maps are described in the sections that follow. Limitations of Composite and Blend Materials If the object has a Composite or Blend material applied to it, only certain elements render correctly. Which elements render correctly depend on the renderer you are using. 7312 | Chapter 18 Rendering The default scanline renderer renders only these elements of a Composite or Blend material correctly: ■ Diffuse color ■ Specular color ■ Reflections ■ Ambient color ■ Self-illumination color ■ Refractions The mental ray renderer renders only these elements of a Composite or Blend material correctly: ■ Lighting ■ Shadows ■ Normals Component Options (Unique Settings) Many element maps let you choose to include or not include components of the rendered scene. When your element to render is highlighted in the list, these options appear on the Selected Element Unique Settings group. See also: ■ Render to Texture on page 7307 ■ Render to Texture Dialog on page 7333 Complete Map A complete map saves most surface properties of the rendered object; specifically: ■ Lighting ■ Diffuse color ■ Specular color ■ Reflections Baked Texture Elements | 7313 ■ Shadows ■ Ambient color ■ Self-illumination color ■ Refractions Component Options (Selected Elements Unique Settings) For a complete map, you can choose not to render shadows. Specular Map A specular map saves only the specular color of the object. Component Options (Selected Elements Unique Settings) For a specular map, you can choose not to render lighting or shadows. Diffuse Map A diffuse map saves only the diffuse color of the object. Component Options (Selected Elements Unique Settings) For a diffuse map, you can choose not to render lighting or shadows. Shadows Map A shadows map saves only the shadows cast onto the object. Component Options (Selected Elements Unique Settings) There are no unique settings for a shadows map. Lighting Map A lighting map saves only the lighting cast onto the object. Component Options (Selected Elements Unique Settings) For a lighting map, you can choose not to render shadows, direct light, or indirect light. 7314 | Chapter 18 Rendering Normals Map A normals map saves a color gradient that indicates the direction of normals on the surface of the object. With a normals map, Direct3D rendering can make simple geometry appear more complex. With DirectX 8, you can view a normals map in shaded viewports by using the Metal Bump Direct3D viewport shader on page 6602. With DirectX 9, you can view a normals map in any shaded viewport. Component Options (Selected Elements Unique Settings) There are two unique settings for a normals map: Output into Normal Bump When on, assigns a Normal Bump map to the Target Map Slot, and places the rendered Normal Bump map in the Normal component of the Normal Bump map on page 6872. Default=off. Render Height Map into Alpha Channel When on, renders a grayscale height map and assigns it to the alpha channel of the Normal map. If you are rendering to a file type that doesn't have an alpha channel, this setting has no effect. Default=off. Height Map A height map is a grayscale map that stores the relative height of the source object when you render with normal projection. (See Creating and Using Normal Bump Maps on page 7320.) You can use the height map as a displacement map on the target object. This is a way to add detail to the edges of the low-resolution object, because edges are not affected by the normal bump map itself. NOTE When using a height map as a displacement map with the mental ray renderer, be sure to use the Height Map Displacement shader on page 6830. Also, turn off Smoothing, either globally on page 7212 or for the individual object on the Object Properties dialog ➤ mental ray panel on page 236. In addition, when rendering with mental ray, if you're applying the height map to a standard material, apply the map as a Displacement map on the mental ray Connection rollout on page 6215 (unlock the map first), not on the Maps rollout. Baked Texture Elements | 7315 TIP Using a paint program such as Adobe Photoshop on a height map is possible, but prone to error. The values in the height map depend on the shapes of both the low-resolution and high-resolution models, and it's easy to damage the mathematical accuracy. If you paint any changes onto the map, be careful to preserve the faceted look, and avoid the temptation to blur away the facets. You might try painting in Additive or Subtractive mode, to add to or subtract from the displacement, because Normal mode will set a fixed displacement, making it difficult for an artist to control the result. Component Options (Selected Elements Unique Settings) There are no unique settings for a height map. Blend Map A blend map is like a complete map, except that all its components, not just shadows, are optional. Component Options (Selected Elements Unique Settings) For a blend map, you can choose not to render any of the following components: ■ Lighting ■ Diffuse color ■ Specular color ■ Reflections ■ Shadows ■ Ambient color ■ Self-illumination color ■ Refractions Alpha Map An alpha map saves only the alpha channel of the rendered object. Component Options (Selected Elements Unique Settings) There are no unique settings for an alpha map. 7316 | Chapter 18 Rendering Ambient Occlusion (MR) Map Use an ambient occlusion map when you want the surface information to describe how much ambient light the surface can receive. The ambient occlusion map considers the obstruction of the light by surface contours and surrounding objects. By using the ambient occlusion map when rendering, you do not need to set up special lighting, replace materials on the objects, or use with global overrides because the ambient occlusion map already accounts for these settings. You can use ambient occlusion maps with or without a Projection modifier and for many different purposes. Use them to mask layers in Adobe Photoshop, for items such as painted edits and texture maps. Also use them as dirt maps, or as masks for reflections or specular light. NOTE By default, the shader used by the Ambient Occlusion bake element excludes the low-resolution object from the ambient occlusion calculations whenever performing projection-mapped texture baking. However, if the Projection Mapping option Include Working Model on page 7353 is enabled, then the occlusion rays will include the working model. In this case, projection rays also include the working model. No undesired blank areas appear on the map, because there are no cases where a projection ray passes though the lo-res model to hit a point on the high-res model that is completely occluded by the low res. NOTE This map is available only when the mental ray renderer is active. Baked Texture Elements | 7317 Original scene surrounded by rendered-to-texture ambient occlusion maps of the floor object Top left: Samples=8; Spread=0.8 Top right: Samples=32; Spread=0.8 Bottom left: Samples=16; Spread=0.5 Bottom right: Samples=16; Spread=0.99 Component Options (Selected Elements Unique Settings) For an ambient occlusion map, you can set the following unique settings: Samples Sets the number of rays cast. More rays results in a smoother image. Default=16. 7318 | Chapter 18 Rendering Spread Sets the spread of the ray, creating a cone shape. With a value of 0.0 a single point is sampled; with a value of 1.0 the entire hemisphere is sampled. Range=0.0–1.0. Default=0.8. NOTE You can set Spread to values greater than 1.0, but only values within the specified range are useful. Bright Sets the color in the map where no occlusion occurs. The default color is white. Click the swatch to change the color. Max distance Sets the range within which geometry is probed. A value of 0.0 samples the entire scene. For non-zero values, only objects within this range are sampled. Default 0.0. Dark Sets the color in the map where complete occlusion occurs. The default color is black. Click the swatch to change the color. NOTE Colors between the Bright and Dark values are used to indicate partial occlusion. Falloff Defines the amount of falloff of the ray. The greater the value, the greater the falloff. Default=1.0. Target Map Slot Assignments Select objects. ➤ Rendering menu ➤ Render to Texture ➤ Render to Texture dialog ➤ Output rollout ➤ Target Map Slot: drop-down list ➤ Specify how baked textures appear in the material. When you bake textures (render to texture), you have more control for how the baked texture displays in shaded viewports. You set these in the Output rollout on page 7341 of the Render To Texture dialog. Using the Target Map Slot assignments, you can specify in detail which maps will be rendered to which slots of the existing material. NOTE The first time you use Render To Texture, all Target Map Slot assignments are blank. After you set them and render the baked texture, those settings become the default Target Map Slot settings for future modelling sessions. 3ds Max stores the Target Map Slot assignments in the texturebake.ini file in the plugcfg folder within the 3ds Max directory. Target Map Slot Assignments | 7319 Creating and Using Normal Bump Maps Normal bump mapping is a way of adding high-resolution detail to low-polygon objects. It is especially useful for real-time display devices such as game engines, and it can also be used in rendered scenes and animations. A normals map is a three-color map, unlike the grayscale maps used for regular bump mapping (see Bump Mapping on page 6472). The red channel encodes the left-right axis of normal orientation, the green channel encodes the up-down axis of normal orientation, and the blue channel encodes vertical depth. Basic Workflow 3ds Max provides a number of different ways to create and use normal bump mapping, but the most straightforward and simplest workflow involves these steps: 1 Create a detailed, high-resolution model. 2 Create a simpler, low-resolution model. The low-resolution model should have the general shape and outlines of the high-resolution model, and typically it should be a bit smaller, so that projected detail in the high-res model will appear to be above its surface. 3 Select the low-res model. 4 Choose Rendering ➤ Render to Texture. The Render To Texture dialog appears. 5 On the Objects To Bake rollout, in the Projection Mapping group, click Pick. 3ds Max opens a selection dialog. 6 Choose the high-res object, and then click Add. 3ds Max applies a Projection modifier on page 1543 to the low-res object. 7 In the Projection Mapping group, turn on Enable. NOTE At this stage, often you will click Options to display the Projection Options dialog on page 7351, which has a variety of settings for how to generate the projection. 7320 | Chapter 18 Rendering 8 On the Output rollout, add a NormalsMap element (see Baked Texture Elements on page 7312). Assign Bump as its target map slot. 9 In the Selected Elements Unique settings group, turn on Output Into Normal Bump. 10 Click Render. 3ds Max renders the Normals map, which stores normals data from the high-res object. As for other kinds of texture baking, it creates a Shell material and applies that to the low-res object, with the Normals map assigned as the bump component. Components of Normal Bump Mapping In the 3ds Max interface, controls for normal bump maps appear in three locations: ■ The Render To Texture dialog Specifically, normal projection controls are found on the Objects To Bake rollout on page 7336 and the Output rollout on page 7341. ■ The Projection modifier on page 1543 You can apply a Projection modifier yourself, or let Render To Texture do so automatically. ■ The Normal Bump map type on page 6872 Render To Texture creates this automatically if you turn on Output Into Normal Bump (step 9, above). Viewing Normal Bump Maps If your display driver uses DirectX 8, you can view normal maps in viewports by using the Metal Bump shader on page 6602. If your graphics driver is DirectX 9, you can view normal maps in any shaded viewport. See Direct3D Driver Setup Dialog on page 8910. If your display driver is Software or OpenGL, you can't view normal maps in viewports. However, you can still render them and use normal mapping in renderings. Normal Projection with Sub-Object Selections You can associate different sub-object selections with different high-resolution geometry. See Reference Geometry Rollout (Projection Modifier) on page 1548. Creating and Using Normal Bump Maps | 7321 Troubleshooting Normal Bump Maps Because of the variety of geometry and different situations that can arise, normal bump maps sometimes give unexpected results. Usually there is a workaround for the problem, or more than one. This topic describes some situations that can arise, and ways to correct them. Parallel Projection Loses Detail If the projection cage is set up so projected rays run parallel to part of the high-resolution geometry, that portion of geometry can be lost in the normal bump map. For example, in this scene, the normal bump map is based on a high-resolution cylinder that has indentations at the top and bottom. 7322 | Chapter 18 Rendering Default cage around high-res cylinder However, the normal bump map does not show the end indentations. Troubleshooting Normal Bump Maps | 7323 Indentation is missing from top and bottom of the cylinder's normal bump map. The reason is that with the default projection cage, the rays parallel the sides of the indentation, and so details are lost. Projection rays (shown in red) parallel the sides of the indentation. 7324 | Chapter 18 Rendering To correct the problem, you can move the end of the cage upward, and scale it inward a little, so the rays don't run so nearly parallel to the side of the indentation. Raising and scaling the upper end of the projection cage. When the cage is adjusted this way, the indentation appears in the normal bump map. Troubleshooting Normal Bump Maps | 7325 With the corrected cage, the upper indentation appears correctly in the normal bump map. TIP In situations like this, another solution can be to use Break on the vertices in the region of the low-resolution object where detail is missing from the map. This increases the number of vertices in the cage, and reduces the chances of geometry being missed. If you use this method, it is likely you will need to make further adjustments to the projection cage, as well. 7326 | Chapter 18 Rendering Breaking low-res vertices causes the indentations to render in the normal bump map. However, projection now misses some areas of the geometry, so the cage needs to be adjusted further. Flipped Seams in Tangent Space When you use tangent space for your normal bump map, usually the values used for the tangents are consistent between the hardware shader, renderers, and third-party applications. However, sometimes portions of the geometry are flipped, relative to each other, causing discontinuities when you render or use a hardware shader. Tangent space is the default option for normal bump mapping, and it is the method you should use for objects that both move and deform, such as animated characters. This problem does not arise when you use the other coordinate spaces: world, screen, or local. For example, in the following scene, the pants show discontinuities. They are flipped relative to each other, as the arrows show. Troubleshooting Normal Bump Maps | 7327 Flipped seams in rendering of pants Left: Left side shows a discontinuous red stripe Right: Right side shows a discontinuous blue stripe The arrows show how the maps are misaligned. When you render a normal bump map, you can generally see flipped areas as showing a “flare” of reddish color to the right, and of bluish color to the left. 7328 | Chapter 18 Rendering Uncorrected normal bump map shows blue and red “flares.” The solution is to use the UVW Unwrap modifier's Flip Horizontal command for those sub-object selections that show flaring, or an excess of red areas. Troubleshooting Normal Bump Maps | 7329 Normal bump maps corrected using Flip Horizontal Red and blue are more evenly distributed, with blue predominating. With the maps corrected, the full rendering, whether with 3ds Max or a hardware renderer, looks better. 7330 | Chapter 18 Rendering Corrected normal maps render more smoothly, without discontinuity. The arrows show how the maps are correctly aligned to wrap around the pant legs. Noise when Rendering a Normal Bump Map with the mental ray Renderer If you use the mental ray renderer to render a normal bump map, and the model has overlapping faces (for example, where the low-resolution and high-resolution objects overlap in space), then the normal bump map can show noise where the faces overlap. Troubleshooting Normal Bump Maps | 7331 Red areas show noise from overlapping faces The workaround is to adjust either the high-res or the low-res object so that faces are not coincident. One way to do so is to use a Push modifier on page 1588. After you have generated the normal map, you can turn off the Push modifier. TIP If another object in the scene continues to cause problems with the map rendering, you can make it invisible to normal projection by going to its Object Properties dialog, and in the Rendering Control group, turning off Visible To Reflection/Refraction. 7332 | Chapter 18 Rendering Overlapping UV Coordinates Overlapping UV coordinates can cause rendering errors in Render To Texture. The problem is especially noticeable on objects that have mirrored UVs, or symmetrical mapping. If you are working with a character or other model that has mirrored UVs, we recommend that you follow this procedure: 1 Either add an Unwrap modifier or go into an existing Unwrap modifier where the symmetry exists. 2 Move half of the overlapping texture coordinates on the W axis so that they’re slightly offset from the other half. Render To Texture will use the texture coordinates with the higher W value. Edit Normals Modifier Makes Normal Bump Mapping Incorrect Don't apply an Edit Normals modifier on page 1264 to the low-res object. Normal bump projection relies on the low-res object having standard normals, and altering them causes normal bump maps to have unpredictable results. Render to Texture Dialog Rendering menu ➤ Render To Texture ➤ Render to Texture dialog Rendering to texture, or “texture baking,” is controlled by this dialog. Most of this dialog's controls are contained in its rollouts. Procedures To bake an object's texture: There are a lot of options for rendering to textures. These are the basic overall steps. 1 Select an object. Ideally, the object will have a texture assigned to it, or lights and shadows that fall on it, and so on. 2 Choose Rendering ➤ Render To Texture. 3 In the same dialog, go to the Output rollout. 4 Click Add, and in the Add Texture Elements dialog, choose the element(s) you want to render. Render to Texture Dialog | 7333 5 Set Target Map Slots, if necessary. 6 Click Render. The elements you chose to render are rendered to files, and the baked texture is displayed in shaded viewports. To bake the texture of multiple objects: 1 Set up the texture-baking parameters of each object you want to bake. This corresponds to steps 2 through 5 of the previous procedure. 2 In the Objects To Bake rollout, change All Selected to All Prepared. 3 Click Render. Textures are rendered for all the objects you previously set up. Interface Render Renders the scene, or the elements listed in the Objects To Bake rollout. Unwrap Only Applies the Automatic Flatten UVs modifier to all selected objects without rendering anything. Close Closes the dialog and saves any changes to settings you have made. Original/Baked When set to Views, the original or baked material is displayed in the viewports. When set to Render, the original or baked material is used in the rendering. Render to Texture: General Settings Rollout Rendering menu ➤ Render To Texture ➤ Render to Texture dialog ➤ General Settings rollout 7334 | Chapter 18 Rendering This rollout has the texture-baking controls for the current scene. It lets you control automatic unwrapping of the baked textures, map size, render settings, and where texture renderings are saved. See also: ■ Render to Texture on page 7307 ■ Render to Texture Dialog on page 7333 ■ Render to Texture: Objects To Bake Rollout on page 7336 ■ Render to Texture: Output Rollout on page 7341 ■ Render to Texture: Baked Material Rollout on page 7345 ■ Render to Texture: Automatic Mapping Rollout on page 7347 Interface Output group Text field Specifies the folder where the rendered texture will be saved. You can enter a different folder name in this field. Default=the \images subfolder of the folder where you installed 3ds Max. Click the ellipsis button to display a dialog that lets you browse to the directory where you want the rendered texture to be saved. Skip Existing Files Allows you to render only those maps that do not already exist. Render to Texture Dialog | 7335 Rendered Frame Window When on, displays the complete map in a Rendered Frame Window on page 6963 as the elements are rendered. When off, does not open the Rendered Frame Window. Default=on. NOTE The Rendered Frame Window does not open when you use Render To Texture with the mental ray renderer. Instead, 3ds Max displays a progress dialog. Render Settings group These controls let you choose and set up Render Presets as well as activate network rendering. Drop menu Lets you choose Load Preset on page 7013. A Render Presets Load dialog appears where you can select an RPS file. Setup Displays the Render dialog on page 6956, where you can adjust production settings, draft settings, or both. Network Render When on, you can assign the rendering task to Server systems. If you click Render, the Network Job Assignment dialog on page 7415 displays where you can specify a server, or multiple servers, to take on the task. Default=off. 3ds Max can use the Split Scan Lines option on page 7420 when rendering to textures with a render farm. However, if you enable projection mapping and turn on Sub-Object Levels, this option is unavailable. Render to Texture: Objects to Bake Rollout Rendering menu ➤ Render To Texture ➤ Render to Texture dialog ➤ Objects to Bake rollout This rollout has controls for the texture baking of individual objects. It lets you choose which map channel the texture will use, which elements will be rendered, and at what sizes. It also lets you control filename generation, and assign the format of rendered texture elements. See also: ■ Render to Texture on page 7307 ■ Render To Texture Dialog on page 7333 ■ Render To Texture: General Settings Rollout on page 7334 ■ Render To Texture: Output Rollout on page 7341 7336 | Chapter 18 Rendering ■ Render To Texture: Baked Material Rollout on page 7345 ■ Render to Texture: Automatic Mapping Rollout on page 7347 Interface Render to Texture Dialog | 7337 Object and Output Settings group This drop-down list lets you save presets comprising all current Render To Texture settings, including map types and sizes, from a single object and then load a preset onto any number of objects. Render To Texture presets use the RTP filename extension. Presets contain all settings on the Objects to Bake and Output on page 7341 rollouts and the Projection Options dialog on page 7351. The only exceptions are the Object Level and Sub-Object Levels radio buttons in the Objects To Bake rollout ➤ Projection Mapping group and the Use Automatic Unwrap ➤ Channel numeric values in the Objects To Bake rollout ➤ Mapping Coordinates group. Preset Use the upper part of the drop-down list to choose an existing preset to load. The preset is applied to all objects in the objects list. The list contains up to the last 10 maps in the order that they were loaded or saved, with the most recent at the top. After you choose a preset to load, a dialog appears showing you the path and name of the file containing the preset. Confirm or deny loading the preset by clicking Continue or Cancel, respectively. In addition, if Projection Mapping is enabled, the dialog might contain related messages. For example, if the target object needs a Projection modifier, the dialog suggests that you use the Pick function to add one. Load Object Preset Lets you load a preset that’s not on the list. The preset is applied to all objects in the objects list. This command appears only when the list of objects contains one or more entries. Save Object Preset Lets you save the current settings to a preset for later reuse. NOTE You can save a preset only when the list of objects contains a single entry. 7338 | Chapter 18 Rendering Object list List of objects Shows all selected objects. Because the dialog is modeless, you can change the selection while it’s open, and the list updates dynamically. ■ Name columnLists the object's name. ■ Map Channel columnLists the object's current map channel setting. ■ Edge Padding columnLists the object's current edge padding setting. Selected Object Settings group Enable When on, the Channel and Padding controls are used for individual, all selected, and all prepared objects. When off, only selected object texture rendering uses these settings; “whole scene” rendering does not. Default=off. Padding The amount, in pixels, that edges are allowed to overlap in the flattened (“unwrapped”) texture. Default=2 pixels. If the baked texture shows visible seams when you view it in shaded viewports or renderings, try increasing this value. Projection Mapping group This group contains the controls for generating a normal bump projection. See Creating and Using Normal Bump Maps on page 7320 Enabled When on, normal bump projection is enabled using a Projection modifier on page 1543. When off, the Projection modifier is not used. Default=off. To generate a normal map rather than a normal bump map, leave Enabled turned off. Modifier drop-down list When an object has been chosen, this list shows the Projection modifier. If multiple Projection modifiers have been assigned, their names are visible in the list as well. Pick Click to designate the high-resolution object from which the Projection modifier will derive normals. This opens the Add Targets dialog, which works like the Select From Scene dialog on page 184 to let let you select one or more objects on which to base the normal map. Options Click to open the Projection Options dialog on page 7351, which contains various normal bump projection settings. When Individual is chosen (at the bottom of the Objects To Bake rollout), the options affect the selected object; when All Selected or All Prepared is chosen, the options apply to all selected or prepared objects. Render to Texture Dialog | 7339 Object Level When on, projects from the object level of the high-resolution object. Default=on. ■ Put to Baked Material(The default.) When chosen, the object-level projection is rendered in the baked material. Sub-Object Levels When on, uses the active sub-object selection, and makes the Mapping Coordinates group ➤ Sub-Objects controls available. Default=on. ■ Put to Baked MaterialWhen chosen, the sub-object level projection is rendered in the baked material. The following options apply to sub-object rendering, when only a portion of the geometry is being rendered to the normal bump map: ■ Full Size(The default.) When chosen, the size of the normal bump map is the same as if all geometry were being rendered. ■ ProportionalWhen chosen, the size of the normal bump map is fitted to the size of sub-object selection. The Proportional Multiplier on the Projection modifier's Reference Geometry rollout on page 1548 can change the default size of the proportional map. For example, consider a plane that is 4 segments x 4 segments. Each "poly" in the plane is a separate sub-object, for a total of 16 sub-objects. If the output Map Size is 64, the object rendering output is 64 x 64 pixels. If Full Size is chosen, each sub-object rendering is also 64 x 64 pixels. If Proportional is chosen, each sub-object rendering is 16 x 16 pixels. If you change Proportional Multiplier to 2.0 in the Projection modifier, each sub-object rendering is now 32 x 32 pixels. Mapping Coordinates group Object These controls are for basing the rendered texture on the object level of the source object. ■ Use Existing ChannelWhen chosen, unwrapping uses an existing map channel. ■ ChannelWhen Use Existing Channel is active, lets you choose the channel to use for unwrapping. ■ Use Automatic Unwrap(The default.) When chosen, uses automatic unwrapping, and applies an “Automatic Flatten UVs” (Unwrap UVW) modifier on page 1787 to the objects whose texture is being rendered. 7340 | Chapter 18 Rendering Sub-Objects These controls are for basing the rendered texture on a sub-object selection of the source object. ■ Use Existing ChannelWhen chosen, unwrapping uses an existing map channel. ■ ChannelWhen Use Existing Channel is active, lets you choose the channel to use for unwrapping. ■ Use Automatic Unwrap(The default.) When chosen, uses automatic unwrapping, and applies an “Automatic Flatten UVs” (Unwrap UVW) modifier on page 1787 to the objects whose texture is being rendered. Clear Unwrappers Clears the unwrap modifiers from the stack. _____ The radio buttons at the bottom of the rollout let you choose which objects to bake. See Render To Texture Dialog on page 7333 for procedures. ■ Individual Allows you to select each object and choose a set of output maps and targets for it. The list will display all selected objects. ■ All Selected(The default.) Displays all the selected objects. ■ All PreparedThe list will display all visible and unfrozen objects in the scene, selected or not, which have unwrapped mapping on them. Render to Texture: Output Rollout Rendering menu ➤ Render To Texture ➤ Render to Texture dialog ➤ Output rollout. This rollout lets you specify the elements to render and their attributes. See also: ■ Render to Texture on page 7307 ■ Render to Texture Dialog on page 7333 ■ Render to Texture: General Settings Rollout on page 7334 ■ Render to Texture: Objects To Bake Rollout on page 7336 ■ Render to Texture: Baked Material Rollout on page 7345 Render to Texture Dialog | 7341 ■ Render to Texture: Automatic Mapping Rollout on page 7347 Interface 7342 | Chapter 18 Rendering Output List Shows maps names, element names, map sizes and designated map slots. ■ File Name columnLists the name of the map that will be generated. ■ Element Name columnShows the element corresponding to the map. ■ Size columnDisplays the map size. ■ Target Map Slot columnShows which map slot will be occupied by the baked texture in the material. The output list can display entries in black, gray and blank. If a group of objects is selected that has already has output assignments, maps that are shared by all will appear black, maps not shared by all will appear gray. If resolutions or target types are shared they will appear black, if not they will be blank. Add Click to display an Add Texture Elements dialog on page 7349 to choose one or more element types to add to the list. See Baked Texture Elements on page 7312 for a description of the different element choices. Delete Click to remove the currently highlighted element from the list. Selected Element Common Settings group Enable When on, renders this element. When off, disables rendering of this element. Default=on. Name Enter the element component of the file name. Default=the name of the element type. File Name and Type Enter the file name of the rendered texture. Default=the object name followed by the element name, and TGA format on page 8459. This field is disabled if All Selected or All Prepared is turned on in the Objects To Bake rollout on page 7336. Click this button to display a file dialog you use to choose a name, directory, and file format for the rendered texture. NOTE The File Name and Type setting specifies the path and filename only for the selected element. To set a folder where all baked textures will be stored, set the path in the Output group on the General Settings rollout on page 7334. Target Map Slot Display all Map Types available to the materials assigned to the objects selected minus the ones already slated for output in the current Render To Texture session. Render to Texture Dialog | 7343 If more than one object is selected the all map types common to all the selected objects will be listed. If you choose to Create New Baked on page 7345, then the slots for the new baked material type will be displayed. Element Type This read-only field displays the type of element, such as CompleteMap, that you specified when you added the element. By default, the element name is the same as its type, but you can change it using the Name field. Element Type remains constant. Element Background Lets you set the background color of the rendered output for the highlighted element. Use Automatic Map Size When on, sets the texture size automatically, using the values on the General Settings rollout on page 7334. When off, the texture is the size specified by the following controls in this rollout. Default=off. Width/Height Lets you specify dimensions for the texture. Range=0 to 8192. Default=256. NOTE Increasing texture resolution increases render time. To force the texture to be square, often a requirement with real–time 3D rendering engines, click the lock button next to Height. Preset resolution buttons (128x128, ...) Click a button to specify a preset resolution for the texture. Selected Element Unique Settings group The contents of the Selected Element Unique Settings group vary depending on the active element. But the group always shows a list of toggles for various components of a scene, and by default, all toggles are on. The following table shows which components apply to which elements (if the table shows “none,” the Selected Elements Unique settings group is not displayed): Map Type Components Complete Shadows Specular Lighting Shadows Diffuse Lighting Shadows 7344 | Chapter 18 Rendering Map Type Components Shadows (none) Lighting Shadows Direct Light On Indirect Light On Normals Output into Normal Bump Render Height Map into Alpha Channel Blend Lighting Diffuse Specular Reflection Shadows Ambient Self-Illumination Refraction Alpha (none) Height (none) For a fuller description of the rendered texture elements, see Baked Texture Elements on page 7312. Render to Texture: Baked Material Rollout Rendering menu ➤ Render To Texture ➤ Render to Texture dialog ➤ Baked Material rollout Material Baking operates on the entire Render To Texture session. It is not set per individual object. NOTE When you use Network Rendering, the Render To Baked Material option is disabled. See also: ■ Render to Texture on page 7307 ■ Render To Texture Dialog on page 7333 Render to Texture Dialog | 7345 ■ Render to Texture: General Settings Rollout on page 7334 ■ Render to Texture: Objects To Bake Rollout on page 7336 ■ Render to Texture: Output Rollout on page 7341 ■ Automatic Mapping Rollout on page 7347 Interface Baked Material Settings group Output Into Source When on, replaces any target map slot in the object’s existing material. Care should be used with this option, because the material replacement cannot be undone. NOTE If a selected object to be rendered has a multi/sub-object material assigned to it, the workflow will not change and the results will be as follows: output into source will put the resulting map in all sub-material slots that match, instancing all identical maps, if a sub-material doesn’t have the selected output type it will be ignored; duplicate in baked will duplicate the entire Multi/Sub-Object Material into the baked material and perform the above output; create new baked will create a new single standard material. Save Source (Create Shell) Makes a new Shell material and assigns it to the object. When this option is turned on, you can then choose to either Duplicate Source To Baked, or to Create New Baked. 7346 | Chapter 18 Rendering Duplicate Source To Baked Makes a copy of the existing material as the Baked material. Create New Baked Puts a new material in the Baked Material slot. The type of the new material is set by the drop-down list below and subsequently determining the available Target Map Slots in the Output rollout. Shader list Allows you to specify a shader to be used for the newly baked texture. _____ Update Baked Materials Builds a Shell material for all selected objects, and populates the baked material according to the current Render To Texture settings. Clear Shell Materials Removes the Shell material on page 6596 applied to the texture-baked object, and replaces it with either the original material or the texture-baked material. The radio buttons below Clear Shell Materials give you a choice of which material in the Shell material to retain: ■ Keep Source MaterialsWhen chosen, the original material replaces the Shell material. ■ Keep Baked MaterialsWhen chosen, the baked material replace the Shell material. NOTE If you have already rendered a baked texture and decide you want to render with a different shader from the list, you must first click Clear Shell Materials and then re-render. Render to Files Only When turned on, the baked texture files are rendered to the folder you've specified in the Output Path field of the General Settings rollout on page 7334. Default=off Render to Texture: Automatic Mapping Rollout Rendering menu ➤ Render To Texture ➤ Render to Texture dialog ➤ Automatic Mapping rollout These options specify how Render To Texture should behave when it automatically flattens UVs or chooses the map size of a baked texture. Render to Texture Dialog | 7347 See also: ■ Render to Texture on page 7307 ■ Render To Texture Dialog on page 7333 ■ Render to Texture: General Settings Rollout on page 7334 ■ Render to Texture: Objects To Bake Rollout on page 7336 ■ Render to Texture: Output Rollout on page 7341 ■ Render to Texture: Baked Material Rollout on page 7345 Interface Automatic Unwrap Mapping group These are options for how to flatten UVs when Use Automatic Map is chosen in the Objects To Bake rollout's Mapping Coordinates group. NOTE These controls are also provided by the Unwrap UVW modifier's Flatten Mapping dialog on page 1843. Rotate Clusters Controls whether clusters are rotated to minimize the size of their bounding box. For example, the bounding box of a rectangle rotated 45 degrees occupies more area than one rotated 90 degrees. Default=on. Threshold Angle The angle used to determine the face clusters to be mapped. Default=45.0. 7348 | Chapter 18 Rendering As faces are gathered to be mapped, the modifier uses this parameter to determine which faces get put in a cluster. This is the maximum angle that can exist between faces in a cluster. The higher this number, the larger the clusters will be, with consequently greater distortion introduced as a result of texture faces' proportions deviating from their geometry-equivalent faces. Fill Holes When turned on, smaller clusters will be placed in empty spaces within larger clusters to take the most advantage of the available mapping space. Default=on. Spacing Controls the amount of space between clusters. Default=0.02. The higher this setting, the larger the gap that appears between clusters. Automatic Map Size group Rendering to texture can choose a map size for you. Automatic map sizing is enabled or disabled by a toggle on the Output rollout on page 7341. The controls in this group specify how to create the map, when Automatic Map Size is enabled. Automatic map sizing computes the total surface area of all objects in the selection, then multiplies that value by Scale, and creates a square texture map of those dimensions. Scale The amount by which to scale the total surface area of generated texture. Default=0.01. Nearest power of 2 When on, rounds the map dimensions (length and width) to the nearest power of 2. Default=off. Min The minimum size, in pixels, of the length and width of the automatically sized map. Default=32. Max The maximum size, in pixels, of the length and width of the automatically sized map. Default=1024. Render to Texture: Add Texture Elements Dialog Rendering menu ➤ Render To Texture ➤ Render to Texture dialog ➤ Output rollout ➤ Click Add to add a texture element. ➤ Add Texture Elements dialog This dialog lets you choose which elements will be part of a baked material. Each element is an individual bitmap. When you display a baked texture in shaded viewports, some elements might not display. Render to Texture Dialog | 7349 NOTE If the Direct3D display driver on page 8912 is active, you can use a DirectX viewport shader on page 6222 to enhance baked texture display. Interface Available Elements Lists the elements available for rendering. See Baked Texture Elements on page 7312 for a description of the available elements. Click an element to select it. Use Ctrl+click to select (or deselect) additional elements individually. Use Shift+click to select a group of contiguous elements. You can also double-click a single element name to add it to the list and close the dialog. Add Elements Click to add these elements to the list in the Objects To Bake rollout on page 7336 of the Render To Texture dialog. 7350 | Chapter 18 Rendering Render to Texture: Projection Options Dialog Rendering menu ➤ Render To Texture ➤ Render to Texture dialog ➤ Objects To Bake rollout ➤ Projection Mapping group ➤ Click Options. ➤ Projection Options dialog This dialog displays options for normal bump projection. Interface Render to Texture Dialog | 7351 Objects and Sources group The text field displays the name of the projection's source object. If more than one object is selected, it displays the source option chosen in the Render To Texture dialog: a single object name for Individual, or “All Selected” (the default), or “All Prepared.” Synch All Click to set all Render-To-Texture sources to use the active source object and the other current Projection Options settings. This button is available only when there is an individual source object. Filtering Options group Crop Alpha Removes antialiasing from the alpha channel. Global Supersampler When the default scanline renderer is active, the text field shows the type of global supersampling that is currently in use. When the mental ray renderer is active, it shows the number of samples per pixel. Default=None. ■ SetupClick to set up global sampling. When the default scanline renderer is active, clicking Setup displays the Render dialog's Default Scanline Renderer rollout on page 7042, whose Global Supersampling group lets you globally enable supersampling, and choose the supersampling method. When the mental ray renderer is active, clicking Setup displays the Render dialog's Sampling Quality rollout on page 7189, which lets you adjust the level of sampling. Method group These controls let you choose how to use normals from the source object. ■ Raytrace(The default.) When chosen, normals are ray-traced between the source and target objects. The objects need to be perfectly aligned in world space on page 9354. When you view both high-res and low-res objects in viewports, they must line up with each other exactly. There are no special requirements for the mapping coordinates of the high-res objects. ■ UV MatchWhen chosen, normals are obtained by matching the target object's local UV coordinates to those of the source. The objects' UV coordinates on page 9340 need to be perfectly aligned. If you look at the objects using the Unwrap UVW modifier's Edit UVWs dialog on page 1807, the low-res and high-res objects must be lined up with each other exactly. The high-res object needs to have mapping coordinates on the same map channel you are using for the low-res object. Typically, the high-res object will have an Unwrap UVW modifier assigned to it, but this is not required. 7352 | Chapter 18 Rendering With this option, the high-res object does not need to be in the same physical location as the low-res object. TIP You can reset the cage (on the Cage rollout on page 1550), because UV Match does not use it. Use Cage When on, bases projection on the Projection modifier's cage sub-object. When off, uses an offset instead. Default=on. Offset Enabled only when Use Cage is turned off. Offset is the distance above the surface of the source object from which normals are projected. Default=10.0 units. Resolve Hit group The two radio buttons are for scenes that have semitransparent objects, in which case more than one hit can be found for each ray. The remaining controls in this group are additional projection controls. ■ ClosestIf there are multiple hits, use the closest object. ■ Furthest(The default.) If there are multiple hits, use the farthest object. Hit Only Matching Material ID When on, projection is only between material IDs that match. Turning this option on enables a single map to contain normal bump projections from different high-res source geometry. Default=off. Include Working Model When on, bakes from the source object if no target object can be found. Default=off. Turning on Include Working Model can be a quick fix when a lot of the projected rays miss the target object (the Ray Miss Color will be apparent in the rendered normals map). However, if the low-res object occludes the high-res object, then Include Working Model will not have the desired effect, and the normal map will not show high-res details that you want it to. In this case, adjust the Projection modifier's cage. This toggle is also useful when the high-res geometry is discontinuous (for example, a lattice or an array of cylinders). Ray miss check When on, bakes missed rays as well as rays that hit into the rendered texture, using the Ray Miss Color. Default=on ■ Ray miss colorThis color is baked into the texture when projection fails to hit the target geometry. Click the color swatch to display a Color Selector on page 304 and change the color used for missed rays. Default=red. Render to Texture Dialog | 7353 Normal Map Space group There are four methods for projecting the normals: ■ WorldProject using world coordinates. This is useful mainly for objects that don't move or deform; otherwise, a moving object with world-projected normals will appear to “swim” through the texture. ■ ScreenProject using screen coordinates; that is, flat projection in the Z axis. This method is useful mainly for stationary objects seen from a single angle only; for example, a statue seen through a window. ■ Local XYZProject using the object's local coordinates. This method can be used for stationary or moving objects, but not for objects that deform: if the object deforms, the projection will appear incorrect at some frames. ■ Tangent(The default.) Project at a tangent to the target object's surface. This is the method to use for objects that both move and deform, such as animated characters. Orientation The orientation settings determines what the red and green colors will indicate in your normal map. The orientation settings are different for the Tangent method than for the other methods. The correct setting for red and green depend on what kind of hardware shader or texture will be used to view the map. Different shaders have different requirements. The Normal Bump map has controls to flip the red and green; the Normal Bump texture should work correctly if the map was created with the default X and Y or Left and Right settings, but if the map was created with different settings, change the Normal Bump settings to make the map render correctly, instead of rendering a whole new map. Orientation: Tangent For the Tangent method red indicates normals that are pointed either left or right and green indicates normals that are pointed up or down. 7354 | Chapter 18 Rendering As an example, if you use Tangent mode with Red set to right and Green set to down, areas that are red in your normal map would indicate that the normals were facing towards the right and areas that were green would indicate that your normals were facing downwards. The following are the possible values for the Tangent method: ■ RedCan be Left or Right. Default=Right. ■ GreenCan be Up or Down. Default=Down. Orientation: World, Screen, and LocalXYZ For World, Screen, and LocalXYZ, red indicates that the normals are pointed toward either a positive or negative X value, while green indicates that the normals are pointed toward either a positive or negative Y value. Foir example, if you use World mode with Red set to –X and Green set to –Y, areas that are red in your normal map indicate that the normals face toward –X, and green areas indicate that the normals face toward –Y. The following are the possible values for World, Screen, and Local XYZ methods: ■ RedCan be –X or +X. Default=+X. ■ GreenCan be –Y or +Y. Default=+Y. Height Map group Min Height Sets a minimum height for displaced normals. Default=0.0 units. Max Height Sets a maximum height for displaced normals. Default=10.0 units. Min and Max Height eyedropper Enable the eyedropper to pick the minimum or maximum height for the displaced normals by picking or dragging in a viewport. With the button enabled, click at the desired height. You can also drag this value until the desired result is achieved. The minimum or maximum height value is updated based on your selection. Buffer min Height After you render a normal bump projection, this value is set to the minimum distance that a projection ray travelled. Default=0.0. Render to Texture Dialog | 7355 Buffer max Height After you render a normal bump projection, this value is set to the maximum distance that a projection ray travelled. Default=0.0. If you want to use the Height Map texture element, you can render a normal bump map to obtain the Buffer values, and then set Min Height and Max Height accordingly, in order to get the best-looking possible Height Map. Rendering Previews and Grabbing Viewports You can grab a viewport as an image file. You can also generate a preview of an animation. These commands are in the Grab Viewport group on the Tools menu. A viewport grab (Create Still Image File) appears in a Rendered Frame Window on page 6963, where you can save it to a bitmap format. A preview (Create Animated Sequence File) can help you preview the animation in your scene. The preview uses lighting but not materials, so it renders much more quickly than a fully rendered animation. Create Still Image File Tools menu ➤ Grab Viewport ➤ Create Still Image File Create Still Image file creates a snapshot of the active viewport in a Rendered Frame Window on page 6963, where you can save it as an Image file on page 8411. Procedures To create a snapshot of a viewport: 1 Activate the viewport you want to capture. 2 Choose Tools menu ➤ Grab Viewport ➤ Create Still Image File. A dialog appears that allows you to add a label to your snapshot. 3 Enter a label for your snapshot, if desired. The label will appear in the lower-right corner of the image. 4 Click Grab. The Rendered Frame Window opens to display a snapshot of your viewport. 7356 | Chapter 18 Rendering 5 Click (Save Image) to save your image. Interface Label Enter text here to add a label to your screenshot. The text you enter is displayed in the lower-right corner of your screenshot. Viewport image with a label in the lower right corner Create Still Image File | 7357 Grab Opens the Rendered Frame Window with a snapshot of the active viewport. Cancel Cancels the Create Still Image File command. Create Animated Sequence File Tools menu ➤ Grab Viewport ➤ Create Animated Sequence File Create Animated Sequence File displays the Make Preview dialog, enabling you to create an AVI file on page 8412 or custom file type preview of the animation in the current viewport. You can also render a preview to a specified device. When the preview is complete, 3ds Max starts the Media Player with the preview _scene.avi file ready to play. (If you don't want the Media Player to start, choose Customize ➤ Preferences ➤ General and, in the UI Display group, turn off Autoplay Preview File on page 8887.) Procedures To create a preview: 1 Choose Tools menu ➤ Grab Viewport ➤ Create Animated Sequence File. 3ds Max opens the Make Preview dialog. 2 Change the preview parameters or accept the defaults, and then click OK. If the output type is AVI, 3ds Max renders the preview and saves it in a file called _scene.avi, in the path specified by Configure User Paths ➤ File I/O ➤ Previews on page 8877. Immediately after rendering the preview, 3ds Max runs Media Player with this animation loaded. 3 View the preview by clicking Play in Media Player. If you dismiss Media Player and then want to view the preview again, choose Tools ➤ Grab Viewport ➤ View Animated Sequence File on page 7361. This restarts Media Player with _scene.avi. You can save the preview under a different name, so it won't be overwritten the next time you make a preview. To do so, use Tools ➤ Grab Viewport ➤ Rename Animated Sequence File on page 7361. 7358 | Chapter 18 Rendering Interface Preview Range group Specifies the frames to be included in the preview, either the active time segment on page 9082 or a custom range of frames. Frame Rate group Specifies the playback frame rate on page 9169 in frames per second. Use Every Nth Frame to preview a regular sampling of the animation. For example, a value of 8 includes only every eighth frame in the preview. Create Animated Sequence File | 7359 Image Size group Sets the resolution of your preview as a percentage of the current output resolution. You set the output resolution on the Render Setup dialog. For example, if the rendering output resolution is 640x480, and you set Percent Of Output to 50, the preview resolution is 320x240. NOTE The size of the preview image is limited by the size of the viewpanel region (the region that contains the viewports). The setting is clamped to the maximum value that allows the preview image to fit in the viewpanel region. Display in Preview group Specifies the types of objects to include in the preview. Frame Numbers prints a frame number in the upper-left corner of each frame of the AVI file. Background includes the assigned viewport background in the preview. Camera View group Specifies whether the preview should include multi-pass rendering effects on page 7126. Rendering Level group Rendering Level drop-down list Specifies the viewport rendering method on page 8965 to use in the preview. Output group Specifies the preview output format. AVI When chosen, the preview is output as an AVI file. The button to the right displays the current AVI codec on page 9118. Click it to adjust the assigned codec, or choose a different codec. The quality of your output AVI file depends on the type of codec you use and the codec settings, which vary. For the highest visual quality, choose the highest compression quality. The higher the compression quality, the lower the compression, and the larger the resultant file. Custom File Type Outputs the preview to the specified file format. When this option is chosen, and the Create button is clicked, a file selector appears, where you name the file and specify the output file type. For example, you can output the preview as a Quicktime movie by specifying a file name with a .mov extension. If you specify a single-image format, such as .tga, the preview is output as a series of sequentially numbered files. 7360 | Chapter 18 Rendering Use Device Lets you output the preview to an external device, such as a digital recorder. The button at right displays the name of the currently assigned device. Click it to either change the settings of the device, or assign a different device. Render Viewport This list shows the names of the currently visible viewports, letting you choose which viewport to render from within the Make Preview dialog. Default=active viewport. View Animated Sequence File Tools menu ➤ Grab Viewport ➤ View Animated Sequence File View Animated Sequence File displays the Windows-standard Media Player to view the current preview file. When you use Create Animated Sequence File, 3ds Max stores the output preview in a file called _scene.avi by default. View Animated Sequence File loads this file. If you want to keep the preview file, use Rename Animated Sequence File to save it under another file name, otherwise, the next Create Animated Sequence File will overwrite _scene.avi. The Media Player has its own Help system. Rename Animated Sequence File Tools menu ➤ Grab Viewport ➤ Rename Animated Sequence File Rename Animated Sequence File renames the _scene.avi preview file. When you use Create Animated Sequence File, 3ds Max stores the output preview in a file called _scene.avi by default. View Animated Sequence File loads this file. If you want to keep the preview file, use Rename Animated Sequence File to save it under another file name; otherwise, the next Create Animated Sequence File will overwrite _scene.avi. Procedures To rename the preview file: 1 Choose Tools ➤ Grab Viewport ➤ Rename Animated Sequence File. 2 Specify a folder and a name for the preview file. 3 Click Save. View Animated Sequence File | 7361 Panorama Exporter Utility Rendering menu ➤ Panorama Exporter Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Panorama Exporter The Panorama Exporter is a rendering utility that lets you create and then view 360-degree spherical panoramas. NOTE You need at least one camera in your scene to use the Panorama Exporter. Panorama Exporter creates a 360-degree spherical rendering. 7362 | Chapter 18 Rendering Interface The Panorama Exporter rollout has two buttons, which let you create or view a panoramic rendering. Render Opens the Render Setup dialog on page 7363 for the Panorama Exporter. Viewer Opens the Panorama Exporter viewer on page 7366. Panorama Exporter Render Setup Dialog Rendering menu ➤ Panorama Exporter ➤ Render button Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Panorama Exporter ➤ Render button The Panorama Exporter Render Setup dialog is a modal on page 9224 version of the Render Setup dialog on page 6956 specially configured for generating panoramic output. NOTE You need at least one camera in your scene to use the Panorama Exporter. TIP For best results, high resolutions might be necessary. We recommend a resolution of 2048x1024 or higher unless you're working on drafts. Interface This topic covers the main rollout parameters. Additional rollouts might be available depending on the current renderer. For more information, see Render Setup dialog on page 6956. Panorama Exporter Render Setup Dialog | 7363 Output Size group Choose one of the predefined sizes or enter another size in the Width and Height fields (in pixels). These controls affect the image's aspect ratio on page 9096. Width and Height Lets you set the resolution of the output image by specifying the width and the height of the image, in pixels. Preset resolution buttons (512x256, 1024x512, and so on) Click one of these buttons to choose a preset resolution. Aperture Width Lets you specify an aperture width for the camera that creates the rendered output. Changing this value changes the camera's Lens value. This affects the relationship between the Lens and the FOV values, but it doesn't change the camera's view of the scene. For example, if you have a Lens setting of 43.0 mm, and you change the Aperture Width from 36 to 50, when you close the Render Setup dialog (or render), the camera Lens spinner has changed to 59.722, but the scene still looks the same in the viewport and the rendering. If you use one of the preset formats rather than Custom, the aperture width is determined by the format, and this control is replaced by a text display. Options group Atmospherics Renders any applied atmospheric effects, such as volume fog, when turned on. 7364 | Chapter 18 Rendering Render Hidden Geometry Renders all geometric objects in the scene, even if they are hidden. Effects Renders any applied rendering effects, such as Blur, when turned on. Area/Linear Lights as Point Lights Renders all area or linear lights as if they were point lights, speeding up rendering time. Displacement Renders any applied displacement mapping. Force 2-Sided 2-sided rendering on page 9079 renders both sides of all faces. Usually, you'll want to keep this option off to speed rendering time. You might want to turn it on if you need to render the inside as well as the outside of objects, or if you've imported complex geometry in which the face normals are not properly unified. Default=off. Video Color Check Checks for pixel colors that are beyond the safe NTSC on page 9238 or PAL on page 9257 threshold and flags them or modifies them to acceptable values. By default, "unsafe" colors render as black pixels. You can change the color check display by using the Rendering panel on page 8929 of the Preference Settings dialog on page 8886. TIP This is useful for draft renderings, as point lights render much faster than area lights. NOTE Scenes with radiosity on page 7068 are not affected by this toggle, as area lights do not have a significant effect on the performance of a radiosity solution. Super Black Super Black rendering on page 9322 limits the darkness of rendered geometry for video compositing. TIP Leave this off unless you're sure you need it. Advanced Lighting group Use Advanced Lighting When on, 3ds Max incorporates a radiosity solution on page 7068 or light tracing on page 7055 in the rendering. Compute Advanced Lighting When Required When on, 3ds Max computes radiosity when required on a per-frame basis. Normally, when rendering a series of frames, 3ds Max calculates radiosity only for the first frame. If, in an animation, it might be necessary to recalculate the advanced lighting in subsequent frames, turn this option on. For example, a brightly painted door might open and affect the coloring of a nearby white wall, in which case the advanced lighting should be recalculated. Panorama Exporter Render Setup Dialog | 7365 Render Output group Save File Saves the rendered panorama to disk. This is unavailable until you have defined a file name by clicking the Files button. Files Lets you specify the name, location, and file type for the rendered panorama file. Rendered Frame Window Enables or disables the panorama exporter’s rendering display. Display Viewer When on, the Panorama Exporter viewer on page 7366 opens upon rendering the panoramic rendering. _____ Viewport Chooses the camera viewport to render. When you render a panorama, this drop-down list shows only the cameras in the scene. Render Click to render the panorama. Cancel Click to cancel the rendering. Close Click to close the dialog, saving any changes you've made. Panorama Exporter Viewer Renderingmenu ➤ Panorama Exporter ➤ Viewer button Utilities panel ➤ Utilities rollout ➤ Panorama Exporter ➤ Viewer button The Panorama Exporter viewer lets you navigate a rendered panorama. You can use the viewer to export the panorama rendering with a cylindrical, spherical, or QuickTime VR format. 7366 | Chapter 18 Rendering NOTE Exporting to QTVR format requires that QuickTime® 5 or higher be installed on your system. You can download the latest version from http://www.apple.com/quicktime/download. For QTVR export, you must choose the “Recommended Install” rather than a custom or minimal installation. In particular, your installation must include these components: ■ QuickTime Authoring ■ QuickTime Internet Extras ■ QuickTime Essentials Procedures To navigate a rendered panorama: 1 Hold down the left button to rotate the camera around the panorama. If you move the mouse, the camera rotates in that direction until you move the mouse again. (The view of the panorama moves in the opposite direction from the mouse and camera.) 2 Hold down the middle button and move the mouse up and down to zoom in and out. 3 Hold down the right button and move the mouse to rotate the camera around the panorama. With the right button, you must drag the mouse to see any movement, and the view of the panorama moves in the same direction as the mouse. To export a rendered panorama: 1 Open a rendered panorama in the Panorama Exporter Viewer. 2 Click File ➤ Export. Choose Cylinder, Sphere, or QuickTimeVR to set the format for your exported file. 3ds Max opens a dialog that prompts you to enter the name, location, and type of file. Panorama Exporter Viewer | 7367 Network Rendering Network rendering is a means of mass-processing multiple rendering tasks or jobs. In order to facilitate network rendering, Autodesk BackburnerTM is installed with 3ds Max. The Backburner software is responsible for coordinating how job assignments are processed. You can perform network rendering with both the default scanline and mental ray renderers. In its most efficient form, network rendering uses multiple computers, connected over a network, to perform rendering tasks; typically the rendering of animations with hundreds or thousands of frames. Even a small network of three or four PCs can save substantial rendering time and help you meet deadlines. However, network rendering can be equally useful if you have only a single PC and need to render a number of images. You can assign the jobs that need to be rendered and Backburner can manage the rendering of each job while you're away from the computer. Commonly, jobs are assigned submitted just before you leave the office. when you arrive the next morning, all your rendering are waiting for you to review. Network rendering is designed to render whatever is set up in your scene; that is, it will render the viewport, part of a viewport, camera view, and so on, as saved in the scene file. You can also pass batch-rendering tasks to Backburner from the Batch Render tool on page 7485. You can queue up tasks from any number of cameras in a scene. Each task can load a save scene state or use a particular rendering preset. The requirements and procedures presented here assume you are the administrator of a closed network set up exclusively for network rendering. In practice, you can use the network for file sharing and other purposes, but if conflicts arise, you might need to cancel those uses. The easiest network to set up, operate, and maintain is one dedicated to rendering. NOTE For specific information about setting up network rendering on a single system, refer to Basic Procedure 1: Single-System Network Rendering on page 7373. If you're a system administrator for a more complex network, you can use the information in this file as a guideline. The basic approach is the same for any network. IMPORTANT It is strongly recommended that you follow these procedures for setting up and running network rendering. Do not attempt network rendering without reading the instructions that follow. 7368 | Chapter 18 Rendering The links on this page are ordered like chapters in a manual: a sequence of major topics containing more specific nested topics. Links marked Next Step indicate the next topic in the sequence. Moving from one topic to the next takes you through the necessary steps to set up your network for rendering. NOTE Network rendering functions are also available from MAXScript. See “Network Render Interface” and “Interface: NetRender” in the MAXScript Help. About Backburner Network rendering is performed by software named Backburner. Functionality is primarily the same as in previous versions of 3ds Max with the addition of the following: ■ The Batch Render tool on page 7485 can pass a queue of rendering tasks to the Network Job Assignment dialog. When submitted, Backburner manages the rendering of all the active tasks and ■ You can now assign various servers to groups in Backburner. From the Network Job Assignment dialog you can choose a group as the current set of servers. Backburner Documentation The following table summarizes the Backburner Documentation set. For Information About: See: Using Autodesk Backburner with 3ds Max This Network Rendering section. Autodesk Backburner User Interface (Manager, Server, and Monitor), Troubleshooting, and Administering Autodesk Backburner Autodesk Backburner User’s Guide (In 3ds Autodesk Backburner Configuration Autodesk Backburner Installation Guide (In Max go to Help ➤ Additional Help ➤ Backburner User's Guide) 3ds Max go to Help ➤ Additional Help ➤ Backburner Installation Guide) Installing Autodesk Backburner with 3ds Max 3ds Max Install Guide (Click the Documentation link on the Autodesk Autodesk 3ds Max 2011 Install DVD 1.) Network Rendering | 7369 About Mental Ray Network rendering with the mental ray Renderer The mental ray renderer supports network rendering via Backburner and the command line. The steps for setting up and submitting jobs are exactly the same as those you'd use for the scanline renderer. No additional licensing or fees are necessary. Next Step How Network Rendering Works on page 7370 How Network Rendering Works Rendering networks are sometimes called “render farms.” In 3ds Max, one computer is set up as the network Manager. The Manager "farms out" or distributes the work to rendering Servers. You can also have the same computer function simultaneously as both Manager and Server, so computing cycles don't go to waste. Once rendering is underway, the Queue Monitor program lets you directly monitor and control the operation of the network rendering workload. The Queue Monitor allows you to edit job settings as well as to activate, deactivate, and reorder both jobs and servers involved in your render farm. Important: When rendering using a render farm, it is recommended to render with single-frame formats such as BMP or PNG. Movie file formats such as AVI output all frames into a single file which cannot be split between different servers to take advantage of network rendering. How Work Is Divided 3ds Max breaks up the task of network rendering among the rendering Servers, assigning one frame at a time to each Server. The completed output of the Servers accumulates in a common, shared directory. Rendered frame files can also be written to a local directory on each machine, if the same path defines the directory. Frame files are sequentially numbered, making them easy to assemble later. The Manager takes a number of different factors into account in determining how to assign frames and jobs, always striving for the most efficient usage of the rendering network. An idle rendering Server is automatically detected by the Manager and is considered for job or frame assignment. If a Server goes 7370 | Chapter 18 Rendering off-line for some reason, the Manager reclaims the Server's current frame and reassigns the frame to the next available rendering Server. The Basic Process Following is a step-by-step description of the sequence of events when you use network rendering: 1 The user submits a job to the network Manager. 2 On the submitting machine, the MAX file gets zipped up. If the user turned on Include Maps, all maps and XRefs are also zipped up. 3 Once the file is zipped up, the ZIP file is copied to the Manager machine's Backburner\Network\Jobs\ folder. In the folder is an XML file describing the job itself, specifying frame size, output filename, frame range, render settings, etc. 4 Once the Manager receives the ZIP and XML files, it looks to see which servers are sitting idle and can render jobs. It assigns the job to four servers at a time. (This is the Max Concurrent Assignments setting on the Manager General Properties dialog. See Starting Network Rendering on page 7385 ). 5 Each Server machine receives the ZIP and XML files into the Backburner\Network\jobtemp folder. 6 The MAX file gets unzipped, along with the maps and XRefs if they were included. 7 3ds Max is launched and loads the MAX file. If the maps and XRefs were not included, the Server searches for them as they are defined in the MAX file. For instance, if an XRef is in d:\foo\xref.max, the Server will look for xref.max in d:\foo\ on the local machine. If there are additional map paths set in the 3dsmax.ini on page 42 file on the rendering server, it will search in those paths as well. If it does not find the maps and XRefs, the server fails for that particular job. This is why it is important to use UNC paths for all maps and XRefs in your scene file, so that all render servers can find them. However, if the maps and XRefs were included, then 3ds Max will get the ones that were unzipped into the \jobtemp folder. 8 When a frame is finished rendering, 3ds Max on the Server saves the frame to the location specified via the Render Setup dialog before you submitted it. How Network Rendering Works | 7371 9 Once a Server successfully renders one frame, the Manager assigns a block of frames to the server to render; it might assign 20 consecutive frames. This minimizes the amount of communication needed between the Server and Manager. 10 The Server continues rendering frames for the job until the job is done. 11 The Server then closes 3ds Max, and goes idle. If the queue contains additional jobs, the Server picks up the next job and starts the process all over again. You can use this explanation to help determine the basic requirements for your network rendering setup, based on the type of usage. If your frames render quickly, you'll need a fast file server machine to handle the constant output from a number of different rendering servers. The same holds true of your scene uses a large quantity of map files that are stored in a central location. If you typically render large files, rendering will take longer, and most of the bandwidth will be required at the start, when the files are distributed to the rendering servers. Next Step Checking Requirements on page 7395 Basic Procedures for Network Rendering This topic contains basic procedures to follow when network rendering with 3ds Max. The following conditions are assumed: ■ 3ds Max has been installed on all machines to use as rendering servers. Note: You needn't license 3ds Max on machines to be used only as rendering servers. ■ All network communications and protocols are installed and operating correctly. ■ The computers run Windows XP Pro, Windows 2000, or NT 4.0. Limitations of other operating systems could cause network rendering to be unreliable. ■ All of the computers have names that start with letters. Machine names that start with a number will fail. ■ You haven't previous attempted network rendering. If you have already attempted network rendering and want to return to the original state, 7372 | Chapter 18 Rendering delete everything in the \Program Files\Autodesk\Backburner\Network folder except nrres.dat. ■ Manager and Server have not been installed as services. Summary of Procedures ■ Procedure 1 - Use this procedure for configuring a single system to render jobs to itself; in other words, to perform batch rendering that is managed by Backburner. ■ Procedure 2 - Use this procedure for configuring a Backburner Manager system to render to one or more Backburner Server systems. The Manager system will not be involved in the rendering tasks. ■ Procedure 3 - Use this procedure for configuring the Backburner Manager and Backburner Server systems to render tasks together. Special Consideration for Procedures 2 and 3 To use a render farm, you must output a frame sequence in a still-image file format; for example, a series of BMP files. You cannot render animated file formats such as AVI or MOV to multiple systems. You must render animated files to a single system. When rendering to an animated file format, the Use All Servers check box in the Network Job Assignment dialog is unavailable. Basic Procedure 1: Single-System Network Rendering This procedure describes usage of network rendering on a single computer. The main advantage to this method over standard rendering is that you can submit multiple rendering jobs for the computer to render. In effect, this lets you perform batch rendering. 1 Go to Start menu ➤ Programs ➤ Autodesk ➤ Backburner and choose the Manager menu item. This starts Manager and creates the backburner.xml file in the Backburner\Network folder. When you run Manager for the first time, you will see the Backburner Manager General Properties dialog, shown below. Basic Procedures for Network Rendering | 7373 Backburner Manager General Properties dialog. 2 Click OK to accept the default settings. The Backburner Manager dialog displays. 3 Go to Start menu ➤ Programs ➤ Autodesk ➤ Backburner and choose the Server menu item. This starts Server and creates the server data that is stored in the backburner.xml file. You will see the Backburner Server General Properties dialog, shown below, when you run Server for the first time. 7374 | Chapter 18 Rendering Backburner Server General Properties dialog. 4 Click OK to accept the default settings. The Backburner Server dialog displays. After a few moments, messages appear in both the Server and Manager windows indicating that the Server has successfully registered with the Manager. 5 Start 3ds Max and load the first scene you want to render. 6 From the Rendering menu, choose Render Setup, or on the main toolbar, click (Render Setup). 7 Set the rendering parameters and specify an output file name. In the Render Output group on the Common tab, turn on Net Render, and then click the Render button. 3ds Max opens the Network Job Assignment dialog. Basic Procedures for Network Rendering | 7375 Network Job Assignment dialog showing the server station that is also running Manager. 8 Enter a job name (it's a good idea to change the default name) and then click the Connect button. The name of your computer (that is, the Server) appears in the Server window to the right. It has a green dot next to it meaning that it is a Server system that is ready to start rendering. 9 Click the Server name to highlight it in the list window, and then click the Submit button. The Manager submits the job to the Server, both running only on this system, and the Server begins rendering each still frame or the animation. 7376 | Chapter 18 Rendering 10 To render additional jobs, load each into 3ds Max, and then repeat steps 6 to 9. You can submit as many jobs as you like. The Manager will queue the jobs up and render them in the order that you submitted them. Basic Procedure 2: Network Rendering from Server (not Manager) When rendering across a network, you first assign one machine to be Manager, and then any number of others as Servers. In this procedure, you won't use the Manager as a rendering Server. 1 Go to Start menu ➤ Programs ➤ Autodesk ➤ Backburner and choose the Manager menu item. This starts Manager and creates the backburner.xml file in the Backburner\Network folder. When you run Manager for the first time, you will see the Backburner Manager General Properties dialog, shown below; this is normal. Basic Procedures for Network Rendering | 7377 Backburner Manager General Properties dialog. 2 Click OK to accept the default settings. The Backburner Manager dialog displays. 3 Move to a Server system. 4 Go to Start menu ➤ Programs ➤ Autodesk ➤ Backburner and choose the Server menu item. This starts Server and creates the server data that is stored in the backburner.xml file. 7378 | Chapter 18 Rendering You will see the Backburner Server General Properties dialog box, shown below, when you run Server for the first time. Backburner Server General Properties dialog. 5 Click OK to accept the default settings. The Backburner Server dialog displays. After a few moments, messages appear in both the Server and Manager windows indicating that the Server has successfully registered with the Manager. 6 Repeat steps 3-5 on all the Server systems you intend to make available for your rendering jobs. 7 Return to the Manager system, start 3ds Max, and load the first scene you want to render. 8 From the Rendering menu, choose Render Setup, or on the main toolbar, click (Render Setup). 9 Set the rendering parameters and specify an output path and file name. Basic Procedures for Network Rendering | 7379 TIP So that the Servers can find the output path, specify the path in the Render Output File dialog starting with Save In ➤ My Network Places. Then navigate to the output folder, specify a file name and output format (Save As Type), and click Save. 10 In the Render Output group, turn on Net Render, and then click the Render button. The Network Job Assignment dialog appears. Network Job Assignment dialog showing all the server stations. The manager station is excluded. 11 Enter a job name (it's a good idea to change the default name) and then click the Connect button. 7380 | Chapter 18 Rendering The names of all Servers appear in the Server window to the right. Those with green dots next to their names are ready to start rendering. By default, all the Servers that are listed will take part in the rendering job. To assign a specific Server to render a job, first turn off Use All Servers in the Options group, and then highlight the server(s) that you want to render the job. 12 Click the Submit button. The Manager submits the job to the Servers, which begin rendering . At this point, you can load and submit additional scenes. When the first job is complete, the next job will automatically begin rendering on the Servers. Basic Procedure 3: Network Rendering from Manager and Servers When rendering across a network, you first assign one machine to be Manager, and then any number of others as Servers. In this procedure, you'll use the Manager computer as a rendering Server as well. 1 Go to Start menu ➤ Programs ➤ Autodesk ➤ Backburner and choose the Manager menu item. This starts Manager and creates the backburner.xml file in the Backburner\Network folder. When you run Manager for the first time, you will see the Backburner Manager General Properties dialog, shown below; this is normal. Basic Procedures for Network Rendering | 7381 Backburner Manager General Properties dialog. 2 Click OK to accept the default settings. The Backburner Manager dialog displays. 3 On the same computer, go to Start menu ➤ Programs ➤ Autodesk ➤ Backburner and choose the Server menu item. This starts Server and creates the server data that is stored in the backburner.xml file. You will see the Backburner Server General Properties dialog box, shown below, when you run Server for the first time. 7382 | Chapter 18 Rendering Backburner Server General Properties dialog. 4 Click OK to accept the default settings. The Backburner Server dialog displays. After a few moments, messages appear in both the Server and Manager windows indicating that the Server has successfully registered with the Manager. 5 Repeat steps 3 to 4 on all the Server systems you intend to make available for your rendering jobs. 6 Return to the Manager system, start 3ds Max, and load the first scene you want to render. 7 From the Rendering menu, choose Render Setup, or on the main toolbar, click (Render Setup). 8 Set the rendering parameters and specify an output path and file name. TIP So that the Servers can find the output path, specify the path in the Render Output File dialog starting with Save In ➤ My Network Places. Then navigate to the output folder, specify a file name and output format (Save As Type), and click Save. Basic Procedures for Network Rendering | 7383 9 In the Render Output group, turn on Net Render, and then click the Render button. The Network Job Assignment dialog appears. Network Job Assignment dialog showing all the server station plus the manager station that is running Server. 10 Enter a job name (it's a good idea to change the default name) and then click the Connect button. The names of all Servers appear in the Server window to the right. Those with green dots next to their names are ready to start rendering. By default, all the Servers that are listed will take part in the rendering job. To assign a specific Server to render a job, first turn off Use All Servers 7384 | Chapter 18 Rendering in the Options group, and then highlight the server that you want to render the job. 11 Click the Submit button. The Manager submits the job to the Servers, which begin rendering . At this point, you can load and submit additional scenes. When the first job is complete, the next job will automatically begin rendering on the Servers. Starting Network Rendering Once you've set up the network rendering system and software on page 7409, there are two steps to starting a network rendering session: ■ Start the Manager program on one machine and the Server program on every other machine in the network. See Basic Procedures for Network Rendering on page 7372. The machine being used as a manager can also be used as a rendering server. ■ Start a rendering job from 3ds Max on a networked machine with an authorized copy of 3ds Max. The Manager and Server programs need to be started and left running during a network rendering session. Either program remains in operation until you shut it down or shut down the machine. When you've set up the Manager and Server network services, you're ready to submit an animation to the network rendering queue. There are two stages to starting network rendering: ■ On the Render dialog, set all desired rendering parameters, including resolution and rendered output file type, and render the scene. In 3ds Max, you can render from the Render Setup dialog on page 6956, or the Render To Texture dialog on page 7333. ■ In the Render dialog, set all desired rendering parameters, including resolution and rendered output file type, and render the scene. ■ Turn on Net Render, found in the Render Output, Render Settings or Output groups, and then click Render to open the Network Job Assignment dialog on page 7415, which lets you make final decisions about the job and submit your animation to the rendering servers. Starting Network Rendering | 7385 Next Step Network Rendering Manager on page 7443 Network Rendering Server on page 7449 Procedures These procedures explain how to start and submit a network rendering job in 3ds Max. This procedure explains how to render a job over the network, once the Backburner Manager and Server are running. (See the Autodesk Backburner Installation Guide for information on setting up the Backburner Manager and Server.) To start the Manager program: 1 Run the Manager program from the Start menu ➤ Programs ➤ Autodesk ➤ Backburner folder. The first time you run the Manager after installation or after deleting the backburner.xml file, the Manager Properties dialog appears. In most cases, you can accept the default settings and click OK to continue. Thereafter, when you start the Manager, its window appears and the "Starting Network Manager" message is displayed in the window. The machine is now running the Manager in Desktop mode. You can leave this window open to see messages relating to what the Manager and Servers are doing as they appear, or you can minimize it, whereupon it resides in the taskbar tray. To reopen the window when minimized, click its icon in the taskbar tray. NOTE If you're running Windows 2000 and have the NetBEUI protocol installed, and you have unplugged your network cable, when you start the manager, you'll see an error message, "Error starting network subsystem, cannot start manager." If this happens, reconnect the network cable and try again. 2 Alternatively, you can run the Manager as a service, as described in “Setting Up Backburner Manager as a Windows Service” in the Autodesk Backburner Installation Guide. Once set up, the Manager automatically starts when you boot the system and it's always available. 7386 | Chapter 18 Rendering To start the Server program: 1 Run the Server program from the Start menu ➤ Programs ➤ Autodesk ➤ Backburner folder. The first time you run the Server after installation or after deleting the backburner.xml file, the Server Properties dialog appears. By default, Automatic Search is turned on, and the subnet mask is set to 255.255.255.0. This should work with most networks. Alternatively, turn off Automatic Search and enter the manager name or its IP address in the Manager Name or IP Address field. Thereafter, when you start the Server, its window appears and the "Starting Backburner Server" message is displayed in the log window. After a few seconds you should also see the "Registration to (manager IP address) accepted" message in the Server window. This message indicates that the server has found the manager and is correctly communicating with it. If you do not see the "Registration to ..." message in the Server window, see “Troubleshooting Backburner” in the Autodesk Backburner User’s Guide. The machine is now running as a rendering Server in Desktop mode. You can leave this window open to see other messages as they appear, or you can minimize it to the taskbar tray. To reopen the window when minimized, click its icon in the taskbar tray. 2 Alternatively, you can run the Server as a service, as described in Network Rendering Server on page 9237. Just running the Manager as a service, once it's installed and started, it's always available, even after rebooting. To start a network rendering job: 1 Start the Backburner Manager and Backburner Server. 2 Start 3ds Max on a machine with an authorized copy of 3ds Max. 3 Open the scene you want to render. 4 Choose Rendering menu ➤ Render Setup to display the Render Setup dialog. You can also render from the Execute Video Post dialog or the Render To Texture dialog. 5 In the Render Output group, click the Render Output File dialog. ellipsis button to display the Starting Network Rendering | 7387 6 In the File Name field, enter the Universal Naming Convention (UNC) on page 9339 name of the output directory, followed by the name of the output file. For example: \\machine1\project1\images\output.tga As an alternative to entering the UNC name from the keyboard, you can go to Save In ➤ My Network Places and navigate to the machine and shared directory where you want the servers to write the rendered frames. After selecting the machine and shared directory in the Map Network Drive dialog, enter the output file name (for example, output.tga), and then click OK. 3ds Max automatically converts the shared directory to the UNC format. If the output directory is mounted, enter the name and extension of the output file and choose the drive mounted for the output directory from the Save In list. 7 Click OK to display the Setup Options dialog for the file format type you have selected. 8 Make the desired settings and click OK. 9 Click OK again to return to the Render Setup dialog. Save File is turned on once you assign an output file. 10 After setting any other rendering parameters, turn on Render Output group ➤ Net Render and click Render. The Network Job Assignment dialog appears. If you use Video Post, set the file location with an Add Image Output Event. After you click Execute Sequence, be sure to turn on Net Render before you click Render. To submit a network rendering job: 1 Start the Backburner Manager and Backburner Server. 2 On the Network Job Assignment dialog, make sure the Automatic Search option is on, and then click Connect. In most cases, 3ds Max detects the Manager machine and displays its attached Servers in the Server list. If auto-detect fails, turn off Automatic Search and manually enter the name or IP address of the network machine acting as the Manager, and then click Connect. All rendering Servers running under the network Manager should be listed with green dots next to them. Even if a server is running an 7388 | Chapter 18 Rendering interactive session of 3ds Max, it will still render an assigned job by launching a second copy of 3ds Max. 3 By default, the job will use all available Servers. To use only specific Servers, turn off Use All Servers and choose the machines you want to use from the Server list. 4 Click Submit. The job is submitted to the Manager, which then distributes the job to the machines assigned in the Network Job Assignment dialog. Network rendering begins. When network rendering begins on a rendering Server, the Rendering dialog appears on machines running serverapp.exe. If a machine is running the service version, no dialog appears. Starting Network Rendering | 7389 Troubleshooting Guide This is a guide to solving common problems associated with network rendering. Solutions to these problems vary, depending on whether you are using the network rendering programs as installed Windows Services, or running them 7390 | Chapter 18 Rendering in Desktop mode. Also see “Troubleshooting Backburner” in the Autodesk Backburner User’s Guide. PROBLEM: When I try to assign a job in the Network Job Assignment dialog, some of the servers display a gray or yellow icon. SUGGESTION Regardless of their state in the Network Job Assignment dialog, servers can always be assigned new jobs. The gray icon means that the server is currently not available to render a job. This state can occur for several reasons, including: ■ The server has not been correctly started. (See “Setting Up Backburner Server” in the Autodesk Backburner Installation Guide.) ■ The server has been disallowed for the current time period in the Properties dialog of the Monitor. (See “Setting the Availability for Rendering Nodes” in the Autodesk Backburner User’s Guide.) ■ The server has experienced abnormal termination. If you've checked for and corrected these conditions and the servers are still unavailable, stop running Server on each of the problem machines, and restart the service after a few seconds. This "purges" the server and may solve the problem. Then click Refresh in the Network Job Assignment dialog to display the most recent information about the server. The yellow icon means that the server is busy rendering another job. If the server should not be busy, verify that the queue is clear of jobs by opening the Queue Monitor and connecting to the Manager. If the queue is clear of rendering jobs and the server is still flagged as busy, stop running server on each of the problem machines, and restart the service after a few seconds. PROBLEM: When I submit a job to be rendered, the server fails. SUGGESTION Servers can fail for a variety of reasons during a network render job. Many of these reasons are covered in “Troubleshooting” in the Autodesk Backburner User’s Guide. One reason that is specific to 3ds Max which can cause a server to fail is the presence of a scene which does not contain texture coordinates. All errors are recorded in the appropriate log file. You can learn more about log files in “Configuring Backburner Log Files” in the Autodesk Backburner User’s Guide. Troubleshooting Guide | 7391 Here are some of the error messages related to 3ds Max, along with a likely cause, that you will see in the Errors tab of the Queue Monitor when a failed server is selected: ERR: ----- Render Error: ERR: D:\MAPS\3DS.CEL [where this is the location of a map in the submitted scene] The Server could not find 3ds.cel in the local path specified, which means that the path to this map is not been correct for network rendering. To fix the problem, do one of the following: ■ If all maps are being shared from a single directory, make sure the directory is correctly shared with full permissions. See Sharing a Directory on page 7411. ■ Make sure that you have used either the full UNC path name for the bitmaps or that the maps directory has been mounted to the same drive letter on each machine. In this case, verify that particular path has been added to the Configure User Paths dialog ➤ External Files panel on page 8877 of every server's local version of 3ds Max or that the particular path was used when assigning bitmaps in the scene to be rendered. ■ Verify the bitmaps still reside in the shared directory. ■ Add an Alternate Map Path on the Network Job Assignment dialog that points to the folder containing the missing map. ERR: Object (UVW 1): Sphere01 requires texture coordinates and may not render correctly Open the scene and make sure the errant object is assigned texture coordinates. This can be as simple as adding a UVW Map modifier to the object. ERR: Frame error Texture coordinates must be applied to the specified object to render it on the server. ERR: Load Error: Missing DLL'S Following this error, you will also receive a listing of each of the missing DLLs in the scene. Files needed by the server are not available to render the job. Make sure that all the plug-in DLLs used in a job reside on each of the servers rendering the job. ERR: Job not found. Ok if just deleted 7392 | Chapter 18 Rendering When you delete a job, the Manager sends out a notification to all clients (Monitors) telling that the job has changed. This is the same message sent when the job completes, gets suspended, resumed, etc. The monitors in turn request the job status from the manager. The manager doesn’t find the job (it was just deleted) and returns this error to the monitor. ERR: Targa - The device is not ready. (0x15) ERR: Frame error The server could not write the output file. "Targa" represents the file output type, and will change depending on the output file type you selected. This problem can occur for several reasons:- If you are running the Backburner Server as an installed Windows service, make sure that the user account that the service is logged to has adequate permissions. Administrative permissions are recommended. ■ Check to make sure the target output directory is shared, with both read and write permissions. ■ Verify that the path for saving file output on the Render Setup dialog (or the Output Event dialog in Video Post) is set to a valid UNC path name. ■ If you are writing to a shared directory mounted locally on each server, verify that the directory is mounted to the same drive letter on each server, and that the file output path is set for that drive letter. PROBLEM: The Server fails to render a frame and displays the following error: Rebooting 3ds Max by force due to load timeout. SUGGESTION The Server has exceeded either the Wait For 3ds Max To Load or Wait For 3ds Max To Render value. This is usually caused by attempting to render large files over the network. Increase these values in the Advanced Settings dialog on page 7431. PROBLEM: I cannot assign more than one server to a job in the Network Job Assignment dialog. If the output of a network-rendering job is an AVI or MOV file, or a single user device, the job can be assigned to a single server only. The Network Job Assignment dialog changes, depending on the file output type of a job. For example, if you are network rendering to one of the file formats above, the Troubleshooting Guide | 7393 All and None buttons do not appear and the dialog title bar contains the word "Single." If a job that has an AVI or MOV file output type is stopped for any reason (to deactivate it, or because a machine goes down), re-rendering the file restarts at the first frame. Frames cannot be appended later to these file types. SUGGESTION To take advantage of the distributed power of network rendering we suggest you first render to a series of Targa files. Then use the Targa files as either an animated background in an empty 3ds Max scene, or as an image input event in Video Post and render the sequence out to the desired output type (for example, AVI). PROBLEM: When I click the Render button on the Render Setup dialog, I get an error dialog stating: Error Retrieving Configuration File This error usually is the result of a corrupt installation of the Backburner applications which caused an errant registry setting. SUGGESTION Try reinstalling the Backburner components of 3ds Max or manually edit the system registry. Editing the registry: 1 Choose Start ➤ Run. 2 Enter RegEdit and click OK 3 Browse to HKEY_LOCAL_MACHINE ➤ SOFTWARE ➤ Autodesk ➤ Backburner ➤ 2008.1 4 Check the CfgPath entry. Make sure the value is set to c:\Program Files\Autodesk\Backburner\Network\nrapi.conf. 5 Close the Registry Editor. PROBLEM: Backburner not found message when clicking Render button: Cannot network render. Backburner not found or not installed. This error dialog appears because the path to Backburner is either not set properly in the Path environment variable or Backburner is missing altogether. 7394 | Chapter 18 Rendering SUGGESTION Verify that the Path variable is set properly and make sure you've installed the latest version of Backburner. PROBLEM: Clicking Render button results in Backburner plugin error: Error creating 3ds Max plugin instance for Backburner. The path to 3ds Max is not set in the PlugPath section of the \Backburner\Network\nrapi.conf file. SUGGESTION Verify the presence of the \Backburner\Network\nrapi.conf file and check the PlugPath. It should look like this: PlugPath=C:/Program Files/Autodesk/Backburner/ PROBLEM: The manager and server windows display strange, garbled text: Your error message includes @#$$#@. This error occurs if the nrres.dat file is missing or damaged. This file is located in: C:\Program Files\Autodesk\Backburner\Network SUGGESTION Copy the nrres.dat file from another system that is not exhibiting the problem, or reinstall Backburner. System Setup The topics in this section describe how to check system requirements, and how to set up a network for rendering. Checking Requirements Setting up even a small render farm can require a substantial amount of time. As a first step, verify that your proposed network meets the basic requirements. You should also be acquainted with the software required to render over the network. System Setup | 7395 Hardware Requirements ■ One machine on the network must have 3ds Max set up and authorized. This system is used to submit network rendering jobs. ■ One machine runs a network manager to communicate with rendering servers. You can set up any machine in the network for this purpose. No authorization is required if this machine will not run as a 3ds Max Workstation. ■ To install 3ds Max, at least one machine needs a DVD-ROM drive mounted for access over the network. Instructions for setting up the network-rendering software are found in the Setting Up Rendering Software on page 7409 section. ■ Other machines operate as rendering servers. No authorization is required on these machines. Rendering servers should meet the minimum requirements for running 3ds Max. To improve rendering performance, use machines with faster processors, additional memory, and more swap space. A rendering server does not require a monitor while rendering, although it's helpful to have one for setup. Display adapters and accelerators make no difference in rendering performance. Network Requirements For operating system requirements, see “System Requirements” in the Autodesk Backburner Installation Guide. You must also be connected over a network with TCP/IP protocol properly installed. See Instructions for configuring TCP/IP for network rendering on page 7400. Software Requirements One authorized copy of 3ds Max is the minimum requirement. With this one copy, you can set up 3ds Max on multiple machines for the purpose of network rendering. Later topics provide explicit details for doing a custom setup on each machine. During this setup, programs required to render over a network are installed and registered. Four separate programs interact to accomplish network rendering. The following descriptions identify these programs and provide an overview of their use. ■ 3dsmax.exe 7396 | Chapter 18 Rendering 3ds Max is used to launch job assignments. You submit a network rendering job from the Render Setup, Render to Texture, or Execute Video Post dialog. The application is also used by the rendering servers to render the job. ■ manager.exe When run, this application sets up one computer as a network manager. Alternatively, you can run Manager as a service by installing managersvc.exe. See Installing Network Services on page 7437. The manager program manages communication with the rendering servers during a network rendering job. This can be set up on any machine in the network. However, if large files are to be submitted and many rendering servers are going to be used, a fast computer with a large amount of disk space is the best choice. In almost all network-rendering scenarios, you only have a single manager running on the entire network. ■ server.exe When run, this application sets up the computer it's run on to be used as a rendering server. Alternatively, you can run Server as a service by installing serversvc.exe. See Installing Network Services on page 7437. The server program sends its local IP address to the Manager program, which in turn registers the Server so it will be available for network rendering a job assignment. When the server receives a job from the network manager, it launches a local copy of 3ds Max to perform the rendering. The server then sends the completed frame to a target directory and begins rendering the next frame sent to it by the manager. The server shuts down the 3dsmax.exe3dsviz.exe process when it is no longer needed. ■ monitor.exe This standalone program, named Queue Monitor, provides a Windows interface that lets you monitor and schedule network rendering. Since the Queue Monitor is a standalone program, you can start it at any time from any computer in your network. The only requirement is that you establish a TCP/IP connection with the computer running the manager. You can load Queue Monitor on each rendering server and use it to monitor rendering progress locally. You can also connect with Queue Monitor remotely using Windows NT Remote Access. Setting Up for Network Rendering Whenever different groups need to cooperate on a project, accurate communication and common procedures are essential. A rendering farm is such a project. Network setup can be difficult to configure, but you need to System Setup | 7397 do it only once. Take your time to get the right setup. Read each topic in order, and complete the steps described. These instructions are for creating a new network dedicated specifically to network rendering. If you are configuring network rendering for an existing network or for a network that will be used for other purposes, these instructions are intended as a reference example only. Next Step Setting Up TCP/IP on page 7398 See also: ■ Setting Up Rendering Software on page 7409 ■ Setting Up Directories on page 7409 ■ Initial Setup for Manager and Server Programs on page 7435 Setting Up TCP/IP 3ds Max uses the standard network protocol, TCP/IP, for network rendering. TCP/IP is a two-part acronym. TCP (Transport Control Protocol) communicates data between applications. IP (Internet Protocol) communicates data between an application and the physical network. Each computer in your rendering network needs to be configured for this protocol. Before continuing, be sure that: ■ You have administrative privileges on each machine. ■ The network is operational, with network adapter cards installed in each machine. The TCP/IP protocol requires a device, called a network adapter or Network Interface Controller (NIC), to bind with in order to communicate with other machines. Typically, the network adapter is a network card, but if you are linked to the Internet by modem, a dial-up adapter (the modem) is used. TCP/IP uses IP addresses to identify the computers on a network. For convenience, you can assign real names to computers. An IP address is a serial number of four integers separated by periods, for example, 192.100.100.1. 7398 | Chapter 18 Rendering IP addresses can be fixed (as in the example above) or automatic, supplied dynamically each time you connect to the network by a system known as DHCP (Dynamic Host Configuration Protocol). 3ds Max uses the NIC number, which can be thought of a unique serial number assigned to each network card, to identify each machine in the network. This allows the use of DHCP since the IP address usually changes when a machine using DHCP is rebooted. In some cases, you may want to specify a fixed IP address, for example: ■ When you have more than one Manager running on the same network, each with its own set of dedicated Servers, you need to specify which Manager to use. DHCP can be used in this case, but you will have to specify the Manager name instead of its IP address. ■ The second case is when the Server or Queue Monitor is outside the local network (as in the case of a WAN or a multi-segmented network connected through a router). In this case, Servers connected to the same network can still use DHCP, provided the Manager has a fixed name and IP address. ■ If your network is set peer-to-peer without an NT server (as is the case with most home networks), it is easier to set the machines with permanent, fixed IP addresses. ■ Finally, you can use batch rendering on page 7481 without being connected to a network. In that case, you will need to set up a fixed TCP/IP address and configure the Microsoft Loopback adapter. In the case of fixed addresses, it is important that IP addresses be properly assigned. In this step, you make up a list of machine names and their corresponding IP addresses to use during TCP/IP configuration. The list will also be used when installing the 3ds Max rendering services. Using the Manager name is particularly useful when its IP address is assigned dynamically via DHCP, and can change from session to session. On a closed network, you don't have to worry much about conflicts with the IP addresses of other network domains. However, the addresses need to follow a consistent pattern and each must be unique within your network. WARNING On an open network, such as those in many large corporations, do not alter IP addresses in any way. In such cases, to avoid potentially disastrous consequences, always work with your system administrator to make IP address changes. System Setup | 7399 Procedures To create machine names and IP addresses: ■ Create a list of machine names and IP addresses. Unless you have specific needs for later compatibility with another network, use the following list as a model. Since the Manager machine can also act as a server, start naming your servers to match their IP addresses as shown in the list below. Remember, any one machine can act as a manager under network rendering. Like an IP address, each name must be unique. Also keep in mind that you must not use the numbers 0 or 255 in the last group (or octet) of an IP address as they are reserved. WARNING Machine names should not start with numbers or have spaces or underscores in them, as those will result in illegal names in TCP/IP. This will cause unexpected behavior in the network rendering system. Machine Name IP Address server001 192.100.100.1 server002 192.100.100.2 server003 192.100.100.3 ... ... server254 192.100.100.254 Configuring TCP/IP From the previous step, Setting Up TCP/IP on page 7398, you should have a list of machine names and IP addresses. With that list, go to each machine and follow these procedures. On an open network, such as those in many large corporations, do not alter IP addresses, machine names, workgroup names, or domain names in any way. In such cases, to avoid potentially disastrous consequences, always work with your system administrator to make IP address changes. 7400 | Chapter 18 Rendering Procedures Some of the following procedures are for Windows XP Professional; others are for Windows 2000. Find your operating system at the end of the procedure heading and follow that set of instructions. NOTE During the writing of these procedures, Windows XP was set to display a Classic Windows interface. To assign a name and workgroup or domain (Windows 2000): 1 From the Windows taskbar, open Start menu ➤ Settings ➤ Control Panel ➤ System. This displays the System Properties dialog. 2 Click the Network Identification tab, and then click the Properties button to display the Identification Changes dialog. If you've already assigned a name to the computer, the name should appear in the Computer Name field on the Network Identification tab. Check this name against your list. 3 To change the name, in the Computer Name field, enter a name for the machine. ■ The first character of a valid machine/host name must not be a numeral. ■ Do not use underscores or spaces in the machine/host name. 4 In the Member Of group, enter either a workgroup or domain name, depending on how your network is going to be set up. Workgroup An organizational unit that is used to group computers that don't belong to a domain. If you are setting up a simple network for the purpose of Network Rendering, use the Workgroup option. Domain A more complex way of grouping servers that share a common security policy and user account database. A domain requires you to set up a Primary Domain controller. You should select the Domain option only if your Network Administrator has a Domain already set up and functioning correctly. To assign a name and workgroup or domain (Windows XP): 1 From the Windows taskbar, open Start menu ➤ Settings ➤ Control Panel ➤ System. System Setup | 7401 This displays the System Properties dialog. 2 Click the Computer Name tab, and then click the Change button to display the Computer Name Change dialog. If you've already assigned a name to the computer, the name should appear in the Computer Name field on the Computer Name tab. Check this name against your list. 3 To change the name, in the Computer Name field, enter a name for the machine. ■ The first character of a valid machine/host name must not be a numeral. ■ Do not use underscores or spaces in the machine/host name. 4 In the Member Of group, enter either a workgroup or domain name, depending on how your network is going to be set up. Workgroup An organizational unit that is used to group computers that don't belong to a domain. If you are setting up a simple network for the purpose of Network Rendering, use the Workgroup option. Domain A more complex way of grouping servers that share a common security policy and user account database. A domain requires you to set up a Primary Domain controller. You should select the Domain option only if your Network Administrator has a Domain already set up and functioning correctly. To add the TCP/IP protocol (Windows 2000): 1 From the Windows taskbar, open Start menu ➤ Settings ➤ Network and Dial-up Connections ➤ Local Area Connection. This opens the Local Area Connection Status dialog. 2 Click the Properties button. This opens the Local Area Connection Properties dialog. 3 Check the list for "Internet Protocol (TCP/IP)". If you find this listing, TCP/IP is installed on this machine. Go on to either of these procedures in the current topic: ■ To configure TCP/IP in DHCP mode on page 7404 ■ To configure TCP/IP with fixed IP addresses on page 7405 7402 | Chapter 18 Rendering If TCP/IP is not installed, make sure none of the list items is highlighted (click in a blank area of the list), and complete the remaining steps in this procedure. 4 Click the Install button. This opens the Select Network Component Type dialog. 5 In the list, click Protocol, and then click the Add button. 6 In the Select Network Protocol dialog, select Internet Protocol (TCP/IP), and then click OK. A message appears: "Do you want to use DHCP?". Consult your system administrator to see if your network is DHCP-compatible; if it is, click "Yes". If you are unsure, click "No" and proceed to set your workstations with fixed IP addresses. TCP/IP is added to the list of installed protocols. 7 Click the Close button. To add the TCP/IP protocol (Windows XP): 1 From the Windows taskbar, open Start menu ➤ Settings ➤ Network Connections. This opens the Network Connections dialog. 2 Right-click Local Area Connection and click the Properties button. This opens the Local Area Connection Properties dialog. 3 Check the list for "Internet Protocol (TCP/IP)". If you find this listing, TCP/IP is installed on this machine. Go on to either of these procedures in the current topic: ■ To configure TCP/IP in DHCP mode on page 7404 ■ To configure TCP/IP with fixed IP addresses on page 7405 If TCP/IP is not installed, make sure none of the list items is highlighted (click in a blank area of the list), and complete the remaining steps in this procedure. 4 Click the Install button. This opens the Select Network Component Type dialog. 5 In the list, click Protocol, and then click the Add button. System Setup | 7403 6 In the Select Network Protocol dialog, select Internet Protocol (TCP/IP), and then click OK. A message appears: "Do you want to use DHCP?". Consult your system administrator to see if your network is DHCP-compatible; if it is, click "Yes". If you are unsure, click "No" and proceed to set your workstations with fixed IP addresses. TCP/IP is added to the list of installed protocols. 7 Click the Close button. To configure TCP/IP in DHCP mode (Windows 2000): 1 From the Windows taskbar, open Start menu ➤ Settings ➤ Network and Dial-up Connections ➤ Local Area Connection. This opens the Local Area Connection Status dialog. 2 Click the Properties button. This opens the Local Area Connection Properties dialog. You should see your network adapter card listed as "Connect Using" at the top of this dialog. If your adapter is not listed, follow the instructions in Windows 2000 documentation on adapter setup. 3 In the list, highlight Internet Protocol (TCP/IP) and click Properties. The Internet Protocol (TCP/IP) Properties dialog appears. 4 Make sure the option "Obtain an IP address automatically" is chosen. 5 Click OK to close each dialog in turn. Windows 2000 finishes configuring the connection. 6 Reboot the computer to complete the configuration. 7 Repeat all the steps on this page on every machine in your network. To configure TCP/IP in DHCP mode (Windows XP): 1 From the Windows taskbar, open Start menu ➤ Settings ➤ Network Connections. This opens the Network Connections dialog. 2 Right-click Local Area Connection and click the Properties button. This opens the Local Area Connection Properties dialog. You should see your network adapter card listed as "Connect Using" at the top of this 7404 | Chapter 18 Rendering dialog. If your adapter is not listed, follow the instructions in Windows XP documentation on adapter setup. 3 In the list, highlight Internet Protocol (TCP/IP) and click Properties. The Internet Protocol (TCP/IP) Properties dialog appears. 4 Make sure the option "Obtain an IP address automatically" is chosen. 5 Click OK to close each dialog in turn. Windows XP finishes configuring the connection. 6 Reboot the computer to complete the configuration. 7 Repeat all the steps on this page on every machine in your network. To configure TCP/IP with fixed IP addresses (Windows 2000): 1 From the Windows taskbar, open Start menu ➤ Settings ➤ Network and Dial-up Connections ➤ Local Area Connection. This opens the Local Area Connection Status dialog. 2 Click the Properties button. This opens the Local Area Connection Properties dialog. You should see your network adapter card listed as "Connect Using" at the top of this dialog. If your adapter is not listed, follow the instructions in Windows 2000 documentation on adapter setup. 3 In the list, highlight Internet Protocol (TCP/IP) and click Properties. The Internet Protocol (TCP/IP) Properties dialog appears. 4 Choose “Use The Following IP Address”. 5 In the box for IP Address, enter the address for that machine. Check your list to make sure the entry is correct. 6 In the box for Subnet Mask, type these numbers (these are the same for every machine): 255.255.255.0 If you are on a large corporate network, this subnet mask might be different. In this case, use the mask that your network administrator specified. Also, change the network mask when setting up a server to connect to a manager as well as in the Network Job Assignment dialog to match the subnet mask in order for Automatic Search to work. 7 Click OK to close each dialog in turn. System Setup | 7405 Windows 2000 finishes configuring the connection. 8 Reboot the computer to complete the configuration. 9 Repeat all the steps on this page on every machine in your network. Remember that each machine needs to have a unique IP Address and machine name so no conflicts arise. To configure TCP/IP with fixed IP addresses (Windows XP): 1 From the Windows taskbar, open Start menu ➤ Settings ➤ Network Connections. This opens the Network Connections dialog. 2 Right-click Local Area Connection and click the Properties button. This opens the Local Area Connection Properties dialog. You should see your network adapter card listed as "Connect Using" at the top of this dialog. If your adapter is not listed, follow the instructions in Windows 2000 documentation on adapter setup. 3 In the list, highlight Internet Protocol (TCP/IP) and click Properties. The Internet Protocol (TCP/IP) Properties dialog appears. 4 Choose “Use The Following IP Address”. 5 In the box for IP Address, enter the address for that machine. Check your list to make sure the entry is correct. 6 In the box for Subnet Mask, type these numbers (these are the same for every machine): 255.255.255.0 If you are on a large corporate network, this subnet mask might be different. In this case, use the mask that your network administrator specified. Also, change the network mask when setting up a server to connect to a manager as well as in the Network Job Assignment dialog to match the subnet mask in order for Automatic Search to work. 7 Click OK to close each dialog in turn. Windows XP finishes configuring the connection. 8 Reboot the computer to complete the configuration. 9 Repeat all the steps on this page on every machine in your network. 7406 | Chapter 18 Rendering Remember that each machine needs to have a unique IP Address and machine name so no conflicts arise. Creating a Special User Account If you run the Server as a Service, you should create a special user account, which gives the Server the right to access other machines on the network for necessary maps, xrefs and output directories. This account must be identical across all rendering server machines. By assigning a user to the rendering Server service, you configure the rendering server to operate with the permissions and access rights of that user account. Without this assignment, the rendering server operates with system permissions, which do not let the server service access map, xref, image, or output directories on other machines. NOTE These steps require you to have administrative privileges on every machine where you set up this account. For the following procedures, Windows XP was set to display a Classic Windows interface. Procedures To create a new user (Windows 2000 and XP): 1 From the Start menu, select Settings ➤ Control Panel ➤ Administrative Tools ➤ Computer Management. 2 In the Computer Management dialog, go to System Tools ➤ Local Users and Groups ➤ Users. 3 In the right-hand pane, right click in a blank area and choose New User to display the New User dialog. If the New User option is unavailable, you don't have the required administrative privileges. 4 In the New User dialog, do the following: ■ Enter a user name for the new account in the Username text box. This can be any name, but it should be the same across all network rendering machines. ■ Enter a password for the new account in the Password and Confirm Password boxes. Like the user name, this password needs to be the same for all rendering servers. System Setup | 7407 ■ Turn off “User Must Change Password At Next Logon” and turn on “Password Never Expires”. This will bypass errors when you assign this special user account to the rendering service. ■ Click Create to create the new user and password. When the network is part of a domain it is a good idea to have your network administrator create a special user account on the domain. This user account would have read/write access to the network servers where maps, xrefs and frames are stored. ■ Click Close. 5 Do not close Administrative Tools. To assign a user to a rendering service (Windows 2000 and XP): Do the following on every computer used as a rendering server: 1 Make sure each server system is set up with the Network Rendering Server on page 7449 running as a service. 2 From the Administrative Tools windows, choose Services to display the Services dialog. 3 From the Service list, right-click the Backburner Server item. 4 Choose Properties to display the Properties dialog. 5 On the Log On tab, choose This Account and enter the name of the new user you created for the special user account. If a user account was created on the domain, you would enter [domain name]\[user name] as This Account, or you can browse the domain for the user. 6 In Password and Confirm Password fields, enter the password for the special user account. 7 Click OK to exit the Properties dialog. 8 If the service is started, stop it by right-clicking the item and choosing Stop. 9 Right-click the item and choose Start to restart the service with the newly assigned user. 7408 | Chapter 18 Rendering NOTE If you did not turn off “User Must Change Password At Next Logon” when setting up the new account, you will encounter errors. You will need to re-login the newly assigned user so you can first change the password. Once the password is changed, the Backburner Server should start. 10 Close the Services dialog Setting Up Rendering Software When you've configured the computers on your rendering network for TCP/IP, you're ready to load 3ds Max. You need to install 3ds Max on each system you plan to use for network rendering. After you've installed 3ds Max on all the systems, at least one of them needs to be authorized. This is the copy of 3ds Max that you will run interactively and use to submit jobs for network rendering. Refer to the Installation Guide for details about installing 3ds Max. NOTE A system using the scanline renderer, that is intended to act a dedicated rendering server, does not require authorization for 3ds Max. Setting Up Directories During network rendering, common directories (directories that are shared across the network) allow access to files needed by all the rendering servers. You can organize, share, and (if necessary) mount these directories. There are two types of common directories: ■ Map directoriesOne or more directories where maps and images are stored. These can be both project-specific and general locations. ■ Output directoryA single directory where completed frames are sent from each rendering server, also called the target directory. You specify this directory for each job. This can also be a local directory on each machine. The network rendering system uses the Universal Naming Convention (UNC) to identify directories and files. UNC names begin with a double backslash and do not include a drive letter. This is the convention: \\machine_name\directory\subdirectory\filename Setting Up Rendering Software | 7409 IMPORTANT To simplify network rendering, use UNC names whenever possible within a 3ds Max scene, even if the directory is on the local machine. TIP When entering UNC names, omit the \\ before the computer name until you've entered the entire path and file name. This eliminates search delays when entering UNC path names into file selection dialogs. Some networks require drive letters instead of UNC names. Directories on such networks can be mounted as drive letters and shared over the network. See Mounting a Directory on page 7412. Organizing Directories Correctly organizing directories is critical to the success of your rendering farm. Every element in a scene needs to be available to each server for a complete rendering. The goal is to give every machine in your network the same "picture" of where files are located. Follow these rules when organizing your directories: ■ Share directories on page 7411 to make them available to the network. ■ Use UNC file specification when assigning maps files and output directories, even when the directory is on a local machine. Creating Map Directories As you assign materials in a scene, 3ds Max stores the complete path to each map you use. 3ds Max searches for that particular location. If necessary, 3ds Max continues to look through the directory containing the scene file and its subdirectories. Maps, specific to a project, should be kept in a dedicated directory that has been set up for that project. You can create subdirectories below this directory to organize files. This directory needs to be shared using Windows Explorer. Maps for general use, such as texture libraries, can be organized as you choose. The computers containing such libraries need to be on the network, and the directories need to be shared. 7410 | Chapter 18 Rendering Creating a Common Output Directory A common output directory is a single directory on one hard disk where rendered frames accumulate during network rendering. When creating a common output directory, follow these guidelines: ■ Decide on a machine to accept final output. It should have enough disk space to store the largest completed animation file you're likely to render. ■ Create or choose a directory for final output. ■ Share that directory as a resource available to the network. Creating a Local Output Directory A local output directory lets you use available storage on each rendering server. Rendered frame files are sequentially numbered when assigned by the network manager. When you collect the finished frames, they automatically sort in the proper order. When creating a local output directory, follow these guidelines: ■ Use the same path and name for all local directories. For example, use \3dsmax_files\images\. ■ Use the same path and name for all local directories. For example, use \Program Files\Autodesk VIZ 2008\images. ■ Specify this path for the output directory when you start network rendering. All rendering servers will then send their output to this local directory. On any one rendering job, use either a common or local output directory. They cannot be mixed. See also: ■ Mounting a Directory on page 7412 ■ Using Configure User Paths on page 7414 Sharing a Directory You share a directory from the machine where the directory is located. This gives other machines on your network access to that directory. The instructions below are general. See your Windows Vista, Windows XP, or Windows 2000 documentation for details. Setting Up Rendering Software | 7411 Next Step Initial Setup for Manager and Server Programs on page 7435 See also: ■ Mounting a Directory on page 7412 ■ Using Configure User Paths on page 7414 Procedures To share a directory: 1 Go to the machine that contains the directory you want to share. 2 In Windows Explorer, right-click the directory to share, and then choose Sharing from the right-click menu. 3 If using Windows XP or Windows 2000, on the Sharing tab, choose the Share This Folder option. 4 If using Windows NT4, on the Sharing tab, select the Shared As option. 5 Use the default Share Name. 6 Click Permissions and make sure permissions are set to Everyone/Full Control. Click OK to exit the Permissions dialog. 7 Click OK to accept the changes. NOTE If you plan to use more than 10 rendering servers, both the output path and location of all scene maps should be on a system running Windows XP or Windows 2000 Server, as both Windows XP Professional and Windows 2000 Professional have a limit of 10 simultaneous connections. Mounting a Directory You can mount a directory to a drive letter as an alternative to using UNC names on page 9339. In mixed UNIX/XP/2000 networks, for example, you might need to mount the output directory. For network rendering, you mount (or map) the directory on all machines in the network. This gives all rendering servers access to the shared directory. 7412 | Chapter 18 Rendering Before beginning this setup, choose a common drive letter for all servers to mount. If you have other drives mounted, you might need to switch assignments to free the drive letter for this mount. If a Map or Target directory is on a rendering server, mount the directory on this machine like all the others, even if the directory is on the local disk. When using a mounted directory, be sure that the directory to be mounted is correctly shared. When assigning bitmaps, always use the path with the common drive letter. The steps below are general. See your Windows XP or 2000 documentation for more details. NOTE During the writing of these procedures, Windows XP was set to display a Classic Windows interface. See also: ■ Sharing a Directory on page 7411 ■ Using Configure User Paths on page 7414 Procedures To map a directory to a drive letter (Windows 2000 or XP): 1 In Windows Explorer, choose Tools ➤ Map Network Drive to display the Map Network Drive dialog. 2 Set the Drive drop-down menu value to the common drive letter you've chosen. 3 In Folder, enter the exact location of the output directory, using UNC convention. You can also map a directory to a drive letter by choosing the machine and shared directory with the Browse button in the Map Network Drive dialog. 4 Click Finish to complete the mount. NOTE If the drive maps to a server on a large corporate network, you may be required to enter your user name and password to gain access. Setting Up Rendering Software | 7413 Using Configure User Paths Render-only machines do not require any form of authorization. However, you cannot use unauthorized versions of 3ds Max to access the Configure User Paths dialog on page 8872 to specify alternative locations for servers to search for bitmap files. If you do not want to concern yourself with configuring paths on render-only machines (servers), then turn on the Use Alternate Map Path or Include Maps option on the Network Job Assignment dialog on page 7415. The Use Alternate Map Paths option lets you specify an alternate folder where the rendering server can look for bitmaps if they are not found in the primary bitmap path. If using Include Maps, network rendering will take care of making copies of the bitmaps and send them to the server assigned for rendering. When the rendering job is done, the copies are erased from the server hard drive. The files are placed in a \network\serverjob subdirectory of 3ds Max. If a server cannot find a bitmap image in the path specified in the file, it then searches the paths listed in its own Bitmaps panel. Only after searching in all locations will the server fail due to missing maps. If you have followed instructions in the previous topics (Setting Up Directories on page 7409, Sharing a Directory on page 7411, and Mounting a Directory on page 7412), then you know that a common map directory on the network is the best way to proceed. Use the following steps to properly configure your paths on the machine running the authorized copy of 3ds Max and on the servers meant for render-only purposes. See also: ■ Sharing a Directory on page 7411 ■ Mounting a Directory on page 7412 Procedures To add bitmap paths to the External Files panel from within 3ds Max: 1 Run 3ds Max on a machine running an authorized copy of 3ds Max. 2 Choose Customize ➤ Configure User Paths to open the Configure User Paths dialog, and then click the External Files tab, if necessary. 7414 | Chapter 18 Rendering 3 Use the Add button to specify the paths (UNC on page 9339 or mounted) to every directory on the network where bitmap files are stored for rendering. Make sure you use UNC or mounted directories, even if the maps are on the local drive. 4 Click OK. To add bitmap paths to render-only machines using the initialization file: Use the following steps if you do not want to authorize 3ds Max on the server machine(s). 1 Install the 3ds Max core software on the server station(s). 2 Copy the 3dsmax.ini on page 42 file from your authorized 3ds Max workstation to the 3ds Max directory of each of your servers. If you followed the previous procedure, the copied initialization file contains information about UNC or mounted directories that stores the required bitmap files. NOTE To prevent mishaps, it is usually a good idea to edit the INI file once it is copied to the server. Remember that the server machine can be configured differently than your 3ds Max workstation: The drive letter, program directory, and subdirectories may be different. Use a word processor to edit all entries under the [Directories] section to match entries of the server machine. For example: [Directories] Fonts=d:\3dsmax\fonts Scenes=d:\3dsmax\scenes Import=d:\3dsmax\meshes Export=d:\3dsmax\meshes ... Network Job Assignment Dialog Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Turn on Net Render (Render Output group) ➤ Render Rendering menu ➤ Render To Texture ➤ Render To Texture dialog ➤ Turn on Net Render (Render Settings group) ➤ Render Network Job Assignment Dialog | 7415 Rendering menu ➤ Video Post ➤ Set up a sequence with an Image Output Event ➤ Turn on Net Render (Output group) ➤ Render Use the Network Job Assignment dialog to name rendering jobs, specify the computers that will participate in the rendering, and submit jobs to the rendering servers. You can submit as many jobs as you like in a single session. Open each file you want to render and submit it following the standard procedure. Each job is placed behind the last one submitted. If you submit a job in which the frame output name is the same as another job in the queue, a warning dialog asks you if you want to overwrite the output frames from the other job. You can divide the work of rendering a single image among any number of rendering servers. This is particularly useful when rendering a single, extremely high-resolution image intended for print. To use this feature, turn on the Split Scan Lines option on page 7420. Procedures To use the Network Job Assignment dialog: The Network Job Assignment dialog is accessible when you turn on the Net Render toggle. The Net Render toggle can be accessed from three different dialogs used for rendering. 1 Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Output group 2 Rendering menu ➤ Render To Texture ➤ Render Setup dialog ➤ Render Settings group 3 Video Post dialog ➤ Execute Sequence ➤ Execute Video Post dialog ➤ Output group 4 In the Render Setup dialog ➤ Render Output group, click the ellipsis button and then specify an output file name and path using Universal Naming Convention (UNC) on page 9339. The easiest way to specify a UNC path is to start with Save In ➤ My Network Places. 5 Turn on Net Render. 6 Click the Render button. The Network Job Assignment dialog appears. 7 On the Network Job Assignment dialog, specify a job name. 7416 | Chapter 18 Rendering By default, this is the file name of the current scene. Click the plus (+) button next to the Job Name field to increment the job name. Unlike the plus button in the file dialogs, this button does not automatically launch the job. NOTE 3ds Max does not let you submit multiple jobs with the same name. 8 Determine whether to find the Manager automatically or manually. By default, 3ds Max searches automatically for the Manager using a network mask that you specify in the dialog. Alternatively, turn on Manual Search and enter the name or IP address of the computer running the Manager program. 9 Click Connect to continue. You see a listing of all servers available for network rendering. Each server is marked with a colored icon to denote its current status: Green Running and not rendering any jobs. Yellow Rendering another job. You can assign jobs to busy servers, and the jobs will be rendered in the order received. Red Failed. Try rebooting the server or see Troubleshooting on page 7390 for more information on failed servers. Gray Absent. Verify that the Server is currently running and that it has not been "Disallowed" in the Week Schedule. See “Scheduling the Availability of a Render Node Using the Backburner Monitor” in the Autodesk Backburner User’s Reference. If a rendering Server is running on a workstation that also has an interactive session of 3ds Max, you can still select that machine for rendering. A second copy of 3ds Max is launched to execute the network render. You can view statistics of a particular Server by right-clicking its name and choosing Properties. 10 Determine whether you will use the selected server, all servers, or a group of servers. 11 Click Submit to send the job to the rendering queue. Network Job Assignment Dialog | 7417 Interface Job Name Provides a field for you to name the job (mandatory). The + button beside the field adds incremental numbering (Job01, Job02, and so on). NOTE 3ds Max does not let you submit multiple jobs with the same name. Description Enter an optional description of the job. Enter Subnet Mask/Enter Manager Name or IP Address group Enter Manager Name or IP Address When Automatic Search is turned off, enter the name of the Network Manager on page 9235 machine or its IP address. 7418 | Chapter 18 Rendering Enter Subnet Mask When Automatic Search is on, enter a subnet mask for automatic search. For information on using subnet masks, see Configuring TCP/IP on page 7400. Connect/Disconnect Connects to the network Manager. 3ds Max preserves the connection as a global setting so that you need to change it only when you want to specify an alternative Manager. If connected to the network manager, click Disconnect to disconnect from the current manager so you can choose a different manager. Automatic Search Determines whether 3ds Max connects to a specific manager or searches for one using a subnet mask when you click Connect. When off, 3ds Max attempts to connect to the manager you specify in this group. When on, it searches the network for a manager using the specified subnet mask. Refresh Updates the Server and Job lists. By default, all servers are used for the job. When the Options group ➤ Use All Servers check box is turned off, you can choose one or more servers to render the job. If rendering to a multiple-frame file format, such as an AVI or MOV file, you can choose only one server. Priority group Priority Specifies a priority ranking for the job. The lower this setting, the higher the job priority. Default=50. For example, consider a job with priority 1 (Job B) that is submitted to a network manager that's already rendering a job with priority 2 (Job A). Because Job B has a higher priority, Job A will be suspended and Job B rendered. When Job B is finished, 3ds Max will resume rendering Job A. If two or more jobs have the same priority, they're executed in order of submission. Critical Sends the job to the head of the queue, preempting the existing jobs. If a server is currently rendering and a critical job is sent to the queue, the server will stop rendering its current job and begin rendering the new, critical job. When finished with the critical job, the server returns to the next job it has been assigned in the queue. Dependencies Opens the Job Dependencies dialog on page 7424, which you can use to specify existing jobs that must finish before the current job can start. Network Job Assignment Dialog | 7419 Options group Enabled Notifications Lets 3ds Max send rendering-related messages via email. When this is on, its Define button becomes available. For information, see the Notifications dialog on page 7426 topic. Define Opens the Notifications dialog, which lets you set notifications parameters. Split Scan Lines Lets you subdivide the rendering of each frame among the rendering servers. This is useful when rendering a single, extremely high-resolution image intended for printing. For information, see the Strips Setup dialog on page 7428 topic. When Split Scan Lines is on, its Define button becomes available. NOTE This feature does not support Render Elements. Also, it's unavailable when rendering to textures with projection mapping enabled and Sub-Object Levels on. Define Opens the Strips Setup dialog, which lets you set parameters for the Split Scan Lines option. Ignore Scene Path When off, the server attempts to copy the scene file from the manager to the server. If the manager is running on Windows 2000 Professional, only 10 servers will copy the file from the manager; any machines over the limit 10 will use TCP/IP to retrieve the file. When turned on, the servers get the file via TCP/IP only. Default=off. Rendered Frame Window During rendering, displays the Rendered Frame Window on all servers running serverapp.exe (not serversvc.exe). Default=on. Include Maps Archives the scene, with all of its maps, any inserted Xrefs and their maps, into a proprietary-format compressed file. The compressed file is sent to each Server, where it is uncompressed into a temporary directory named serverjob in the \network subdirectory of 3ds Max and rendered. Default=off. Use this feature if you have access only to Servers that exist over the Internet or if you have a slow network setup. It is not meant for heavy production use. However, if you don't use it, you must first ensure that all network servers have access to all map and Xref paths referred to in the scene. Initially Suspended Adds the named job to the queue in an inactive state. The job is not started until you activate it manually from the Backburner Monitor. See “Monitoring and Managing Jobs” in the Autodesk Backburner User’s Guide. 7420 | Chapter 18 Rendering Server Usage Group You choose between using all available servers, all servers in a group, or selected servers. See “Configuring Server Groups” in the Autodesk Backburner User’s Guide for an explanation of how to set up server groups. In a 3ds Max setup it can be useful to set up servers in groups. For example, during busy times you can assign high priority jobs to a group of high performance servers. Use Selected Uses only the servers that you have highlighted in the Server list. Use Group Uses all of the servers in a group. TIP Note that the servers are assigned to a group in the Autodesk Backburner monitor. Group drop-down list Choose the group of servers that you want to use for your render. Use All Servers Uses all Servers in the active Server group for rendering the job. Available only after you submit a multi-frame rendering job. Path File Group Use Alternate Path File Allows you to specify an alternate path file in the MXP format that rendering servers can use to find bitmaps that are not found on the primary map paths. When on, you can manually enter the path and file name in the field below the check box, or click the ellipsis button and browse to the MXP file. NOTE Create MXP files with Configure User Paths on page 8872. Status group Displays text messages describing the current status of the job assignment. Server list The Server list, located on the upper-right side of the Network Job Assignment dialog, displays all network rendering servers on page 9237 registered with the network manager after you connect to the manager. There are two types of tabs in the Server list: ■ All ServersLists all of the available servers that can be used for your render. When this tab and Use All Servers are enabled, all servers will be used to render the job. Network Job Assignment Dialog | 7421 ■ [group name]Lists all of the servers assigned to a group. When this tab and Use Group are enabled, all servers listed on the tab will be used to render the job. NOTE If a server is unavailable it will be skipped and the next available server will be used. If more groups are available than can fit in the space above the list, arrow buttons for scrolling the group list horizontally appear above the list's top-right corner. Click these arrow buttons to scroll the list left or right to view additional group tabs. By default, each Server is marked with a colored status icon: ■ GreenRunning and not rendering any jobs. ■ YellowRendering another job. You can assign jobs to busy Servers, and the jobs will be rendered in the order received. ■ RedFailed. Try rebooting the Server or see Troubleshooting on page 7390 for more information on failed Servers. ■ GrayAbsent. Verify that the network Server is currently running and that it has not been "Disallowed" in the Backburner Monitor. See “Launching the Backburner Monitor” in the Autodesk Backburner User’s Guide for information on viewing activities in the monitor. NOTE You can change the height of the server list window relative to the job list window below it by dragging the partition vertically. Server list right-click menu By default, servers are listed by name only. To see more information about a server, right-click its name in the list. A menu appears with these options: Properties Displays the Server Properties dialog, which shows aspects of the server hardware and operating system, including memory and disk space. All Server Details This toggle, when on, displays all details about each server to the right of its name. When off, restores the last saved set of partial server details unless the last saved set was All Server Details, in which case it restores the default set: name only. See the following item for the list of available details. 7422 | Chapter 18 Rendering NOTE You can see more details by scrolling the list with the horizontal scroll bar at the bottom, or by widening the dialog by dragging its right side with the mouse. Partial Server Details Opens the Set Server Property Tabs dialog, which lets you specify which details are shown in the Server list. The dialog provides check boxes for turning on and off the display of these details: ■ Status: See Server list on page 7421 for status details. ■ Number of CPUs ■ Total Physical Memory - in bytes ■ Operating System ■ Work Disk Space - in megabytes ■ Historical Performance Index - see note below ■ Handle - a hexadecimal identification number for the machine ■ User - current user name NOTE The Historical Performance Index value, listed under the Perf. Index heading in the Server list window, offers information on the relative speed of the listed servers. The fastest machine is rated at 1.0, while the other servers are rated as fractions of the fastest. A machine whose average is twice as long would receive a 0.5 index. Each machine is rated by measuring the time it takes to complete each frame, and the accumulated time is divided by the number of frames, resulting in the average time per frame, in seconds. Several factors can affect a machine's performance. CPU power isn't necessarily a concern when large file transfers are involved. For example, if a certain job uses several map files from a centralized server, the performance of the network throughput plays a much larger part than CPU performance, as most machines will spend the majority of the time reading maps. On the other hand, if the machine has all maps locally it will have a huge advantage (local access versus network access) regardless of which CPU it is using. The performance index provides you with information regarding your servers' rendering performance to help analyze your network rendering setup and better distribute the workload. Job list The job list, located on the lower-right side of the Network Job Assignment dialog, displays all jobs submitted to the network manager. Also shown are each job's priority, status, and output file path. Network Job Assignment Dialog | 7423 To change job settings and manage jobs, use the Backburner Monitor. See “Modifying Job Settings” and “Monitoring and Managing Jobs” in the Autodesk Backburner User’s Guide. _____ Advanced Opens the Advanced Settings dialog on page 7431, where you can make settings for Per-Job Timeouts, TCP port number, Pre-Render MAXScripts and Job Handling. Submit Click Submit to exit this dialog and send the current job to the Network Manager, which places it in the queue for rendering. When you submit a rendering job, if the output file name to be used by the job is the same as that used by an existing job, you're asked if you want to overwrite the existing file(s). Also, if the name of the submitted job replicates one already in the rendering queue, an alert notifies you; click OK, change the job name, and submit it again. NOTE Submitting a job creates a folder for the job on the manager machine in the \Program Files\Autodesk\Backburner\Network\jobs\ folder. In that folder is a compressed file with a .maz extension containing the scene file. You can extract the scene from the command prompt using the maxunzip.exe program, found in the 3ds Max program directory. For example, to extract a file named testfile.maz, assuming 3ds Max is installed in a folder named \Autodesk 3ds Max 2011\, open the command prompt, navigate to the \Program Files\Autodesk\Backburner\Network\jobs folder, and enter this: “\Program Files\Autodesk\Autodesk 3ds Max 2011\maxunzip” testfile.maz. You must specify the .maz file-name extension; otherwise you'll get an error message. Cancel Discards changes and exits the dialog. Job Dependencies Dialog Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Turn on Net Render (Render Output group). ➤ Render ➤ Network Job Assignment dialog ➤ Connect to a Manager. ➤ Priority group ➤ Dependencies Rendering menu ➤ Render To Texture ➤ Render To Texture dialog ➤ Turn on Net Render (Render Settings group) ➤ Render ➤ Network Job Assignment dialog ➤ Connect to a Manager. ➤ Priority group ➤ Dependencies Rendering menu ➤ Video Post ➤ Set up a sequence with an Image Output Event ➤ Turn on Net Render (Output group) ➤ Render ➤ Network Job 7424 | Chapter 18 Rendering Assignment dialog ➤ Connect to a Manager. ➤ Priority group ➤ Dependencies This dialog lets you specify jobs that shouldn't begin rendering until other jobs finish. Use the two lists and the Add and Remove buttons to build a list of jobs that must finish rendering before the current job can start. Interface Existing Jobs list Lists all previously submitted jobs. To specify a dependency for the current job, add one or more of these to the Jobs Your Job Depends On list. Add Select one or more jobs your job is to depend on, and then click Add to add them to the Jobs Your Job Depends On list. Network Job Assignment Dialog | 7425 Add All Adds all jobs in the Existing Jobs list to the Jobs Your Job Depends On list. Remove Removes highlighted jobs from the Jobs Your Job Depends On list. Remove All Removes all jobs from the Jobs Your Job Depends On list. Jobs Your Job Depends On list Lists all previously submitted jobs. To specify a dependency for the current job, add one or more of these to the Jobs Your Job Depends On list. Notifications Dialog Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Turn on Net Render (Render Output group) ➤ Render ➤ Network Job Assignment dialog ➤ Options group ➤ Turn on Enabled Notifications. ➤ Define Rendering menu ➤ Render To Texture ➤ Render To Texture dialog ➤ Turn on Net Render (Render Settings group) ➤ Render ➤ Network Job Assignment dialog ➤ Options group ➤ Turn on Enabled Notifications. ➤ Define Rendering menu ➤ Video Post ➤ Set up a sequence with an Image Output Event ➤ Turn on Net Render (Output group) ➤ Render ➤ Network Job Assignment dialog ➤ Options group ➤ Turn on Enabled Notifications. ➤ Define This dialog lets a network rendering job send notifications via email. Such notifications can be useful when you launch a lengthy render, such as an animation, and don't care to spend all your time near the network manager system. See also: ■ “Configuring Backburner Log Files” in the Autodesk Backburner User’s Guide 7426 | Chapter 18 Rendering Interface Categories group Notify Progress Triggers a notification to indicate rendering progress. A notification is triggered every time the number of frames specified in Every Nth Frame has completed rendering. Default=off. Every Nth Frame The number of frames used by Notify Progress. Default=1. Notify Failures Sends an email notification only if something occurs to prevent the completion of a rendering. Default=on. Notify Completion Sends an email notification when a rendering job is complete. Default=on. Email Options group Send Email Notifies via email. Network Job Assignment Dialog | 7427 Include Summary Includes a summary of the network rendering progress with the notification email. Available only when Send Email is turned on. From Enter the email address of the person who initiates the rendering job. To Enter the email address of the person who needs to know the rendering status. SMTP Server Enter the numeric IP address of the system you use as a mail server. Strips Setup Dialog Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Common tab ➤ Turn on Net Render (Render Output group) ➤ Render ➤ Network Job Assignment dialog ➤ Options group ➤ Turn on Split Scan Lines. ➤ Define The Strips Setup dialog lets you specify how to split up the rendering of a single, large image among several different servers on the network. 3ds Max automatically subdivides the rendering based on settings you provide, and then fits the pieces together into the final image. NOTE A version of this feature was known as Region Net Render in versions of 3ds Max prior to version 8. Procedures To render a large image with a networked render farm: 1 Set up a scene to render. 2 Set up your system for network rendering on page 7368. 3 From the Rendering menu, choose Render Setup. The Render Setup dialog opens, with the Common tab active. 4 In the Output Size group, specify the size to render. 5 In the Render Output group, specify an output file name and location, and turn on Net Render. 6 Click the Render button. The Network Job Assignment dialog appears. 7 In the Options group, turn on Split Scan Lines, and then click Define. 7428 | Chapter 18 Rendering The Strips Setup dialog appears. The dialog displays the output resolution, and lets you determine how to split up the rendering job by specifying the number of horizontal strips into which the image will be subdivided. 8 Specify the vertical size of each strip in pixels or as a percentage of the total image height, or set the number of strips. Changing one also changes the other. 9 Set the overlap in pixels or as a percentage. Using overlap isn't always necessary, but if you notice anomalies where the strips meet, increase this value. 10 Connect to the manager, specify a job name, choose one or more servers on which to render, and then click Submit. The job is sent to the network rendering manager, which supervises the network rendering job. The job consists of first rendering each slice, and then combining, or “stitching,” the slices into the final image. 11 Monitor the job via the Backburner Monitor. See “Monitoring and Managing Jobs” in the Autodesk Backburner User’s Guide. Rendering and stitching passes are designated “Slice Pass” and “Stitch Pass,” respectively. When all slices are finished, the job status will be Complete. Network Job Assignment Dialog | 7429 Interface Output Resolution This read-only field displays the horizontal and vertical resolution of the final image, in pixels. Strip Height Sets the height of each horizontal strip in pixels or as a percentage of the total height. Default=10 percent of the total image height, in pixels. This setting is interdependent with and inversely proportional to the Number Of Strips setting; increase one, and 3ds Max decreases the other. Number of Strips Sets the number of horizontal strips to be rendered by the available servers. Default=10. The value determines the maximum number of machines to which the job can be farmed out. For example, if you use the default setting of 10 strips, the job can be performed by 10 machines at most. In that case, assuming equal performance of all 10, rendering would take approximately one-tenth the time required by one machine. 7430 | Chapter 18 Rendering TIP For optimal results with render farms that comprise machines of different speeds, use a value high enough that the job can be completed most efficiently. For example, consider a two-server network with one machine four times as fast as the other. If you set Number Of Strips to 2, the job won't be finished until the slower machine renders its half of the final image. But if you set Number Of Strips to 4, the faster machine can render three of the strips while the slower machine renders one, effectively halving the total render time. This setting is interdependent with and inversely proportional to the Strip Height setting; increase one, and 3ds Max decreases the other. Overlap Set the amount by which each strip overlaps the adjoining one(s). You can set this in pixels or as a percentage of the final image height. A certain amount of overlap is necessary to compensate for image artifacts created by antialiasing and render effects. If you notice anomalies where the image slices meet, try increasing the Overlap setting. Pixels/Percentage Determines whether the Strip Height and Overlap settings represent pixels or a percentage of the final image height. Choosing a different option automatically changes the two values accordingly. Delete Temporary Images Upon Completion Deletes the “slice” images after the final image is created. Default=off. Advanced Settings Dialog Rendering menu ➤ Render Setup ➤ Render Setup dialog ➤ Render Output group> Turn on Net Render ➤ Render ➤ Network Job Assignment dialog ➤ Advanced Rendering menu ➤ Render To Texture ➤ Render To Texture dialog ➤ Turn on Net Render (Render Settings group) ➤ Render ➤ Network Job Assignment dialog ➤ Advanced Rendering menu ➤ Video Post ➤ Set up a sequence with an Image Output Event ➤ Turn on Net Render (Output group) ➤ Render ➤ Network Job Assignment dialog ➤ Advanced The Advanced Settings dialog lets you set job timeouts on a per-job basis, assign the TCP port number, specify pre-render scripts and affect job handling and archive settings. Network Job Assignment Dialog | 7431 Interface Per Job Timouts Group Enable Turns on the ability to set timeouts on a per-job basis. The remaining settings in this group become available only when Enable is turned on. Wait for MAX to Load Specifies the amount of time after a job is submitted that the Manager waits for a server to report that it received the frame and is 7432 | Chapter 18 Rendering rendering. If this value is exceeded, an error message is logged for a failed frame, and the frame is assigned to a different server. Wait for MAX to Render Specifies the amount of time the manager waits between when a server reports that it has started and finished rendering a frame. If a server exceeds the specified value, it is flagged as "failed" by the manager, and no more frames from that job are sent to it. Wait for MAX to Unload When a job is complete, the manager tells the server to unload 3ds Max, then waits for a reply from the server saying 3ds Max is down and it's ready for a new job. This spinner specifies the amount of time the Manager will wait for the Server to reply to this notification. If a server exceeds the specified value, it is flagged as "failed" by the manager, and no more frames are sent to it. Connection to Manager group Use this setting to specify the Manager for this job. TCP Port Number Specifies the port number of the Manager to which this job is to report. Submit Job As radio button Specifies which platform your scene is rendered on. Use this button when you want to render your scene on a different platform (either 32- or 64-bit) from the platform where you created your scene. This is particularly useful in situations where you are working on a given platform which differs from the platform of the render farm. The most consistent results are achieved when you submit jobs are created and rendered on the same platform. NOTE This is an advanced option provided to accommodate specific render farm configurations. By default this option is set to the most compatible platform that avoids rendering to platforms where data-loss may result. Server Assignment Limit Enable Limit Sets the maximum number of servers that will be allocated for a specific job. This limit can be overridden with the Use Server Limit field in the Backburner Manager General Properties dialog , so that the administrator of a render farm can control job sharing globally. MAX server count Specifies the number of servers. Network Job Assignment Dialog | 7433 Job Handling group Enable Task Blocking Allows the job to override the task blocking set in the Manager. Some jobs will have their frames processed more efficiently if task blocking is turned off. Default=on. Override Global Settings This switch lets you override job archiving settings made in the Backburner Manager General Properties dialog. It lets you set the archive settings for the job about to be submitted. When Override Global Settings is turned on, the After Job Is Successfully Completed options become active. Default=off. NOTE Any setting made while Override Global Settings is turned on, remains active from one 3ds Max session to the next. For example, if you choose to leave jobs in the queue, submit the job and exit 3ds Max, the setting will be active when you choose to submit jobs in the future. After job is successfully completed These options choose the archive settings when Override Global Settings is turned on. ■ Do Nothing Tells the network manager to leave the job in the queue without deleting it or archiving it. You might use Do Nothing if you are submitting a job that might need to be re-rendered at a higher resolution without making any other changes to the scene. ■ Delete It Upon completion, the job is deleted from the queue. If the scene you're network rendering is just a test shot and you're just doing a quick test of the scene, you don't really want to keep the job in the queue once it's completed. Before you submit the job, choose Delete It. ■ Delete After X day(s) Deletes the job after the specified number of days. Default=7. ■ Archive It Archives the job when the rendering is complete. Default=on. Archiving is useful when you submit a final version of the scene and you know that there won't be any more changes to the scene. Before you submit the job, choose Archive It. ■ Archive After X day(s) Archives the job after the specified number of days. Default=4. _____ Defaults Returns all settings to their defaults. 7434 | Chapter 18 Rendering OK Accepts any changes and closes the dialog. Cancel Closes the dialog without saving changes. Manager and Server The topics in this section describe how to set up and use the network Manager and Server systems. Initial Setup for Manager and Server Programs The files necessary for network rendering are copied to the Backburner root directory when you install 3ds Max. Two of these files, manager.exe and server.exe, require initialization before they can be run. Set up the Manager program first, then the Server. When you're finished, you can start network rendering. After setup, you can run both Manager and Server as services by installing managersvc.exe and serversvc.exe, respectively. You need to initialize only one machine as network Manager. This can be any machine on the network, and can be used on a machine running the Server, 3ds Max, or both. You need to initialize every machine used as a rendering Server. This is done once to establish the connection between the rendering Server and the network Manager. The Manager and Server programs can be run in application mode as explained in the procedures that follow, or as Windows 2000 or XP services, in which case they run in the background and provide less feedback on the progression of the rendering job. To learn more about installing these programs as services, see Installing Network Services on page 7437. Initialization is done only once for each service. Each initialization process creates or updates the following: ■ A subdirectory called \Network under the Backburner root directory, containing several further subdirectories, including \Jobs, \Servers, and \ServerJob. By default, the Backburner directory is called Backburner, and is found in the \Program Files\Autodesk\ directory. ■ A file with initialization parameters (backburner.xml). ■ A log file that keeps track of what the services do (backburner.log). Manager and Server | 7435 Next Step Starting Network Rendering on page 7385 Procedures To initialize the Manager program: ■ Run the Manager program from the Start menu ➤ Programs ➤ Autodesk ➤ Backburner menu. The first time you launch the Manager, it creates the backburner.xml file, which stores the manager configuration settings. The Backburner Manager General Properties dialog also appears the first time you run Manager. In most cases, you can safely proceed by accepting the default settings and clicking OK. Thereafter, you can modify the configuration settings by choosing Edit menu ➤ General Settings to open the General Properties dialog. For the new settings to take effect, you need to close the manager and restart it. The settings in the General Properties dialog are described in depth in Backburner Manager General Properties Dialog on page 7445. To initialize the Server program: 1 Run the Network Rendering Server program from the Start menu ➤ Programs ➤ Autodesk ➤ Backburner menu. The first time you run Server, its General Properties dialog appears. 2 By default, the Subnet Mask field is set to 255.255.255.0 with the Automatic Search option turned on. In most cases, you should leave this option on. Backburner detects the machine acting as the manager. At this point, do not make any other changes in the Backburner Server General Properties dialog. Settings in the this dialog are described in detail in Backburner Server General Properties Dialog on page 7453. 3 Click OK on the Backburner Server General Properties dialog to save the current configuration. 7436 | Chapter 18 Rendering 4 The Server starts, and attempts to connect to a Manager automatically. If no Manager is found on the network, the Server times out and reports that the Manager is not responding. 5 If the Server eventually fails to connect to the Manager: ■ Check the subnet mask setting in your TCP/IP network configuration. If it is set to something other than 255.255.255.0, in the Server application, go to Edit menu ➤ General Settings, in the dialog, set the subnet mask to match it and click OK. You will need to shut down the Server application and restart it for the changes to take effect. ■ If you do not want the Server to connect automatically or the Server will not connect automatically to the Manager, go to Edit menu ➤ General Settings and turn off Automatic Search. Click in the Manager Name Or IP Address field and enter the name or IP address of the workstation running Manager, and then click OK. You will need to shut down the Server application and restart it for the changes to take effect. This updates the backburner.xml on page 7442 file, which now stores the Server configuration settings. The next time the Server is run, the application is launched and the configuration settings are used. This completes Server initialization. Installing Network Services This topic describes how to install the network Manager and network Server as network services under Windows 2000 or XP. Start by doing the following: 1 Run the Application versions of the Manager and Server to properly configure the applications and make your rendering network operational. 2 Use your network in production so you are sure it is running reliably. Do not proceed unless these conditions are met. Installing the network Manager and rendering Servers as Windows 2000 or XP services allows background rendering and is convenient, but it also means that you have less information on the rendering server’s screen about problems when they occur. This is why your network needs to be running smoothly before taking this step. Running the Manager and Server as services does not change the information shown in the Queue Monitor. Manager and Server | 7437 In the procedures that follow, the Manager and Server services are installed and registered under Windows 2000 or XP. This installation replaces the use of application mode (running the Manager and Server manually each time you want to use them). The services are started automatically every time you boot the computer, but can also be set for manual startup. The \Network subdirectory and initialization and LOG files from application mode remain in place, but the services operate under Windows 2000 or XP instead of in a separate process. You can run the Manager and Server as services directly from a Command Prompt window or the Run dialog using the -i switch (install as a service). Then go to Services and start the Manager and/or Server, or reboot. To remove the Manager or Server once it has been installed as a service, you must run 3ds Max directly from a Command Prompt window or the Run dialog using the -r switch (remove service). See also: ■ Creating a Special User Account on page 7407 Procedures To set up the Manager as a service: 1 Go to the machine on which you will install the Manager as a service. 2 Open a Command Prompt window and change the directory to the Backburner root directory: for example, \Program Files\Autodesk\Backburner\. 3 Type managersvc -i The following message should be displayed: Backburner Manager ... Service Installed 4 Go to Windows Control Panel ➤ Administrative Tools ➤ Services, right-click Backburner Manager, and choose Start. If you choose Properties from the right-click menu, you can also set users, passwords, and other parameters. To set up the Server as a service: 1 Go to the machine on which you will install the Server as a service. 2 Open a Command Prompt window and change the directory to the Backburner root directory. 7438 | Chapter 18 Rendering 3 Type serversvc -i The following message should be displayed: Backburner Server ... Service Installed 4 Go to Windows Control Panel ➤ Administrative Tools ➤ Services, right-click Backburner Server, and choose Start. If you choose Properties from the right-click menu, you can also set users, passwords, and other parameters. 5 Repeat these steps on every machine on which you want to set up Server as a service. Logging Properties Dialog Windows Start menu ➤ Programs ➤ Autodesk ➤ Backburner ➤ Manager or Server ➤ Edit menu ➤ Log Settings The Logging Properties dialog lets you specify the types of messages that appear in the list window on the Manager or Server window and those that are sent to a log file. Each type of log message is explained below. Log Message Types Error Fatal errors that halt a server's rendering of a job. These errors are preceded by a red "ERR" in the Manager or Server list window, and include the following: ■ Failed Renderings and Frame Errors (caused by missing bitmaps, missing texture coordinates, invalid output directory, etc.) ■ Manager not found ■ Error registering server(s) ■ Error writing output file ■ Error Starting 3ds Max ■ Loading timeouts NOTE You can see a more detailed explanation for server failure in the Queue Monitor's Server list window. Manager and Server | 7439 Warning Non-fatal warning information. These errors are preceded by a brown "WRN" in the Manager or Server list window, and include the following: ■ Manager and/or Servers shutting down ■ Server(s) flagged as failed ■ Loading timeout set too low ■ Rendering timeout set too low Info General information about the current status of the Manager or Server. These errors are preceded by a aqua "INF" in the Manager or Server list window, and include the following: ■ Booting Network Manager/Server ■ Connection to Server(s) ■ Registration to Manager ■ Job Submitted ■ Job Received ■ Frame Complete Debug and Debug Extended Detailed information about TCP/IP packets and the current state of the Manager and Server. Debug Extended provides a more verbose listing than Debug. When in doubt, use both. These messages are preceded by a blue "DBG" in the Manager or Server list window, and include the following: ■ TCP/IP Packets sent and received ■ TCP/IP Packet collection ■ Command Line Arguments used to launch 3ds Max ■ Frames Assigned ■ Log files creation and sent ■ Assignment Threads 7440 | Chapter 18 Rendering Interface Log To Screen group The Log To Screen options determine which types of messages are displayed in the list window of the Manager or Server window. Turn on each type of message that you want to be displayed. Error, Warning, and Info are on by default. Log To File group The Log To File options determine which messages saved to log files. These are the same messages that appear on the screen. Turn on any of the following categories to save it in a log file. When any one of these categories is turned on, a manager.log file or server.log file is created in your \network directory. Error, Warning, and Info are on by default. Buffer Limit Specifies the maximum size of the buffer holding the messages. Clear Log Clears the buffer holding the messages in the list window. Clear Log File Deletes the associated manager.log and/or server.log file. Manager and Server | 7441 WARNING Log files are cleared only when you click the Clear Log File button. When categories are enabled for either or both log files, the files will continue to grow in size each time you render. The backburner.xml File When you run the Manager, Server, or Queue Monitor application, or access the Network Job Assignment dialog, these programs create or update an initialization file named backburner.xml in the \Network subdirectory of the Backburner directory. You can change most of the settings in the backburner.xml file using the Manager Properties dialog on page 7445 and Server Properties dialog on page 7453. You can change the parameters listed here only by editing the XML file in a text editing application, such as Notepad. Do so only if you are experiencing network problems with the network renderer. Make sure the Manager and Server applications are shut down (or services uninstalled) before editing the backburner.xml file. The changes will take place when the Manager and/or Server are restarted. backburner.xml ■ MaxBlockSizeLocated under the heading, this value is the maximum size of a data packet sent when transferring large blocks, such as projects. For slow connections like modems, it uses a smaller packet size, for example, 1024. ■ Acknowledgment TimeoutLocated under the heading as AckTimeout, this value is the amount of time (in seconds) that the system will wait for an acknowledgment of commands (like Ping) sent back and forth between the Manager and Server. Default=20 seconds. ■ Acknowledgment RetriesLocated under the heading as AckRetries, this value determines how many times the sender retries if no acknowledgment is received. The default is six tries. After that, the machine is considered down and is put off-line. 7442 | Chapter 18 Rendering Network Rendering Manager Windows Start menu ➤ Programs ➤ Autodesk ➤ Backburner ➤ Manager application The application version of the network rendering Manager provides a graphical user interface for control and monitoring purposes. It runs as a foreground process on your desktop, and remains active unless specifically shut down. Its components include a menu bar, list window, and status bar. Once you initially set up the Manager using the application version, you can run it as a service from then on. The service version provides no user interface, but once it's installed as a service and started, it's always available when the system is booted. Whichever version you use, you can monitor and control the rendering queue and system with the Queue Monitor on page 7455. To start the Manager service, execute the following from a Command Prompt window or the Start menu ➤ Run function: “[drive letter]:\Program Files\Autodesk\Backburner\managersvc.exe” -i Replace "[drive letter]" with the letter of the drive Backburner is installed on. If you used a different install path, change the command line accordingly. Then either reboot the computer or go to Control Panel ➤ Administrative Tools ➤ Services and start the service. Thereafter the service will remain resident and active, even surviving reboots. NOTE When you run the Manager program, you might see this warning message: “Job share not defined.” This happens if neither the 3ds Max folder nor the drive on which it resides is shared on page 7411. Normally, the servers copy files to be network rendered from the source machine using standard Windows file-copy routines, which require sharing to be in effect. If sharing is not in effect, the manager issues the warning, and then the servers use TCP/IP to copy the files. To avoid getting the warning message, you can implement sharing, but it's not really necessary. To remove the manager service from memory, execute the following from a Command Prompt window or the Start menu ➤ Run function: “[drive letter]:\Program Files\Autodesk\Backburner\managersvc.exe” -r Manager and Server | 7443 TIP You can run multiple Managers on the same network. This is especially useful when using many rendering Servers, to lessen the burden on individual Managers. When using multiple Managers, it is best to turn off Automatic Search on the rendering servers and specify a Manager to which to connect, otherwise the rendering servers will connect to the first Manager they find. Interface Menu bar The menu bar provides access to the functions available in the Network Rendering Manager application. File menu Close Closes the window and minimizes the application to the taskbar tray. The application remains active when you close it with this menu item or the close box (X) in the upper-right corner. Shutdown Quits the application and removes it from memory. Edit menu General Settings Opens the Backburner Manager General Properties dialog on page 7445. Log Settings Opens the Backburner Manager Logging Properties dialog on page 7439, which lets you filter the types of messages to appear in the list window, and specify whether the messages are sent to the list window or a log file. 7444 | Chapter 18 Rendering View menu Status Bar Toggles the display of the status bar, which appears at the bottom of the Server window. When on, a check mark appears next to this menu item. Default=on. Font Size Lets you choose the size of text that appears in the list window. Choices range from Smallest to Largest. Autoscroll List Toggles automatic scrolling of the list window. When on, new items that appear in the list window cause previous contents to scroll up. When off, you must scroll the window manually to see the latest entries after it fills up. Default=on. Help menu About Manager Displays information about the Manager program, including version and copyright. List Window This area of the Manager interface lists different types of information regarding the current status of the Manager. Depending on the selections made in the Logging Properties dialog on page 7439, messages are displayed alerting the user, for example, to the following: ■ Connection and registration between the Manager and Server(s) ■ New job assignments ■ Which machine is the queue controller (that is, running Queue Monitor) ■ Frames assigned/rendered ■ Acknowledge packets sent between the Manager and Server(s) ■ Manager/Server(s) shutting down ■ Any rendering errors encountered This information can be filtered using the Logging Properties dialog on page 7439. Manager General Properties Dialog Windows Start menu ➤ Programs ➤ Autodesk ➤ Backburner ➤ Manager ➤ Edit menu ➤ General Settings ➤ General Properties dialog Manager and Server | 7445 The Manager Properties dialog contains the configuration settings for the Network Manager. The default settings should work in most cases, but certain situations may require adjustments. The information specified in the Manager Properties dialog is written to and contained in backburner.xml (in the \Network subdirectory). If you run the Manager and the backburner.xml file does not exist, you're prompted to configure it with this dialog. When configuration is complete, click OK to run the Manager. Interface 7446 | Chapter 18 Rendering TCP/IP group The two spinners in the TCP/IP group box specify the port numbers to be used by the Manager and Servers. These numbers must be unique, but every Server must have the same number. Manager Port Specifies the port number used by the network Manager. Server Port Specifies the port number used by the network Server(s). NOTE Port numbers are like extensions for different users of the same phone number. They represent two channels of communication between the Server and the Manager. Only a trained network administrator should change these settings. General group Max(imum) Concurrent Assignments Specifies the number of jobs the Manager sends out at once. This number is dependent upon the speed of the processor on the Manager machine, the size of the jobs being sent out, and the speed of the network system. Generally, a default value of 4 is adequate. You may want to decrease the value in case the jobs are huge and you have a modest setup. Similarly, you may want to increase this value if you have a high-end setup and the jobs are small. Be aware that too high a value may result in an increased number of timeouts because the jobs are sent faster than the Servers can handle them. In such a case, decrease the value or leave it at the default. User Server Limit Sets the maximum number of servers that will be allocated for a specific job. This feature overrides the server limit settings in the 3ds Max Advanced Settings Dialog on page 7431. Task Error Limit Defines the number of times a server will retry a task before suspending the task. This option is available only in the Manager General Properties dialog. Failed Servers group This option allows the Manager to automatically restart Servers that have failed jobs. Restart Failed Servers Activate to enable automatic Server restarting. If this option is turned off, the Server will not attempt to render the job again after the first failure. Default=on. Number of Retries Specifies the number of times the Manager attempts to restart a failed Server. Default=3. Range=1 to 1024. Manager and Server | 7447 Seconds Between Retries The time, in seconds, between each retry. Default=30. NOTE The state of a Server is kept on a per-job basis. If Restarts Failed Servers is turned on, the Manager keeps track of when a Server fails a particular job. The Manager regularly goes through the list of Servers for that job, checking for failures. If one is found, the Manager checks how long it has been since it failed. If the time elapsed is greater than the specified Seconds Between Retries, the Manager decreases the Number of Retries by one and resets the failed flag from the Server. If a Server fails repeatedly on a specific job (failures are monitored on a per-job basis), the failure count reaches the specified Number of Retries, and the Manager stops trying to restart that Server for that particular job. If, on the other hand, a Server restarts and completes a frame, it is flagged as active and resumes rendering until the job is complete. Direct Access To Jobs Path group Job paths can be useful when dealing with situations where it's not conducive to have jobs placed on the manager system. Such situations might be as follows: ■ You have a lack of drive space on the C: drive where Backburner is installed. Drive D: has plenty of space so you set up a folder called MyJobs where jobs will be placed when submitted. Enter a UNC path such as \\machinename\MyJobs. ■ You're running a large render farm that causes a lot of network traffic on the manager system that you use concurrently to build models. To alleviate the traffic, you set up a shared job folder, backburnerJobs for example, on a file server that is separate from the manager system. The UNC job path would be set to \\fileserver\backburnerJobs and jobs you submit will be placed on the file server. Use Jobs Path Turning on this switch allows you to define the location of jobs to be somewhere other than on the manager machine. This tells the render servers to get the job files from the new location, therefore minimizing the file I/O traffic on the manager. Win32 Path Enter the path where jobs are located into this field or click the Browse button to the right to search your system for the job location. Unix Path This field functions the same as the Win32 path except you can enter a Unix path structure. 7448 | Chapter 18 Rendering Default Job Handling group The settings in the Default Job Handling group allow a user to archive a completed job to a specified location after x number of days, delete a completed job after x number of days or just leave the job indefinitely in the queue. Using these controls lets you maintain the job queue, clearing completed jobs that can cause excess overhead and stress to the manager system, thus instigating performance problems. The archiving functionality allows you to automatically store files used for completed jobs. NOTE These settings can be overridden from the Advanced Settings dialog on page 7431 accessed from the Network Job Assignment dialog on page 7415. Do Nothing When turned on, a completed job is left in the queue. Use this switch if you are submitting a job that may need to be re-rendered at a higher resolution without making any other changes to the scene. Delete It Upon completion, the job is deleted from the queue when this switch is turned on. If the scene you're rendering is just a test shot and you're just doing a quick test of the scene, you don't really want to keep the job in the queue once it's completed. Delete After ... Day(s) Upon completion, the job is kept in the queue for the specified number of days. Once the number of days are exceeded, the job is then deleted from the queue. Archive It When turned on, the job is archived when the rendering is complete. Default=on. Archiving is useful when you submit a final version of the scene and you know that there won't be any further changes. Archive After ... Day(s) Upon completion, the job is kept in the queue for the specified number of days. Once the number of days are exceeded, the job is archived. Network Rendering Server Windows Start menu ➤ Programs ➤ Autodesk ➤ Backburner ➤ Server The application version of the network rendering Server provides a graphical user interface for control and monitoring purposes. It runs as a foreground process on your desktop, and remains active unless specifically shut down. Its components include a menu bar, list window, and status bar. Manager and Server | 7449 Once you initially set up the server using the application version, you can run it as a service from then on. The service version provides no user interface, but once it's installed as a service and started, it's always available when you boot the system. Whichever version you use, you can monitor and control the rendering queue and system with the Queue Monitor on page 7455. To start the server service, execute the following from a Command Prompt window or the Start menu ➤ Run function: “[drive letter]:\Program Files\Autodesk\Backburner\serversvc.exe” -i Replace "[drive letter]" with the letter of the drive Backburner is installed on. If you used a different install path, change the command line accordingly. Then either reboot the computer or go to Control Panel ➤ Administrative Tools ➤ Services and start the service. Thereafter the service will remain resident and active, even surviving reboots. NOTE In order for the rendering servers to be able to save the frames to the specified location, set the logon for the installed service to a user name and password that exists on the network. Also, that user name must have sufficient read/write permissions to get the required bitmaps and xrefs for the scene to render as well as write the frames to specified location. To remove the server service from memory, execute the following from a Command Prompt window or the Start menu ➤ Run function: “[drive letter]:\Program Files\Autodesk\Backburner\serversvc.exe” -r Procedures To start/stop the server service upon logoff/logon: If you work on a computer that's part of a render farm, you probably don't want the computer to be available for rendering while you're using it. By following this procedure, you can have the computer automatically turn off the server service while you're logged on, and turn it back on when you log off. 1 Install the Backburner Server as a service that starts automatically at startup, as described above. This is the default setup for the server service. You'll start by creating two batch files. 2 Open a text editor such as Notepad and enter the following line: net start backburner_srv_200 7450 | Chapter 18 Rendering 3 Save this as a text file named Netstart_BB_Server.bat. 4 Create a new file containing the following line: net stop backburner_srv_200 5 Save this as a text file named Netstop_BB_Server.bat. Next, you'll to edit the logon and logoff policy for the system. 6 Go to the Windows Start menu, choose the Run command, and enter gpedit.msc. The Group Policy dialog appears. It lets you edit and manage the Group Policy for the system. 7 In the dialog, expand User Configuration ➤ Windows Settings, and then click Scripts (Logon/Logoff). The right-hand pane lists Logon and Logoff. 8 In the right pane, right-click Logon and choose Properties. 9 In the Properties dialog, click Add, click Browse, and browse to the Netstop_BB_Server.bat file you created. Click OK twice to close the Logon Properties dialog. 10 Similarly, open the Properties dialog for Logoff and specify the Netstart_BB_Server.bat file. 11 Close the Group Policy dialog. You have now set up the system to stop the Backburner service at any user logon, and to start it at any user logoff. Manager and Server | 7451 Interface Menu bar The menu bar provides access to the functions available in the Network Rendering Server application. File menu Close Closes the window and minimizes the application to the taskbar tray. The application remains active when you close it with this menu item or the close box (X) in the upper-right corner. Shutdown Quits the application and removes it from memory. Edit menu General Settings Opens the Network Server General Properties dialog on page 7453. Log Settings Opens the Network Server Logging Properties dialog on page 7439, which lets you filter the types of messages to appear in the list window, and specify whether the messages will be sent to the list window, a log file, or both. View menu Status Bar Toggles the display of the status bar, which appears at the bottom of the Server window. When on, a check mark appears next to this menu item. Default=on. 7452 | Chapter 18 Rendering Font Size Lets you choose the size of text that appears in the list window. Choices range from Smallest to Largest. Autoscroll List Toggles automatic scrolling of the list window. When on, new items that appear in the list window cause previous contents to scroll up. When off, you must scroll the window manually to see the latest entries after it fills up. Default=on. Help menu About Server Displays information about the Server program, including version and copyright. List Window This area of the Server interface lists different types of information regarding the current status of Server. Depending on the selections made in the Logging Properties dialog on page 7439, messages are displayed alerting the user, for example, to the following: ■ Connection and registration between the Manager and Server(s) ■ New job assignments ■ Frames assigned/rendered ■ Acknowledge packets sent between the Manager and Server(s) ■ Manager/Server(s) shutting down ■ Any rendering errors encountered This information can be filtered using the Logging Properties dialog on page 7439. Server General Properties Dialog Windows Start menu ➤ Programs ➤ Autodesk ➤ Backburner ➤ Server ➤ Edit menu ➤ General Settings ➤ General Properties dialog The Server General Properties dialog contains configuration settings for the Network Rendering Servers. The default settings in this dialog work in most cases, but certain situations may require adjustment of these settings, mostly the Manager or IP settings in case the Automatic detection fails. The information specified in the Server Properties dialog is contained in the backburner.xml file (in the \Network subdirectory). If you run Server and the Manager and Server | 7453 backburner.xml file does not exist or does not contain information pertinent to the Server, the backburner.xml file is created or updated. Interface TCP/IP group Manager Port Specifies the port number used by the Network Manager. Server Port Specifies the port number used by the Network Server(s). These settings specify the port number to be used by TCP/IP. These numbers must be unique, but every Server must have the same number. NOTE Port numbers are like extensions for different users of the same phone number. They represent two channels of communication between the Server and the Manager. Only a trained network administrator should change these settings. Automatic Search When on, starting the Server searches for a Manager using the default subnet mask of 255.255.255.0. In most cases, you should leave this option on. The Server will detect the machine acting as a Manager. The Server may fail to detect a Manager if the network subnet mask (in the Windows TCP/IP Network Configuration dialog) is set to some other value than the standard 255.255.255.0. If that is the case, change the subnet mask setting in the Server General Properties dialog to match the system setting. Start the Server again and it 7454 | Chapter 18 Rendering should detect the Manager. When multiple Managers are running on the same network, you may want to turn off Automatic Search and specify which Manager the Server should connect to. Otherwise, the Server connects to the first Manager it finds. Enter Subnet Mask/Manager Name or IP Address With Automatic Search turned on, specifies the subnet mask used to search for the Manager. With Automatic Search turned off, specifies the IP address or DNS name of the Manager to which to connect. Use the Manager system's name or IP address when multiple Managers are running on the same subnet. Use the Manager system's IP address to avoid any problems or conflicts caused by improper implementation of the Domain Name System. The Queue Monitor Application Windows Start menu ➤ Programs ➤ Autodesk ➤ Backburner ➤ Monitor application The Queue Monitor application (monitor.exe) lets you manage, view, and receive status updates about all jobs currently submitted to the network rendering queue. This executable file is copied to the Backburner root directory during setup, and is available from the Start menu. NOTE In previous versions of 3ds Max, this program was called Queue Manager. Queue Monitor helps you adapt to changing needs and priorities. Jobs can be activated, deactivated, reordered, and removed, and servers can be unassigned to free up resources on workstations, or brought back online as they become available again. You can run Queue Monitor from any computer connected to the rendering network. Once started, you can connect to any available network Manager. You can launch as many Queue Monitors as you want from anywhere on your network and connect to a Manager machine. All except the first Queue Monitor connecting to the Manager appear in "read only" mode. If there is already a Queue Monitor connected to the Manager, subsequent connections alert you that you are in read-only mode, and "Read Only" appears in the title bar. In read-only mode, you can view network render activity, but cannot change anything in the queue unless you obtain queue control on page 7459. The Queue Monitor Application | 7455 To view all current jobs in the rendering queue, you first connect to the Manager that all of the servers are "talking to." To do this, you can either connect automatically to the Manager by searching with a subnet mask, or connect to a specific Manager by supplying the IP address or machine name of the machine where you started the Manager. See also: ■ Viewing Jobs and Servers with the Queue Monitor on page 7473 ■ Activating and Deactivating Jobs in the Queue on page 7477 ■ Activating and Deactivating Servers in the Queue on page 7477 ■ Managing Jobs in the Queue on page 7478 Procedures To view all current jobs in the rendering queue: 1 On the Queue Monitor toolbar, click (Connect). The Connect To Manager dialog appears. 2 After you connect to a Manager once, the dialog remembers the Manager information and you can just click OK to connect to the same Manager. If this is the first time you're connecting, or you're connecting to a different Manager, and you're using Automatic Search, just click OK. If you're not using Automatic Search, you need to specify the Manager to connect to. In the text field, enter the name or IP address of a network Manager. This is the same information you specified in the Server General Properties dialog on page 7453. 3 Click OK. The Queue Monitor connects to the network Manager and activates its various display windows. To suspend a job: As requirements change, you can temporarily deactivate an active or pending job in the rendering queue, or reverse the process and restart jobs that are inactive. 7456 | Chapter 18 Rendering When you suspend a job, the Servers assigned to the job either drop the frame they are rendering or finish writing the frame, depending on where they are in the rendering process. The next pending job becomes active and begins to render. NOTE You can activate or deactivate multiple jobs at the same time. 1 Select one or more active or pending jobs in the Job list. 2 Do one of the following: ■ On the toolbar, click ■ Choose Suspend from the Jobs menu. ■ Right-click a highlighted job name in the Job list to display a pop-up menu, and then choose Suspend. If necessary, use (Suspend). (Refresh) to view the new queue status. To activate a suspended job: 1 Select the suspended job (denoted by a gray movie-frame icon). The Activate button on the toolbar becomes active. 2 Click (Activate), or use the menu bar or right-click menu. The job becomes either Started or pending in the queue (Active), depending on whether or not another job is currently rendering. The Queue Monitor Application | 7457 Interface The Queue Monitor user interface comprises a menu bar, a toolbar, a status display, and four windows: job list, job information, server tree view (or hierarchical list), and server list. Menu bar The menu bar includes these menus and functions: Manager menu Use to control aspects of the Queue Monitor and the network Manager. Connect Connects to a Manager using the Connect To Manager dialog. In the dialog, turn on Auto Search to search for a Manager using the specified subnet mask, or turn off Auto Search to search for a Manager using a specific Manager name or IP address. Click OK to perform the search, or Cancel to exit without connecting. If the Manager is found, current Servers and jobs appear in their respective lists in the Queue Monitor. If the Manager cannot be found, an alert appears. Disconnect Disconnects from the current Manager. Available only after a connection is made. 7458 | Chapter 18 Rendering Auto-Connect When this switch is turned on, you can automatically connect to a manager without the Connect To Manager dialog appearing. Whatever setting have been made in the Connect To Manager dialog will be used. Request Queue Control Lets you gain control over the rendering queue. Available only when Queue Monitor is running on two or more machines in the network, and your copy was not the first one run. When you request queue control, a dialog appears on the controlling machine informing that user of the request. The dialog counts down 10 seconds, and if no response is made during that time, or the OK button is clicked, control transfers to the requesting Queue Monitor, which then informs the requestor of the transfer. If the request is denied, the requesting user is informed of that fact. Request Client List Displays a dialog listing the rendering servers on the network, and showing which is the controller (i.e., the active Queue Monitor) and the user name. Use this to determine which server is currently controlling the queue. Auto-Refresh When on, Queue Monitor automatically updates the information in its windows every 20 seconds, or whenever information changes if information changes less frequently. When off, to update the windows you must click the toolbar Refresh button on page 7462. Default=on. Unless you are the only person managing the queue, we recommend leaving Auto-Refresh on. The danger of turning it off is the possibility of getting out of sync with the state of the queue. For instance, if another person deletes a job and you decide to edit that job, when you finish editing that job, the Manager will send you an error message saying the job no longer exists. Module Info Report Choosing this command opens the Module Info Report dialog on page 7466. For troubleshooting purposes, this command lets you generate a delimited file that shows you the version and location of Backburner plug-ins and the Backburner application itself for each network rendering system. Properties Opens a window that displays information about the current setup of the machine that is running the network Manager, including job and server statistics, the Manager's system configuration, and TCP/IP statistics. Exit Quits the Queue Monitor program. Jobs menu Use to obtain information about rendering jobs. Most Jobs menu functions are available only when at least one job is highlighted in the Job list, and many require that only one job be highlighted. The Queue Monitor Application | 7459 These commands are also available by right-clicking a job in the job list. Edit Settings Opens the Job Settings dialog on page 7468, with settings for job-related functions such as frame range and output size. Change Priority Opens the Change Job Priority dialog, which lets you set a new priority or set the job to be critical. If you change a job's priority so that a different job moves to the beginning of the list, the Queue Monitor pauses the current job and begins rendering the newly elevated job. Clone Job Makes an identical copy of the highlighted job and adds it to the end of the list. Dependencies Opens the Job Dependencies dialog on page 7424, which you can use to specify existing jobs that must finish before the current job can start. Report Opens the Job Report dialog on page 7474 for generating text files containing job reports. Column Chooser Opens the Job Columns dialog, with additional columns you can drag into the Job list title row. As you drag a column over the title row, arrows appear indicating where the column will be inserted. To remove a column, right-click its title and then choose Remove This Column. You cannot remove the Job or Order column. Activate Starts a suspended job or jobs. Suspend Pauses an active job or jobs. Restart Job Starts a job over at the first frame set in Job Settings. Archive Job Archives a job currently stored in the queue. Archived jobs are removed from the Job queue and stored in the Job Archives. Job Archives Accesses the Job Archives where jobs are stored after clicking the Archive Jobs command or if they're assigned to automatically archive upon completion. Choosing this command opens the Job Archive dialog on page 7475 where you can choose to Delete, Activate or Refresh jobs. Delete Removes the highlighted job or jobs from the queue. Servers menu Use to control and obtain information about job servers. These commands are also available by right-clicking a server in the server list. 7460 | Chapter 18 Rendering Assign to Selected Jobs Assigns the highlighted servers or servers to the highlighted job or jobs. Remove from Selected Jobs Removes the highlighted job or jobs from the highlighted servers or servers. Remove from Selected Group Removes the highlighted server or servers from the highlighted group in the tree view. Column Chooser Opens the Server Columns dialog, with additional columns you can drag into the Server list title row. As you drag a column over the title row, arrows appear indicating where the column will be inserted. To remove a column, right-click its title and then choose Remove This Column. You cannot remove the Job or the Order column. Week Schedule Opens the Week Schedule dialog on page 7479 for the highlighted server, for defining when the server is available to render jobs. Delete Server Lets you remove the current server from the server list, making it unavailable for rendering jobs. Properties Opens a window that displays information about the current setup of the machine that is running the network Manager, including job and server statistics, the Manager's system configuration, and TCP/IP statistics. Reset Server Index Lets you set the Performance parameter back to 0. Use this if you've changed the server setup (for instance, you've added memory or substituted a faster machine) and want to reevaluate the servers' relative performance during a rendering job. View menu Toolbar Toggles display of the Queue Monitor toolbar. Status Bar Toggles display of the Queue Monitor status bar. When on, the status bar appears at the bottom of the Queue Monitor window and displays status prompts on page 7466. Save View... Saves the current window view with column and filter settings. Load View... Loads a saved view. Help menu About Queue Monitor Displays information about the Queue Monitor program, including version and copyright. The Queue Monitor Application | 7461 Toolbar Contains buttons for performing various common Queue Monitor functions. Connect See Connect on page 7458. Disconnect See Disconnect on page 7458. Refresh Forces the Queue Monitor to update the information shown in its windows. The Queue Monitor automatically refreshes the windows every 10 seconds when information is changing. Delete Removes the highlighted job or jobs from the queue. Activate Starts a suspended job or jobs. Suspend Pauses an active job or jobs. Assign Server Assigns the highlighted servers or servers to the highlighted job or jobs. Remove Server Removes the highlighted job or jobs from the highlighted servers or servers. Job List The Job List window lists all current jobs, along with progress and status. Additionally, a status icon before each job's name provides a graphical indication of its status. See Viewing Jobs and Servers with the Queue Monitor on page 7473. Right-click a job name to access the Jobs menu on page 7459. 7462 | Chapter 18 Rendering Click a column title to sort the list by the column contents (alternating clicks sort in ascending and descending order). Right-click a column title to access a menu that lets you sort the column, specify its alignment, remove the column (if it's optional), access the Column Chooser for adding optional columns, and display only the default columns. Job Information Window The Job Information window contains tabs for viewing information about different aspects of a single highlighted job in the Job List window. If no job is highlighted or multiple jobs are highlighted, this window is blank. You can sort and filter columns in the Job Information Window. Click in the column you wish to filter and select the Column Filter options. Job Summary Lists important job-related information, including Job Options settings and Output settings. Task Summary Lists frames in the job (under “Task ID”), along with each frame's status, rendering time, rendering server, and date and time of assignment. Right-click the frame you wish to view under “Task ID” to view its output file. This is available only for completed tasks. Job Details Lists the job's rendering parameters, scene statistics, and gamma settings. Errors Lists each frame for which an error occurred, which server registered the error, and a description of the error, including missing maps, missing texture coordinates, and invalid output directories. The Queue Monitor Application | 7463 Server Tree View This window presents a hierarchical list of all Server groups, lets you create, delete, and rename global and local Server groups, and see which Servers can render your job. Server groups are logical combinations of Servers that you can use to easily assign specific Servers to render a job. Global groups are available to all machines in the rendering network, while local groups are available only on the computer on which they are created. To create a global or local Server group, right-click any item in the Server Tree view, and choose Create Global Group or Create Local Group. After you choose either command, the new group appears in its respective category with the name New Global/Local Group; at this point, you can rename it by typing a new name. After you define a group, its name shows up as a tab in the Server list in the Network Job Assignment dialog on page 7415. Only global groups appear on machines other than the one on which they're created. To remove a Server group, right-click its name in the Server Tree view and choose Delete Group. To rename a Server group, right-click its name in the Server Tree view, choose Rename Group, and then enter a new name. Following is a list of default list entries in the view. Click the item for the described result. All Servers Shows all Servers assigned to the current manager. Global Groups Click the + icon next to this entry, if it exists, to display global Server groups. To see the Servers in a global group, click the group name. Local Groups Click the + icon next to this entry, if it exists, to display local Server groups. To see the Servers in a local group, click the group name. Plugins Shows which applications can be controlled with the render network. Click the + icon next to this entry, if it exists, to display applications available on the render network. To see the Servers that have a particular rendering application installed, click the renderer name. Server List The Server List window shows all Servers in the current group (selected in the Server Tree view). For each listed server, the windows displays, by default, its status, the job it's currently rendering (if any), and the last message it sent to the Manager. Additional, optional details can be shown using the Column Chooser command. 7464 | Chapter 18 Rendering Click a column title to sort the list by the column contents (alternating clicks sort in ascending and descending order). Right-click a column title to access a menu that lets you sort the column, specify its alignment, remove the column (if it's optional), access the Column Chooser for adding optional columns, and display only the default columns. You can sort and filter columns in the Server List Window. Click in the column you wish to filter and select the Column Filter options. A status icon before each server's name provides a graphical indication of its status. See Viewing Jobs and Servers with the Queue Monitor on page 7473. Right-click a server name to access the Servers menu on page 7460. The Queue Monitor Application | 7465 Status Prompt Visible at the bottom of the Queue Monitor window, the status prompt provides a non-interactive display of activity in the Queue Monitor and provides help information on the command over which the mouse cursor is positioned. Module Info Report Dialog Windows Start menu ➤ Programs ➤ Autodesk ➤ Backburner ➤ Monitor ➤ Highlight a job. ➤ Jobs menu ➤ Report You can generate delimited ASCII reports containing detailed statistics about the version and location of Backburner plug-ins and the Backburner application itself for each network rendering system. 7466 | Chapter 18 Rendering Interface Header group Specifies the type of header to include in the report file, in addition to the body information. Long Adds a heading to the report. Short Includes only the column titles in the report. Record Delimitation group Specifies the type of delimiter used between the fields. For example, if you use a tab delimiter, the report will import correctly into Microsoft's Excel or Access applications. Tab Inserts a tab between fields in the report. Space Inserts a space between fields in the report. Comma Inserts a comma between fields in the report. Use Quotes Brackets each field with double quotes. Output File group (Text Field) Specifies the report's file name. You can specify a complete path, if you want. By default, the path is the directory containing the monitor.exe file. The Queue Monitor Application | 7467 TIP If you use a shortcut icon to launch Queue Monitor, you can specify the path for your report's output file in the Start In field in the Properties dialog for the shortcut. Browse Displays a file selector where you can specify a file path for the report. Queue Monitor: Job Settings Dialog Windows Start menu ➤ Programs ➤ Autodesk ➤ Backburner ➤ Monitor ➤ Highlight a job. ➤ Jobs menu ➤ Edit Settings Windows Start menu ➤ Programs ➤ Autodesk ➤ Backburner ➤ Monitor ➤ Highlight a job. ➤ right-click menu ➤ Edit Settings NOTE This topic covers the 3ds Max-specific aspects of the Queue Monitor on page 7455. Use the Job Settings dialog to change job-related settings such as frame range, output size, and output directory, without having to use the Render Setup dialog and resubmit the job. You can change job settings for a job while it's suspended or while it's rendering. By default in either case, after you click OK to exit the dialog, the rendering job restarts from the first frame. You can turn this feature off with the Restart Job option. Most settings are either toggle switches or editable from the keyboard. To change a toggle setting, double-click its entry (in the right-hand column). If a setting is editable, its value turns green when you click it. To change an editable setting, click it to get the keyboard cursor, and then enter a new value from the keyboard. If you double-click the value when it's green, it highlights, and anything you type replaces it. NOTE Your machine must have control of the network for this Job Settings Dialog to be accessible. 7468 | Chapter 18 Rendering Interface The Queue Monitor Application | 7469 Job Name group The job name cannot be changed from this dialog. Job Description Displays a brief description of the job. Editable from keyboard. Restart Job When on (Yes), changing one or more job settings in the middle of a rendering job causes the job to restart at the first frame in the range, so all frames are rendered with the same settings. When off (No), the job continues rendering without restarting. Toggled by double-clicking the entry. Default=No. You might want to turn this off if you're rendering an animation test and change a relatively minor setting, such as Video Color Check, in the middle of a job. For final renderings, you should always restart a job from the beginning after changing job settings. Override Global Blocking Tasks This setting corresponds with the Override Global Settings as set in the Advanced Setting dialog on page 7431. Default=Yes. Enable Blocking Tasks A Yes/No toggle that controls task blocking as set in the Advanced Setting dialog. When set to Yes, the task blocking set in the Manager General Properties dialog is active. Toggled by double-clicking the entry. Default=Yes. Use All Available Servers Uses all servers in the active Server group for rendering the job. [program name] General Settings group Frame Sequence This toggle setting alternates between Frames and Range, and, by default, uses the Range and Frames settings in the Render Setup dialog on page 6956. When set to Range, the job uses the First/Last Frame and Every Nth settings; when set to Frames, the job uses the Frames setting. Toggled by double-clicking the entry. Default=Range. First Frame Displays the first frame in the range to be rendered. Defaults to the first frame as submitted. Editable from keyboard. Last Frame Displays the last frame in the range to be rendered. Defaults to the last frame as submitted. Editable from keyboard. Every Nth Regular sample of frames. For example, enter 8 to render every 8th frame. Editable from keyboard. Frames Non-sequential frames separated by commas (for example, 2,5) or ranges of frames separated by hyphens (for example, 0-5). Editable from keyboard. 7470 | Chapter 18 Rendering Width/Height Lets you set the resolution of the output image by specifying the width and the height of the image, in pixels. Defaults to the output size as submitted. Editable from keyboard. Render Options group These settings are the same as those found on the Render Setup dialog ➤ Options group on page 7026, with several additions: Skip Existing Frames When on, the Queue Monitor checks the output path for existing rendered frames, and doesn't render them again. When off, starting or restarting a job always begins rendering with the first frame, overwriting any existing frames. Toggled by double-clicking the entry. Default=No. Display RFW Displays the Rendered Frame Window on all servers during rendering. Toggled by double-clicking the entry. Default=Yes. Gamma Correction When enabled, lets you defines a new gamma for the bitmap, using the Input/Output Gamma settings. Toggled by double-clicking the entry. Default=Disabled. Input/Output Gamma Change system input and output gamma settings for processing bitmaps. See Gamma Preferences Settings on page 8917 ➤ Bitmap Files group. Editable from keyboard. Pixel Aspect Ratio Sets the shape of the pixels for display on another device. The image may look squashed on your display but will display correctly on the device with differently shaped pixels. Editable from keyboard. Render Elements When enabled, renders any render elements on page 7280 in the scene. Toggled by double-clicking the entry. Default=Enabled. Video Color Check Checks for pixel colors that are beyond the safe NTSC or PAL threshold. Toggled by double-clicking the entry. Default=No. Two Sided 2-Sided rendering renders both sides of all faces. Toggled by double-clicking the entry. Default=No. Render Hidden Renders all geometric objects in the scene, even if they are hidden. Toggled by double-clicking the entry. Default=No. Render Atmosphere Renders any applied atmospheric effects, such as volume fog, when set to Yes. Toggled by double-clicking the entry. Default=Yes. Super Black Limits the darkness of rendered geometry for video compositing. Toggled by double-clicking the entry. Default=No. The Queue Monitor Application | 7471 Dither 256 Intersperses pixels when rendering to an eight-bit image format for a greater apparent color range. Toggled by double-clicking the entry. Default=Yes. Dither True Color Intersperses pixels when rendering to a 24-bit (or higher) image format for a greater apparent color range. Toggled by double-clicking the entry. Default=Yes. Render Fields Renders to video fields rather than frames when creating animations for video. Toggled by double-clicking the entry. Default=No. Displacements Any displacement mapping is rendered. Toggled by double-clicking the entry. Default=Yes. Scene Effects Any applied rendering effects, such as Blur, are rendered when turned set to Yes. Toggled by double-clicking the entry. Default=Yes. Multithread Causes the Queue Monitor to treat the rendering task as separate threads. This option works with multiprocessor systems. Toggled by double-clicking the entry. Default=Yes. Field Order Selects the field on page 9154 order of rendered images when the Render Fields option is turned on. Default=Odd. Some video devices require that the even field be first, other video devices require that the odd field be first. Determine the correct field order for your video device. If the video output of your device is strobing or appears jittery, it may be due to incorrect field order. Try changing this parameter and re-rendering your animation. Alternate Paths group Comparable to setting the alternate paths in the Network Job Assignment dialog on page 7415. Alt Bitmap Path Lets you enter an alternate path where the servers search for bitmaps. Editable from keyboard. Alt XRef Path Lets you enter an alternate path where the servers search for XRefs. Editable from keyboard. Timeouts group These settings are covered in Advanced Settings Dialog on page 7431. Notifications group These settings are covered in Notifications Dialog on page 7426. 7472 | Chapter 18 Rendering Viewing Jobs and Servers with the Queue Monitor All rendering jobs submitted to the network rendering queue are shown in the Job list window, located on the upper-left side of the Queue Monitor dialog, immediately below the toolbar. Below it is the Server list window, which shows all servers attached to the manager and their status. Interface Each job is denoted by an icon reflecting its current status. The servers are also denoted by specific icons that reflect their current status. Job Icons Job is started and has rendered one or more frames. The job is either currently rendering or is awaiting an available server. Job is active, but has not yet rendered any frames. Job is suspended. The job was submitted as suspended or was suspended with the Queue Monitor. Suspended jobs must be manually reactivated to give them a started or active status. Job is in an error condition. In the Queue Monitor, check the Errors tab in job information window, to the right of the jobs list, for details regarding the error, such as missing bitmaps, plug-ins, texture coordinates. See Troubleshooting on page 7390. Job is completed. All frames in the sequence have been rendered successfully. You may delete this job from the queue if you want. Server Icons A bar through the server icon indicates that it's assigned to the currently highlighted job or jobs. Server is active. The server is rendering the current started job. The Queue Monitor Application | 7473 Server is absent. The server is assigned to the rendering task but is not currently rendering. This can occur, for example, when the server is turned off or is not running the Server application. Server is in an error condition. Check the Server list Job Status column in the Queue Monitor for details regarding the error, such as missing bitmaps, plug-ins, texture coordinates. See Troubleshooting on page 7390. Server is idle. The server can be assigned the highlighted job with the toolbar Assign Server button. Job Report Dialog Windows Start menu ➤ Programs ➤ Autodesk ➤ Backburner ➤ Monitor ➤ Highlight a job. ➤ Jobs menu ➤ Report You can generate ASCII reports containing detailed statistics about a particular job selected in the Job Queue list. See also: ■ Week Schedule Dialog on page 7479 Interface 7474 | Chapter 18 Rendering Header group Specifies the type of header to include in the report file, in addition to the body information. Long Includes information above the body of information, including Job Name, Submitted by, Frame Start/End, Output Width/Height, Pixel Aspect Ratio, and Image Aspect Ratio. Short Includes only the column titles in the report. Record Delimitation group Specifies the type of delimiter used between the fields. For example, if you use a tab delimiter, the report will import correctly into Microsoft's Excel or Access applications. Tab Inserts a tab between fields in the report. Space Inserts a space between fields in the report. Comma Inserts a comma between fields in the report. Use Quotes Brackets each field with double quotes. Output File group (Text Field) Specifies the report's file name. You can specify a complete path, if you want. By default, the path is the directory containing the monitor.exe file. TIP If you use a shortcut icon to launch Queue Monitor, you can specify the path for your report's output file in the Start In field in the Properties dialog for the shortcut. Browse Displays a file selector where you can specify a file path for the report. Job Archives Dialog Windows Start menu ➤ Programs ➤ Autodesk ➤ Backburner ➤ Monitor ➤ Highlight a job. ➤ Jobs menu ➤ Job Archives Windows Start menu ➤ Programs ➤ Autodesk ➤ Backburner ➤ Monitor ➤ Highlight a job. ➤ right-click menu ➤ Job Archives Use the Job Archives dialog to delete, activate and refresh jobs that have been archived. Jobs are placed here when you select a job from the Job list on the The Queue Monitor Application | 7475 Queue Monitor and click the Archive Job command. This brings up the Backburner Job Archives dialog Jobs are also placed in the Job Archives if you set them to automatically archive when the rendering is completed. Interface This dialog consists of a toolbar and list of archived jobs. Toolbar The Job Archives toolbar has three commands. Delete Deletes a selected job from the archive. You are warned and must accept confirmation before the deletion to occurs. This button is active only when a job is selected. Activate When you select a job from the list, you can click the Activate button. When a job is activated, it is removed from the Job Archives and placed back in the Job list in the Queue Monitor on page 7455. Then you can choose to Edit Settings on page 7468 and restart the job. Refresh Forces the Job Archives dialog to update the information shown in the job list Job List The Job List shows the Job Name, Owner, Description, Type (render plugin), original Submission date, and Completion date. Unlike other lists in the Queue Monitor, you cannot add or remove columns. You can make multiple selections of jobs by holding down either the SHIFT or CTRL keys. 7476 | Chapter 18 Rendering Activating and Deactivating Jobs in the Queue As requirements change, you can deactivate an active or pending job in the rendering queue, or reverse the process and restart jobs that are inactive. When you deactivate a job, the servers assigned to the job either drop the frame they are rendering or finish writing the frame, depending on where they are in the rendering process. The next pending job becomes active and begins to render. You can reactivate a suspended job, or a job that was submitted as Initially Suspended from the Network Job Assignment dialog. Procedures To deactivate a job: 1 Select a started or active job in the Job list. 2 Do one of the following: ■ Click the Suspend button on the toolbar (the red light-bulb icon). ■ Choose Jobs menu ➤ Suspend. ■ Right-click the job name to display a pop-up menu, and then choose Suspend. If necessary, click the toolbar Refresh button to view the new queue status. To activate a suspended job: 1 Select the inactive job (denoted by a gray box). The Activate button on the toolbar becomes active. 2 Click Activate, or use the menu bar or right-click menu. The job becomes either started or active in the queue, depending on whether or not another job is currently rendering and whether or not any of the job's frames have already rendered. Activating and Deactivating Servers in the Queue When prioritizing jobs and dividing up the network render load, you might need to pull individual servers off one job and place them on another. The Queue Monitor Application | 7477 When you remove a server from the current rendering job, and the server is assigned to another started or active job, it is used by that job. If the server has no further job assignments, it stops rendering. You can assign machines that become available for network rendering to any job. You can tell whether a server is assigned to a particular job by highlighting the job in the Queue Monitor ➤ Job list and looking at the server's icon in the Server list. If a horizontal bar appears through the server icon, then it is assigned to the job; if no bar appears, then it isn't assigned to the job. Alternatively, just highlight the job and then click Selected Job in the Server Tree view, to list only servers assigned to that job. Next Step Managing Jobs in the Queue on page 7478 Procedures To remove a server or servers from the highlighted rendering job or jobs: ■ Highlight the server in the Server list and click the Remove Server icon on the toolbar. To assign an unassigned server or servers to highlighted rendering job(s), do one of the following: 1 Highlight the unassigned server(s) in the servers list and choose Assign To Selected Jobs from the Servers menu. 2 Right-click the server name in the queue list to display the pop-up menu and choose Assign To Selected Jobs. Managing Jobs in the Queue Reordering lets you change the job order in the queue to meet changing deadlines or priorities. You can delete jobs from the queue at any time. Procedures To re-order a job in the queue: 1 In the Job list window of the Queue Monitor, right-click the job to move. 7478 | Chapter 18 Rendering 2 Choose Change Priority, and use the Change Job Priority dialog to set a new Priority value. NOTE You can reorder multiple jobs at the same time. They will end up with the same priority. To delete a single job from the job queue, do one of the following: 1 Highlight the job and then click Delete on the toolbar. 2 Use the right-click menu ➤ Delete command. You can delete multiple jobs by first highlighting the jobs by using the CTRL or SHIFT keys and then clicking the Delete button or Jobs menu ➤ Delete. Week Schedule Dialog Queue Monitor ➤ Highlight a Server and right-click. ➤ Week Schedule Queue Monitor ➤ Highlight a Server. ➤ Servers menu ➤ Week Schedule By default, all servers are available at all times. Using the Queue Monitor's Week Schedule feature, you can arrange the hours during which each server is available for network rendering. You can specify certain hours for any day of the week. This is useful, for example, if the server is used as a modeling workstation during normal business hours and you do not want it being used as a network render server during this time. The Queue Monitor Application | 7479 Procedures To schedule a set of active hours for a server or servers: 1 In Queue Monitor's Server list, right-click a Server and choose Week Schedule, or select one or more Servers and choose Servers menu ➤ Week Schedule. 2 In the dialog that appears, select a time using one of the following methods: ■ Select a one-hour block for network rendering by clicking one of the top buttons. ■ Select an entire day by clicking a side button. ■ Select the entire week by clicking the large top-left button. The selection is shown in white. 3 Click the Allow button. The selection is shown in green. (By default, all hours are allowed). 4 To apply the time selection to the selected Server, click OK. To schedule hours when servers are unavailable: 1 In Queue Monitor's Server list, right-click a Server and choose Week Schedule, or select a Server and choose Servers menu ➤ Week Schedule. 7480 | Chapter 18 Rendering 2 In the dialog that appears, select a time using one of the following methods: ■ Select a one-hour block for network rendering by clicking one of the top buttons. ■ Select an entire day by clicking a side button. ■ Select the entire week by clicking the large top-left button. The selection is shown in white. 3 Click the Disallow button. The selection is shown in red. 4 To apply the time selection to the selected Server, click OK. Batch Rendering “Batch rendering” is a term used to describe the process of rendering a series of tasks or jobs that have been assigned to a queue. Batch rendering is useful when you need to render images without supervision or when you want to render a number of test studies showing different day or night lighting, or for producing shadow studies of various sun angles. Batch rendering can also be used when you want to see how your project looks from different camera viewpoints. Several methods for setting up batch rendering are available in 3ds Max. These methods entail using the Batch Render tool on page 7485 or network rendering on page 7368 with Backburner, or a combination of the two. The three available methods for setting up batch rendering are as follows: ■ Build a queue of camera tasks that are managed by the Batch Render tool. If you have a MAX file that contains one or more cameras and saved scene states on page 8495, you can set up a camera queue to render different camera viewpoints. Each camera can be set to automatically load a scene state to give you several visualizations of your model. ■ Set up a series of jobs as network rendering assignments to be coordinated by Backburner. If you have a number of separate scenes that are part of a single project or part of several projects, use network rendering even if you're rendering to a single computer. Use this method also if you have scenes that don't have a camera set up and you want to render a Perspective, Front, Left or Right viewport view. Batch Rendering | 7481 ■ Use the Batch Render tool to set up a queue of camera tasks to render different views and pass them to Backburner for rendering management. Quick Start Batch Rendering This topic provides bare-bone steps on how to set up and use the Backburner Manager and Server utilities to perform batch rendering. If your system is already properly configured for TCP/IP protocols (for example, your computer has an internet connection), information in this topic will help you get started with batch rendering in a few basic steps. Procedures To render in batch mode: You need Windows XP (Home or Professional) Service Pack 1 (or higher) or Windows 2000 Service Pack 4. NOTE Backburner rendering is not supported under Windows 95, 98 or ME. 1 Run the Backburner Manager and Server applications from the Start menu, in the same program group as 3ds Max. 2 Start 3ds Max, and load the first scene you want to batch render. 3 Open the Render Setup dialog and adjust the various rendering parameters for the way you want to render the scene, including active viewport, file output, etc. 4 Turn on Net Render in the Render Output group, and then click Render. 5 In the resulting Network Job Assignment dialog on page 7415, click the Connect button. 6 Click the Submit button. NOTE Each job should have a unique output file name and/or path to avoid overwriting output files. If you get an alert dialog that says, "Another job is using the same output name…," you can click the No button, click Cancel to exit the Network Job Assignment dialog, and then change the output name and/or path. Otherwise, you can click the Yes button and let the job overwrite the frames from the other job in the queue. 7482 | Chapter 18 Rendering 7 Load the next scene you want rendered, and then repeat steps 4 through 7. Once you’ve submitted all rendering jobs, you can exit 3ds Max, if you want. If power is lost before all jobs are rendered (either by accident or by intentional powering down of your computer), when you restart the Backburner Manager and Server programs, the rendering process will resume where it left off. Using Backburner for Batch Rendering Using Backburner for batch rendering is a simple matter of starting 3ds Max, running the Backburner Manager and Server programs, specifying the scenes you want rendered, and then proceeding with the rendering. In this case, Backburner coordinates a series of rendering tasks that are network rendered on a single computer. The process is very similar to rendering over a network. With network rendering, the scenes you submit to the rendering queue are called 'jobs'. The following steps show how to submit multiple jobs to the rendering queue. Your system has to be properly configured in the TCP/IP protocol (see “TCP/IP Settings” in the Autodesk Backburner Installation Guide) to perform Backburner batch rendering. If you do not have a network card or if you are not connected to the internet, then you may need to configure TCP/IP with the Microsoft Loop Back Adapter. NOTE Batch rendering by means of Backburner differs from batch rendering with the Batch Render tool on page 7485. However, you can use the Batch Render tool to create a queue of rendering tasks and then pass the tasks to Backburner to coordinate the rendering process. Network Files When Backburner Manager begins a job, a series of files are created in the \network\jobs folder of your Backburner folder. Among other things, this means that you can shut down your computer completely (either on purpose or by accidental power failure), and when you next start Backburner Manager and Server, they’ll pick up where they left off and continue with your rendering queue. Using Backburner for Batch Rendering | 7483 NOTE The exception to the above rule is when rendering multiframe file formats, such as AVI and MOV. Due to limitations in these file formats, if you stop in the middle of rendering one of these files, when you begin rendering again, the entire file will have to be rendered from the beginning. Procedures To batch render several jobs: 1 Start 3ds Max. 2 Start Backburner Manager. The Backburner Manager window appears. Its window displays the words: “Starting Network Manager.” 3 Start Backburner Server. The Backburner Server window appears. Its window displays the words: “Starting Backburner Server,” followed by additional startup messages. 4 In 3ds Max, load the first scene you want rendered. 5 Activate the viewport you want rendered, and click the Render Setup button on the toolbar. 6 Set up the various rendering parameters as you would if you were rendering only this scene. 7 In the Render Output group, turn on Net Render. 8 Click Render. To assign network jobs: At this point, the Network Job Assignment dialog on page 7415 appears. Its main purpose is submit the current job to the Backburner Manager with all its render settings, including job name and net rendering specifics. The Backburner Manager then takes over and begins the rendering process. 1 In the Job Name field, either accept the default name (the name of the scene), or specify a new one. 2 Click the Connect button to connect 3ds Max to the Manager. After a moment, your TCP/IP address appears in the field over the window, and the Server appears in the window. 3 Click the server in the window so that its icon displays a green circle with an arrow through it. 7484 | Chapter 18 Rendering 4 Click the Submit button. NOTE Each job should have a unique output file name and/or path to avoid overwriting output files. If you get an alert dialog that says, "Another job is using the same output name…," you can click the No button, click Cancel to exit the Network Job Assignment dialog, and then change the output name and/or path. Otherwise, you can click the Yes button and let the job overwrite the frames from the other job in the queue. 5 The Job Assignment dialog goes away, and the rendering begins. The Manager reports: “Job (job name) submitted.” The Server reports that it has received the job, and then begins reporting each frame it’s completed. 6 At this point, you can open the next scene to be rendered, and then repeat the steps, beginning with step 4 in the previous procedure. Once you’ve submitted the jobs you want rendered, you can exit 3ds Max (do not shut down the Backburner Manager or Server), or you can begin working on a new scene, or editing an old scene. Keep in mind, however, that your processor is spending most of its time working on rendering, so your computer will slower than usual. If you need to monitor the batch render processes, you can use the Backburner monitor for that purpose. (See “Understanding the Backburner Monitor” in the Autodesk Backburner User’s Guide.) Batch Rendering: Batch Render Dialog Rendering menu ➤ Batch Render The Batch Render tool offers you an efficient, visual approach to setting up a sequence of different tasks or scene states to render automatically. From the Batch Render dialog, you control the following: ■ Image resolution, pixel aspect ratio or time sequence if it differs from the default rendering settings found on the Render Setup dialog on page 6956. ■ Whether to render a specific camera view or the active viewport. ■ Which camera view to render. ■ The output path where rendered images get stored. ■ Which scene state on page 8495 is restored prior to rendering. Batch Rendering: Batch Render Dialog | 7485 ■ Which rendering preset on page 7013 is used per rendered view. ■ Whether all the batch rendering tasks should be sent to Backburner for network rendering on page 7368 by multiple systems for even faster rendering. ■ Exporting the batch rendering tasks and all parameters set in the Batch Render dialog to a BAT file for later command line rendering on page 7495. NOTE The Batch Rendering dialog is for rendering different aspects of the same scene, such as views from different cameras. To batch-render a number of different scenes, use Backburner on page 7483 or command-line rendering on page 7495. Batch Render Completed If a problem is encountered by the Batch Renderer, you will be notified by means of the Batch Render Completed dialog. This is an error dialog that appears and notifies you about which batch renders did not complete and, if possible, provides a description of why the failure occurred. If the cause of the error cannot be identified, then the error entry will simply state Failed. The most common causes for failure are: ■ Missing texture maps for materials that are assigned to objects in the scene. This shows up as Failed. Missing External File. Once the texture map is found or map paths are properly set, this error will not occur. ■ Missing UVW coordinates for objects that have texture mapped materials assigned to them. This is reported as Failed. Missing Map Coordinates on Object and can be alleviated by making sure new objects are created with the 7486 | Chapter 18 Rendering Generate Mapping Coords switch turned on and by assigning a UVW Map modifier to the object that is not displaying its texture mapping. Procedures To use the Batch Render tool: 1 Open or create a MAX scene. 2 Choose Rendering menu ➤ Batch Render. The Batch Render dialog opens. 3 On the Batch Render dialog, click the Add button. This adds your first rendering task to the batch render queue. By default, the Camera parameter is set to Viewport, which means that the task will render the active viewport. To change to a set view, make sure the scene contains at least one camera, and then choose the camera view to render from the Camera drop-down list on page 7492. 4 Review the Selected Batch Render Parameters settings and, if necessary, turn on Override Preset and then change the Frame Start, Frame End, Width, Height, and Pixel Aspect settings. 5 Click the Output Path button to set a drive location, file name and file format for the rendered image. 6 If you've saved any scene states with the model, you can choose which one is loaded during the rendering operation by opening the Scene State drop list. 7 Repeat steps 3 through 6 to continue adding rendering tasks to the batch render queue, as necessary. 8 When all your tasks are set, click the Render button. To use the Batch Render tool with Backburner: Before attempting to use the Batch Render tool with Backburner for network rendering, make sure the Backburner Manager is running on your managing workstation and that Backburner Server is running on all the other workstations that will receive the rendering assignments. For more information on setting up Backburner Network Rendering, refer to Network Rendering on page 7368. 1 Set up a series of rendering tasks in the Batch Render queue as documented in the previous procedure. Batch Rendering: Batch Render Dialog | 7487 2 Turn on Net Render and then click the Render button. The Network Job Assignment dialog opens. 3 Enter a subnet mask, or, with Automatic Search off, enter the Manager name or IP address, and then click Connect. The available rendering servers show up in the list on the right side of the Network Job Assignment dialog. 4 Click the Submit button to send all the Batch Render camera tasks to Backburner for network rendering to all the workstations that are running Backburner Server. If you are running the Backburner Queue Monitor, you'll see all the camera tasks listed as rendering jobs in the Job section of the Queue Monitor. 7488 | Chapter 18 Rendering Interface Add Adds a new rendering task to the queue, using the default settings. By default, a new task is set to render the active viewport. To set it to render a particular camera, choose the camera from the Camera drop-down list on page 7492. Duplicate Adds a copy of the highlighted rendering task to the queue. All rendering parameters that were part of the original task are duplicated for the new task. Delete Deletes the highlighted rendering task. No warning appears to confirm deletion and you cannot undo a deletion. Batch Rendering: Batch Render Dialog | 7489 [Task Queue] This is a listing of all the camera tasks that have been chosen for batch rendering. The task queue consists of eight columns that show all the parameters that have been set for a particular camera task. You can control which tasks are rendered by toggling the check boxes in the list. Selected Batch Render Parameter group By default, any tasks you've designated for batch rendering use the current Time Output and Output Size parameters from the Render Setup dialog on page 6956. For example, if the Output Size settings on the Render Setup dialog shows that you have a Time Output settings of Single and an of 800 width and 600 height, when you add a camera, its Selected Batch Render Parameters will mimic those settings. Likewise, if the Render Setup dialog has a Time Output set to Range and frame 0 to 25, the Frame Start and Frame End settings on the Batch Render dialog will default to those Time Output settings. This group gives you access to changing those default parameters. Override Preset When on, you can override any of the default settings for the highlighted task via the Frame Start, Frame End, Width, Height, and Pixel Aspect settings. Default=off. Frame Start The first frame to be rendered for the highlighted task. The default setting for this parameter matches the Time Output group settings on the Common panel of the Render Setup dialog. Frame End The last frame to be rendered for the highlighted task. Its default state also matches the Time Output group settings on the Common panel of the Render Setup dialog. The default Frame Start and Frame End parameters correspond to the Render Setup dialog parameters as follows: Render Setup dialog >Time Output Batch Render dialog Frame Start/End Single Defaults to the frame set by the time slider. Active Time Segment Defaults to 0 (zero) and the last frame of the anim- 7490 | Chapter 18 Rendering Render Setup dialog >Time Output Batch Render dialog Frame Start/End ation as set in the Time Configuration dialog on page 8696. Range Defaults to the range of frames specified, such as 0 (zero) To 14 or 6 To 11. The Frame Start and End settings also conform to the current time configuration format; i.e. Frames, SMPTE, Frame:Ticks, or MM:SS:Ticks. Width Allows you to specify a new image width setting if Override Preset is on. If Override Preset is off, this value matches the width set on the Render Setup dialog. Height Allows you to specify a new image height setting if the Override Preset is on. If Override Preset is off, this value matches the height set on the Render Setup dialog. Pixel Aspect Sets the aspect ratio of the pixels for display on another device. The image might look squashed on your display but will display correctly on the device with differently shaped pixels. By default, this mimics the value set on the Render Setup dialog. Name Lets you change the default name of the highlighted task. The default naming structure for camera tasks uses “View” plus an incremented view number, such as View01 or View02. If you want, you can change the task's name to something more descriptive. NOTE After changing the name, you must press Enter for the change to register. NOTE If you're rendering elements on page 7269 as part of the batch, the task name is appended to each rendered element's specified file name. For example, if the task name is View01 and the render element output file name is Test_Diffuse.tga, then the batch-rendered element output becomes Test_Diffuse_View01.tga. If you're rendering an element without specifying a file name for the element, the batch renderer appends the element type to the batch output file name. For example, if the batch output file name is MyBatch.png, and you're rendering an Atmosphere element, then the element output name becomes MyBatch_Atmosphere.png. Batch Rendering: Batch Render Dialog | 7491 Output Path The ellipsis (...) button opens the Render Output File dialog on page 6979 where you can specify the output path, file name and file format for the rendered image of the selected camera task. Once set, the output path and file name appears in the output path field and the file name appears in the Output Path column of the task queue. X [Clear Output Path] Removes the output path and file name from the Output Path field and task queue. Camera This drop-down list shows any cameras in the scene. By default, a task is set to render the active viewport, as indicated by the “Viewport” entry in the Camera column of the task queue. You can use this list choose a camera from any in the scene for the highlighted task. The new camera is shown in the Camera column of the task queue. To set the highlighted task to render the active viewport, choose the dashed line (-------------------------) from the top of the drop-down list. Choose the dashed line to render the active viewport. NOTE Choosing a camera changes only the camera the task uses. It does not change the name of the task. Scene State This drop-down list displays the scene states on page 8495, if any, that you can assign to the highlighted task. If no scene state is active then current scene settings are used. Preset Lets you choose a render preset for the highlighted task. If no render preset is active and there is no override, then the current render settings are used. If you choose Load Preset from the drop-down list, the Render Presets Load dialog opens. Net Render When on, opens the Network Job Assignment dialog on page 7415 when you click the Render button. Each camera task in the Batch Render dialog is passed to the Network Job Assignment dialog as an individual rendering job instead of a single job. By default, the Network Job Assignment dialog uses the name of the MAX file as 7492 | Chapter 18 Rendering its job name, and it then appends the name of the camera task. For example, if you have a scene named Athena_High_Rise and camera tasks for three cameras, the jobs will look like this in the monitor: Athena_High_Rise Camera02 View01, Athena_High_Rise Camera01 View02, and Athena_High_Rise Camera01 View03. Export to .bat Creates a batch file for command line rendering. This button opens the Batch Render Export To Batch File dialog where you can specify a drive location and name for the batch file that is saved. Render Starts the batch rendering process or opens the Network Job Assignment dialog if Net Render is turned on. Batch Render Tool: Batch Render Warning Dialog Rendering menu ➤ Batch Render ➤ Click Render to render tasks that do not have an output path set. Rendering menu ➤ Batch Render ➤ Click Render to render tasks that could overwrite previously saved files. The Batch Render Warning dialog informs you of certain conditions you might have overlooked while assigning the rendering tasks. The dialog that displays is context-sensitive, meaning that the warning will indicate when either of these two conditions exist: ■ When you risk overwriting an existing file or if you have not specified an output path and output file name. ■ When the output path that was specified has been renamed or no longer exists. Interface Task Queue Both formats of the Batch Render Warning dialog include the Task Queue columns that are shown in the in the Batch Render dialog. The key difference is the exception of the check boxes that let you specify which cameras are use in the render. This Task Queue only shows the cameras that may overwrite a saved file, or do not have a path/file name set for output, or if they show an output path that is invalid. Batch Render Tool: Batch Render Warning Dialog | 7493 Missing Output Path/Filename or File Overwrite This version of the Batch Render Warning dialog appears if you click the Render button on the Batch Render dialog and one or more of the tasks to be rendered does not include an output path/file name. The dialog also appears if there is a chance you will overwrite a previously rendered image. OK Allows you to continue with the batch rendering tasks even though there are some tasks without an output path/file name or some files could be overwritten. Tasks without an output path/file name are not automatically saved and only appear in the Rendered Frame Window on page 6963. Cancel Cancels the batch rendering. Invalid Output Path This version of the Batch Render Warning dialog only appears if you are rendering to a file that has invalid output paths. For example, if you're rendering a client's model and they've set their own output paths. 7494 | Chapter 18 Rendering Update Path Allows you to browse to a new directory and reassign the output path for all the entries in the Task Queue. The specified output file name remains the same. NOTE If you don't want to assign the same path to all the cameras shown in the dialog, you should Cancel and set the correct paths for each camera from the Batch Render dialog. Continue Allows you to continue with the batch rendering tasks even though there are some tasks without an output path. Tasks without an output path are not automatically saved and only appear in the Rendered Frame Window on page 6963. Cancel Cancels the batch rendering. Command-Line Rendering The command-line rendering tool lets you perform batch rendering jobs without having to manipulate parameters by hand in a MAX file. Simple, “one-shot” rendering jobs can be submitted from the Start ➤ Run dialog. More elaborate, batched jobs can be rendered through the use of text files; for example, MyRender.bat or MyRender.xml. The ability to edit text files is what provides the power to this tool. You can quickly make changes to your rendering parameters, or output formats, simply by opening your text editor and editing the batch settings. Command-line rendering is provided by the 3dsmaxcmd.exe program, found in your program install folder. You can submit command-line rendering jobs that are rendered on a single workstation, or you can take advantage of network rendering on page 7368 and let the Backburner utility manage the jobs across multiple systems. The Batch Render tool on page 7485 is another way to quickly create BAT files that can be used with the command-line rendering. The Batch Render tool lets you create a queue of camera tasks with specific output parameters, rendering presets or automatic loading of scene states. Once your queue is complete, you can export the tasks to a BAT file that is stored in the \scenes folder. WARNING Command-line rendering is a professional feature and can perform destructive operations. You will not see messages or warning dialogs informing you about potential mistakes, such as overwriting an existing frame on your drive. Command-Line Rendering | 7495 See also: ■ Command-Line Rendering Switches on page 7499 Procedures To view the 3dsmaxcmd help file: The 3dsmaxcmd.exe file contains a built-in help system that you can access from a command prompt. 1 Open a command prompt window (for example, Windows Start ➤ Run ➤ enter CMD). 2 Enter the following: “c:\program files\autodesk\[program folder name]\3dsmaxcmd” -? and press Enter. The list of switches and options will scroll on to the window. To view a list of sample command lines with descriptions of what they do: The 3dsmaxcmd.exe file also has an extensive list of sample text strings that describe many of the most common scenarios you'd use command-line rendering to accomplish. 1 Open a command prompt window. 2 Enter the following: “c:\program files\autodesk\[program folder name]\3dsmaxcmd” -x and press Enter. Setting up the simplest rendering: In its simplest form, just a render command using all the settings that are stored with a scene, would look like this: 1 Open a command prompt window. 2 Enter the following: “c:\program files\autodesk\[program folder name]\3dsmaxcmd” “c:\program files\autodesk\[program folder name]\scenes\myscene.max” and press Enter. 7496 | Chapter 18 Rendering Example: Rendering to a JPG file at 800x600 resolution: Perhaps the last time you rendered your scene, you had the output resolution set to 320x240 and rendered a BMP file. Re-rendering the scene using different output settings is fast and efficient with command-line rendering. 1 Open a command prompt window. 2 Enter the following: “c:\program files\autodesk\[program folder name]\3dsmaxcmd” -outputName:“c:\program files\autodesk\[program folder name]\renderoutput\myImage.jpg” -w 800 -h 600 “c:\program files\autodesk\[program folder name]\scenes\myscene.max” and press Enter. NOTE The specified output path must already exist. If it doesn't, the image doesn't render and you get an error message. Network rendering from the command line: If you have your system networked and have access to other systems, you can take advantage of network rendering. NOTE A command-line job cannot be run on a system already running the Backburner server. 1 Open a command prompt window. 2 Enter the following: “c:\program files\autodesk\[program folder name]\3dsmaxcmd” -submit “c:\program files\autodesk\[program folder name]\scenes\myscene.max” and press Enter. Example: Rendering from a text file: Command-line rendering gives you the ability to set a series of common switches that can be quickly re-used for rendering a single job from Start ➤ Run, or for rendering a group of scenes specified in a BAT file. You can build your text file using any text editor. Command-Line Rendering | 7497 NOTE A TXT file can specify only a single scene to render. For multiple scenes, use a BAT file. 1 Open your text editor. 2 Enter your list of commands, such as: -bitmapPath=\\mapServer\maps\myMaps -cam=myCamera -width=800 -height=600 -vfb=true -frames=all -force2Sided=true 3 Once all the switches are entered, save the files as a TXT file, such as myrender.txt. 4 To render the scene, open the Windows Start ➤ Run dialog. 5 Enter the following: “c:\program files\autodesk\[program folder name]\3dsmaxcmd” @c:\myrender.txt -o=“c:\program files\autodesk\[program folder name]\renderoutput\myImage.tga” “c:\program files\autodesk\[program folder name]\scenes\myscene.max” and click OK. Using a TXT file that contains your favorite settings, in conjunction with a command line that specifies the output file format and scene of your choice, gives you the flexibility to re-use the TXT file without having to edit it each time you want to render. You can create several TXT files with settings for different stages of scene development, such as testrender.txt or finalrender.txt. Example: Rendering from a BAT file: If you want to render several scenes in a batch process, you can create a BAT file containing all the scenes and switches needed to get the results you want. Just like a text file, you can build your BAT file using any text editor. For this example, let's say you have three scenes, in various stages, and you want each rendered using different settings. 1 Open your text editor. 2 On the first line, enter the following text. This example assumes that the scene is far from finished, but that you want to test a chunk of animation. 7498 | Chapter 18 Rendering “c:\program files\autodesk\[program folder name]\3dsmaxcmd” -o=“c:\program files\autodesk\[program folder name]\renderoutput\scene1.jpg” -w=320 -h=240 -frame=1-33 “c:\program files\autodesk\[program folder name]\scenes\scene1.max” The second scene is almost ready, but you need to test the look of some materials and do a video color check: “c:\program files\autodesk\[program folder name]\3dsmaxcmd” -o=“c:\program files\autodesk\[program folder name]\renderoutput\scene2.jpg” -w=640 -h=480 -force2Sided=true -videoColorCheck=true “c:\program files\autodesk\[program folder name]\scenes\scene2.max” The last scene is complete, and you want to render a higher-resolution image using settings you've saved in a TXT file that you always use for final renderings: “c:\program files\autodesk\[program folder name]\3dsmaxcmd” @c:\finalrender.txt -o=“c:\program files\autodesk\[program folder name]\renderoutput\scene3.jpg” “c:\program files\autodesk\[program folder name]\scenes\scene3.max” 3 After entering these three command lines, save your file as a BAT file, and then open (run) the file. 4 Click OK to start rendering. Command-Line Rendering Switches In order to use command-line rendering, you should be familiar with DOS and understand the structure of command lines. Command-Line Switches You can use the following switches after 3dsmaxcmd on the command line of a command prompt window, or as entries in a text file. The following tables show switches and their effects. NOTE Switches are not case sensitive. At Verbosity level 5, the output message from command-line rendering includes both a timestamp and a date stamp. The timestamp is separated from the main message by a semicolon, and the elapsed time message is separated from the Frame Completed message by a semicolon. This lets you pipe the message Command-Line Rendering Switches | 7499 to a file, and then open it in a spreadsheet program with appropriate columns by setting the delimiter character. Separators Many switches are displayed in the following charts with trailing colons, such as -w: or -h:. The use of a colon separator is optional, and can be replaced with a space or an equal sign (=). Therefore, command lines such as: “c:\program files\autodesk\[program folder name]\3dsmaxcmd” -outputName:“c:\program files\autodesk\[program folder name]\renderoutput\myImage.jpg” -w:640 -h:480 “c:\program files\autodesk\[program folder name]\scenes\myscene.max” “c:\program files\autodesk\[program folder name]\3dsmaxcmd” -outputName “c:\program files\autodesk\[program folder name]\renderoutput\myImage.jpg” -w 640 -h 480 “c:\program files\autodesk\[program folder name]\scenes\myscene.max” “c:\program files\autodesk\[program folder name]\3dsmaxcmd” -outputName=“c:\program files\autodesk\[program folder name]\renderoutput\myImage.jpg” -w=640 -h=480 “c:\program files\autodesk\[program folder name]\scenes\myscene.max” will give you the same results. The use of the equal sign can give your command-line files more of an INI file appearance. NOTE The switch -submit:[manager_name] is the only case where a colon is necessary. On/Off Command-Line Switches Many of the switches you'll use are simple on/off toggles, such as the -rfw: and -renderFields: switches. If you prefer, instead of using a 1 or 0 to designate their states, you can use True or False. For example, to render a scene to a specified file type and display the Rendered Frame Window, your command line might look like this; “c:\program files\autodesk\[program folder name]\3dsmaxcmd” -outputName=“c:\program files\autodesk\[program folder name]\renderoutput\myImage.jpg” -rfw=true “c:\program files\autodesk\[program folder name]\scenes\myscene.max” 7500 | Chapter 18 Rendering Basic Options Switch Effect -? Displays a list of these switches in the DOS window. -x Shows a list of example command lines. -v:# Sets the verbosity level, where # is an integer from 0 (least verbose) to 5 (most verbose). @command_file or -cmdFile:command_file Points to a separate file containing command-line options. -preset: or rps: Uses a render preset file where is the name of the preset file. -sceneState: Loads the specified scene state file before rendering the image. -batchRender Renders all enabled tasks in the Batch Render dialog. -batchRender: Renders batch renders in the file named batch-render-name. -preRenderScript: or script: Uses a pre-render script where is the name of the script file. -postRenderScript: Uses a post-render script where is the name of the script file. -workPath: Root location for job data folders. Command-Line Rendering Switches | 7501 Switch Effect -pathFile: Path configuration file (MXP format). -bitmapPath: (obsolete) Provides an extra bitmap path. Multiple paths can be entered and UNC naming conventions can be used. -xrefPath: (obsolete) Lets you specify extra XRef paths. Multiple paths can be entered and UNC naming conventions can be used. -split: Split render: number of strips, overlap amount. -strip: Split render: number of strips, overlap amount, strip number (starting with 1). This is similar to the -split switch, but lets you render a specific, individual strip. NOTE The strip value has no effect when submitting the job to Backburner. The job will still render all strips. Split and Stitch functionality is intended for local rendering only. -stitch: Stitches strips (see above), combining them into a single image: number of strips, overlap amount. Stitch functionality is intended for local rendering only. -dateFormat: Specifies a date format to be used in message timestamp, at verbosity level 5. Defaults to locale-dependent format. For details, use the 3dsmaxcmd3dsvizcmd -x option. 7502 | Chapter 18 Rendering Switch Effect -timeFormat: Specifies a time format to be used in message timestamp, at verbosity level 5. Defaults to locale-dependent format and 24–hour clock. For details, use the 3dsmaxcmd -x option. Render Parameters NOTE Any command-line switches that are on/off toggles can be switched by entering either 1, 0, on or off. Switch Effect -outputName: or -o: Sets an output file name and format. -camera: or cam: Specifies a camera name. -width: or w: Sets the output width in pixels. -height: or h: Sets the output height in pixels. -pixelAspect: Sets the pixel aspect ratio. -start: Sets the rendering sequence start frame. -end Sets the rendering sequence end frame. -nthFrame Sets the Every Nth Frame value. -frames Lets you specify a frame list; for example, (1,3,5-12) or all. Command-Line Rendering Switches | 7503 Switch Effect -stillFrame or -sf Indicates that this is a stillframe render; no frame suffix will be added. -imageSequenceFile:<0/1/2> Image-sequence file creation: 0=none; 1=.imsq; 2=.ifl -gammaCorrection:<1/0> Toggles gamma correction. “1”=On, “0”=Off. -gammaValueIn: Sets the Input Gamma value. -gammaValueOut: Sets the Output Gamma value. -continueOnError If an error is encountered, 3ds Max attempts to continue rendering. -videopostJob:<1/0> Turns Video Post on page 7707 on or off for the job. Render Flags Switch Effect -showRFW:<1/0> or rfw:<1/0> Toggles the Rendered Frame Window. “1”=On, “0”=Off. -skipRenderedFrames:<1/0> Toggles Skip Existing Images. “1”=On, “0”=Off. -videoColorCheck:<1/0> Toggles Video Color Check. “1”=On, “0”=Off. -force2Sided:<1/0> Toggles Force 2-Sided. “1”=On, “0”=Off. 7504 | Chapter 18 Rendering Switch Effect -renderHidden:<1/0> Toggles Render Hidden. “1”=On, “0”=Off. -atmospherics:<1/0> Toggles Atmospherics. “1”=On, “0”=Off. -superBlack:<1/0> Toggles Super Black. “1”=On, “0”=Off. -renderFields:<1/0> Toggles Render Fields. “1”=On, “0”=Off. -fieldOrder:even or odd Toggles Field Order. Default=”Odd”. -displacements:<1/0> Toggles Displacement Mapping. “1”=On, “0”=Off. -effects:<1/0> Toggles Render Effects. “1”=On, “0”=Off. -useAreaLights:<1/0> Toggles area lights/shadows. “1”=On, “0”=Off. -useAdvLight:<1/0> Toggles use advanced lighting. “1”=On, “0”=Off. -computeAdvLight:<1/0> Toggles compute advanced lighting. “1”=On, “0”=Off. -ditherPaletted:<1/0> Toggles Output Dithering (paletted). “1”=On, “0”=Off. -ditherTrueColor:<1/0> Toggles Output Dithering (true-color). “1”=On, “0”=Off. Command-Line Rendering Switches | 7505 Switch Effect -renderElements:<1/0> Toggles render elements (true-color). “1”=On, “0”=Off. Backburner Job Submission These switches concern submitting a rendering job for network rendering. For further information, see Network Rendering on page 7368. Also, for a different method of network rendering via the command line, see Backburner Command Line Control on page 7511. Switch Effect -submit[:manager_name] or s[:manager_name] Submits the scene, to a specific manager system for network rendering. NOTE This is the only switch that requires a colon separator. -port: Specifies a manager port number. -netmask: Lets you specify a network mask other than 255.255.255.0. -jobName: Lets you specify a job name to render. -priority Sets job priority. -suspended:<1/0> Toggles initially suspended. “1”=Yes, “0”=No. -writeJobFile Writes all job settings to an XML file. The file uses the same name as the MAX file, so, for example, test.max produces test.xml. -readJobFile: Reads all job settings from an XML file. 7506 | Chapter 18 Rendering Switch Effect -waitLoad: The amount of time to wait for 3ds Max to load, in minutes. Default=20. -waitRender: The amount of time to wait for 3ds Max to render, in minutes. Default=600. -waitUnload: The amount of time to wait for 3ds Max to unload, in minutes. Default=10. –platform:32 or 64 The platform (either 32– or 64–bit) that your scene will be rendered on. Use this switch when you want to render your scene on a different platform from the platform where you created your scene. Bitmap Parameters Switch Effect -BMP_TYPE:2 or 8 Sets the type of BMP file being rendered. “2”=paletted, “8”=true 24-bit. -JPEG_QUALITY:1 to 100 Sets the JPG quality value. Ranges from 1 to 100. -JPEG_SMOOTHING:1 to 100 Sets the JPG smoothing value. Ranges from 1 to 100. -TARGA_COLORDEPTH:16, 24 or 32 Sets the color depth for TGA files. -TARGA_COMPRESSED:<1/0> Toggles TGA Compression. “1”=On, “0”=Off. Command-Line Rendering Switches | 7507 Switch Effect -TARGA_ALPHASPLIT:<1/0> Toggles TGA Alpha Split. “1”=On, “0”=Off. -TARGA_PREMULTALPHA:<1/0> Toggles TGA Pre-Multiplied Alpha. “1”=On, “0”=Off. -TIF_TYPE:<0/1/2/3/4> Sets the TIF type. “0”=mono, “1”=color, “2”=logl, “3”=logluv, “4”=16–bit color. -TIF_ALPHA:<1/0> Toggles TIF file alpha. “1”=On, “0”=Off. -TIF_COMPRESSION:<1/0> Toggles TIF Compression. “1”=On, “0”=Off. -TIF_DPI: Sets the dots-per-inch value for TIF files. For each of the following -RLA_xxxx switches, there is a corresponding -RPF_xxxx option. Switch Effect -RLA_COLORDEPTH:8, 16 or 32 Sets the RLA color bitdepth. -RLA_ALPHA:<1/0>: Toggles RLA Alpha. “1”=On, “0”=Off. -RLA_PREMULTALPHA:<1/0> Toggles RLA Premultiplied Alpha. “1”=On, “0”=Off. -RLA_DESCRIPTION: Lets you specify an RLA description (in quotes). -RLA_AUTHOR: Lets you specify an RLA author name (in quotes). 7508 | Chapter 18 Rendering Switch Effect -RLA_ZDEPTHCHANNEL:<1/0> Toggles RLA Z-Depth Channel. “1”=On, “0”=Off. -RLA_MTLIDCHANNEL:<1/0> Toggles RLA Material ID Channel. “1”=On, “0”=Off. -RLA_OBJECTIDCHANNEL:<1/0> Toggles RLA Object Channel. “1”=On, “0”=Off. -RLA_UVCHANNEL:<1/0> Toggles RLA UV Coordinates Channel. “1”=On, “0”=Off. -RLA_NORMALCHANNEL:<1/0> Toggles RLA Surface Normals Channel. “1”=On, “0”=Off. -RLA_NONCLAMPEDCOLORCHANNEL:<1/0> Toggles RLA NonClamped Color Channel. “1”=On, “0”=Off. -RLA_COVERAGECHANNEL:<1/0> Toggles RLA Coverage Channel. “1”=On, “0”=Off. The following -RPF_xxxx switches do not have corresponding -RLA_xxxx options. Switch Effect -RPF_NODERENDERIDCHANNEL Turns on RPF Node Render ID Channel. -RPF_COLORCHANNEL Turns on RPF Color Channel. -RPF_TRANSPCHANNEL Turns on RPF Transparency Channel. Command-Line Rendering Switches | 7509 Switch Effect -RPF_VELOCCHANNEL Turns on RPF Velocity Channel. -RPF_WEIGHTCHANNEL<1/0> Turns on RPF Sub-Pixel Weight Channel. -RPF_MASKCHANNEL Turns on RPF Sub-Pixel Mask Channel. Switch Effect -EXR_USEEXPONENT EXR use exponent on/off -EXR_EXPONENT EXR exponent value (decimal) -EXR_PREMULTALPHA EXR premultiplied alpha on/off -EXR_ALPHA EXR save alpha component on/off -EXR_RED EXR save red component on/off -EXR_GREEN EXR save green component on/off -EXR_BLUE EXR save blue component on/off -EXR_BITDEPTH EXR bit depth: 0=8–bit integers; 1=half float; 2=float -EXR_USEFRAMENUMDIGITS EXR use number of frame digits on/off -EXR_FRAMENUMDIGITS EXR number of frame digits (integer) 7510 | Chapter 18 Rendering Switch Effect -EXR_COMPRESSIONTYPE EXR compression type: 0=no compression; 1=RLE; 2=ZIP (1 scanline); 3=ZIP (16 scanlines); 4=PIZ -EXR_USEREALPIX EXR use RealPix RGB data on/off Backburner Command Line Control The Backburner command line plug-in allows you to submit batch, executable, or script files to Backburner as “custom” jobs. This cmdjob.exe tool, found in the Backburner program folder, provides more flexibility in running custom jobs than is offered by the 3ds Max 3dsmaxcmd.exe plug-in. For a list of the command-line switches that you can use with the Backburner command line plug-in, see Command-Line Rendering Switches on page 7499. Some examples of how these commands can be used with 3ds Max are listed below. NOTE In order to use command-line rendering, you should be familiar with DOS and understand the structure of command lines. Examples of a CmdJob Usage Please see the online version of the Help for details. See also: ■ Command-Line Rendering on page 7495 Backburner Command Line Control | 7511 7512 Effects and Environments 19 Several special effects, such as film grain, depth of field, and lens simulations, are available as rendering effects on page 7515. Other effects, such as fog, are provided as environment effects on page 7620. Also available in the environment settings are exposure controls on page 7665, also known as tone mappers. The fog environment effect adds atmosphere to a street scene. In 3ds Max, rendering effects and environments are accessed from a single Environment and Effects dialog on page 7514. 7513 Environment and Effects Dialog Rendering menu ➤ Environment Rendering menu ➤ Effects Rendered Frame Window ➤ (Environment And Effects Dialog) You apply effects and environments by using the Environment and Effects dialog. Interface 7514 | Chapter 19 Effects and Environments The Environment and Effects dialog has two panels, described in the following topics: Effects Panel and Rollout on page 7517 Environment Panel on page 7621 Rendering Effects Rendering Effects enable you to add post-production effects without having to render the scene to see the results. Through the Effects panel on page 7517 on the Environment and Effects dialog, you can add various effects and view them prior to final rendering of an image or animation. Rendering Effects let you work interactively. As you adjust an effect's parameters, the Rendered Frame Window on page 6963 is updated with the final output image of both the scene geometry and the applied effects. You can also choose to continually work with an effect and then update the effect manually. Rendering Effects and 32–bit Floating-Point Output Most rendering effects in 3ds Max are not compatible with 32-bit floating-point output, such as that provided optionally by the mental ray renderer (see Frame Buffer Type on page 7193). If you render using one or more unsupported effects, the following dialog appears: Rendering Effects | 7515 You can choose to continue rendering without the unsupported effects, or cancel the render. The only supported effects are File Output and Color Balance; the rest (shown in the dialog above) are unsupported. Rendering Effects Command Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel Effects displays the Effects panel on page 7517 on the Environment And Effects dialog, which lets you set parameters for post-rendering effects. From this panel, you can select and assign a class of plug-in called Render Effect, which is a post-rendering image-processing effect. This lets you apply image processing without using Video Post. Render Effects have the added advantage of allowing animated parameters and references to scene objects. You can also adjust and view the effects interactively. 7516 | Chapter 19 Effects and Environments Effects Panel and Rollout Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel Rendered Frame Window ➤ Effects panel (Environment And Effects Dialog) ➤ The Effects rollout, on the Effects panel, lets you assign and manage rendering effects. You can use the Effects panel to: ■ Assign a Render Effects plug-in. ■ Apply image processing without using Video Post. ■ Adjust and view effects interactively. ■ Animate parameters and references to scene objects. Effects Panel and Rollout | 7517 Interface The Effects panel has one main rollout, Effects, with the following options: Effects Displays a list of selected effects. Name Displays the name of the selected effect. Edit this field to rename the effect. Add Displays a dialog listing all available rendering effects. Select the effect you want added to the window list, and then click OK. Delete Removes a highlighted effect from the window and from the scene. Active Specifies whether the selected effect is active in the scene. On by default; you can deactivate an effect without actually removing it by selecting it in the window and turning off Active. Move Up Moves the highlighted effect up in the window list. 7518 | Chapter 19 Effects and Environments Move Down Moves the highlighted effect down in the window list. Merge Merges rendering effects from scene (.max) files. Clicking Merge displays a file dialog from which you can choose a .max file. A dialog then appears listing all rendering effects in that scene. Preview group Effects When All is chosen, all of the active effects are applied to the preview. When Current is chosen, only the highlighted effects are applied to the preview. Interactive When on, changes occur interactively in the Rendered Frame Window on page 6963 as you adjust the parameters of an effect. When Interactive is not activated, you can click one of the update buttons to preview the effect. Show Original/Show Effects toggle Click Show Original to display the original rendered image without any of the effects applied. Click Show Effects to display the rendered image with the effects. Update Scene Updates the Rendered Frame Window with all changes made in Rendering Effects as well as any changes made to the scene itself. Update Effect Manually updates the preview Rendered Frame Window when Interactive is not on. What is shown in the Rendered Frame Window is only an update of any changes made in Rendering Effects. Any changes made to the scene itself will not be rendered. Merging Effects Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Merge The Merge button on the Effects panel on page 7517 lets you merge effects from other 3ds Max (.max) scene files. See also: ■ Merge on page 8101 ■ Replace on page 8106 ■ Merge Animation on page 4163 Merging Effects | 7519 Procedures To merge an atmospheric effect: 1 Choose Rendering menu ➤ Effects to display the Effects panel. 2 On the Effects rollout, click Merge. A Merge Effect dialog appears for file selection. 3 Choose a MAX file. A Merge Atmospheric Effects dialog lists the effects in the specified file. 4 Select one or more of the effects, and then click OK to merge them into the scene. Only atmospheric effects appear in the merge list, but when an effect is merged, any lights or gizmos bound to the effect are merged as well. To resolve conflicts when merged effects have the same name: ■ If an effect of the same type and name already exists in the scene, an alert appears. Choose from among these options: ■ Name fieldAllows you to rename the incoming effect. ■ MergeResults in two effects in the scene with the same name. ■ Delete OldRemoves the existing effect in the scene. ■ Apply To All DuplicatesPerforms the same action on all subsequent matching effects. Hair And Fur Render Effect Rendering menu ➤ Effects ➤ Environment And Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Hair And Fur Hair And Fur modifier ➤ Tools rollout ➤ Render Settings button To render hair, the scene must contain a Hair And Fur render effect. The render effect is automatically added to the scene the first time you apply the Hair And Fur modifier to an object, or 3ds Max adds one (with default values) at render time if an active Hair And Fur modifier is applied to an object. If for some reason the render effect doesn't exist in the scene, you can add one by clicking the Render Settings button. This opens the Environment And 7520 | Chapter 19 Effects and Environments Effects dialog and adds a Hair And Fur render effect. You can change the settings, or simply accept the default settings by closing the dialog after it opens. Interface Hair And Fur Render Effect | 7521 Hair Rendering Options group Hairs Sets the method to be used for rendering hair: ■ buffer(The default) Procedural hair generated by Hair at render time based on the modifier parameters. Buffer hair is generated by a special renderer within Hair and offers the benefit of being able to create millions of hairs with minimal memory requirements. Only one hair is in memory at a time. Also, using Buffer render offers a variety of compositing options (described below). ■ geometryCreates actual geometry for the rendered hair at render time. This geometry is assigned the material ID set by the Hair And Fur modifier ➤ Geom Mat ID parameter on page 1063. NOTE “Geometry” hair derives its texture from the growth object, not from any maps applied via the Material Parameters rollout. Compositing options aren't available with “geometry” hair. The “geometry” option works with both the default scanline renderer and the mental ray renderer. ■ mr primHair is generated by a procedural mental ray shader that generates mental ray curve primitives directly into the mental ray rendering stream at render time. Choose this option only when you are rendering hair with the mental ray renderer on page 7129. mr Voxel Resolution Available only for the “geometry” and “mr prim” Hairs options. At render time, hair boundaries are subdivided into volume cubes or “voxels.” 3ds Max calculates which hairs are in each voxel, and when a ray enters a voxel, it calculates for those hairs. This allows unneeded voxels to be removed from memory during calculation. With “geometry” rendering, voxels are used only for calculating instanced hairs. This value gives the resolution of the subdivision. For example, a value of 3 subdivides the volume into 3 x 3 x 3 voxels, for a total of 27. The higher this value, the more efficient calculations can be. Default=5. Lighting ■ native(The default.) Uses standard 3ds Max calculations for light falloff. ■ emulationPerforms a simpler internal calculation for light falloff within the buffer render. It applies only to the buffer hair rendering itself, not the 3ds Max scene. This mode omits features such as illumination textures on 7522 | Chapter 19 Effects and Environments the hair, and light falloff calculation might be slightly inaccurate, but rendering is somewhat faster. Raytrace the Reflections/Refractions Available only for the “buffer” Hairs option. When on, reflections and refractions are ray-traced. When off, they are calculated as usual. Turning this option on can increase realism at the cost of render time. Default=off. Motion Blur group In order to render motion-blurred hairs, Motion Blur must be enabled for the growth object. Duration The number of frames over which motion blur is calculated for each frame. Interval The point in the duration at which the “snapshot” of the hair is captured, before blurring. The choices are “start”, “middle”, and “end”. The default is “middle”, which causes blurring to occur at the start and end of the duration. Buffer Rendering Options group This setting applies only to the ”buffer” rendering method on page 7522. Oversampling Controls the level of antialiasing applied to the Hair “buffer” render. The available choices are “draft”, “low”, “medium”, “high”, and “maximum”. The “draft” setting uses no antialiasing; “high” is suitable for most final renders; in extreme cases, use “maximum”. The higher the Oversampling level, the greater the memory requirements and render time. Default=”low.” Tile Memory Usage Sets the maximum amount of main memory to be used by a “tile.” Hair And Fur renders hair one tile at a time. Default = 70 Megabytes. TIP We recommend that you increase the value of Tile Memory Usage to 100. Transparency Depth Sets a maximum depth for rendering transparent or translucent hairs. Default=30. Hair And Fur Render Effect | 7523 Composite Method group This option lets you choose the method by which Hair composites hair with the rest of the scene. Compositing options are available only with the “buffer” rendering method. ■ NoneRenders the hair only, with occlusion. The resulting image is ready to composite. ■ OffRenders hair shadows but not the hair. ■ Normal(The default.) Does standard rendering and composites the occluded hair with the rest of the scene in the Rendered Frame Window. Because of the occlusion, hair will not appear behind (through) transparent objects. ■ GBufferBuffer-rendered hair appears behind most transparent objects. Transparent refractive objects aren't supported. Occlusion Objects group This setting lets you choose which objects will occlude hair in the scene; that is, if the object is closer to the camera than part of the hair array, the hairs behind it won't render. By default, all objects in the scene occlude hair behind them. ■ Auto(The default.) All renderable objects in the scene occlude hair behind them. ■ AllAll objects in the scene, including non-renderable objects, occlude hair behind them. ■ CustomLets you specify the objects that will occlude hair. Choosing this option makes the buttons on the right slide of the list available. If you choose Custom but don't specify any occlusion objects, no objects will occlude the hair; that is, the hair will appear in front of all objects, whether or not it's closer to the camera than the objects. List The list of custom occlusion objects. To edit this list, choose Custom and then use the buttons on the right side of the list. Add Adds a single object to the list. Click Add and then in a viewport, click the object to add. Add List Adds multiple objects to the list. Click Add List and then in a viewport, click each object to add in turn. To finish, right-click the viewport or click Add List again to turn it off. 7524 | Chapter 19 Effects and Environments Replace To replace an object in the list, highlight its name in the list, click Replace, and then in a viewport click the replacement object. Delete To remove an object from the list, highlight its name in the list and then click Delete. Global Illumination group Apply Skylight When on, Hair And Fur supports takes sky light into account, provided it is present in the scene. Default=off. Multiplier Available only when Skylight is turned on. This Multiplier value lets you adjust the amount of sky light that is used when rendering hair. Lighting group These settings control the illumination of hair and shadow-casting from hair by supported lights in the scene. The following light types are not supported when rendering hair with the “buffer” method: Skylight, mr Area Omni, mr Area Spot, IES Sun, IES Sky, mr Sky and mr Sun. However, mr Area Omni, mr Area Spot, mr Sky, and mr Sun are supported for hair when you use the “mr prim” method and the mental ray renderer. NOTE For the purposes of rendering shadows in hair, Direct lights are treated as point (omni) lights. Shadow Density Specifies the relative darkness of the shadows. At the default, highest value, 100.0, shadows are darkest. At the lowest value, 0.0, shadows are fully transparent, so they don't render. Range=0.0 to 100.0. Default=100.0. Use all lights at render time When on, causes all supported lights in the scene to illuminate and cast shadows from hair when the scene is rendered. (Shadows are cast only from lights whose Shadows toggle is on.) When off, for a light to cast shadows from hair, you explicitly must add hair properties. In either case, shadow maps for hair use the settings from the Hair Light Attr(ibutes) rollout on page 5803 Default=on. NOTE These settings apply only to “buffer”-rendered hair (the default type, set in the Hair Rendering Options group, as described above). Add hair properties Adds the Hair Light Attr(ibutes) rollout on page 5803 to selected lights in the scene. If you want to assign hair-specific shadow properties on a per-light basis, this rollout is necessary. Available only when at least one supported light is selected. Hair And Fur Render Effect | 7525 When Use All Lights At Render Time is off, only lights with hair properties can illuminate hair. Remove hair properties Removes the Hair Light Attr(ibutes) rollout on page 5803 from selected lights in the scene. Available only when at least one light with hair properties added is selected. Lens Effects Rendering Effects Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Lens Effects Lens Effects create real-life effects commonly associated with a camera. Lens effects include Glow on page 7531, Ring on page 7538, Ray on page 7548, Auto Secondary on page 7555, Manual Secondary on page 7563, Star on page 7570, and Streak on page 7577. Lens flares added as lens effects 7526 | Chapter 19 Effects and Environments Procedures To add an effect: 1 Select the desired effect from the list on the left side of the Lens Effects Parameters rollout. 2 Click the (>) arrow button to move it into the column on the right. To delete an applied effect: 1 Select the effect from the list on the right side of the Lens Effects Parameters rollout. 2 Click the (<) arrow button to remove it from the list. Interface Lens Effects Parameters rollout The Lens Effects system allows you to apply effects to your rendered image by choosing a particular effect from the list on the left and adding it to the list on the right. Each effect has its own rollout of parameters, but all effects share two panels of global parameters. Lens Effects Rendering Effects | 7527 Lens Effects Globals rollout, Parameters panel Load Displays the Load Lens Effects file dialog that enables you to open an LZV file. The LZV file format contains information saved from a previous configuration of Lens Effects. This allows you to load and use Lens Effects that have been saved from previous sessions of 3ds Max. Save Displays the Save Lens Effects file dialog that enables you to save an LZV file. The LZV file format contains information saved from a previous configuration of Lens Effects. This allows you to save several types of Lens Effects and use them in multiple 3ds Max scenes. NOTE Saving an effect as an LZV file will only save the attributes of the effect on the frame that it is saved at. The LZV file format doesn’t save the animation keys of an animated parameter. Size Affects the size of the overall Lens Effect. This value is a percentage of the size of the rendered frame. Intensity Controls the overall brightness and opacity of the Lens Effect. Higher values produce a bright, more opaque effect, and lower values produces a dim, transparent effect. 7528 | Chapter 19 Effects and Environments Seed Gives the random number generator in Lens Effects a different starting point, which creates a slightly different Lens Effect without changing any settings. Using Seed guarantees a different Lens Effect, even if the differences are very small. For example, if you set up a Ray effect, you will get slightly different rays in the lens flare if you adjust the seed value. Angle Affects the amount that the Lens Effect rotates from its default position, as the position of the effect changes relative to the camera. Squeeze Squeezes the size of the overall Lens Effect, either horizontally or vertically to compensate for different frame aspect ratios. Positive values stretch the effect horizontally, and negative values stretch it vertically. The value is a percentage of the size of the flare. Range=100 to -100. Lights group Allows you to choose lights to apply Lens Effects to. Pick Light Enables you to select a light directly through the viewports. You can also select a light by pressing H to open the Pick Object dialog. Remove Light Removes a selected light. Drop-down list Provides quick access to lights that you have added to the Lens Effect. Lens Effects Rendering Effects | 7529 Lens Effects Globals rollout, Scene panel Affect Alpha Specifies whether or not the Lens Effect affects the alpha channel of an image when the image is rendered in a 32-bit file format. The alpha channel is an extra 8 bits of color (256 colors) that indicate transparency in an image. Alpha channels are used to composite one image seamlessly over the top of another. If you want to composite a Lens Effect, or an image that contains a Lens Effect, over the top of another image, enable this option. If you are not rendering to a 32-bit file, do not enable this option. Affect Z Buffer Stores an object's distance from the camera. The Z-Buffer is useful for optical effects. When this option is enabled, the linear distance of the Lens Effect is recorded, and can be used in special effects that make use of the Z-Buffer. Distance Affects Allows distance from the camera or viewport to affect the size and/or the intensity of the effect. Off-Center Affects Allows an effect that is off-center from the camera or viewport to affect the size and/or the intensity of the effect. Direction Affects Allows direction of spot lights with respect to the camera or viewport to affect the size and/or the intensity of the effect. 7530 | Chapter 19 Effects and Environments The size and intensity of the effect are at a maximum when the light is pointed at the camera (or viewport). Occlusion group Occlusion is used to determine when a Lens Effect will be affected by an object that comes between the effect and the camera. By using two spinners to determine occlusion you can have scene objects realistically affect the look of your effect. The outer radius will determine when another scene object will begin to occlude and the inner radius will determine when the scene object will cause the effect to reach maximum occlusion. Inner Radius Sets the inner radius around the effect that another scene object must intersect in order to completely occlude the effect. Outer Radius Sets the outer radius around the effect that another scene object must intersect in order to begin to occlude the effect. Size Decreases the size of the effect when being occluded. Intensity Decreases the intensity of the effect when being occluded. Affected by Atmosphere Allows Atmospheric Effects to occlude Lens Effects. Glow Lens Effect Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Lens Effects ➤ Choose Glow, and click the (>) arrow button. Glow lets you add a glowing aura around any assigned object. For example, for an exploding particle system, adding a glow to the particles makes them seem as though they are brighter and hotter. Lens Effects Rendering Effects | 7531 Adding glow to the light WARNING This effect is not supported by the mental ray renderer on page 7129. 7532 | Chapter 19 Effects and Environments Interface Glow Element rollout, Parameters panel Name Displays the name of the effect. With Lens Effects you can have many different effects under one instance of Lens Effects. To keep them in order, it is often necessary to name them to make sure that when you change parameters you are changing the parameters to the correct effect. On Applies the effect to the rendered image when activated. Size Determines the size of the effect. Lens Effects Rendering Effects | 7533 Intensity Controls the overall brightness and opacity of the individual effect. Higher values produce a bright, more opaque effect, and lower values produces a dim, transparent effect. Glow Behind Gives the effect the ability to be displayed behind objects in your scene. Occlusion Determines how much the Lens Effects Scene Occlusion parameters will affect the particular effect. The value entered determines what percentage of occlusion set in the Lens Effects Globals panel will be applied. Squeeze Determines whether the effect will be squeezed. When activated the effect will be squeezed according to Lens Effects Globals under the Parameters panel in the Squeeze spinner. Use Source Color Mixes the source color of the light or object you are applying the effect to and the color or mapping set in the Radial Color or Circular Color parameters. A value of 0 uses only the values set in the Radial Color and Circular Color parameters while a value of 100 uses only the light or objects source color. Any value between 0 and 100 will render a mix between the source color and the effect’s color parameters. Radial Color group The Radial Color settings affect the inner and outer colors of the effect. You can set the color swatches to set the inner and outer colors of the Lens Effect. You can also use bitmaps such as Gradient or Cellular to determine the radial color. Falloff Curve Displays the Radial Falloff dialog on page 7591 in which you can set weights for the colors used in Radial Color. By manipulating the Falloff Curve you can make the effect use more of one color or map than the other. You can also use a map to determine the falloff when a light is used as a Lens Effects source. Circular Color group Circular Color determines the color of the effect by using four different color swatches that are matched to the four quadrants of the effect. A map can also be used to determine circular color. Mix Mixes colors set in Radial Color and colors set in Circular Color. Setting the spinner at 0 will only use values set in Radial Color while setting the spinner at 100 will only use values set in Circular Color. Any value between 0 and 100 will mix between the two values. 7534 | Chapter 19 Effects and Environments Falloff Curve Displays the Circular Falloff dialog on page 7584 in which you can set weights for the colors used in Circular Color. By manipulating the Falloff Curve you can make the effect use more of one color or map than another. You can also use a map to determine the falloff when a light is used as a Lens Effects source. Radial Size group Determines the radial size around the particular Lens Effect. Clicking the Size Curve button displays the Radial Size dialog on page 7595. Using the Radial Size dialog you can create points on a line and move those points along a graph to determine where the effect should be placed around the light or object. You can also use a map to determine where the effect should be placed. A check box is used to activate the map. Glow Element rollout, Options panel Lens Effects Rendering Effects | 7535 Apply Element To group Lights Applies the effect to lights picked in Lens Effects Globals under the Parameters tab in the Lights group box. Image Applies the effect to the rendered image using parameters set in Image Sources. Image Centers Applies to the center of an object or to portions of an object as determined by the Image Filters. Image Sources group Object ID Applies the Lens Effect to particular objects in your scene that have a corresponding G-Buffer on page 9173 (or Object) ID. The G-Buffer is a geometry buffer and can be defined when you right-click any object and select Properties from the menu. Then, set the Object Channel ID under the G-Buffer ID controls. Material ID Applies the Lens Effect to an object or part of an object with a specific Material ID channel assigned to it. Assign the channel with the Material Editor ➤ Material ID channel flyout on page 6075. The effect is applied only to areas of the geometry where that ID channel is present. TIP In some cases you might want to apply different Lens Effects settings to different pieces of geometry or IDs. To accomplish this, add additional Lens Effects entries to the Lens Effects Parameters list. Then set each different Lens Effect entry to affect a different Material ID or Object ID and proceed. Unclamp An unclamped color is brighter than pure white (255,255,255). 3ds Max keeps track of these "hot" areas which tend to show up when your scene contains bright metallic highlights or explosions. This spinner lets you determine the lowest pixel value that the Lens Effect is applied to. Pure white has a pixel value of 1. When this spinner is set to 1, any pixels with a value above 255 will be glowed. You can invert this value by clicking the I button to the right of the spinner. Surf Norm Applies the Lens Effect to part of an object, based on the angle of the surface normal to the camera. A value of 0 is coplanar, or parallel to the screen. A value of 90 is normal, or perpendicular to the screen. If you set Surf Norm to 45, only surfaces with normal angles greater than 45 degrees will be glowed. You can invert this value by clicking the I button to the right of the spinner. This parameter can be animated. Whole Applies the Lens Effect to the whole scene, not just a particular piece of geometry. This, in effect, makes each pixel in the scene a potential Lens 7536 | Chapter 19 Effects and Environments Effect source. The areas of the scene that have the Lens Effect applied to them are determined by the settings in the Image Filters group box. Alpha Applies the Lens Effect to the alpha channel of an image. The transparency of an alpha channel is interpreted opposite that of the Mask channel. Range=0 to 255. Z Hi/Z Lo Highlights objects based on their distance (Z-Buffer distance) from the camera. The Hi value is the maximum distance and the Lo value is the minimum. Any objects between these two Z-Buffer distances will be highlighted. Image Filters group Filters the Image Sources selections to let you control how the Lens Effect is applied. For example, you can have ten spheres in your scene, each with the same Object ID, but different colors. If you set the Image Source as the Object ID of the spheres, which selects all of the spheres, these will be the only objects in the scene that Lens Effects will apply an effect to. However, now that Lens Effects knows where the pixels are that effects can be applied, it needs to know which ones to actually apply the effect to. Lens Effects uses the filter controls to find out which source pixels to apply the effect to. All Selects all source pixels in the scene and applies the Lens Effect to them. Edge Selects all source pixels along a boundary edge and applies the Lens Effect to them. Applying a Lens Effect along the edges of objects produces a soft halo that exists on both inside and outside edges of your object. Perim(eter) Alpha Applies the Lens Effect only to the perimeter of an object based on its alpha channel. Selecting this option applies the effect only on the outside of an object without any spill on the interior. Whereas filtering by Edge produces a spill onto the object, Perimeter Alpha keeps all of the edges clean because it relies on the scene alpha channel to derive its effect. Perim(eter) Applies the Lens Effect only to the perimeter of an object based on Edge interference. Although not as precise as Perimeter Alpha, you might need to use the Perimeter option at times when the alpha channel is unavailable. Bright Filters the source objects based on their brightness values. The effect is only applied to objects with a brightness above the spinner setting This option can be inverted by clicking the I button next to the spinner Lens Effects Rendering Effects | 7537 Hue Filters the source objects by their hue. Select the hue by clicking the color swatch next to the spinner. You can choose hue values from 0 to 255. The spinner beside the Hue color swatch lets you enter a variance level so that the glow can find several different hues in the same range as the chosen color Additional Effects group Additional Effects allows you to apply maps such as Noise to your Lens Effect. You can display the Material/Map browser by clicking the long button next to the Apply check box. Apply Applies the selected map when activated. Radial Density Determines where and how much you would like the additional effects applied. Clicking the Radial Density button displays the Radial Density dialog on page 7588. Using the Radial Density dialog you can create points on a line and move those points along a graph to determine where the additional effect should be placed around the light. You can also use a map to determine where the additional effect should be placed. Ring Lens Effect Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Lens Effects ➤ Choose Ring, and click the (>) arrow button. The ring is a circular color band that surrounds the center of the source object. 7538 | Chapter 19 Effects and Environments Adding a ring to the light WARNING This effect is not supported by the mental ray renderer on page 7129. Lens Effects Rendering Effects | 7539 Interface Ring Element rollout, Parameters panel Name Displays the name of the effect. With Lens Effects you can have many different effects under one instance of Lens Effects. To keep them in order, it is often necessary to name them to make sure that when you change parameters you are changing the parameters to the correct effect. On Applies the effect to the rendered image when activated. Default = on. Size Determines the size of the effect. 7540 | Chapter 19 Effects and Environments Intensity Controls the overall brightness and opacity of the individual effect. Higher values produce a bright, more opaque effect, and lower values produces a dim, transparent effect. Plane Sets the location of the effect along the axis of the effect which extends from the center of the effect through the center of the screen. Thickness Determines the thickness, in pixels, of the effect. Glow Behind Gives the effect the ability to be displayed behind objects in your 3ds Max scene. Occlusion Determines how much the Lens Effects Scene Occlusion parameters will affect the particular effect. The value entered determines what percentage of occlusion set in the Lens Effects Globals panel will be applied. Squeeze Determines whether the effect will be squeezed. When activated the effect will be squeezed according to Lens Effects Globals under the Parameters panel in the Squeeze spinner. Use Source Color Mixes the source color of the light or object you are applying the effect to with the color or mapping set in the Radial Color or Circular Color parameters. A value of 0 uses only the values set in the Radial Color and Circular Color parameters while a value of 100 uses only the light or objects source color. Any value between 0 and 100 will render a mix between the source color and the effect’s color parameters. Radial Color group The Radial Color settings affect the inner and outer colors of the effect. You can set the color swatches to set the inner and outer colors of the Lens Effect. You can also use bitmaps such as gradient or cellular to determine the radial color. Lens Effects Rendering Effects | 7541 Ring using radial colors as seen in lower left inset Falloff Curve Displays the Radial Falloff dialog on page 7591 in which you can set weights for the colors used in Radial Color. By manipulating the Falloff Curve you can make the effect use more of one color or map than the other. You can also use a map to determine the falloff. Circular Color group Circular Color determines the color of the effect by using four different color swatches that are matched to the four quadrants of the effect. A map can also be used to determine circular color. 7542 | Chapter 19 Effects and Environments Ring using circular colors as seen in lower right inset Mix Mixes colors set in Radial Color and colors set in Circular Color. Setting the spinner at 0 will only use values set in Radial Color while setting the spinner at 100 will only use values set in Circular Color. Any value between 0 and 100 will mix between the two values. Lens Effects Rendering Effects | 7543 Ring using radial and circular colors mixed 50/50 Falloff Curve Displays the Circular Falloff dialog on page 7584 in which you can set weights for the colors used in Circular Color. By manipulating the Falloff Curve you can make the effect use more of one color or map than another. You can also use a map to determine the falloff when a light is used as a Lens Effects source. Radial Size group Determines the radial size around the particular Lens Effect. Clicking the Size Curve button displays the Radial Size dialog on page 7595. Using the Radial Size dialog you can create points on a line and move those points along a graph to determine where the effect should be placed around the light or object. You can also use a map to determine where the effect should be placed. A check box is used to activate the map. 7544 | Chapter 19 Effects and Environments Ring Element rollout, Options panel Apply Element To Lights Applies the effect to lights picked in Lens Effects Globals under the Parameters tab in the Lights group box. Image Applies the effect to the rendered image using parameters set in Image Sources. Image Centers Applies to the center of an object or to portions of an object as determined by the Image Filters. Image Sources group Object ID Applies the Lens Effect to particular objects in your scene that have a corresponding G-Buffer on page 9173 (or Object) ID. The G-Buffer is a geometry buffer and can be defined when you right-click any object and select Properties from the menu. Then, set the Object Channel ID under the G-Buffer ID controls. Material ID Applies the Lens Effect to an object or part of an object with a specific Material ID channel assigned to it. Assign the channel with the Material Editor ➤ Material ID channel flyout on page 6075. The effect is applied only to areas of the geometry where that ID channel is present. Lens Effects Rendering Effects | 7545 TIP In some cases you might want to apply different Lens Effects settings to different pieces of geometry or IDs. To accomplish this, add additional Lens Effects entries to the Lens Effects Parameters list. Then set each different Lens Effect entry to affect a different Material ID or Object ID and proceed. Unclamp An unclamped color is brighter than pure white (255,255,255). 3ds Max keeps track of these "hot" areas which tend to show up when your scene contains bright metallic highlights or explosions. This spinner lets you determine the lowest pixel value that the Lens Effect is applied to. Pure white has a pixel value of 1. When this spinner is set to 1, any pixels with a value above 255 will be glowed. You can invert this value by clicking the I button to the right of the spinner. Surf Norm Applies the Lens Effect to part of an object, based on the angle of the surface normal to the camera. A value of 0 is coplanar, or parallel to the screen. A value of 90 is normal, or perpendicular to the screen. If you set Surf Norm to 45, only surfaces with normal angles greater than 45 degrees will be glowed. You can invert this value by clicking the I button to the right of the spinner. Whole Applies the Lens Effect to the whole scene, not just a particular piece of geometry. This, in effect, makes each pixel in the scene a potential Lens Effect source. The areas of the scene that have the Lens Effect applied to them are determined by the settings in the Image Filters group box. Alpha Applies the Lens Effect to the alpha channel of an image. The transparency of an alpha channel is interpreted opposite that of the Mask channel. Range=0 to 255. Z Hi/Z Lo Highlights objects based on their distance (Z-Buffer distance) from the camera. The Hi value is the maximum distance and the Lo value is the minimum. Any objects between these two Z-Buffer distances will be highlighted. Image Filters group Filters the Image Sources selections to let you control how the Lens Effect is applied. For example, you can have ten spheres in your scene, each with the same Object ID, but different colors. If you set the Image Source as the Object ID of the spheres, which selects all of the spheres, these will be the only objects in the scene that Lens Effects will apply an effect to. However, now that Lens Effects knows where the pixels are that effects can be applied, it needs to know which ones to actually apply the effect to. Lens Effects uses the filter controls to find out which source pixels to apply the effect to. 7546 | Chapter 19 Effects and Environments All Selects all source pixels in the scene and applies the Lens Effect to them. Edge Selects all source pixels along a boundary edge and applies the Lens Effect to them. Applying a Lens Effect along the edges of objects produces a soft halo that exists on both inside and outside edges of your object. Perim(eter) Alpha Applies the Lens Effect only to the perimeter of an object based on its alpha channel. Selecting this option applies the effect only on the outside of an object without any spill on the interior. Whereas filtering by Edge produces a spill onto the object, Perimeter Alpha keeps all of the edges clean because it relies on the scene alpha channel to derive its effect. Perim(eter) Applies the Lens Effect only to the perimeter of an object based on Edge interference. Although not as precise as Perimeter Alpha, you might need to use the Perimeter option at times when the alpha channel is unavailable. Bright Filters the source objects based on their brightness values. The effect is only applied to objects with a brightness above the spinner setting This option can be inverted by clicking the I button next to the spinner Hue Filters the source objects by their hue. Select the hue by clicking the color swatch next to the spinner. You can choose hue values from 0 to 255. The spinner beside the Hue color swatch lets you enter a variance level so that the glow can find several different hues in the same range as the chosen color Additional Effects group Additional Effects allows you to apply maps such as Noise to your Lens Effect. You can display the Material/Map browser by clicking the long button next to the Apply check box. Apply Applies the selected map when activated. Radial Density Determines where and how much you would like the additional effects applied. Clicking the Radial Density button displays the Radial Density dialog on page 7588. Using the Radial Density dialog you can create points on a line and move those points along a graph to determine where the additional effect should be placed around the light. You can also use a map to determine where the additional effect should be placed. Lens Effects Rendering Effects | 7547 Ray Lens Effect Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Lens Effects ➤ Choose Ray, and click the (>) arrow button. Rays are bright lines that radiate from the center of the source object, providing the illusion of extreme brightness for the object. Rays let you emulate scratches in the lens elements of a camera. Adding rays to the light 7548 | Chapter 19 Effects and Environments Interface Ray Element rollout, Parameters panel Name Displays the name of the effect. With Lens Effects you can have many different effects under one instance of Lens Effects. To keep them in order, it is often necessary to name them to make sure that when you change parameters you are changing the parameters to the correct effect. On Applies the effect to the rendered image when activated. Default = on. Lens Effects Rendering Effects | 7549 Size Determines the size of the effect. Intensity Controls the overall brightness and opacity of the individual effect. Higher values produce a bright, more opaque effect, and lower values produces a dim, transparent effect. Num Specifies the overall number of rays that appear in the lens flare. Rays are randomly spaced around the radius. Angle Specifies the angle for the rays. You can enter both positive and negative values so, when animated, the rays rotate in a clockwise or counterclockwise direction. Sharp Specifies the overall sharpness of the rays. Higher numbers produce crisp, clean, and clear rays. Lower numbers produce more of a secondary glow look. Range=0 to 10. Glow Behind Gives the effect the ability to be displayed behind objects in your 3ds Max scene. Occlusion Determines how much the Lens Effects Scene Occlusion parameters will affect the particular effect. The value entered determines what percentage of occlusion set in the Lens Effects Globals panel will be applied. Squeeze Determines whether the effect will be squeezed. When activated, the effect will be squeezed according to Lens Effects Globals under the Parameters panel in the Squeeze spinner. Use Source Color Mixes the source color of the light or object you are applying the effect to and the color or mapping set in the Radial Color or Circular Color parameters. A value of 0 uses only the values set in the Radial Color and Circular Color parameters while a value of 100 uses only the light or objects source color. Any value between 0 and 100 will render a mix between the source color and the effect’s color parameters. Radial Color group The Radial Color settings affect the inner and outer colors of the effect. You can set the color swatches to set the inner and outer colors of the Lens Effect. You can also use bitmaps such as Gradient or Cellular to determine the radial color. Falloff Curve Displays the Radial Falloff dialog on page 7591 in which you can set weights for the colors used in Radial Color. By manipulating the Falloff Curve you can make the effect use more of one color or map than the other. You can also use a map to determine the falloff when a light is used as a Lens Effects source. 7550 | Chapter 19 Effects and Environments Circular Color group Circular Color determines the color of the effect by using four different color swatches that are matched to the four quadrants of the effect. A map can also be used to determine circular color. Mix Allows you to mix between colors set in Radial Color and colors set in Circular Color. Setting the spinner at 0 will only use values set in Radial Color while setting the spinner at 100 will only use values set in Circular Color. Any value between 0 and 100 will mix between the two values. Falloff Curve Displays the Circular Falloff dialog on page 7584 in which you can set weights for the colors used in Circular Color. By manipulating the Falloff Curve you can make the effect use more of one color or map than another. You can also use a map to determine the falloff when a light is used as a Lens Effects source. Radial Size group Determines the radial size around the particular Lens Effect. Clicking the Size Curve button displays the Radial Size dialog on page 7595. Using the Radial Size dialog you can create points on a line and move those points along a graph to determine where the effect should be placed around the light or object. You can also use a map to determine where the effect should be placed. A check box is used to activate the map. Lens Effects Rendering Effects | 7551 Ray Element rollout, Options panel Apply Element To group Lights Applies the effect to lights picked in Lens Effects Globals under the Parameters tab in the Lights group box. Image Applies the effect to the rendered image using parameters set in Image Sources. Image Centers Applies to the center of an object or to portions of an object as determined by the Image Filters. Image Sources group Object ID Applies the Lens Effect to particular objects in your scene that have a corresponding G-Buffer on page 9173 (or Object) ID. The G-Buffer is a geometry buffer and can be defined when you right-click any object and select Properties from the menu. Then, set the Object Channel ID under the G-Buffer ID controls. 7552 | Chapter 19 Effects and Environments Material ID Applies the Lens Effect to an object or part of an object with a specific Material ID channel assigned to it. Assign the channel with the Material Editor ➤ Material ID channel flyout on page 6075. The effect is applied only to areas of the geometry where that ID channel is present. TIP In some cases you might want to apply different Lens Effects settings to different pieces of geometry or IDs. To accomplish this, add additional Lens Effects entries to the Lens Effects Parameters list. Then set each different Lens Effect entry to affect a different Material ID or Object ID and proceed. Unclamp An unclamped color is brighter than pure white (255,255,255). 3ds Max keeps track of these "hot" areas which tend to show up when your scene contains bright metallic highlights or explosions. This spinner lets you determine the lowest pixel value that the Lens Effect is applied to. Pure white has a pixel value of 1. When this spinner is set to 1, any pixels with a value above 255 will be glowed. You can invert this value by clicking the I button to the right of the spinner. Surf Norm Applies the Lens Effect to part of an object, based on the angle of the surface normal to the camera. A value of 0 is coplanar, or parallel to the screen. A value of 90 is normal, or perpendicular to the screen. If you set Surf Norm to 45, only surfaces with normal angles greater than 45 degrees will be glowed. You can invert this value by clicking the I button to the right of the spinner. Whole Applies the Lens Effect to the whole scene, not just a particular piece of geometry. This, in effect, makes each pixel in the scene a potential Lens Effect source. The areas of the scene that have the Lens Effect applied to them are determined by the settings in the Image Filters group. Alpha Applies the Lens Effect to the alpha channel of an image. The transparency of an alpha channel is interpreted opposite that of the Mask channel. Range=0 to 255. Z Hi/Z Lo Highlights objects based on their distance (Z-Buffer distance) from the camera. The Hi value is the maximum distance and the Lo value is the minimum. Any objects between these two Z-Buffer distances will be highlighted. Image Filters group Filters the Image Sources selections to let you control how the Lens Effect is applied. For example, you can have ten spheres in your scene, each with the same Object ID, but different colors. If you set the Image Source as the Object Lens Effects Rendering Effects | 7553 ID of the spheres, which selects all of the spheres, these will be the only objects in the scene that Lens Effects will apply an effect to. However, now that Lens Effects knows where the pixels are that effects can be applied, it needs to know which ones to actually apply the effect to. Lens Effects uses the filter controls to find out which source pixels to apply the effect to. All Selects all source pixels in the scene and applies the Lens Effect to them. Edge Selects all source pixels along a boundary edge and applies the Lens Effect to them. Applying a Lens Effect along the edges of objects produces a soft halo that exists on both inside and outside edges of your object. Edge filter applied to rays emanating from object Perim(eter) Alpha Applies the Lens Effect only to the perimeter of an object based on its alpha channel. Selecting this option applies the effect only on the outside of an object without any spill on the interior. Whereas filtering by Edge produces a spill onto the object, Perimeter Alpha keeps all of the edges clean because it relies on the scene alpha channel to derive its effect. Perim(eter) Applies the Lens Effect only to the perimeter of an object based on Edge interference. Although not as precise as Perimeter Alpha, you might need to use the Perimeter option at times when the alpha channel is unavailable. Bright Filters the source objects based on their brightness values. The effect is only applied to objects with a brightness above the spinner setting This option can be inverted by clicking the I button next to the spinner 7554 | Chapter 19 Effects and Environments Hue Filters the source objects by their hue. Select the hue by clicking the color swatch next to the spinner. You can choose hue values from 0 to 255. The spinner beside the Hue color swatch lets you enter a variance level so that the glow can find several different hues in the same range as the chosen color Additional Effects group Additional Effects allows you to apply maps such as Noise to your Lens Effect. You can display the Material/Map browser by clicking the long button next to the Apply check box. Apply Applies the selected map when activated. Radial Density Determines where and how much you would like the additional effects applied. Clicking the Radial Density button displays the Radial Density dialog on page 7588. Using the Radial Density dialog you can create points on a line and move those points along a graph to determine where the additional effect should be placed around the light. You can also use a map to determine where the additional effect should be placed. Auto Secondary Lens Effect Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Lens Effects ➤ Choose Auto Secondary, and click the (>) arrow button. Secondary flares are the small circles you would normally see coming out from the source of the lens flare along an axis relative to the camera position. These are caused by light refracting off the different lens elements in the camera. As the camera position changes relative to the source object, the secondary flares move. Lens Effects Rendering Effects | 7555 Adding secondary flares to the light 7556 | Chapter 19 Effects and Environments Interface Auto Secondary Element rollout, Parameters panel Name Displays the name of the effect. With Lens Effects you can have many different effects under one instance of Lens Effects. To keep them in order, it Lens Effects Rendering Effects | 7557 is necessary to name them to make sure that when you change parameters you are changing the parameters to the correct effect. On Applies the effect to the rendered image when activated. Default = on. Min Controls the minimum size of secondary flares in the current set. This number is defined as a percentage of the overall image. Max Controls the maximum size of secondary flares in the current set. This number is defined as a percentage of the overall image. Axis Defines the overall length of the axis the automatic secondary flares will be distributed along. Increasing the value creates more space between the flares, while decreasing the value creates less space between the flares. You can set the axis from 0 to 10 degrees. Intensity Controls the overall brightness and opacity of the individual effect. Higher values produce a bright, more opaque effect, and lower values produces a dim, transparent effect. Qty Controls the number of secondary flares that appear in the current set of flares. Use Source Color Mixes the source color of the light or object you are applying the effect to with the color or mapping set in the Radial Color or Circular Color parameters. A value of 0 uses only the values set in the Radial Color and Circular Color parameters while a value of 100 uses only the light or objects source color. Any value between 0 and 100 will render a mix between the source color and the effect’s color parameters. Sides Controls the shape of the secondary flares for the current set. The default is circular, but you can choose from 3- to 8-sided secondary flares. Occlusion Determines how much the Lens Effects Scene Occlusion parameters will affect the particular effect. The value entered determines what percentage of occlusion set in the Lens Effects Globals panel will be applied. Presets (drop-down list) Displays a list of preset values that can be selected and applied to the rendered scene. Squeeze Determines whether the effect will be squeezed. When activated, the effect will be squeezed according to Lens Effects Globals under the Parameters panel in the Squeeze spinner. Radial Color group The Radial Color settings affect the inner and outer colors of the effect. You can set the color swatches to set the inner and outer colors of the Lens Effect. 7558 | Chapter 19 Effects and Environments Each color swatch has a percentage spinner that determines at what point that color should stop and the next should start. You can also use bitmaps such as gradient or cellular to determine the radial color. Falloff Curve Displays the Radial Falloff dialog on page 7591 in which you can set weights for the colors used in Radial Color. By manipulating the Falloff Curve you can make the effect use more of one color or map than the other. You can also use a map to determine the falloff when a light is used as a Lens Effects source. Circular Color group Circular Color determines the color of the effect by using four different color swatches that are matched to the four quadrants of the effect. A map can also be used to determine circular color. Mix Allows you to mix between colors set in Radial Color and colors set in Circular Color. Setting the spinner at 0 will only use values set in Radial Color while setting the spinner at 100 will only use values set in Circular Color. Any value between 0 and 100 will mix between the two values. Falloff Curve Displays the Circular Falloff dialog on page 7584 in which you can set weights for the colors used in Circular Color. By manipulating the Falloff Curve you can make the effect use more of one color or map than another. You can also use a map to determine the falloff when a light is used as a Lens Effects source. Radial Size group Determines the radial size around the particular Lens Effect. Clicking the Size Curve button displays the Radial Size dialog on page 7595. Using the Radial Size dialog you can create points on a line and move those points along a graph to determine where the effect should be placed around the light or object. You can also use a map to determine where the effect should be placed. A check box is used to activate the map. Lens Effects Rendering Effects | 7559 Auto Secondary Element rollout, Options panel Apply Element To group Lights Applies the effect to lights picked in Lens Effects Globals under the Parameters tab in the Lights group box. Image Applies the effect to the rendered image using parameters set in Image Sources. Image Centers Applies to the center of an object or to portions of an object as determined by the Image Filters. Image Sources group Object ID Applies the Lens Effect to particular objects in your scene that have a corresponding G-Buffer on page 9173 (or Object) ID. The G-Buffer is a geometry buffer and can be defined when you right-click any object and select Properties from the menu. Then, set the Object Channel ID under the G-Buffer ID controls. 7560 | Chapter 19 Effects and Environments Material ID Applies the Lens Effect to an object or part of an object with a specific Material ID channel assigned to it. Assign the channel with the Material Editor ➤ Material ID channel flyout on page 6075. The effect is applied only to areas of the geometry where that ID channel is present. TIP In some cases you might want to apply different Lens Effects settings to different pieces of geometry or IDs. To accomplish this, add additional Lens Effects entries to the Lens Effects Parameters list. Then set each different Lens Effect entry to affect a different Material ID or Object ID and proceed. Unclamp An unclamped color is brighter than pure white (255,255,255). 3ds Max keeps track of these "hot" areas which tend to show up when your scene contains bright metallic highlights or explosions. This spinner lets you determine the lowest pixel value that the Lens Effect is applied to. Pure white has a pixel value of 1. When this spinner is set to 1, any pixels with a value above 255 will be glowed. You can invert this value by clicking the I button to the right of the spinner. Surf Norm Applies the Lens Effect to part of an object, based on the angle of the surface normal to the camera. A value of 0 is coplanar, or parallel to the screen. A value of 90 is normal, or perpendicular to the screen. If you set Surf Norm to 45, only surfaces with normal angles greater than 45 degrees will be glowed. You can invert this value by clicking the I button to the right of the spinner. Whole Applies the Lens Effect to the whole scene, not just a particular piece of geometry. This, in effect, makes each pixel in the scene a potential Lens Effect source. The areas of the scene that have the Lens Effect applied to them are determined by the settings in the Image Filters group box. Alpha Applies the Lens Effect to the alpha channel of an image. The transparency of an alpha channel is interpreted opposite that of the Mask channel. Range=0 to 255. Z Hi/Z Lo Highlights objects based on their distance (Z-Buffer distance) from the camera. The Hi value is the maximum distance and the Lo value is the minimum. Any objects between these two Z-Buffer distances will be highlighted. Image Filters group Filters the Image Sources selections to let you control how the Lens Effect is applied. For example, you can have ten spheres in your scene, each with the same Object ID, but different colors. If you set the Image Source as the Object Lens Effects Rendering Effects | 7561 ID of the spheres, which selects all of the spheres, these will be the only objects in the scene that Lens Effects will apply an effect to. However, now that Lens Effects knows where the pixels are that effects can be applied, it needs to know which ones to actually apply the effect to. Lens Effects uses the filter controls to find out which source pixels to apply the effect to. All Selects all source pixels in the scene and applies the Lens Effect to them. Edge Selects all source pixels along a boundary edge and applies the Lens Effect to them. Applying a Lens Effect along the edges of objects produces a soft halo that exists on both inside and outside edges of your object. Perim(eter) Alpha Applies the Lens Effect only to the perimeter of an object based on its alpha channel. Selecting this option applies the effect only on the outside of an object without any spill on the interior. Whereas filtering by Edge produces a spill onto the object, Perimeter Alpha keeps all of the edges clean because it relies on the scene alpha channel to derive its effect. Perim(eter) Applies the Lens Effect only to the perimeter of an object based on Edge interference. Although not as precise as Perimeter Alpha, you might need to use the Perimeter option at times when the alpha channel is unavailable. Bright Filters the source objects based on their brightness values. The effect is only applied to objects with a brightness above the spinner setting This option can be inverted by clicking the I button next to the spinner Hue Filters the source objects by their hue. Select the hue by clicking the color swatch next to the spinner. You can choose hue values from 0 to 255. The spinner beside the Hue color swatch lets you enter a variance level so that the glow can find several different hues in the same range as the chosen color Additional Effects group Additional Effects allows you to apply maps such as Noise to your Lens Effect. You can display the Material/Map browser by clicking the long button next to the Apply check box. Apply Applies the selected map when activated. Radial Density Determines where and how much you would like the additional effects applied. Clicking the Radial Density button displays the Radial Density dialog on page 7588. Using the Radial Density dialog you can create points on a line and move those points along a graph to determine where the additional effect should be placed around the light. You can also use a map to determine where the additional effect should be placed. 7562 | Chapter 19 Effects and Environments Manual Secondary Lens Effect Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Lens Effects ➤ Choose Manual Secondary, and click the (>) arrow button. Manual secondary flares are additional secondary flares that are individually added to the lens flare. These can be used in addition to, or in place of auto secondary flares on page 7555. You use Manual Secondary flares when you want to add unique flares that you don't want repeated. Lens Effects Rendering Effects | 7563 Interface Manual Secondary Element rollout, Parameters panel Name Displays the name of the effect. With Lens Effects you can have many different effects under one instance of Lens Effects. To keep them in order, it 7564 | Chapter 19 Effects and Environments is necessary to name them to make sure that when you change parameters you are changing the parameters to the correct effect. On Applies the effect to the rendered image when activated. Default = on. Size Determines the size of the effect. Intensity Controls the overall brightness and opacity of the individual effect. Higher values produce a bright, more opaque effect, and lower values produces a dim, transparent effect. Plane Controls the distance, in degrees, between the flare source and the manual secondary flare. By default, the flare plane exists at the center of the chosen node source. Positive values place the flare in front of the source, while negative values place the flare behind the flare source. Use Source Color Mixes the source color of the light or object you are applying the effect to and the color or mapping set in the Radial Color or Circular Color parameters. A value of 0 uses only the values set in the Radial Color and Circular Color parameters while a value of 100 uses only the light or objects source color. Any value between 0 and 100 will render a mix between the source color and the effect’s color parameters. Sides Controls the shape of the secondary flares for the current set. The default is circular, but you can choose from 3- to 8-sided secondary flares. Occlusion Determines how much the Lens Effects Scene Occlusion parameters will affect the particular effect. The value entered determines what percentage of occlusion set in the Lens Effects Globals panel will be applied. Presets (drop-down list) Displays a list of preset values that can be selected and applied to the rendered scene. Squeeze Determines whether the effect will be squeezed. When activated, the effect will be squeezed according to Lens Effects Globals under the Parameters panel in the Squeeze spinner. Radial Color group The Radial Color settings affect the inner and outer colors of the effect. You can set the color swatches to set the inner and outer colors of the Lens Effect. You can also use bitmaps such as gradient or cellular to determine the radial color. Falloff Curve Displays the Radial Falloff dialog on page 7591 in which you can set weights for the colors used in Radial Color. By manipulating the Falloff Curve you can make the effect use more of one color or map than the other. Lens Effects Rendering Effects | 7565 You can also use a map to determine the falloff when a light is used as a Lens Effects source. Circular Color group Circular Color determines the color of the effect by using four different color swatches that are matched to the four quadrants of the effect. A map can also be used to determine circular color. Mix Mixes colors set in Radial Color and colors set in Circular Color. Setting the spinner at 0 will only use values set in Radial Color while setting the spinner at 100 will only use values set in Circular Color. Any value between 0 and 100 will mix between the two values. Falloff Curve Displays the Circular Falloff dialog on page 7584 in which you can set weights for the colors used in Circular Color. By manipulating the Falloff Curve you can make the effect use more of one color or map than another. You can also use a map to determine the falloff when a light is used as a Lens Effects source. Radial Size group Determines the radial size around the particular Lens Effect. Clicking the Size Curve button displays the Radial Size dialog on page 7595. Using the Radial Size dialog you can create points on a line and move those points along a graph to determine where the effect should be placed around the light or object. You can also use a map to determine where the effect should be placed. A check box is used to activate the map. 7566 | Chapter 19 Effects and Environments Manual Secondary Element rollout, Options panel Apply Element To group Lights Applies the effect to lights picked in Lens Effects Globals under the Parameters tab in the Lights group box. Image Applies the effect to the rendered image using parameters set in Image Sources. Image Centers Applies to the center of an object or to portions of an object as determined by the Image Filters. Image Sources group Object ID Applies the Lens Effect to particular objects in your scene that have a corresponding G-Buffer on page 9173 (or Object) ID. The G-Buffer is a geometry buffer and can be defined when you right-click any object and select Properties from the menu. Then, set the Object Channel ID under the G-Buffer ID controls. Lens Effects Rendering Effects | 7567 Material ID Applies the Lens Effect to an object or part of an object with a specific Material ID channel assigned to it. Assign the channel with the Material Editor ➤ Material ID channel flyout on page 6075. The effect is applied only to areas of the geometry where that ID channel is present. TIP In some cases you might want to apply different Lens Effects settings to different pieces of geometry or IDs. To accomplish this, add additional Lens Effects entries to the Lens Effects Parameters list. Then set each different Lens Effect entry to affect a different Material ID or Object ID and proceed. Unclamp An unclamped color is brighter than pure white (255,255,255). 3ds Max keeps track of these "hot" areas which tend to show up when your scene contains bright metallic highlights or explosions. This spinner lets you determine the lowest pixel value that the Lens Effect is applied to. Pure white has a pixel value of 1. When this spinner is set to 1, any pixels with a value above 255 will be glowed. You can invert this value by clicking the I button to the right of the spinner. Surf Norm Applies the Lens Effect to part of an object, based on the angle of the surface normal to the camera. A value of 0 is coplanar, or parallel to the screen. A value of 90 is normal, or perpendicular to the screen. If you set Surf Norm to 45, only surfaces with normal angles greater than 45 degrees will be glowed. You can invert this value by clicking the I button to the right of the spinner. Whole Applies the Lens Effect to the whole scene, not just a particular piece of geometry. This, in effect, makes each pixel in the scene a potential Lens Effect source. The areas of the scene that have the Lens Effect applied to them are determined by the settings in the Image Filters group box. Alpha Applies the Lens Effect to the alpha channel of an image. The transparency of an alpha channel is interpreted opposite that of the Mask channel. Range=0 to 255. Z Hi/Z Lo Highlights objects based on their distance (Z-Buffer distance) from the camera. The Hi value is the maximum distance and the Lo value is the minimum. Any objects between these two Z-Buffer distances will be highlighted. Image Filters group Filters the Image Sources selections to let you control how the Lens Effect is applied. For example, you can have ten spheres in your scene, each with the same Object ID, but different colors. If you set the Image Source as the Object 7568 | Chapter 19 Effects and Environments ID of the spheres, which selects all of the spheres, these will be the only objects in the scene that Lens Effects will apply an effect to. However, now that Lens Effects knows where the pixels are that effects can be applied, it needs to know which ones to actually apply the effect to. Lens Effects uses the filter controls to find out which source pixels to apply the effect to. All Selects all source pixels in the scene and applies the Lens Effect to them. Edge Selects all source pixels along a boundary edge and applies the Lens Effect to them. Applying a Lens Effect along the edges of objects produces a soft halo that exists on both inside and outside edges of your object. Perim(eter) Alpha Applies the Lens Effect only to the perimeter of an object based on its alpha channel. Selecting this option applies the effect only on the outside of an object without any spill on the interior. Whereas filtering by Edge produces a spill onto the object, Perimeter Alpha keeps all of the edges clean because it relies on the scene alpha channel to derive its effect. Perim(eter) Applies the Lens Effect only to the perimeter of an object based on Edge interference. Although not as precise as Perimeter Alpha, you might need to use the Perimeter option at times when the alpha channel is unavailable. Bright Filters the source objects based on their brightness values. The effect is only applied to objects with a brightness above the spinner setting This option can be inverted by clicking the I button next to the spinner Hue Filters the source objects by their hue. Select the hue by clicking the color swatch next to the spinner. You can choose hue values from 0 to 255. The spinner beside the Hue color swatch lets you enter a variance level so that the glow can find several different hues in the same range as the chosen color Additional Effects group Additional Effects allows you to apply maps such as Noise to your Lens Effect. You can display the Material/Map browser by clicking the long button next to the Apply check box. Apply Applies the selected map when activated. Radial Density Determines where and how much you would like the additional effects applied. Clicking the Radial Density button displays the Radial Density dialog on page 7588. Using the Radial Density dialog you can create points on a line and move those points along a graph to determine where the additional effect should be placed around the light. You can also use a map to determine where the additional effect should be placed. Lens Effects Rendering Effects | 7569 Star Lens Effect Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Lens Effects ➤ Choose Star, and click the (>) arrow button. A Star is larger than a Ray effect on page 7548 and is composed of 0 to 30 spokes, instead of hundreds like a ray. Adding a star to the light 7570 | Chapter 19 Effects and Environments Interface Star Element rollout, Parameters panel Name Displays the name of the effect. With Lens Effects, you can have many different effects under one instance of Lens Effects. To keep them in order, it is necessary to name them to make sure that when you change parameters you are changing the parameters to the correct effect. On Applies the effect to the rendered image when activated. Lens Effects Rendering Effects | 7571 Size Determines the size of the effect. Intensity Controls the overall brightness and opacity of the individual effect. Higher values produce a bright, more opaque effect, and lower values produces a dim, transparent effect. Width Specifies the width of the individual spokes, as a percentage of the overall frame. Angle Sets the starting angle in degrees in which the star spokes point. You can enter both positive and negative values so, when animated, the star spokes rotate in a clockwise or counterclockwise direction. Taper Controls the taper of the individual spokes of the star. Taper widens or narrows the tips of the individual star points. Low numbers create a sharp point, while high numbers flare the points. Sharp Specifies the overall sharpness of the star. Higher numbers produce crisp, clean, and clear stars. Lower numbers produce more of a secondary glow look. Range=0 to 10. Qty Specifies the number of spokes in the star effect. The default is 6. Spokes are spaced at equidistant points about the center of the flare. Glow Behind Gives the effect the ability to be displayed behind objects in your 3ds Max scene. Occlusion Determines how much the Lens Effects Scene Occlusion parameters will affect the particular effect. The value entered determines what percentage of occlusion set in the Lens Effects Globals panel will be applied. Squeeze Determines whether the effect will be squeezed. When activated, the effect will be squeezed according to Lens Effects Globals under the Parameters panel in the Squeeze spinner. Use Source Color Mixes the source color of the light or object you are applying the effect to and the color or mapping set in the Radial Color or Circular Color parameters. A value of 0 uses only the values set in the Radial Color and Circular Color parameters while a value of 100 uses only the light or objects source color. Any value between 0 and 100 will render a mix between the source color and the effect’s color parameters. Radial Color group The Radial Color settings affect the inner and outer colors of the effect. You can set the color swatches to set the inner and outer colors of the Lens Effect. You can also use bitmaps such as gradient or cellular to determine the radial color. 7572 | Chapter 19 Effects and Environments Falloff Curve Displays the Radial Falloff dialog on page 7591 in which you can set weights for the colors used in Radial Color. By manipulating the Falloff Curve you can make the effect use more of one color or map than the other. You can also use a map to determine the falloff when a light is used as a Lens Effects source. Section Color group Selection Color determines the color of the effect by using three different color swatches that are matched to the three sections of the effect. A map can also be used to determine section color. Mix Mixes colors set in Radial Color and colors set in Section Color. Setting the spinner at 0 will only use values set in Radial Color while setting the spinner at 100 will only use values set in Section Color. Any value between 0 and 100 will mix between the two values. Falloff Curve Displays the Circular Falloff dialog on page 7584 in which you can set weights for the colors used in Section Color. By manipulating the Falloff Curve you can make the effect use more of one color or map than another. You can also use a map to determine the falloff when a light is used as a Lens Effects source. Radial Size group Determines the radial size around the particular Lens Effect. Clicking the Size Curve button displays the Radial Size dialog on page 7595. Using the Radial Size dialog you can create points on a line and move those points along a graph to determine where the effect should be placed around the light or object. You can also use a map to determine where the effect should be placed. A check box is used to activate the map. Lens Effects Rendering Effects | 7573 Star Element rollout, Options panel Apply Element To group Lights Applies the effect to lights picked in Lens Effects Globals under the Parameters tab in the Lights group box. Image Applies the effect to the rendered image using parameters set in Image Sources. Image Centers Applies to the center of an object or to portions of an object as determined by the Image Filters. Image Sources group Object ID Applies the Lens Effect to particular objects in your scene that have a corresponding G-Buffer on page 9173 (or Object) ID. The G-Buffer is a geometry buffer and can be defined when you right-click any object and select Properties from the menu. Then, set the Object Channel ID under the G-Buffer ID controls. 7574 | Chapter 19 Effects and Environments Material ID Applies the Lens Effect to an object or part of an object with a specific Material ID channel assigned to it. Assign the channel with the Material Editor ➤ Material ID channel flyout on page 6075. The effect is applied only to areas of the geometry where that ID channel is present. TIP In some cases you might want to apply different Lens Effects settings to different pieces of geometry or IDs. To accomplish this, add additional Lens Effects entries to the Lens Effects Parameters list. Then set each different Lens Effect entry to affect a different Material ID or Object ID and proceed. Unclamp An unclamped color is brighter than pure white (255,255,255). 3ds Max keeps track of these "hot" areas which tend to show up when your scene contains bright metallic highlights or explosions. This spinner lets you determine the lowest pixel value that the Lens Effect is applied to. Pure white has a pixel value of 1. When this spinner is set to 1, any pixels with a value above 255 will be glowed. You can invert this value by clicking the I button to the right of the spinner. Surf Norm Applies the Lens Effect to part of an object, based on the angle of the surface normal to the camera. A value of 0 is coplanar, or parallel to the screen. A value of 90 is normal, or perpendicular to the screen. If you set Surf Norm to 45, only surfaces with normal angles greater than 45 degrees will be glowed. You can invert this value by clicking the I button to the right of the spinner. Whole Applies the Lens Effect to the whole scene, not just a particular piece of geometry. This, in effect, makes each pixel in the scene a potential Lens Effect source. The areas of the scene that have the Lens Effect applied to them are determined by the settings in the Image Filters group box. Alpha Applies the Lens Effect to the alpha channel of an image. The transparency of an alpha channel is interpreted opposite that of the Mask channel. Range=0 to 255. Z Hi/Z Lo Highlights objects based on their distance (Z-Buffer distance) from the camera. The Hi value is the maximum distance and the Lo value is the minimum. Any objects between these two Z-Buffer distances will be highlighted. Image Filters group Filters the Image Sources selections to let you control how the Lens Effect is applied. For example, you can have ten spheres in your scene, each with the same Object ID, but different colors. If you set the Image Source as the Object Lens Effects Rendering Effects | 7575 ID of the spheres, which selects all of the spheres, these will be the only objects in the scene that Lens Effects will apply an effect to. However, now that Lens Effects knows where the pixels are that effects can be applied, it needs to know which ones to actually apply the effect to. Lens Effects uses the filter controls to find out which source pixels to apply the effect to. All Selects all source pixels in the scene and applies the Lens Effect to them. Edge Selects all source pixels along a boundary edge and applies the Lens Effect to them. Applying a Lens Effect along the edges of objects produces a soft halo that exists on both inside and outside edges of your object. Perim(eter) Alpha Applies the Lens Effect only to the perimeter of an object based on its alpha channel. Selecting this option applies the effect only on the outside of an object without any spill on the interior. Whereas filtering by Edge produces a spill onto the object, Perimeter Alpha keeps all of the edges clean because it relies on the alpha channel to derive its effect. Perim(eter) Applies the Lens Effect only to the perimeter of an object based on Edge interference. Although not as precise as Perimeter Alpha, you might need to use the Perimeter option at times when the alpha channel is unavailable. Bright Filters the source objects based on their brightness values. The effect is only applied to objects with a brightness above the spinner setting This option can be inverted by clicking the I button next to the spinner Hue Filters the source objects by their hue. Select the hue by clicking the color swatch next to the spinner. You can choose hue values from 0 to 255. The spinner beside the Hue color swatch lets you enter a variance level so that the glow can find several different hues in the same range as the chosen color Additional Effects group Additional Effects allows you to apply maps such as Noise to your Lens Effect. You can display the Material/Map browser by clicking the long button next to the Apply check box. Apply Applies the selected map when activated. Radial Density Determines where and how much you would like the additional effects applied. Clicking the Radial Density button displays the Radial Density dialog on page 7588. Using the Radial Density dialog you can create points on a line and move those points along a graph to determine where the additional effect should be placed around the light. You can also use a map to determine where the additional effect should be placed. 7576 | Chapter 19 Effects and Environments Streak Lens Effect Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Lens Effects ➤ Choose Streak, and click the (>) arrow button. A streak is a wide band that runs through the center of the source object. In real camera work, it is produced when using anamorphic lenses to film a scene. Adding a streak to the light Lens Effects Rendering Effects | 7577 Interface Streak Element rollout, Parameters panel Name Displays the name of the effect. With Lens Effects, you can have many different effects under one instance of Lens Effects. To keep them in order, it is necessary to name them to make sure that when you change parameters you are changing the parameters to the correct effect. On Applies the effect to the rendered image when activated. Size Determines the size of the effect. 7578 | Chapter 19 Effects and Environments Intensity Controls the overall brightness and opacity of the individual effect. Higher values produce a bright, more opaque effect, and lower values produces a dim, transparent effect. Width Specifies the width of the streak, as a percentage of the frame. Angle Specifies the angle for the streak. You can enter both positive and negative values so, when animated, the streak rotates in a clockwise or counterclockwise direction. Taper Controls the taper of the individual spokes of the streak. Taper widens or narrows the tips of the individual streak points. Low numbers create a sharp point, while high numbers flare the points. Sharp Specifies the overall sharpness of the streak. Higher numbers produce crisp, clean, and clear streaks. Lower numbers produce more of a secondary glow look. Range=0 to 10. Glow Behind Gives the effect the ability to be displayed behind objects in your 3ds Max scene. Occlusion Determines how much the Lens Effects Scene Occlusion parameters will affect the particular effect. The value entered determines what percentage of occlusion set in the Lens Effects Globals panel will be applied. Squeeze Determines whether the effect will be squeezed. When activated, the effect will be squeezed according to Lens Effects Globals under the Parameters panel in the Squeeze spinner. Use Source Color Mixes the source color of the light or object you are applying the effect to and the color or mapping set in the Radial Color or Circular Color parameters. A value of 0 uses only the values set in the Radial Color and Circular Color parameters while a value of 100 uses only the light or objects source color. Any value between 0 and 100 will render a mix between the source color and the effect’s color parameters. Radial Color group Falloff Curve Displays the Radial Falloff dialog on page 7591 in which you can set weights for the colors used in Radial Color. By manipulating the Falloff Curve you can make the effect use more of one color or map than the other. You can also use a map to determine the falloff when a light is used as a Lens Effects source. Lens Effects Rendering Effects | 7579 Section Color group Section Color determines the color of the effect by using three different color swatches that are matched to the three sections of the effect. A map can also be used to determine section color. Mix Mixes colors set in Radial Color and colors set in Section Color. Setting the spinner at 0 will only use values set in Radial Color while setting the spinner at 100 will only use values set in Section Color. Any value between 0 and 100 will mix between the two values. Falloff Curve Displays the Circular Falloff dialog on page 7584 in which you can set weights for the colors used in Section Color. By manipulating the Falloff Curve you can make the effect use more of one color or map than another. You can also use a map to determine the falloff when a light is used as a Lens Effects source. Radial Size group Determines the radial size around the particular Lens Effect. Clicking the Size Curve button displays the Radial Size dialog on page 7595. Using the Radial Size dialog you can create points on a line and move those points along a graph to determine where the effect should be placed around the light or object. You can also use a map to determine where the effect should be placed. A check box is used to activate the map. 7580 | Chapter 19 Effects and Environments Streak Element rollout, Options panel Apply Element To group Lights Applies the effect to lights picked in Lens Effects Globals under the Parameters tab in the Lights group box. Image Applies the effect to objects that have a corresponding Object ID channel. Image Centers Applies to the center of an object or to portions of an object as determined by the Image Filters. Image Sources group Object ID Applies the Lens Effect to particular objects in your scene that have a corresponding G-Buffer on page 9173 (or Object) ID. The G-Buffer is a geometry buffer and can be defined when you right-click any object and select Properties from the menu. Then, set the Object Channel ID under the G-Buffer ID controls. Lens Effects Rendering Effects | 7581 Material ID Applies the Lens Effect to an object or part of an object with a specific Material ID channel assigned to it. Assign the channel with the Material Editor ➤ Material ID channel flyout on page 6075. The effect is applied only to areas of the geometry where that ID channel is present. TIP In some cases you might want to apply different Lens Effects settings to different pieces of geometry or IDs. To accomplish this, add additional Lens Effects entries to the Lens Effects Parameters list. Then set each different Lens Effect entry to affect a different Material ID or Object ID and proceed. Unclamp An unclamped color is brighter than pure white (255,255,255). 3ds Max keeps track of these "hot" areas which tend to show up when your scene contains bright metallic highlights or explosions. This spinner lets you determine the lowest pixel value that the Lens Effect is applied to. Pure white has a pixel value of 1. When this spinner is set to 1, any pixels with a value above 255 will be glowed. You can invert this value by clicking the I button to the right of the spinner. Surf Norm Applies the Lens Effect to part of an object, based on the angle of the surface normal to the camera. A value of 0 is coplanar, or parallel to the screen. A value of 90 is normal, or perpendicular to the screen. If you set Surf Norm to 45, only surfaces with normal angles greater than 45 degrees will be glowed. You can invert this value by clicking the I button to the right of the spinner. Whole Applies the Lens Effect to the whole scene, not just a particular piece of geometry. This, in effect, makes each pixel in the scene a potential Lens Effect source. The areas of the scene that have the Lens Effect applied to them are determined by the settings in the Image Filters group box. Alpha Applies the Lens Effect to the alpha channel of an image. The transparency of an alpha channel is interpreted opposite that of the Mask channel. Range=0 to 255. Z Hi/Z Lo Highlights objects based on their distance (Z-Buffer distance) from the camera. The Hi value is the maximum distance and the Lo value is the minimum. Any objects between these two Z-Buffer distances will be highlighted. Image Filters group Filters the Image Sources selections to let you control how the Lens Effect is applied. For example, you can have ten spheres in your scene, each with the same Object ID, but different colors. If you set the Image Source as the Object 7582 | Chapter 19 Effects and Environments ID of the spheres, which selects all of the spheres, these will be the only objects in the scene that Lens Effects will apply an effect to. However, now that Lens Effects knows where the pixels are that effects can be applied, it needs to know which ones to actually apply the effect to. Lens Effects uses the filter controls to find out which source pixels to apply the effect to. All Selects all source pixels in the scene and applies the Lens Effect to them. Edge Selects all source pixels along a boundary edge and applies the Lens Effect to them. Applying a Lens Effect along the edges of objects produces a soft halo that exists on both inside and outside edges of your object. Perim(eter) Alpha Applies the Lens Effect only to the perimeter of an object based on its alpha channel. Selecting this option applies the effect only on the outside of an object without any spill on the interior. Whereas filtering by Edge produces a spill onto the object, Perimeter Alpha keeps all of the edges clean because it relies on the scene alpha channel to derive its effect. Perim(eter) Applies the Lens Effect only to the perimeter of an object based on Edge interference. Although not as precise as Perimeter Alpha, you might need to use the Perimeter option at times when the alpha channel is unavailable. Bright Filters the source objects based on their brightness values. The effect is only applied to objects with a brightness above the spinner setting This option can be inverted by clicking the I button next to the spinner Hue Filters the source objects by their hue. Select the hue by clicking the color swatch next to the spinner. You can choose hue values from 0 to 255. The spinner beside the Hue color swatch lets you enter a variance level so that the glow can find several different hues in the same range as the chosen color Additional Effects group Additional Effects allows you to apply maps such as Noise to your Lens Effect. You can display the Material/Map browser by clicking the long button next to the Apply check box. Apply Applies the selected map when activated. Radial Density Determines where and how much you would like the additional effects applied. Clicking the Radial Density button displays the Radial Density dialog on page 7588. Using the Radial Density dialog you can create points on a line and move those points along a graph to determine where the additional effect should be placed around the light. You can also use a map to determine where the additional effect should be placed. Lens Effects Rendering Effects | 7583 Lens Effects Dialogs The topics in this section describe support dialogs that are common to the various lens effects. Circular Falloff Graph (Lens Effects) Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Lens Effects ➤ Choose any effect, and click the (>) arrow button. ➤ Parameters tab of the rollout for that effect ➤ Falloff Curve (under the Circular or Section Color group) The Circular Falloff graph allows you to add weight to a particular color applied to your Lens Effect. By weighting the colors that you apply you can choose to display more of one color than another. You can also make the transition of colors gradual from one color to the next or you can create a sharp edge to the transition. 7584 | Chapter 19 Effects and Environments Rings with different Circular Falloff settings The Circular Falloff graph has controls at the top for creating and moving points on a curve on the graph below. The curve represents the range of colors you have selected in the Circular Color group box to apply to the current Lens Effect. When you open the graph you will notice that there is already a line with a point on each end which represents the linear transition from one color to the next. By placing points along the curve, you can drag these points to increase or decrease a colors intensity or to eliminate it altogether. Lens Effects Rendering Effects | 7585 Buttons are available at the bottom of the graph that allow you to change the display of the graph. You can also manually enter a horizontal or vertical position by entering a value into the two entry boxes. Interface Move flyout Move Moves a selected point in any direction, limited by the unselected points on either side. For a Bezier smooth point, you can move the point or either handle. The Move function remains active until you click another button. The button is highlighted (by default, in yellow) while it is active. Move Constrains movement to the horizontal. Move Constrains movement to the vertical. Scale Point button Scale Point Scales a point vertically. Click once to enable Scale Point. The Scale Point function remains active until you click another button. The button is highlighted (by default, in yellow) while it is active. 7586 | Chapter 19 Effects and Environments Add Point flyout Add Point Adds a Bezier corner point anywhere along the Circular Falloff curve. The point makes a sharp angle when moved. Click once to enable Add Point. The Add Point function remains active until you click another button. The button is highlighted (by default, in yellow) while it is active. Add Point Adds a Bezier smooth point anywhere along the Circular Falloff curve. Handles attached to the point create smooth curves when moved. TIP When either Add Point button is active, you can use Ctrl+click to create the other type of point. This is an alternative to using the flyout. Delete Point button Delete Point Deletes the selected points. Navigation controls (Status bar) Horizontal Position Allows you to manually enter a horizontal position value for a selected point. Vertical Position Allows you to manually enter a vertical position value for a selected point. Pan Allows you to click and drag the Circular Falloff graph window to move it left and right or up and down. Click once to enable panning. Pan remains active until you click another button. The button is hightlighted (by default, in yellow) while it is active. Zoom Extents Fits the curve within the graph window both vertically and horizontally so that the entire curve is visible. Lens Effects Rendering Effects | 7587 Zoom Horizontal Extents Fits the curve horizontally within the graph window so that the full length of the curve is visible. Zoom Vertical Extents Fits the curve vertically within the Circular Falloff graph window so that the full height of the curve is visible. Zoom Horizontally Scales the Circular Falloff graph horizontally. Zoom Vertically Scales the Circular Falloff graph vertically. Zoom Zooms in and out of the entire Circular Falloff graph window. Zoom Region Allows you to drag a region in the Circular Falloff graph window and scale that region to fill the window. Radial Density Dialog (Lens Effects) Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Lens Effects ➤ Choose any effect, and click the (>) arrow button. ➤ Options tab of the rollout for that effect ➤ Radial Density (under the Additional Effects group) The Radial Density dialog allows you to add weight to any additional effect applied to the Lens Effect. By weighting the density of the additional effect that you apply you can choose particular areas in the effect to display more of the additional effect or to eliminate it altogether. You can also use Radial Density to gradually fade the additional effect from maximum density down to zero or you can create a sharp edge to the transition. 7588 | Chapter 19 Effects and Environments Object with different Ray effects due to different Radial Density settings The Radial Density dialog has controls at the top for creating and moving Points on a curve on the graph below. The curve represents the density of the additional effect being applied to the Lens Effect. When you open the dialog you will notice that there is already a line with a Point on each end which represents the density of the effect. The default falloff is a fade from a density value of 1 starting from the center of the effect toward the outer edges which has a value of 0. This produces an effect with more density being rendered at the center of the effect and a gradual fading out to no density at the edges. By placing Points along the curve, you can drag these points to increase or decrease the density of an additional effect or eliminate it in some areas altogether. Buttons are available at the bottom of the dialog that allow you to change the display of the dialog. You can also manually enter a horizontal or vertical position by entering a value into the two entry boxes. Lens Effects Rendering Effects | 7589 Interface Toolbar Move Moves selected points in any direction. Click and hold the Move button to display the flyout where you can select a button to move in any direction, move only in the horizontal direction, or move only in the vertical direction. The Move function remains active until you click another button. The button is yellow while it is active. Scale Point Vertically scales a point up or down. Click once to enable Scale Point. The Scale Point function remains active until you click another button. The button is yellow while it is active. Add Point Allows you to add points anywhere along the Radial Density curve. Click and hold the Add Point button to display the flyout where you can select a button to add either a Corner Point or a Bezier Point. Click once to enable Add Point. The Add Point function remains active until you click another button. The button is yellow while it is active. Delete Point Deletes selected points. Status Bar Horizontal Position Allows you to manually enter a horizontal position value for a selected point. Vertical Position Allows you to manually enter a vertical position value for a selected point. Pan Allows you to click and drag the Radial Density dialog window to move it left and right or up and down. Click once to enable panning. Pan remains active until you click another button. The button is yellow while it is active. Zoom Extents Fits the curve within the dialog window both vertically and horizontally so that the entire curve is visible. 7590 | Chapter 19 Effects and Environments Zoom Horizontal Extents Fits the curve horizontally within the dialog window so that the full length of the curve is visible. Zoom Vertical Extents Fits the curve vertically within the Radial Density dialog window so that the full height of the curve is visible. Zoom Horizontally Scales the width of the Radial Density dialog window. Zoom Vertically Scales the length of the Radial Density dialog window. Zoom Zooms in and out of the entire Radial Density dialog window. Zoom Region Allows you to drag a region in the Radial Density dialog window and scale that region to fill the window. Radial Falloff Dialog (Lens Effects) Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Lens Effects ➤ Choose any effect, and click the (>) arrow button. ➤ Parameters tab of the rollout for that effect ➤ Falloff Curve (under the Radial Color group) The Radial Falloff dialog allows you to add weight to a particular color applied to your Lens Effect. By weighting the colors that you apply you can choose to display more of one color than another. You can also make the transition of colors gradual from one color to the next or you can create a sharp edge to the transition. Lens Effects Rendering Effects | 7591 Rings with different Radial Falloff settings The Radial Falloff graph has controls at the top for creating and moving Points on a curve on the graph below. The curve represents the range of colors you have selected in the Radial Color group box to apply to the current Lens Effect. When you open the dialog you will notice that there is already a line with a Point on each end which represents the linear transition from one color to the next. The default falloff is a fade from one color at a value of one to the other color which ends at a value of zero. This produces an effect with more intensity on the first color and a considerable fading out of the second color. 7592 | Chapter 19 Effects and Environments By placing Points along the curve, you can drag these points to increase or decrease a colors intensity or to eliminate it altogether. Buttons are available at the bottom of the dialog that allow you to change the display of the dialog. You can also manually enter a horizontal or vertical position by entering a value into the two entry boxes. Interface Toolbar Move Moves selected points in any direction. Click and hold the Move button to display the flyout where you can select a button to move in any direction, move only in the horizontal direction, or move only in the vertical direction. The Move function remains active until you click another button. The button is yellow while it is active. Scale Point Vertically scales a point up or down. Click once to enable Scale Point. The Scale Point function remains active until you click another button. The button is yellow while it is active. Add Point Allows you to add points anywhere along the Circular Falloff curve. Click and hold the Add Point button to display the flyout where you can select a button to add either a Corner Point or a Bezier Point. Click once to enable Add Point. The Add Point function remains active until you click another button. The button is yellow while it is active. Lens Effects Rendering Effects | 7593 Delete Point Deletes selected points. Status Bar Horizontal Position Allows you to manually enter a horizontal position value for a selected point. Vertical Position Allows you to manually enter a vertical position value for a selected point. Pan Allows you to click and drag the Radial Falloff graph to move it left and right or up and down. Click once to enable panning. Pan remains active until you click another button. The button is yellow while it is active. Zoom Extents Fits the curve within the dialog window both vertically and horizontally so that the entire curve is visible. Zoom Horizontal Extents Fits the curve horizontally within the dialog window so that the full length of the curve is visible. Zoom Vertical Extents Fits the curve vertically within the Radial Falloff graph so that the full height of the curve is visible. Zoom Horizontally Scales the width of the Radial Falloff graph. Zoom Vertically Scales the length of the Radial Falloff graph. Zoom Zooms in and out of the entire Radial Falloff graph. Zoom Region Allows you to drag a region in the Radial Falloff graph and scale that region to fill the window. 7594 | Chapter 19 Effects and Environments Radial Size Dialog (Lens Effects) Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Lens Effects ➤ Choose any effect, and click the (>) arrow button. ➤ Parameters tab of the rollout for that effect ➤ Falloff Curve (under the Radial Size group) The Radial Size dialog gives you the ability to determine the size of your Lens Effect. The Radial Size dialog displays a curve with a point on each end which represents the Radial Size of your Lens Effect. The default position of the curve is one which means the Lens Effect will have the same radius around the center of the effect. Lens Effects Rendering Effects | 7595 Objects with different Radial Sizes settings applied to Glow By adding and moving points along the curve you can make areas of the effect extend further by moving a point above a value of one on the graph. You can also diminish areas of the effect by moving a point between one and zero on the graph. Finally, you can eliminate areas of the effect by moving a point below zero on the graph. 7596 | Chapter 19 Effects and Environments Buttons are available at the bottom of the dialog that allow you to change the display of the dialog. You can also manually enter a horizontal or vertical position by entering a value in the two entry boxes. Interface Toolbar Move Moves selected points in any direction. Click and hold the Move button to display the flyout where you can select a button to move in any direction, move only in the horizontal direction, or move only in the vertical direction. The Move function remains active until you click another button. The button is yellow while it is active. Scale Point Vertically scales a point up or down. Click once to enable Scale Point. The Scale Point function remains active until you click another button. The button is yellow while it is active. Add Point Allows you to add points anywhere along the Radial Size curve. Click and hold the Add Point button to display the flyout where you can select a button to add either a Corner Point or a Bezier Point. Click once to enable Add Point. The Add Point function remains active until you click another button. The button is yellow while it is active. Delete Point Deletes selected points. Lens Effects Rendering Effects | 7597 Status Bar Horizontal Position Allows you to manually enter a horizontal position value for a selected point. Vertical Position Allows you to manually enter a vertical position value for a selected point. Pan Allows you to click and drag the Radial Size graph to move it left and right or up and down. Click once to enable panning. Pan remains active until you click another button. The button is yellow while it is active. Zoom Extents Fits the curve within the dialog window both vertically and horizontally so that the entire curve is visible. Zoom Horizontal Extents Fits the curve horizontally within the dialog window so that the full length of the curve is visible. Zoom Vertical Extents Fits the curve vertically within the Radial Size graph so that the full height of the curve is visible. Zoom Horizontally Scales the width of the Radial Size graph. Zoom Vertically Scales the length of the Radial Size graph. Zoom Zooms in and out of the entire Radial Size graph. Zoom Region Allows you to drag a region in the Radial Size graph and scale that region to fill the window. Blur Rendering Effect Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Blur 7598 | Chapter 19 Effects and Environments The Blur effect allows you to blur your image in three different methods: Uniform, Directional, and Radial. Blur works on individual pixels according to selections made in the Pixel Selections panel. You can blur an entire image, non-background scene elements, by luminance value, or by using a map mask. Blur can give your animation added realism by rendering the illusion of object or camera movement. Object before and after adding midrange Blur effect. Blur Rendering Effect | 7599 Interface Blur Parameters rollout, Blur Type panel Uniform Applies the Blur effect evenly across the entire rendered image. Pixel Radius Determines the intensity of the Blur effect. Increasing the value increases the number of surrounding pixels that each pixel will use to compute its blur. The more pixels used means a greater blur for the image. Affect Alpha Applies the Uniform Blur effect to the alpha channel when turned on. Directional Applies the Blur effect in any direction according to the Directional parameters. The U Pixel Radius and Trail blur the pixels horizontally while the V Pixel Radius and Trail blur the pixels vertically. Rotation is used to rotate the axis of the horizontal and vertical blurring. U Pixel Radius Determines the horizontal intensity of the Blur effect. Increasing the value increases the number of surrounding pixels that each pixel will use to compute its blur. The more pixels used means a greater horizontal blur for the image. 7600 | Chapter 19 Effects and Environments U Trail Adds “direction” to your blur by weighting more blur to either side of the U axis. This adds a streaking effect and creates the illusion that your objects or your camera are rapidly moving in a particular direction. V Pixel Radius Determines the vertical intensity of the Blur effect. Increasing the value increases the number of surrounding pixels that each pixel will use to compute its blur, and creates a greater vertical blur for the image. V Trail Adds “direction” to your blur by weighting more blur to either side of the V axis. This adds a streaking effect and creates the illusion that your objects or your camera are rapidly moving in a particular direction. Rotation Rotates the axis of the U and V pixels that will be blurred by the U and V Pixel Radius spinners. By using Rotation with the U and V Pixel Radius spinners you can have the Blur effect applied to any direction in your rendered image. When rotation is 0, U corresponds to the image’s X axis and V corresponds to the image’s Y axis. Affect Alpha Applies the Directional Blur effect to the Alpha channel when turned on. Radial Applies the Blur effect radially. Using the Radial parameters you can define a point within your rendered image to use as the center of the Radial Blur. You can use an object as the center or an arbitrary location set by the X and Y Origin spinners. The Blur effect will apply the least amount of blur to the center origin of the effect and gradually increase the blur to the pixels further away from the center. This can be used to simulate motion blur caused by camera zoom. Pixel Radius Determines the intensity of the Radius Blur effect. Increasing the value increases the number of surrounding pixels that each pixel will use to compute its blur. The more pixels used means a greater blur for the image. Trail Adds “direction” to your blur by weighting more or less blur toward the center of the Blur effect. This adds a streaking effect and creates the illusion that your objects or your camera are rapidly moving in a particular direction. X/Y Origin Specifies the center of the blur, in pixels, with respect to the dimensions of the rendered output. None Lets you specify an object whose center serves as the center of the blur effect. Click this, select an object, and then turn on Use Object Center. The object name appears on the button. Clear Removes the object name from the button above. Use Object Center When on, the object specified by the None button (tooltip: Pick an object to center on.) serves as the center of the blur effect. If no object Blur Rendering Effect | 7601 is specified and Use Object Center is on, no blur is added to the rendered image. Affect Alpha Applies the Radial Blur effect to the Alpha channel when turned on. 7602 | Chapter 19 Effects and Environments Blur Parameters rollout, Pixel Selections panel Blur Rendering Effect | 7603 Whole Image Affects the entire rendered image when chosen. This is useful when the Blur effect dims your rendered image. By using Brighten and Blend you can maintain the original colors of the scene. Brighten Brightens the entire image. Blend Blends the Blur effect and the Whole Image parameters with the original rendered image. This can be used to create a soft-focus effect. Non-Background Affects everything but the background image or animation when chosen. This is useful when the Blur effect has dimmed your scene objects but not the background. By Using Brighten, Blend, and Feather Radius, you can maintain the original colors of the scene. Brighten Brightens the rendered image except for the background image or animation. Blend Blends the Blur effect and the Non-Background parameters with the original rendered image. Feather Radius Feathers the Blur effect applied to the Non-Background elements of your scene. When using Non-Background as a Pixel Selection you will notice that the scene objects have a hard edge to their blur since the objects are being blurred but the background is not. Use the spinner to feather the blur and eliminate the hard edge of the effect. Luminance Affects any pixels that have luminance values that fall between it’s Min and Max spinners. Brighten Brightens pixels that fall between the Minimum and Maximum luminance values. Blend Blends the Blur effect and the Luminance parameters with the original rendered image. Min Sets the minimum luminance value necessary for each pixel in order for the Blur effect to be applied to the pixel. Max Sets the maximum luminance value a pixel can have in order for the Blur effect to be applied to the pixel. Feather Radius Feathers the Blur effect applied to pixels that fall between the Minimum and Maximum luminance values. When using Luminance as a Pixel Selection the Blur effect can create a hard edge on the effect. Use the spinner to feather the blur and eliminate the hard edge of the effect. Map Mask Applies the Blur effect according to the channel selected and mask applied through the Material/Map Browser. After selecting a mask you must 7604 | Chapter 19 Effects and Environments select a channel from the Channel list. Blur then examines the mask and channel according to the values set in the Minimum and Maximum spinners. Any pixels in the mask that are of the selected channel and between the Min and Max values will have the Blur effect applied. This is useful for blurring selected portions of a scene such as a winter morning as seen through a frost covered window. Channel Selects a channel that the Blur effect will be applied to. After selecting a particular channel, use the minimum and maximum spinners to determine the value a mask pixel must have in order to have the effect applied to it. Brighten Brightens the portions of the image that the Blur effect is applied to. Blend Blends the Map Mask Blur effect with the original rendered image. Min The minimum value (RGB, Alpha, or Luminance) a pixel must have in order to have the Blur effect applied to it. Max The maximum value (RGB, Alpha, or Luminance) a pixel can have for the Blur effect to be applied to it. Feather Radius Feathers the Blur effect applied to pixels that fall between the Minimum and Maximum channel values. When using map mask as a Pixel Selection, the Blur effect can create a hard edge on the effect. Use the spinner to feather the blur and eliminate the hard edge of the effect. Object ID Applies the Blur effect to an object or part of an object with a specific Object ID (in the G-Buffer on page 9173), if the object matches the Filter settings. To add or replace an Object ID, use the spinners or enter a value in the ID text box and then click the appropriate button. Min Lum The minimum luminance value a pixel must have in order to have the Blur effect applied to it. Max Lum The maximum luminance value a pixel can have for the Blur effect to be applied to it. Brighten Brightens the portion of the image that the Blur effect is applied to. Blend Blends the Object ID Blur effect with the original rendered image. F. Radius Feathers the Blur effect applied to pixels that fall between the Minimum and Maximum luminance values. When using Luminance as a Pixel Selection, the Blur effect can create a hard edge on the effect. Use the spinner to feather the blur and eliminate the hard edge of the effect. Blur Rendering Effect | 7605 Material ID Applies the Blur effect to a material or part of a material with a specific Material ID Channel on page 6075, if the material matches the Filter settings. To add or replace a Material ID channel, use the spinners or enter a value in the ID text box and then click the appropriate button. Min Lum The minimum luminance value a pixel must have in order to have the Blur effect applied to it. Max Lum The maximum luminance value a pixel can have for the Blur effect to be applied to it. Brighten Brightens the portion of the image that the Blur effect is applied to. Blend Blends the Material Blur effect with the original rendered image. F. Radius Feathers the Blur effect applied to pixels that fall between the Minimum and Maximum luminance values. When using Luminance as a Pixel Selection, the Blur effect can create a hard edge on the effect. Use the spinner to feather the blur and eliminate the hard edge of the effect. General Settings group Feather Falloff control curve The Feather falloff curve allows you to determine the feather falloff off the Blur effect based on a graph. You can add points to the graph to create a falloff curve, and adjust the interpolation in those points. 7606 | Chapter 19 Effects and Environments Move Lets you move the points on the graph. This button is a flyout, providing free movement (the default), horizontal, and vertical movement. Scale Point Lets you scale the points on the graph. This moves each selected point vertically, in proportion to its previous value. Click a point to scale, or draw a selection rectangle around several contiguous points to select them, and then drag any point in the selection to scale them all. Add Point Lets you create additional points on the falloff curve. This button is a flyout, providing linear points (the default) and Bezier points with handle. Delete Point Removes points from the graph. Brightening These radio buttons let you select additive or multiplicative brightening. Additive brightening is brighter and more distinct than multiplicative brightening. Additive brightening is useful when you use blur in combination with a Glow effect on page 7531. Multiplicative brightening provides a soft highlight to the Blur effect. Brighten Curve Lets you edit the brightening curve in the Feather Falloff curve graph. Blend Curve Lets you edit the blend curve in the Feather Falloff curve graph. Brightness and Contrast Rendering Effect Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Brightness and Contrast Brightness And Contrast allows you to adjust the contrast and brightness of an image. This can be used to match rendered scene objects with background images or animations. Brightness and Contrast Rendering Effect | 7607 Above: Original rendering is too dark. Below: Increasing both brightness and contrast improves clarity of the rendering. Interface The Brightness and Contrast Parameters rollout contains the following parameters. Brightness Increases or decreases all color components (red, green, and blue). Range=0 to 1.0. Contrast Compresses or expands the latitude between maximum black and maximum white. Range=0 to 1.0. 7608 | Chapter 19 Effects and Environments Ignore Background Applies the effect to everything in your 3ds Max scene except the background. Color Balance Rendering Effect Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Color Balance The Color Balance Effect allows you to manipulate additive/subtractive color tinting through independent control of RGB channels. Above: Color balance effect used to correct the color cast. Below: Original rendering has a yellow cast. Color Balance Rendering Effect | 7609 Interface The Color Balance Parameters rollout contains the following parameters: Cyan/Red Adjusts the red channel. Magenta/Green Adjusts the green channel. Yellow/Blue Adjusts the blue channel. Preserve Luminosity When on, retains the luminosity of the image while correcting the color. Ignore Background When on, allows you to image correct a model without affecting the background. File Output Rendering Effect Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ File Output File Output allows you to take a “snapshot” of a rendering before some or all of the other Render Effects are applied, depending on the placement of File Output in the Render Effects stack. You can save different channels such as Luminance, Depth, or Alpha to a separate file while rendering an animation. You can also use File Output to convert an RGB image into a different channel and send that image channel back into the Render Effects stack. The rest of the effects can then be applied to that channel. 7610 | Chapter 19 Effects and Environments Interface Destination group Files Opens a dialog so you can save the rendered image or animation to disk. The rendered output can be a still image or an animation, in one of the following file formats: AVI File on page 8412 (AVI) BMP Image file on page 8414 (BMP) Encapsulated PostScript on page 8418 format (EPS, PS) JPEG File on page 8427 (JPG) Kodak Cineon on page 8414 (CIN) File Output Rendering Effect | 7611 MOV QuickTime file on page 8428 (MOV) PNG Image File on page 8443 (PNG) RLA Image File on page 8453 (RLA) RPF Image File on page 8455 (RPF) SGI Image File Format on page 8458 (RGB) Targa Image File on page 8459 (TGA, VDA, ICB, UST) TIF Image File on page 8461 (TIF) Devices Opens a dialog so you can send the rendered output to a device such as a video recorder. Clear Clears any file or device selected in the Destination group box. Driver group These buttons are available only when you choose a device as the image source. About Provides information on the source of the image-handler software used to bring the image into 3ds Max. Setup Displays a setup dialog specific to the plug-in. Some plug-ins may not use this button. Parameters group Channel Lets you choose which channel you wish to save or send back in to the Render Effects stack. Choose Whole Image, Luminance, Depth, or Alpha to display more options in the Parameters group box. Affect Source Bitmap When activated, this will take in an image with any effects previously applied, convert it to the channel selected, and send it back into the stack for the rest of the effects to be applied. Your rendered image will be saved in the channel selected. This parameter is not available to the Whole Image channel. Active Turns the File Output feature on and off. Unlike the Active check box available in the Render Effects rollout, this check box is animatable allowing you to save only desired portions of a rendered scene. Depth Parameters When Depth is selected as a channel, new parameters are available for determining what parts of the scene should be rendered into the Depth channel image. 7612 | Chapter 19 Effects and Environments Copy After choosing a camera with the None button, click Copy to use the camera’s clipping planes to determine which part of the scene should be rendered into the Depth channel image file. None Enables you to select a camera to use for copying clipping planes. Click the none button to activate it. The None button will turn green until a camera has been selected in the viewport. The camera’s name will then be displayed on the button instead of None. Near Z Specifies the beginning distance from the camera that should be used in determining where to start rendering the scene’s geometry in the depth channel image file. Far Z Specifies the ending distance from the camera that should be used in determining where to stop rendering the scene’s geometry in the depth channel image file. Fit Entire Scene Makes all other Depth parameters unavailable and will render the entire viewport’s scene geometry in the Depth channel image file, automatically calculating the near and far Z required. Film Grain Rendering Effect Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Film Grain Film Grain is used to recreate the look of film grain in your rendered scene. Film Grain also allows you to match film grain from source material used as a background, such as an AVI, to the rendered scene created in 3ds Max. When applied, Film Grain automatically randomizes to create the look of moving frames. Film Grain Rendering Effect | 7613 Before and after applying Film Grain to a scene NOTE You can’t apply Film Grain to a rendering if the scene contains certain bitmap formats that have an alpha channel. 7614 | Chapter 19 Effects and Environments Interface The Film Grain Parameters rollout contains the following controls. Grain Sets the amount of grain added to your image. Range=0 to 10.0. Ignore Background Masks the background so that grain is applied only to geometry and effects in the scene. Choose this option when you use film (which already contains grain) as the background image. Motion Blur Rendering Effect Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Motion Blur Motion Blur applies an image motion blur on page 9190 to your rendered scene by blurring moving objects or the entire scene. Motion blur can enhance the realism of a rendered animation by simulating the way a real-world camera works. A camera has a shutter speed, and if significant movement of objects in the scene, or of the camera itself, occurs during the time the shutter is open, the image on film is blurred. Motion Blur Rendering Effect | 7615 Motion blur enhances the movement of the sword. NOTE In addition, you must set motion-blur characteristics for objects to be blurred using the Object Properties dialog on page 230. Interface The Motion Blur Parameters rollout contains the following controls. Work with transparency When on, motion blur is applied to objects behind transparent objects. When off, objects behind transparent objects receive no motion blur. Turning off this toggle can improve rendering speed. Default=on. 7616 | Chapter 19 Effects and Environments Duration Specifies how long the "virtual shutter" is open. When this is set to 1.0, the virtual shutter is open for the entire duration between one frame and the next. The higher the value, the greater the motion blur effect. Default=1.0. Depth of Field Rendering Effect Rendering menu ➤ Effects ➤ Environment and Effects dialog ➤ Effects panel ➤ Add ➤ Add Effect dialog ➤ Depth of Field The Depth-of-Field effect simulates the natural blurring of foreground and background scene elements when viewed through a camera lens. Depth of Field works by separating the scene in Z order into foreground, background, and in-focus images. The foreground and background images are then blurred according to the values set in the Depth of Field effect parameters and the final image is composited from the processed originals. Depth of field emphasizes the scooter. NOTE When additional Render Effects are being applied to an image or animation, the Depth-of-Field effect should be the last effect to be rendered. The order of the rendered effects is listed in the Effects tab of the Environment and Effects dialog. Depth of Field Rendering Effect | 7617 TIP To minimize sampling artifacts in out-of-focus areas with the default scanline renderer, try using the Blend filter in the Render Setup dialog on page 6956 ➤ Renderer panel ➤ Antialiasing group. Before and after applying Depth of Field effect to scene. 7618 | Chapter 19 Effects and Environments Interface The Depth of Field Parameters rollout contains the following parameters. Affect Alpha Affects the alpha channel of the final rendering when on. Cameras group Pick Cam Enables you to interactively select from the viewport which camera you want the Depth of Field effect applied to. Remove Deletes the camera currently selected in the drop-down list. Depth of Field Rendering Effect | 7619 Camera Selection List Lists all of the cameras to be used in the effect. You can use this list to highlight a specific camera and remove it from the list using the Remove button. Focal Point group Pick Node Enables you to select an object to use as the focal node. When activated you can select an object directly from the viewports to use as the focal node. You can also press H to display the Pick Object dialog, which lets you select a focal node from a list of objects in the scene. Remove Removes the object selected as the Focal Node. Use Camera Specifies that the focal length from the camera selected in the Camera Selection list be used to determine the focal point. Focal Parameters group Custom Uses the values set in the Focal Parameters group box to determine the properties of the Depth of Field effect. Use Camera Uses the values from the camera highlighted in the Camera Selection list to determine focal range, limit, and blur. Horiz Focal Loss Determines the amount of blur along the horizontal axis when Custom has been chosen. Vert Focal Loss Controls the amount of blur along the vertical axis when Custom has been chosen. Focal Range Sets the Z distance, in units, to either side of the focal point in which the image will remain in focus when Custom has been chosen. Focal Limit Sets the Z distance, in units, to either side of the focal point where blur will reach its maximum as specified by the Loss spinners when Custom has been chosen. Environment and Atmosphere Effects Rendering menu ➤ Environment ➤ Environment and Effects dialog ➤ Environment panel Environment displays the Environment panel on page 7621, which is used for setting up atmospheric and background effects. 7620 | Chapter 19 Effects and Environments You can use the environment functions to: ■ Set and animate the background color. ■ Use an image in the background of the rendered scene (screen environment) or use texture maps as spherical, cylindrical, or shrink-wrap environments. ■ Set and animate the ambient light on page 9089. ■ Use atmospheric plug-ins, such as volumetric light, in the scene. ■ Apply exposure controls to renderings. Atmospheres Atmospheres are plug-in on page 9270 components that create lighting effects such as fog, fire, and so on. See Environment dialog on page 7621 for all environment parameters. Exposure Controls One of the limitations of rendering perceptually accurate images is the limited dynamic range of computer monitors. Dynamic range is the ratio of the highest to lowest intensity a monitor can produce. In a dark room this ratio is approximately 100 to 1. In a bright room, this drops to approximately 30 to 1. Real environments can have dynamic ranges of 10,000 to 1, or larger. Exposure Controls on page 7665 map light-energy values to colors in a process known as tone mapping. They affect the brightness and contrast of both rendered images and viewport displays. They don’t affect the actual lighting levels in the scene, but only how those levels are mapped to a valid display range. Environment Panel Rendering menu ➤ Environment ➤ Environment and Effects dialog ➤ Environment panel Rendered Frame Window ➤ Environment panel (Environment And Effects Dialog) ➤ The Environment panel lets you assign and adjust environments such as the scene background and atmospheric effects. It also provides the exposure controls. Environment Panel | 7621 Use the Environment panel to: ■ Set and animate the background color. ■ Use an image in the background of the viewport and rendered scene (screen environment) or use texture maps as spherical, cylindrical, or shrink-wrap environments. ■ Set and animate the tint and ambient light on page 9089 globally. ■ Use atmospheric plug-ins, such as volumetric light, in the scene. Atmospheres are plug-in components on page 9270 that create light effects such as fire on page 7629, fog on page 7640, volume fog on page 7646, and volume light on page 7654. ■ Apply exposure controls on page 7665 to renderings. Procedures To access environment functions, do one of the following: 1 Choose Rendering ➤ Environment. 2 On the Environment and Effects dialog, click the Environment tab. To set the background color: 1 Choose Rendering ➤ Environment. The Environment panel appears. 2 In the Background group, click the color swatch. A Color Selector on page 304 appears. 3 Use the Color Selector to change the background color. The Renderer now uses this color as a background. To choose an environment map: 1 Open the Material Editor on page 6019 (press M). You adjust the map's parameters with the Material Editor. 2 Choose Rendering ➤ Environment (or press 8). 7622 | Chapter 19 Effects and Environments 3 In the Background group on the Environment panel, do one of the following: ■ Click the Environment Map button. The Material/Map Browser appears. Choose a map type from the list. ■ Drag a map to the Environment Map button. You can do this from a map displayed in one of the Material Editor's sample slots, or from any map button that has been assigned, either in the Material Editor or from a projection light, and so on. On the Environment panel, the name of the Environment Map button changes to show the type of map you chose, and Use Map turns on. After setting up the map, you can test-render the scene without the mapped background by turning off Use Map. You have set up the environment map, but to assign a bitmap or adjust map parameters, you need to use the Material Editor. You can also create a standalone map in the Material Editor first, and then choose it with the Material/Map Browser. TIP After you specify an environment map, you can set it to display in the active viewport or all viewports: Press Alt+B to open the Viewport Background dialog on page 108, turn on Use Environment Background, turn on Display Background, in the Apply Source And Display To group, choose All Views or Active Only, and click OK. To put the map in the Material Editor: ■ Drag the Environment Map button to a sample slot. The map is now in the Material Editor where you can adjust it by changing its parameters. To change the color and tint of global lighting: 1 Choose Rendering ➤ Environment. 2 Click the color swatch labeled Tint. A Color Selector on page 304 appears. 3 Use the color selector to set the tint applied to all lighting except ambient light. 4 Use the Level spinner to multiply the overall lighting of the scene. Environment Panel | 7623 Shaded viewports update to show global lighting changes. 5 Close the Environment dialog. 3ds Max uses the global lighting parameters when you render the scene. To change the color of ambient light: TIP You don't need to adjust ambient light if you are using radiosity on page 7068. 1 Choose Rendering ➤ Environment. 2 Click the color swatch labeled Ambient. A Color Selector on page 304 appears. 3 Use the color selector to set the ambient color. Shaded viewports update to show ambient color changes. 3ds Max also uses the new ambient color when you render the scene. The color of ambient light tints the scene. For most renderings, the color of ambient light should be black. 4 Close the Environment dialog. To change the intensity of ambient light: TIP You don't need to adjust ambient light if you are using radiosity on page 7068. 1 Choose Rendering ➤ Environment. 2 Click the color swatch labeled Ambient Light. A Color Selector on page 304 appears. 3 Change the Value setting (the V component of the ambient light's HSV description) to increase or decrease intensity. Shaded viewports update to show changes in the ambient light intensity. 4 Close the Color Selector. The intensity of ambient light affects contrast as well as overall illumination (the higher the intensity of ambient light, the lower the contrast). This is because ambient light is completely diffuse, so the angle of incidence is equal for all faces. Ambient light alone cannot show depth. 7624 | Chapter 19 Effects and Environments NOTE 3ds Max has a default ambient light setting. You can change the default by using the Rendering panel of the Preference Settings dialog. To add an atmospheric effect: 1 Choose Rendering ➤ Environment. The Environment and Effects dialog is displayed, with the Environment panel visible. 2 Under Atmosphere on the Environment panel, click Add. The Add Atmospheric Effect dialog appears. 3 Choose the kind of effect you want to use, and then click OK. The effect has now been added. Use the Atmosphere rollout to adjust parameters. Interface Common Parameters rollout Background group Color Sets the color for the scene background. Click the color swatch, then select the color you want in the Color Selector. You can animate the color effect by changing the background color at a nonzero frame with the Auto Key button on. Environment Panel | 7625 Environment Map The button for Environment Map on page 9145 displays the name of the map, or “None” if none has been assigned. The map must use Environmental mapping coordinates on page 9212 (spherical, cylindrical, shrink wrap, and screen). To assign an environment map, click the button and use the Material/Map Browser to choose a map, or drag a map from a sample slot or map button in the Material Editor (or anywhere else in the interface; for example, a Projector Map button) and drop the map on the Environment Map button. A dialog asks if you want the environment map to be a copy (independent) or an instance of the source map. NOTE If your scene includes animated bitmaps, including materials, projector lights, environments, and so on, the animation file is reloaded once per frame. Rendering performance slows down when your scene uses multiple animations, or the animations are themselves large files. To adjust the environment map's parameters, for example to assign a bitmap or change the coordinate settings, open the Material Editor, drag the Environment Map button, and drop it over an unused sample window. Use Map Uses a map for the background rather than the background color. Global Lighting group Tint Tints all lights in the scene (except for ambient light) if this color is anything other than white. Click the color swatch to display the Color Selector, on which you can choose the tint color. You can animate the tint color by changing it at a nonzero frame with the Auto Key button on. Level Multiplies all lights in the scene. A Level of 1.0 preserves the original, individual light settings. Increasing the Level raises the lighting for the overall scene, and decreasing the Level lowers the overall lighting. This parameter is animatable. Default=1.0. Ambient Sets the color for the ambient light. Click the color swatch, and choose the color you want in the Color Selector. You can animate the light effect by changing the ambient light color at a nonzero frame with the Auto Key button on. 7626 | Chapter 19 Effects and Environments Atmosphere rollout Effects Shows the queue of effects that were added. The effects are evaluated in linear order within the scene during rendering. Depending on the selected effect, the Environment dialog adds the appropriate rollout for the effect's parameters. Name Gives a custom name to effects in the list. For example, you might have different custom settings for different kinds of fire, that you could name Spark and Fireball. Add Displays the Add Atmospheric Effect dialog (all currently installed atmospheric effects). Select an effect and click OK to assign an effect to the list. Environment Panel | 7627 Delete Deletes a selected atmospheric effect from the list. Active Sets the on/off state for the individual effects in the list. This is a convenient way to isolate effects within a list of complicated atmospheric functions. Move Up / Move Down Moves the selected item in the list up or down to change the order in which the atmospheric effects are applied. Merge Merges effects from other 3ds Max scene files. When you click Merge, the Merge Atmospheric Effects dialog appears. Choose a 3ds Max scene, and then click Open. The Merge Atmospheric Effects dialog then lists the effects in the scene that can be merged. Select one or more of the effects, and then click OK to merge them into the scene. The list shows the names of the atmospheric effects only, but when you merge an effect, the lights or gizmos bound to that effect are merged as well. If one of these objects you’re merging has the same name as one already in the scene, an alert appears giving you the following choices: ■ You can rename the incoming object by changing its name in the editable field. ■ You can Merge the incoming object without renaming, resulting in two objects in the scene with the same name. 7628 | Chapter 19 Effects and Environments ■ You can delete the existing object in the scene by selecting the Delete Old button. ■ You can select Apply To All Duplicates, which performs the same action to all subsequent matching objects. NOTE To control whether or not the renderer uses the environment map's alpha channel in creating the alpha for the rendered image, choose Customize ➤ Preferences ➤ Rendering, and then turn on Use Environment Alpha in the Background Antialiasing group. If Use Environment Alpha is turned off (the default) the background receives an alpha of 0 (completely transparent). If Use Environment Alpha is turned on, the alpha of the resulting image is a combination of the scene and background image's alpha. Also, when writing TGA files with Pre-Multiplied Alpha set to off, turning on Use Environment Alpha prevents incorrect results. Note that only background images with alpha channels or black backgrounds are supported when compositing in other programs such as Photoshop®. NOTE To control whether or not a background image is affected by the renderer's antialiasing filter, choose Customize ➤ Preferences ➤ Rendering and then turn on Filter Background in the Background Antialiasing group. Default=off. Fire Environment Effect Rendering menu ➤ Environment ➤ Environment and Effects dialog ➤ Environment panel ➤ Atmosphere rollout ➤ Add ➤ Fire Effect Use Fire to produce animated fire, smoke, and explosion effects. Possible uses for Fire effects include campfires, torches, fireballs, clouds, and nebula. Fire Environment Effect | 7629 Scene using fire You can add any number of fire effects to a scene. The order of effects is important because effects near the bottom of the list are layered in front of effects near the top of the list. Each effect has its own parameters. When you select a fire effect in the Effects list, its parameters appear in the Environment dialog. Fire renders only in Camera or Perspective views. Orthographic or User views don’t render Fire effects. TIP Fire doesn't support completely transparent objects. Set the transparency of Fire objects accordingly. Use visibility rather than transparency to make Fire objects disappear. NOTE The Fire effect does not cast any light or shadows in the scene. To simulate illumination, you must also create lights. To cast shadows, you need to go to the Shadows Parameters rollout on page 5808 of your lights, and turn on Atmosphere Shadows. 7630 | Chapter 19 Effects and Environments Procedures To create fire effects: 1 Create one or more atmospheric apparatus objects to locate the fire effect in your scene. 2 Define one or more fire atmospheric effects on the Environment panel. 3 Assign atmospheric apparatus objects to the fire effects. Sample fire effects Example: To create a campfire: 1 Click Helpers on the Create panel and choose Atmospheric Apparatus on page 7694 from the subcategory list. 2 Click Sphere Gizmo. Drag the cursor in the Top viewport to define an apparatus radius of about 20 units. Turn on the Hemisphere check box in Sphere Gizmo Parameters. 3 Click Non-Uniform Scale. Click Yes in the Warning dialog (this warning doesn't apply to atmospheric gizmos), and scale the apparatus 250 percent along its local Z axis only. You can then model logs, embers, and rocks around the base of the apparatus. 4 Open the Modify panel of the Sphere Gizmo. On the Atmosphere rollout, click Add and choose Fire from the Add Atmosphere dialog. Fire Environment Effect | 7631 5 Highlight Fire in the Atmospheres list under the Atmospheres & Effects rollout. Click Setup. 6 Set the following parameters under Shape and Characteristics: ■ Flame Type=Tendril ■ Stretch=0.8 ■ Flame Size=18.0 ■ Flame Density=30.0 7 Turn on (Auto Key) and advance to the end of the animation. 8 Set the following parameters under Motion: ■ Phase=300.0 ■ Drift=200.0 The Fire effect doesn’t cast any light in the scene. If you want to simulate illumination from the fire effect, you must create lights as well. Example model with fire 7632 | Chapter 19 Effects and Environments Interface You create a fire apparatus, or "gizmo," to position the effect in your scene and to define the maximum boundaries of the effect. The apparatus is a Helper object found in the Atmospheric Apparatus subcategory. There are three kinds of apparatus: BoxGizmo on page 7695, SphereGizmo on page 7702, and CylGizmo on page 7699. You can move, rotate, and scale the apparatus, but you cannot apply modifiers. Fire Environment Effect | 7633 Using non-uniform scale is a good way to change the shape of the apparatus for effects. (You will see a warning when you use this transform. Because you don't modify atmospheric apparatus, you can safely ignore the warning.) Fire Parameters rollout You must assign an atmospheric apparatus to a fire effect before you can render the effect. Use buttons in the Gizmos area to manage the list of apparatus objects. Gizmos group Gizmo for the fire in the scene shown at the beginning of this topic Pick Gizmo Click to enter Pick mode and click an atmospheric apparatus in the scene. The apparatus displays the fire effect when you render. The name of the apparatus is added to the apparatus list. Multiple apparatus objects can display the same fire effect. For example, torches on a wall can all use the same effect. Assign a different seed to each apparatus to vary the effect. You can assign single apparatus to multiple fire effects. For example, one apparatus can display both a fireball and a tendril flame effect. 7634 | Chapter 19 Effects and Environments You can choose multiple gizmos. Click Pick Gizmo and press H. This opens the Pick Object dialog, which lets you choose multiple objects from the list. Remove Gizmo Removes the gizmo selected in the gizmo list. The gizmo remains in your scene but it no longer displays the fire effect. Gizmo List Lists apparatus objects assigned to the fire effect. Colors group You can set three color properties for a fire effect using the color swatches under Colors. Click a color swatch to display 3ds Max Color Selector on page 304. Inner Color Sets the color of the densest part of the effect. For a typical fire, this color represents the hottest part of the flame. Outer Color Sets the color of the sparsest part of the effect. For a typical fire, this color represents the cooler, dissipating edge of the flame. The fire effect is colored using a gradient between the inner and outer colors. The dense areas of the effect use the inner color and gradually blend to the outer color near the edges of the effect. Smoke Color Sets the color of smoke for use with the Explosion option. If you turn on Explosion and Smoke, the inner and outer colors animate to the smoke color. If you turn off Explosion or Smoke, the smoke color is ignored. Shape group You control the shape, scale, and pattern of flames within the fire effect using controls under Shape. Two options set the direction and general shape of flames. Tendril Creates directional pointed flames with veins along their center. The flames orient along the local Z axis of the fire apparatus. Tendril creates campfire-like flames. Fireball Creates round puffy flames. Fireballs are well suited for explosions. Stretch Scales flames along the Z axis of the apparatus. Stretch works best with Tendril flames, but you can use it to give Fireballs an oval shape. Values less than 1.0 compress flames, making them shorter and thicker. Values greater than 1.0 stretch flames, making them long and skinny. Fire Environment Effect | 7635 You can combine Stretch with non-uniform scaling of the apparatus. Use non-uniform scale to change the boundary of the effect and scale the shape of the flames. Use the Stretch parameter to scale only the flames inside the apparatus. You can also use Stretch values to reverse the effect that scaling the apparatus had on the flames. Effect of changing Stretch Value=0.5, 1.0, 3.0 Non-uniform scaling of an apparatus Stretch=0.5, 1.0, 3.0 Regularity Modifies how the flames fill the apparatus. Range=1.0 to 0.0. A value of 1.0 completely fills the apparatus. The effect fades near the edges of the apparatus, but the overall shape is still very noticeable. A value of 0.0 produces a very irregular effect that might occasionally reach the boundary of the apparatus, but usually gets trimmed back and is smaller. 7636 | Chapter 19 Effects and Environments Effect of changing Regularity Value=0.2, 0.5, 1.0 Characteristics group You set the size and appearance of flames using parameters under Characteristics. All of these parameters depend on the apparatus size and are interdependent on each other. Changing one parameter affects the behavior of the other three. Flame Size Sets the size of individual flames inside the apparatus. The size of the apparatus affects the flame size. A larger apparatus requires a larger flame size. Use a range from 15.0 to 30.0 for the best results. Large values work best for Fireballs. Small values work best for Tendrils. If the flame size is very small, you might need to increase Samples to see individual flames. Effect of changing Flame Size Fire Environment Effect | 7637 Value=15.0, 30.0, 50.0 Radius of apparatus=30.0 Flame Detail Controls the amount of color change and edge sharpness seen within each flame. Range=0.0 to 10.0. Low values produce smooth, fuzzy flames and render faster. High values produce patterned, sharp flames and render slower. Use higher detail values for large flame sizes. If the detail value is greater than 4, you might need to increase Samples to capture the detail. Effect of changing Flame Detail Value=1.0, 2.0, 5.0 Density Sets the opacity and brightness of the fire effect. The size of the apparatus affects the density. A large apparatus with the same density as a small apparatus appears more opaque and brighter because of its larger size. Low values make the effect less opaque and use more of the outer color. High values make the effect more opaque and brighten the effect by gradually replacing the inner color with white. The higher the value, the more white the center of the effect is. If you turn on Explosion, Density animates from 0.0 at the start of the explosion to the set density value at the peak of the explosion. 7638 | Chapter 19 Effects and Environments Effect of changing Flame Density Value=10, 60, 120 Samples Sets the rate at which the effect is sampled. Higher values produce more accurate results but take longer to render. You might consider raising the samples value under the following conditions: ■ Flame Size is small. ■ Flame Detail is greater than 4. ■ Any time you see color banding in the effect. The chance of color banding increases if a flat surface intersects the fire effect. NOTE 100 percent transparent objects that intersect the effect become partially visible. To use particles with Fire, consider using 3D particles instead of opacity-mapped particles. Motion group Use the parameters in the Motion group to animate the churning and rise of flames. Phase Controls the rate of change for the fire effect. Turn on Auto Key and change the phase value at different times. Drift Sets how flames are rendered along the Z axis of the fire apparatus. The value is the amount of rise in units. Low values give a slow-burning, cool fire. High values give a fast-burning, hot fire. For the best fire effects, drift should be a multiple of the height of the fire apparatus. Fire Environment Effect | 7639 You can also animate the location and size of the fire apparatus and most of the fire parameters. For example, a fire effect can animate color, size, and density. Explosion group Use the parameters in the Explosion group to automatically animate explosions. Explosion Animates size, density, and color automatically based on the animation of the Phase value. Smoke Controls whether or not the explosion creates smoke. When on, fire colors change to smoke between Phase values 100 to 200. Smoke clears between Phase values 200 to 300. When off, fire colors remain at full density between Phase values 100 to 200. Fire fades away between Phase values 200 to 300. Fury Varies the churning effect of the Phase parameter. Values greater than 1.0 cause faster churning. Values less than 1.0 cause slower churning. Set Up Explosion Displays the Set Up Explosion Phase Curve dialog. You enter a start time and end time, and then click OK. The Phase value animates automatically for a typical explosion effect. Fog Environment Effect Rendering menu ➤ Environment ➤ Environment and Effects dialog ➤ Environment panel ➤ Atmosphere rollout ➤ Add ➤ Fog This plug-in on page 9270 effect gives the appearance of fog or smoke. Fog can cause objects to appear to fade as they increase in distance from the camera (standard fog), or can be layered fog that envelops all or parts of objects in a blanket of mist. 7640 | Chapter 19 Effects and Environments Fog added to a scene Fog renders only in Camera or Perspective views. Orthographic or User views don’t render Fog effects. Procedures To use standard fog: 1 Create a Camera view of your scene. 2 In the camera's creation parameters, turn on Show in the Environment Ranges group. Standard fog is based on the camera's environment range values. 3 Set Adjust Near Range and Far Range to include the objects you want to fog in your rendering. As a general guideline, set Far Range just beyond the objects, and Near Range to intersect the object geometry closest to the camera. 4 Choose Rendering ➤ Environment. 5 Under Atmosphere on the Environment panel, click Add. Fog Environment Effect | 7641 The Add Atmospheric Effect dialog is displayed. 6 Choose Fog, and then click OK. 7 Make sure you choose Standard as the type of fog. To use layered fog: 1 Create a Camera or Perspective view of your scene. 2 Choose Rendering ➤ Environment. 3 Under Atmosphere on the Environment panel, click Add. The Add Atmospheric Effect dialog is displayed. 4 Choose Fog, and then click OK. 5 Choose Layered as the fog type. 6 Set the parameters for layered fog. You can have multiple fog layers in the scene by adding multiple Fog entries to the list and choosing Layered. 7642 | Chapter 19 Effects and Environments Interface The Fog Parameters rollout appears when you select Fog under Effects in the Environment dialog. The Fog Parameters rollout has the following controls. Fog group Color Sets the color for the fog. Click the color swatch, and then select the color you want in the Color Selector on page 304. You can animate the color effect by changing the fog color at a nonzero frame with the Auto Key button on. Fog Environment Effect | 7643 Environment Color Map Derives the fog color from a map. You can map the background and the fog color, you can animate the procedural map parameters in Track View or Material Editor, and you can opacity-map the fog. The large button displays the name of the color map, or None if no map is assigned. The map must use Environmental mapping coordinates on page 9212 (spherical, cylindrical, shrinkwrap, and screen). To assign the map you can drag a map from a Sample slot or Map button in the Material Editor (or anywhere else in the interface; for example, a projector map button) and drop it on the Environment Color Map button. A dialog asks if you want the environment map to be a copy (independent) or an instance of the source map. Clicking the Environment Color Map button displays the Material/Map Browser, where you can choose a map type from the list. To adjust the environment map's parameters, open the Material Editor and drag the Environment Color Map button over an unused sample slot. Use Map Toggles the effect of this map on or off. Environment Opacity Map Alters the density of the fog. You assign the opacity map, edit it, and toggle its effect in the same way as the Environment Color Map. Fog Background Applies the fog function to the background of the scene. Type When you choose Standard it uses the parameters in the Standard section and when you choose Layered is selected it uses the parameters in the Layered section. Standard Enables the Standard group. Layered Enables the Layered group. Standard group Thins and thickens the fog based on the distance from the camera. Exponential Increases density exponentially with distance. When turned off, density increases linearly with distance. Activate this check box only when you want to render transparent objects in volume fog. TIP If you turn on Exponential, this increases the Step Size value to avoid banding. Near % Sets the density of the fog at the Near Range (Camera Environment Range parameter). 7644 | Chapter 19 Effects and Environments Far % Sets the density of the fog at the Far Range (Camera Environment Range parameter). Layered group Thins and thickens the fog between an upper and lower limit. You can have multiple layers of fog by adding multiple fog entries to the list. Because you can animate all the fog parameters, you can also animate fog rising and falling, changing density and color, and add horizon on page 9185 noise. Top Sets the upper extent (in world units) of the fog layer. Bottom Sets the lower extent (in world units) of the fog layer. Density Sets the overall density of the fog. Falloff (Top/Bottom/None) Adds an exponential falloff effect so that the density is reduced to 0 at either the Top or Bottom of the fog extent. Horizon Noise Turns on the horizon noise system. Horizon Noise perturbs just the horizon of the fog layer to add realism. Size Scale factor applied to the noise. Larger scale values make the fog tendrils larger. Default=20. TIP If you want tendrils to really pop out, try making the density greater than 100. Angle Determines the affected angle off the horizon line. For example, if the angle is set to 5 (a reasonable value), then starting at 5 degrees below the horizon, the fog will begin to break up. This effect is mirrored above and below the horizon, which can produce strange results when the height of the fog layer traverses the horizon. Typically you'd want the fog to be either above or below the actual camera horizon. (You can use the horizon line in the camera parameters as an aid to help you position this.) Phase Animating this parameter animates the noise. If Phase is moving in the positive direction, then the fog tendrils will drift upward (and deform at the same time). If your fog is above the horizon you may want to animate Phase in the negative direction to make the tendrils fall downward. Fog Environment Effect | 7645 Volume Fog Environment Effect Rendering menu ➤ Environment ➤ Environment and Effects dialog ➤ Environment panel ➤ Atmosphere rollout ➤ Add ➤ Volume Fog Volume Fog provides a fog effect in which the fog density is not constant through 3D space. This plug-in on page 9270 provides effects such as puffy, cloudy fog that appears to drift and break up in the wind. Volume fog added to a scene Volume Fog renders only in Camera or Perspective views. Orthographic or User views don’t render Volume Fog effects. Procedures To use volume fog: 1 Create a Camera or Perspective view of your scene. 2 Choose Rendering ➤ Environment. 3 Under Atmosphere on the Environment panel, click Add. 7646 | Chapter 19 Effects and Environments The Add Atmospheric Effect dialog is displayed. 4 Choose Volume Fog, and then click OK. 5 Set the parameters for volume fog. NOTE If there are no objects in your scene, rendering shows only a solid fog color. Also, with no objects and Fog Background turned on, volume fog obscures the background. To create a volume fog gizmo: Volume fog gizmo surrounds the scene. 1 In the Helpers category of the Create panel, choose Atmospheric Apparatus from the pop-up menu. 2 Click one of the buttons to choose a gizmo shape: SphereGizmo, CylGizmo, or BoxGizmo. 3 Drag the mouse in the viewport to create the gizmo. You create Gizmos in much the same way as their matching geometry types. Drag the mouse to create the initial dimensions. The Sphere gizmo Volume Fog Environment Effect | 7647 has an additional Hemisphere check box that turns the sphere into a hemisphere. In addition, each gizmo has a Seed spinner and a New Seed button. Different seed values generate different patterns. Clicking the New Seed button randomly generates a new seed value for you. To assign volume fog to a gizmo from an apparatus modify panel: 1 Open the Modify panel of an apparatus. 2 Open the Atmospheres & Effects rollout. 3 Click Add. 4 Select Volume Fog from the Add Atmospheres dialog and click OK. 5 Highlight Volume Fog from the Atmospheres list and click setup to adjust the Volume Fog parameters. To assign a gizmo to volume fog from the Environment panel: 1 On the Volume Fog Parameters rollout, click the Pick Gizmo button. 2 Click a gizmo in the viewport. The name of the gizmo appears in the list field at right. When you render, the volume fog will be confined to the shape of the gizmo. To remove an assigned gizmo: 1 In the Environment dialog, go to the Volume Fog Parameters rollout 2 Select the gizmo name from the pop-up list. 3 Click Remove Gizmo. This action doesn’t delete the gizmo from the scene, but simply unbinds it from the fog effect. 7648 | Chapter 19 Effects and Environments Interface The Volume Fog Parameters rollout appears when you select Volume Fog under Effects in the Environment dialog. The Volume Fog Parameters rollout has the following controls. Volume Fog Environment Effect | 7649 Gizmos group By default, volume fog fills the entire scene. However, you can choose a gizmo (an atmospheric apparatus) to contain the fog. The gizmo can be a sphere, a box, a cylinder, or some combination of these. Pick Gizmo Click to enter Pick mode and click an atmospheric apparatus in the scene. The apparatus contains the volume fog when you render. The name of the apparatus is added to the apparatus list. Multiple apparatus objects can display the same fog effect. You can pick multiple gizmos. Click Pick Gizmo and then press H. This opens the Pick Object dialog, which lets you choose multiple objects from a list. Changing the dimensions of a gizmo changes the region that fog affects, but doesn't change the scale of the fog and its noise. For example, reducing the radius of a spherical gizmo crops the fog, and moving the gizmo changes the fog's appearance. Remove Gizmo Removes a gizmo from the volume fog effect. Select the gizmo in the list, and then click Remove Gizmo. Soften Gizmo Edges Feathers the edges of the volume fog effect. The higher the value, the softer the edges. Range=0 to 1.0. TIP Don't set this value to 0. At 0, Soften Gizmo Edges can cause aliased edges. Volume group Color Sets the color for the fog. Click the color swatch, and then select the color you want in the Color Selector on page 304. You can animate the color effect by changing the fog color at a nonzero frame with Auto Key on. Exponential Increases density exponentially with distance. When turned off, density increases linearly with distance. Activate this check box only when you want to render transparent objects in volume fog. TIP If you turn on Exponential, increase the Step Size value to avoid banding. Density Controls the fog density. Range=0 to 20 (anything over that tends to obliterate the scene). 7650 | Chapter 19 Effects and Environments Left: Original scene Right: Increased fog density Step Size Determines the granularity of the fog sampling; the "fineness" of the fog. A large step size creates coarse (and to some extent, aliased) fog. Max Steps Limits the amount of sampling so that computing the fog doesn't take forever (literally). This is especially useful when the fog is of low density. When both Step Size and Max Steps have low values, aliasing results. Fog Background Applies the fog function to the background of the scene. Volume Fog Environment Effect | 7651 Noise group Left: Original scene Right: Noise added to the fog Noise options for volume fog are comparable to the noise options for materials. Type Choose one of three types of noise to apply. Regular The standard noise pattern. Fractal An iterative fractal noise pattern. Turbulence An iterative turbulence pattern. Invert Reverses the noise effect. Dense fog becomes translucent and vice versa. Noise Threshold Limits the noise effect. Range=0 to 1.0. When the noise value is above the Low threshold and below the High threshold, the dynamic range stretches to fill 0-1. This makes for a smaller discontinuity (First order instead of 0 order) at the threshold transition, and thus produces less potential aliasing on page 9087. High Sets the high threshold. Low Sets the low threshold. 7652 | Chapter 19 Effects and Environments Left: Fog with noise Right: Changing uniformity creates "blobby" fog Uniformity Ranges from -1 to 1 and acts like a high-pass filter. The smaller the value, the more transparent the volume is with discrete blobs of smoke. Around -0.3 or so your image begins to look like specks of dust. Because the fog becomes thinner as this parameter gets smaller, you'll probably need to increase the density or the volume will start to disappear. Levels Sets the number of times the noise is iteratively applied. Range=1 to 6, including fractional values. Enabled only for Fractal noise or Turbulence. Size Determines the size of the tendrils of smoke or fog. Smaller values give smaller tendrils. Volume Fog Environment Effect | 7653 Left: Fog with noise Right: Decreasing the size Phase Controls the speed of the wind. If you have Wind Strength also set to greater than 0, the fog volume animates in accordance with the wind direction. With no Wind Strength, the fog churns in place. Because there's an animation track for phase, you can use the Function Curve editor to define precisely how you want your wind "gusts" to occur. Wind Strength Controls how fast the smoke moves away from the wind direction, relative to phase. As mentioned above, if the phase is not animated then the smoke won’t move, regardless of the wind strength. By having the phase animate slowly with a large wind strength, the fog moves more than it is churns. Wind from the Defines the direction the wind is coming from. Volume Light Environment Effect Rendering menu ➤ Environment ➤ Environment and Effects dialog ➤ Environment panel ➤ Atmosphere rollout ➤ Add ➤ Volume Light Volume Light provides light effects based on the interaction of lights with atmosphere (fog, smoke, and so on). 7654 | Chapter 19 Effects and Environments Volumetric light used in a complex environment with shadows and noise. This plug-in on page 9270 provides effects such as radial glows for omni lights on page 9245, conical glows for spotlights, and parallel beams of fog for directional lights. Objects within the light volume can cast shadows within the spotlight's cone, if using shadow maps as a shadow generator. A simplified example where the light cone is clearly visible on the right. Volume Light renders only in Camera and Perspective views. Orthographic or User views don’t render Volume Light effects. Volume Light Environment Effect | 7655 Procedures To use Volume Light: 1 Create a scene with lights. 2 Create a Camera or Perspective view of your scene. TIP Avoid making the view axis parallel to the cone of a spotlight. This tends to create only a washed-out scene, possibly with rendering artifacts. 3 Choose Rendering ➤ Environment. 4 On the Environment panel, under Atmosphere , click Add. The Add Atmospheric Effect dialog is displayed. 5 Choose Volume Light, and then click OK. 6 Click Pick Light, and then select a light in a viewport to add the light to the list of volume lights. You can also use the Pick Object dialog to select multiple lights from a list. Click Pick Light, and then press H to open the dialog. 7 Set the parameters for volume light. To add a light to the list: 1 Click Pick Light. 2 Click the light in a viewport. To remove a light from the list: 1 Open the list of volume lights. 2 Choose the light you want to remove the volume light effect from. 3 Click Remove Light. To assign volume light to a light through the Modify panel: 1 Open the Modify panel of a light. 2 Open the Atmospheres & Effects rollout. 7656 | Chapter 19 Effects and Environments 3 Click Add. 4 Select Volume Light from the Add Atmosphere or Effect dialog and click OK. 5 Highlight Volume Light from the Atmospheres & Effects list and click setup to adjust the Volume Light parameters. NOTE Volume Lights don’t support negative multiplier values. Volume Light Environment Effect | 7657 Interface The Volume Light Parameters rollout appears when you select Volume Light under Effects in the Environment dialog. It has the following controls. Lights group Pick Light Click the light that you want to enable for volume light in any viewport. 7658 | Chapter 19 Effects and Environments You can pick multiple lights. Click Pick Light and then press H. This opens the Pick Object dialog, which lets you choose multiple lights from a list. Remove Light Deletes a light from the list. Volume group Fog Color Sets the color for the fog that makes up the volume of the light. Click the color swatch, and then choose the color you want in the Color Selector on page 304. You can animate the color effect by changing the fog color at a nonzero frame with the Auto Key button on. Unlike the other fog effects, this fog color combines with the color of the light. Possibly the best effect is to use white fog and then color it with a colored light. Attenuation Color Attenuates volume light over distance. The volume light ramps from the Fog Color to the Attenuation color over the light's Near and Far attenuation distances. Clicking the color swatch displays a color selector so you can change the attenuation color. Attenuation Color interacts with Fog Color. For example, if your fog color is red and your attenuation color is green, in the rendering your fog will shade to purple. Typically the attenuation color should be very dark and neutral—black is a good choice. Use Attenuation Color Makes attenuation color active. Exponential Increases density exponentially with distance. When turned off, density increases linearly with distance. Activate this check box only when you want to render transparent objects in volume fog. Density Sets the density of the fog. The denser the fog, the more the light reflects off it inside the volume. Densities of 2 to 6 percent probably make the most realistic fog volumes. Volume Light Environment Effect | 7659 Left: Original scene Right: Increasing the density Max Light% Represents the maximum glow effect that you can achieve (defaults to 90 percent). By turning this down, you can limit the brightness of the glow so that it doesn't get denser and denser as it gets farther away from the light and "whites out." NOTE When your scene includes transparent objects inside a volume light, set Max Light to 100 percent. Min Light% Similar to an ambient light on page 9089 setting. If Min Light% is greater than 0, areas outside the light volume will glow also. Note that this means areas of open space (where the light ray can travel forever) will end up the same as the fog color (just as with normal fog). Without objects behind the fog, the scene will always be as bright as the fog color if the Min Light% is greater than 0 (no matter what the actual value is). This is because the fog goes to infinity and is accumulated infinitely. If you're going to use min light% values greater than 0, you should make sure that you enclose your scene by geometry. Atten. Mult. (Attenuation Multiplier) Adjusts the effect of the attenuation color. Filter Shadows Allows you to get better quality volume-light rendering by increasing the sampling rate (at the cost of some increased rendering time). These are the options: 7660 | Chapter 19 Effects and Environments Low The image buffer is not filtered but directly sampled instead. This option is fine for 8-bit images, AVI on page 8412 files, and so on. Medium Adjacent pixels are sampled and averaged. This produces a very significant improvement in cases where you’re getting banding types of artifacts. It is slower than Low. High Adjacent pixels and the diagonal pixels are sampled, and each are given different weights. This is the slowest method and provides somewhat better quality than Medium. Use Light Smp Range Blurs the shadows cast in the volume based on the Sample Range value in the light's shadow parameters. Because increasing the Smp Range value blurs the shadow cast by the light, this makes shadows in the fog better match cast shadows, and helps prevent aliasing in the fog shadows. TIP With the Use Light Smp Range option, the higher the light's Smp Range value, the slower the rendering. However, with this option you can usually get good results with a lower Sample Volume % setting (such as 4), which reduces rendering time. Sample Volume % Controls the rate at which the volume is sampled. Ranges 1 through 10,000 (where 1 is the lowest quality and 10,000 is the highest quality). Auto Controls the Sample Volume % parameter automatically and disables the spinner (this is the default). The preset sampling rates are as follows: low=8; medium=25; high=50 Because the parameter ranges up to 100 there's still room to set it higher. Increasing the Sample Volume % parameter definitely slows things down, but in some cases you may want to increase it (for extremely high sample quality). Volume Light Environment Effect | 7661 Left: Original scene Right: Increasing sample volume to improve quality Attenuation group The controls in this section are contingent upon the settings of the Start Range and End Range attenuation on page 9098 parameters for the individual light. NOTE Rendering Volume Light at some angles can introduce aliasing problems. To eliminate aliasing problems, activate the Near and Far Attenuation settings in the light object that the Volume Light applied to. Start % Sets the start attenuation of the light effect, relative to the actual light parameter's attenuation. It defaults to 100 percent, which means that it starts attenuating at the Start Range point. When you reduce this parameter, it starts attenuating the light at a reduced percentage of the actual Start Range value that is, closer to the light itself. Because you usually want a smooth falloff on page 9187, you can keep this value at 0, and no matter what the light's actual Start Range, you'll always get a smooth glow without hotspots on page 9187. End % Sets the end attenuation of the lighting effect, relative to the actual light parameter's attenuation. By setting this lower than 100 percent, you can have a glowing attenuating light that casts light much farther than it actually glows. Default=100. 7662 | Chapter 19 Effects and Environments Left: Original scene Right: Attenuation limits the range of the light. Noise group Noise On Turns the noise on and off. When noise is on there is a slight increase in render time. Amount The percentage of noise applied to the fog. If the amount is 0, there is no noise. If the amount is 1, the fog becomes pure noise. Left: Original scene Right: Noise added Volume Light Environment Effect | 7663 Link To Light Links the noise effect to its light object, rather than to world coordinates. Usually you want noise to look like fog or dust motes in the atmosphere, in which case, as the light moves, the noise should remain with the world coordinates. For certain special effects, however, you might want the noise linked to the light's coordinates. In these cases, turn on Link to Light. Type Choose one of three types of noise to apply. ■ RegularThe standard noise pattern. ■ FractalAn iterative fractal noise pattern. ■ TurbulenceAn iterative turbulence pattern. Invert Reverses the noise effect. Dense fog becomes translucent and vice versa. Noise Threshold Limits the noise effect. When the noise value is above the Low threshold and below the High threshold, the dynamic range stretches to fill 0-1. This makes for a smaller discontinuity (first order instead of 0 order) at the threshold transition and thus produces less potential aliasing on page 9087. ■ HighSets the high threshold. Range=0 to 1.0. ■ LowSets the low threshold. Range=0 to 1.0. Uniformity Acts like a high-pass filter: the smaller the value, the more the volume is transparent with discrete blobs of smoke. By around -0.3 or so your image begins to look like specks of dust. Because the fog becomes thinner as this parameter gets smaller, you'll probably need to increase the density or the volume will start to disappear. Range=-1 to 1 Levels Sets the number of times the noise is iteratively applied. This parameter is animatable. Enabled only for Fractal noise or Turbulence. Range=1 to 6, including fractional values. Size Determines the size of the tendrils of smoke or fog. Smaller values give smaller tendrils. 7664 | Chapter 19 Effects and Environments Left: Volume light with noise Right: Reducing the size value Phase Controls the speed of the wind. If you have Wind Strength also set to greater than 0, the fog volume animates in accordance with the wind direction. With no Wind Strength, the fog churns in place. Because there's an animation track for phase, you can use the Function Curve editor to define precisely how you want your wind "gusts" to happen. Wind Strength Controls how fast the smoke moves away from the wind direction, relative to phase. As mentioned above, if the phase is not animated then the smoke won’t move, regardless of the wind strength. By having the phase animate slowly with a large wind strength, the fog moves more than it churns. Wind from the Defines the direction the wind is coming from. Exposure Controls Rendering menu ➤ Environment ➤ Environment and Effects dialog ➤ Environment panel ➤ Exposure Control rollout Exposure controls are plug-in components that adjust the output levels and color range of a rendering, as if you were adjusting film exposure. This process is known as tone mapping. These controls are especially useful for renderings that use radiosity on page 7068, and when dealing with high-dynamic-range (HDR) imagery. Exposure Controls | 7665 Exposure control compensates for the limited dynamic range of computer displays, which is typically about two orders of magnitude: The brightest color that appears on a display is about 100 times brighter than the dimmest. The eye, by comparison, can perceive a dynamic range of about 16 orders of magnitude. In other words, the brightest color we can perceive is about 10 million-billion times brighter than the dimmest. Exposure control adjusts colors so they better simulate the eye's great dynamic range, while still fitting within the color range that can be rendered. The exposure controls included with 3ds Max are:Automatic Exposure Control on page 7668, Linear Exposure Control on page 7670, Logarithmic Exposure Control on page 7673, mr Photographic Exposure Control on page 7677, and Pseudo Color Exposure Control on page 7686. IMPORTANT The mental ray renderer on page 7129 supports only the Logarithmic, mr Photographic, and Pseudo Color exposure controls. Left: Linear exposure control maps intensity evenly. Right: Logarithmic exposure control maps most intensities to low and mid tones. Tips: ■ If the primary lighting from your scene comes from standard lights (rather than photometric lights), use the Logarithmic exposure control and turn on Affect Indirect Only. ■ Use Automatic exposure control for rendering still images. This method is also useful for first-draft renderings. ■ Use Logarithmic exposure control for animations with a moving camera. (Automatic and Linear exposure control with a moving camera can cause excessive flickering.) ■ For rendering high-dynamic-range images with mental ray, use the mr Photographic exposure control. ■ For outdoor scenes that use the Daylight system, turn on the Exterior toggle to prevent overexposure. 7666 | Chapter 19 Effects and Environments Exposure and Attenuation for Standard Lights When you use standard lights that are not attenuated, renderings tend to have a low dynamic range, because light intensities don't vary greatly across the scene. In this situation, adjusting light values might be all you need to do to get a good rendering. On the other hand, when lights are attenuated the illumination might be too bright on near surfaces or too dim on distant surfaces. In this situation, the Automatic exposure control can help, because it adjusts the larger dynamic range of the (simulated) physical scene, into the smaller dynamic range of the display. Interface Drop-down list Choose the exposure control to use. Active When on, the exposure control is used in rendering. When off, the exposure control is not applied. Process Background and Environment Maps When on, the scene background and environment maps are subjected to exposure control. When off, they are not. Preview thumbnail The thumbnail displays a preview of the rendered scene with the active exposure control applied. Once a preview has been rendered, it updates interactively when you changed exposure control settings. If gamma correction or look-up table (LUT) correction on page 8917 is active, 3ds Max applies the correction to this preview thumbnail. Render Preview Click to render the preview thumbnail. Exposure Controls | 7667 Automatic Exposure Control Rendering menu ➤ Environment ➤ Environment and Effects dialog ➤ Environment panel ➤ Exposure Control rollout ➤ Choose Automatic Exposure Control from the list. ➤ Automatic Exposure Control rollout Automatic Exposure Control samples the rendered image and builds a histogram to give good color separation across the entire dynamic range of the rendering. It can enhance some lighting effects that would otherwise be too dim to see. Auto exposure can affect the lighting of the whole image. NOTE Automatic Exposure Control should not be used in animations, because every frame will have a different histogram, causing your animation to flicker. IMPORTANT The mental ray renderer on page 7129 does not support the Automatic exposure control. See also: ■ Environment Panel on page 7621 7668 | Chapter 19 Effects and Environments Interface Brightness Adjusts the brightness of the converted colors. Range=0 to 100. Default=50. This parameter is animatable. Contrast Adjusts the contrast of the converted colors. Range=0 to 100. Default=50. This parameter is animatable. Exposure Value Adjusts the overall brightness of the rendering. Range=–5.0 to 5.0; Negative values make the image darker, and positive values make it brighter. Default=0.0. The exposure value is comparable to the exposure compensation setting in cameras with automatic exposure. This parameter is animatable. Physical Scale Sets a physical scale for exposure control to use with lights that are not physically based. The result is an adjustment of the rendering that approximates the eye's response to the scene. Each standard light's Multiplier on page 9233 is multiplied by the Physical Scale value to give a light intensity value in candelas. For example, with the default Physical Scale of 1500, a standard omni light is treated by the renderer and radiosity as a photometric isotropic light of 1500 candelas. Physical Scale is also factored into reflections, refractions, and self-illumination. TIP You need to set the Physical Scale when you use ray-tracing with self illumination. Set this value to the equivalent of the brightest light source in the scene. This will set the appropriate conversion scale for reflections, self-illumination, and all other non-physically based elements a material offers. In some cases, an object might reflect or emit more light than the brightest light object in the scene; in this case, use the object's Luminance value as the Physical Scale. Range=0.001 to 200,000.0 candelas. Default=1500.0. A single candle is approximately 1 candela (the unit can also be called a "candle"). A 100-Watt (W) incandescent light bulb is approximately 139 Exposure Controls | 7669 candelas (cd). A 60W bulb emitting in all directions is about 70 cd, while the same bulb with a reflector is about 4500 cd because the light flux is concentrated into a narrow angle. Photometric lights are unaffected by the Physical Scale value. This parameter is animatable. Color correction check box and color swatch When the check box is turned on, color correction shifts all colors so the color displayed in the color swatch appears as white. Default=off. Clicking the color swatch displays a Color Selector on page 304 so you can choose the color to adapt to. You can use this control to simulate how the eye adjusts to lighting. For example, even when the light in a room has a yellow hue from an incandescent light bulb, we will continue to perceive objects that we know to be white, such as printed pages, as white. TIP For the best results, use a very pale color correction color, such as a pale blue or pale yellow. Desaturate Low Levels When on, renders dimly lit colors as if the light were too dim for the eye to distinguish between colors. When on, renders even dimly lit colors. Default=off. Desaturate Low Levels simulates the eye's response to dim lighting. In dim lighting, the eye does not perceive colors and sees tones of gray instead. The effect of this setting is not apparent except at very low light levels, below 5.62 footcandles (lumens per square foot). When the illuminance is less than 0.00562 footcandles, the scene is completely gray. NOTE 1 footcandle (fc) equals 10.76 lux (lumens per square meter). Linear Exposure Control Rendering menu ➤ Environment ➤ Environment and Effects dialog ➤ Environment panel ➤ Exposure Control rollout ➤ Choose Linear Exposure Control from the list. ➤ Linear Exposure Control rollout Linear Exposure Control samples the rendered image and uses the average brightness of the scene to map physical values to RGB values. Linear Exposure Control is best used for scenes with a fairly low dynamic range. 7670 | Chapter 19 Effects and Environments NOTE Linear Exposure Control should not be used in animations, because every frame will have a different histogram, causing your animation to flicker. IMPORTANT The mental ray renderer on page 7129 does not support the Linear exposure control. See also: ■ Environment Panel on page 7621 Interface Brightness Adjusts the brightness of the converted colors. Range=0 to 100. Default=50. This parameter is animatable. Contrast Adjusts the contrast of the converted colors. Range=0 to 100. Default=50. This parameter is animatable. Exposure Value Adjusts the overall brightness of the rendering. Range= -5.0 to 5.0. Negative values make the image darker, and positive values make it brighter. Default=0.0. The exposure value can be thought of as an exposure compensation setting in cameras with automatic exposure control. This parameter is animatable. Physical Scale Sets a physical scale for exposure control to use with lights that are not physically based. The result is an adjustment of the rendering that approximates the eye's response to the scene. Each standard light's Multiplier on page 9233 is multiplied by the Physical Scale value to give a light intensity value in candelas. For example, with the default Exposure Controls | 7671 Physical Scale of 1500, a standard omni light is treated by the renderer and radiosity as a photometric isotropic light of 1500 candelas. Physical Scale is also factored into reflections, refractions, and self-illumination. TIP You need to set the Physical Scale when you use ray-tracing with self illumination. Set this value to the equivalent of the brightest light source in the scene. This will set the appropriate conversion scale for reflections, self-illumination, and all other non-physically based elements a material offers. In some cases, an object might reflect or emit more light than the brightest light object in the scene; in this case, use the object's Luminance value as the Physical Scale. Range=0.001 to 200,000.0 candelas. Default=1500.0. A single candle is approximately 1 candela (the unit can also be called a "candle"). A 100-Watt (W) incandescent light bulb is approximately 139 candelas (cd). A 60W bulb emitting in all directions is about 70 cd, while the same bulb with a reflector is about 4500 cd because the light flux is concentrated into a narrow angle. Photometric lights are unaffected by the Physical Scale value. This parameter is animatable. Color Correction check box and color swatch When the check box is turned on, color correction shifts all colors so the color displayed in the color swatch appears as white. Default=off. Clicking the color swatch displays a Color Selector on page 304 so you can choose the color to adapt to. You can use this control to simulate how the eye adjusts to lighting. For example, even when the light in a room has a yellow hue from an incandescent light bulb, we will continue to perceive objects that we know to be white, such as printed pages, as white. TIP For the best results, use a very pale color correction color, such as a pale blue or pale yellow. Desaturate Low Levels When on, renders dimly lit colors as if the light were too dim for the eye to distinguish between colors. When on, renders even dimly lit colors. Default=off. Desaturate Low Levels simulates the eye's response to dim lighting. In dim lighting, the eye does not perceive colors and sees tones of gray instead. The effect of this setting is not apparent except at very low light levels, below 5.62 footcandles (lumens per square foot). When the illuminance is less than 0.00562 footcandles, the scene is completely gray. 7672 | Chapter 19 Effects and Environments NOTE 1 footcandle (fc) equals 10.76 lux (lumens per square meter). Logarithmic Exposure Control Rendering menu ➤ Environment ➤ Environment and Effects dialog ➤ Environment panel ➤ Exposure Control rollout ➤ Choose Logarithmic Exposure Control from the list. ➤ Logarithmic Exposure Control rollout Logarithmic Exposure Control uses brightness, contrast, and whether the scene is outdoors in daylight to map physical values to RGB values. You can use it with either the default scanline renderer on page 7042 or the mental ray renderer on page 7129. Logarithmic Exposure Control is best for scenes with a very high dynamic range. Left: The intensity of an IES Sun light completely overexposes a scene. Right: Logarithmic exposure control corrects the overexposure. Logarithmic Exposure Control is the best type of exposure control for animations because it doesn’t use histograms. TIP If you're rendering to texture on page 7307, use the Logarithmic exposure control, not the Automatic or Linear control. See also: ■ Environment Panel on page 7621 Exposure Controls | 7673 Interface Brightness Adjusts the brightness of the converted colors. Range=0 to 200. Default=50. This parameter is animatable. Contrast Adjusts the contrast of the converted colors. Range=0 to 100. Default=50. This parameter is animatable. Mid Tones Adjusts the mid-tone values of the converted colors. Range=0.01 to 20.0. Default=1.0. This parameter is animatable. Adjusting the value of mid tones Physical Scale Sets a physical scale for exposure control to use with lights that are not physically based. The result is an adjustment of the rendering that approximates the eye's response to the scene. Each standard light's Multiplier on page 9233 is multiplied by the Physical Scale value to give a light intensity value in candelas. For example, with the default Physical Scale of 1500, a standard omni light is treated by the renderer and 7674 | Chapter 19 Effects and Environments radiosity as a photometric isotropic light of 1500 candelas. Physical Scale is also factored into reflections, refractions, and self-illumination. TIP You need to set the Physical Scale when you use ray-tracing with self illumination. Set this value to the equivalent of the brightest light source in the scene. This will set the appropriate conversion scale for reflections, self-illumination, and all other non-physically based elements a material offers. In some cases, an object might reflect or emit more light than the brightest light object in the scene; in this case, use the object's Luminance value as the Physical Scale. NOTE The mental ray renderer treats Physical Scale in the same way the scanline renderer does in terms of its effect on reflections and refractions. Physical Scale does affect the appearance of self-illuminated materials. Range=0.001 to 200,000.0 candelas. Default=1500.0. A single candle is approximately 1 candela (the unit can also be called a "candle"). A 100-Watt (W) incandescent light bulb is approximately 139 candelas (cd). A 60W bulb emitting in all directions is about 70 cd, while the same bulb with a reflector is about 4500 cd because the light flux is concentrated into a narrow angle. Photometric lights are unaffected by the Physical Scale value. This parameter is animatable. Color Correction check box and color swatch When the check box is turned on, color correction shifts all colors so the color displayed in the color swatch appears as white. Default=off. Clicking the color swatch displays a Color Selector on page 304 so you can choose the color to adapt to. You can use this control to simulate how the eye adjusts to lighting. For example, even when the light in a room has a yellow hue from an incandescent light bulb, we will continue to perceive objects that we know to be white, such as printed pages, as white. TIP For the best results, use a very pale color correction color, such as a pale blue or pale yellow. Exposure Controls | 7675 Color correction can remove the color “cast” that comes from a light source. Desaturate Low Levels When on, renders dimly lit colors as if the light were too dim for the eye to distinguish between colors. When off, renders even dimly lit colors. Default=off. Desaturate Low Levels simulates the eye's response to dim lighting. In dim lighting, the eye does not perceive colors and sees tones of gray instead. The effect of this setting is not apparent except at very low light levels, below 5.62 footcandles (lumens per square foot). When the illuminance is less than 0.00562 footcandles, the scene is completely gray. NOTE 1 footcandle (fc) equals 10.76 lux (lumens per square meter). Affect Indirect Only When on, Logarithmic Exposure control is applied only to areas of indirect lighting. Default=off. Turn on this toggle when the primary lighting for your scene comes from standard lights rather than photometric lights. When you use standard lights and turn on Affect Indirect Only, radiosity and exposure control yield results similar to the default scanline renderer. When you use standard lights but leave Affect Indirect Only off, radiosity and exposure control yield results that can be quite different from the default scanline renderer. In general, you don’t need to turn on Affect Indirect Only when the primary lighting for your scene comes from photometric lights. Exterior daylight When on, converts colors for an outdoor scene. Default=off. 7676 | Chapter 19 Effects and Environments The exterior daylight setting compensates for the extreme intensity of an IES sun light. mr Photographic Exposure Control Set mental ray as the renderer. ➤ Rendering menu ➤ Environment ➤ Environment and Effects dialog ➤ Environment panel ➤ Exposure Control rollout ➤ Choose mr Photographic Exposure Control from the list. ➤ mr Photographic Exposure Control rollout The mr Photographic Exposure Control lets you modify rendered output with camera-like controls: either a general exposure value or specific shutter speed, aperture, and film speed settings. It also gives you image-control settings with values for highlights, midtones, and shadows. It’s intended for high-dynamic-range scenes rendered with the mental ray renderer on page 7129. NOTE The mr Photographic Exposure Control contains a built-in gamma corrector (gamma 2.2), but this correction is disabled if the 3ds Max gamma correction on page 8917 is enabled on the Preferences dialog, letting the Rendered Frame Window apply the view gamma instead. The Logarithmic exposure control on page 7673 also has a curve similar to a gamma correction, but unlike the Photographic exposure control, it is not designed to disable its gamma correction when overall gamma correction is on. For that reason, combining gamma correction with the Logarithmic exposure control is discouraged, whereas using it together with the Photographic exposure control is encouraged. Exposure Controls | 7677 Interface TIP To see a definition of any numeric parameter on this rollout, hover the mouse cursor over the parameter’s spinner. Exposure group This group comprises a drop-down list of exposure presets plus a choice of Exposure Value or Photographic Exposure and associated parameters. Choosing one method makes the other’s setting or settings unavailable, but they still change based on adjustments you make to the available method. For example, 7678 | Chapter 19 Effects and Environments when Exposure Value is active, adjusting its value also changes the Photographic Exposure ➤ Shutter Speed setting. Preset Choose from the available options based on setting and lighting conditions. The presets affect all of the remaining settings in this group. Exposure Value (EV) Choose this option to specify a single Exposure Value setting that corresponds to a combination of the three Photographic Exposure values (see following). Each increment or decrement in the EV value corresponds to halving or doubling, respectively, the effective exposure, as expressed in the resultant change in the Shutter Speed value. Thus, higher values yield darker images, and lower values yield brighter images. For example, as shown above, the combination of a shutter speed of 1/125 of a second, f/16, and ISO 100 results in an EV of 15. The same EV results from halving the shutter speed to 1/250 second and doubling the aperture size to f/11. Photographic Exposure Lets you set the exposure using standard camera-oriented controls. These controls affect exposure only: Shutter Speed has no effect on motion blur; Aperture doesn’t influence depth of field; and Film Speed has no effect on graininess. ■ Shutter SpeedThe duration, in fractions of a second, that the “shutter” is open. The higher this value, the greater the exposure. ■ ApertureThe size of the opening of the “camera iris,” expressed as a ratio. The higher this value, the lower the exposure. ■ Film Speed (ISO)The sensitivity of the “camera film,” expressed as an index. The higher this value, the greater the exposure. Image Control group Use these controls to adjust the relative brightness or highlights, midtones, and shadows in the rendered image. The combination of these three settings is depicted in the graph on the right side of the rollout. Additional controls available here let you adjust color saturation, whitepoint, and vignetting. Exposure Controls | 7679 Rendering with default settings (with final gathering) Highlights (Burn) Controls the level of the brightest areas of the image. Higher values yield brighter highlights, while lower values darken the highlights. 7680 | Chapter 19 Effects and Environments Darkened (burnt-in) highlights Midtones Controls the level of the areas of the image whose brightness lies between the highlights and the shadows. Higher values yield brighter midtones, while lower values darken the midtones. Exposure Controls | 7681 Elevated midtones Shadows Controls the level of the darkest areas of the image. Lower values yield lighter shadows, while higher values darken the shadows. 7682 | Chapter 19 Effects and Environments Lightened shadows Color Saturation Controls the intensity of colors in the rendered image. Higher values result in more intense colors. Exposure Controls | 7683 Color Saturation=2.0 Whitepoint Specifies the main color temperature of the light sources. This is similar to white balance controls on digital cameras. For daylighting, a value of 6500 is recommended, for incandescent lighting, a value of 3700 is recommended. For example, photographs taken indoors might be lit by incandescent lights, which are relatively orange compared to daylight. Defining "white" as daylight will give unacceptable results when attempting to color-correct a photograph taken with incandescent lighting. Vignetting Reduces the image brightness in the image periphery compared to the image center, resulting in a circular fully exposed area in the center, with darker edges. 7684 | Chapter 19 Effects and Environments Vignetting=25.0 Physical Scale Determines how 3ds Max calculates pixel values when outputting HDR (high-dynamic-range) images. You can use the physical scale inherent in the scene, or set an arbitrary physical scale for non-physically-based lighting situations. ■ Physical Units: (cd/m2)Outputs physically correct HDR pixel values in candelas per square meter. Use this option when lighting the scene with photometric light sources. TIP When you use this option, the renderer interprets all non-physical (standard) illumination values in units of cd/m2. If you use as a background image or texture map an HDR image with pixels correctly calibrated to cd/m2, it will be correct in the scene. However, if you attempt to use a low-dynamic-range photo such as a JPEG photo, it will appear too dark in the rendered output. (The renderer interprets a white pixel in such an image as "1 cd/m2" by default, which is darker than the deepest dungeon.) So you need to increase the output on page 6613 of the image to match a useful cd/m2 value. The sky can be around 3,000 cd/m2. Exposure Controls | 7685 ■ UnitlessLets you define how the renderer interprets the illumination from standard lights, which are not physically based. Use the numeric setting to set the apparent illumination from these lights and the output pixel values based on the scene lighting. For example, with the default Physical Scale of 1500, a standard omni light is treated by the renderer as a photometric isotropic light of 1500 candelas. Physical Scale is also factored into the environment map and self-illumination. NOTE This value does not affect apparent illumination of the rendered scene with photometric lights. However, it does affect the apparent illumination cast by non-physical (standard) lights. For predictable results, illuminate the scene only with photometric or standard lights (not a mix), and use Physical Units or Unitless, respectively. Gamma/LUT Settings This group comprises text showing the status of the current Gamma/LUT settings, and a Setup button that opens the Preference Settings dialog to the Gamma and LUT panel on page 8917 so you can change the settings. Pseudo Color Exposure Control Rendering menu ➤ Environment ➤ Environment and Effects dialog ➤ Environment panel ➤ Exposure Control rollout ➤ Choose Pseudo Color Exposure Control from the list. ➤ Pseudo Color Exposure Control rollout Pseudo Color Exposure Control is actually a lighting analysis tool that provides you with an intuitive way of visualizing and evaluating the lighting levels in your scenes. It maps luminance on page 9209 or illuminance on page 9190 values to pseudo colors that show the brightness of the values being converted. From darkest to brightest, the rendering shows blue, cyan, green, yellow, orange, and red. (Alternatively, you can choose a grayscale where the brightest values are white, and the darkest are black.) The rendering includes the colored or grayscale spectrum bar as a legend for the image. After rendering the scene with pseudo color, 3ds Max displays a Rendered Frame Window on page 6963 labeled “Illuminance,” with a legend of illuminance values below the rendered image. NOTE The Illuminance frame is not displayed if antialiasing is turned off. NOTE You can use the Pseudo Color exposure control with the mental ray renderer on page 7129. 7686 | Chapter 19 Effects and Environments Pseudo color exposure of a scene with radiosity. Areas in red are overlit, areas in blue are underlit, and areas in green have a good lighting level. In the Rendered Frame Window labeled “illuminance,” a legend appears below the image. If you render a scene using this exposure control, 3ds Max creates a special render element on page 7280 named Illuminance that helps obtain accurate luminance and illuminance data. TIP If you get a file write error when you try to render a pseudo color image, check the path and file name of the Illuminance element, or the permissions of the PNG file that saves the illuminance data. Exposure Controls | 7687 Three spheres at an equal distance from a light source. The sphere on the left has a matte material, the sphere in the middle is glossy, and the sphere on the right is glossy but has a much darker color. A display of illuminance shows that it is the same for all three spheres. A display of luminance shows that the two spheres on the left reflect about the same amount of light, but the darker sphere on the right reflects little light except for its highlight. 7688 | Chapter 19 Effects and Environments See also: ■ Environment Panel on page 7621 Interface Display Type group Quantity Chooses the value being measured. ■ Illuminance (the default) displays values of light incident on surfaces. ■ Luminance displays values of light reflected off surfaces. Style Chooses the way to display values. ■ Colored (the default) shows a spectrum. ■ Grayscale shows gray tones that range from white to black. The spectrum bar displays the values the rendering will use. Exposure Controls | 7689 Pseudo color display style: Left: Grayscale Right: Colored scale Scale Chooses the technique used to map values. ■ Logarithmic (the default) uses a logarithmic scale. ■ Linear uses a linear scale. The Logarithmic scale is useful when the illumination of the surfaces of interest is low compared to the maximum illumination in the scene. Left: Linear scale Right: Logarithmic scale Display Range group Minimum (Min.) Sets the lowest value to measure and represent in the rendering. Values at this quantity or below it all map to the leftmost display color (or grayscale level). Maximum (Max.) Sets the highest value to measure and represent in the rendering. Values at this quantity or above it all map to the rightmost display color (or grayscale value). 7690 | Chapter 19 Effects and Environments Physical Scale Sets a physical scale for exposure control to use with lights that are not physically based. The result is an adjustment of the rendering that approximates the eye's response to the scene. Changing the value of Physical Scale is an optional step. Use it as a last resort when the materials or maps are not rendering correctly. Changing this setting will not affect anything in the scene unless your scene has an Ambient Color different than black. If you do adjust it, set the Physical Scale value to the equivalent of the brightest light source in the scene. 3ds Max multiplies each standard light's Multiplier on page 9233 by the Physical Scale value to produce a light intensity value in candelas. For example, with the default Physical Scale of 1500, a standard omni light is treated by the renderer and radiosity as a photometric isotropic light of 1500 candelas. Physical Scale is also factored into reflections, refractions, and self-illumination. TIP When you use ray-tracing with self illumination, set Physical Scale to the equivalent of the brightest light source in the scene. This sets the appropriate conversion scale for reflections, self-illumination, and all other non-physically based elements a material offers. In some cases, an object might reflect or emit more light than the brightest light object in the scene; in this case, use the object's Luminance value as the Physical Scale. Range=0.001 to 200,000.0 candelas. Default=1500.0. A single candle is approximately 1 candela (the unit can also be called a "candle"). A 100-Watt (W) incandescent light bulb is approximately 139 candelas (cd). A 60W bulb emitting in all directions is about 70 cd, while the same bulb with a reflector is about 4500 cd because the light flux is concentrated into a narrow angle. Photometric lights are unaffected by the Physical Scale value. This parameter is animatable. Adjusting the range to analyze: Exposure Controls | 7691 Above: Correct range for a scene Middle: Too narrow a range Below: Too great a range Narrowing the range to focus on a single object General Guidelines for Physical Scale Values ■ If you use only Photometric lights on page 5707, IES Sun on page 5866, and IES Sky on page 5870, the Physical Scale value is disregarded, and you don't need to change it. ■ If you use Standard lights on page 5757, the Physical Scale value acts as a conversion scale that the radiosity engine uses to calculate energy. Set it to the equivalent of the brightest light source in the scene. This will set the appropriate conversion scale for reflections, self-illumination, and all other non-physically based elements a 3ds Max material offers. However, if you use the Affect Indirect Only flag in the Logarithmic Exposure Control on page 7673, you don’t need to worry about the physical scale setting. Spectrum bar Shows the spectrum-to-intensity mapping. The numbers below the spectrum range from the Minimum to the Maximum settings. When rendering with pseudo color, the spectrum bar is displayed beneath the pseudo color image, labeled either Luminance or Illuminance. Lighting Data Exporter Utility Utilities panel ➤ Utilities rollout ➤ More button ➤ Utilities dialog ➤ Choose Lighting Data Export. ➤ Click OK. ➤ 2D Lighting Data Exporter rollout The Lighting Data Exporter renders the active viewport to images that include luminance on page 9209 and illuminance on page 9190 data that can be used for lighting analysis. 7692 | Chapter 19 Effects and Environments The Lighting Data Exporter does not render the files unless you have applied an exposure control on page 7665 to the scene. You can render to either the TIFF file on page 8461 format. If you export to a TIFF file, the utility renders a single image file that has separate channels for luminance and illuminance (the file is of the 32-bit SGI LogLUV image type). You can also render to the PIC file on page 8442 format. If you export to a PIC file, the utility renders two images: one containing luminance data, and the other containing illuminance data (see the description of the File Name button, below). Interface File Name Click the button to specify a file name for the rendering. When you export to the PIC format, the Lighting Data Exporter renders two files. It appends the string “_Illuminance” to the name of one file, and “_Luminance” to the other. For example, if you type house as the file name, the exporter renders to house_illuminance.pic and house_luminance.pic. Image Size group Width Sets the output width, in pixels. Default=640. Height Sets the output height, in pixels. Default=480. _____ Export Click to render luminance and illuminance data. WARNING Unlike the renderer, if you click Export more than once, this overwrites previously rendered files. Exposure Controls | 7693 Atmospheric Apparatuses Create panel ➤ drop-down list) (Helpers) ➤ Atmospheric Apparatus (from You can create three types of atmospheric apparatuses, or gizmos on page 9177: box, cylinder, and sphere. These gizmos contain the fog or fire effect in your scene. See also: ■ Fire Environment Effect on page 7629 ■ Fog Environment Effect on page 7640 ■ Volume Light Environment Effect on page 7654 Add Atmosphere Dialog Select Atmospheric Apparatus object. ➤ Atmospheres & Effects rollout ➤ Add button Modify panel ➤ The Add Atmosphere dialog lets you associate an atmosphere with the Atmospheric Apparatus on page 7694. 7694 | Chapter 19 Effects and Environments Interface List of atmospheres Displays the atmospheres that you can associate with the apparatus. New or existing group These radio buttons choose between new or existing atmospheres. New Lists only new atmospheres. Existing Lists only atmospheres that have been already assigned to other apparatuses in the scene. Adding an existing atmosphere creates a new atmosphere whose settings are initially identical to the previous one. BoxGizmo Helper Create panel ➤ drop-down list) ➤ BoxGizmo (Helpers) ➤ Atmospheric Apparatus (from Atmospheric Apparatuses | 7695 Create menu ➤ Helpers ➤ Atmospherics ➤ BoxGizmo BoxGizmo lets you create a box-shaped gizmo in your scene. Clicking the BoxGizmo button displays the Box Gizmo Parameters rollout. Box gizmo with volume fog Procedures To create the BoxGizmo: 1 Drag in a viewport to define the initial length and width, then release the mouse and drag vertically to set the initial height. 2 Click to end BoxGizmo creation. To add a new atmosphere: 1 Select the apparatus gizmo. 2 On the Modify panel ➤ Atmospheres & Effects rollout, click Add. This displays the Add Atmosphere dialog on page 7694. 7696 | Chapter 19 Effects and Environments 3 Choose an atmosphere from the list. 4 Click OK. This associates a new atmosphere with the apparatus. To add an existing atmosphere: 1 Select the apparatus gizmo. 2 On the Modify panel ➤ Atmospheres & Effects rollout, click Add. This displays the Add Atmosphere dialog on page 7694. 3 In the dialog, choose Existing. 4 Choose an atmosphere from the list. 5 Click OK. This creates a duplicate atmosphere for the apparatus. Its settings are initially identical to the atmosphere you chose. You can adjust them using Setup. Interface Name and Color rollout The Name and Color rollout on page 8771 lets you rename objects and change their wireframe color. Box Gizmo Parameters rollout Atmospheric Apparatuses | 7697 Length, Width, and Height Set the dimensions of the box gizmo. Seed Sets a base value used to generate the atmospheric effect. Each apparatus in the scene should have a different seed. If more than one apparatus uses the same seed and same atmospheric effect, they will produce nearly identical results. New Seed Click to generate a random number automatically and place it in the seed field. Atmospheres & Effects rollout The Atmospheres & Effects rollout, available from the Modify panel, allows you to add and set up atmospheres directly to the gizmo. Add Displays the Add Atmosphere dialog on page 7694 from which you can add an atmosphere to the BoxGizmo. Delete Deletes a highlighted atmospheric effect. Setup Displays the Environment panel on page 7621, where you can edit the highlighted effect. 7698 | Chapter 19 Effects and Environments CylGizmo Helper Create panel ➤ drop-down list) ➤ CylGizmo (Helpers) ➤ Atmospheric Apparatus (from Create menu ➤ Helpers ➤ Atmospherics ➤ Cylinder Gizmo CylGizmo lets you create a cylinder-shaped gizmo in your scene. Clicking the CylGizmo button displays the Cylinder Gizmo Parameters rollout. Cylinder gizmo with volume fog Procedures To create the CylGizmo: 1 Drag in a viewport to define the initial radius, then release the mouse and drag vertically to set the initial height. 2 Click to end CylGizmo creation. Atmospheric Apparatuses | 7699 To add a new atmosphere: 1 Select the apparatus gizmo. 2 On the Modify panel ➤ Atmospheres & Effects rollout, click Add. This displays the Add Atmosphere dialog on page 7694. 3 Choose an atmosphere from the list. 4 Click OK. This associates a new atmosphere with the apparatus. To add an existing atmosphere: 1 Select the apparatus gizmo. 2 On the Modify panel ➤ Atmospheres & Effects rollout, click Add. This displays the Add Atmosphere dialog on page 7694. 3 In the dialog, choose Existing. 4 Choose an atmosphere from the list. 5 Click OK. This creates a duplicate atmosphere for the apparatus. Its settings are initially identical to the atmosphere you chose. You can adjust them using Setup. Interface Name and Color rollout The Name and Color rollout on page 8771 lets you rename objects and change their wireframe color. 7700 | Chapter 19 Effects and Environments Cylinder Gizmo Parameters rollout Radius and Height Set the dimensions of the cylinder gizmo. Seed Sets a base value used to generate the atmospheric effect. Each apparatus in the scene should have a different seed. If more than one apparatus uses the same seed and same atmospheric effect, they will produce nearly identical results. New Seed Click to generate a random number automatically and place it in the seed field. Atmospheres & Effects rollout The Atmospheres & Effects rollout, available from the Modify panel, allows you to add and set up atmospheres directly to the gizmo. Atmospheric Apparatuses | 7701 Add Displays the Add Atmosphere dialog on page 7694 from which you can add an Atmosphere to the CylGizmo. Delete Deletes a highlighted atmospheric effect. Setup Displays the Environment panel on page 7621, where you can edit the highlighted effect. SphereGizmo Helper Create panel ➤ (Helpers) ➤ Atmospheric Apparatus (from drop-down list) ➤ SphereGizmo Create menu ➤ Helpers ➤ Atmospherics ➤ Sphere Gizmo SphereGizmo lets you create a sphere- or hemisphere-shaped gizmo in your scene. Clicking the SphereGizmo button displays the Sphere Gizmo Parameters rollout. Sphere gizmo with volume fog 7702 | Chapter 19 Effects and Environments Procedures To create the SphereGizmo: 1 Drag in any viewport to define the initial radius. 2 Adjust the radius with the spinner. To add a new atmosphere: 1 Select the apparatus gizmo. 2 On the Modify panel ➤ Atmospheres & Effects rollout, click Add. This displays the Add Atmosphere dialog on page 7694. 3 Choose an atmosphere from the list. 4 Click OK. This associates a new atmosphere with the apparatus. To add an existing atmosphere: 1 Select the apparatus gizmo. 2 On the Modify panel ➤ Atmospheres & Effects rollout, click Add. This displays the Add Atmosphere dialog on page 7694. 3 In the dialog, choose Existing. 4 Choose an atmosphere from the list. 5 Click OK. This creates a duplicate atmosphere for the apparatus. Its settings are initially identical to the atmosphere you chose. You can adjust them using Setup. Interface Name and Color rollout The Name and Color rollout on page 8771 lets you rename objects and change their wireframe color. Atmospheric Apparatuses | 7703 Sphere Gizmo Parameters rollout Radius Sets the radius of the default sphere. Hemisphere When turned on, the bottom half of the SphereGizmo is discarded, creating a hemisphere. Seed Sets a base value used to generate the atmospheric effect. Each apparatus in the scene should have a different seed. If more than one apparatus uses the same seed and same atmospheric effect, they will produce nearly identical results. New Seed Click to generate a random number automatically and place it in the seed field. Atmospheres & Effects rollout 7704 | Chapter 19 Effects and Environments The Atmospheres & Effects rollout, available from the Modify panel, allows you to add and set up atmospheres effects directly to the gizmo. Add Displays the Add Atmosphere dialog on page 5815 from which you can add an Atmosphere to the SphereGizmo. Delete Deletes a highlighted atmospheric effect. Setup Displays the Environment panel on page 7621, where you can edit the highlighted effect. Atmospheric Apparatuses | 7705 7706 Video Post 20 Video Post, available from the Rendering menu, lets you combine (composite) and render output of various types of events, including the current scene, bitmap images, image-processing functions, and so on. A video post queue can include scene geometry, background images, effects, and masks for compositing them. 7707 The result of video post: a composited frame Video Post is a self-contained, modeless dialog, similar in appearance to Track View. The edit window of the dialog shows when each event occurs in the finished video. Each event is associated with a track that has a range bar. The Video Post dialog contains the following window components: Video Post Queue on page 7708: Shows the sequence of post-production events. Video Post Status Bar/View Controls on page 7710: Shows information about the active Video Post controls and lets you control the display of tracks in the event tracks area. Video Post Toolbar on page 7731: Provides Video Post commands. Video Post Queue Rendering menu ➤ Video Post ➤ Video Post window ➤ Video Post Queue Video Post Queue provides a hierarchical list of the images, scenes, and events to be composited. 7708 | Chapter 20 Video Post The Video Post queue in the Video Post dialog is similar to other hierarchical lists in the Track View and Material Editor. In Video Post, the list items are images, scenes, animations on page 9090, or external processes that together make up the queue. The items in the queue are called events. The order that the events appear in the queue is the order in which they are executed, from top to bottom. Consequently, to correctly composite an image, the background bitmap must appear before, or above, the image that is to overlay it. There is always at least one item in the queue (a placeholder labeled Queue). It is the queue's parent event. The queue can be linear, but some kinds of events, such as Image Layer, combine other events and become their parent. Procedures To add an event to the queue: ■ Click an event button. When you add an event, a dialog displays where you can specify settings for that event. The settings offered on the dialog depend on the type of event; some events have different kinds of subtypes. In general, the new event appears at the end of the queue - but some kinds of events require that you first select one or more events in the queue. An Video Post Queue | 7709 event button is unavailable if the selection in the queue (or the absence of one) is not legal input to the button's type of event. To highlight an event already in the queue, click its icon, label, or range-bar area. To delete any event in the queue: ■ Select the event and press the Delete key. You can delete both enabled and disabled events, which are unavailable. To switch the positions of two events in the queue: 1 Highlight both events. 2 Click (Swap). This operation might not be allowed if the result would be impossible to execute. At the top level of the queue, you can almost always swap events; at lower levels, an event's output must be legal input to its parent event. To edit an event in the queue, do one of the following: 1 Select the event and click Edit Current Event on page 7734. 2 Double-click the event name. 3 Double-click the event's range-bar area in the edit window. Use one of the second two methods for disabled events. Video Post Status Bar / View Controls Rendering menu ➤ Video Post ➤ Video Post Status Bar The Video Post Status Bar contains an area for prompt and status information and for buttons to control the display of tracks in the event tracks area. Interface Prompt Line 7710 | Chapter 20 Video Post Displays instructions for using the currently selected function. Status (Start, End, Frames, Width, Height) Displays the Start frame and End frame for the current event, the total number of frames and the output resolution of the entire queue. S/E Shows start and end frames of the selected track. If no track is selected, shows the start and end frames of the entire queue. F Shows the total frames in the selected track or for the entire queue. W/H Shows the width and height of the image that results from the rendering of all the events in the queue. Pan Lets you drag horizontally in the event tracks area to shift the view left and right. Zoom Extents Adjusts the size of the event-track area horizontally so that all the frames of the longest track bar are visible. Use Zoom Extents to quickly reset the display to show all frames after zooming in on a selection of frames with the Zoom Time button. Zoom Time Displays a greater or lesser number of frames in the event tracks area, allowing you to scale or zoom the display. The time ruler displays the current time display unit. Drag horizontally in the event tracks area to zoom time. Drag right to display fewer frames in the track area (zoom in). Drag left to display more frames in the track area (zoom out). Video Post Status Bar / View Controls | 7711 Zoom Region Magnifies a region that you define by dragging a rectangle in the event tracks area. Troubleshooting Video Post While Video Post offers many useful functions and creative effects, invariably you will set up a queue that looks like it should work or even appears to render correctly only to give you an animation that does not include the desired effect. Here are some troubleshooting tips to reference when a queue just isn't doing what you expect. There are two key things that can cause a Video Post queue to fail. The first is incorrect ordering and nesting of events in the queue. The second is faulty positioning and/or overlapping of the range bars. When you come up again a problem, especially if you're attempting to set up a very complex queue, the best way to diagnose the problem is to create a new queue that should only result in the effect that is failing. If you can get the simplified queue to work, you can compare it to the structure of the failing queue to see what might be out of order. Here are two very common scenarios that look like they should work but ultimately don't give you the result you expected. These examples are shown in their simplified state, but could very easily be buried in more complex queues. ■ The object simply disappears instead of fading out. The first example illustrates a problem where you expect the scene to render for fifteen frames before fading to black to finish the animation. However, at frame sixteen, the scene abruptly goes black. 7712 | Chapter 20 Video Post This queue shows all the correct events in the proper order in the queue. The problem is the timing and positioning of the range bars. The most likely cause of this problem is using the Abut Selection on page 7742 when it's not necessary. In order for the Fade event to work properly, it needs to overlap the animation for the amount of time you want to fade to occur. You need to take into account the number of frames where the scene actually fades. To fix this queue, you have to decide how many frames over which the fade will occur. Let's say you want the scene to fade to black over ten frames. You would need to drag the right end of the Perspective event range bar ten frames to the right to overlap the Fade event. ■ The object glows during rendering, but not in the animation. This second example is even more misleading than the first. The infuriating thing about this problem is that while the scene is rendering, the object in the scene shows the glow effect. When the resultant animation is played back, the Glow effect is not present. Troubleshooting Video Post | 7713 Once again, this queue shows all the correct events, but the problem here is the ordering of the events in the queue. This problem is commonly caused when an event is selected while other events are being added. In this case, the Perspective event was select when the Lens Effects Glow and output events were added. There are two ways to create this queue to give you the correct results. You can recreate the queue and add each event so there is no nesting, or you remove the current output event and add it again, making sure no other events are selected. The following images show the two ways this queue could be set up to successfully show the glowing object. 7714 | Chapter 20 Video Post Useful Video Post Procedures Rendering menu ➤ Video Post There are some tasks that you will use Video Post for more than others. This primer describes some of the more common sequences you'll find yourself using Video Post to create. The procedures are outlined in their simplest forms. The following procedures are outlined: ■ Make an object glow on page 7716 ■ Create an animation from a series of still images on page 7717 ■ Render a scene with a starfield on page 7718 ■ Set up a simple cross fade between two images on page 7719 ■ Resize a series of images on page 7721 ■ Composite two image sequences on page 7722 ■ Render a scene over an image sequence or an animation on page 7724 ■ Join two animations – end to end on page 7726 ■ Switch between views on page 7727 ■ Render a scene in reverse on page 7729 Useful Video Post Procedures | 7715 Procedures Example: Make an object glow: One of the most common things you'll want to do with the Glow filter is make an object glow. Here's how to do it in its simplest form. 1 In the Perspective viewport, create a Sphere with a radius of about 30. 2 Choose Rendering ➤ Video Post. 3 Click Add Scene Event on page 7743 and set the view to Perspective. Click OK to close the Add Scene Event dialog. 4 Click Add Image Filter Event on page 7755 and choose Lens Effects Glow from the Filter Plug-In list. Click OK to close the Add Image Filter Event dialog. 5 Click (Add Image Output Event on page 7762) and then click Files. 6 Set the output file format to BMP Image File and enter a filename like MyGlow. Click Save when you've set the name and format 7 Click OK to accept the default setting on the BMP configuration dialog. Then click OK to close the Add Image Output Event dialog. 8 Right-click the Sphere to bring up the Quad Menus and select Properties. 9 Set the Object Channel in the G-Buffer group to 1 and click OK. 10 Click (Execute Sequence on page 7736). 11 Click Render on the Execute Video Post dialog. You'll see the a glowing sphere in the render window. 7716 | Chapter 20 Video Post Example: Create an animation from a series of still images: Another common process you'll use Video Post to achieve is taking a series of still images you've rendered and convert them to an animation. To accomplish this task, you need an IFL file on page 8420. 1 Use the IFL Manager Utility on page 8424 to create an IFL file containing the sequentially number image files you want to process. 2 Choose Rendering ➤ Video Post. 3 Click (Add Image Input Event on page 7748), and then click Files. Choose the IFL file you created at step 1 and then click Open to close the selection dialog. 4 Click OK to close the Add Input Image Event dialog. 5 Click (Add Image Output Event on page 7762), and then click Files. 6 Set the output file format to AVI File on page 8412 and enter a filename like MyAnimation. Click Save when you've set the name and format 7 Select a codec on page 9118 from the Video Compression dialog and click OK. Then click OK to close the Add Image Output Event dialog. Useful Video Post Procedures | 7717 8 Click (Execute Sequence on page 7736). 9 Click Render on the Execute Video Post dialog. The final product is an animation. Example: Render a scene with a starfield: At some time, you'll want to create a night scene that requires a starry sky. The key thing to remember when creating a star field is adding a camera to the scene. The Starfield filter only works with a camera. Here are the steps to set that up. 1 In the Top viewport, create a Sphere with a radius of about 30 and a Target Camera. Place the camera to one side and have it pointing at the center of the sphere. 2 Right-click in the Perspective viewport and press C to change the viewport display to Camera01. 3 Choose Rendering ➤ Video Post. 4 Click (Add Scene Event on page 7743), and make sure the view is set to Camera01. Click OK to close the Add Scene Event dialog. 5 Click (Add Image Filter Event on page 7755), and choose Starfield from the Filter Plug-In list. 7718 | Chapter 20 Video Post 6 Click the Setup button to open the Stars Control dialog. Make sure Source Camera (at the top) is set to Camera01, and then click OK. 7 Click OK to close the Add Image Filter Event dialog. 8 Click (Add Image Output Event on page 7762), and then click Files. 9 Set the output file format to BMP Image File and enter a filename like MyStarfield. Click Save when you've set the name and format 10 Click OK to accept the default setting on the BMP configuration dialog. Then click OK to close the Add Image Output Event dialog. 11 Click (Execute Sequence on page 7736). 12 Set the time output to Single and click Render on the Execute Video Post dialog. The final product is a rendered image of a sphere against a starry background. Set up a simple cross fade between two images: Sometimes you want to transition from one view or animation to another. This set of steps with show you how to set up a cross fade from one image to another. For this example the complete cross fade will occur over 20 frames Useful Video Post Procedures | 7719 displaying the first image for five frames, cross fade for ten frame and then display the second image for the last five frames. The resulting animation produced by this process could be used as an Image Input Event for a different Video Post sequence. 1 Choose Rendering ➤ Video Post. 2 Click (Add Image Input Event on page 7748), and then click Files. Choose your first image and click Open and then click OK to close the Add Image Input Event dialog. 3 Click (Add Image Input Event) again, and then click Files. Choose your second image and click Open and then click OK to close the Add Image Input Event dialog. 4 Click (Add Image Output Event on page 7762), and then click Files. 5 Set the output file format to MOV File and enter a filename like MyXFade. Click Save when you've set the name and format 6 Click OK to accept the default setting on the Compression Settings dialog. Then click OK to close the Add Image Output Event dialog. 7 Select the first Image Input Event and then hold down the Ctrl key while selecting the second Image Input Event. Both events will highlight in gold. 8 Click (Add Image Layer Event on page 7758), and choose Cross Fade Transition from the list of compositors and transitions. Click OK to close the Add Image Layer Event dialog. Notice how the Image Layer Event becomes the parent of the two Image Input Events. 9 Click (Zoom Extents) to view the entire set of tracks. 10 On the Queue track bar, click and drag the right-hand end of the range-bar to frame 20. This adjusts all the tracks. 7720 | Chapter 20 Video Post 11 Select the Cross Fade Transition event and drag the left-hand end of the range-bar to frame 5 and then drag the right-hand end of the range-bar to frame 15. This sets the period in time when the cross fade occurs. 12 Select the track for the first Image Input Event and the right-hand end of the range-bar to frame 8. By setting the end to frame 8 instead of 5, you'll have three frames during which the first image will fade to black. 13 Select the track for the second Image Input Event and the left-hand end of the range-bar to frame 12. Similarly, setting this end to frame 12 ensures that the second image will fade in over three frames and display in full color for the last five frame of the transition. 14 Click (Execute Sequence on page 7736). 15 Click Render on the Execute Video Post dialog. Example: Resize a series of images: Perhaps you've rendered a series of still images but it turns out they were at the wrong resolution. You might normally think you have to re-render the entire scene again which will tie up all the systems to do the same work they just completed. Video Post can be used to resize the images without having to use all the systems. 1 Use the IFL Manager Utility on page 8424 to create an IFL file containing the sequentially number image files you want to resize. Useful Video Post Procedures | 7721 2 Choose Rendering ➤ Video Post. 3 Click (Add Image Input Event on page 7748), and then click Files. Choose the IFL file you created at step 1 and then click Open to close the selection dialog. 4 Click OK to close the Add Input Image Event dialog. 5 Click (Add Image Output Event on page 7762), and then click Files. 6 Set the output file format for the new set of still images to TGA and enter a filename like MyResize. Click Save when you've set the name and format 7 Click OK to accept the default setting on the Targa Image Control dialog. Then click OK to close the Add Image Output Event dialog. 8 Click (Execute Sequence on page 7736). 9 On the Execute Video Post dialog, set the new output resolution you want for the images and then click Render. When the rendering is complete, you will have a new series of resized images that have a name prefix of MyResize. So, if there were ten images listed in the IFL file, there will be ten new images named MyResize0000.tga through MyResize0009.tga stored in your image folder. 7722 | Chapter 20 Video Post Example: Composite two image sequences: Compositing two sets of images together is one of the “workhorse” operations of Video Post. This is commonly done when a project is nearing completion and it lets you combine all the images your artists have been rendering. 1 Use the IFL Manager Utility on page 8424 to create an IFL file for each set of images sequences you want to composite. 2 Choose Rendering ➤ Video Post. 3 Click (Add Image Input Event on page 7748), and then click Files. Choose your first IFL file and click Open and then click OK to close the Add Image Input Event dialog. 4 Click (Add Image Input Event) again, and then click Files. Choose your second IFL file and click Open and then click OK to close the Add Image Input Event dialog. 5 Click (Add Image Output Event on page 7762), and then click Files. 6 Set the output file format to MOV File and enter a filename like MyComposite. Click Save when you've set the name and format 7 Click OK to accept the default setting on the Compression Settings dialog. Then click OK to close the Add Image Output Event dialog. 8 Select the first Image Input Event and then hold down the Ctrl key while selecting the second Image Input Event. Both events will highlight in gold. 9 Click (Add Image Layer Event on page 7758), and choose Alpha Compositor on page 7845 from the list of compositors and transitions. Click OK to close the Add Image Layer Event dialog. Notice how the Image Layer Event becomes the parent of the two Image Input Events. 10 Click (Execute Sequence on page 7736). 11 Click Render on the Execute Video Post dialog. Useful Video Post Procedures | 7723 Example: Render a scene over an image sequence or an animation: This process in similar to the last one except you might have an animation or series of still images you want to use as the background for your existing scene. 1 Use the IFL Manager Utility on page 8424 to create an IFL file for the set of images that will be the background for your current scene. 2 Choose Rendering ➤ Video Post. 3 Click (Add Image Input Event on page 7748), and then click Files. Choose your IFL file or animation and click Open and then click OK to close the Add Image Input Event dialog. 4 Click Add Scene Event on page 7743 and set the view to Perspective or a Camera you have in the scene. Click OK to close the Add Scene Event dialog. 5 Click (Add Image Output Event on page 7762), and then click Files. 6 Set the output file format to AVI File and enter a filename like MyScene. Click Save when you've set the name and format 7 Select a codec on page 9118 from the Video Compression dialog and click OK. Then click OK to close the Add Image Output Event dialog. 7724 | Chapter 20 Video Post 8 Select the first Image Input Event and then hold down the Ctrl key while selecting the Scene Event. Both events will highlight in gold. 9 Click (Add Image Layer Event on page 7758), and choose Pseudo Alpha on page 7846 from the list of compositors and transitions. Click OK to close the Add Image Layer Event dialog. Notice how the Image Layer Event becomes the parent of the two Image Input Events. 10 Click (Execute Sequence on page 7736). 11 Click Render on the Execute Video Post dialog. Notice that the Image Input Event in this example is only ten frames long. Normally, you'd choose a set of background images that equals the number of frames in your scene. When this sequence is executed, as is, the images in the IFL file will only appear for the first ten frames and then disappear. 12 Select the Image Input Event just under the Pseudo Alpha layer event. 13 Add a Loop Event, and set the number of times to 4. The Image Input Event becomes further nested in the queue. If you want, you can use the default Loop setting or change it to Ping Pong then click OK to close the Add Loop Event dialog. 14 Click (Execute Sequence) again and render the scene. Useful Video Post Procedures | 7725 Join two animations end to end: If you're working in a production environment, you probably do not work on an entire animation by yourself. Instead, you might work on one part while other artists are working on other parts. At the end of the project, everyone's animations need to be joined together. 1 Choose Rendering ➤ Video Post. 2 Click Add Image Input Event on page 7748), and then click Files. Choose your first animation file and click Open and then click OK to close the Add Image Input Event dialog. 3 Click (Add Image Input Event) again, and then click Files. Choose the next animation file and click Open and then click OK to close the Add Image Input Event dialog. 4 Repeat the last step for any other animations that need to be joined. 5 Click (Add Image Output Event on page 7762), and then click Files. 6 Set the output file format to MOV File and enter a filename like MyFinal. Click Save when you've set the name and format 7 Click OK to accept the default setting on the Compression Settings dialog. Then click OK to close the Add Image Output Event dialog. 7726 | Chapter 20 Video Post 8 Select the first Image Input Event and then hold down the Ctrl key while selecting the second Image Input Event. Both events will highlight in gold. 9 Click (Abut Selected on page 7742). 10 Repeat the last two step with subsequent Image Input Events. 11 Click (Zoom Extents) to view the entire set of tracks. 12 Select the Image Output Event and drag the right end of the range-bar to match the total number of frames in the queue. 13 Click (Execute Sequence on page 7736). 14 Click Render on the Execute Video Post dialog. Switch between views: It's not often that a final scene shows views from only one viewpoint. Either the camera moves or there are multiple cameras from which images are rendered. This sequence shows you how to switch from one camera view to another. 1 In the Perspective viewport, create a Box with a length of 15, a width of 30 and a height of 15. 2 In the Top viewport, create two Target Cameras pointing at the box from different angles. Useful Video Post Procedures | 7727 3 Click or right-click the Point-Of-View (POV) viewport label in the Left viewport. From the POV viewport label menu on page 8712, choose Views ➤ Camera01. 4 Click or right-click the POV viewport label in the Perspective viewport. From the POV viewport label menu on page 8712, choose Views ➤ Camera02. 5 Choose Rendering ➤ Video Post. 6 Click (Add Scene Event on page 7743), and set the view to Camera01. Click OK to close the Add Scene Event dialog. 7 Click (Add Scene Event) again, and set the view to Camera02. Click OK to close the Add Scene Event dialog. 8 Select the first Scene Event and then hold down the Ctrl key while selecting the second Scene Event. Both events will highlight in gold. 9 Click (Abut Selected on page 7742). 10 Click in an empty part of the queue to deselect the two Scene Events. 11 Click (Add Image Output Event on page 7762), and then click Files. 12 Set the output file format to MOV File and enter a filename like MyViews. Click Save when you've set the name and format 13 Click OK to accept the default setting on the Compression Settings dialog. Then click OK to close the Add Image Output Event dialog. 14 Click (Execute Sequence on page 7736). 15 Click Render on the Execute Video Post dialog. 7728 | Chapter 20 Video Post Render a scene in reverse: It's not commonly done but when you need to render a scene in reverse you could spend hours trying to accomplish it. Video Post makes it easy. 1 Choose Rendering ➤ Video Post. 2 Click (Add Scene Event on page 7743), and set the view to Perspective or a camera in the scene. 3 In the Scene Range group, turn off Lock To Video Post Range and set the Scene Start value to the last frame of animation. 4 Turn off Lock Range Bar To Scene Range and set the Scene End value to 0. Useful Video Post Procedures | 7729 5 Click OK to close the Add Input Image Event dialog. 6 Click (Add Image Output Event on page 7762), and then click Files. 7 Set the output file format to AVI File and enter a filename like MyReverse. Click Save when you've set the name and format 8 Select a codec on page 9118 from the Video Compression dialog and click OK. Then click OK to close the Add Image Output Event dialog. 9 Click (Execute Sequence on page 7736). 7730 | Chapter 20 Video Post 10 Click Render on the Execute Video Post dialog. Video Post Toolbar Rendering menu ➤ Video Post toolbar The Video Post Toolbar contains tools for handling Video Post files (VPX files on page 9344) and for managing the individual events displayed in the Video Post queue and event tracks area. New Sequence Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ Sequence) (New The New Sequence button creates a new Video Post sequence by clearing existing events from the queue. You'll be prompted to confirm the deletion of any entries in the current queue. Video Post Toolbar | 7731 Procedures To create a new Video Post file: ■ Click (New Sequence). WARNING This command erases all the current Video Post data. Use New Sequence after you have saved to a different Video Post (VPX) file. Choosing Video Post from the Rendering menu displays the Video Post data (if any) saved with your 3ds Max scene. Open Sequence Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ Sequence) (Open The Open Sequence button opens a Video Post sequence stored on disk. Video Post sequences contain all the information relating to the queue and all associated settings and references. VPX files on page 9344 have the file extension .vpx and are stored by default in the \3dsmax\vpost folder. Procedures To open an existing Video Post file: ■ Click (Open Sequence). Use the file selection dialog that appears to choose the VPX file you want to execute or edit. To import an existing Video Post sequence: You can also use Open Sequence to import the Video Post queue from a 3ds Max scene (MAX file). 1 Click (Open Sequence). 7732 | Chapter 20 Video Post 2 On the Open Sequence dialog, change the Files Of Type setting to All Files (*.*) 3 Browse to the folder where you store your MAX files. 4 Select the MAX file that contains the Video Post sequence you want to execute or edit and click Open. Video Post loads only the Video Post data from the existing .max file, leaving your current scene unchanged. Save Sequence Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ Sequence) (Save The Save Sequence button saves the current Video Post sequence to disk. All of the Video Post configuration data, the queue events themselves, and any queue event external data are saved in the MAX file. You can also save the Video Post sequence to a separate file for sharing with other 3ds Max users. Video Post sequence files contain all the information relating to the queue and all associated settings and references. VPX files on page 9344 have the file extension .vpx and are stored by default in the \3dsmax\vpost folder. Procedures To save the active Video Post data: ■ Click (Save Sequence). A file selection dialog appears to let you enter a name for the new Video Post file. By default, Save Sequence stores the VPX file to the \3dsmax\vpost subdirectory. You can change the default path to another directory via the Configure User Paths dialog ➤ File I/O panel on page 8875. Save Sequence | 7733 Edit Current Event Rendering menu ➤ Video Post ➤ Video Post window ➤ Select an event. ➤ Video Post toolbar ➤ (Edit Current Event) The Edit Current Event button displays a dialog that lets you edit the properties of the selected event. The dialog depends on the type of event you've selected. The controls in the edit dialogs are the same as those in the dialog you use to add that type of event. The top field in each event dialog is an editable label field. If the field is left blank, the event uses its assigned label. If you enter an event name, the Video Post Queue displays your event name in the field. You can edit the following types of events: Add Scene Event on page 7743 Add Image Input Event on page 7748 Add Image Filter Event on page 7755 Add Image Layer Event on page 7758 Add Image Output Event on page 7762 Add External Event on page 7765 Add Loop Event on page 7768 Procedures To edit an event in the queue, do one of the following: 1 Select the event and then click (Edit Current Event). 2 Double-click the event name. 3 Double-click the event's range-bar area in the edit window. Use the second or third method above withdisabled events. 7734 | Chapter 20 Video Post Delete Current Event Rendering menu ➤ Video Post ➤ Video Post window ➤ Select an event. ➤ Video Post toolbar ➤ (Delete Current Event) The Delete Current Event button deletes the selected event from the Video Post Queue. You'll be asked to confirm event deletion. Procedures To delete any event in the queue, do one of the following: ■ Select the event and then click (Delete Current Event). ■ Select the event and press the Delete key. You can delete both enabled and disabled events, which are unavailable. Swap Events Rendering menu ➤ Video Post ➤ Video Post window ➤ Select two events. ➤ Video Post toolbar ➤ (Swap Events) The Swap Events button switches the position of two selected events in the queue. This is useful if you have images in the wrong order for compositing. The background image has to be first and the foreground image with the alpha channel on page 9088 has to be second. Procedures To switch the positions of two events in the queue: 1 Highlight both events. 2 Click (Swap). Swap Events might not be allowed if the result would be impossible to execute. Delete Current Event | 7735 In this sample queue, the two top level events, Front and Fade, could be swapped. You can almost always swap events at the top level. However, at lower levels, where events start getting nested, the output of a lower level event must be valid input to its parent event. In the sample queue, the output of the Loop Once event would not be recognized by the Fade event, so the Swap Events button remains inactive and you cannot swap them. Execute Sequence Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ Sequence) (Execute You execute the Video Post queue as the final step in creating a post-produced video. Execution is different from rendering because rendering is done for scenes only and you can use Video Post to composite images and animations without including the current 3ds Max scene. Although the Execute Video Post controls are similar to those of the Render Setup dialog, the setting are independent, and do not affect each other. During execution, you can move or close the rendered frame window, but you cannot use the rest of 3ds Max until the execution is completed or cancelled. 7736 | Chapter 20 Video Post The rendering time for the last rendered frame in the Video Post sequence is displayed in the prompt line of the main 3ds Max window. Procedures To execute the queue: 1 Click (Execute Sequence). An Execute Video Post dialog appears. 2 Set the time range and output size, and then click Render to create the video. 3 When execution is done, click Close to dismiss the Video Post progress dialog if it is still open. Interface Time Output group Select the frames to execute: Single Current frame only. You can execute a single frame only if it falls within the current range. Range All the frames between and including the two numbers. Every Nth frame Regular sample of frames. For example, enter 8 to execute every 8th frame. Execute Sequence | 7737 Output Size group Format Choose Custom or a standard film or video format from the list. For Custom, you can set the aperture width of the camera, the rendering output resolution, and the image aspect ratio or pixel aspect ratio. When you choose a standard format, the aperture width and aspect ratios are locked, but you can change the resolution. Width/Height Specify the width and height of the image, in pixels. For Custom, you can set these two spinners independently. For other formats, the two spinners are locked to the specified aspect ratio, so changing one changes the other. Resolution Buttons Specifies a preset resolution. Right-click a button to display a subdialog on page 7739 that lets you change the resolution specified by that button. Image Aspect Sets the aspect ratio of the image. As you alter the Image Aspect, you also alter the Height value to maintain the correct aspect ratio. For standard formats, the image aspect ratio is locked, and this spinner is replaced by a text display. If you lock the Image Aspect (by clicking the Lock button), Width and Height are locked to each other, so that changing one changes the other to maintain the image aspect ratio, and changing the Pixel Aspect value changes the Height value to maintain the image aspect ratio. Pixel Aspect Sets the aspect ratio of the pixels of the image. For standard formats, the pixel aspect ratio is determined by the format and this spinner is replaced by a text display. If you lock the pixel aspect ratio (by clicking the Lock button), the Pixel Aspect spinner is replaced by a text display. The Lock button is available only for the Custom format. Output group Keep Progress Dialog Forces the Video Post Progress dialog to remain displayed when the Video Post sequence has finished executing. By default, it closes automatically. If this option is selected, you must click the Close button to close the dialog. Rendered Frame Window Displays the Video Post execution in a window on the screen. Net Render Enables network rendering on page 9236. If Net Render is turned on, when you render you'll see the Network Job Assignment dialog on page 7415. 7738 | Chapter 20 Video Post Configure Presets Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Execute Sequence) ➤ Right-click any Resolution button. ➤ Configure Presets dialog If you use the Custom format for Execute Sequence on page 7736, you can change the values for any preset resolution button by right-clicking the button. If you use one of the standard formats, the Width and Height spinners are locked to the standard's image aspect ratio, and the Aspect Ratio spinner is replaced by a text display. After you change these values and exit the Configure Presets dialog, you must click the button to apply the new values to the Execute Sequence dialog. Interface Width Specifies the width of the image, in pixels. Height Specifies the height of the image, in pixels. Aspect Ratio Sets the aspect ratio of the image. As you alter the Image Aspect value, you also alter the Height value so that the correct aspect ratio is maintained for the resolution. Edit Range Bar Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ Bar) (Edit Range The Edit Range Bar provides editing functions for the range bars that appear in the event tracks area. Configure Presets | 7739 When Edit Range Bar is on, you can: ■ Select any event by clicking its range bar (it turns red when selected). ■ Move the range bar while maintaining its range by dragging in the middle of the bar. ■ Change the start or end frame of the range by dragging either end of its bar. Procedures To select a range bar, do one of the following: 1 Click the range bar in the event tracks area. 2 Click the associated event name or icon in the queue. To select multiple range bars: 1 Click a range bar. 2 Hold down Ctrl and click additional range bars. To select multiple contiguous range bars: 1 Click a range bar. 2 Hold down Shift and click another range bar. Both range bars you clicked and all range bars between them, if any, are selected. NOTE In a multiple selection, the last range bar you select becomes the current event, displayed with red squares in its endpoints. The align commands use the current event. To move a range bar: ■ Click and drag the center of the range bar left or right. To change the length of a range bar: ■ Click and drag one of range bar's endpoints left or right. If multiple range bars are selected, dragging one endpoint changes all selected range bars. 7740 | Chapter 20 Video Post To change the number of frames in an event: 1 Double-click the range bar in the event tracks area or select the event and click the Edit Current Event button. 2 Change the VP Start Time or VP End Time values. Align Selected Left Rendering menu ➤ Video Post ➤ Video Post window ➤ Select two or more range bars. ➤ Video Post toolbar ➤ (Align Selected Left) The Align Selected Left button left-aligns two or more selected range bars. When you select two or more range bars, the last one selected is the current event. The end boxes of the other events are white, while the end boxes of the current event are red. When you click Align Selected Left, the current event stays in place, and the remaining selected events are aligned to its left end. Procedures To change the number of frames in an event, do one of the following: 1 Double-click the range bar in the event tracks area. 2 Click the Edit Current Event button in the toolbar. Align Selected Right Rendering menu ➤ Video Post ➤ Video Post window ➤ Select two or more range bars. ➤ Video Post toolbar ➤ (Align Selected Right) The Align Selected Right button right-aligns two or more selected range bars. When you select two or more range bars, the last one selected is the current event. The end boxes of the other events are white, while the end boxes of the current event are red. When you click Align Selected Right, the current event stays in place, and the remaining selected events are aligned to its right end. Align Selected Left | 7741 Procedures To change the number of frames in an event, do one of the following: 1 Double-click the range bar in the event tracks area. 2 On the toolbar, click (Edit Current Event). Make Selected Same Size Rendering menu ➤ Video Post ➤ Video Post window ➤ Select one or more events. ➤ Video Post toolbar ➤ (Make Selected Same Size) The Make Selected Same Size button makes all selected events the same size as the current event. When you select two or more range bars, the last one selected is the current event. The end boxes of the other events are white, while the end boxes of the current event are red. When you click Make Selected Same Size, the current event stays in place, and the remaining selected events are expand or shrink to cover the same number of frames. Procedures To change the number of frames in an event, do one of the following: 1 Double-click the range bar in the event tracks area. 2 On the toolbar, click (Edit Current Event). Abut Selected Rendering menu ➤ Video Post ➤ Video Post window ➤ Select events in the queue. ➤ Video Post toolbar ➤ (Abut Selected) The Abut Selected button places the selected events end-to-end, so that when one ends the next one starts. 7742 | Chapter 20 Video Post The selected events are placed end-to-end according to their order in the queue. Add Scene Event Rendering menu ➤ Video Post ➤ Video Post window ➤ Make sure no events are selected in the queue. ➤ Video Post toolbar ➤ (Add Scene) Rendering menu ➤ Video Post ➤ Video Post window ➤ Select a scene from the Video Post Queue. ➤ Video Post toolbar ➤ (Edit Current) Event The Add Scene Event button adds the scene in the selected camera viewport to the queue. A Scene event is a view of the current 3ds Max scene. You can choose which view to display and how to synchronize the scene with the final video. Like Image Input events, Scene events place an image in the queue, but a Scene event is the current 3ds Max scene and it must be rendered when you execute the Video Post queue. The scene is rendered exactly as it would be by the scanline renderer on page 9292, with the additional options listed below. The resulting scene image has an alpha channel on page 9088. You can use multiple Scene events to show two views of the same scene simultaneously or to cut from one view to another. If you have more than one Scene event in the queue, and they occupy the same time range, composite them with an Image Layer event on page 7758 such as Cross Fade or Simple Wipe. Otherwise, the second Scene Event overwrites the first even though your system has spent the time processing both events. Procedures To add a Scene event: 1 Make sure no events are selected in the queue. 2 Click (Add Scene). An Add Scene Event dialog appears. 3 Choose a view to use from the View list. 4 Click Render Setup to change rendering settings from the way you have set them in the Render Setup dialog. Add Scene Event | 7743 NOTE Unlike settings in the Execute Video Post dialog, changes you make to the Scene event rendering options change the Render Setup dialog settings, and vice-versa. 5 Set the Scene Range options and click OK. The Scene event appears at the end of the queue. To match the scene's frames with Video Post frames: ■ Make sure Lock To Video Post Range is selected. Lock To Video Post Range is the default. Frames in the scene match Video Post frames and have the same frame number. That is, frame 0 in the scene is frame 0 in the Video Post dialog, frame 15 in the scene is frame 15 in Video Post, and so on. The range bar for the Scene event represents which portion of the scene is selected. If the range bar covers Video Post frames 25 to 35, executing the queue renders scene frames 25 to 35. Moving the range bar for the scene is like moving a time window within the scene. Other Scene Range options are disabled when Lock To Video Post Range is selected. To offset the scene in time: ■ Select Lock Range Bar To Scene Range. The Scene Start control is enabled but the Scene End control remains disabled: synchronization is controlled by the Scene Start value and the length of the range bar. The Scene Start value is the scene frame number where playback begins. If Scene Start is 0, frame 0 of the scene is the first frame played back; if Scene Start is 12, frame 12 is the first frame to play, and so on. The range bar length determines how many frames of the scene to play. Dragging the end point of the range bar changes the length of the playback range. Although Scene End is unavailable, its value updates to show the frame number of the last scene frame that will be played. Dragging the range bar changes where the scene is played within the final video. For example, if you set Scene Start to 5 and move the range bar to begin at Video Post frame 20, frame 5 is played at frame 20 of the final video, and so on. To offset the scene and change scene playback rate: ■ Turn off Lock Range Bar To Scene Range. 7744 | Chapter 20 Video Post With Lock Range Bar to Scene Range off, both Scene Start and Scene End are enabled. As before, Scene Start specifies the first scene frame to play. Scene End specifies the last scene frame to play, and the length of the range bar determines playback speed. If the range bar specifies the same number of Video Post frames as there are corresponding scene frames, then playback is at the scene's playback rate. If the range bar specifies fewer frames, the scene is sped up. If the range bar specifies more frames, the scene is slowed down. When it executes, Video Post automatically skips frames or adds frames to control the speed of scene playback. For example, if Scene Start is frame 5 and Scene End is frame 35, the range bar represents 30 frames overall. If the range bar covers only 10 Video Post frames, scene playback is sped up to fit 30 frames into 10 of the final video. If on the other hand, the range bar covers 120 frames, scene playback is stretched to slow it down. To render the full scene backwards: 1 Turn off Lock To Video Post Range. 2 Turn off Lock Range Bar To Scene Range. 3 Set Scene Start to the last frame in the scene. 4 Set Scene End to the first frame in the scene. The length of the range bar also determines the playback speed of the reversed scene. To add scene motion blur: 1 Select Scene Motion Blur in the Scene Event dialog. 2 Set the scene motion blur parameters. The Scene event generates motion blur by simulating a camera with an open shutter. It interpolates and then renders movement within a frame, to generate a series of images of the moving object, instead of the default single image. Interface The Add Scene Event and Edit Scene Event dialogs have the same controls. Add Scene Event | 7745 View group Label Lets you edit the event name. A unique name can make the scene event easier to distinguish in a long list of events. Viewport Select the viewport you want to render. Scene Options group Enables various rendering effects. Render Setup Displays a subset of the Render Setup dialog on page 6956 parameters. Changes you make here affect the Render Setup dialog as well. 7746 | Chapter 20 Video Post Scene Motion Blur Turns on the scene motion-blur on page 9293 effect for the whole scene. This is different from object motion blur on page 9242, which creates motion blur for individual objects in the scene. When you render with Scene Motion Blur activated, the Render Progress dialog tells you which subsample is being rendered. The information appears in parentheses to the right of the "Rendering Image" text. Duration Sets the virtual shutter speed for motion blur. When set to 1.0, the virtual shutter is open for the entire duration between one frame and the next. When set to a smaller number, such as 0.25, the number of subdivisions specified in the Duration Subdivision field will be rendered within the specified portion of the frame (in this example, in the first fourth of the duration between one frame and the next). Duration Subdivisions Determines how many sub-frame slices are rendered within the Duration. The default is 2 slices, but you'll want at least 5 or 6 to get a decent effect. Dither % Sets the amount of dithering on page 9138 between blurred pixels of overlapping frame slices. If Dither % is set to 0, no dithering occurs. Scene Range group Scene Start/End Sets the range of scene frames to be rendered. Lock Range Bar to Scene Range Becomes available when you deselect Lock To Video Post Range. When it's available, the End spinner is disabled and locked to the Video Post range. When you change the Start spinner it automatically updates the End spinner based on the Video Post range set for this event. If you turn off Lock Range Bar To Scene Range, you can change either Start or End spinners to whatever you want. This allows you to keep your scene range locked to its native length, and still provides flexibility for mapping an arbitrary scene range to an arbitrary Video Post range. Lock to Video Post Range Renders the same range of scene frames as Video Post frames. You can set the Video Post range in the Execute Video Post dialog. Video Post Parameters group VP Start Time/End Time Sets the starting and ending frames for the selected event within the overall Video Post queue. Video Post renders the event over the number of frames specified here. Enabled Toggles the event. When off, the event is disabled and Video Post ignores it when rendering the queue. You must disable each event individually. Add Scene Event | 7747 For example, disabling a composite layer event does not disable the composited image events. The range bars of disabled events are unavailable in the event track area. Add Image Input Event Rendering menu ➤ Video Post ➤ Video Post window ➤ Make sure no events are selected in the queue. ➤ Video Post toolbar ➤ Input Event) (Add Image Rendering menu ➤ Video Post ➤ Video Post window ➤ Select an Image Input Event. ➤ Video Post toolbar ➤ (Edit Current Event) The Add Image Input Event adds a still or moving image to the scene. Image Input events place an image in the queue, but unlike Scene events, the image is either a file that was saved beforehand or a device-generated image. The image can be in one of the following file formats: AVI Files on page 8412 BMP Files on page 8414 CIN (Kodak Cineon) Files on page 8414 CWS (Combustion Workspace) Files on page 8415 GIF Files on page 8420 Radiance Image Files on page 8448 IFL Files on page 8420 MOV (QuickTime Movie) Files on page 8428 MPEG Files on page 8429 JPEG Files on page 8427 PNG Files on page 8443 PSD Files on page 8444 RLA Files on page 8453 RPF Files on page 8455 SGI Image Files on page 8458 7748 | Chapter 20 Video Post TGA (Targa) Files on page 8459 TIFF Files on page 8461 YUV Files on page 8463 DDS Files on page 8416 Procedures To add an Image Input event: 1 Make sure no events are selected in the queue. 2 Click (Add Image Input Event). An Add Image Input Event dialog appears. 3 Click Files to choose a bitmap or animation as the image, or click Devices to choose an image-generating device. If you click Files, a file dialog appears to let you choose the bitmap or animation file. If you choose Devices, a Select Image Input Device dialog appears. This dialog has a list of installed device options. 4 Click Options to choose the size and placement of the image in the final video frames. An Image Input Options dialog appears. 5 Adjust other Image Input settings, and then click OK. The Image Input event appears at the end of the queue. TIP Think of images that share the same time range as layers, comparable to matted film images in a compositor. Images that share a time range must be composited with an Image Layer event on page 7758; otherwise, the second image in the queue "overwrites" the first. To align the input image, do one of the following in the Image Input Options dialog: 1 Choose Presets and then click one of the preset alignment buttons. 2 Choose Coordinates and then enter the X,Y coordinates for the image's location. Add Image Input Event | 7749 The upper-left corner is (0,0) for both the input image and the output frame. Increasing X moves the image to the right, and increasing Y moves the image down. Negative values move the image in the opposite direction. X and Y values specify pixels. To set the input image size, do one of the following in the Image Input Options dialog: 1 Choose Do Not Resize to maintain the image's original resolution. 2 Choose Resize To Fit to change the image size to match the output frame. This can change the image resolution, causing it to be rescaled for every frame. 3 Choose Custom Size and then enter the width and height of the image in the output frame. To control playback of an animated image: 1 In the Frames group of the Image Input Options dialog on page 7752, set the input animation frame range and speed. 2 Turn on Loop At The End if you want the animation to repeat. Turn off Loop At The End if you want the animation to stop after playback. This option applies only when the input animation is shorter than the final video. Interface The Add Image Input Event and Edit Image Input Event dialogs have the same controls. 7750 | Chapter 20 Video Post Image Input group Label Lets you give the event a unique name. A unique name can make the image event easier to distinguish in a long list of events. Files Lets you choose the bitmap or animation image file. Devices Lets you choose an installed hardware input device; for example, a digital disk recorder. Options Displays the Image Input Options dialog on page 7752 to allow you to set up alignment, size, and frame range for the input image. Cache Stores a bitmap in memory. If you are using a single-image bitmap, you can choose this option. Video Post won't reload or scale the image for each frame. Image Driver group These buttons are available only when you choose a device as the image source. About Provides information on the source of the image-handler software used to bring the image into 3ds Max. Add Image Input Event | 7751 Setup Displays a setup dialog specific to the plug-in. Some plug-ins might not use this button. Video Post Parameters group VP Start Time/End Time Sets the starting and ending frames for the selected event within the overall Video Post queue. Video Post renders the event over the number of frames specified here. Enabled Enables or disables the event. When this box is off, the event is disabled and Video Post ignores it when rendering the queue. Each event must be disabled individually. For example, disabling a composite layer event does not disable the composited image events. The range bars of disabled events are unavailable in the event track area. Image Input Options Rendering menu ➤ Video Post ➤ Video Post window ➤ Make sure no events are selected in the queue. ➤ Video Post toolbar ➤ Input Event) ➤ Select a file for input. ➤ Options (Add Image The Image Input Options dialog contains controls for setting the image's size and placement relative to the frames of video output. For animated input, you also use it to synchronize the Image Input event with the frame sequence of video output. The same dialog appears when you click Options from the Mask area of the Filter Event and Layer Event dialogs. Procedures To align the input image, do one of the following in the Image Input Options dialog: 1 Choose Presets and then click one of the preset alignment buttons. 2 Choose Coordinates and then enter the X,Y coordinates for the image's location. The upper-left corner is (0,0) for both the input image and the output frame. Increasing X moves the image to the right, and increasing Y moves the image down. Negative values move the image in the opposite direction. X and Y values specify pixels. 7752 | Chapter 20 Video Post To set the input image size, do one of the following in the Image Input Options dialog: 1 Choose Do Not Resize to maintain the image's original resolution. 2 Choose Resize to Fit to change the image size to match the output frame. This can change the image resolution, causing it to be rescaled for every frame. 3 Choose Custom Size and then enter the width and height of the image in the output frame. To control playback of an animated image: 1 In the Frames group, set the From, To and Step values. 2 Select Loop at the End if you want the animation to repeat. Clear Loop at the End if you want the animation to stop after playback. This option applies only when the input animation is shorter than the final video. Add Image Input Event | 7753 Interface Alignment group Presets Positions the image according to one of the preset buttons: Top-left, Center, Top-right, and so on. Mutually exclusive with Coordinates. Coordinates Positions the image according to coordinates you enter. Mutually exclusive with Presets. Size group Do Not Resize Retains the image's original, stored dimensions. Resize to Fit Resizes the image to the size of the Video Post rendered image (default). Custom Size Resizes the image according to width and height units you enter. 7754 | Chapter 20 Video Post Frames group From/To Specifies the range of frames to use if the image input file is an animation or video. Step Sets the interval between the frames you want to use. For example, if this spinner is set to 7, 3ds Max uses every seventh frame. Loop at End Plays the frames from the beginning when the last frame is reached. This will take effect if the frame range used is less than the Video Post frame range. Add Image Filter Event Rendering menu ➤ Video Post ➤ Video Post window ➤ Make sure no events are selected in the queue. ➤ Video Post toolbar ➤ Filter Event) (Add Image Rendering menu ➤ Video Post ➤ Video Post window ➤ Select a filter from the Video Post Queue. ➤ Video Post toolbar ➤ (Edit Current Event) The Add Image Filter Event provides image processing for images and scenes. Several kinds of image filters are provided, see list below. For example, the Negative filter inverts the colors of an image and the Fade filter fades an image in or out over time. An Image Filter event is usually a parent event with a single child (which can itself be a parent with children), for example, a Scene event, an Image Input event, a Layer event that contains Scene or Image Input events, or a Filter event that contains Scene or Image Input events. You can also add an Image Filter without a child event, in which case the Image Filter processes the result of the previous events in the queue. Available Image Filters Contrast Filter on page 7771 Fade Filter on page 7772 Image Alpha Filter on page 7773 Lens Effects Filters on page 7774 Negative Filter on page 7837 Add Image Filter Event | 7755 Pseudo Alpha Filter on page 7839 Simple Wipe Filter on page 7839 Starfield Filter on page 7841 Procedures To add an image filter event: 1 Either select a valid child event, or make sure no event is selected in the queue. 2 Click (Add Image Filter Event). An Add Image Filter Event dialog appears. 3 Choose the kind of filter you want from the Filter Plug-In list. 4 If the Setup button is enabled for this kind of filter, click Setup to set the filter options. 5 Choose a mask if you want the filter to be masked or if the kind of filter you're using requires it. 6 Adjust other Image Filter settings, and then click OK. If you selected a child event, the Image Filter event becomes its parent. If no event was selected, the Image Filter event appears at the end of the queue. To choose the mask file: 1 Click Files. 2 Use the file dialog to choose the mask file, and then click OK. 3 Choose the channel to use from the drop-down list of channels. To position or resize the mask: ■ Click Options. An Image Input Options dialog appears, identical to the dialog you use with Image Input events. If the mask is animated, you also use this dialog to specify its time range and playback speed. 7756 | Chapter 20 Video Post Interface The Add Image Filter Event and Edit Filter Event dialogs have the same controls. Filter Plug-In group Label Lets you give the event a unique name. A unique name can make the filter event easier to distinguish in a long list of events. Filter List Lists the filter plug-ins on page 9270 you have installed. See the separate help topics for a description of the filters that come with 3ds Max by clicking any of the filters listed above. About Provides version and source information specific to the plug-in. Setup Displays a setup dialog specific to the plug-in. Some plug-ins might not use this button. Add Image Filter Event | 7757 Mask group Channels If you are using a bitmap as the mask file, you can use the Alpha channel, the Red, Green, or Blue channel, Luminance, Z-Buffer, Material ID channel, or Object ID. Files Select a file to use as a mask. The name of the selected file appears above the Files button. Options Displays an Image Input Options dialog on page 7752 where you can set alignment and size, relative to the frames of video output. For animated images, you can also synchronize the mask with the frame sequence of video output. This is the same dialog used for Image Input Event options. Enabled Enables the mask. If turned off, Video Post ignores any other mask settings. Inverted When turned on, the mask is inverted. Video Post Parameters group VP Start Time/End Time Set the starting and ending frames for the selected event within the overall Video Post queue. Video Post renders the event over the number of frames specified here. Enabled Enables or disables the event. When turned off, the event is disabled and Video Post ignores it when rendering the queue. Each event must be disabled individually. For example, disabling a composite layer event does not disable the composited image events. The range bars of disabled events are unavailable in the event track area. Add Image Layer Event Rendering menu ➤ Video Post ➤ Video Post window ➤ Make sure the two child events are in the order you want the Image Layer event to use them. ➤ Select the two events. ➤ Video Post toolbar ➤ (Add Image Layer) Event Rendering menu ➤ Video Post ➤ Video Post window ➤ Select a Layer Event. ➤ Video Post toolbar ➤ (Edit Current Event) The Add Image Layer Event adds a compositing plug-in on page 9270 to layer the selected images in the queue. 7758 | Chapter 20 Video Post Provides compositing plug-ins that use the previous event in the queue as a source, and composite the next event, using the parameters of the plug-in compositor. The list might include plug-ins for special transformations, such as wipes, and so on. An Image layer event is always a parent event with two children. The children can themselves be parents with children. The children of an Image Layer event can be Scene events, Image Input events, Layer events that contain Scene or Image Input events, or Filter events that contain Scene or Image Input events. Available Image Layer Event Filters Alpha Compositor on page 7845 Cross Fade Compositor on page 7845 Pseudo Alpha Compositor on page 7846 Simple Additive Compositor on page 7847 Simple Wipe Compositor on page 7848 Procedures To add an image layer event: 1 Make sure the two child events are in the order you want the Image Layer event to use them. 2 Select the two events. Click to select the first event, then hold Ctrl and click to select the second. 3 Click (Add Image Layer Event). An Add Image Layer Event dialog appears. 4 Choose the kind of layer event you want from the Layer Plug-In drop-down list. 5 If the Setup button is enabled for this kind of layer event, click Setup to set the options. 6 Choose a mask if you want the layer event to be masked. 7 Adjust other Image Layer settings, and then click OK. The Image Layer event becomes the parent of the two child events you selected. Add Image Layer Event | 7759 To choose the mask file: 1 Click Files. 2 Use the file dialog to choose the mask file, and then click OK. 3 Choose the channel to use from the drop-down list of channels. To position or resize the mask: ■ Click Options. An Image Input Options dialog appears, identical to the dialog you use with Image Input events. If the mask is animated, you also use this dialog to specify its time range and playback speed. Interface The Add Layer Image Event and Edit Layer Event dialogs have the same controls. 7760 | Chapter 20 Video Post Layer Plug-In group Label Lets you give the event a unique name. A unique name can make it easier to distinguish the layer event in a long list of events. Layer List Selects the compositor 3ds Max uses for layering the rendered images in the queue. Alpha is the default compositor, but you can also choose from any others you have installed. See the separate help topics for descriptions of the compositors that come with 3ds Max. About Provides version or source information specific to the plug-in on page 9270. Setup Displays a setup dialog specific to the plug-in. Some plug-ins might not use this button. Mask group Channels If you are using a bitmap as the mask file, you can use the Alpha channel, the Red, Green, or Blue channel, Luminance, Z-Buffer, Material ID channel, or Object ID. Files Select a file to use as a mask. The name of the selected file appears above the Files button. Options Displays the Image Input Options dialog on page 7752 where you can set alignment and size, relative to the frames of video output. For animated images, you can also synchronize the mask with the frame sequence of video output. This is the same dialog used for Image Input Event options. Enabled Enables the mask. If turned off, Video Post ignores any other mask settings. Inverted When turned on, the mask is inverted. Video Post Parameters group VP Start Time/End Time Set the starting and ending frames for the selected event within the overall Video Post queue. Video Post renders the event over the number of frames specified here. Enabled Enables or disables the event. When turned off, the event is disabled and Video Post ignores it when rendering the queue. Each event must be disabled individually. For example, disabling a composite layer event does not disable the composited image events. The range bars of disabled events are unavailable in the event track area. Add Image Layer Event | 7761 Add Image Output Event Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ Output Event) (Add Image Rendering menu ➤ Video Post ➤ Video Post window ➤ Select an Image Output event. ➤ Video Post toolbar ➤ (Edit Current Event) The Add Image Output Event provides controls for editing an output image event. Image Output events send the result of executing the Video Post queue to a file or a device. You must add an Image Output event to the end of the queue if you want to save the final video. Otherwise, the results are displayed in the rendered frame window only. The Image Output event's range bar must include the entire range of frames you want to output. The rendered output can be a still image or an animation, in one of the following file formats: AVI Files on page 8412 BMP Files on page 8414 CIN (Kodak Cineon) Files on page 8414 EPS and PS (Encapsulated PostScript) Files on page 8418 Radiance Image Files on page 8448 JPEG Files on page 8427 PNG Files on page 8443 MOV (QuickTime Movie) Files on page 8428 RLA Files on page 8453 RPF Files on page 8455 SGI Image Files on page 8458 TGA (Targa) Files on page 8459 TIFF Files on page 8461 You also have the option to direct the output to a VTR controller output device. If you have multiple output image events, you can output to different 7762 | Chapter 20 Video Post devices. This lets you monitor your queue with VTR output devices and view your output at any level of the Video Post queue during rendering. Procedures To add an image output event: 1 Click (Add Image Output Event). Image Output disregards whether any events in the queue are selected or not. 2 Click Files to save the final video in a file, or Devices to send the video to a device. If you click Files, a file dialog appears to let you choose the bitmap or animation file. If you choose Devices, a Select Image Output Device dialog appears. This dialog has a drop-down list of installed device options. 3 Adjust other parameters, and then click OK. The Image Output Event appears at the end of the queue. If you choose a device, its configuration controls are enabled: Interface The Add Image Output Event and Edit Output Image Event dialogs have the same controls. Add Image Output Event | 7763 Image File group Label Lets you give the event a unique name. A unique name can make it easier to distinguish the output event in a long list of events. Files Lets you choose the output image file and its format. Devices Lets you choose the hardware output device; for example, a digital video recorder. The device, its driver, and its 3ds Max plug-in must all be installed on your system to use device output. Image Driver group The two buttons in this area are available only when you choose a device as the image source. About Provides information on the source of the image-handler software used to create the image from 3ds Max. Setup Displays device-specific setup options. 7764 | Chapter 20 Video Post Video Post Parameters group VP Start Time/End Time Set the starting and ending frames for the selected event within the overall Video Post queue. Video Post renders the event over the number of frames specified here. Enabled Enables or disables the event. When turned off, the event is disabled and Video Post ignores it when rendering the queue. Each event must be disabled individually. For example, disabling a composite layer event does not disable the composited image events. The range bars of disabled events are unavailable in the event track area. Add External Event Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ Event) (Add External Rendering menu ➤ Video Post ➤ Video Post window ➤ Select an External event. ➤ Video Post toolbar ➤ (Edit Current Event) An External event is typically a program that performs image processing. It can also be a batch file or utility that you want to run at a specific point in the queue, or a way to transfer images from or to the Windows clipboard. An External event is always a child event. If you select an event in the queue before you add the External event, the External event becomes the selected event's child. Child events are evaluated before their parents. Procedures To add an external event: 1 Select an event. 2 Click (Add External Event). An Add External Event dialog appears. 3 Click Browse. A file dialog appears. Add External Event | 7765 4 Use the file dialog to choose the external program you want to execute, and then click OK. 5 If the external program accepts command-line options, enter these in the Command Line Options field. 6 If you want the external program to read the current Video Post image, turn on Write Image To Clipboard. 7 If you want Video Post to use the result of the external program, turn on Read Image From Clipboard. 8 Click OK. If you selected an event, the External event becomes its child. If no event was selected, the External event appears at the end of the queue. WARNING The image that the External event reads from the clipboard is placed in the Video Post queue. If the external program does not do what you want, this can erase or overwrite the result of all Video Post post-processing. Interface The Add External Event and Edit External Event dialogs have the same controls. 7766 | Chapter 20 Video Post External Event group Label Lets you give the event a unique name. A unique name can make the external event easier to distinguish in a long list of events. Browse Lets you select an external program. For example, you can specify Adobe Photoshop™ or another image-processing application. Add External Event | 7767 Command-Line Options group For external programs that accept command-line options, lets you send real-time data to the external program. 3ds Max parses three special commands. When found in a string, these commands are replaced with real-time data, as follows: ■ %f is replaced with a 4-digit frame number (for example, 0001) ■ %w is replaced with a 4-digit image width (for example, 0640) ■ %h is replaced with a 4-digit image height (for example, 0480) For example, if the given command-line option is: -w%w -h%h -oframe%f.tga The string sent to the external program might be: -w0640 -h0480 -oframe0001.tga Write image to clipboard When on, writes the current rendered image to the Windows clipboard for retrieval by an external application. Read image from clipboard When on, reads the contents of the Windows clipboard after processing by the external application. When the processed image is saved to the clipboard, it automatically appears in Video Post. With an automated script, it is possible to run the image through any external image processor and get it back automatically. Video Post Parameters group VP Start Time/End Time Set the starting and ending frames for the selected event within the overall Video Post queue. Video Post renders the event over the number of frames specified here. Enabled Enables or disables the event. When turned off, the event is disabled and Video Post ignores it when rendering the queue. Each event must be disabled individually. For example, disabling a composite layer event does not disable the composited image events. The range bars of disabled events are unavailable in the event track area. Add Loop Event Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ Event) 7768 | Chapter 20 Video Post (Add Loop Rendering menu ➤ Video Post ➤ Video Post window ➤ Select a Loop event. ➤ Video Post toolbar ➤ (Edit Current Event) Loop events cause other events to repeat over time in the output video. They control sequencing, but perform no image processing. A Loop event is always a parent event with a single child. The child itself can be a parent with children. Any type of event can be the child of a Loop event, including another Loop event. The Loop event's range bar displays the original duration of the child event's playback in color and the range of looped events in gray. You can change the duration of the child event's playback by dragging the child's frame range or the child's original range in the Loop event's track, but you can adjust the full length of the loop (the gray part of the range bar) only by changing the Number of Times parameter in the Edit Loop Event dialog. Procedures To add a loop event: 1 Select the child event. 2 Click (Add Loop Event). An Add Loop Event dialog appears. 3 Choose the loop settings, and then click OK. The Loop event appears as the parent of the selected event. The Loop event repeats the child event over the course of the Loop event's range. Interface The Add Loop Event and Edit Loop Event dialogs have the same controls. Add Loop Event | 7769 Order group Label Lets you give the event a unique name. A unique name can make it easier to distinguish the loop event in a long list of events. ■ Loop(The default.) Repeats the child event by starting it over when the child event reaches the end of its range. ■ Ping PongRepeats the child event by playing it first forward, then backward, then forward, and so on. The last frame of the child event is not repeated. Number of Times group Specifies the number of times to repeat the loop or ping pong, in addition to the first time that the child event is played. 7770 | Chapter 20 Video Post Video Post Parameters group VP Start Time/End Time Set the starting and ending frames for the selected event within the overall Video Post queue. Video Post renders the event over the number of frames specified here. Enabled Enables or disables the event. When turned off, the event is disabled and Video Post ignores it when rendering the queue. Each event must be disabled individually. For example, disabling a composite layer event does not disable the composited image events. The range bars of disabled events are unavailable in the event track area. Filter Events Filter events provide image processing for images and scenes. The topics in this section describe the filter events that are available in Video Post. Contrast Filter Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Contrast Filter from the Filter Plug-In list. Rendering menu ➤ Video Post ➤ Video Post window ➤ Select a Contrast Filter. ➤ Video Post toolbar ➤ Edit Current Event ➤ Setup The Contrast filter allows you to adjust the contrast and brightness of an image. Filter Events | 7771 Interface Contrast Set the spinner between 0 and 1.0. This compresses or expands the latitude between maximum black and maximum white by creating a 16-bit look-up table for any given gray value in the image. The computation of the gray value depends on whether you select Absolute or Derived. Brightness Set the spinner between 0 and 1.0. This increases or decreases all color components (red, green, and blue). Absolute/Derived Determines the computation of the gray value for Contrast. Absolute uses the highest value of any of the color components. Derived uses an average of the three color components. Fade Filter Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Fade Filter from the Filter Plug-In list. Rendering menu ➤ Video Post ➤ Video Post window ➤ Select a Fade Filter. ➤ Video Post toolbar ➤ Edit Current Event ➤ Setup The Fade filter fades an image in or out over time. The rate of the fade is determined by the length of the Fade filter's time range. 7772 | Chapter 20 Video Post Fade fades out to black or in from black, over time. Interface In Fade in. Out Fade out. Image Alpha Filter Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Image Alpha Filter from the Filter Plug-In list. Rendering menu ➤ Video Post ➤ Video Post window ➤ Select an Alpha Filter. ➤ Video Post toolbar ➤ (Edit Current Event) The Image Alpha filter replaces the image's alpha channel with the channel specified by the filter mask. Image Alpha Filter | 7773 The filter takes whatever channel is selected in the channel options under Mask (including g-buffer on page 9173 channel data) and applies it to the queue's alpha channel, thereby replacing what's there. If you don't choose a mask, this filter has no effect. There are no setup options for this filter. Procedures To set an object's G-Buffer ID: 1 Select the object. 2 Right-click the object and then choose Properties on page 221 from the popup menu. 3 In the Object Properties dialog, set G-Buffer Object Channel to a nonzero value, and then click OK. The G-Buffer ID can be any positive integer. If you give the same G-Buffer ID value to more than one object, all these objects will be post-processed. Lens Effects Filters Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose a Lens Effects Filter from the Filter Plug-In list. The Lens Effects filters add realistic camera flares, glows, gleams, glimmers, and depth-of-field blurring to your scenes. Lens Effects can affect an entire scene or can be generated around specific objects in your scene. Lens Effects are applied through the Video Post interface. To learn about adding scene and image filter events to the video post queue, see Add Scene Event on page 7743, and Add Image Filter Event on page 7755. Lens Effects includes the following filters: ■ Lens Effects Flare on page 7777: Creates the optical effect that occurs when a bright light reflects across the lens of a camera. 7774 | Chapter 20 Video Post ■ Lens Effects Focus on page 7801: Creates a blur on objects based on their distance from the camera. tracks an object’s distance from the camera using a Z-Buffer. Focus uses the Z-Buffer information from the scene to create its blurring effects. ■ Lens Effects Glow on page 7804: Creates a glowing light around any assigned object, such as a laser beam or the thruster on a space ship. ■ Lens Effects Highlight on page 7815: Creates a bright cross star effect on a designated object. WARNING When you animate Lens Effects parameters, this creates pointers into the actual scene, so Lens Effects animation is lost if you save the Video Post queue in a VPX file on page 9344. To preserve the animation, save the Video Post data, including Lens Effects animation, in the MAX file. Procedures Lens Effects like Glow and Highlight can be set to affect specific objects in your scene based on their G-Buffer ID on page 9173. This lets you apply glows and highlights to the object, or to the material, or both. To set an object's G-Buffer ID: 1 Select the object. 2 Right-click the object and then choose Properties from the quad menu. 3 In the Object Properties dialog, set G-Buffer Object Channel to a nonzero value, and then click OK. The G-Buffer ID can be any positive integer. If you give the same G-Buffer ID value to more than one object, all these objects will be post-processed. Animating Lens Effects Properties Lens Effects let you use Track View to control parameters that can be animated while Video Post remains open. Any parameter with a green arrow button next to it can be animated. Lens Effects Filters | 7775 When the Auto Key button is selected, the associated spinner or variable is displayed in Track View and can be animated. If it is not selected, the green button turns gray to indicate the parameter can no longer be animated. There are two ways to set Lens Effects parameters for use in animation: ■ Enable the Auto Key button, set the frame in which you want to create a key, and set the value. ■ Use Track View. Using Track View To use Track View with Lens Effects, one of the Lens Effects dialogs for a particular filter must be open when you start Track View. NOTE If you open Track View without one of the Lens Effects dialogs being open, the first Lens Effects object does not appear in the Track View List. If you have more than one Lens Effects object in the scene, you will see multiple Lens Effects objects in Track View. When Track View is open, the Lens Effects filters you have applied are listed under Video Post on the left side of the Track View interface. Under each filter are the parameters which can be animated. These are displayed individually. You can animate only the parameters you need to. When viewing Gradients in Track View, notice that the first two flags have only a color track associated with them. This is because they are the start and end points of the gradient and never move. Any flags created after the first two will also have a position track associated with them. This means that you can animate not only the color of any flag in any gradient, but also its position over time as well. If you disable the animation capabilities for a particular lens flare parameter, the corresponding entry in Track View immediately disappears. For more information, see Track View on page 3827. WARNING When you animate Lens Effects parameters, this creates pointers into the actual scene, so Lens Effects animation is lost if you save the Video Post queue in a VPX file on page 9344. To preserve the animation, save the Video Post data, including Lens Effects animation, in the MAX file. 7776 | Chapter 20 Video Post Lens Effects Flare Filter Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Flare from Filter Plug-In list. ➤ Setup The Lens Effects Flare dialog lets you add lens flare effects as a post process to rendering. Flares are usually applied to lights in your scene. The lens flare will then be generated around that object. You can control all aspects of the lens flare in the Lens Effects Flare dialog. Procedures To save your flare settings, do one of the following: You can save all of your lens flare settings to a file, so you can reload them any time. Lens Effects Flare files are saved to an LZF file on page 9209 (.lzf). 1 Click the Reset button. This resets Lens Effects Flare to its default settings. 2 Click the Load button. This displays a Windows-standard file open dialog from which you can select the settings file you want to load. 3 Click the Save button. This displays a Windows-standard Save As dialog in which you specify a directory and filename. Lens Effects Filters | 7777 Interface Preview group The large black window in the left corner is the main preview window. To the right of this window are smaller preview windows for each part of the flare. You can generate continual previews by clicking the Preview button under the main preview window. There are nine Lens Effects Flare preview windows. The main preview window in the upper left corner of the Lens Effects dialog shows you the complete scene. The eight smaller preview windows in the upper right corner show the individual parts of the lens flare. Each small preview window has a check box below the window to display the flare effect. You might notice that an individual part of the lens flare effect might not appear as bright in the smaller preview windows, compared to the main preview. This is because the brightness of a lens flare in the main preview is a result of combining the brightness of multiple effects, the total brightness being greater than a single part. All of the preview windows are multi-threaded to increase redraw speed and take advantage of multi-processor systems. When you make an adjustment to a lens flare property and the preview window is active, the preview updates 7778 | Chapter 20 Video Post automatically. A white line at the bottom of the main preview window indicates that it is updating a change made within the lens flare dialog. Preview When you click the Preview button, the window displays your flare in the upper left corner if your flare has automatic or manual secondary elements. If your flare does not contain these elements, the flare is centered in the preview window. If the VP Queue button is not on, the preview displays a generic flare to which you can make adjustments. Each time you change a setting, the preview automatically updates. A white line appears at the bottom of the preview window to indicate the preview is updating. Update Redraws the entire Main Preview window, as well as the smaller windows each time you click this button. This function is critical when you need to view changes you have made in the Video Post queue, such as moving the Time Slider to a different frame, changing your geometry or a light, or changing another filter that precedes the current one in the Video Post queue. The VP Queue button must be on to preview the contents of the Video Post queue. In this case, clicking the Update button causes a small dialog to appear, with an indicator showing the progress of the update. VP Queue Displays the contents of the Video Post queue in the main preview window. The Preview button must also be turned on. Rather than having to test render every time you want to see the result of the effect in the scene, VP Queue displays a final composite, combining the effect you are editing with the contents of the Video Post queue. NOTE If you leave the Preview and VP Queue buttons active when you exit Lens Effects Flare, it will take several seconds to re-render the scene in the main preview window the next time you start Lens Effects Flare. The view in the main preview window also depends upon which lens flare options you have set in the Preferences panel on page 7783. Lens Flare Properties group Specifies global settings for the flare, such as the source for the flare(s), the size, seed number, rotation, and so on. Seed Gives the random number generator in Lens Effects a different starting point, which creates slightly different lens flares without changing any settings. Using Seed guarantees a different lens flare, even if the differences are very small. For example, if you set up a ray effect for your lens flare, you will get slightly different rays in the lens flare if you adjust the seed value. Size Affects the size of the overall lens flare. This value is a percentage of the size of the rendered frame. Default = 45. Lens Effects Filters | 7779 Other parts of the lens flare, such as glow, ring, and so on, also have size adjustments, but this size setting affects the entire lens flare, including secondary flares. Adjusting individual sizes does not affect this size variable, or vice versa. This parameter can be animated on page 7775. Animating the Size parameter causes flares to grow or diminish in size over the course of your animation. Hue If Apply Hue Globally is selected, it controls the amount of Hue applied to the Lens Flare effect. This parameter can be animated. Apply Hue Globally Globally applies the Hue of the Node Source to the other Flare effects. Angle Affects the amount that the flare rotates from its default position, as the position of the flare changes relative to the camera. This parameter can be animated. The lock button to the right of the Auto Key button locks the secondary flares so they do rotate. When the button is disabled, the secondary flares will not rotate. Animating the Angle parameter does not animate the manual and automatic secondary flares unless you turn on the L button. The default behavior mimics a camera, in which the aperture does not rotate. Rays, stars, and streaks don't animate either unless you turn on their individual Auto Rotate toggles. Intensity Controls the overall brightness and opacity of the flare. Higher values produce bright, more opaque flares, and lower values produce dim, transparent flares. This parameter can be animated. Squeeze Squeezes the size of the lens flare, either horizontally or vertically to compensate for different frame aspect ratios. You can set Squeeze from 100 to -100. Positive values stretch the flare horizontally, and negative values stretch it vertically. The value is a percentage of the size of the flare. This parameter can be animated. For example, if you convert a film for use on TV, applying Squeeze would cause the lens flare to look correct on the smaller screen, and not thin and tall, although a wide-screen 35-MM film image is much wider than a regular TV. Although Squeeze is a global setting, you can apply this effect to selected portions of your flare through the Preferences panel on page 7783 so that only the flare elements you want are distorted. The Squeeze spinner value is given as a percentage of the size of the flare. Node Sources Lets you select the source object for the lens flare effect. The source of the lens flare may be any object in the scene, but is generally a light, 7780 | Chapter 20 Video Post such as a target spot light, or an omni light. Clicking this button displays the Select Flare Objects dialog. You must select a source for the flare to key off. NOTE If you select a source object, then rename the object later, you must reselect the object to ensure the correct generation of the lens flare. Lens Flare Effects group Controls specific effects for the flare, such as fades, brightness, softening, and so on. Brighten Lets you set an overall brightness that affects the whole image. When a bright effect, such as a lens flare, appears in an image, the whole image should appear brighter. This effect is available only when the Brighten option is enabled under the Render section of the Preferences panel. This parameter can be animated on page 7775. Animating the Brighten spinner is an easy way to create flares that "flash" the scene as they appear. Dist Fade Causes the effect of the lens flare to fade with its distance from the camera. This option is used only when the Dist Fade button is turned on. The values are in 3ds Max world units. This option is used when you want to create the effect of flares disappearing at a certain point away from the camera. Cent Fade Fades the secondary flares near the center of the row of flares along the main axis of the flare. This is an effect that can be seen in many lens flares seen through a real camera lens. This value is in 3ds Max world units. This setting is only active when the Cent Fade button is selected. Dist Blur Blurs the flare based on its distance from the camera. This value is in 3ds Max world units. This parameter can be animated. Blur Int Controls the strength of the blur when it is applied to the lens flare. The value set in this spinner takes full effect as the flare reaches the Dist Blur distance in your scene. Flares closer to the camera plane get a percentage of the intensity setting. This parameter can be animated. Soften Provides an overall softening effect for the lens flare This parameter can be animated. Flare Parameter tabs Let you create and control the lens flare. Each of the nine tabs controls a specific aspect of the lens flare. Lens Effects Filters | 7781 WARNING When you animate Lens Effects parameters, this creates pointers into the actual scene, so Lens Effects animation is lost if you save the Video Post queue in a VPX file on page 9344. To preserve the animation, save the Video Post data, including Lens Effects animation, in the MAX file. A flare is composed of eight basic parts. Each part of a flare is controlled on its own panel in the Lens Effects Flare interface. Each part of the lens flare can be individually activated and deactivated to create different effects. Prefs on page 7783: This page lets you control which parts of a lens flare are active and how they effect the overall image. Glow on page 7785: A general glow centered around the source object of the flare. You can control the color, size, shape, and other aspects of the glow. Ring on page 7787: A circular color band that surrounds the center of the source object. You can control the color, size, shape, and other aspects of the ring. A Sec on page 7788: Auto Secondary Flares. The small circles you would normally see coming out from the source of the lens flare. As the camera position changes relative to the source object, the secondary flares move. The secondary flares are automatically generated when this option is active. M Sec on page 7790: Manual Secondary Flares. Additional secondary flares added to the lens flare effect. They appear in the same axis as the automatic secondary flares and look very similar. Rays on page 7792: Bright lines that radiate out from the center of the source object, providing the illusion of extreme brightness for the object. Star on page 7794: Bright lines that radiate out from the center of the source object, generally composed of 6 or more spokes, (instead of hundreds, like a ray). Stars are generally thicker and extend out farther from the center of the source object than rays. Streak on page 7796: Wide horizontal bands that run through the center of the source object. Inferno on page 7798: Lets you add special effects, such as explosions, to your flare effect. 7782 | Chapter 20 Video Post Flare Preferences Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Flare from Filter Plug-In list. ➤ Setup ➤ Prefs tab In the Prefs panel, you can control whether or not specific parts of the lens flare, such as the rays or the star are rendered by turning them on or off. You can also control the axial transparency of the lens flare. Interface Affect Alpha Specifies whether or not the lens flare affects the alpha channel of an image, when the image is rendered in a 32-bit file format. The alpha channel is an extra 8 bits of color (256 colors) that indicate transparency in an image. Alpha channels are used to composite one image seamlessly over the top of another. If you want to composite a lens flare, or an image that contains a lens flare, over the top of another image, enable this option. If you are not rendering to a 32-bit file, do not enable this option. Lens Effects Filters | 7783 Affect Z Buffer The Z-Buffer stores an object's distance from the camera. The Z-Buffer is useful for optical effects such as fog. When this option is enabled, the linear distance of the lens flare is recorded, and can be used in special effects that make use of the Z-Buffer, for example, the Focus on page 7801 effect. To use Focus with a lens flare, enable this option. Occlusion Radius A radius around the center of the flare that determines when the lens flare effect will begin to fade as it passes behind another object. This radius is measured in pixels. When the lens flare or scene is animated and the source of the lens flare goes behind another object, if occlusion is enabled, the flare dies down and disappears until the source object reappears on the other side of the hiding object. The radius makes the flare gently fade when it is occluded, instead of blinking out. Motion Blur Determines whether or not an animated lens flare is rendered using Motion Blur. Motion Blur renders multiple copies in short increments to the same frame, which gives the illusion of a blurred object in motion. When an object is moving rapidly across the screen, it animates more smoothly if motion blur is turned on. Using motion blur can add considerable time to your rendering. You can set the amount of blur with the Motion Blur spinner. Values range from 0 to 100, and are based on the number of samples the motion blur should use. Axial Transparency A standard circular transparency gradient that affects the transparency of the lens flare secondary elements along their axis and relative to their source. This lets your secondary elements be brighter on one side than the other, adding extra realism to your flare effects. Render Specifies whether or not each part of the lens flare is rendered in the final image. Use this set of check boxes to turn parts of the lens flare on and off. NOTE Effects such as secondary flares are available in sets. The Render button and Off Scene determine whether the secondary flares are present in the scene. The individual secondary flare sets are controlled on their respective pages. Off Scene Specifies whether or not lens flares that have their sources outside the scene will affect the image. For example, if a lens flare source is just off the edge of a frame, the secondary flares, and possibly the star or ring, could still be showing on the screen. Without Off Scene, the lens flare does not appear at all. You can turn this option on or off for each part of the flare. 7784 | Chapter 20 Video Post Squeeze Specifies whether the Squeeze setting affects a particular part of the lens flare. This setting depends on the Squeeze setting in the lens flare properties. Inferno Defines whether the inferno on page 7798 settings are active for this portion of the lens flare. Occlusion Defines the percentage of the flare part that appears when it is occluded by another object. A value of 100 indicates that the whole object will disappear. Lower settings cause the lens flare to wrap around the occluding object, making it fade, but not disappear entirely. For example, if you look at a cylinder with a bright light behind it, the light makes the cylinder appear thinner at the brightest areas. NOTE The Occlusion spinners work in conjunction with the Occlusion Radius spinner in the top right of the Preferences panel. Flare Glow Parameters Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Flare from Filter Plug-In list. ➤ Setup ➤ Glow tab The glow of a lens flare is centered around the source object of the flare. The parameters on the Glow panel let you control each aspect of the glow. Lens Effects Filters | 7785 Interface Size Specifies the diameter of the glow of the lens flare as a percentage of the overall size of the frame. This value is separate from the overall size value set in the Flare Properties on page 7777. This parameter can be animated on page 7775. Hue Specifies the gradation of color for the glow. Clicking the green arrow button lets you animate this control. This parameter can be animated. Hide Behind Geometry Places the glow behind the geometric forms. Gradients Use radial, circular, transparency, and size gradients on page 7829. Glow gradients are subtler than flare gradients, because they are glowing an area larger than a pixel. 7786 | Chapter 20 Video Post Flare Ring Parameters Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Flare from Filter Plug-In list. ➤ Setup ➤ Ring tab The ring is a circular color band that surrounds the center of the source object. You set ring options on the Ring panel of the Lens Effects Flare dialog. Interface Size Specifies the overall size of the ring as a percentage of the overall frame and represents the diameter of the ring. The ring radius should be larger than the glow radius to make the lens flare look convincing. This parameter is separate from the overall size spinner in the Lens Flare Effects section of the dialog. This parameter can be animated on page 7775. Thick Specifies the overall thickness of the ring, as a percentage of the overall size of the frame. When the ring is fairly thick, the size of the ring is measured Lens Effects Filters | 7787 to the inner radius. The thickness controls how thick the ring is from that point outward. This parameter can be animated. Hue Specifies the gradation of color for the ring. This parameter can be animated. Gradients Use radial, circular, transparency, and size gradients on page 7829. Automatic Secondary Flare Parameters Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Flare from Filter Plug-In list. ➤ Setup ➤ A Sec tab Secondary flares are the small circles you would normally see coming out from the source of the lens flare along an axis relative to the camera position. These are caused by light refracting off the different lens elements in the camera. As the camera position changes relative to the source object, the secondary flares move. These secondary flares are automatically generated when this option is selected in the Preferences section of the dialog. You create sets of secondary elements that share common parameters instead of building them one at a time. Many of the controls on the A Sec panel are for individual sets of elements, not all sets. 7788 | Chapter 20 Video Post Interface Min Controls the minimum size of secondary flares in the current set. This number is defined as a percentage of the overall image. This parameter can be animated on page 7775. Max Controls the maximum size of secondary flares in the current set. This number is defined as a percentage of the overall image. This parameter can be animated on page 7775. Sets Specifies which set of secondary flares you are working with. You can have as many sets of automatic secondary elements as you wish, each having their own properties. By default, seven sets are available. You can scroll through them by clicking the forward and reverse arrow icons beside the name of the set. To add another set to your flare, click the Add button beneath the On check box. To delete a set, click the Del button. Axis Defines the overall length of the axis the automatic secondary flares will be distributed along. Increasing the value creates more space between the flares, while decreasing the value creates less space between the flares. You can set the axis from 0 to 5 degrees. This parameter can be animated on page 7775. Lens Effects Filters | 7789 On Defines whether a group or set of secondary flares is active or not. Fade Determines whether or not axial fade is active for the current set of secondary flares. Hue Specifies the gradation of color of the secondary flares. This parameter can be animated. Qty Controls the number of secondary flares that appear in the current set of flares. This parameter can be animated. Shape Controls the shape of the secondary flares for the current set. The default value is circular, but you can choose from 3 to 8 sided secondary flares. Gradients Defines the gradient on page 7829 for the secondary flare. Manual Secondary Flare Parameters Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Flare from Filter Plug-In list. ➤ Setup ➤ M Sec tab Manual secondary flares are additional secondary flares that are individually added to the lens flare. These can be used in addition to, or in place of automatic secondary flares on page 7788. You use Manual secondary flares when you want to add unique flares that you don't want repeated. You can have groups of secondary flares, instead of just one set. Many of the controls in this dialog are for a specific set of flares, not all sets. 7790 | Chapter 20 Video Post Interface Size Controls the size, as a percentage of the overall image, of the manual secondary lens flare. This parameter can be animated on page 7775. Plane Controls the distance, in degrees, between the flare source and the manual secondary flare. By default, the flare plane exists at the center of the chosen node source. Positive values place the flare in front of the source, while negative values place the flare behind the flare source. This parameter can be animated. TIP In live camera work, there are often one or two secondary elements behind the light source, so you should have one or two as well. On Turns manual secondary flares on or off. This option must be selected in both the Manual Secondary and Preferences tabs for the manual secondary flares to render. Fade Specifies whether or not the current set of secondary flares has axial fade. Sets Specifies which set of secondary flares you are working with. You can have as many sets of manual secondary elements as you wish, each having Lens Effects Filters | 7791 their own properties. By default, seven sets are available. You can scroll through them by clicking the forward and reverse arrow buttons next to the name of the set. To add another set to your flare, click the Add button beneath the On check box. To delete a set, click the Del button. Hue Specifies the gradation of color of secondary flares. This parameter can be animated. Scale Specifies how to scale secondary flares. This parameter can be animated. Shape This menu controls the overall shape of the secondary flares. Gradients Defines the gradient on page 7829 for the secondary flare. Flare Ray Parameters Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Flare from Filter Plug-In list. ➤ Setup ➤ Rays tab Rays are bright single-pixel lines that radiate from the center of the source object, providing the illusion of extreme brightness for the object. Rays let you emulate scratches in the lens elements of a camera. You control the parameters for rays in the Rays panel of the Lens Effects Flare dialog. 7792 | Chapter 20 Video Post Interface Size Specifies the overall length of the rays as they radiate from the center, as a percentage of the frame size. This parameter can be animated on page 7775. Angle Specifies the angle for the rays. You can enter both positive and negative values so, when animated, the rays rotate in a clockwise or counterclockwise direction. This parameter can be animated. Group Forces the grouping of rays into eight equidistant groups of equal size. Rays that are part of a group are evenly distributed within that group. Increasing the number of rays makes each grouping more dense, and therefore more bright. Number Specifies the overall number of rays that appear in the lens flare. Rays are randomly spaced around the radius. This parameter can be animated. Auto Rotate Adds the angle specified in the Angle spinner on the Rays panel to the angle set in the Angle spinner under Lens Flare Properties. Auto Rotate also ensures that the rays maintain their relative position to the flare as it is being animated. Lens Effects Filters | 7793 Hue Specifies the gradation of the color of the rays. This parameter can be animated. Sharp Specifies the overall sharpness of the rays. Higher numbers produce crisp, clean, and clear rays. Lower numbers produce more of a secondary glow look. Values range from 0 to 10. This parameter can be animated. Gradients Defines the gradient on page 7829 for the rays. Flare Star Parameters Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Flare from Filter Plug-In list. ➤ Setup ➤ Star tab A Star is larger than a ray effect and is composed of six or more spokes, instead of hundreds like a ray. Stars are thicker and extend out farther from the center of the source object than rays. You control the settings for stars on the Star panel of the Lens Effects Flare dialog. 7794 | Chapter 20 Video Post Interface Size Specifies the overall size of the star effect, as a percentage of the overall frame. This parameter can be animated on page 7775. Angle Sets the starting angle in degrees in which the star spokes point. You can enter both positive and negative values so, when animated, the star spokes rotate in a clockwise or counterclockwise direction. This parameter can be animated. Random Enables random spacing of star spokes around the flare center. Qty Specifies the number of spokes in the star effect. Default = 6. Spokes are spaced at equidistant points about the center of the flare. This parameter can be animated. Width Specifies the width of the individual spokes, as a percentage of the overall frame. This option can be animated. Auto Rotate Adds the angle specified in the Angle spinner on the Rays panel to the angle set in Angle spinner under Lens Flare Properties. Auto Rotate also Lens Effects Filters | 7795 ensures that the stars maintain their relative position to the flare as it is being animated. Hue Specifies the gradation of the color of the star. This parameter can be animated. Sharp Specifies the overall sharpness of the star. Higher numbers produce crisp, clean, and clear stars. Lower numbers produce more of a secondary glow look. This parameter can be animated. Range = 0 to 10. Taper Controls the taper of the individual spokes of the star. Taper widens or narrows the tips of the individual star points. Low numbers create a sharp point, while high numbers flare the points. This parameter can be animated. Default = 0. Gradients The gradients on page 7829 are the same for the Star effect as for others, except for two gradients: Section Color and Section Transparency. These options are useful when you want to create a "soft" look to the spokes. Both gradients work from the center of each spoke to the outer edge of the spoke. Flare Streak Parameters Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Flare from Filter Plug-In list. ➤ Setup ➤ Streak tab A streak is a wide horizontal band that runs through the center of the source object. In real camera work, it is produced when using anamorphic lenses to film a scene. You set streak options on the Streak panel of the Lens Effects Flare dialog. 7796 | Chapter 20 Video Post Interface Size Specifies the overall size of the streak, as a percentage of the overall frame. This parameter can be animated on page 7775. Angle Specifies the angle for the streak. You can enter both positive and negative values so, when animated, the streak rotates in a clockwise or counterclockwise direction. This parameter can be animated. Axial Align Forces the streak to align itself to the axis of the secondary flares and the lens flare itself. Width Specifies the width of the streak, as a percentage of the frame. This parameter can be animated. Auto Rotate Adds the angle specified in the Angle spinner on the Streak panel to the angle set in Angle spinner under Lens Flare Properties. Auto Rotate also ensures that the stars maintain their relative position to the flare as it is being animated. Hue Specifies the gradation of the color of the streak. This parameter can be animated. Lens Effects Filters | 7797 Sharp Specifies the overall sharpness of the streak. Higher numbers produce crisp, clean, and clear streaks. Lower numbers produce more of a secondary glow look. Valid values are from 0 to 10. This parameter can be animated. Taper Controls the taper of the individual spokes of the streak. Taper widens or narrows the tips of the individual streak points. Low numbers create a sharp point, while high numbers flare the points. Default = 0. This parameter can be animated. Gradients The gradients on page 7829 are the same for the Streak effect as for others, except for two gradients: Section Color and Section Transparency. These options are useful when you want to create a "soft" look to the streak spokes. Both gradients work from the center of each spoke to the outer edge of the spoke. Flare Inferno Parameters Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Flare from Filter Plug-In list. ➤ Setup ➤ Inferno tab Infernos let you use lens flare to create explosions, fire, and smoke effects and add a bit of fractal noise to any part of the lens flare. This noise comes in three types: Gaseous, Electric, and Fiery. 7798 | Chapter 20 Video Post Interface You add the Inferno effect to other lens flare effects. Inferno is selected in the Preferences panel. The lens flare effect you are adding Inferno to, such as glow, must also be selected for Inferno to work correctly. The Inferno panel is divided into two sections: Settings and Parameters. Settings group Gaseous A loose and soft pattern, often used for clouds and smoke. Fiery Fractal patterns with bright, well-defined areas, often used for fires. Electric Long, well-defined tendril pattern that can be used to produce arcing electricity, when animated. By adjusting the quality of the pattern to 0, you can create the effect of water reflection. Lock Effect Locks the inferno effect to the lens flare. When the lens flare moves across the screen, the inferno effect moves with it. Use this option when you want the noise pattern to move with the flare for effects like torches. Lock Noise Locks the inferno noise patterns into the screen. When the lens flare is animated and moving across the screen, the noise pattern stays in one spot and the flare moves through it. This is often used for creating plasma trails and cloud patterns. Motion When you animate the inferno, motion specifies how fast the inferno patterns move in the direction set by the Direction spinner. For example, if Lens Effects Filters | 7799 you want to simulate a raging fire, you want the fractal patterns to move upward. This parameter can be animated on page 7775. Direction Specifies the direction, in degrees, of the inferno effect motion. By default, 0 is aligned in the 12 o'clock position, and works clockwise. This parameter can be animated. NOTE The Motion and Direction spinners control the motion of the fractal pattern in the X and Y directions. You can control the Z direction using the Speed option under Inferno Parameters. Quality Specifies the overall quality of the fractal noise patterns in the inferno effect. Higher values result in more iterations of the fractals, more detail in the effect, and slightly longer render times. This parameter can be animated. Reseed The number that the fractal routines use as a starting point. Set this spinner to any number to create different fractal effects. The Reseed button randomly selects a new number. Parameters group Size Specifies the overall size of the fractal patterns. Smaller numbers produce small, grainy fractals. Higher numbers produce larger patterns. This option can be animated. Speed Sets the overall speed of the turbulence in the fractal patterns as they are animated. Higher numbers produce faster turbulence in the pattern. This parameter can be animated. Base Specifies the brightness of the colors in the inferno effect. Higher values result in brighter color ranges and brighter infernos. Lower values result in dark, softer effects. The Base spinner only affects Fiery and Electric inferno types This parameter can be animated. Amplitude With the Base spinner, controls the maximum brightness for each portion of the fractal inferno patterns. Higher values result in fractal patterns with brighter colors. Lower values result in the same patterns, with muted colors. This parameter can be animated. Bias Shifts the colors of the effect toward one end of the color range or the other. At a setting of 50, Bias has no effect. Above 50, the colors are brighter, and below 50, they are darker and softer. This parameter can be animated. Edge Controls the contrast between the light and dark areas of the fractal patterns. High values produce a high contrast and more well-defined fractal patterns. Low values result in less defined, subtler effects. This parameter can be animated. 7800 | Chapter 20 Video Post Radial Density Controls the density of the inferno effect in a radial fashion from the center of the effect to the edge. Wherever there is white in the gradient, you only see inferno noise. Where the gradient is black, you can see the underlying flare. If you set the right side of the gradient to black and the left side to white, and apply the Inferno to the Glow effect of a flare, the inferno effect appears toward the outer edges of the glow, while the center of the glow is still visible. Lens Effects Focus Filter Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Focus from Filter Plug-In list. ➤ Setup The Lens Effects Focus dialog lets you blur objects based on their distance from the camera. Focus uses the Z-Buffer information from the scene to create its blurring effects. You can use Focus to create effects such as foreground elements in focus and background elements out of focus. Like Flare, Glow, and Highlight, you can load and save your focus settings for future use. Focus settings are saved to LZO files on page 9210 (.lzo). WARNING This filter is not supported by the mental ray renderer on page 7129. Procedures To save your focus settings, do one of the following: You can save all of your lens focus settings to a file, so you can reload them any time. Lens Effects Focus settings are saved as LZO files. 1 Click the Reset button. This resets Lens Effects Focus to its default settings. 2 Click the Load button. This displays a Windows-standard file open dialog from which you can select the settings file you want to load. 3 Click the Save button. This displays a Windows-standard Save As dialog in which you specify a directory and filename. Lens Effects Filters | 7801 Interface The Lens Effects Focus dialog contains a preview window, and an area below to control the parameters of Focus. 7802 | Chapter 20 Video Post Preview group Preview window Lets you quickly preview the Focus effect. Preview Displays a generic scene to which you can quickly set up a Focus effect. Appears light green when selected. VP Queue Lets you preview the scene in the Video Post queue. Preview must be selected for the VP Queue function to work. Focus Control group The settings on the left side of the panel let you select a method for blurring your scene. The settings on the right side of the dialog let you determine how much blurring is applied to the scene. Scene Blur Applies the blurring effect to the entire scene, not just a portion of it. Radial Blur Applies the blurring effect to the entire scene in a radial fashion, starting at the center of the frame. This is useful for emphasizing fish-eye lens effects and effects where the edges of the frame are blurred. This type of Focus depends on the Focal Range and Limit settings. Focal Node Lets you select a specific object in the scene as the focal point for blurring. The selected objects remains in focus, while objects outside of the set Focal Limit are blurred. Select Displays the Select Focal Object dialog so you can select a single 3ds Max object to use as the focal object. The object you select can be animated over time, which results in animated follow focus effects. You can also choose your camera target as the focal object so its depth in the scene determines the focus. Affect Alpha When this option is selected, the blur effect is also applied to the Alpha channel of the image when you render to a 32-bit format. Select this option to composite the blurred image over another. Horiz. Focal Loss Specifies the amount of blur applied to the image in the horizontal (X-axis) direction. Values range from 0 to 100% focal loss. This parameter can be animated on page 7775. Lock Locks the horizontal and vertical loss settings together. When selected, the vertical focal loss is automatically updated to match your changes to the horizontal loss. Lens Effects Filters | 7803 Vert. Focal Loss Specifies the amount of blur applied to the image in the vertical (Y-axis) direction. Values range from 0 to 100% focal loss. This parameter can be animated. Focal Range Specifies how far away from the center of the image (Radial Blur) or from the camera (Focal Object) the blur effect begins. Increasing values move the radius of the effect farther away from the camera or the center of the image. This parameter can be animated. Focal Limit Specifies the distance from the center of the image (Radial Blur) or the distance from the camera (Focal Object) at which the blur effect is at full strength. Setting a high Focal Limit with a low Focal Range, produces a gradual increase in the amount of blur in the scene, while setting Focal Limit and Range close together produces a rapid blur effect over a short distance. This parameter can be animated. NOTE Do not set Focal Range and Focal Limit to the same value. This produces an abrupt change from a blur to a sharp focus, producing an undesirable visual effect. WARNING When you animate Lens Effects parameters, this creates pointers into the actual scene, so Lens Effects animation is lost if you save the Video Post queue in a VPX file on page 9344. To preserve the animation, save the Video Post data, including Lens Effects animation, in the MAX file. Button group Reset Resets Lens Effects Flare to its default settings. Load Displays a Windows-standard file open dialog from which you can select the settings file you want to load. Save Displays a Windows-standard Save As dialog in which you specify a directory and filename. Lens Effects Focus settings are saved as LZO files. Lens Effects Glow Filter Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Glow from Filter Plug-In list. ➤ Setup The Lens Effects Glow dialog lets you add a glowing aura around any assigned object. For example, for an exploding particle system, adding a glow to the particles makes them seem as though they are brighter and hotter. 7804 | Chapter 20 Video Post The Lens Effects Glow module is multi-threaded and will take advantage of multi-processing machines. Procedures To save your glow settings, do one of the following: You can save all of your lens glow settings to a file, so you can reload them any time. Lens Effects Glow settings are saved to LZG files on page 9210 (.lzg). 1 Click the Reset button. This resets Lens Effects Glow to its default settings. 2 Click the Load button. This displays a Windows-standard file open dialog from which you can select the settings file you want to load. 3 Click the Save button. This displays a Windows-standard Save As dialog in which you specify a directory and filename. Lens Effects Filters | 7805 Interface The Lens Effects Glow dialog contains a preview window, and an area below to control the parameters of Glow. 7806 | Chapter 20 Video Post Preview group Preview window Lets you quickly preview the glow effect. The preview window is multi-threaded to take advantage of systems with multiprocessors, and updates every time you make a change to any of the glow settings that might affect the scene. Preview Displays a generic scene to which you can quickly set up a Glow effect. Appears light green when selected. VP Queue Lets you preview the scene in the Video Post queue. Preview must be selected for the VP Queue function to work. Focus Control tabs The Lens Effect Glow dialog contains four tabs: Properties on page 7807, Preferences on page 7811, Gradients on page 7829, and Inferno on page 7813 Button group Reset Resets Lens Effects Glow to its default settings. Load Displays a Windows-standard file open dialog from which you can select the settings file you want to load. Save Displays a Windows-standard Save As dialog in which you specify a directory and filename. Lens Effects Glow settings are saved as LZG files. Glow Properties Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Glow from Filter Plug-In list. ➤ Setup ➤ Properties tab The Lens Effects Glow properties let you determine which pieces of geometry in your scene will exhibit the effects of the glow filter, as well as how much of a glow is applied. Procedures To set a material ID Channel: 1 In the Material Editor, make the material you want to be post-processed the active material. Lens Effects Filters | 7807 2 Choose a non-zero ID from the Material ID Channel flyout. The ID Channel can range from 1 to 15. If you give the same ID Channel value to more than one material, all these materials will be post-processed. NOTE For Multi/Sub-Object materials, post-processing applies at the sub-object/sub-material level. The ID Channel of the parent Multi/Sub-Object material is ignored. To set up an RLA file so it saves Object and Material ID channel data: 1 Place an Image Output Event in the Video Post Queue. 2 In the Image Output Event dialog, click Files. 3 Choose the .rla file type on page 8453 and a file name, and then click Setup. 4 In the RLA Image File Format dialog, select Object, Material ID, and then click OK. 5 Click OK. When the RLA file has saved the Object and Material ID channels, you can use the rendered scene file as an Image Input event or a Filter or Layer mask, and continue to use the Object or Material ID Channel data. Interface 7808 | Chapter 20 Video Post The Properties panel is divided into two sections: Source and Filter. Source group Specifies the objects in the scene to which a glow is applied. You can select more than one source option at a time. Whole Applies a glow to the whole scene, not just a particular piece of geometry. This makes each pixel in the scene a potential glow source. The areas of the scene that have glow applied to them are determined by the settings in the Filter section of the dialog. Object ID Lets you apply the glow to an object or part of an object with a specific Object ID (in the G-buffer on page 9173), if the object matches the Filter settings. To apply an Object ID glow for an object, right-click the object and select properties from the menu. Then, set the Object Channel ID. Set this field to match, and Lens Effects glow will apply the glow to that object and any other objects with the same ID. This parameter can be animated on page 7775. Effects ID Lets you apply the glow to an object or part of an object with a specific ID channel, if the object or part of the object matches the Filter settings. You apply an ID channel in the Material Editor by assigning the material to one of the available Material ID channels. This parameter can be animated. The glow will be applied only to areas of the geometry where the ID is present. NOTE To apply different glow settings to different pieces of geometry or IDs, add more glow entries to the video post queue. Set each glow entry to affect a different Material or Object ID, and set the appropriate settings. This process will call the glow routine multiple times, increasing your rendering time. Try to keep the number of glow routines to a minimum per frame. Unclamped An unclamped color is brighter than pure white (255,255,255). 3ds Max keeps track of these "hot" areas which tend to show up when your scene contains bright metallic highlights or explosions. This spinner lets you determine the lowest pixel value that is glowed. Pure white has a pixel value of 1. When this spinner is set to 1, any pixels with a value above 255 will be glowed. You can invert this value by clicking the I button to the right of the spinner. This parameter can be animated. Surf Norm Glows part of an object, based on the angle of the surface normal to the camera. A value of 0 is coplanar, or parallel to the screen. A value of 90 is normal, or perpendicular to the screen. If you set Surf Norm to 45, only surfaces with normal angles greater than 45 degrees will be glowed. You can Lens Effects Filters | 7809 invert this value by clicking the I button to the right of the spinner. This parameter can be animated. Mask Glows the mask channel of an image. The spinner value represents the level of grayscale present in a Mask. When this is set, any part of the Mask images larger than the set value will be glowed in the final image. You can invert this value by clicking the I button to the right of the spinner. This parameter can be animated. Range = 0 to 255. Alpha Glows the alpha channel of an image. The transparency of an alpha channel is interpreted opposite that of the Mask channel. This parameter can be inverted, and can also be animated. Range = 0 to 255. Z Buffer Hi and Lo Glows objects based on their distance (Z-Buffer distance) from the camera. The Hi value is the maximum distance and the Lo value is the minimum. Any objects between these two Z-Buffer distances will be glowed. These parameters can be animated. Filter group Filters the Source selections to let you control how the glow is applied. For example, you can have ten spheres in your scene, each with the same Object ID, but different colors. If you set the Source as the Object ID of the spheres, which selects all of the spheres, that is the only place in your scene that Glow applies an effect. However, now that Glow knows where the pixels are that can be glowed, it needs to know which ones to actually apply the Glow to. Glow uses the filter controls to find out which source pixels to apply a glow to. All Selects all source objects in the scene and applies a glow to them. Edge Selects all source objects along a boundary edge and applies a glow to them. Applying a glow along the edges of objects produces a soft halo that exists on both inside and outside edges of your object. Perimeter Alpha Applies a glow only to the perimeter of an object based on its alpha channel. Selecting this option glows only the outside of an object without any spill on the interior. Perimeter Alpha keeps all the edges clean because it relies on the scene alpha channel for its effect. Perimeter Applies glow effect only to the perimeter of an object based on Edge inferencing. Although not as precise as Perimeter Alpha, you might need to use the Perimeter option at times when the alpha channel is unavailable. 7810 | Chapter 20 Video Post Bright Filters the source objects based on their brightness values. Only objects with a brightness above the spinner setting are selected and glowed. This option can be inverted. This parameter can be animated. Hue Filters the source objects by their hue. Select the hue by clicking the color swatch next to the spinner. The spinner beside the Hue color swatch lets you enter a variance level so that the glow can find several different hues in the same range as the chosen color. This parameter can be animated. Range = 0 to 255. Glow Preferences Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Glow from Filter Plug-In list. ➤ Setup ➤ Preferences tab Glow Preferences define the size of the glow, its occlusion, and whether or not it affects the Z-Buffer or alpha channels. Interface The Preferences panel is divided into four sections: Scene, Distance Fade, Effect, and Color. Scene group Affect Alpha Specifies whether or not the glow affects the alpha channel of the image, when rendered to a 32-bit file format. Lens Effects Filters | 7811 Affect Z Buffer Specifies whether or not the glow affects the Z-Buffer of the image. When this option is enabled, the linear distance of the glow is recorded, and can be used in special effects that make use of the Z-Buffer. For example, Lens Effects Focus blurs objects based on their Z-Buffer information. To use Focus with a glow, you must enable this option. Distance Fade group These controls fade the glow effect, based on its distance from the camera. This is the same as distance fade for the lens flare. Bright Lets you fade the brightness of the glow effect based on the distance from the camera. This is ideal for submarine running lights and any other effect where you want your glow to disappear into the distance. This parameter can be animated on page 7775. Size Lets you fade the size of the glow effect based on the distance from the camera. In most circumstances, you want the overall size of the glow to diminish as it gets farther away from the camera. This parameter can be animated. Lock When selected, locks the Bright and Size values together, so that the size and brightness fading is synchronized. Effect group Size Sets the size of the overall glow effect. This parameter can be animated. Softness Softens and blurs the glow effect. Values range from 0 to 100. This control is enabled only when you use Gradients as the color method (see the next section). Softness is only available when the Gradient option in the Color area is selected. This parameter can be animated. Color group Gradient Creates the glow based on the settings in the Gradients panel. When you use this method, you can use the Softness spinner in the Effect area. Pixel Creates the glow based on the pixel color of the object. This is the default method. It is very fast. User Lets you select a color for the glow effect. Click the color swatch to display the Color Selector on page 304 and choose a color. Intensity Controls the intensity or brightness of the glow effect. Values range from 0 to 100. This control is enabled only when Pixel or User is the chosen color method. 7812 | Chapter 20 Video Post Glow Inferno Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Glow from Filter Plug-In list. ➤ Setup ➤ Inferno tab The Inferno panel lets you create explosions, fire, and smoke effects by combining the lens flare glow with black and white fractal noise. The Glow inferno effect is like the Inferno effect in Lens Flare on page 7798, but it is applied to the Glow through the R, G, and B color channels. Interface The Inferno panel is divided into two sections: Settings and Parameters. Settings group Gaseous A loose and soft pattern, often used for clouds and smoke. Fiery Fractal patterns with bright, well-defined areas, often used for fires. Electric Long, well-defined tendril pattern that can be used to produce arcing electricity, when animated. By adjusting the quality of the pattern to 0, you can create the effect of water reflection. Reseed The number that the fractal routines use as a starting point. Set this spinner to any number to create different fractal effects. The Reseed button randomly selects a new number. Lens Effects Filters | 7813 Motion When you animate the inferno, motion specifies how fast the inferno patterns move in the direction set by the Direction spinner. For example, if you want to simulate a raging fire, you want the fractal patterns to move upward. This parameter can be animated on page 7775. Direction Specifies the direction, in degrees, of the inferno effect motion. By default, 0 is aligned in the 12 o'clock position, and works clockwise. This parameter can be animated. NOTE The Motion and Direction spinners control the motion of the fractal pattern in the X and Y directions. You can control the Z direction using the Speed option under Inferno Parameters. Quality Specifies the overall quality of the fractal noise patterns in the inferno effect. Higher values result in more iterations of the fractals, more detail in the effect, and slightly longer render times. This parameter can be animated. Red/Green/Blue Selects the color channel to use for the Inferno effect. Parameters group Size Specifies the overall size of the fractal patterns. Smaller numbers produce small, grainy fractals. Higher numbers produce larger patterns. This option can be animated. Speed Sets the overall speed of the turbulence in the fractal patterns as they are animated. Higher numbers produce faster turbulence in the pattern. This parameter can be animated. Base Specifies the brightness of the colors in the inferno effect. Higher values result in brighter color ranges and brighter infernos. Lower values result in dark, softer effects. The Base spinner only affects Fiery and Electric inferno types This parameter can be animated. Amplitude With the Base spinner, controls the maximum brightness for each portion of the fractal inferno patterns. Higher values result in fractal patterns with brighter colors. Lower values result in the same patterns, with muted colors. This parameter can be animated. Bias Shifts the colors of the effect toward one end of the color range or the other. At a setting of 50, Bias has no effect. Above 50, the colors are brighter, and below 50, they are darker and softer. This parameter can be animated. Edge Controls the contrast between the light and dark areas of the fractal patterns. High values produce a high contrast and more well-defined fractal patterns. Low values result in less defined, subtler effects. This parameter can be animated. 7814 | Chapter 20 Video Post Radial Density Controls the density of the inferno effect in a radial fashion from the center of the effect to the edge. Wherever there is white in the gradient, you only see inferno noise. Where the gradient is black, you can see the underlying glow. If you set the right side of the gradient to black and the left side to white, and apply the Inferno to the Glow effect of a flare, the inferno effect appears toward the outer edges of the glow, while the center of the glow is still visible. Lens Effects Highlight Filter Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Highlight from Filter Plug-In list. ➤ Setup The Lens Effects Highlight dialog lets you assign bright, star-shaped highlights. Use it on objects that have shiny materials. For example, a shiny, red car might show highlights in bright sunlight. Example of highlights Another good example of an effect perfect for Highlight is the creation of pixie dust. If you create a particle system and animate it moving in a straight Lens Effects Filters | 7815 line with small four-point Highlight stars applied to each pixel, it will look a lot like twinkling magic. The Lens Effects Highlight module is multi-threaded and will take advantage of multi-processing machines, making it one of, if not the fastest highlight routines available. Procedures To save your highlight settings: You can save all of your lens highlight settings to a file, so you can reload them any time. Lens Effects Highlight settings are saved as LZH files on page 9210 (.lzh). Do one of the following: 1 Click the Reset button. This resets Lens Effects Highlight to its default settings. 2 Click the Load button. This displays a Windows-standard file open dialog from which you can select the settings file you want to load. 3 Click the Save button. This displays a Windows-standard Save As dialog in which you specify a directory and filename. 7816 | Chapter 20 Video Post Interface When you select Lens Effects Highlight from the Image Filter Event drop-down list and click Setup, the Highlight dialog is displayed. Lens Effects Filters | 7817 The Lens Effects Highlight interface is almost identical to the Glow module, with a large preview window, and tabs to control every aspect of your highlight effects. Preview group Preview window Lets you quickly preview the glow effect. The preview window is multi-threaded to take advantage of systems with multiprocessors, and updates every time you make a change to any of the glow settings that might affect the scene. Preview Activates a generic cross star filter so you can quickly set up a Highlight effect. However, as with the Glow module, it is more effective seeing your entire scene and how your effect will interact with your geometry. VP Queue Lets you preview the scene in the Video Post queue. Preview must be selected for the VP Queue function to work. Highlight Control tabs Similar to the Glow settings, Highlight is also broken down into tabbed sections for fine control over each aspect of the Highlight effect. The four tabs are: Highlight Properties on page 7818 Highlight Geometry on page 7823 Highlight Preferences on page 7828 Lens Effects Gradients on page 7829 Button group Reset Resets Lens Effects Highlight to its default settings. Load Displays a Windows-standard file open dialog from which you can select the settings file you want to load. Save Displays a Windows-standard Save As dialog in which you specify a directory and filename. Lens Effects Highlight settings are saved as LZH files. Highlight Properties Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Highlight from Filter Plug-In list ➤ Setup ➤ Properties tab 7818 | Chapter 20 Video Post The Lens Effects Highlight properties enable you to determine which parts of your scene will have highlights applied to them, as well as how the highlights are to be applied. Interface The Properties panel is broken down into two sections: Source and Filter. Source group The Source section lets you select any G-Buffer data in the scene that will have a highlight applied to it. Lens Effects Highlight will begin the process by finding the source pixels from your scene that you want to glow. Whole Lets you apply highlights to the whole scene, not just a particular piece of geometry. This, in effect, makes each pixel in the scene a potential highlight source. The areas of the scene that have highlights applied to them are determined by the settings in the Filter section of the dialog. Object ID The Object ID Lets you apply highlights to particular objects in your scene that have a corresponding G-Buffer (or Object) ID. The G-Buffer is a geometry buffer and can be defined when you right-click any 3ds Max object and select Properties from the menu. Then, set the Object Channel ID under the G-Buffer ID controls. This parameter can be animated on page 7775. Effects ID The Effects ID lets you apply the highlight to an object or part of an object with a specific Material ID assigned to it. Material IDs are applied in the Material Editor. See G-Buffer on page 9173. This parameter can be animated. Lens Effects Filters | 7819 The highlights are then only applied to areas of the geometry where that particular ID is present. NOTE In many instances, you might want to apply different highlight settings to different pieces of geometry or IDs. To accomplish this, add additional Lens Effects Highlight entries to the Video Post queue. Then set each different Highlight entry to effect a different Material or Object ID and proceed. Unclamped An unclamped color is brighter than pure white (255,255,255). 3ds Max keeps track of these "hot" areas which tend to show up when your scene contains bright metallic highlights or explosions. This spinner lets you determine the lowest pixel value that is highlighted. Pure white has a pixel value of 1. When this spinner is set to 1, any pixels with a value above 255 will be glowed. You can invert this value by clicking the I button to the right of the spinner. This parameter can be animated. Surf Norm Highlights part of an object, based on the angle of the surface normal to the camera. A value of 0 is coplanar, or parallel to the screen. A value of 90 is normal, or perpendicular to the screen. If you set Surf Norm to 45, only surfaces with normal angles greater than 45 degrees will be glowed. You can invert this value by clicking the I button to the right of the spinner. This parameter can be animated. Mask Highlights the mask channel of an image. The spinner value represents the level of grayscale present in a Mask. When this is set, any part of the Mask images larger than the set value will be glowed in the final image. You can invert this value by clicking the I button to the right of the spinner. This parameter can be animated. Range = 0 to 255. Alpha Highlights the alpha channel of an image. The transparency of an alpha channel is interpreted opposite that of the Mask channel. Values range from 0 to 255. This parameter can be inverted by clicking the I button to the right of the spinner, and can also be animated. Z Buffer Hi and Lo Highlights objects based on their distance (Z-Buffer distance) from the camera. The Hi value is the maximum distance and the Lo value is the minimum. Any objects between these two Z-Buffer distances will be highlighted. These parameters can be animated. Filter group Filters the Source selections to let you control how the highlight is applied. For example, you can have ten spheres in your scene, each with the same Object ID, but different colors. If you set the Source as the Object ID of the 7820 | Chapter 20 Video Post spheres, which selects all of the spheres, that is the only place in your scene that Highlight will apply an effect. However, now that Highlight knows where the pixels are that can be highlighted, it needs to know which ones to actually apply the highlights to. Highlight uses the filter controls to find out which source pixels to apply the highlight to. All Selects all source pixels in the scene and applies a highlight to them. Edge Selects all source pixels along a boundary edge and applies a highlight to them. Applying a highlight along the edges of objects produces a soft halo that exists on both inside and outside edges of your object. Edge highlights Perimeter Alpha Applies a highlight only to the perimeter of an object based on its alpha channel. Selecting this option highlights only the outside of an object without any spill on the interior. Whereas highlighting by Edge produces a spill onto the object, Perimeter Alpha keeps all of the edges clean because it relies on the scene alpha channel to derive it's effect. Lens Effects Filters | 7821 Perimeter alpha highlights Perimeter Applies highlight effect only to the perimeter of an object based on Edge inferencing. Although not as precise as Perimeter Alpha, you might need to use the Perimeter option at times when the alpha channel is unavailable. 7822 | Chapter 20 Video Post Perimeter highlights Bright Filters the source objects based on their brightness values. Only objects with a brightness above the spinner setting are selected and highlighted. This option can be inverted by clicking the I button next to the spinner. This parameter can be animated. Hue Filters the source objects by their hue. Select the hue by clicking the color swatch next to the spinner. You can choose hue values from 0 to 255. The spinner beside the Hue color swatch lets you enter a variance level so that the glow can find several different hues in the same range as the chosen color This parameter can be animated. Highlight Geometry Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Highlight from Filter Plug-In list ➤ Setup ➤ Geometry tab The Geometry panel is where you set the initial rotation of the highlights as well as how the elements are affected over time. The Geometry panel consists of three areas: Effect, Vary, and Rotate. Lens Effects Filters | 7823 Interface Effect group Angle Controls the angle of the highlight points over the course of the animation. This parameter can be animated on page 7775. Clamp Determines the number of pixels highlight must read to place a single highlight effect. In many cases, you want to key your highlight effects off of the brightness of objects that can produce a lot of pixels to generate from. The end result is something that looks like stadium lights from a Monday Night Football game, where each pixel has the highlight cross drawn on top of it, which blurs the overall effect. When you want only one or two highlights, use this spinner to adjust how highlight processes the chosen pixels. This parameter can be animated. 7824 | Chapter 20 Video Post Clamp value of 5 Clamp value of 15 Lens Effects Filters | 7825 As you can see, the Clamp value lets you maximize or minimize the overall number of highlights drawn over the same image. This can be a tremendous time saver. Alt. Rays Alternates the lengths of points around the highlight. It works on every other ray point, changing from the ray's full length to a smaller one based on the percentage spinner beneath it. This parameter can be animated. Alt. Rays turned off 7826 | Chapter 20 Video Post Alt. Rays turned on and set to 40% Vary group The Vary group of controls adds randomness to your Highlight effects. You can quickly adjust your effects so that no two look alike. In many instances, you want to avoid having your Highlights rotate in formation, and the Size and Angle buttons control that. Size Varies the overall size of the individual Highlights. Angle Varies the initial orientation of the individual Highlights. Reseed Forces Highlight to use a different random number to generate parts of its effects. Rotate group These two buttons let you have your highlights automatically rotate based on their relative position in the scene. Distance Automatically rotates the individual highlight elements as they recede into the distance. The faster your elements recede, the faster they will rotate. Pan Automatically rotates the individual Highlight elements as they move laterally across the screen. If you have objects in your scene that are passing Lens Effects Filters | 7827 by the camera, they can be automatically rotated based on their position. The faster your elements move across the screen, the faster they will rotate. Highlight Preferences Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Highlight from Filter Plug-In list ➤ Setup ➤ Preferences tab The Preferences panel defines the size and number of points on the highlight, occlusion settings, and whether or not it affects the Z-Buffer or alpha channels. Interface Scene group Affect Alpha Determines whether or not the highlight settings affect the alpha channel of the image when you render to a 32-bit file format. Affect Z Buffer Determines whether or not the highlight affects the Z-Buffer of the image. When this option is selected, the linear distance of the highlight is recorded, and can be used in special effects that make use of the Z-Buffer. For example, the Focus module that ships with Lens Effects blurs objects based on their Z-Buffer information. If you want to use Focus to blur a highlight, you must select this option. If you are not sure about whether or not to select this option, leave it disabled, because you probably don't need it. 7828 | Chapter 20 Video Post Distance Fade group Bright Lets you fade the brightness of the highlight effect based on the distance away from the camera. This parameter can be animated on page 7775. Lock Locks the Bright and Size spinner values together. Size Lets you fade the size of the highlight effect based on the distance from the camera. In most circumstances, you want the overall size of your highlights to diminish as they get farther from the camera. This option takes care of that for you. This parameter can be animated. Effect group Size Lets you determine the overall size of the highlight effect, and is calculated in pixels. This parameter can be animated. Points Controls the number of points to be generated for a highlight effect. This parameter can be animated. Color group Gradient Lets you create the highlight based on the settings in the Gradients panel. Pixel Lets you create the highlight color based on the pixel color of the highlighted object. This is the default method for Lens Effects Highlight and is exceptionally fast. User Lets you select a specific color for the highlights through the standard 3ds Max Color Selector on page 304. The color swatch shows you the currently selected color. Intensity Lets you control the intensity or brightness of the highlights. Values range from 0 to 100. This spinner functions only when you are using either the Pixel or User color methods to control the brightness of the highlight effect. This parameter can be animated. Lens Effects Gradients Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Lens Effects Highlight from Filter Plug-In list ➤ Setup ➤ Gradients tab A gradient is a smooth linear transition from one color or brightness to another, as shown below. Lens Effects use gradients to control aspects of the Lens Effects Filters | 7829 lens flares, such as colors and transparency. Lens Effects use several gradient types on page 7834. Lens Effects Gradients are always interpreted from left to right. Gradient Flags Gradients use Flags to indicate points along the gradient bar where you want different colors or brightness values to be. The colors between the flags are interpolated automatically by Lens Effects. Each Gradient inside Lens Effects can contain up to 100 flags. The current flag is highlighted and green. The position number above the gradient bar indicates the position of the current flag, in relation to the overall length of the gradient. A gradient always has non-moveable start and end flags. You can add up to 98 intermediate flags to alter the overall appearance of your gradients. You can also change the color or brightness of the end flags to suit your needs. When you place two gradient flags on top of one another, you create a sharp break in the gradient. When a third flag is placed on top of the second flag, a sharp edge appears in the gradient. WARNING When you animate Lens Effects parameters, this creates pointers into the actual scene, so Lens Effects animation is lost if you save the Video Post queue in a VPX file on page 9344. To preserve the animation, save the Video Post data, including Lens Effects animation, in the MAX file. Procedures To add an intermediate flag: ■ Click the gradient bar where you want to place the new flag. The flag uses the color of the gradient at the point where you placed it. To adjust the color, double-click to display the Color Selector on page 137. 7830 | Chapter 20 Video Post To adjust the position of a flag: ■ Drag the flag left or right. The gradient updates to show you the changes. To delete a flag: ■ Drag the flag outside the gradient bar. The flag turns red, and the mouse point changes to a down arrow pointing to a bucket. When you let go of the mouse button, the flag is deleted. To change a flag's properties: 1 Right-click the flag to display a menu. 2 Click Properties and change any settings you want. Interface Right-clicking a gradient flag and selecting Edit Properties displays the Flag Properties dialog. To change gradient options on page 7832, right-click the gradient bar, not the flags. The Flag Properties dialog lets you change the name of the flag, its color, and its position. Name By default, flags are named Flag #. You can enter a different name for the current flag. The arrows to the right of the name box let you choose other flags on the same gradient. Lens Effects Filters | 7831 Color The Color swatch lets you control the color or brightness component of the gradient at the position where the flag is located. Click the color swatch to display the color picker and choose a different color. The green arrow to the left of the color swatch indicates that this flag parameter can be animated on page 7775. Position Each gradient has 100 possible positions from left to right. The number in the spinner represents the position of the flag along the gradient. Gradients are read from left to right so a value of zero aligns the flag with the left edge of the gradient. This flag parameter can be animated. Gradient Options Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose a Lens Effects Filter from the Filter Plug-In list. ➤ Setup ➤ Gradient tab Each gradient in Lens Effects has a set of common options. Right-clicking the gradient bar displays a shortcut menu with the following options. Interface Reset Resets the gradient back to its default parameters. This action cannot be undone. 7832 | Chapter 20 Video Post Load Gradient Displays a file open dialog in which you can load a particular gradient. Gradients are saved with a .dgr extension. Save Gradient Displays a file save as dialog where you specify the path and filename for the gradient. Load UV Map Lets you load a bitmap image and use each row of pixels of the bitmap as an animated gradient. When a bitmap is loaded into a gradient control, Lens Effects reads the first 100 pixels across the top row of the image (for the 100 divisions of its gradient controls) and makes them the gradient. With each successive frame, Lens Effects reads in the next row of pixels as the gradient. When you scrub the animation slider, you can see the gradient change over time. NOTE If the animation is longer than the chosen bitmap is tall, then the bitmap pattern is repeated. Load Bitmap Displays a 3ds Max file browser so you can select a bitmap to use as your gradient. Unlike UV Map, the Load Bitmap option only reads the first row of pixels for the entire animation. This is a good option when you need to have a complex but static gradient. Flag Mode Indicates you are using flags to set the colors of your gradient instead of using a bitmap as the source. Flag Mode is selected by default. Compositing Methods The last five options on the shortcut menu are different types of compositing methods. When you work with Color and Transparency gradient controls in any of the Lens Effects filters, you must be aware of both the Radial and Circular gradients. Both Lens Effects color gradients and both Transparency gradients are "locked together" and will work together based on the compositing method you choose to create an effect. Each compositing method works on a pixel-by-pixel basis on the positional value in both gradients. The compositing methods define how the colors and brightness values are combined to form a single color. When combining the colors, the algorithms evaluate each color channel of the color to find the end result. This lets you create five very different looking effects with the same two gradients. High Value When this option is selected, the higher color or brightness value between the two gradients is selected. For example, if you had a color with RGB values of 255,210,255 and another with 225,240,225, the resulting color would be 255,240,255. This option generally results in a slightly brighter lens flare than the default settings. Lens Effects Filters | 7833 This is the most common way of using only one gradient. Set one gradient to the color or brightness you desire, then set the other gradient to pure black. This assures that all of the values you set in one gradient are used exclusively to achieve the effect. Average Calculates an average value between the colors. In the example above, the resulting color would be 175, 225, 225. This option is good if you want to mix gradient values and results in effects that are not as bright as High Value. Low Value Selects the lower color values, resulting in a less intense lens flare and a more subtle overall effect. In the example above, the resulting color would be 100,210,295. Additive Adds colors values together, pushing their composite value toward pure white, producing the brightest but most washed-out effects. Additive compositing is good when you want to burn effects out. Subtractive Subtracts colors values from each other, resulting in slightly muted and less intense colors. These compositing methods may be applied to all types of gradients, except size gradients. The type of compositing being used for a gradient is noted above the gradient bar. Compositing methods are applied to every gradient. Some gradients are linked together, so if you assign a specific compositing method to one, the compositing method is automatically assigned to the other. Types of Gradients Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose a Lens Effects Filter from the Filter Plug-In list. ➤ Setup ➤ Gradient tab There are two different kinds of gradients in Lens Effects, Radial and Circular. Between the two types, you can achieve almost limitless effects. Interface Radial Radial gradients work from the center point to the outer edge of a Lens Effects feature, changing color or brightness in a straight line from left to right as you scan the gradient bar. The left edge of the gradient is aligned with the center of the effect and the right edge is aligned with the outer edge of the effect. 7834 | Chapter 20 Video Post Scheme of a radial gradient Circular Changes colors in a circular manner, working clockwise around a Lens Effects feature. If you mark North, East, South, and West on a circle, these points represent the 0%, 25%, 50%, and 75% marks of the gradient. Each parameter panel in Flare, Glow, and Highlight that utilizes gradients contain five gradient controls. The five controls are: Lens Effects Filters | 7835 Scheme of a circular gradient Color (Radial and Circular) Defines the colors used on page 7837 for an effect. This is based on the RGB color system, but can also be set with HSV. Within each set of gradient controls, there is a Radial and Circular Color gradient. Radial Color works with Circular Color to produce the overall color for the Lens Effects element. Transparency (Radial and Circular) Varies the visibility of parts of the effect. The transparency gradients only make use of brightness (or luminance) values, which are essentially grayscale values. This black-to-white ramp of values provides you with 256 levels of transparency for your effects. Just like the Color gradients, both Transparency gradients are tied together to generate the overall visibility of effect. See Gradient Options on page 7832. Size Varies the size of specific parts of the Lens Effect. Most size gradients are used to affect the radius of a lens flare part, such as a glow. Like transparency gradients, only the brightness values are used to provide you with 256 different sizes. The Radial Size gradient, for example, works both like a Radial and Circular gradient. This gradient is applied in a clockwise fashion, starting at 12 o'clock. The values in the gradient are applied from the center of the effect toward the 7836 | Chapter 20 Video Post outer edge, with brighter values producing bigger sizes and darker values producing shorter sizes. Gradient Colors Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose a lens effects filter from the Filter plug-in list. ➤ Setup ➤ Gradient tab Colors in 3ds Max are interpreted in two different ways: RGB and HSV. In RGB (red, green, blue), you can select one of 256 shades of red, green, and blue, giving you a palette of 16.7 million colors (24 Bit). In HSV (Hue, Saturation, Value), you can select one of 256 hues of color, then adjust the saturation or the value of the color. The saturation can also be considered the blackness of a color and value can be considered the whiteness of a color. For transparent and size gradients, you adjust the vertical whiteness slider just to the left of the RGB and HSV sliders. The white triangle on the right side of the vertical bar is the slider. This controls the overall value of the color in terms of HSV. In RGB terms, it is the same as adjusting all three colors equally at the same time. Higher values on the whiteness scale represent more transparency, or smaller sizes. See also: ■ Color Selector Dialog on page 304 Negative Filter Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Negative Filter from the Filter Plug-In list. Rendering menu ➤ Video Post ➤ Video Post window ➤ Select a Negative Filter. ➤ Video Post toolbar ➤ (Edit Current Event) ➤ Setup The Negative filter inverts the colors in the image, making it negative like a negative color photograph. Negative Filter | 7837 Effect of negative filter When you click the Setup button in the Edit Filter Event dialog for the Negative filter, the Video Post dialog is replaced by a modeless Negative Filter dialog with a Blend spinner. You can turn on Auto Key, move the time slider, and change the Blend value to create keys. (You can also use other 3ds Max functions; for example, you can create objects.) When you've set all the keys you want, click the OK button to return to Video Post. After creating keys from the Video Post filter, you'll find the track for the new keys as a child of the Video Post track in the Track View – Curve Editor. Specifically, in the above example, you'll find the following hierarchy in the Curve Editor: 7838 | Chapter 20 Video Post Interface Blend Sets the amount of blending that occurs. Pseudo Alpha Filter Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Pseudo Alpha Filter from the Filter Plug-In list. Rendering menu ➤ Video Post ➤ Video Post window ➤ Select a Contrast Filter. ➤ Video Post toolbar ➤ (Edit Current Event) The Edit Pseudo Alpha filter creates an alpha channel for the image based on the image's first pixel (the upper-left corner pixel). All pixels that have the same color as this pixel become transparent. Because only one pixel color becomes clear, edges of the opaque areas are aliased. The main use for this filter is when you want to composite a bitmap whose format does not have an alpha channel. There is also a layer event called the Pseudo Alpha Compositor on page 7846. There are no setup options for this filter. Simple Wipe Filter Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Simple Wipe Filter from the Filter Plug-In list. Pseudo Alpha Filter | 7839 Rendering menu ➤ Video Post ➤ Video Post window ➤ Select a Simple Wipe Filter. ➤ Video Post toolbar ➤ (Edit Current Event) ➤ Setup The Simple Wipe filter reveals or erases the foreground image with a wipe transition. Unlike the Wipe Layer compositor on page 7848, Wipe Filter wipes across a fixed image. Wipe reveals an image by wiping from one side to the other, over time. This filter wipes from image to image (or from an image to black). The filtered image stays in place, but is revealed or erased with a wipe across the image. If you're using a Wipe as a filter event, you'll usually want to use an Alpha Compositor as a layer event as well. A typical queue sequence would be: Alpha Compositor (layer) -- ➤ Image #1 -- ➤ Simple Wipe (filter) ------ ➤ Image #2 The rate of the wipe is determined by the length of the Wipe filter's time range. The area not covered by the image renders as black unless you use an Image Layer event to composite the Wipe filter with another image. 7840 | Chapter 20 Video Post Interface Direction group Right-pointing arrow Wipes from left to right. Left-pointing arrow Wipes from right to left. Mode group Push Reveals the image. Pop Erases the image. Starfield Filter Rendering menu ➤ Video Post ➤ Video Post toolbar ➤ (Add Image Filter Event) ➤ Choose Starfield Filter from the Filter Plug-In list. Rendering menu ➤ Video Post ➤ Video Post window ➤ Select a Starfield Filter. ➤ Video Post toolbar ➤ (Edit Current Event) ➤ Setup The Starfield filter generates a realistic starfield with optional motion blur. The Starfield filter requires a camera view. Any motion of the stars is a result of camera motion. Starfield Filter | 7841 Procedures To use the Starfield filter: 1 Create a camera and (optionally) animate the camera's or target's position, field of view, and roll. 2 Choose Rendering ➤ Video Post and add a Scene Event, using the camera for the view. 3 Select the Scene Event in the queue, click (Add Image Filter), select the Starfield filter, and click the Setup button. 4 In the Stars Control dialog, make sure that the selected camera matches the camera used in the Scene Event. If these don't match, the stars will not match the camera's motion. If there is only one camera in the scene, the field will default to that camera. 5 Set the starfield parameters, then exit the Stars Control dialog and the Edit Filter Event dialog. 6 Execute the Video Post sequence to see stars. 7842 | Chapter 20 Video Post Interface Source Camera group Source Camera Lets you choose from a list of cameras in the scene. Choose the same camera as the one being used to render the scene. General group Set the brightness range and size of the stars. Dimmest Star Specifies the dimmest star. Range = 0 to 255. Brightest Star Specifies the brightest star. Range = 0 to 255. Linear/Logarithmic Specifies whether the range of brightness is calculated linearly or logarithmically. Starfield Filter | 7843 Star Size (Pixels) Specifies the size of the stars, in pixels. Range = 0.001 to 100. Motion Blur group These settings control the streaking effect of the stars when the camera moves. Use When on, the starfield uses motion blur. When off, the stars appear as dots, no matter what the camera's motion. Amount The percentage of the frame time that the camera "shutter" is open. Default = 75%. Dimming Determines how the streaked stars will dim as their trails lengthen. The default of 40 provides a good effect for video, dimming them a bit so they don't appear to flash. Star Database group These settings specify the number of stars in the starfield. ■ RandomGenerates the number of stars indicated by the Count spinner, using the random number Seed to initialize the random number generator. Seed Initializes the random number generator. By using the same Seed value in different animations, you're guaranteed identical starfields. Count Specifies the number of stars generated when Random is chosen. ■ CustomReads the file specified. A provided star database, earth.stb, contains the brightest stars in Earth's sky. Compositing group ■ Background(The default.) Composites the stars in the background. ■ ForegroundComposites the stars in the foreground. Layer Events Layer events composite two events. They can also create a transition from one event to the event that follows. The topics in this section describe the layer events that are provided with Video Post. 7844 | Chapter 20 Video Post Alpha Compositor Rendering menu ➤ Video Post ➤ Video Post window ➤ Make sure the two child events are in the order you want the Image Layer event to use them. ➤ Select the two events. ➤ Video Post toolbar ➤ (Add Image Layer Event) ➤ Choose Alpha Compositor from the Layer Plug-in list. Rendering menu ➤ Video Post ➤ Video Post window ➤ Select an Alpha Compositor ➤ Video Post toolbar ➤ (Edit Current Event) The Alpha compositor composites the two images using the alpha channel on page 9088 of the foreground image. The background image appears in areas where the foreground image's alpha channel is transparent. Procedures To use the Alpha Compositor filters: 1 Add two Scene or Image Input events to the queue. 2 Select both events and assign an Image Layer event consisting of the Alpha Composite Filter. 3 Select the Image Layer event and click Edit Current Event. Cross Fade Compositor Rendering menu ➤ Video Post ➤ Video Post window ➤ Make sure the two child events are in the order you want the Image Layer event to use them. ➤ Select the two events. ➤ Video Post toolbar ➤ (Add Image Layer Event) ➤ Choose Cross Fade Compositor from the Layer Plug-in list. Rendering menu ➤ Video Post ➤ Video Post window ➤ Select a Cross Fade Compositor. ➤ Video Post toolbar ➤ (Edit Current Event) The Cross Fade compositor composites the two images over time, cross-fading from the background image to the foreground image. The rate of the cross Alpha Compositor | 7845 fade is determined by the length of the Cross Fade Transition filter's time range. Cross Fade fades one image into another over time. There are no setup options for this compositor. Procedures To use the Cross Fade Compositor: 1 Add two Scene or Image Input events to the queue. 2 Select both events and assign an Image Layer event consisting of the Cross Fade Compositor. Pseudo Alpha Compositor Rendering menu ➤ Video Post ➤ Video Post window ➤ Make sure the two child events are in the order you want the Image Layer event to use them. ➤ Select the two events. ➤ Video Post toolbar ➤ (Add Image Layer Event) ➤ Choose Pseudo-Alpha Compositor from the Layer Plug-in list. Rendering menu ➤ Video Post ➤ Video Post window ➤ Select a Pseudo-Alpha Compositor. ➤ Video Post toolbar ➤ Event) (Edit Current The Pseudo-Alpha compositor composites a foreground image against the background by creating an alpha channel for the foreground image based on 7846 | Chapter 20 Video Post the foreground image's upper-left-corner pixel. All pixels in the foreground image that use this color become transparent. Pseudo Alpha compositing Because only one pixel color becomes transparent, edges of the opaque areas in the foreground image are aliased. Use this method when the foreground image is a bitmap whose format does not have an alpha channel. There are no setup options for this compositor. There is also a Pseudo Alpha filter event on page 7839. Procedures To use the Pseudo Alpha Compositor: 1 Add two Scene or Image Input events to the queue. 2 Select both events and assign an Image Layer event consisting of the Pseudo Alpha Composite Filter. Simple Additive Compositor Rendering menu ➤ Video Post ➤ Video Post window ➤ Make sure the two child events are in the order you want the Image Layer event to use them. ➤ Select the two events. ➤ Video Post toolbar ➤ (Add Image Layer Event) ➤ Choose Simple Additive Compositor from the Layer Plug-in list. Rendering menu ➤ Video Post ➤ Video Post window ➤ Select a Simple Additive Compositor. ➤ Video Post toolbar ➤ (Edit Current Event) Simple Additive Compositor | 7847 The Simple Additive compositor composites the two images using the second image's intensity (HSV value) to determine transparency. Areas of full intensity (255) are opaque; areas of zero intensity are transparent; and areas with intermediate transparency are translucent. Additive compositing This layer event can be useful when the second image is a bitmap whose format does not have an alpha channel. There are no setup options for this compositor. Procedures To use the Simple Additive Compositor: 1 Add two Scene or Image Input events to the queue. 2 Select both events and assign an Image Layer event consisting of the Simple Additive Compositor. Simple Wipe Compositor Rendering menu ➤ Video Post ➤ Video Post window ➤ Make sure the two child events are in the order you want the Image Layer event to use them. ➤ Select the two events. ➤ Video Post toolbar ➤ (Add Image Layer Event) ➤ Choose Simple Wipe Compositor from the Layer Plug-in list. Rendering menu ➤ Video Post ➤ Video Post window ➤ Select a Simple Wipe Compositor. ➤ Video Post toolbar ➤ 7848 | Chapter 20 Video Post (Edit Current Event) The Simple Wipe compositor reveals or erases the foreground image with a wipe transition. Unlike the Wipe filter on page 7839, the Wipe layer event moves the image, sliding it in or out. The rate of the wipe is determined by the length of the Wipe compositor's time range. Wipe reveals an image by wiping from one side to the other, over time. Procedures To use the Simple Wipe compositor: 1 Add two Scene or Image Input events to the queue. 2 Select both events and assign an Image Layer event consisting of the Simple Wipe Compositor. 3 Select the Image Layer event and click (Edit Current Event). 4 Click Setup to display the Simple Wipe Compositor Setup dialog. Simple Wipe Compositor | 7849 Interface Direction group Right-pointing arrow Wipes from left to right. Left-pointing arrow Wipes from right to left. Mode group Push Reveals the image. Pop Erases the image. 7850 | Chapter 20 Video Post Managing Scenes and Projects 21 These topics are concerned with managing scenes, projects, and the files that make them up. Working with AutoCAD, Revit, and AutoCAD Architecture 3ds Max offers a number of features designed to streamline the design visualization workflow. See Working with DWG Files on page 8051. The File Link Manager on page 8014 allows you to create a live link to a DWG file. You can then apply materials and animations in 3ds Max, but still update your geometry if any changes are made to the original file. 7851 A house model created in Revit becomes a detailed rendering in 3ds Max File-Handling Commands The principal commands for handling files on page 7947 are found on the Application menu on page 8579. File-Handling Utilities Several utilities help you manage files: ■ The Asset Browser on page 8143 provides another way to find and preview files and use them in 3ds Max scenes ■ The Bitmap / Photometric Path Editor utility on page 8158 lets you view bitmap paths or remove them from the scene file. ■ The File Finder on page 8162 is another resource for finding 3ds Max scenes. ■ The Resource Collector on page 8165 copies or moves a scene's bitmaps into a single directory. 7852 | Chapter 21 Managing Scenes and Projects ■ The Fix Ambient utility on page 8167 resolves lighting issues with older versions of scene files. ■ The Bitmap Pager Statistics dialog on page 8170 provides information that helps you resolve issues with scenes that require large amounts of memory for texture maps. ■ The Substitute modifier on page 1707lets you replace linked AutoCAD Architecture objects with native 3ds Max geometry and objects. Geometry File Formats You can import and export a variety of geometry file formats on page 8173 into and from a scene. Image File Formats You can use image file formats on page 8411 in a variety of ways: as textures for materials, as backgrounds to viewports, as background environments, as Image Input events in Video Post, and as images projected from a light. Similarly, 3ds Max can render to a number of popular image file formats. External References (XRefs) to Objects and Scenes External references on page 7969 to objects and scenes are another powerful way to manage a project, especially when it involves multiple contributors. | 7853 Objects in a scene can be externally referenced, created and maintained by other users. Scene Explorer Scene Explorer on page 8469 is a powerful tool for viewing changing object properties, selecting objects based on various criteria, and creating and modifying object hierarchies. Organizational Tools Container on page 7855 and group on page 7909 are tools for organizing objects logically so they can be manipulated as one. Grouping offers basic functionality, while the container provides advanced features for content-creation teams such as file access/sharing and inheritance rules. 7854 | Chapter 21 Managing Scenes and Projects The layer on page 8534 is like a transparent overlay on which you organize and group different kinds of scene information. Objects on the same layer can share attributes such as color, renderability, and display settings. Scene States The Scene States on page 8503 feature provides a fast way to save different scene conditions with various properties that can be restored at any time and rendered to produce different interpretations of a model. Schematic View Schematic View on page 8507 displays the scene as a graphic schema instead of as geometry. It gives you an alternate way to select or rename the objects in your scene, and to navigate among modifiers. It is especially useful for viewing objects in a hierarchy. Container Create panel ➤ ➤ Container Helpers ➤ Standard ➤ Object Type rollout The container is a helper object that can control a collection of other objects. These objects can be stored in a separate file with Container commands. Actions such as transforming, deleting, saving, unloading, and cloning a container affect its contents. You can use containers to: ■ Organize scenes into logical groups, thus reducing complexity. ■ Override objects’ display properties, regardless of their individual or layer settings. ■ Temporarily unload parts of the scene that are not in use, thereby improving viewport performance. ■ Reference content until you need to access it, reducing scene loading and saving time. ■ Toggle alternative content to replace objects quickly (for proxy workflows, multiple design options, levels of detail). Container | 7855 ■ Share your content with others, who inherit any subsequent changes into their scenes. ■ Collaborate with others by allowing them to edit attributes of your content while still inheriting other attributes from you. (Anything Unlocked on page 7892) ■ Let others edit your content in context of their scenes, and send those changes back to you. (Edit In Place on page 7892) Containers are useful in a wide variety of digital-content-creation contexts. For example, in a game-development pipeline, modelers typically build parts of a level, buildings, and characters in different containers. Another artist might then assemble these containers in a scene and then set up the lighting. Work can begin on scene assembly while the buildings and other components are still in progress, since the updates to the containers are regularly refreshed in the assembled scene. To ensure that objects are exported from their original files with the correct light map on page 9202, all of the containers can be edited in the level scene, and light maps and UVs can be added, then written back to the source buildings with Edit In Place. The original building will now be ready to export. Containers also help you organize large scenes, such as those with cities. You can put each city block in a container, then unload those blocks not being edited, thereby greatly reducing scene loading, saving, and evaluation times. In many cases, scene visibility is organized by groups, with trees, cars and buildings on their own layers on page 9201. You can override object visibility by controlling its visibility in the container with Override Object Properties. In other words, a specific container can show all its contents, even though some of them are defined as hidden in their layer. A container created by others and inherited, or imported, into a scene is referred to as a source container on page 9311. When you inherit a source container, your scene references the container content externally from its 7856 | Chapter 21 Managing Scenes and Projects source file, much like an XRef scene on page 7999. You can open and edit the source container contents if its author has set the rules to allow this access. And if the author changes the source container and then saves it, the contents can update automatically in your scene. When a container is in your scene, it is local. Local containers on page 9204 can exist in an unsaved state in a scene, and are used much like groups and layers to organize objects. And you can save a local container for another artist on your team to inherit simply by closing it. What’s New in Containers This release provides new rules that allow others to access and edit the contents of inherited containers locally while still inheriting your changes. In addition to the legacy rules No Access and Only Edit In Place, the new rules, Only Add New Objects and Anything Unlocked, are set on the Rules rollout on page 7891. The new rules allow you to lock objects or attributes of objects so that others can change anything except your locked content. There are shortcuts to lock categories globally such as materials, modifiers, transforms, or base objects, or you can lock individual attributes manually in Track View. For details about all these and more, see Locking and Unlocking Tracks on page 7897. Also new, the container provides automatic protection against accidentally overwriting content by locking the definition while the container is open. The status of a container (such as Editable or Locked) can now be displayed in the viewports and Explorer to help you keep track of each container's state. The new Containers Preferences panel on page 8953 allows global configuration for container behavior. And the container proxies on page 7894 feature lets you toggle quickly among multiple sets of contents. Last, to learn basic usage, try the new Container tutorial, included with the 3ds Max Tutorials. See also: ■ Containers Preferences on page 8953 Container Workflows This topic describes typical scenarios in which you might use containers. Container Workflows | 7857 Using Containers to Copy and Update Scene Content (Local Referencing) Workflow: Group objects into a container, transform them as a single entity, make copies, update the copies, and branch a container off for separate development. 1 Create a container on page 7878 in a scene. The container displays in an open state. An open container is fully editable. 2 Add scene objects on page ? to the container. The added objects are linked to the container as its children. Two apartment models added to a container 3 Transform the container. Any changes made to the container affect its contents as well. 7858 | Chapter 21 Managing Scenes and Projects Container contents repositioned in a scene 4 On the Manage Container rollout, turn on Auto Update When Closed, and then Close the container on page 7880 and save it as Block_A.maxc. Although the container contents are still visible in the viewports, effectively they are removed from the scene (for example, attempting to select the contents selects the container instead). The scene now references the Block_A.maxc file from its saved location. 5 Make two copies of the container, then reposition each copy where needed in the scene. All containers reference the same Block_A.maxc file. The original Block_A container (far left) and its two copies (middle and right) 6 Open one of the containers, and then try to open a second one. Container Workflows | 7859 A message appears informing you that the container can’t be opened while you’re editing its definition in another container. This helps prevent accidental overwriting of changed containers. 7 Create a new object in the scene, add it to the open container, and click Save. Because the other containers reference the same MAXC file, they update as well. All containers receive the added object 8 Select the open container copy and use Save As on the Local Content rollout to save it under a different name: Block_B.maxc. The Block_B container is now branched off for its own development. Any further changes to it are not applied to the copies. Block_B container (far right) is branched off. It is unaffected by updates to Block_A containers (left and middle). 7860 | Chapter 21 Managing Scenes and Projects Using Containers to Share and Edit Externally-Created Content (In-Place Editing) Workflow: Inherit content from others, pass changes back to the original creator, and branch off from referenced containers for local development. 1 User B goes to the Container Explorer on page 7905, clicks Inherit Container on page 7882, and uses the Inherit Container dialog to open the Block_A.maxc file from the preceding procedure. The container appears in the location in which it was saved from User A’s scene. At this point, user B can work with the container but cannot access its contents. Container from User A (left) is inherited by User B (right) 2 User A makes changes to a building in the container and turns on Auto Update When Closed. Container Workflows | 7861 Changes to User A’s building (left) before closing the container 3 User A closes the container on page 7880. User B turns on Auto Update When Closed and then automatically inherits the latest changes. The container is automatically saved as it closes. Any time the container is saved and Auto Update When Closed is on for the inherited container, User B inherits changes to the content, whether User A closes it or not. 7862 | Chapter 21 Managing Scenes and Projects User B’s container (right) after inheriting changes from User A 4 User A is now ready to make his container editable by others. On the Rules rollout on page 7891, he sets When Inherited, Allow to Only Edit In Place, and then closes the container. A warning icon next to the Update button for user B’s container notifies him that an update is required. Auto Update applies to changed content, but not changed settings for the container itself. 5 User B goes to the Manage Container rollout and clicks Update. The Edit In Place button becomes available, so user B clicks it. NOTE In order for User B to edit the container, User A must have closed it. An Edit In Place container is available to only one user at a time. 6 User B makes her edits and clicks Edit In Place again to exit Edit In Place mode. The container is closed and User A’s source definition is overwritten. The next time the author (or anyone else referen cing the container) loads the container, they will see the changes made by User B. Container Workflows | 7863 User A inherits changes made by User B NOTE When you use Edit In Place, the Container feature provides an automatic locking function to prevent people who are editing the same container from overwriting changes made by each other. 7 User B needs to make a copy of the container and use it for another project. On the Inherited Content rollout, she clicks Merge Source Definition on page 7896. The content is now local and behaves as if it was created from scratch in the current scene, rather than inherited from an external source. The container is now branched off; access is not limited by any rules. 7864 | Chapter 21 Managing Scenes and Projects Copied container (right) branched off and used in a different project Using Containers to Manipulate Content and Set Visibility in a Complex Scene Workflow: Close a container, unload the container to remove its contents from the scene, move the container helper to another area in the scene, and reload the container so its contents display in their new location. 1 Create three containers in a scene, close them, and save each with a unique name. The containers are saved to disk and their contents, while still visible in the viewports, are removed from the scene. Scene performance is improved: It now takes less time to autosave, as well as to save and reload the scene file. Container Workflows | 7865 City scene with three saved local containers 2 Click Unload to remove the selected container’s contents temporarily. City scene with one unloaded container 3 Move the unloaded container helper to a new position, and then click Load. The container contents reappear at their new location. 7866 | Chapter 21 Managing Scenes and Projects Container contents moved down the street This is a fast way to toggle content in and out of a complex or data-heavy scene. Using Containers to Control Content Editability (Manage Merge and Make Unique) Workflow: Create a container and place second container inside it, allow edits to the master container, then inherit the nested container to prevent edits by others. 1 User A creates a container on page 7878 and adds the contents on page ? of a city block to it. Container Workflows | 7867 Container (right) with the objects of one city block added to it 2 User A creates a second container, adds a skyscraper to it, saves the container on page ?, and adds it to the first container. User A now has a parent container, with another container nested inside. Master container (right) with a Skyscraper container (left) nested inside 7868 | Chapter 21 Managing Scenes and Projects 3 User A selects the parent container. Next, on the Rules rollout on page 7891, he chooses Only Edit In Place, and then saves the container. 4 User A wants to protect the Skyscraper container from edits by others, so he selects the Skyscraper container, uses Inherit Content and picks the source definition, and saves the master container again. Now the Skyscraper container is inherited into the master container, and access to its contents is prevented. 5 User B inherits the master container in her scene, then clicks Merge Source Definition on page 7896. This places the container in the same state as it is in the author’s scene: The open container is editable, but the closed nested container is referenced and therefore uneditable. User B (bottom) inherits Containers from User A (top) Container Workflows | 7869 6 User B decides she also needs access to the uneditable container, so she clicks Make All Content Unique on page 7889. The previously uneditable container opens but it no longer references the author’s source container on page 9311. User B can now modify its contents locally for her own scene. User B continues to work locally, building upon the work of User A Using Containers to Control the Display of Objects In a Scene Workflow: Set up container display so you can work on specific containers and hide the rest of the scene contents. Change the display setup without permanently changing the display organization of the scene. 1 For each container in the scene, turn on Display rollout ➤ Expand Bounding Box. This makes it easier to identify which objects belong to which Container. 7870 | Chapter 21 Managing Scenes and Projects Three containers and their bounding boxes, showing the extent of their contents 2 Open the Manage Layers Dialog on page 8537 and use it to set object display properties so that only certain types of objects can be viewed and worked on. Scene with a layer of lamp objects visible 3 Right-click a container and set its Object Properties to By Layer. 4 With the container still selected, turn on Override Object Properties. Far left Container’s display properties override other hidden object layers 5 Turn on Override Object Properties for all containers. Container Workflows | 7871 You can easily override object properties of selected containers from the Container Explorer or the Tools ➤ Containers submenu. 6 Right-click a container, choose Object Properties, then set Display Properties to By Object and See-Through. Left container object display properties set to See-Through, in order to see objects behind it 7 In the Manage Layers Dialog on page 8537, click Render to turn off the renderability of the containers to the left and right, so you can quickly render only the part of the scene. Renderability of left and right containers turned off The renderable content of the scene is determined not by individual object or layer settings, but by container. Parallel Referencing Workflow: User A inherits a container from User B, User B inherits a container from User A, each user clicks Update to keep abreast of the other’s work. They click Allow Edit In Place to their own containers to permit changes by an external user. 1 User A is modeling a group of buildings in one container. User B is working on vehicle animation in a different container. 7872 | Chapter 21 Managing Scenes and Projects User A’s scene (top) and User B’s scene (bottom) 2 Both users inherit on page 7882 one another’s containers. Users A and B can now work in parallel. They are developing their own components of a scene, while at the same time being able to see the progress of their colleague’s work. Container Workflows | 7873 User A (top) and User B (bottom) inherit one another’s scene components 3 User A selects his local container on page 9204 and on the Rules rollout on page 7891, sets when Inherited, Allow to Only Edit In Place, and then saves the container. 4 User B selects the container inherited from User A, and clicks Update. She then adds keys to User A’s container to sync the movement of the animated cars. 7874 | Chapter 21 Managing Scenes and Projects User B adds keys to extend animation into User A’s part of the city. 5 User A clicks Update to see the recent changes made by User B. User A inherits the changes made by User B. Working With Containers This topic provides useful information, tips, best practices, and methods for working with the Container feature. Working With Containers | 7875 Container Definitions A container definition is a MAXC file that stores the content of the container. You can use a definition file in either of two ways: ■ Local DefinitionStores the changes you make to the content. ■ Source DefinitionReferences content into a container in your scene. When you save a container in your scene, you save a Local Definition. If others reference your content, then their Source Definition is the same as your Local Definition. If they make changes to your content, they save those changes to a unique Local Definition of their own. The exception is Edit in Place, which saves changes back to the Source Definition, overwriting it. You can open a definition file to troubleshoot its contents the same way you would a regular MAX scene file: Simply rename the container file's MAXC extension to MAX. Locked Definitions When the same local definition is shared by multiple containers, you can access only one of the containers at a time. When the status is Locked, this means that this container's definition is being accessed elsewhere. This can occur when: ■ The container allows editing in place, but someone is currently editing it. ■ The container has been copied and one of the copies is open. ■ The same 3ds Max scene file is open elsewhere, and the same container is open. As long as a local definition exists, when the container is open or edited, a temporary file is created to identify the status to others who try to access it. This file is deleted when you exit Edit In Place mode or close the container. However, if you exit or reset 3ds Max while editing in place, this lock file might remain, causing the container to be inaccessible subsequently. To restore accessibility, open the folder in which the container file resides and delete the file with the same name as the container file, appended with .lock. For example, if the container file is named dining_room.maxc, the lock file would be named dining_room.maxc.lock. To avoid conflicts, make it a practice to close a container when you are ready for it to be accessible locally by another user. 7876 | Chapter 21 Managing Scenes and Projects Tips and Best Practices ■ DependenciesBecause containers can be inherited by others, who can add them to their own scenes, be sure to package all relevant dependencies for the content in the container. If you do not, the relationships with objects outside of the container will be severed upon Update, Close, or Unload. For example, if a sphere’s motion influences deformation of a cylinder with the Linked XForm modifier, you might place the cylinder and any related objects inside one container, and then place that container and the sphere inside a second container. ■ System UnitsIf you plan to share a container with others, make sure you are all using the same system units. ■ Instanced and Cloned ContainersYou cannot instance on page 9195 containers. You can clone on page 925 containers, and the cloned containers will be closed because the original container has locked the definition on page 7876. To inherit changes made to whichever copy is currently open, turn onAuto Update When Closed on page 7888 If you clone a saved or closed container, you cannot undo the action. ■ Transforming a ContainerA container is the parent of its contents, so, by default, any transforms you apply to the container affect all objects inside it. To transform a container without affecting its contents, select an open container and, on the Hierarchy panel ➤ Adjust Transform rollout, turn on Dont Affect Children. This setting applies only when the Hierarchy panel is active. ■ HierarchyYou can create parent/child relationships among objects inside a container, but all content is a descendant of the container. The following rules apply to working with object hierarchies within containers: ■ Removing ObjectsWhen you remove an object from a container, its children are also removed and it is no longer linked to its original parent. ■ Unlinking ContentUnlinking an object from its parent in the container removes it and its children. Similarly, if you link content to a parent outside the container, the object and its children are removed. Unlinking content from the container also removes it. ■ Linking to ContentIf you link an object to a parent that is in a container, you are prompted to add it. If you click No, the relationship to the parent will be severed upon Update, Close, or Unload. Working With Containers | 7877 Similarly, if you link an object outside a container as parent of an object inside a container, the latter is removed from the container without prompting. However, if you link an object outside a container as a child of an object inside a container, you’re prompted to add the former to the container. ■ XRefsYou cannot add XRef on page 9356 objects or objects with XRef materials or controllers in a container. Instead, you can inherit a container that contains objects that you might otherwise use as XRefs, and add that to another container. ■ Rigs in ContainersBefore placing an animated rig in a container, make sure no objects in the rig are hidden or frozen and that the container is centered at the origin (X=0, Y=0, Z=0). When adding rigs to a container, be sure to include all dependencies as well. NOTE Biped and CAT systems are always local when inherited. This means they update only in closed containers, and do not support unlocking specific attributes. ■ External PathsInheriting a container works much like merging on page 8101 assets into the scene. For instance, if the content uses a bitmap, the map will not be found if the path has changed, or the new path is not defined in External Files on page 8877. In such cases, you can use the Missing Map Files dialog on page 8141 that opens to locate the files. Procedures To create a container: 1 On the Create panel, click (Helpers). 2 On the Object Type rollout, click Container. 3 Click and drag in a viewport to create the container helper object. 4 Right-click to end the object creation. When first created, the container is open, and thus is editable. 7878 | Chapter 21 Managing Scenes and Projects To create a container from selected objects: After selecting objects to place in a container, do one of the following: ■ From the Tools menu, choose Containers ➤ Create Container From Selection. ■ Open Container Explorer on page 7905, Scene Explorer on page 8469 with Customize ➤ Toolbars ➤ Container on, or Container Toolbar on page 7906, and on the toolbar click (Create Container From Selection). A container is added to the scene with the selected objects placed inside. To add objects to a container: Do one of the following: ■ In a viewport, select an open container to add objects to, then on the Modify panel ➤ Local Content rollout, click Add. Use the Add Container Node dialog that opens to highlight the objects to add, and click Add. ■ In a viewport, select the objects you want to add to the container, then from the Tools menu, choose Containers ➤ Local Content ➤ Add Selected To Container. Use the Select Container To Add To dialog that opens to select an open container to add the objects to. ■ Open a Container Explorer on page 7905, Scene Explorer on page 8469, or Container Toolbar on page 7906, select the objects to add, and on the toolbar, click (Add Selected To Container). Use the Select Container To Add To dialog to highlight the container, and click Add. The added objects remain visible in the viewports, but when the container is closed they are removed from the scene and referenced from the container’s MAXC file. To remove objects from a container: Do one of the following: ■ Select an open container from which to remove objects. (You cannot select objects in closed containers.) On the Modify panel ➤ Local Content rollout, click Remove. Highlight objects to remove in the Remove Container Node dialog list and then click Remove. Working With Containers | 7879 ■ Select the objects to remove, then from the Tools menu, choose Containers ➤ Local Content ➤ Remove Selected From Container. ■ Open a Container Explorer on page 7905 or Scene Explorer on page 8469, highlight the objects to remove, and on the toolbar click Selected From Container). (Remove The objects are removed from the container and added to the scene. To identify which container an object belongs to: 1 Select the object in a scene whose container you want to identify. 2 From the Tools menu, choose Containers ➤ Select Contents Container. The object’s container is selected in the scene. NOTE In the case of nested containers, the object’s immediate parent container is selected. To close and save a container: 1 Do one of the following: ■ Select the container to close and then on the Modify panel ➤ Manage Container rollout, click Close. ■ Select the container to close and then from the Tools menu, choose Containers ➤ Close Container. ■ Open a Container Explorer on page 7905, Scene Explorer on page 8469, or Container Toolbar on page 7906, highlight the container to close, and on the toolbar click (Close Container). 2 If this is the first time you are closing the container, you’re prompted to save it first. Use the Container Definition File dialog to specify the location and file name, then click Save. The Container helper changes from an open to closed state. After you close the container, it can be edited by someone else. Objects in closed containers are removed from the scene but remain visible. They are now referenced by the scene from the saved container’s 7880 | Chapter 21 Managing Scenes and Projects file. Closing containers can be an effective way to improve scene performance. To save a container: Do one of the following: ■ Select the container to save, then on the Modify panel ➤ Local Content rollout, click Save or Save As. ■ Select the container to save, then choose Tools menu ➤ Containers ➤ Local Content ➤ Save Container. ■ Open a Container Explorer on page 7905, Scene Explorer on page 8469, or Container Toolbar on page 7906, select the container to save, and on the toolbar click (Save Container). If this is the first time you are saving the container, a file dialog prompts you for the name and location of the MAXC file to save. To reload a container: Do one of the following: ■ In a viewport, select an open container to reload, then on the Modify panel ➤ Local Content rollout, click Reload. ■ In a viewport, select an open container to reload, then on the Tools menu, choose Containers ➤ Local Content ➤ Reload Container. ■ Open a Container Explorer on page 7905, Scene Explorer on page 8469, or Container Toolbar on page 7906, select an open container to reload, and on the toolbar click ■ (Reload). This refreshes the open container to its most recently saved version. You can use this feature to abandon changes to your container without saving them, or to refresh copies of containers. Working With Containers | 7881 To update a container: Only containers with inherited content can be updated. To update an inherited container, do one of the following: ■ ■ In a viewport, select the container to update, then on the Modify panel ➤ Local Content rollout, click Update. ■ In a viewport, select the container to update, then from the Tools menu, choose Containers ➤ Update. ■ Open a Container Explorer on page 7905, Scene Explorer on page 8469, or Container Toolbar on page 7906, select the container to update, and on the toolbar click (Update). This updates the container to its most recently saved version. To inherit a container: This procedure shows how to bring a container into a scene as a new entity. Alternatively, you can inherit a container into an existing container; see the following procedure. 1 Do one of the following: ■ From the Tools menu, choose Containers ➤ Inherit Container. ■ Open a Container Explorer on page 7905, Scene Explorer on page 8469, or Container Toolbar on page 7906, and click (Inherit Container). 2 On the Inherit Container dialog, navigate to the MAXC file of the container to inherit in your scene. 3 Click Open. If the author of the container has provided edit permission on page 7883 and you click Edit In Place, you can edit its contents on page ?. To inherit the contents of a saved container into an existing container: 1 In a viewport, select the container to receive the inherited contents, then on the Modify panel ➤ Manage Container rollout, click Inherit Content. 7882 | Chapter 21 Managing Scenes and Projects 2 Use the Inherit Content dialog to navigate to the MAXC file of the container whose objects and display properties you want to inherit. 3 Click Open. Any contents in the current container are deleted and replaced with the contents of the container you chose to inherit. If the author of the container has provided permission and you click Edit In Place, you can edit its contents on page ?. To edit an inherited container: You can edit an inherited container only if the author has provided edit permission on page 7883. If edit permission has been granted, do one of the following: ■ Select the container to edit, then on the Modify panel ➤ Manage Container rollout, click Edit In Place. Make your changes, then click Edit In Place again to save your work and close the container. ■ Select the container to edit, then from the Tools menu, choose Containers ➤ Edit Container. Make your changes, then choose Edit Container again to save your work and close the container. ■ Open a Container Explorer on page 7905, Scene Explorer on page 8469, or Container Toolbar on page 7906, highlight the container to edit, and on the toolbar click (Edit Container). Make your changes, then click (Edit Container) again to save your work and close the container. Anyone who subsequently references the container will inherit the changes. To allow edits to a container: 1 Select an open container. 2 On the Modify panel ➤ Rules rollout, choose Only Edit In Place, Only Add New Objects, or Anything Unlocked (and set attributes to lock), then save the container. For explanations of these options, see Rules rollout on page 7891. 3 Close the container. Working With Containers | 7883 The container file can now be edited by someone else. Anyone who subsequently references the container will inherit the changes. To change inherited content to local content: Inherited content is referenced into the scene from the container file, so that changing that content also changes the file. You can de-reference the content, thus making it unique, by following this procedure. Do one of the following: ■ Select the closed container in your scene whose referenced contents you want to make unique, then on the Modify panel ➤ Manage Container rollout, click Make All Content Unique. ■ In a viewport, select the closed container in your scene whose referenced contents you want to make unique, then from the Tools menu, choose Containers ➤ Make All Content Unique. ■ Open a Container Explorer on page 7905, Scene Explorer on page 8469, or Container Toolbar on page 7906, select the closed container in your scene whose referenced contents you want to make unique, and on the toolbar click (Make All Content Unique). The container status changes from Closed to Open and all its contents are loaded into the scene. The contents are no longer referenced from the MAXC file; any changes you now make to the container contents are done locally. To merge a container into your scene: Select a closed container that is inheriting contents from an externally referenced source container on page 9311 and do one of the following: ■ On the Modify panel ➤ Inherited Content rollout, click Merge Source Definition. ■ On the Tools menu, choose Containers ➤ Inherited Content ➤ Merge Container Source. ■ Open a Container Explorer on page 7905, Scene Explorer on page 8469, or Container Toolbar on page 7906 and on the toolbar click Container Source). 7884 | Chapter 21 Managing Scenes and Projects (Merge The container is loaded with the most recent version of the source container and changes from closed to open. The container is now local and any changes you make to the container no longer affect the source. To override content display settings: Select the container whose object display properties you want to override and do one of the following: ■ On the Modify panel ➤ Display rollout, click Override Obj Properties. ■ From the Tools menu, choose Containers ➤ Override Object Properties. ■ Open a Container Explorer on page 7905, Scene Explorer on page 8469, or Container Toolbar on page 7906 and on the toolbar click (Override Object Properties). The individual display properties of all objects in the selected container, including display color, show/hide, and renderability, are overridden and replaced by the display properties set for the container. To delete a container: 1 In a viewport or Explorer, select the container to delete. 2 Press Delete or choose Edit menu ➤ Delete. When you delete a container, its content is deleted as well. Container Commands The 3ds Max interface provides container commands from the Application menu, Command panel, Tools menu, floating toolbars, and Explorers. Menu and toolbar commands are useful when working with more than one container. Commands for a single, selected container are activated from the Modify panel. This topic summarizes each container command group in the interface. Application menu ■ Application menu ➤ References ➤ Inherit Container Container Commands | 7885 Inserts a Source Container on page 9311 into your scene. The scene references the content from its source file. Command panel ■ Select a container. ➤ Modify panel Rollouts provide controls for working with a selected container. For command descriptions, refer to Interface on page 7887. Container toolbar ■ Right-click main toolbar. ➤ Containers Right-clicking an empty region of the main toolbar and choosing Containers opens the Containers toolbar on page 7906 with a number of commands for working with containers. Menu bar ■ Tools menu ➤ Containers The Containers submenu on page 8593 provides commands that let you inherit containers and edit selected containers in your scene. Container Explorer ■ Tools menu ➤ Open Container Explorer / Open Explorer: Container Explorer Container Explorer on page 7905 is a customized version of Scene Explorer on page 8469. It features a Container toolbar on page 7906 that lets you inherit containers and edit containers in your scene. Right-clicking in the table view opens a context menu with the Containers submenu. If Container Explorer does not display in the Tools menu, do the following: 1 From the Tools menu, choose Manage Scene Explorer. 2 On the Manage Scene Explorer dialog, click Load. 3 On the Load Scene Explorer dialog, highlight the DefaultContainerExplorer.ini file and click Open. The Container Explorer now displays on the Tools menu. 7886 | Chapter 21 Managing Scenes and Projects Scene Explorer ■ Any new or saved Scene Explorer. Right-clicking in the table view opens a menu with a Containers submenu. To display a Container Toolbar on page 7906 in a regular Scene Explorer on page 8469, go to the Scene Explorer menu bar and choose Customize ➤ Toolbars ➤ Container. Containers Preferences ■ Customize menu ➤ Preferences ➤ Containers panel on page 8953 This panel sets container preferences; in particular, you can use the Status and Update settings to improve performance. Interface This section describes the container commands available on the Modify panel. Many of these commands are duplicated in the Scene Explorer on page 8469 and Container Explorer on page 7905 toolbars and submenus, as well as the Tools menu ➤ Containers submenu. Manage Container rollout The Manage Container rollout lets you open, close, inherit, save, and update containers in your scene. It also lets you convert a source container on page 9311 to a unique container on page 9338. Inherit Content Loads the contents of a MAXC container file, including all its properties, into the selected container. Any existing content in the inheriting container is deleted. Container Commands | 7887 NOTE This function loads the contents of a container file at the location of an existing container. To open a source container at the location from which it was originally saved, use the Inherit Container on page 7906 command instead. TIP When you inherit a container set to the rule on page 7891 Only Add New Objects or Anything Unlocked, the container enters the scene in an open state. Standard workflow is then to save the container under a different, unique name, thus creating a new local definition for the container. When such a container is open, its local definition is locked, preventing other users from modifying it. Unload/Load Toggles the loaded state of the container. Displays as Unload when a container is loaded and Load when a Container is unloaded. When unloaded, the container is closed and its contents do not appear in the scene. Click Unload to save the Container and remove its contents from the scene. Click Load to load the latest saved version of the Container into the scene and display its contents. The closed/open state before unloading is restored. Close/Open Toggles the closed/open state of the container. Displays as Close when the container is open and vice-versa. Click Close to save the container and prevent any edits or additions to its contents. (The container itself can still be selected, transformed, copied, and so on.) When you close a container, its contents are saved to a MAXC file and are referenced by the scene, and it can be inherited into any scene as a source container on page 9311. Closing a container can improve scene performance. Click Open to edit container content. This option is not available for an inherited container if the Rules rollout was set to No Access on page 7892 when the container was saved. NOTE When a container is closed, clicking an object within the container selects the container. Auto Update When Closed Automatically updates the container, when closed, each time its source file changes. This option eliminates the need to click Update to view an up-to-date version of the container. Update Empties the selected container and reloads its contents from the source file into the scene. It does not Update content that is inherited by the source (in other words, Update does not update changes made to the source of the source). After updating, any changes made to the source container since the 7888 | Chapter 21 Managing Scenes and Projects previous update, including changes to edit permissions, are present in the updated container. If the inherited container has a local definition (that is, it was inherited with the rule Only Add New Objects or Anything Unlocked and then saved), updating it keeps any changes you’ve made to the local definition that are not part of the source definition, such as added objects. NOTE When custom attributes on page 243 are defined on source content, these definitions are inherited. You can unlock and edit these custom attributes in an inherited container, but any locally added attributes to the same definition will be lost after updating. The Update command does not apply to unique containers on page 9338. When an inherited container is selected, an icon next to the Upate button shows the source container status: ■ ■ The inherited container is up to date; no update is needed. The source container file is newer than the inherited container; an update is needed. Click Update to get the latest version of the container. Make All Content Unique Converts all inherited content, regardless of the source, to be local content. Unique containers on page 9338 can be edited and no longer reference a MAXC file. Edit In Place Click to edit the contents of a container originating from another user and saved with Rules on page 7891 set to Only Edit In Place. To save your changes and and close the container, click Edit In Place again. Anyone else who then inherits the container will inherit your edits. Editing an inherited container uses a temporary lock file. For details, see Locked Definitions on page 7876. NOTE Because Edit in Place overwrites the source when exiting, additional steps are necessary if you are inheriting the source from a previous version of 3ds Max and intend to save it back to that version after editing. Edit in Place always saves to the current version, which supports all new features. To revert to a definition format supported in previous releases, use Save As on page 7891 with Save As Type set to 3ds Max 2010 Container Definition and then copy it manually over the original source. Container Commands | 7889 Local Content rollout The Local Content rollout lets you edit, refresh, and save containers opened and saved locally on your workstation. This rollout is hidden if the container is closed or unloaded. Add Opens the Add Container Node dialog, which lets you choose objects in the scene to add to the container. To highlight list contents, use the mouse button, optionally in conjunction with Shift or Ctrl. Added contents remain visible in the viewports but are removed from the scene and added to the container’s MAXC source file when the container is closed or unloaded. If the container is deleted from the scene, all objects within it are deleted from the scene as well. If you add an object that already belongs to a different container, you’re given the option to move the object from its current container to the new one, or cancel by clicking No. NOTE The following object types are not eligible for adding to a container: ■ XRef objects on page 7971 ■ Objects attached to the scene via file linking on page 8050 You can add an object to which an XRef Scene on page 7999 is bound, but the binding is lost when you close the container. Last, it is highly recommended that you not combine grouping actions on page 7909 with containers. That is, do not group a container with other objects, and do not add grouped objects to a container. Remove Opens the Remove Container Node dialog, which lets you choose objects to remove from the container. Objects removed from the container are added to the scene. 7890 | Chapter 21 Managing Scenes and Projects Saved Local Definition: Displays the file name of the most recent locally saved version of the container. Save Saves the local definition, which includes all local changes to the container, and references the source of inherited content. When Editing in Place, this local definition replaces the source of the container when editing is completed. Save As Saves the selected container as a new MAXC file. Two choices are available from the “Save as type” drop down list: ■ 3ds Max Container Definition (*.maxc)Saves in the Autodesk 3ds Max 2011 format. ■ 3ds Max 2010 Container Definition (*.maxc)Saves in the 3ds Max 2010 format for compatibility. To specify how to convert the unsupported rules Only Add New Objects and Anything Unlocked, use the Preferences ➤ Containers panel ➤ Save to Previous on page 8954 setting. Reload Restores an open container to its most recently saved version. Use Reload to refresh local copies of containers that share definitions, or abandon recent changes. Rules rollout The Rules rollout lets the author of the container specify the access level for those who inherit the container. The rules do not apply to local content. Container Commands | 7891 When Inherited, Allow Choose whether and how users who inherit the container have access to its contents: ■ No Access (closed)The inheritor cannot open the container. Use this when another user needs to add the contained content to their scene, but doesn’t need to edit the contents. ■ Only Edit In PlaceThe inheritor can edit the container contents by clicking Edit In Place on page 7889. While Edit In Place is in effect, the container is locked and cannot be edited by anyone else. When you finish editing the container by clicking Edit In Place a second time, the edits are saved, replacing the original source definition, and the container becomes available for others to edit. When you edit a container in place, you have the same level of control over the container as its originator. You can change the rule, lock and unlock tracks, add and delete contents, and so on. Use this option when passing content around various members of a development team to prevent accidental overwriting of other members’ work. ■ Only Add New ObjectsThe inheritor can add objects to the container, but cannot select or edit the existing contents. All contents tracks are locked and cannot be accessed by the inheritor. Use this option when others need to add new content to the container without modifying the inherited content. When you inherit a container with this option set, the container enters the scene in an open state. When you click Close or Save, you’re prompted for a file name. Use a name different from the source container to avoid overwriting it. Doing so creates a local definition of the container, which stores local edits to the container as well as the reference to the source of the inherited content, which still updates. ■ Anything Unlocked:The inheritor can add objects and edit unlocked tracks in the source container. Use the four toggle buttons (see following) to specify global categories of locked and unlocked properties. For finer-grained control, use the Edit feature (also covered following) to lock and unlock attributes at the track level. When you inherit a container with this option set, the container enters the scene in an open state. When you click Close or Save, you’re prompted for a file name. Use a name different from the source container to avoid overwriting it, thus creating a local definition. While any user has this local definition open, the container is locked so that other users cannot overwrite it. 7892 | Chapter 21 Managing Scenes and Projects Subsequent changes to this container, when inherited, are saved in the local version, but not transferred back to the source container. However, changes in the source can still be inherited by updating, with a caveat (see Note, following). NOTE When you update a container inherited with the Anything Unlocked rule, only locked objects and attributes receive changes. When setting rules, lock what you plan to edit yourself. If you change something that is unlocked, that change will not be inherited by others. When you lock objects or attributes locally, you can continue to access them by turning on Override All Locks on page 7904. If you add something new that is unlocked, it will be inherited the first time, but never updated. If you delete something, it will be deleted from the container when others update. Similarly, changes in hierarchical relationships among inherited objects are always updated. The “global” lock toggles described following lock the chosen attributes in the definition file upon save, but not the current scene. You can use any combination of: ■ Lock All Modifiers When on, the inheritor cannot edit modifiers of inherited objects. ■ Lock All MaterialsWhen on, the inheritor cannot edit materials applied to inherited objects. ■ Lock All TransformsWhen on, the inheritor cannot edit transforms such as rotation keys. ■ Lock All ObjectsWhen on, the inheritor cannot edit parameters of base objects, such as a sphere’s radius. Edit Opens Track View, where you can use Lock, Unlock, and related commands to specify which attributes are editable (locked controls are not editable). For details, see Locking and Unlocking Tracks on page 7897. You can also lock and unlock animation layers on page 3496. Container Commands | 7893 Proxies rollout The Proxies feature lets you temporarily substitute a container file on disk for the selected container. For example, a proxy container can use low-resolution versions of the objects in the original container to free up memory and speed rendering while setting up a scene. Use this feature as an alternative to Unload on page 7888 when you need to reduce scene complexity while still being able to see where objects are in the scene. You can specify any number of proxies for a container and then use the Definition File drop-down list to swap the different proxies quickly in and out of the scene to control the overall scene complexity. Or simply choose No Proxy to restore the original container. Proxies Choose either proxy option: ■ No ProxyThe original container appears in the scene. ■ Definition FileEnables substitution of an alternate, proxy container. If you choose Definition File with no proxies defined, a file dialog opens so that you can choose a proxy file. Thereafter the name of the proxy file appears in the text box and the file replaces the original container in the scene. [drop-down list] Choose a proxy container file from the list; the active file appears in the text box when the list is closed. To modify the list contents, use Edit (see following). Edit Opens the Container Alternate Definitions dialog for editing the list of proxy containers. On the dialog, use the Add and Remove buttons to change the contents of the list. 7894 | Chapter 21 Managing Scenes and Projects ■ AddOpens a file dialog so that you can choose a proxy file. Thereafter the name appears on the drop-down list. ■ RemoveDeletes the highlighted item from the list. ■ CloseCloses the dialog. Inherited Content rollout The Inherited Content rollout identifies the path and name of the currently selected source container on page 9311 definition, the file that you inherit the content from, and lets you merge its contents into your scene. This rollout is hidden if the container was created locally. Container Commands | 7895 Source Definition Displays the path and name of the MAXC source file that the selected container is referencing. Merge Source Definition Loads the most recently saved version of the source container on page 9311 as the local definition, but does not open or make available for editing any nested containers within, or merge any content that is defined by the source's source. Display rollout The Container group lets you set the display properties of the Container helper in your viewports. To override some of these settings globally, use Display Status in Viewports on page 8955. Name When on, displays the name of the container in the viewport. Status When on, displays the status on page 8480 of the container in the viewport. 7896 | Chapter 21 Managing Scenes and Projects Expand Bounding Box When on, a bounding box expands to encompass the contents of the selected container. When off, the bounding box encompasses only the selected container helper object gizmo. Icon Sets the size of the currently selected container helper object gizmo. Contents group Override Obj Properties Click to ignore the display settings of individual objects in a container, and instead use the display settings defined for the container helper object. If the container display properties are controlled by layer, only objects in a container which are part of other layers will obey the container layer. Locking and Unlocking Tracks Create a container or select a local container. ➤ Rules rollout ➤ Choose Anything Unlocked. ➤ Click Edit. ➤ Track View Controller window ➤ Highlight and then right-click a track. ➤ Choose a command from the right-click menu. Using the Anything Unlocked rule on page 7891 with a container you create gives you highly fine-grained control over which scene properties a user who inherits the container can edit. This topic explains the related concepts and commands. The container-related commands available by selecting a highlighted track or tracks in the Track View Controller window are: ■ Lock ■ Unlock ■ Unlock Leaves ■ Hide ■ Conceal ■ Override All Locks Container Commands | 7897 These have different effects depending on the type of track they’re applied to, as described in the Interface section, following. For the purposes of using these commands, there are four types of tracks: ■ NodeAn object in the scene, which is the parent of all tracks for the object itself, such as transforms, as well as of any modifiers, materials, or animation layers applied to it. TIP When you lock a node track with the Selected Objects filter on (the default status), the node no longer appears in the Track View hierarchy list. If this happens and you want to access the node’s tracks, click (Filter Selected Objects Toggle) on the Track Selection toolbar on page 4007 to make all nodes in the scene visible in the list. ■ BranchAny parent track of controllers that could potentially be a leaf itself, based on the controller assigned. For example, the Position branch could have child Position X, Y, and Z leaves, or it could have a Point3 controller of its own, such as Bezier. A good way to recognize a branch track is to highlight and then right-click it and see if Assign Controller is available. ■ ComponentAn attribute of a node under the node that doesn't have a value itself, but serves to hold and organize leaf tracks that do have values. Examples of component tracks include modifiers such as Bend, materials such as Standard, and maps such as Bitmap applied to the object. A component attribute is a special case, since locking it really just hides the user interface, so it displays as Hidden. You can show and hide the UI without unlocking with Expose and Conceal. ■ LeafThe bottom-most tracks in the Track View hierarchy, with specific values in 3ds Max. An example of a leaf track is the Angle setting of the Bend modifier. 7898 | Chapter 21 Managing Scenes and Projects Left: Before locking; Right: After locking and then unlocking the Sphere001 track 1. Node track 2. Branch tracks 3. Component tracks 4. Leaf tracks Interface This section documents the Track View Hierarchy right-click menu commands related to the Container feature: Lock through Override All Locks. The remaining menu commands are covered in Hierarchy Right-Click Menu on page 3861. For explanations of the types of tracks (node, branch, component, leaf) mentioned here, see the introduction of this topic. Container Commands | 7899 Lock Locks highlighted tracks, thus preventing any change in the property or properties the tracks control, or controllers for those tracks. For example, if you lock an object’s X Position track, you can then move it in the YZ plane, but not on the X axis. If a track is locked, the text “(Locked)” appears after its name in the track view hierarchy. Locking a parent track also locks all of its child tracks. For instance, if you lock an object’s Transform\Rotation track, its X/Y/Z Rotation tracks are locked as well (assuming the default Euler XYZ rotation controller), thus preventing the object from being rotated at all. Locking a component, such as a map or a modifier, hides the UI and locks all of its attributes. NOTE If a track is part of an animation layer, toggling its locked status affects all tracks in that particular Layer controller. For details, see Animation Layers (Layer Controller) on page 3496. TIP To toggle the display of locked tracks, use the Filter - Unlocked Attributes Toggle on the Track Selection toolbar (see Track Filters on page 4016). Also, if you turn on Lock Toggle Icons on page 3897 on the Display menu, you can toggle a track’s locked status simply by clicking its lock icon. Unlock Unlocks highlighted locally locked tracks and any branch tracks that contain them. Unlocked attributes will not update in inherited containers. Unlocking a track unlocks any locked branch tracks above it in the hierarchy, all the way to the top of the hierarchy (that is, a node or component). For example, if you lock an object’s Transform (branch) track, and then unlock 7900 | Chapter 21 Managing Scenes and Projects its X Position (leaf) track, this also unlocks the parent Position and Transform tracks. However, it doesn’t lock other leaf tracks at the same level. However, unlocking a track does not unlock any hidden components. If you unlock tracks inside a hidden component, those tracks will be published to an Unlocked Tracks rollout, which replaces the hidden UI. Use this to limit the access that others have to parameters of your objects. Conversely, unlocking the parent in a locked hierarchy does not automatically unlock any locked children. For example, locking an object’s Position track also locks the X/Y/Z Position tracks (assuming the default Position XYZ controller). But if you then unlock the same Position track, its children, the X/Y/Z Position tracks, remain locked. To unlock the dependent attributes of a selected track, use Unlock Leaves (see following). When locked attributes are inherited, they cannot be unlocked. Unlock Leaves Unlocks highlighted tracks and all dependent tracks, with the exceptions noted following: As described preceding, unlocking a track unlocks the branches above it except for component branches. Thus, sometimes Unlock Leaves results in the highlighted attribute becoming unlocked itself when the dependent tracks are unlocked. But Unlock Leaves does not explicitly unlock the selected track. Expose When applied to a hidden component attribute (typically a modifier, material, or map), the settings become available in the user interface (typically the Modify panel or Material Editor). Exposed attributes are identified in Track View with the text “(Exposed)” and are still locked. Expose components to access the UI without unlocking, because unlocked attributes do not update when inherited. Container Commands | 7901 NOTE In the Track View hierarchy, all modifiers applied to an object are children of a Modified Object component track, which acts as a container for the modifiers. To see the UI for unlocked modifiers, the Modified Object attribute must be unlocked. As an example, in the following illustration, the upper part shows the Modified Object section of the hierarchy of an object to which the Bend modifier is applied. The object’s node track was locked and then unlocked, and the modifier’s Angle track was then unlocked. The Modify panel result appears on the right. In the lower part of the illustration, the Modified Object track was unlocked, and then the modifier track was exposed. The Modify panel result, on the right, shows the modifier’s standard Parameters rollout. Because the Angle track is the only one unlocked, it is the only parameter available for adjustment on the rollout. 7902 | Chapter 21 Managing Scenes and Projects Upper: Modified Object track and modifier tracks locked, with Modify panel results on right Lower: Modified Object track unlocked and modifier track exposed, with Modify panel results on right Container Commands | 7903 Conceal When applied to an exposed component, rehides the track and replaces it with the published attributes for any dependent unlocked tracks. A concealed component is the same as a hidden one, but a component must be exposed (and locked) in order to be concealed. Override All Locks Temporarily disables locking of all tracks in the Hierarchy list. When Override All Locks is on, the “(Locked)” or “(Hidden)” text in the Hierarchy list changes to “(Overridden)” and you can change properties in locked tracks (for example, animate rotation) as if they were not locked. But after you turn Override All Locks back off, locked tracks can no longer be manipulated. NOTE Override All Locks applies only to local locks and inherited attributes or objects that were locked by someone else. Left: The X Position track lock was inherited; the Y Position track lock was imposed by the inheritor. Right: Activating Override All Locks overrides the inheritor-imposed lock (Y Position), but not the inherited (X Position) lock. Unlocked Tracks rollout The Unlocked Tracks rollout appears on the Modify panel and Material Editor for an object that has hidden components that contain unlocked tracks with unlocked leaf tracks. This is how you limit what others can access in inherited containers. 7904 | Chapter 21 Managing Scenes and Projects The unlocked leaf tracks appear on the rollout in a list in the order that they appear in Track View. If the full path and name of a parameter is too long to fit on the rollout, as in first two parameters in the preceding illustration, the rollout label contains the concluding characters preceded by an ellipsis (...). To see the full path and name, position the mouse cursor over the label; the full text appears on a tooltip. Container Explorer Menu bar ➤ Tools ➤ Open Explorer: Container Explorer Container Explorer is a modeless dialog for viewing, sorting, and selecting containers and their contents. It provides all the functionality of the Scene Explorer on page 8469, plus additional container-specific commands on the Container toolbar on page 7906. The Container Explorer displays a default set of column headings that provide information on and the means to edit containers and their contents. For descriptions of the column headings, refer to Scene Explorer Columns on page 8476. When working on a scene, you open the Container Explorer with the Tools menu ➤ Open Explorer: Container Explorer (or Open Container Explorer) command. Container Explorer | 7905 Container Toolbar This toolbar is available from the Container Explorer, as well as from the Scene Explorer on page 8469 with the Customize ➤ Toolbars ➤ Container option active. You can also open a standalone version of the toolbar by right-clicking the main toolbar and choosing Containers. This latter version includes the Override Object Properties on page 7908 command, not found on the Explorer versions of the toolbar. Inherit Container Loads a source container on page 9311 stored on disc into the scene. For details, see Inherit Content on page 7887. The main difference between this command and the Inherit Content command is that this adds a container to the scene, whereas Inherit Content affects the selected container. This command is also available from the Application Menu on page 8579 ➤ References submenu. Create Container From Selection Creates a container and places selected objects inside it. Add Selected To Container Opens a pick list that lets you choose a container to which to add selected objects in the scene. If any selected objects already belong to a different container, you’re prompted to confirm each object’s removal from its current container. 7906 | Chapter 21 Managing Scenes and Projects Remove Selected From Container Removes selected objects from their container. Unload Container Saves the container and removes its contents from the scene. Load Container Loads the container definition into the scene and displays its contents. Close Container Saves the container to disk and prevents any further edits or additions to its contents. Open Container Makes the contents available for editing. Available only for local containers on page 9204. Save Container Saves any edits made to an open container. Update Container Reloads the contents of the selected container from its MAXC source file. Reload Container Resets a Local Container on page 9204 to its most recently-saved version. Container Explorer | 7907 Make All Content Unique Takes the Container displayed in the Source Definition box and converts it, and any other Containers nested inside, to a Unique Container on page 9338. Merge Container Source Loads the most recently saved version of the Source Container on page 9311 into the scene, but does not open any nested Containers that may be inside. Edit Container Permits edits of a Container originating from another user (if permission given). Clicking Close or Edit container again will save any changes and close the container. Anyone referencing the container will inherit the edits. Override Object Properties Ignores the display settings of individual objects in a container, and uses the display settings of the container helper object instead. Also available on the Display rollout for a container. If the Container display properties are controlled by layer, only objects in a container that are part of other layers will obey the container layer. NOTE Override Object Properties is available as a button only on the stand-alone Containers toolbar on page 8633. In Container/Scene Explorer, this feature is present as a column named Container Override on page 8480, which lets you see and change the Override status individually for each container. Override All Locks Temporarily disables locking of all tracks in the Track View Hierarchy list on page 3853 for local containers only. If you inherit a container with locked tracks, you cannot override the locks. When Override All Locks is on, the “(Locked)” text in the Hierarchy list changes to “(Overridden)” and you can change properties in locked tracks (for example, animate rotation) as if they were not locked. But after you turn Override All Locks back off, locked tracks can no longer be manipulated. 7908 | Chapter 21 Managing Scenes and Projects NOTE Override All Locks is available as a button only on the stand-alone Containers toolbar on page 8633. Alternatively, this feature is available on the Track View ➤ Hierarchy right-click menu on page 3861. Groups and Assemblies You use groups and assemblies in 3ds Max to combine arbitrary sets of scene entities into a single, non-hierarchical object that you can then manipulate as one. Grouping works best when you don’t need to manipulate components of the group; assemblies are best for articulated models such as light fixtures; character assemblies are specifically for modeling bipedal characters. See also: ■ Container on page 7855 Using Groups Grouping lets you combine two or more objects into a single grouped object. The grouped object is given a name, and then treated much like any other object. Groups and Assemblies | 7909 Object on the right is a group and treated as a single entity. Group names are similar to object names, except that they’re carried by the group object. In lists like the one in the Selection Floater on page 187, group names appear in square brackets. For example: [Group01]. In Scene Explorer on page 8469 and related dialogs, the square brackets enclose the group object icon instead. The commands to manage groups are on the default Group menu on page 8595. General Features of Groups Once you group objects, you can treat them as a single object in your scene. You can click any object in the group to select the group object. When you create a group, all of its member objects are rigidly linked to an invisible dummy object. The group object uses the pivot point and the local transform coordinate system of this dummy object. Groups can be nested. That is, groups can contain other groups, up to any level. 7910 | Chapter 21 Managing Scenes and Projects Transforming and Modifying a Group You can transform and modify a group as if it were a single object, and you can animate the transforms and the modifiers. When you apply a modifier to the group, this applies an instance of the modifier to each object in the group. A grouped object retains its modifier instance, even if you later remove it from the group. When you apply a transform to the group, on the other hand, this applies only to the group as a whole. More precisely, 3ds Max applies transforms to the dummy object that represents the group. You can transform and animate individual objects within a group independently from the group itself. However, when you transform the group itself, the transform affects all grouped objects equally. The group transform is uniformly added to objects that have independent motions. An analogy is a cage of birds, each flying around on its own, while the cage itself is being moved. In the case of groups, the "cage" (the dummy object) expands to surround all objects in the group, wherever the objects’ independent transforms take them. Accessing Objects in a Group You can open and close groups to access the individual objects contained in them without dissolving the group. These commands maintain the integrity of the group. ■ Open on page 7926: Temporarily opens the group so that you can access its member objects. While a group is open, you can treat the objects (or nested groups) as individuals. You can transform them, apply modifiers, and access their modifier stacks. ■ Close on page 7926: Restores the group when you’re finished working with the individual objects. Dissolving Groups You can permanently dissolve groups by either ungrouping or exploding them. Both commands dissolve groups, but to different levels. ■ Ungroup on page 7927: Goes one level deep in the group hierarchy. It separates the current group into its component objects (or groups), and deletes the group dummy object. ■ Explode on page 7928: Similar to Ungroup, but dissolves all nested groups as well, leaving independent objects. Using Groups | 7911 When you Ungroup or Explode a group, the objects within the group lose all group transforms not on the current frame. However, objects retain any individual animation. To transform or modify the objects within a group, you must first remove them from the group, either temporarily or permanently. The Open command lets you do this. Comparing Groups with Other Selection Methods Compared to the other methods you can use to combine objects in 3ds Max, grouping is more permanent than making a transient selection, but less permanent than attaching objects. ■ The current selection: The current selection of one or more objects is a temporary selection to which you can apply commands. As soon as you select a different object, the current selection is gone. ■ Named selection sets on page 163: Let you reselect the same pattern of objects, but the positional relationship between those objects (their transforms) might be different each time you recall the named set. ■ Grouped objects: Maintain their positional relationships unless you open the group and rearrange them. A group also keeps its identity as an individual object. Each object in a group retains its modifier stack, including its base parameters. At any time, you can open the group to edit an object, and then close the group to restore the group identity. ■ Attached objects (see Editable Mesh (Object) on page 2198): Attached objects form a single object. The modifier stacks of the original objects are lost, including their base parameters. You can regain the form of the original objects by detaching them, but they become plain meshes. ■ Assemblies on page 7912 are useful for creating combinations of geometry and light objects that act as lighting fixtures. Using Assemblies Assemblies are useful for creating combinations of geometry and light objects that act as lighting fixtures; you use them to represent the housing of a lamp and its light source or sources. You can use assemblies to represent lighting fixtures such as simple desk lamps, lighting strips, track systems, wall sconces with fluorescent or incandescent lights, chandelier systems, line voltage cable systems, and so on. 7912 | Chapter 21 Managing Scenes and Projects Object on the right is an assembly and is treated as a single entity. When you create light assemblies, first you create your objects and build a hierarchy, then set joint parameters and assign inverse kinematics (IK) on page 3696. As a final step, you assemble the object hierarchy. The lights you use in the assembly have light-multiplier and filter color controls. You wire on page 3645 the Dimmer and Filter Color parameters of the Luminaire helper object to the parameters of the light sources that are members of the light assembly. Using Assemblies | 7913 NOTE In order to wire the Luminaire controls to the light parameters, you must first open on page 7933 the assembly; then, after wiring, you close on page 7934 it. You can use IK to point a luminaire’s beam by simply moving the light’s target object. Assemblies and Groups Assembly functionality is a superset of grouping on page 7909. Like grouping, creating an assembly lets you combine two or more objects and treat them as a single object. The assembled object is given a name, and then treated much like any other object. The main difference with assemblies is that, when you assemble on page 7929 the member objects, you specify a head object on page 7936: a Luminaire helper object on page 7937. The head object acts as a front end for the assembly, and its parameters appear in the Modify panel when the assembly is selected. You can use these parameters to control the light sources in the assembly via parameter wiring on page 3645. You can create other types of head objects with MAXScript; for further information, open the MAXScript Help, available from the Help menu, and look in Creating MAXScript Tools ➤ Scripted Plug-ins ➤ Scripted Helper Plug-ins. Assembly names are similar to object names, except that they’re carried by the assembly. In lists like the one in the Selection Floater on page 187, assembly names appear in square brackets; for example: [Assembly01]. In Scene Explorer on page 8469 and related dialogs, the square brackets enclose the assembly object icon instead. 7914 | Chapter 21 Managing Scenes and Projects TIP After you've created one fixture and assembled the parts, use instancing on page 9195 to copy on page 921 the fixture, and then distribute them in your scene. That way, if you change the attributes for a light source in an assembly, the change will be reflected in all the instanced light sources. For example, in the early design stages, you might use shadow maps, but later you might want to switch to advanced ray-trace shadows for greater accuracy in rendering. Using instancing makes it easier to change such settings globally. General Features of Assemblies Once you assemble objects, you can treat them as a single object in your scene. You can click any object in the assembly to select the entire assembly. When you create an assembly, all of its member objects are rigidly linked to an invisible Luminaire helper object. The assembly uses the pivot point and the local transform coordinate system of this helper object. You can nest assemblies. That is, assemblies can contain other assemblies (or groups), up to any level. The head object parameters appear in the Modify panel when the assembly is selected. You can use the 3ds Max Wire Parameters on page 3645 functionality to connect these parameters to those of light objects in the assembly. For a step-by-step procedure, see To wire a head object to a light source on page 7931. Luminaire types Left: Fixed Middle: Orientable Right: Multiple lights Using Assemblies | 7915 Transforming and Modifying an Assembly You can transform or modify an assembly as if it were a single object, and you can animate the transforms. Unlike a group, when you apply a modifier to the assembly, only the luminaire receives the modifier. Thus, deforming modifiers such as Bend don't have any effect on assemblies. When you apply a transform to the assembly, it applies to the assembly as a whole. More precisely, 3ds Max applies transforms to the dummy object that represents the assembly. To modify member objects, you must first open the assembly, select the objects, and then apply modifiers. Such modifiers do not appear in the modifier stack when the assembly is closed. You can transform and animate individual objects within an assembly independently from the assembly itself. However, when you transform the assembly itself, the transform affects all assembled objects equally. The assembly transform is uniformly added to objects that have independent motions. An analogy is a cage of birds, each flying around on its own, while the cage itself is being moved. In the case of assemblies, the "cage" (the dummy object) expands to surround all objects in the assembly, wherever the objects’ independent transforms take them. Accessing Objects in an Assembly You can open and close assemblies to access the individual objects contained in them without dissolving the assembly. These commands maintain the integrity of the assembly. ■ Open on page 7933: Temporarily opens the assembly so that you can access its member objects. While an assembly is open, you can treat the objects (or nested assemblies/groups) as individuals. You can transform them, apply modifiers, and access their modifier stacks. ■ Close on page 7934: Restores the assembly when you’re finished working with the individual objects. Using Make Unique with Assemblies When you clone assemblies using instancing, and then make the clones unique, it's important to consider how this affects parameter wiring. Consider the following typical usage case: 1 Drag an assembly, such as a light fixture, into the scene. 7916 | Chapter 21 Managing Scenes and Projects 2 Clone the assembly several times using the Instance option and position the instances in the scene. 3 To make the scene look more realistic, giving the appearance of randomness to the objects in the scene, make some of the assembly instances unique and adjust their parameters to differ from the rest of the instances. When you clone-instance an assembly, all objects in the assembly, along with all the parameter wires, are instanced. So if you change a wired luminaire parameter, all instanced assemblies are affected. When the modifier stack displays an assembly head that is an instance or reference, the Make Unique on page 8794 button is active. By clicking it, the assembly head object is made unique with respect to its instances and all the assembly members are also made unique. The parameter wiring between the unique assembly head and its members is de-coupled from the other instances of the assembly. Changing the parameters of the unique assembly head object affects only the parameters of its own members, not the members of the other instances of the assembly. When multiple assembly instances are selected, the Make Unique command works the same as when multiple instances of an object are selected. You're asked whether you want to make the selected assemblies unique one with respect to each other. ■ If you answer Yes, 3ds Max makes the assemblies unique one with respect to another and parameter wires are reconnected inside each unique assembly. That is, the parameters of each unique assembly head drives only the parameters of its own members, not that of the members in any other assembly instances. ■ If you answer No, then the selected assemblies are made unique only with respect to the other assembly instances. The parameters of unique assembly heads drive only the parameters of their members, not the members of the other assembly instances. NOTE If you chose to instance the controllers when you instanced the assembly, the Modify panel ➤ Make Unique command does not make the controllers unique. You can make them unique by doing the following: Open Track View, select the Transform track for object whose controller you want to make unique, and click the Make Unique button in the Track View toolbar. Using Assemblies | 7917 Dissolving Assemblies You can permanently dissolve assemblies by either disassembling or exploding them. Both commands dissolve assemblies, but to different levels. ■ Disassemble on page 7934: Goes one level deep in the assembly hierarchy. It separates the current assembly into its component objects (or assemblies/groups), and deletes the assembly head object. ■ Explode on page 7935: Similar to Disassemble, but dissolves all nested assemblies and groups as well, leaving independent objects. When you disassemble or explode an assembly, any transform animation applied to the assembly is lost, and objects remain as they were in the frame at which the dissolution is performed. However, objects retain any individual animation. To transform or modify the objects within an assembly, you must first remove them from the assembly, either temporarily or permanently. The Open command lets you do this. Comparing Assemblies with Other Selection Methods Compared to the other methods you can use to combine objects in 3ds Max, assembling is more permanent than making a transient selection, but less permanent than attaching objects. ■ The current selection: The current selection of one or more objects is a temporary selection to which you can apply commands. As soon as you select a different object, the current selection is gone. ■ Named selection sets on page 204: Let you reselect the same pattern of objects, but the positional relationship between those objects (their transforms) might be different each time you recall the named set. ■ Assembled and grouped on page 7909 objects: Maintain their positional relationships unless you open the assembly and rearrange them. An assembly also keeps its identity as an individual object. Each object in an assembly retains its modifier stack, including its base parameters. At any time, you can open the assembly to edit an object, and then close the assembly to restore the assembly identity. ■ Attached objects (see Editable Mesh (Object) on page 2198): Attached objects form a single object. The modifier stacks of the original objects are lost, including their base parameters. You can regain the form of the original objects by detaching them, but they become plain meshes. 7918 | Chapter 21 Managing Scenes and Projects See also: ■ Lights on page 5672 Procedures To insert and place an existing assembly: 1 Turn on AutoGrid on page 2819. 2 Drag the assembly from a Web page (if it’s an i-drop object on page 8172) or from your local disk and drop it into your scene, placing it on any existing surface. 3 On the main toolbar, click (Use Pivot Point Center) on page 868. 4 Position the assembly as you would any other object to aim it in a specific direction. 5 If necessary, wire on page 7931 the assembly luminaire to its light source or sources. 6 Select the assembly, and then use the Modify panel settings to adjust the intensity of the light with the Dimmer control. To create your own luminaire: 1 Create the geometry of the lighting fixture. 2 Create a light source on page 5672 or on the Create panel, click Lights to add a standard or photometric light to the geometry of the lighting fixture you just made. 3 Select all the objects in the assembly, including geometrical objects and lights. NOTE If using IK, leave the light targets out of the assembly so that you can manipulate them independently. 4 Choose Assembly menu ➤ Assemble. A dialog appears requesting a name for the assembly and that you specify a head object. The only head object type available by default is Luminaire on page 7937. Using Assemblies | 7919 5 Enter a name for the assembly and click OK. 6 Wire on page 7931 the assembly luminaire to its light source or sources. More information on parameter wiring is available at the link in this step. If more than one light source is present inside the assembly, create a chain of wired parameters. Then enter the desired relationship expression in the expression text box. To adjust the pivot location of an assembly: ■ When you adjust the pivot point of a closed group or assembly, the pivot point of all group and assembly members are affected, not only the pivot point of the group or assembly head object. Therefore, we recommend that you open the assembly, adjust the pivot of the head object, and then close the assembly. To use an assembly with radiosity: ■ Right-click the Luminaire, choose Properties, and on the Object Properties dialog on page 221 choose the Radiosity tab. You can exclude and control radiosity parameters of the geometry and lights independently. To adjust the properties of an assembly: 1 After wiring the Dimmer and Filter Color parameters, select the Luminaire, and then go to Modify panel to display the luminaire parameters. 2 Adjust the parameters. The effect is visible in the viewport. Character Assembly A character assembly is a special type of group for objects particular to a character setup: the character mesh, bones, IK chains, helper objects, controllers, and other objects used to animate characters. Once the objects are grouped (assembled), you can perform various functions on the group as a whole, such as saving and loading animation for the entire bone/mesh set. 7920 | Chapter 21 Managing Scenes and Projects The objects that make up a typical character assembly Unlike an ordinary group, there is no need to open a character assembly to work with its individual members. When a character assembly is created, it is designated by a placeholder object called a node, placed near the bottom of the character assembly. Selecting the node gives access to special tools for working with character models and animation. Character Assembly | 7921 Character assembly node A character assembly will not create a character mesh or bone structure for you. The character assembly tool is designed for use on character structures that have already been set up using other tools. Although the character assembly feature was designed for use with character structures, it will work equally well with any type of hierarchy or related set of objects. Adding Character Assembly Commands to the UI By default, the character-assembly commands described here are not part of the 3ds Max user interface. To add them, choose Customize menu ➤ Customize User Interface, click the tab representing the part of the UI to which you'll add the commands (Keyboard, Toolbars, etc.) and then, from the Category drop-down list, choose Characters. Use standard CUI functionality on page 8837 to add the commands. TIP To add a fully populated Character menu to the menu bar, on the Customize User Interface dialog, scroll the Menus list to Character, and then drag the Character item over to the Main Menu Bar list on the right side of the dialog. 7922 | Chapter 21 Managing Scenes and Projects Creating a Character Assembly To create a character assembly, first select the objects that will make up the assembly. Next, you need to add any character-assembly commands you wish to use to the user interface; see Adding Character Assembly Commands to the UI on page 7922. Last, choose the Create Character command. All selected objects become members of the assembly, and the character assembly node is created. Other objects can be manually added to the assembly after it has been created. Once the character assembly has been created, you can work with it in a variety of ways. For information about the Modify panel options available after a character assembly is created, see Create Character on page 7940. Linked Objects in Character Assemblies Any or all members of the character assembly can be linked to a single object outside the assembly, but no more than one. For example, ThighLeft and ThighRight, which are both part of the assembly, can both be linked to Pelvis, which is not part of the assembly. However, if ThighLeft and ThighRight are each linked to different objects outside the assembly, the creation of the assembly will fail, and will show the following error message: Character Assembly | 7923 Parameter Wiring and Animation If you plan to wire parameters between two objects, create the assembly first and then set up the wiring. Be sure to include both objects in the assembly. Because wiring should be done after the assembly is created, you will probably find it easiest to create the character assembly before animating the character. See also: ■ Create Character on page 7940 ■ Destroy Character on page 7944 ■ Lock/Unlock Character on page 7944 ■ Save Character on page 7945 ■ Insert Character on page 7945 ■ Skin Pose Commands on page 7946 ■ Merge Animation on page 4163 Group Commands The commands to manage groups are on the Group menu on page 8595. See also: ■ Using Groups on page 7909 Group Group menu ➤ Group Scene Explorer on page 8469 ➤ Highlight one or more entries. ➤ Right-click a highlighted entry. ➤ Groups ➤ Group The Group command combines a selection set of objects or groups into a single group. Once you group objects, you can treat them as a single object in your scene. You can click any object in the group to select the group object. You can 7924 | Chapter 21 Managing Scenes and Projects transform the group as a single object, and you can apply modifiers as if it were a single object. Groups can contain other groups, up to any level. Group names are similar to object names, except that they’re carried by the group object. In lists like the one in the Selection Floater on page 187, group names appear in square brackets. For example: [Group01]. In Scene Explorer on page 8469 and related dialogs, the square brackets enclose the group object icon instead. A group in Scene Explorer If a group is selected, its name will appear in “bolded” text in the Name And Color rollout. All members of a group inherit the visibility of the parent when a visibility controller is assigned to the parent. Groups are considered whole objects in the Light Exclude/Include dialog, so you can exclude (or include) all objects in a group by selecting the group in the list. If a group is nested within another group, only the "outer" group is available in the list. To exclude only certain objects in a group, open the group before displaying the Exclude/Include dialog. Procedures To define a group: 1 Select two or more objects. 2 Choose Group menu ➤ Group. A dialog appears requesting a name for the group. 3 Enter a name for the group and click OK. To define a nested group: 1 Select two or more groups or any combination of groups and objects. 2 Choose Group ➤ Group. Group Commands | 7925 A dialog appears requesting a name for the group. 3 Enter a name for the new group object and click OK. Open Select one or more groups. ➤ Group menu ➤ Open Scene Explorer on page 8469 ➤ Right-click a group entry. ➤ Groups ➤ Open Group The Open command lets you ungroup a group temporarily, and access objects within a group. You can transform and modify the objects within the group independently from the rest of the group, then restore the original group using the Close command. Procedures To open a group: 1 Select one or more groups. 2 Choose Group ➤ Open. A pink bounding box appears, and the objects in the group are now accessible. To open nested groups: 1 Select the group within the opened group. 2 Choose Group ➤ Open. Close Select the pink dummy object of an opened group. ➤ Group menu ➤ Close Scene Explorer on page 8469 ➤ Right-click a group entry. ➤ Groups ➤ Close Group The Close command regroups an opened group. For nested groups, closing the outermost group object closes all open inner groups. 7926 | Chapter 21 Managing Scenes and Projects When you link an object to a closed group, the object becomes a child of the group parent rather than of any member of the group. The entire group flashes to show that you've linked to the group. Procedures To close all opened groups nested within a main group: 1 Select the pink bounding box representing the main group. 2 Choose Group ➤ Close. To close a nested group: 1 Select any object in the nested group or its dummy. 2 Choose Group ➤ Close. Ungroup Select one or more groups. ➤ Group menu ➤ Ungroup Scene Explorer on page 8469 ➤ Right-click a group entry. ➤ Groups ➤ Ungroup Ungroup separates the current group into its component objects or groups. The Ungroup command ungroups one level, unlike Explode on page 7928, which ungroups all levels of nested groups. When you Ungroup a group, the objects within the group lose all group transforms that were applied on nonzero frames, but they retain any individual animation. All ungrouped entities remain in the current selection set. Procedures To ungroup a group: 1 Select one or more groups. 2 Choose Group ➤ Ungroup. All components of the group remain selected, but are no longer part of the group. The group dummy is deleted. Group Commands | 7927 Explode Select one or more groups. ➤ Group menu ➤ Explode The Explode command ungroups all objects in a group, regardless of the number of nested groups, unlike Ungroup on page 7927, which ungroups one level only. As with the Ungroup command, all exploded entities remain in the current selection set. WARNING Ungroup and Explode remove all transform animations that have been applied to the group as a whole. As with the Ungroup command, all exploded entities remain in the current selection set. Procedures To explode a group: 1 Select one or more groups. 2 Choose Group ➤ Explode. All objects in the groups remain selected but no longer belong to groups. All nested groups are exploded. All group dummies in the selection are deleted. Detach Select a group. ➤ Group menu ➤ Open ➤ Select one or more objects to detach. ➤ Group menu ➤ Detach Scene Explorer on page 8469 ➤ Right-click a member of an open group. ➤ Groups ➤ Exclude From Group The Detach (or, in Scene Explorer, Exclude From Group) command detaches the selected object from its group. This command becomes available when you select a member of an open group. Procedures To detach an object from a group: 1 Open the group. 7928 | Chapter 21 Managing Scenes and Projects 2 Choose Group ➤ Detach. The selected objects are now separate, independent objects, no longer members of the group. Attach Select one or more objects. ➤ Group menu ➤ Attach The Attach command makes the selected object part of an existing group. With an object selected, choose this command, and then click a group in the scene. Procedures To attach an object to a group: 1 Select one or more objects to attach. 2 Choose Group ➤ Attach. 3 Click any member of a closed group. The selected objects become part of the group, which is now selected. NOTE To attach an object to an open group, click the pink bounding box. Assembly Commands The commands to manage assemblies are available from the Group menu ➤ Assembly submenu. See also: ■ Using Assemblies on page 7912 Assemble Select the objects to assemble. ➤ Group menu ➤ Assembly ➤ Assemble Assembly Commands | 7929 The Assemble command combines a selection set of objects, assemblies, and/or groups into a single assembly, and adds a Luminaire helper object on page 7937 as a head object on page 7936. Once you assemble objects, you can treat them as a single object in your scene. You can click any object in the group to select the entire assembly. You can transform the assembly as a single object, and you can apply modifiers as if it were a single object. Assemblies can contain other assemblies and/or groups, up to any level. Assembly names are similar to object names, except that they’re carried by the assembly. In lists like the one in the Selection Floater on page 187, assembly names appear in square brackets; for example: [Assembly01]. In Scene Explorer on page 8469 and related dialogs, the square brackets enclose the assembly object icon instead. Each member of an assembly inherits the visibility of the parent when a visibility controller is assigned to the parent, providing its Object Properties ➤ Rendering Control group ➤ Inherit Visibility check box is turned on, or if its Rendering Control is set to By Layer and Inherit Visibility is turned on for its layer. Assemblies are considered whole objects in the Light Exclude/Include dialog, so you can exclude (or include) all objects in an assembly by selecting the assembly in the list. If an assembly is nested within another assembly, only the "outer" assembly is available in the list. To exclude only certain objects in an assembly, open the assembly before displaying the Exclude/Include dialog. See also: ■ Using Assemblies on page 7912 Procedures To define an assembly: 1 Select two or more objects. 2 Choose Group menu ➤ Assembly ➤ Assemble. The Create Assembly dialog appears. It requests you to specify a name for the assembly and a head object on page 7936. The default head object type is Luminaire on page 7937. 3 Enter a name for the assembly, choose Luminaire on page 7937 from the list, and click OK. 7930 | Chapter 21 Managing Scenes and Projects The selected objects are assembled. The assembly head object position and orientation is determined as follows: ■ If there are multiple immediate children of the assembly head (for example, you're assembling several non-hierarchical objects), the head object is aligned with center of bottom face of the assembly bounding box. ■ If there's only one immediate child of the assembly head, the assembly head pivot point is aligned with that object's pivot point. For example, if you're assembling a single hierarchy, the topmost object in the hierarchy would be the single immediate child of the assembly head. To define a nested assembly: 1 Select two or more assemblies or any combination of assemblies and objects. 2 Choose Group menu ➤ Assembly ➤ Assemble. The Create Assembly dialog appears. It requests a name for the assembly, and a head object. 3 Enter a name for the new assembly object and click OK. To wire a head object to a light source: 1 Create a hierarchy of lights and geometrical objects that models a lighting fixture. Sets up all the necessary IK chains and other constraints that make the model behave properly when the user interacts with it (orients, positions, aims, etc.). IMPORTANT For any photometric lights that you want to control with the head object, be sure to turn on the Multiplier check box on the Intensity/Color/Distribution rollout. 2 Select all objects in the fixture and define them as an assembly. When the assembly is selected, the luminaire parameters Dimmer and Filter Color appear in the Modify panel. 3 From the Animation menu, choose Wire Parameters ➤ Parameter Wire Dialog. 4 The Parameter Wiring dialog appears. Assembly Commands | 7931 5 On one side of the dialog, find the assembly and expand the branch titled Object (LuminaireHelper). Click the Dimmer item to highlight it. 6 On the other side, find the assembly and expand its hierarchy branch (click the + symbol in the square box). Find and expand the branch for the light source, and then expand its Object branch. Click the Multiplier item to highlight it. 7 Between the two hierarchy lists, click the Control Direction arrow button that points from the selected Dimmer item to the selected Multiplier item. 8 If you're wiring a photometric light, skip this step. If you're wiring a standard light, or any light whose default Multiplier setting is 1.0, do this: ■ The Expression box below the selected Multiplier item contains the word "Dimmer." Edit this to read "Dimmer/100". This divides the Dimmer value by 100, giving a 1:1 value ratio between it and the Multiplier setting. 9 Click the Connect button. Now, when you change the luminaire's Dimmer setting, the light source intensity changes as well. 10 If you like, use the same method to wire the luminaire to any additional light sources in the light fixture. 7932 | Chapter 21 Managing Scenes and Projects You can also use this method to wire the luminaire's Filter Color parameter to any light sources' color settings. Interface Name Specifies the name of the new assembly. The default name is "Assembly" followed by a two-place number starting with 01 and incremented by one for each new assembly. Choose Head Object Lets you choose the type of object to serve as the assembly head object. Open Assembly Select one or more assemblies. ➤ Group menu ➤ Assembly ➤ Open The Open command lets you temporarily disassemble an assembly and access its head and member objects individually. Assembly Commands | 7933 You can transform and modify the head and member objects within the assembly independently from the rest of the assembly, then restore the original assembly using the Close command on page 7934. Procedures To open nested assemblies: 1 Select an assembly within the opened assembly. 2 Choose Group menu ➤ Assembly ➤ Open. Close Assembly Select the luminaire. ➤ Group menu ➤ Assembly ➤ Close The Close command reassembles an opened assembly. For nested assemblies, closing the outermost assembly object closes all open inner assemblies. When you link an object to a closed assembly, the object becomes a child of the assembly parent rather than of any member of the assembly. The entire assembly flashes to show that you've linked to the assembly. Procedures To close all opened assemblies nested within a main assembly: 1 Select any object in the main assembly or its luminaire head object. NOTE If you select an object within an opened inner assembly, using Close will close only that assembly. 2 Choose Group menu ➤ Assembly ➤ Close. To close a nested assembly: 1 Select any object in the nested assembly or its luminaire. 2 Choose Group menu ➤ Assembly ➤ Close. Disassemble Select one or more assemblies. ➤ Group menu ➤ Assembly ➤ Disassemble 7934 | Chapter 21 Managing Scenes and Projects Disassemble separates the current assembly into its component objects or assemblies. The Disassemble command separates one level, unlike Explode on page 7935, which separates all levels of nested assemblies. When you disassemble an assembly, all components of the assembly remain selected, but are no longer part of the assembly. Any transform animation applied to the assembly is lost, and objects remain as they were in the frame at which the dissolution is performed. However, objects retain any individual animation. All disassembled entities remain in the current selection set. NOTE If you have wired the luminaire head to any other parameters, those parameters are still controlled by the wiring setup after disassembly and are not adjustable until you apply a standard controller, such as Bezier Float. Use Track View to do this. Explode Assembly Select one or more assemblies. ➤ Group menu ➤ Assembly ➤ Explode The Explode command separates all objects in an assembly, regardless of the number of nested assemblies and/or groups, unlike Disassemble on page 7934, which separates one level only. When you explode an assembly, all components of the assembly remain selected, but are no longer part of the assembly. Any transform animation applied to the assembly is lost, and objects remain as they were in the frame at which the dissolution is performed. However, objects retain any individual animation. NOTE If you have wired the luminaire head to any other parameters, those parameters are still controlled by the wiring setup after exploding and are not adjustable until you apply a standard controller, such as Bezier Float. Use Track View to do this. Detach Assembly Select an assembly. ➤ Group menu ➤ Assembly ➤ Open ➤ Select one or more objects to detach. ➤ Assembly ➤ Detach Assembly Commands | 7935 Select one or more objects to detach in an open assembly. ➤ Group menu ➤ Assembly ➤ Detach The Detach command detaches the selected object from its assembly. If the object is a member of a nested assembly, after you detach it, it is no longer a member of any assembly. This command becomes active when you open the assembly by choosing Open on page 7933 from the Assembly menu. Attach Assembly Select one or more objects. ➤ Group menu ➤ Assembly ➤ Attach The Attach command makes the selected object part of an existing assembly. With an object selected, choose this command, and then click either a closed assembly in the scene, or the head object of an open assembly. Procedures To attach an object to an assembly: 1 Select one or more objects to attach. 2 Choose Group menu ➤ Assembly ➤ Attach. 3 Click any member of an assembly. The selected objects become part of the assembly, which is now selected. Assembly Head Helper Objects Assembly head helper objects are for controlling the assembly. Assembly Head Helper Object When you create an assembly on page 7912, 3ds Max automatically adds a special type of helper object called a head object, or assembly head. This object serves as the fulcrum of the assembly and also exposes parameters, available in the Modify panel when the assembly is selected, that you can wire to properties of objects inside the assembly. Thus, you can change and animate parameters of assembly member objects without having to open the assembly, as you would with a group. 7936 | Chapter 21 Managing Scenes and Projects Luminaire Helper Object Create panel ➤ rollout ➤ Luminaire Helpers ➤ Assembly Heads ➤ Object Type The Luminaire helper object serves primarily as a head, or control, object for light fixtures. When you assemble on page 7929 a set of objects into a light fixture, you specify that a new luminaire object should be used as the assembly head object. The luminaire's parameters, available from the Modify panel, let you control the light sources in the fixture. See Using Assemblies on page 7912 for more information. You can also add a Luminaire object separately from the Create panel, but in general it's not necessary. A luminaire object groups and manages the components as a whole. Interface When a selected assembly is closed, the Modify panel displays the Luminaire parameters. However, when you open an assembly, 3ds Max shows you the Assembly Head Helper Objects | 7937 parameters of the whichever object is selected. The Luminaire object provides Dimmer and Filter Color parameters. You wire these to the light objects that are part of the assembly. Luminaire icon in the viewport Luminaire rollout Dimmer Emulates the dimmer switch of a real-world lighting fixture. The setting determines the percentage of the default light intensity is emitted by the light source of a lighting fixture. You wire this parameter to one or more light sources' Multiplier settings. Filter Color An RGB color parameter that you link to a light source's color or filter color. 7938 | Chapter 21 Managing Scenes and Projects The Dimmer option can control the intensity of all the lights in the luminaire Character Assembly Commands A character assembly is a special type of group for objects particular to a character setup: the character mesh, bones, IK chains, helper objects, controllers, and other objects used to animate characters. Once the objects are grouped (assembled), you can perform various functions on the group as a whole, such as saving and loading animation for the entire bone/mesh set. By default, the character-assembly commands listed here are not part of the 3ds Max user interface. To add them, choose Customize menu ➤ Customize User Interface, click the tab representing the part of the UI to which you'll add the commands (Keyboard, Toolbars, etc.) and then, from the Category drop-down list, choose Characters. Use standard CUI functionality on page 8837 to add the commands. TIP To add a fully populated Character menu to the menu bar, on the Customize User Interface dialog, scroll the Menus list to Character, and then drag the Character item over to the Main Menu Bar list on the right side of the dialog. Character Assembly Commands | 7939 See also: ■ Merge Animation on page 4163 Create Character See Adding Character Assembly Commands to the UI on page 7922. This command creates a character assembly on page 7920. See also: ■ Destroy Character on page 7944 ■ Lock/Unlock Character on page 7944 ■ Save Character on page 7945 ■ Merge Animation on page 4163 Procedures To create a character assembly: 1 Create a linked structure of bones or other objects. The structure can have several chains. You can also use the linked structure with the Skin modifier, and/or set up character rigs and controllers as needed. 2 Select all objects that will become members of the assembly. 3 Use this method on page 7922 to add the character-assembly commands to the user interface, and then choose the Create Character command. The character-assembly node is created at the bottom of the entire selection, as viewed in the Front viewport. 7940 | Chapter 21 Managing Scenes and Projects 4 On the Modify panel, use the character assembly tools to work with the character structure. The character assembly is given the default name of Character01, which can be changed. All members of the assembly are listed in the Character Members rollout. Interface To work with the character assembly, select the character assembly node and work with the parameters on the Modify panel. Character Assembly Commands | 7941 Character Assembly rollout Skin Pose group The Skin pose is the bone structure pose used by the Skin modifier for associating bones with the mesh. When the Skin modifier is first applied, the current bone structure pose is used as the Skin pose. The Skin pose can sometimes be accidentally altered by animating the bone structure on frame 0. If this occurs, you can use these options to fix the Skin pose. 7942 | Chapter 21 Managing Scenes and Projects You can use these options both before and after applying the Skin modifier. You can also invoke these options when any member of the character assembly is selected. Set as Skin Pose Sets the Skin pose to the current bone structure's pose. The Skin modifier’s envelopes and vertex weighting are automatically recalculated to work with the new pose. Assume Skin Pose Causes the bone structure to take on the Skin pose. This feature can be useful during the animation phase. For example, if you have animated the character on various keyframes and want the character to animate back to its Skin pose at frame 50, you can turn on Auto Key at frame 50 and click Assume Skin Pose. Skin Pose Mode Poses the character in its Skin pose and allows the Skin pose to be refined. Changes to the bone structure when Skin Pose Mode is on will affect only the Skin pose and not the animation. When Skin Pose Mode is turned off, the bone structure returns to its pose at the current frame. Display group When a high resolution character model is animated, redraw time can slow the animation process. To speed up your work, a low resolution version of the model can be used for the animation process, then switched for the full resolution version at render time. Character assembly objects can be designated as Full Res or Low Res on the Character Members rollout. Low Res Objects Displays only the objects checked in the Low Res display in the Character Members rollout. Full Res Objects Displays only the objects not checked in the Low Res display in the Character Members rollout. All Objects Displays all objects in the character assembly. Animation group Animation for the character assembly can be saved or reset in this group. Previously saved animation from another character can also be inserted to the current character assembly. Insert Animation Displays the Merge Animation dialog on page 4163, and prompts for a previously saved animation file. Save Animation Saves the character assembly animation in an ANM or XML file. Both file types contain the character assembly and its animation. An ANM file is a proprietary format that can be read and saved only by 3ds Max. An Character Assembly Commands | 7943 XML file formats the information as XML code, and can be edited with a text editor. Animation saved as an ANM file loads and saves faster than an XML file. Saving and editing an XML animation file is recommended only for users who are familiar with the XML language, and who have a specific need for editing the file. Reset All Animation Removes all animation from the character assembly. Character Members rollout Add Allows you to select individual objects to add to the character assembly. Add List Displays the Pick Character Members dialog, where you can select multiple objects from a list and add them to the character assembly. Remove Removes highlighted object(s) from the assembly. Bones and objects upon which other assembly objects depend, cannot be removed. Low Res All members of the character assembly are displayed on this list. By default, all members are designated as Full Res objects. To designate a member as Low Res, check the object on the list. The Full Res and Low Res designations are used in conjunction with the Display group selection in the Character Assembly rollout. Destroy Character See Adding Character Assembly Commands to the UI on page 7922. Destroying a character deletes the character assembly node. This command is available only when a character assembly node is selected. See also: ■ Character Assembly on page 7920 ■ Lock/Unlock Character on page 7944 Lock/Unlock Character See Adding Character Assembly Commands to the UI on page 7922. 7944 | Chapter 21 Managing Scenes and Projects Locking a character assembly prevents the character from being animated. Use these commands when you want to prevent accidental animation of the character, such as when the animation process is complete. Unlocking a locked character assembly allows you to animate the character. These commands are available only when a character-assembly node is selected. See also: ■ Character Assembly on page 7920 Insert Character See Adding Character Assembly Commands to the UI on page 7922. Choose this command to insert a previously saved character into the current scene. You save a character assembly as a CHR file with Save Character on page 7945. A CHR file contains the character assembly node, all members of the assembly and any animation on the members. When a character is inserted into the scene, it is placed at the same world-space location it had when saved. See also: ■ Character Assembly on page 7920 ■ Save Character on page 7945 Save Character See Adding Character Assembly Commands to the UI on page 7922. Saving a character saves a character assembly on page 7920 at its current location, including its node, all members, and any animation on its members. Use this command for storing a character assembly to disk prior to inserting it into another scene. Saving a character with this command saves the assembly as a CHR file. You can then insert the CHR file into a scene with Insert Character on page 7945. This option is available only when a character assembly node is selected. Character Assembly Commands | 7945 Skin Pose Commands Animation menu ➤ Set as Skin Pose Animation menu ➤ Assume Skin Pose Animation menu ➤ Skin Pose Mode When the Skin modifier is first applied to a mesh, the bone structure's current pose is used as the skin pose. Subsequent animation of the bone structure on frame 0 can cause the skin pose to be altered. The skin pose commands allow you to change and set the skin pose either before or after you apply the Skin modifier. The skin pose stores a specific position, rotation and scale for an object. Its intended use is for storing a character assembly's pose for the Skin modifier. However, a skin pose can be used for any object to store its current transforms for later retrieval. These commands work on any object, regardless of whether the structure is part of a character assembly, or whether the bones have been assigned to a mesh with the Skin modifier. Set as Skin Pose Stores the selected objects' current position, rotation and scale as the skin pose. If the selected objects are assigned as bones for the Skin modifier, the envelopes and vertex weighting are automatically recalculated to work with the new pose. Assume Skin Pose Causes the selected objects to take on the stored skin pose. This feature can be useful during the animation phase. For example, if you have animated the character on various keyframes and want the character to animate back to its skin pose at frame 50, you can turn on Auto Key at frame 50 and click Assume Skin Pose. Skin Pose Mode Poses the character in its skin pose and allows the skin pose to be refined. Changes to the objects when Skin Pose Mode is on will affect only the skin pose and not the animation. When Skin Pose Mode is turned off, the structure returns to its pose at the current frame. See also: ■ Character Assembly on page 7920 7946 | Chapter 21 Managing Scenes and Projects File-Handling Commands The main file-handling commands are on the Application menu on page 8579. Buttons for some of the most important appear on the Quick Access toolbar on page 8585, as well. These commands are for creating, opening, and saving scenes; importing and exporting other 3D file formats; exiting 3ds Max; and other operations. See also: ■ Asset Browser Utility on page 8143 ■ Geometry File Formats on page 8173 ■ Image File Formats on page 8411 ■ RAM Player on page 8463 New Application menu on page 8579 ➤ New Quick Access toolbar on page 8585 ➤ (New) Keyboard ➤ Ctrl+N New clears the contents of the current scene without changing system settings (viewport configuration, snap settings, Material Editor, background image, and so on). The New command also gives you the option, when you use it while a populated scene is active, to reuse objects from the current scene in the new one. File-Handling Commands | 7947 Procedures To create a new scene: 1 Either click or press Ctrl+N. (New), choose Application menu ➤ New, 2 In the New Scene dialog, specify the types of objects to keep, if any. 3 Click OK. Interface NOTE If you use the Application menu, you can choose one of the new options directly from the New submenu. The New Scene dialog has the following controls: Keep Objects and Hierarchy Keeps the objects and the hierarchical links on page 9183 between them, but removes any animation keys on page 9200. NOTE If the current scene has any file links, 3ds Max performs a Bind operation on all linked files. Keep Objects Keeps the objects in the scene, but removes any links between them and any animation keys. 7948 | Chapter 21 Managing Scenes and Projects WARNING This option should not be used when working with a scene containing linked or imported objects. New All (Default) Clears the contents of the current scene. Reset Application menu on page 8579 ➤ Reset Reset clears all data and resets 3ds Max settings (viewport configuration, snap settings, Material Editor, background image, and so on). Resetting restores the startup defaults, saved in the file maxstart.max, and removes any customization you might have done during the current session. Resetting has the same effect as exiting and restarting 3ds Max. TIP To change the startup defaults, start 3ds Max and make the adjustments you would like to see at startup. Then save the file to your scenes/ directory as maxstart.max. Procedures If you have made changes since the last Save operation, a dialog prompts you whether you want to save your changes. To reset 3ds Max: 1 Choose Application menu ➤ Reset. If you have made any changes since the last Save operation, a dialog prompts you to save them. As further protection against data loss, a confirmation dialog appears. 2 When asked if you really want to reset, click Yes. Clicking No on this dialog cancels the Reset operation. Reset | 7949 Open Application menu on page 8579 ➤ Open Quick Access toolbar on page 8585 ➤ (Open) Keyboard ➤ Ctrl+O Open a scene file (MAX file), character file (CHR file), or VIZ Render file (DRF File on page 8178) from an Open File dialog. You can also choose a previously opened file and use command-line options on page 8575. The MAX file type is a complete scene file. A CHR file is a character file saved with Save Character. For more information on the CHR file format, see Character Assembly on page 7920 and Save Character on page 7945. A DRF file is a scene file from VIZ Render, a rendering tool included with AutoCAD Architecture (formerly Autodesk Architectural Desktop). The DRF file type is similar to MAX files saved using Autodesk VIZ. If the file you're loading was created using plug-ins that are not installed, a dialog lists them. You can still load the file, but any entities in the scene that were created by the missing plug-ins are replaced with stand-ins: non-rendering boxes or placeholder modifiers. You can safely delete these from the scene, unless you are sharing the scene with a user who has the plug-ins installed. If the file you are loading contains bitmaps that cannot be located, a Missing External Files dialog on page 8141 appears. This dialog lets you browse for the missing maps, or continue opening the file without loading them. Automatic Unit Conversion When Respect System Units In Files is turned on in the System Unit Scale group of the System Unit Setup dialog on page 8955, loaded files that have a different scene unit scale display a File Load: Units Mismatch dialog on page 8961. This dialog lets you rescale the loaded scene to the current scene unit scale, 7950 | Chapter 21 Managing Scenes and Projects or change the current scene unit scale to match the one in the loaded file. No conversion is done when loading files created in 3ds Max 1.x. ■ If you choose to match the units in the loaded file, the System Unit Scale setting in the System Unit Setup dialog is changed to the setting in the scene file. This is the recommended choice, and it is the default in 3ds Max. For example, if the current system unit scale is set to 1 unit = 1 inch, and the incoming file was set to 1 unit = 1 foot, a sphere with a radius of 100 feet remains 100 feet. ■ If you rescale the file objects, the objects are scaled as if they had been created using the current scene unit scale. For example, if the current system unit scale is set to 1 unit = 1 inch, and the incoming file was set to 1 unit = 1 foot, a sphere with a radius of 100 feet becomes 1200 inches in radius (assuming the unit display is set to generic units). If Respect System Units In Files is off (which is not recommended), 3ds Max disregards the units chosen in the loaded scene file. For example, a 100-unit radius sphere that was created in a 1 unit = 1 foot scene becomes a 100-inch sphere in a 1 unit = 1 inch scene. Procedures To reopen a previously opened file, do one of the following: ■ Click (Open File) on the Quick Access toolbar on page 8585. ■ On the Application menu ➤ Recent Documents page on page 8582, click the file name. You set the number of files listed here by changing the Recent Files In File Menu on page 8892 field on the Files panel of the Customize ➤ Preferences dialog. ■ Choose Application menu ➤ Open, then use the file dialog to choose the scene file. To start 3ds Max and open a specific file: ■ In a command prompt window, specify the file name after the executable name. For example: Open | 7951 “c:\Program Files\Autodesk\Autodesk 3ds Max 2011\3dsmax.exe” myproject.max To start 3ds Max and open the last file you worked on: ■ In a command prompt window, type -L after the executable name: “c:\Program Files\Autodesk\Autodesk 3ds Max 2011\3dsmax.exe” −l Interface The Open File dialog has standard Windows file open controls. At the right, the Thumbnail area shows a preview of the scene whose file name is highlighted in the list on the left. TIP You can resize the dialog by dragging an edge or a corner. Clicking the plus button appends a sequence number to the file name you entered, or increments the sequence number if the name already has one, and then opens the file of that name, if it is present. For example, if you have highlighted a file named test00.max, clicking the + button changes the name to test01.max and then opens that file. Opening an Obsolete File When opening a scene created in an earlier version of 3ds Max, you will see an Obsolete File dialog. 7952 | Chapter 21 Managing Scenes and Projects If you resave the scene, you will overwrite the file. You can still edit it using 3ds Max, but you will no longer be able to edit it in earlier versions of 3ds Max. Don't display this message When turned on, you will not see the Obsolete File dialog. The dialog is also controlled by the Display Obsolete File Message switch on the Customize menu ➤ Preferences ➤ Files panel. NOTE If you still need to open the scene using an earlier version of 3ds Max, use File ➤ Save As on page 7956 and save the file using a different name. Then you will be able to open the original file with the earlier version. Open from Vault Application menu on page 8579 ➤ Open ➤ Open from Vault 2010 or Open from Vault 2011 The Open From Vault commands let you open a MAX file directly from Autodesk Vault, the data-management provider included with 3ds Max. This allows for secure control and versioning of assets used in the digital-content creation process without the need to use the Vault client. Choose the version of Vault that you used to store the scene. NOTE Open From Vault appears on the Application menu only if you installed the Vault plug-in, an optional part of the 3ds Max software installation. See also: ■ Asset Tracking on page 8114 Open from Vault | 7953 Procedures To use Open From Vault: 1 Open the Application menu and choose Open ➤ Open From Vault 2010 or Open From Vault 2011. Choose the version of Vault that you used to store the scene. 2 If you're not logged in to a Vault provider, you're asked to log in via the Vault Log In dialog on page 8120. Fill out the form and then click OK. 3 Use the Open File From Vault dialog to browse the vault and choose a MAX file to open. 4 At this point, one of two things happens: ■ If the file is available for checkout, a dialog opens letting you know that the file is under version control and asking you if you want to check it out before making edits. Click Yes. ■ If another user has the file checked out, a dialog opens notifying you of this and telling you that you won't be able to save edits. Click OK to open the file in read-only mode. If you attempt to save this file, a dialog appears notifying you that the scene file is read-only and will not be overwritten. 5 If you attempt to open a different file or use the New or Reset command while the file is checked out, a dialog appears asking if you want to check the files back in. Enter a comment, if appropriate, and then click OK to check the file in. Alternatively, if you just want to create a new version on the provider, turn on Keep Checked Out and then click OK. A new version will be created, but the file will still be checked out to you. Interface NOTE If you haven't set a working folder, the following dialog appears when you attempt to open a file from the vault: 7954 | Chapter 21 Managing Scenes and Projects After you click OK, the Browse For Folder dialog opens, which you can use to specify a working folder. Save Application menu on page 8579 ➤ Save Quick Access toolbar on page 8585 ➤ Save button Keyboard ➤ Ctrl+S Save updates the scene file by overwriting the previously saved version of the scene. If no scene was previously saved, this command works like Save As on page 7956. See also: ■ Save As on page 7956 ■ Save Copy As on page 7963 Saving to an Obsolete File When you open a file that was created with an earlier version of 3ds Max, and then attempt to save it, 3ds Max opens a warning that you are about to overwrite the obsolete file. Save | 7955 Choose Yes to go ahead and overwrite the original file, No to stop the Save. If you choose No, you can use Save As on page 7956 to save the file under a different name. If you save to the original file name, you can still edit it using the current version of 3ds Max, but you will no longer be able to edit it in earlier versions of 3ds Max. Interface When you save a scene, you also save the 3ds Max settings. When you open the file again, it opens with the same viewport configuration, view and zoom levels, snap and grid settings, and so on. You can number saved files incrementally and make automatic backup files at specified time intervals. These options, Increment On Save and Backup On Save, are on the Files panel on page 8892 of the Preference Settings dialog. TIP Another useful option on the Files panel is Compress On Save; when on, saved scene files are significantly smaller, which speeds transferring them by email and similar means. Save As Application menu on page 8579 ➤ Save As Save As lets you save the current scene file in MAX or CHR format under a different file name. 7956 | Chapter 21 Managing Scenes and Projects A CHR file is a character file saved with Save Character. For more information on the CHR file format, see Character Assembly on page 7920 and Save Character on page 7945. NOTE 3ds Max lets you number saved files incrementally and make automatic backup files at specified time intervals. The options to set up Increment On Save and Backup On Save are on the Files panel on page 8892 of the Preference Settings dialog. See also: ■ Save on page 7955 ■ Save As Previous on page 7958 ■ Save Copy As on page 7963 ■ Save Selected on page 7965 Procedures To save a file to a different name: 1 Choose Application menu ➤ Save As. 2 Do one of the following: ■ Enter a name in the File Name field. ■ Click (Increment button). To save a file to a previous version: 1 Choose Application menu ➤ Save As. 2 Choose “3ds Max 2010 (.max)” from the Save As Type drop-down list. Save As | 7957 Interface The Save File As dialog has standard Windows file save controls. At the right, the Thumbnail area shows a preview of the scene whose file name is highlighted in the list on the left. TIP You can resize the dialog by dragging an edge or a corner. Clicking the plus button appends a sequence number to the file name you entered, or increments the sequence number if the name already has one, and then saves the file to that name. For example, if you have highlighted a file named test00.max, clicking the plus button changes the name to test01.max and then saves test01.max. Save As Previous You can save a MAX scene to a previous version; in particular, to 3ds Max 2010 format. To do so, use the Save As Type drop-down list. 7958 | Chapter 21 Managing Scenes and Projects 3ds Max 2010 option on Save As Type drop-down list This option applies to the following commands: ■ Save As on page 7956 ■ Save Copy As on page 7963 ■ Save Selected on page 7965 ■ Container ➤ Save As on page 7891 IMPORTANT Save As Previous behaves like Save Copy As on page 7963: It does not change the scene you are actively working on, which remains the scene in Autodesk 3ds Max 2011 format. Save and Save As using the Autodesk 3ds Max 2011 version do not overwrite the previous version of the file, unless you specify the same file name for both scenes. When you open a 3ds Max 2010 file in Autodesk 3ds Max 2011, the scene is automatically converted to Autodesk 3ds Max 2011 format. In this case, using Save will overwrite the original scene. You can see the version under which a scene was saved by choosing Application menu ➤ Properties ➤ File Properties ➤ File Properties dialog ➤ Contents tab. Autodesk 3ds Max 2011 scenes appear as “Saved As Version: 13.00”. 3ds Max 2010 scenes appear as “Saved As Version: 12.00”. Save As Previous | 7959 Certain new features in Autodesk 3ds Max 2011 are not supported in the earlier version, while others are supported in some way. The following list gives some particulars: ■ CAT rigs and animationIf you have CAT installed for 3ds Max 2010, then geometry, animation, and the CAT interface are all preserved. If CAT is not installed for this version, 3ds Max 2010 displays warnings. ■ MetaSL shaders with multiple outputsIf you save a scene that uses unsupported MetaSL shaders, including those with multiple outputs, 3ds Max 2010 displays a message saying the DLLs are missing. ■ ContainersA 3ds Max 2010 scene can inherit a container only if you save the container (the MAXC file) in 2010 format. See Container ➤ Save As on page 7891. ■ Quicksilver Hardware rendererIf you save a scene that uses the Quicksilver Hardware renderer, 3ds Max 2010 displays a message saying the Hardware-renderer DLL is missing. 7960 | Chapter 21 Managing Scenes and Projects ■ File Link to FBXIn the 3ds Max 2010 scene, the FBX geometry is visible only if you first bind the geometry (File Link Manager Dialog ➤ Files panel ➤ Bind button) in Autodesk 3ds Max 2011 before saving the file to 3ds Max 2010 format. Binding the FBX geometry breaks the live File Link connection, which 3ds Max 2010 does not support. ■ OpenEXR filesScenes that output to OpenEXR files are supported in 3ds Max 2010, but the output options are replaced by the default settings for the 2010 version of the OpenEXR plug-in. ■ XRef Scene and XRef ObjectsIf the Autodesk 3ds Max 2011 scene XRefs another Autodesk 3ds Max 2011 scene, or objects within a Autodesk 3ds Max 2011 scene, in 3ds Max 2010, the XRefs to newer-version scenes are reported as missing files. You can fix this by saving the XRefed files to 3ds Max 2010 format as well. ■ Autodesk MaterialsIf a scene contains an Autodesk Material, 3ds Max 2010 displays a message that says the DLLs for that material are missing. Save As Previous | 7961 ■ ACIS SolidsWhen you save a file that contains Body Objects, 3ds Max 2010 displays a message that says the Body Object DLL is missing. 7962 | Chapter 21 Managing Scenes and Projects Save Copy As Application menu on page 8579 ➤ Save As ➤ Save Copy As Save Copy As allows you to save a copy of the current scene under a different file name. It does not change the name of the file being worked on. WARNING Save Copy As does not update the original file name as Save does, and Save does not update the file you last saved using Saved Copy As. For example, if you make edits to a 3ds Max scene named filename.max, then use Save Copy As with the file name filename01.max, make additional edits, and then click Save, your second set of edits will be saved as filename.max but not as filename01.max. See also: ■ Save on page 7955 Save Copy As | 7963 ■ Save As on page 7956 ■ Save As Previous on page 7958 ■ Auto Backup on page 8892 Procedures To save a copy of the file to a different name: 1 Choose Application menu ➤ Save As ➤ Save Copy As. 2 Browse or type the name of the file you want to create or update. 3 Click the Save button. To save a copy of the file to a previous version: 1 Choose Application menu ➤ Save As ➤ Save Copy As. 2 Choose “3ds Max 2010 (.max)” from the Save As Type drop-down list. 7964 | Chapter 21 Managing Scenes and Projects Interface Save Copy As displays a standard Windows save dialog. Save Copy As increments the number at the end of the file name in order to propose unique but similarly-named files each time the command is used. Clicking the Save button saves the file to the name displayed in the File Name text box. TIP You can resize the dialog by dragging an edge or a corner. Clicking the plus button saves the file with a name ending in a number one increment greater than that displayed in the File Name text box. Save Selected Application menu on page 8579 ➤ Save As ➤ Save Selected Save Selected saves the selected geometry as a scene file under a different file name. Identically named bitmaps with different properties are stored as different files. Objects linked to a selected object are also saved. The following dependencies are preserved for a Save Selected operation: ■ Ancestors of selected child objects are saved, all the way to the root of the hierarchy. Save Selected | 7965 ■ Space Warps to which selected objects are bound are saved. ■ IK follow objects to which selected objects are bound are saved. See also: Save As Previous on page 7958 ■ Procedures To save selected objects to a new file: 1 Select one or more objects. Application menu ➤ Save As ➤ Save Selected. 2 Click 3 Enter a name in the File Name field. 4 Click Save. To save selected objects to a previous version: 1 2 Choose Select one or more objects. Application menu ➤ Save As ➤ Save Selected. 3 Choose “3ds Max 2010 (.max)” from the Save As Type drop-down list. 7966 | Chapter 21 Managing Scenes and Projects Archive Application menu on page 8579 ➤ Save As ➤ Archive Archive creates a compressed archive file or a text file listing the scene bitmaps and their path names. 3ds Max automatically finds the files referenced in the scene and creates the archive file in the executables folder. During the archiving process, a log window is displayed. Compressed archive files are created using an external program. You specify the name and location of the archive program on page 8892 you want to use in the Files tab of the Preferences dialog. Procedures To set up an external archive program: 1 Choose Customize ➤ Preferences. 2 Click the Files tab to display the Files panel. 3 In the Archive System group, enter the full path and executable file name, and any command-line option you want for your external archive program in the Program field. To archive a file: 1 Choose Application menu ➤ Save As ➤ Archive. 2 Enter a name for the archive in the File Name field. Include the appropriate file extension (for example .zip). 3 Choose a file type: 3ds Max Archive or List Of Files. ■ To create an archive file, choose 3ds Max Archive in the Save As Type list. The archive file contains the scene plus all bitmaps used for the scene, including Video Post bitmaps. ■ To create a text file, choose “List Of Files (*.txt)” in the Save As Type list. The resulting file is an ASCII list of scene files. Archive | 7967 Import Application menu on page 8579 ➤ Import Import loads or merges geometry files that are not 3ds Max scene files. See the following procedure for a complete list of file types you can import. Procedures To import a file: 1 Choose Application menu ➤ Import. 2 Choose an import file type from the Files Of Type list in the file selector dialog. To see more than one file type at a time, choose the All Files file type. ■ Autodesk (FBX) on page 8235 ■ 3D Studio Mesh (3DS, PRJ) on page 8183 ■ Adobe Illustrator (AI) on page 8190 ■ Autodesk Collada (DAE) on page 8235 ■ LandXML /DEM /DDF (DEM, XML, DDF) on page 8283 ■ AutoCAD Drawing (DWG) on page 8194 ■ Legacy AutoCAD (DWG) on page 8214 ■ Flight Studio OpenFlight (FLT) on page 8236 ■ Motion Analysis HTR File (HTR) on page 8292 ■ IGES (IGE, IGS, IGES) on page 8260 ■ Autodesk Inventor (IPT, IAM) on page 8224 ■ Lightscape Files (LP, LS, and Other Formats) on page 8286 ■ gw::OBJ-Importer (OBJ) on page 8369 ■ 3D Studio Shape (SHP) on page 8188 7968 | Chapter 21 Managing Scenes and Projects ■ Stereolitho (STL) on page 8361 ■ Motion Analysis TRC File (TRC) on page 8294 ■ VRML (WRL, WRZ) on page 8378 ■ VIZ Material XML Import (XML) NOTE This applies the imported material directly to selected objects. See Material XML Exporter Utility on page 6016 for information on creating this file type. 3 Choose a file to import. 4 For some file types, a second dialog appears, with options specific to that file type. Choose the import options you want. External References (XRefs) You can use two kinds of externally referenced files (XRefs): XRef Objects on page 7971 and XRef Scenes on page 7999. Using these external references allows for a team approach to animation, where the modeling, materials, transform controllers, and animation can be handled in separate files by different artists. It can also make large files much easier to deal with through the use of proxy objects. You access the XRef Objects and XRef Scenes commands from the Application menu on page 8579. The two types of references have distinct purposes: ■ An externally referenced scene displays the entire contents of an external MAX file in the current scene. The objects within the external file are visible as a reference but cannot be selected. This prevents accidental changes to the referenced scene while allowing functionality such as Snap, AutoGrid, and Clone and Align to position local objects in context, as well as to pick objects as the target location for the clones. If you need to move, rotate or scale the referenced scene, you can bind it to a local object. Transforming the object the externally referenced scene was bound to will transform all objects in the externally referenced scene. Scene externally referenced objects can also be used as reference coordinate system on page 860. When changes to the externally referenced file are saved (such as objects added, edited or deleted), an Update of Xref Scene will inherit those changes locally. External References (XRefs) | 7969 ■ Externally referenced objects appear in the scene and can be animated. Depending on the object's XRef settings, you might or might not be able to edit the object’s entities such as its transforms, materials, manipulators, or modifiers. You can add modifiers and apply transform animation to the referenced objects, but you cannot inadvertently change the model’s structure. Referenced objects allow for the substitution of a proxy object, so you can animate a low-polygon version of a complex model and then render the polygon-intensive version. You can also reference transform controllers externally in addition to materials. This is part of the process of referencing objects, or you can also use the special XRef controller on page 3602 or XRef material on page 6605, respectively. By default, when referencing an object, its material and transform controller is also referenced. Alternatively, you can create an XRef controller or an XRef material that allows for referencing a transform controller or a material from an external MAX file. These external references can be assigned to any object in the scene, whether or not the object is externally referenced. NOTE Any atmospherics applied in an XRef object's source file will be carried into the scene. Render Effects assigned to XRef objects are not externally referenced. The use of referenced objects and scenes allows several people to work collaboratively on the same objects as the work progresses, without having to wait for the objects to be finalized. You can choose to have the objects update automatically, as soon as changes are saved to the original file, or to update manually, on demand. There are also tools for easy conversion of scene objects into referenced objects, and a button to merge referenced objects into the scene as normal objects. 7970 | Chapter 21 Managing Scenes and Projects Objects in a scene can be externally referenced, created and maintained by other users. XRef Objects Application menu on page 8579 ➤ References ➤ XRef Objects Externally referenced objects, XRef objects, appear in your master (current) scene, but are actually referenced from external 3ds Max files. As a result, the source objects are protected from modifications you make to the XRef objects. Updates or changes made to the source objects are also updated in the master file when the source scene is reloaded. However, if an XRef object’s entities External References (XRefs) | 7971 are merged, the controls are local and can be modified. Therefore, they no longer reference the original attributes. For example, if you set the Modifiers option on page 7983 of the XRef Objects dialog on page 7977 to XRef or Ignore, the only entry in the modifier stack will be “XRef Object.” You can add additional modifiers to the object, but you cannot access the original ones unless you merge the XRef object into the scene. If you merge the modifiers into the master scene, you can edit them in the stack. However, changes that you make to the modifier stack in the master file have no effect in the source file. An externally referenced object can be animated in the master file only if its transform controller has been merged. In other words, no animation can be added or blended with an XRef controller. However, an offset can be added, but it then applies to the whole animation, and the offset cannot be animated. NOTE The XRef behavior of world-space modifiers is different than the object-space modifiers. World-space modifiers are not externally referenced. They are always merged. Transforms and manipulators in your source file will be treated according to the Merge Transforms and Merge Manipulators setting in the XRef Objects dialog. 7972 | Chapter 21 Managing Scenes and Projects Objects in a scene can be XRefs from other scenes. They can be transformed and positioned in the scene using a local offset. When an XRef object is loaded into the master file, it can have an XRef material on page 6605 as well as an XRef controller on page 3602 assigned to it. You can either merge the material and transform information or you can maintain it as a live connection with the source file. XRef objects can be modified or transformed in your master scene just like any other object. XRef objects also allow the use of proxy objects to stand in or substitute for geometry. Use XRef objects to manage the complexity of your master scene during animation by substituting “lightweight” proxy objects for more complex geometry. You can create a proxy by simplifying a clone of your existing model or you can build simple substitute objects like boxes or cylinders, or you can save a External References (XRefs) | 7973 copy of the model in the early stages of modeling before you add the detail. You can even use an object from another scene. A proxy object is substituted in the scene, but the reference to the real object is always available. Choosing XRef Objects displays the XRef Objects dialog on page 7977, where you add externally referenced objects, transforms, and materials to your master scene, and control their visibility, merge states, and other options. If your XRef object relies on another object in the source scene, the relationship will not be automatically preserved in the destination file. Examples of this include objects with path constraints, atmospherics, particle arrays with object emitters, or space warps bound to an object. To preserve the relationship between the source objects in the master file, in the XRef Merge dialog, enable Display Influences and select the object's influences. Objects that influence each other must be referenced in the same record to maintain the relationship. NOTE Render effects such as glow or flare are not carried in XRefs. To use render effects from the source file, merge them in using the Merge buttons found in the Environment And Effects dialog. 7974 | Chapter 21 Managing Scenes and Projects Procedures To add an XRef object: 1 Choose Application menu on page 8579 Import ➤ XRef Objects. The XRef Objects dialog enables you to choose to Merge Transforms, Merge Materials, and Merge Manipulators. NOTE If you want to maintain externally referenced entities (transforms, materials, manipulators, or modifiers), make sure Merge Transforms, Merge Materials, and Merge Manipulators are off and the Modifiers setting is set to XRef before you proceed to the next step. TIP To include all objects, including influences, transforms, and materials, and bypass the XRef Merge dialog, turn on Include All on the XRef Objects dialog before you click Create XRef Record From File. 2 Click the Create XRef Record From File button in the XRef Objects dialog. The Open File dialog appears. Choose the file you want by highlighting it in the list, then click Open. The XRef Merge Dialog on page 7993 appears. If the Merge Manipulators toggle is off before you click Create XRef Record From File, manipulators applied to XRef objects are linked to the (externally referenced) source file. In a similar way, the Modifiers drop-down list gives you three alternatives for how to handle object modifiers. If the Merge Materials toggle is off before you click Create XRef Record From File, materials applied to XRef objects are linked to the (externally referenced) source file. If Merge Materials is on, the materials are merged with the master scene. If the Merge Transforms toggle is off before you click Create XRef Record From File, transforms applied to XRef objects are linked to the (externally referenced) source file and cannot be keyframed in the master file. If Merge Transforms is on, the transforms are merged with the master scene and can be keyframed. 3 Select the objects that you’d like to appear in your master scene as XRef objects. External References (XRefs) | 7975 You can choose as many as you want by holding down the Ctrl key and highlighting them in the list. If the source scene has a lot of object types you don't need to include, you can filter the list by using the List Types radio buttons. Use the All button to select all of the entries, the None button to select no entries and the Invert button to highlight the opposite of your current selection. You can also choose to display Influences and Select Influences. 4 The XRef record appears in the upper list of the XRef Objects dialog and has the same name as its source file. The externally referenced entities appear in the lower list, where an entity can be either an object, a controller, or a material. Make additional choices at this time if you like. You can control how the objects will update (either automatically or on demand). Updating is done at the XRef record level: all objects, transforms, and materials from a single XRef record are updated at the same time. To substitute an XRef object with a proxy object: With proxy objects, you can avoid loading your detailed model in memory, and speed up the time of test renderings. 1 Select an XRef object. 2 On the Modify panel ➤ Proxy rollout, click (Browse), and use the File Open dialog to choose the file that contains the proxy. The XRef Merge dialog appears. 3 Pick the object to use as a proxy. When you have picked the proxy object, the Enable toggle should turn on. 4 Turn on Use In Rendering to use the proxy object in renderings. To add objects to an XRef record: 1 In the XRef Objects dialog, highlight an XRef record (in the top list) that contains objects that have not already been added to the scene. 2 On the Entities List toolbar (the lower toolbar), click (Add Objects). This button is not available if all of the objects in the source file have already been added to the XRef record. 7976 | Chapter 21 Managing Scenes and Projects The XRef Merge dialog appears. 3 Highlight the objects that you want to add as XRefs, and then click OK. The selected objects are added. Depending on the dialog settings, transforms and materials might also be added as external references. To change an XRef object into a scene object: ■ Highlight the XRef object in the Entities list (the lower list), and then click (Merge In Scene). The XRef object becomes a full-fledged object in the scene, giving you access to its modifier stack. TIP This button is also available in the upper Records list, where it merges all entities from the highlighted source record into the master (current) scene. XRef Objects Dialog Application menu on page 8579 ➤ References ➤ XRef Objects ➤ XRef Objects dialog The XRef Objects dialog provides the interface for loading XRef entities into your master scene (the scene where you create the XRefs) from a source scene (the scene file that contains the entities that you want to externally reference). XRef entities can be XRef objects, transform controllers, materials, and manipulators. An XRef record can be made up of one or more XRef entities. The XRef Objects dialog is divided into the XRef Record section at the top and the XRef Entities section at the bottom. The XRef Objects dialog provides controls to add and remove XRef objects, controllers, and materials. When you create XRefs, the mapping between each externally referenced item and their source items is unique. This allows correct external referencing of source items with identical node names. However, if you retarget an externally referenced item by choosing a source object name that is not unique in the source scene, 3ds Max might not map the externally referenced item to the desired source object. External References (XRefs) | 7977 Interface TIP You can resize the XRef Objects dialog. This can be useful if you want to see all of the columns in the XRef Entities list. You can also adjust the relative height of the two lists in the dialog: Drag the horizontal line that is just above the XRef Entities toolbar (the lower of the two toolbars). XRef Record toolbar Use these tools to create and update XRef records. Create XRef Record from File Launches an Open File dialog so you can select the source file for your XRef record. When you a select a file, the XRef Merge dialog on page 7993 appears. Any transform animation assigned to the source objects can be merged along with the XRef object, but it will not be updated with the source object. NOTE If you want to maintain externally referenced transforms, materials, and manipulators, make sure Merge Transforms, Merge Materials, and Merge Manipulators in the XRef Objects dialog are off before you click Create XRef Record from File. 7978 | Chapter 21 Managing Scenes and Projects Remove XRef Record Deletes the highlighted XRef record(s) after you confirm the action. All entities associated with the highlighted record(s) are removed from the scene. NOTE Once you have removed an XRef record, you cannot undo this action. Combine XRef Records Click to combine the contents of more than one XRef record from the same source file into one record. This is useful when you want to clean up the organization of your XRef records. Rather than having multiple records of the same file, you can group all of the objects, controllers, and materials from that file under the same record. This button is available only when you highlight two records that refer to the same file name and path; both records must have identical settings. XRef records must refer to the same file with the same XRef entities. Combine XRef Records only allows you to consolidate all of the entities of one file into one XRef record entry. It does not allow you to combine the contents of different files, even if the files have the same name. NOTE Nested externally referenced records cannot be combined. Update Refreshes the contents of the selected XRef record. If the objects, controllers, materials, or manipulators referenced have changed in the source scene, you will see these changes in your master scene. NOTE The changes must be saved in the source file before you see them in the master file. If you remove externally referenced entities from the master file using the Delete XRef Entity button, these entities will not be externally referenced when you update the XRef record, even though they continue to exist in the source scene. NOTE Reloading XRef items works correctly even when an object in the source scene has been renamed, or deleted and then re-created with the exact same name, including character case. However, if the source scene contains several nodes with the same name, an XRef item corresponding to a node whose name is not unique in the source scene might not necessarily resolve as you expect during the update process. For best results, maintain unique names for all nodes in the source scene. External References (XRefs) | 7979 WARNING If you update an XRef in a scene with radiosity on page 7068, probably this will invalidate the radiosity solution. After you update the XRef, reset the radiosity solution and then recalculate it. Merge In Scene Converts all XRef entities of the highlighted record into native (local) entities in your master scene. The objects, controllers, materials, and manipulators are no longer referenced from the source file but become part of your master scene. A prompt appears so you can confirm the action. Since a merged XRef entity becomes part of the scene and is no longer an XRef entity, its name is removed from the XRef Entities list. This works on a XRef record basis, so all entities belonging to the highlighted XRef record are converted. The contents of the source file are not affected by this button. Merging an XRef object loads the full modifier stack of the source object into the master scene (your current scene), while maintaining any additional stack items that were added while the object was an external reference. Thus, you can use Merge In Scene to update an object that has been modified as an external reference. Similarly, merging an XRef controller into the master scene maintains any offset transformation you might have applied to the controller in the master scene. Convert Selected Object(s) to XRefs Creates a source file for currently selected objects. This means that you can select objects in the current scene, including their transform controllers and materials, and then save them to a separate scene file. This file is then listed as an XRef record that contains the entities you selected. NOTE This option can be used on both—native (local) objects or externally referenced objects. If you use it for an object that is already an XRef object, it creates a nested XRef. Nested XRefs still behave as you expect, but they can reduce performance when you open a scene or render it. Select Selects all entities that belong to the currently highlighted XRef record or records. To add highlighted records’ entities to the selection, hold Ctrl while clicking Select. To remove highlighted records’ entities from the selection, hold Alt while clicking Select. Select by Name Opens the Select Objects dialog on page 184, which lists all objects and highlights those belonging to the currently highlighted 7980 | Chapter 21 Managing Scenes and Projects XRef record, as well as objects selected in the scene. Use this dialog to select XRef objects. Highlight Selected Objects' XRef Records Based on the object(s) selected in the scene, the corresponding record(s) that contain these objects are highlighted in the XRef Objects dialog. XRef Record list Displays the names of the source files that contain the source objects used as XRef objects in the current scene. These files are added using the Create XRef Record button and removed using the Remove XRef Record button. To see the full path of the source file, move the cursor over the name of an XRef record. The full path is displayed in a tool tip. If a source file itself contains external references, a plus/minus icon appears to the left of its name. Click the icon to expand or collapse the display of nested XRef entries. Nested XRef records that are missing and unresolved are displayed in gray. Right-clicking the XRef Record list displays a pop-up menu on page 7987 that has additional options for managing the list and its records. _____ Enabled Turn off to disable all XRef objects referenced from the MAX files currently highlighted in the XRef Record list. Disabled external reference files and objects are are not loaded into memory. Default=on. Include All If you turn this on before you add an XRef record, all the objects in the source file are included as external references. This option bypasses the XRef Merge dialog. Default=off. If you create an XRef record when Include All is turned off, only those entities selected for that XRef record (in the XRef Merge dialog) will be a part of the record: any new objects created in the source file will not be part of the record. If Include All is turned on when you create a record, any new objects created in the source file will be included in the XRef record when you reopen or Update the master file. If Include All is turned on before a record is updated (after the first XRef), all new objects will be included in the XRef, but turning if off later will not remove them from the record. If the source scene includes nested external references, using Include All can cause some confusion if you are not careful about your tree of scenes. Consider the following arrangement: External References (XRefs) | 7981 master.max (Include All) --> a.max (Include All) --> b.max If you later open b.max, create objects, and save it, then open master.max without first opening and saving a.max, you won't see the new objects created in b.max. The scene master.max is simply reading a.max, and since a.max hasn't changed, the new objects aren't present. Automatic Update When on, changes made to externally referenced objects, controllers, materials, and manipulators in the source scene are automatically updated in the master file as soon as the source file is saved. There's no need to click Update. Default=off. NOTE You can change the state of Enabled, Include All, and Automatic Update after a record is created. Merge Transforms When on, combines all objects' externally referenced transform controllers from the source file into the master file. This means that the transform controllers will be loaded in the master file but will then no longer have a live connection with the source file. This is useful if you don't require the live connection, and want to alter the transform controllers in the master scene without losing your edits upon Update. Default=off. To use Merge Transforms, you must turn on this option before you add the XRef record (source) file. Merge Materials When on, combines all externally referenced materials from the source file into the master file. This means that the materials will be loaded in the master file but will then no longer have a live connection with the source file. This is useful if you don't require the live connection, and want to alter the materials in the master scene without losing your edits upon Update. Default=off. To use Merge Materials, you must turn on this option before you add the XRef record (source) file. When Merge Materials is on and there are name conflicts between materials in the target scene and materials in the XRef source scene (or between materials in two XRef records), 3ds Max displays a Duplicate Name dialog on page 7995 so you can resolve the conflicts. Merge Manipulators When on, any manipulator on page 2892 applied to the XRef object in the source file is combined into the scene. Manipulators are applied to the XRef object and can be changed. However, these changes have no effect in the XRef source file. Default=off. To use Merge Manipulators, you must turn on this option before you add the XRef record (source) file. 7982 | Chapter 21 Managing Scenes and Projects Modifiers Determines how modifiers from the source file will be loaded into your master file. Modifiers are not listed as XRef entities. To see an XRef modifier on the Modify panel, you must use the Merge option. Otherwise, you have the choice of either not merging the modifier information at all (with the Ignore option) or merging the information with the object with the XRef Modifiers option. You must choose the Modifiers option before you add the XRef record (source) file. ■ XRefModifiers are contained within the XRef object and cannot be changed in the master scene. When you load the external reference file, you will see the results of the modifier but they will not be listed separately from the object on the Modify panel. Additional modifiers can be applied to the XRef object, and will be a part of the scene; however, they will not be reflected back to the source file. NOTE World-space modifers remain at the top of the modifier stack and are not merged with XRef objects. ■ MergeModifiers assigned to the XRef object (in the source file) are merged into the master scene. When you load the external reference file, you will see the changes caused by the modifier and they will appear in the modifier stack in the Modify panel. The modifiers are copies of the original source modifiers. Although they inherit their original state, updates to the XRef will not overwrite changes made in the master scene. However, these changes are not reflected in the source file. ■ IgnoreAny modifiers assigned to the XRef object (in the source file) are disregarded and the base object is brought into the master scene as an XRef object. When you load the external reference file, the modifiers are not applied to the object so the modifications in the source file will not be reflected in the master file. Although the Merge Transforms, Merge Materials, Merge Manipulators, and Modifiers settings are disabled after you add a record, when you highlight the record in the XRef Record list, the toggles and list field show the settings used when the record was created. XRef Entities toolbar Add Objects Click to add further entities to the highlighted XRef record. This button is available only when the highlighted XRef record contains objects that you have not yet referenced externally. The XRef Merge dialog External References (XRefs) | 7983 appears, with a list of the available objects. Highlight the objects to reference externally, and then click OK. NOTE If new objects have a relationship in the source file with objects that are already in a record in the master file, update the record after Add Objects to refresh the relationship. For example, if a car is referenced in a master scene, and the car is later constrained to a new path in the source scene, adding the path with Add Objects will not put the master car on the path. To do that, update the record. Delete XRef Entity Click to delete the highlighted XRef. An alert prompts you to confirm the action. All highlighted entities are removed from the scene. You can delete XRef objects, controllers, or materials. NOTE Deleting XRef controllers is equivalent to merging them into the master scene. The reason for this is that nodes must have a transform controller at all times, in order to be positioned in the scene. Deleting XRef materials is equivalent to merging them into the master scene. This action could impact all objects in the master scene that use an XRef material, and could have implications difficult to be foreseen. Merge In Scene Merges the current selection in the XRef Entities list into the master scene (the current scene). Use this button to change XRef objects, controllers, or materials into objects, controllers, or materials that are native to the current scene. The connection between the external entity from the source scene and your master scene is broken, and the object, controller, or material that you merged is no longer updated when the source scene changes. 3ds Max prompts you to confirm the merge. Since a merged XRef object becomes part of the scene and is no longer an XRef object, its name is removed from the list. Merging an XRef object loads the full modifier stack of the original object, while maintaining any additional stack items that were added while the object was an XRef object. Thus, you can use Merge to update an original object that has been altered as an external reference. If you do this, use Convert Selected Object(s) to XRefs to save out the “improved” original into a file, which then can be merged back into the original source. 7984 | Chapter 21 Managing Scenes and Projects NOTE It is also possible to merge into the master scene nested XRef entities. Once they are merged, all externally referenced nesting levels are removed and the scene entity from the lowest level source scene is merged into the master scene. In case of XRef objects, modifiers applied in a nested source file are all merged and present in the master scene. List Objects When on, shows the XRef objects for the current XRef record in the XRef Entities list. List Materials When on, shows the XRef materials for the current XRef record in the XRef Entities list. List Controllers When on, shows the XRef controllers for the current XRef record in the XRef Entities list. NOTE You can enable any combination of the List buttons to show certain types of entities and hide others. Select Selects in the scene the XRef entities currently highlighted in the XRef Entities list. To add highlighted entities to the selection, hold Ctrl while clicking Select. To remove highlighted entities from the selection, hold Alt while clicking Select. Select by Name Opens the Select Objects dialog on page 184, which lists all objects and highlights the XRef objects selected in the XRef Entities list, as well as any objects selected in the scene. If an XRef controller or XRef material is highlighted in the XRef Entities list, the Select Objects dialog highlights the object to which the XRef controller or material belongs to. Highlight Selected Object's XRef Records When XRef objects are selected in the scene, the XRef record to which they belong is highlighted in the XRef Record list and the XRef objects and their XRef entities are highlighted in the XRef Entities list. External References (XRefs) | 7985 XRef Entities list Displays the XRef objects, controllers, and materials that belong to the record that is currently highlighted in the XRef Record list. If no source file is highlighted, this list is empty. Right-clicking the XRef Entities list displays a pop-up menu on page 7990 that has additional options for managing the list as well as the objects, controllers, and materials in it. The XRef Entities list includes the following information for each XRef entity: ■ Scene NameName of the entity in the master (current) scene. By default, the name of the entity in the master scene is the same as the name of the entity in the source file. If you change the name of the entity on the command panel on page 8771, the name will update in the XRef Entities list. ■ Source NameName of the entity in the source file. You cannot change this name from the master file. If the name of the entity changes in the source file, the XRef in the master file will become unresolved. ■ TypeWhether the entity is an XRef object, controller, or material. ■ Status Usually this field displays “XRef Resolved” to indicate that the XRef is valid. When an external reference is unresolved this field displays “Unresolved XRef” An unresolved XRef indicates that there is no longer a connection between the entity in your master file and the source file. This can happen for a number of reasons. For example, the entity in the source file might have been renamed or deleted, or the file cannot be found. NOTE If you resolve the cross reference, the XRef will be resolved again when you click Update. ■ ProxyWhether a proxy is enabled for the entity. You enable and disable proxies for XRef entities on the Proxy Object rollout. Displays “–––” when the proxy is disabled and “Enabled” when the proxy is enabled. You can assign a proxy object using the Proxy Object rollout on page 7998. ■ Proxy RenderWhether the proxy will be used in the rendering. Displays “–––” when the XRef object will be rendered and “Enabled” when the proxy object will be rendered. ■ Proxy NameName of the proxy object that will be used as the XRef object. 7986 | Chapter 21 Managing Scenes and Projects ■ Proxy File NameName of the file that contains the proxy object to use for the XRef object. ■ Proxy PathPath of the file for the proxy object to use for the XRef object. XRef Record List Right-Click Menu Application menu on page 8579 ➤ References ➤ XRef Objects ➤ XRef Objects dialog ➤ Right-click the list of XRef Record list. This contextual menu appears in the XRef Objects dialog on page 7977 when you right-click the XRef Record list. It provides additional options for managing the list. Some of the options on this menu are unavailable unless you have highlighted an XRef record. Interface Create XRef Record from File Launches an Open File dialog so you can select the source file for your XRef record. When you a select a file, the XRef Merge dialog on page 7993 appears. Any transform animation assigned to the source objects can be merged along with the XRef object, but it will not be updated with the source object. NOTE If you want to maintain externally referenced transforms, materials, and manipulators, make sure Merge Transforms, Merge Materials, and Merge Manipulators in the XRef Objects dialog are off before you click Create XRef Record from File. Remove XRef Record Deletes the highlighted XRef record(s) after you confirm the action. All entities associated with the highlighted record(s) are removed from the scene. NOTE Once you have removed an XRef record, you cannot undo this action. File Submenu Open Opens the source file. If you have not saved changes to the (current) master file, 3ds Max prompts you to do so. External References (XRefs) | 7987 Browse Displays the Open File dialog that enables you to browse for a new source file. The file you choose replaces the highlighted XRef record in the XRef Objects dialog. Available only when a single file is highlighted. Reveal Location in Explorer Launches Windows Explorer, open to the folder in which the highlighted source file resides with the source file highlighted. Available only when a single file is highlighted. Strip Path Removes path information from the file name, saving only the file name. The source file location is saved relative to the master file location. WARNING If you strip the path before you have saved the master file, the record's XRefs can become unresolved. This is because there is no location for the Untitled, unsaved MAX scene. Resolve Path to UNC Location If the record's file name has had its path stripped, this option restores the full path name. _____ Combine XRef Records Click to combine the contents of more than one XRef record from the same source file into one record. This is useful when you want to clean up the organization of your XRef records. Rather than having multiple records of the same file, you can group all of the objects, controllers, and materials from that file under the same record. This option is available only when you highlight two records that refer to the same file name and path; both records must have identical settings. XRef records must refer to the same file with the same XRef entities. Combine XRef Records only allows you to consolidate all of the entities of one file into one XRef record entry. It does not allow you to combine the contents of different files, even if the files have the same name. NOTE Nested externally referenced records cannot be combined. Update Refreshes the contents of the selected XRef record. If the objects, controllers, materials, or manipulators referenced have changed in the source scene, you will see these changes in your master scene. NOTE The changes must be saved in the source file before you see them in the master file. If you remove externally referenced entities from the master file using the Delete XRef Entity button, these entities will not be externally referenced when you update the XRef record, even though they continue to exist in the source scene. 7988 | Chapter 21 Managing Scenes and Projects WARNING If you update an XRef in a scene with radiosity on page 7068, probably this will invalidate the radiosity solution. After you update the XRef, reset the radiosity solution and then recalculate it. _____ Select Selects the entities that belong to the currently highlighted XRef record. Select by Name Opens the Select Objects dialog on page 184, which lists all objects and highlights those belonging to the currently highlighted XRef record. Use this dialog to select XRef objects. _____ Highlight Selected Objects' XRefs Records Based on the object(s) selected in the scene, the corresponding record(s) that contain these objects are highlighted in the XRef Objects dialog on page 7977. _____ Highlight All Highlights all XRef records in the XRef Record list. Highlight Inverse Highlights all XRef records in the XRef Record list except the currently highlighted record(s). Highlight None Turns off highlighting for any XRef records currently highlighted in the XRef Records list. Hide All Unresolved Hides all unresolved XRef records in the XRef Record list. Select All Unresolved Highlights all unresolved XRef records in the XRef Record list. _____ Merge In Scene Converts all XRef entities of the highlighted record into native (local) entities in your master scene. The objects, controllers, materials, and manipulators are no longer referenced from the source file but become part of your master scene. A prompt appears so you can confirm the action. Since a merged XRef entity becomes part of the scene and is no longer an XRef entity, its name is removed from the XRef Entities list. This works on a XRef record basis, so all entities belonging to the highlighted XRef record are converted. The contents of the source file are not affected by this option. Merging an XRef object loads the full modifier stack of the original object into the master scene (your current scene), while maintaining any additional stack items that were added while the object was an external reference. Thus, you External References (XRefs) | 7989 can use Merge In Scene to update an object that has been modified as an external reference. Similarly, merging an XRef controller into the master scene maintains any offset transformation you might have applied to the controller in the master scene. Convert Selected Object(s) to XRefs Creates a source file for the currently selected objects. This means that you can select objects in the current scene, including their transform controllers and materials, and then save them to a separate scene file. This file is then listed as an XRef record that contains the entities you selected. NOTE This option can be used on both—native (local) objects or externally referenced objects. If you use it for an object that is already an XRef object, it creates a nested XRef. Nested XRefs still behave as you expect, but they can reduce performance when you open a scene or render it. XRef Entities List Right-Click Menu Application menu on page 8579 ➤ References ➤ XRef Objects ➤ XRef Objects dialog ➤ Right-click the list of XRef entities (objects and materials). This contextual menu appears in the XRef Objects dialog on page 7977 when you right-click the XRef Entities list. It provides additional options for managing the list. Some of the options on this menu are unavailable unless you have highlighted an XRef entity. Interface Add Objects Displays the XRef Merge dialog on page 7993 so you can add entities to the XRef Entities list. If all entities in the source scene are already externally referenced, this choice has no effect. Delete XRef Entity Deletes the highlighted XRef entities from the scene. An alert prompts you to confirm the action. 7990 | Chapter 21 Managing Scenes and Projects NOTE Deleting XRef controllers is equivalent to merging them into the master scene. The reason for this is that nodes must have a transform controller at all times, in order to be positioned in the scene. Deleting XRef materials is equivalent to merging them into the master scene. This action could impact all objects in the master scene that use an XRef material, and could have implications difficult to be foreseen. Select Selects in the scene the XRef entities currently highlighted in the XRef Entities list. Select by Name Opens the Select Objects dialog on page 184, which lists all objects and highlights the XRef objects selected in the XRef Entities list. If an XRef controller or XRef material is selected in the XRef Entities list, the Select Objects dialog highlights the object to which the XRef controller or material belongs to. Highlight Selected Objects' XRefs When XRef objects are selected in the scene, the XRef record to which they belong is highlighted in the XRef Record list and the XRef objects and their XRef entities are highlighted in the XRef Entities list. Highlight All Highlights all XRef entities in the XRef Entities list. Highlight Inverse Highlights all XRef entities in the XRef Entities list except the currently highlighted XRef entities. Highlight None Turns off highlighting for any XRef entities currently highlighted in the XRef Entities list. List Objects Toggles the display of XRef objects for the current XRef record in the XRef Entities list. List Materials Toggles the display of XRef materials for the current XRef record in the XRef Entities list. List Controllers Toggles the display of XRef controllers for the current XRef record in the XRef Entities list. The state of List Objects, List Materials, and List Controllers is the same as the state of the toolbar buttons in the XRef Objects dialog. Changing the state in the menu changes the button state, and vice versa. Merge In Scene Merges the current selection in the XRef Entities list into the master scene (the current scene). Use this option to change XRef objects or materials into objects that are native to the current scene. The connection between the external entity from the source scene and your master scene is External References (XRefs) | 7991 broken, and the object, controller, or material that you merged is no longer updated when the source scene changes. 3ds Max prompts you to confirm the merge. Since a merged XRef object becomes part of the scene and is no longer an XRef object, its name is removed from the list. Merging an XRef object loads the full modifier stack of the original object, while maintaining any additional stack items that were added while the object was an XRef object. Thus, you can use Merge to update an original object that has been altered as an external reference. If you do this, use Convert Selected Object(s) to XRefs to save out the “improved” original into a file, which then can be merged back into the original source. NOTE It is also possible to merge into the master scene nested XRef entities. Once they are merged, all externally referenced nesting levels are removed and the scene entity from the lowest level source scene is merged into the master scene. In case of XRef objects, modifiers applied in a nested source file are all merged and present in the master scene. Apply XRef Material(s) to Object(s) Applies the original, externally referenced material(s) to the highlighted objects. This can be useful if you have assigned a local material to the object (for example, to use in renderings of the master scene) and now want to restore the object's original material. It can also restore the externally referenced source material if the material was originally merged into the master scene. Apply XRef Controller(s) to Object(s) Applies the original, externally referenced controller(s) to the highlighted objects. This can be useful if you have assigned a local controller to the object (for example, to use in renderings of the master scene) and now want to restore the object's original controller. It can also restore the externally referenced source controller if the controller was originally merged into the master scene. Reset PRS Offset Sets the PRS transformation on page 3605of the XRef object to its transformation defined in the source file. NOTE You can undo this action. 7992 | Chapter 21 Managing Scenes and Projects XRef Merge Dialog Application menu on page 8579 ➤ References ➤ XRef Objects ➤ XRef Objects dialog ➤ ➤ XRef Merge dialog (Create XRef Record From File) ➤ Open File The XRef Merge dialog lets you choose which objects to add as XRef objects to the scene. This behaves similarly to the Merge command on page 8101. Controls on this dialog are similar to those on the Selection Floater on page 187. The Merge dialog lets you load and save influences with or without their dependents. In many cases, objects should be referenced with their influences, but the display only makes you aware of the relationships, it does not force you to externally reference them. When you select an item in the list window and click Influences, the object’s influences are selected in the list window. When you select an item in the list window and Display Influences is on, the object’s influences are shown in blue in the list window. When you select an item in the list window and Select Influences is on, the object’s influences are also selected in the list window. Procedures To show an object's influences in the XRef Merge dialog: ■ Select an object in the list window and enable Display Influences. The influences are shown in blue. To select an object's influences in the XRef Merge dialog, do either of the following: ■ Select an object in the list window and click Influences. ■ Select an object in the list window and enable Select Influences. External References (XRefs) | 7993 Interface XRef Merge Objects list Objects are listed according to the current Sort and List Types selections. Influences When you select an object in the list window and then click the Influences button, the selected object's influences are highlighted as well. All, None, and Invert These buttons alter the pattern of selection in the list window. Display Influences When this is on and you select an item in the list window, all of its influences are shown in blue. If you want to highlight these influences, click Influences. 7994 | Chapter 21 Managing Scenes and Projects Select Influences When this is on and you select an item in the list window, all of its influences are highlighted as well. Duplicate Material Name Dialog Application menu on page 8579 ➤ References ➤ XRef Objects ➤ XRef Objects dialog ➤ (Create XRef Record From File) ➤ Open File ➤ XRef Merge dialog ➤ Select objects to XRef. ➤ Click OK. ➤ Duplicate Material Name dialog The Duplicate Name dialog is displayed if, after you click OK in the Merge dialog on page 7993, one or more materials to merge have the same name as materials in the open scene. You can see the updated material name in the “Scene Name” column, while the original name in the source scene appears in the “Source Name” column. Interface Material name At the right, the dialog displays a duplicate material name. You can edit the name to make it unique before you merge it with the open (current) library by clicking the Merge button. External References (XRefs) | 7995 Apply to All Duplicates If you turn this on before you use the buttons, all subsequent incoming materials with duplicate names are treated the same way as the current one, and no further alert messages are displayed. Use this option when you know that you've got several duplicate materials, and don't need constant reminders. This check box is unavailable if you edit the material name. Merge Merges the material with the open, current library. This button is unavailable unless you edit the duplicate name to be a different, unique name. Skip Skips this material and doesn't merge it with the open, current library. Delete Old Deletes the "old" material in the open, current library and replaces it with the material to merge. Auto-Rename Click to have 3ds Max automatically rename the material by appending a sequence number to the duplicate material name. Cancel Cancels further merging of materials with duplicate names. If you have already merged some materials, they appear in the open, current library. XRef Object Rollout Select an XRef object. ➤ Modify panel ➤ XRef Object rollout When you've selected an XRef object in a scene, the XRef Object rollout appears along with the Proxy Object rollout on page 7998 on the Modify panel. The modifier stack for the XRef object simply displays “XRef Object.” 7996 | Chapter 21 Managing Scenes and Projects Interface These controls let you change the file path, file name, and object name of the source of the XRef object. IMPORTANT The specified file must contain an object of the specified name, or no XRef object will appear in your scene. Instead, a small X appears as a placeholder. Highlight Corresponding XRef Record in the XRef Objects Dialog Click to open the XRef Objects dialog on page 7977, with the selected object's record highlighted. File name field Displays the path and file name of the scene file containing the source of the XRef object. You can edit this to point to a different path and file. File name display Displays the file name only, without the path. Path button Click to display the Open File dialog from which you can specify a different path and file name for the source file. Object name field Displays the name of the source object pointed to in the source file. You can edit the name field to reference another object. Object name display Displays the name of the source object. External References (XRefs) | 7997 Path button Click to display the XRef Merge dialog on page 7993 pointing to the scene in the XRef File Name field. Here, you can specify a different object to be used as the XRef object. Proxy Object Rollout Select an XRef object. ➤ Modify panel ➤ Proxy Object rollout When you've selected an XRef object in a scene, the Proxy Object rollout appears along with the XRef Object rollout on page 7996 on the Modify panel. Use these controls to specify a low-resolution object to replace the original XRef object for easier handling in the viewports, and optionally for test rendering. Interface Enable When on, displays the specified proxy object in the viewports. When off, displays the original XRef object. Note: If you turn this on when no proxy object has been specified, the XRef object appears in the viewports as a small X. 7998 | Chapter 21 Managing Scenes and Projects Use in Rendering When on, the proxy object is also displayed in the rendering. When off, the original XRef object is rendered. File Name field Specify the path and file name of the scene file containing the proxy object. Path button Click to display the Open File dialog from which you can specify the scene file containing the proxy object. Object Name field Specifies the name of the proxy object in the specified scene. Path button Click to display the XRef Merge dialog listing the objects in the specified scene file. From here, you can select an object to be used as the proxy. XRef Scene Application menu on page 8579 ➤ References ➤ XRef Scene An externally referenced scene, or XRef scene, appears in your current file, but is actually loaded temporarily from another MAX file. As a result, the source scene is protected from any modifications you might make to the XRef scene via the master scene. Updates or changes made to the source scenes are also updated in the master file once the changes are made and saved to the source file. The XRef scene feature allows team members working on the same project to have access to each other’s work without the risk of changing the files. A modeler can create a setting, while a second modeler might create a character. The animator can externally reference the setting as a scene and animate the character in the setting without being able to make changes to the setting. If the setting file is changed, those changes will be reflected in the animator’s scene. Objects loaded in the master file via XRef scenes cannot be selected nor modified, and do not appear in the Select From Scene dialog or Scene Explorer on page 8469, the modifier stack, or the Track View. You can animate them in the current file only by using the Bind To Parent function in the XRef Scenes window. External References (XRefs) | 7999 You can snap to externally referenced scene entities. You can use Snap, AutoGrid, and Clone and Align to position local objects in context, as well as to pick objects as the target location for the clones. If you need to move, rotate or scale the referenced scene, you can bind it to a local object. Transforming the object the externally referenced scene was bound to transforms all objects in the externally referenced scene. You can also use externally referenced objects in the scene as the reference coordinate system on page 860. When you save changes to the externally referenced file (such as objects added, edited, or deleted), updating the XRef Scene inherits those changes locally. Importing the whole village model into the building model as an XRef Radiosity solution data cannot be part of an XRef if objects have duplicate names. To solve this, change the duplicate names. Also, to reference radiosity data externally, the Save Scene Information In MAX File switch must be on in the Radiosity panel on page 8948 of the Preferences dialog. (It is on by default.) 8000 | Chapter 21 Managing Scenes and Projects Be aware that render effects are not carried into the master scene by XRef scenes. To use the render effects (such as glow or flare) from the XRef file, merge them in using the Merge buttons found in the Environment And Effects dialog. NOTE Atmospheric effects assigned to objects in the source file are carried into the master file when the source file is used as an XRef scene. Choosing XRef Scene displays the XRef Scenes dialog on page 8008. Overlays Overlays allow multiple scene references without the risk of creating circular dependencies. The scene XRef marked as overlay is loaded only into the master scene that references it, and is not visible in other scenes that might XRef the master file that uses the overlay. Consider two scenes that reference each other: Ordinarily, 3ds Max would recognize this as a circular dependency, and disallow it. However, you can set up such a combination of XRefs by following these steps: 1 In scene 2, XRef scene 1 and use the toggle to flag it as an overlay. 2 Save scene 2. 3 Open scene 1, and XRef scene 2. Scene 2 is externally referenced into scene 1, without pulling scene 1 in as a nested external reference. The previous example is not particularly practical. But suppose you want to mask off part of your scene so other artists who XRef the scene will not see External References (XRefs) | 8001 it. For example, you are working on a building and have XRefed a CAD file that lays out the plumbing of the building, as well as a scene of ground terrain that contains some XRefs to some trees. The XRef scene graph might look like this: The building scene XRefs the terrain and the plumbing data. The terrain scene XRefs the trees. You decide you are the only one who needs to see the CAD plumbing data. The CAD plumbing data is needed only to line up where the sinks need to be in the building, so you set up the CAD plumbing data XRef to be an overlay. Other scenes that include the building scene won’t see the plumbing. For example, another artist who is responsible for the lighting and cameras sets up an XRef to the building scene. Now the XRef graph looks like this: 8002 | Chapter 21 Managing Scenes and Projects In this case, an overlay is used to simply hide data information from other master scenes. Another use of overlays is to avoid circular XRefs. For example, picture four artists working on a scene of a city block. Two of them are working on individual buildings, one is working on a sky bridge that connects the two buildings, and the fourth artist is setting up the cameras and the lights. The graph of externally referenced scenes might look like this: External References (XRefs) | 8003 But the artists working on Building A and the artist working on the sky bridge need to see each other’s work to make sure everything lines up. The obvious solution would be to externally reference each other’s scene file: 8004 | Chapter 21 Managing Scenes and Projects However, 3ds Max detects a circular external reference and won’t allow this, unless both the Building A scene and the Sky Bridge scene flag their external reference as an Overlay. External References (XRefs) | 8005 WARNING If you turn off the Overlay flag for an existing XRef scene, you can cause circular external references to occur, that aren’t detected until you or another user tries to open one of the scenes in the project. Procedures To add an XRef scene: 1 Choose Application menu on page 8579 ➤ Import ➤ XRef Scene. 2 Click the Add button. An Open File dialog appears that lets you locate the MAX file you wish to reference. A thumbnail display is provided to help you identify your file. 3 Click Open to bring the XRef scene into the current scene. 8006 | Chapter 21 Managing Scenes and Projects 4 The path and file name of the selected file appears in the XRef Files window. You can add as many files as you like; each one appears in the XRef Files window. 5 Make additional choices in the XRef Scenes dialog if you want. You can affect the display of the XRef scene, making it visible or not, or making objects in the referenced scene appear as bounding boxes. You can ignore the file's lights, cameras, shapes, helpers, or animation. You can control when the file updates, either automatically or on demand. You can have the file enabled or disabled, or you can merge it, severing the XRef relationship and inserting the scene into your current file. You can bind the scene to a Parent object to reposition or animate the XRef scene. To scale, rotate, or reposition an XRef scene: 1 Create an object in your current scene to be the parent object. 2 Choose the XRef scene from the XRef File window. 3 Click Bind (in the Parent group), and then select the parent object by clicking it in the viewport. 4 Transform the parent object. The XRef scene will follow. This works best if both the parent object and the XRef scene have their pivot points positioned near the scene's origin (0,0,0). If the XRef scene was created a large distance from the origin, you can run into a problem. As you scale the parent object, the XRef scene will move away from the center. To counteract this problem, you can create a second parent object centered over the XRef scene. Then select and link the original parent object to the centered parent object. You can then scale the centered parent object and the XRef will not move toward or away from the origin and use the original parent object to move the externally referenced scene. An alternative method for scale problems is to use the Rescale World Units Utility on page 2916 on the original file. External References (XRefs) | 8007 XRef Scenes Dialog Application menu on page 8579 ➤ References ➤ XRef Scene ➤ XRef Scenes dialog The XRef Scenes dialog lets you add and remove XRef scenes. It also gives you tools to control the display of the XRef scene, options to ignore various components of the scene, and the ability to bind to a parent object so you can scale, rotate, or move the XRef scene. Accessing XRef Scenes Although XRefs are inaccessible “boxes” in the scene, they can be accessed in various ways. ■ Cameras and lights in the XRef scenes can be accessed in the Viewports list and assigned to viewports in the current scene. ■ Objects from the XRef scenes are included in the Summary Info dialog. ■ Objects can be snapped to or used for alignment purposes with AutoGrid and Align. ■ AutoGrid works on XRef scene objects. ■ You can use objects from XRef scenes as target for cloning or reference systems. Nesting XRef Scenes XRef scenes can be nested. That is, an XRef scene can contain other XRef scenes, which can in turn contain other XRef scenes. NOTE For a nested XRef scene to update automatically, all of its parent scene files (files that include it as an XRef) must have Auto Update turned on. 8008 | Chapter 21 Managing Scenes and Projects Interface XRef File list Displays all XRef scenes in the current scene, and lets you select them for operations. XRefs that have been disabled (by turning off Enabled) External References (XRefs) | 8009 are listed in gray rather than black. If an XRef is listed in red, that means its file could not be loaded. Either the file is corrupted, or the path is not pointing to the correct directory or file name. XRef File path field Lets you change the path or file pointed to by a selected XRef scene. To use, choose one of the XRef scenes in the list, and then change the information in the field. You can either directly enter a new file name or path, or you can click the Browse button to the right of the field, and then choose a new file from the Open File dialog. The new XRef scene that you choose replaces the one currently highlighted in the list. Add Displays the Open File dialog from which you can choose a MAX scene file to be loaded into the current scene as an XRef. The selected scene appears in the list at left, and the geometry appears in the viewports. You can also add a scene by dragging a MAX file from the Windows Explorer into the list, or by dragging a MAX file into a 3ds Max viewport, whereupon you're presented with a menu with the following options: Open File, Merge File, XRef File, and Cancel. Convert Selected Lets you take any selected objects in your scene and create XRefs from them. Basically, this does a Save Selected for the objects, which are automatically cut from the MAX file and pasted into a new file. A file dialog lets you name the new file. They remain in the current scene but are now scene XRefs. Remove Removes the XRef scene currently chosen in the list, and removes it from the current scene. To use, choose one or more XRef scenes in the list, and then click the Remove button. Select buttons These standard buttons change the pattern of selection in the list. All Selects all items in the list. None Deselects all items in the list. Invert Inverts the current selection pattern in the list. XRef File group Enabled Turn this off to disable the highlighted XRef. When an XRef is disabled, it’s listed in gray in the list, and it’s not loaded into memory. Overlay When on, treats the referenced source scene as an overlay on page 8001. Default=off. 8010 | Chapter 21 Managing Scenes and Projects Overlays allow multiple scene references without the risk of creating circular dependencies. The scene XRef marked as overlay is loaded only into the master scene that references it, and is not visible in other scenes that might XRef the master file that uses the overlay. See Overlays on page 8001 for more information. WARNING If you turn off the Overlay flag for an existing XRef scene, you can cause circular XRefs to occur, that aren’t detected until you or another user tries to open one of the scenes in the project. Merge Click this to merge selected XRefs into the scene as real geometry. A prompt appears so you can confirm the action. Since a merged XRef becomes part of the scene and is no longer an XRef, its name is removed from the list. Update File group Determines how and when the XRef scenes are updated. These options are applied to the selected XRefs; for example, one XRef can have automatic updating, while another can have manual updating (using the Update Now button). WARNING If you update an XRef in a scene with radiosity on page 7068, you will likely invalidate the radiosity solution. After you update the XRef, reset the radiosity solution and then recalculate it. Automatic When this check box is turned on, the selected XRef scene is automatically updated when its source scene is saved. Update Now Click this to update a selected XRef scene when you’re not using Automatic (or when several XRef scenes are selected and some of them are not set to Automatic). When you click Update Now, the XRef is updated to match the latest saved version of the source scene. Display Options group These options let you specify how the selected XRefs are displayed in viewports. These options have no effect on the rendered scene. Visible Turn on or off to display or hide the selected XRefs. This affects the visibility of the XRef in the viewports only (not in renderings). Note, also, that this behavior is different from the “Enabled” check box. Turning off Visible does not remove the XRef from memory. Box Turn this on to display the selected XRefs as bounding boxes. Turn off to display the full geometry. External References (XRefs) | 8011 Ignore group This group box lets you specify categories that you do not want included with the XRef scene. For example, if you turn on Lights, the lights in the XRef source scene are not included in the current, target scene. You can switch these categories on and off at any time, but if you Merge an XRef scene while a category is turned off, that category of objects will not be merged into the scene. Lights Turn this on to ignore the lights. Cameras Turn this on to ignore the cameras. Shapes Turn this on to ignore the shapes. Helpers Turn this on to ignore the helpers. Animation Turn this on to ignore the animation. All animation in the scene is disabled and the scene appears as it would at frame 0 of the source scene. WARNING Children of an ignored object are also ignored. For example, if you have mesh objects linked as children to a dummy object and ignore Helpers, then the mesh objects are ignored as well. Parent group These controls let you position and animate XRef scenes within the current scene by binding the XRef scene to a parent object. Parent Name field Displays the name of the parent for the currently selected XRef. Bind Click this, and then pick an object in the current scene to become the parent of the highlighted XRefs. Once an XRef is bound to a parent object, the transforms of the parent are inherited by the XRef. Thus, you can animate the XRef by animating the transforms of the parent. Unbind Click to unbind the highlighted XRefs from whichever parent they’d been bound to. Binding XRefs to objects is similar to linking objects, as performed with the Link/Unlink buttons on the toolbar. If you Merge a linked XRef scene, converting it to objects in the current scene, the objects in the XRef scene become linked children of the binding parent. At this point, you could Unlink them (using the toolbar command), and they’ll maintain their offset position to the parent. 8012 | Chapter 21 Managing Scenes and Projects _____ Close Click to close the dialog. Missing XRef Paths Dialog Application menu on page 8579 ➤ Open ➤ Open a file that references missing files. If you load or render a scene with XRefs, but the originally specified path of the XRef object or scene can’t be found, or if the XRef object name doesn’t match the object name in the source file, an alert appears telling you this. The alert works in the same way as the missing bitmap dialog, and provides you with two options, described below. Interface OK Lets you open the file. The referenced scene will have placeholders, but will not exist in the scene. Browse Displays the Configure XRefs Paths dialog which you can use to specify the correct file path. This lets you modify, delete, add, and change the list position of the paths 3ds Max uses to look for missing files. This panel is similar to the one displayed by choosing Customize ➤ Configure User Paths ➤ XRefs on page 8880. If this problem occurs during network rendering, the dialog doesn’t appear, but the errors are written to the network log file. External References (XRefs) | 8013 File Link Manager Application Menu on page 8579 ➤ References ➤ File Link ➤ File Link Manager Utilities panel ➤ Utilities rollout ➤ Click the More button. ➤ Utilities dialog ➤ File Link Manager The File Link Manager utility allows you to work in either another design software's environment (such as AutoCAD) or in 3ds Max while maintaining a single design database. If you use AutoCAD drawings, this feature works with drawings from AutoCAD Release 12 through AutoCAD 2005, including the AutoCAD Mechanical/Architecture and Revit applications. File Link also supports FBX files from Revit 2009 and Revit 2010. You can establish, refresh, and break links to any number of linked files. You can also edit out unnecessary information by using layers and other filters. The File Link Manager defines which geometry is included in the 3ds Max scene from the linked file, how the geometry is organized, and when it is regenerated. The objects that you bring in from linked files behave just like any other object created in 3ds Max. You can scale, rotate, and move them, apply modifiers, and assign materials. You can also refresh or break links to linked files. When you refresh a linked file, any changes you’ve made to the linked file are applied to geometry in your scene. However, 3ds Max will not change the original, linked file. The integrity of your other software’s design database is never compromised by using the File Link Manager. Finally, if you decide to break a link to a linked file, you can either keep the objects from the linked file in your scene, or have them removed along with the link. TIP For optimal speed when bringing a DWG file that contains a lot of text into 3ds Max, use Import on page 8194 rather than File Link. 8014 | Chapter 21 Managing Scenes and Projects File Link Workflow File Link is best understood through a few simple principles: ■ Changes in AutoCAD, AutoCAD Architecture, or Revit can change the data viewed in 3ds Max, but changes in 3ds Max never change the data in AutoCAD, AutoCAD Architecture, or Revit. Creating a file link is a one-way process that supports the central role of AutoCAD, AutoCAD Architecture, or Revit in developing and keeping a record of your core design database. Many changes made in AutoCAD, AutoCAD Architecture, or Revit will appear in 3ds Max after you reload a file link. These include adding or removing objects, moving objects, changing material assignments (specific to AutoCAD Architecture and Revit drawings), and enabling Live Section objects (specific to AutoCAD Architecture drawings). Changes made in 3ds Max, such as moving objects, changing material assignments, and adding lights, will never appear in your AutoCAD, AutoCAD Architecture, or Revit drawing. ■ Changes you can make in AutoCAD, AutoCAD Architecture, or Revit should be made in AutoCAD, AutoCAD Architecture, or Revit. Changes that you make in AutoCAD, AutoCAD Architecture, or Revit become part of the design database, whereas changes you make in 3ds Max appear only in the renderings you produce. ■ Changes in AutoCAD, AutoCAD Architecture, or Revit aren't reflected in 3ds Max unless you choose them to be. When you make changes to drawing files, those changes will not appear in 3ds Max unless you use the File Link Manager Reload command on page 8022. When you reload a link in 3ds Max, you can choose to update just the geometry from AutoCAD, AutoCAD Architecture, or Revit, you can reload only specific objects, or (with AutoCAD Architecture and Revit drawings) you can choose to update both the geometry and the material assignments. NOTE After changing your Revit project, you must export a new FBX or DWG file, and then reload that file into 3ds Max. 3ds Max cannot link a native Revit project, an RVT file, directly. You can transform (move, rotate, or scale) AutoCAD, AutoCAD Architecture, or Revit objects and blocks that appear in 3ds Max, and these types of changes are not lost upon reload. If you have moved, rotated, or scaled linked objects and want the objects to resume the position and scale they have in the original drawing file, use the Reset Position function on page 8064. File Link Manager | 8015 ■ 3ds Max integrates linked AutoCAD, AutoCAD Architecture, or Revit data with non-AutoCAD, AutoCAD Architecture, or Revit data. In addition to the linked AutoCAD, AutoCAD Architecture, or Revit geometry and material assignments, 3ds Max allows you to create or merge into your scene many types of data from other sources, including: ■ Lighting objects for simulating light fixtures and daylight conditions. ■ Entourage objects such as surrounding buildings, terrain, trees, cars, and people. ■ Advanced rendering material effects that simulate the rich visual variety of any imaginable material. You can take advantage of materials that appear on objects created in 3ds Max, and you can create your own material effects using the Material Editor. Materials created with the Material Editor can be assigned to any component in your scene. ■ Bitmaps for use as environment backgrounds. You can use still images in a variety of formats, or even animated movies, as a rendering background to create stunning photomontages that appear to place your proposed design right into the actual location. File Link Manager Dialog Application Menu on page 8579 ➤ References ➤ File Link ➤ File Link Manager ➤ File Link Manager dialog Utilities panel ➤ Utilities rollout ➤ Click the More button. ➤ Utilities dialog ➤ File Link Manager ➤ File Link Manager dialog The main interface to the File Link Manager is the File Link Manager dialog Procedures To link a drawing file: You can link drawings in the form of DWG, DXF, or FBX files. A DWG is the native file format for AutoCAD and AutoCAD Architecture; when you work 8016 | Chapter 21 Managing Scenes and Projects with a Revit project, you can export to either DWG or FBX format. (The File Link Manager does not recognize RVT files.) 1 Choose Link Manager. Application Menu on page 8579 ➤ References ➤ File 2 On the Attach panel, click Files to select a file from the appropriate directory on either your local or network system, and click Open. 3 Choose a Preset from the drop-down list, if you have one defined. TIP If this is your first File Linking, and you have not defined any presets, you might want to create one on the Presets panel on page 8023 of the dialog. 4 If the file is a DWG or DXF file, turn on Rescale and change the Incoming File Units, if necessary. 5 Click Attach This File. To reload a drawing: Reload is most often used when your drawing or project has been changed in AutoCAD, AutoCAD Architecture, or Revit, or if the linked drawing file has been moved and you have to tell the File Link Manager where to find the drawing. NOTE If your Revit project has been updated, remember to export a new FBX or DWG file that can be reloaded. 1 On the Files panel of the File Link Manager, click the file name in the Linked Files list and click Reload. Linked files that have been changed are prefaced with the symbol. TIP Turn on the Show Reload Options switch if you want to make changes to the settings used to link the drawing. Otherwise, the reload process will use the same settings you originally used when creating the link. 2 If Show Reload Options is turned on, 3ds Max displays either the File Link Settings: DWG Files dialog on page 8028 or the File Link Settings: FBX File Link Manager | 8017 Files dialog on page 8024, depending on the file type. This dialog lets you change your link settings. NOTE When you reload a DWG or DXF file, you cannot change the sorting or layer options. 3 Click OK to reload the file. Interface The File Link Manager dialog contains three panels: ■ Attach on page 8019 ■ Files on page 8021 ■ Presets on page 8023 These panels let you attach files, update attachments and settings, and change the presets used by File Link. The terminology is similar to the terminology for managing AutoCAD external references, or xrefs on page 9355. NOTE An xref is an AutoCAD external reference. This is different from a 3ds Max Xref on page 9356, which is an externally referenced file that can be a 3ds Max object or scene. 8018 | Chapter 21 Managing Scenes and Projects Attach panel File Displays a file Open dialog where you can the browse for the DWG, DXF, or FBX file that you want to link. Once you have chosen a file, its path and name appear in the File list. File list The file to link to your scene. You can enter the path and name in this field, or you can use the drop-down list to display a history of the last ten files that you have linked. TIP You can resize the File Link Manager dialog by dragging any corner or edge. This is useful for viewing a file path if it’s too long to fit in the default-sized file list field. Preset Displays a list of preset settings you can choose to use when attaching the file. Each list entry in this list represents a unique collection of attach and reload settings. You can create additional presets in the Presets panel of the File Link Manager dialog. Rescale (DWG/DXF files only.) Alters the scale of the geometry from a linked file to match the system unit scale on page 8959 in 3ds Max. When Rescale is on, you can specify what the base units should be for the geometry in the linked file. For example, if the length of a line in the linked file is 2 units, you File Link Manager | 8019 can specify that these units be considered as any of the units listed under File Units (below), such as inches, millimeters, or parsecs. ■ Incoming file unitsLists the units to which you can choose to rescale the linked file. This is active only when Rescale is on. When Rescale is on, and the units you specify are different from the system units currently set in the 3ds Max scene, the incoming objects are scaled appropriately. For example, if a door measures 914 units in the linked file, and you specify millimeters to convert from, the door will measure 36 inches in the 3ds Max scene. NOTE You can't change units when you reload a linked DWG or DXF file. NOTE By default, 3ds Max system units are inches. Consider carefully before changing the default system units. For more information, see Using Units on page 2810. Select Layers to Include (DWG/DXF files only.) Displays the Select Layers dialog on page 8045, which you use to select the layers to import from the linked file. Attach This File Attaches the selected file to your scene, using the settings specified by the preset in the Preset list, if you chose one. To cancel the File Link operation, press Esc. You can do this at any time during the process. Cancelling the File Link operation removes every object the process has linked to the scene up to the moment you press Esc. Closing the File Link Manager dialog cancels all changes you made to the File Link settings. 8020 | Chapter 21 Managing Scenes and Projects Files panel The Reload, Detach, and Bind buttons are available only when you have highlighted a particular file in the Linked Files list. Linked Files Lists linked files. The File Link Manager displays an icon next to the path name of each linked file. The icon reflects the status of the linked file: The linked file hasn't changed, and there are no errors. The linked file can't be found at the specified location. The linked file has changed, or another file has been selected by changing the path or using the browser from this list. If you want to update your scene with the changes in this file, you must reload on page 8022 your link. You can change the path name by highlighting it and clicking again to enter a new location. Clicking the path twice also displays a file browser button to the right of the file name. Click this to locate a file using a file Open dialog. If the directory of a linked file is no longer valid, then you must enter a new, valid path name. File Link Manager | 8021 Reload Click to refresh the link between the file and the 3ds Max session. Reload is useful when the original file has been modified and you want to see the changes reflected in your 3ds Max scene. ■ Show Reload options When this is on, clicking Reload opens either the File Link Settings: DWG Files dialog on page 8028 or the File Link Settings: FBX Files dialog on page 8024, depending on the file type. In this dialog, you can change the settings used to link the file (some initial settings can’t be changed). When off, Reload relinks the file using the currently active link settings. Default=on. NOTE Changes that have been made to the base file are applied to the objects at the bottom of the 3ds Max modifier stack. In other words, the local 3ds Max modifiers are not changed. If you have 3ds Max materials applied to walls in a floor plan in your scene, the same materials are applied to the walls when you reload an updated version of the linked file. To cancel the Reload, press Esc. You can do this at any time during the process. Cancelling the Reload removes every object the process has linked to the scene up to the moment you press Esc. Detach Click to removes an existing link to a file. Detach also removes all geometry associated with or dependent on the link. When you click Detach, 3ds Max displays a warning that you're about to remove all objects associated with the linked file. You can either proceed or cancel the operation. Bind Click to remove the link to the file, but retain the geometry in your 3ds Max scene. The geometry is no longer linked back to the original file, and if the original file changes, you can no longer update the geometry by using Reload. When you click Bind, 3ds Max displays a warning that you’re about to break the link between the objects in the current 3ds Max scene and the original file. 8022 | Chapter 21 Managing Scenes and Projects Presets panel Named Presets Lists all existing presets. Modify Opens the File Link Settings: DWG Files dialog on page 8028 or the File Link Settings: FBX Files dialog on page 8024, depending on the file type. In the dialog, you can change the settings for the selected preset. Modify is available only when you have highlighted a preset in the list. New Opens the New Settings Preset dialog on page 8097, creating a new preset with default settings. New is available only when no preset is highlighted in the list. If a preset is highlighted, this button changes to Copy. Copy Opens the New Settings Preset dialog on page 8097, creating a new preset with the same settings as the currently selected preset. Copy is available only when a preset is highlighted in the list. If no preset is highlighted, this button changes to New. Rename Opens the Rename Settings Preset dialog on page 8099, letting you change the name of the highlighted preset. Rename is available only when a preset is highlighted in the list. Delete Deletes the selected preset. Delete is available only when a preset is highlighted in the list. File Link Manager | 8023 File Link Settings: FBX Files Dialog Application Menu on page 8579 ➤ References ➤ File Link ➤ File Link Manager ➤ Files tab Highlight an FBX file. ➤ Turn on Show Reload Options. ➤ Click Reload. Application Menu on page 8579 ➤ References ➤ File Link ➤ File Link Manager ➤ Presets tab ➤ Highlight am FBX preset. ➤ Click Modify. Utilities panel ➤ Utilities rollout ➤ More button ➤ File Link Manager ➤ Files tab ➤ Highlight an FBX file. ➤ Turn on Show Reload Options. ➤ Click Reload. Utilities panel ➤ Utilities rollout ➤ More button ➤ File Link Manager ➤ Presets tab ➤ Highlight an FBX preset. ➤ Click Modify. This dialog appears when you reload an FBX file, or edit the settings of an FBX preset. The File Link Settings: FBX Files dialog gives you control over some details of how geometry is translated from FBX files and interpreted in 3ds Max. In particular, it offers several ways to combine FBX geometry and reduce the complexity of your 3ds Max scene, which can improve performance. 8024 | Chapter 21 Managing Scenes and Projects Interface File Link FBX settings when you reload a file File Link Manager | 8025 File Link FBX settings when you edit a preset [Name field] When you edit a preset, this field shows the name of the preset. When you reload an FBX file, this field shows the path and name of the file. Combine Entities list When you edit a preset, this drop-down list lets you choose the way in which Revit entities are combined. Combining entities can reduce the number of objects in your 3ds Max scene, and improve performance. When you reload an FBX file, you cannot change the Combine Entities setting. 3ds Max provides these options for combining FBX entities: ■ By Revit MaterialRevit entities assigned the same material become a single 3ds Max object. The object has the name of the material, and is placed on a layer that also has the name of the material. Revit metadata (Family and Category) does not appear in the 3ds Max Scene Explorer. Multi/Sub-Object material information is lost. NOTE If the Revit scene does not contain material assignments, the geometry is imported as a single object, and this option becomes comparable to the As One Object option. 8026 | Chapter 21 Managing Scenes and Projects ■ By Revit CategoryRevit entities that have the same Category become a single 3ds Max object. The object has the name of the Category and is placed on a layer that also has the name of the Category. The Family and Category appear in the 3ds Max Scene Explorer. Multi/Sub-Object material information is retained. ■ By Revit Family TypeRevit entities that belong to the same Family become a single 3ds Max object. The object has the name of the Family and is placed on a layer that also has the name of the Family. The Family and Category appear in the 3ds Max Scene Explorer. Multi/Sub-Object material information is retained. ■ As One ObjectLinks the entire Revit drawing as a single 3ds Max object, with the name of the FBX view. The object is placed on a layer that also has the name of the FBX view. Revit metadata (Family and Category) does not appear in the 3ds Max Scene Explorer. Revit materials are combined into a single Multi/Sub-Object material. TIP This option is useful if you are doing a massing study such as a shadow animation. ■ Do Not CombineLinks each Revit entity as a single 3ds Max object. This is comparable to importing an FBX file. WARNING Do Not Combine is a simple option, but if the Revit drawing is large, 3ds Max performance can suffer. Objects group Create Helper at Model Origin When on, 3ds Max creates a Point helper on page 2884 object at the origin of the FBX geometry and the 3ds Max scene. The geometry is linked to the point helper, so moving the helper moves the Revit geometry. The name of the helper is the name of the FBX file (without its path). Default=on. Lights When on, links lights from the FBX file. Default=on. WARNING Exporting from Revit to FBX converts multiple instances of a light type to individual, unique light objects. This can dramatically reduce 3ds Max performance, and we recommend that you use 3ds Max to add the lighting to an FBX model. Daylight System When on, links the daylight system from the FBX file. Default=on. File Link Manager | 8027 Cameras When on, links the camera from the FBX file. A Revit FBX file contains a single camera that shows the view you exported. Default=on. Material group Use Scene Material Definitions When on, uses material definitions from the 3ds Max scene rather than materials from the Revit drawing. Default=off. Use Scene Material Assignments on Reload When on, reloading ignores material assignments in the Revit drawing and retains the material assignments from the 3ds Max scene. Default=off. File Link Settings: DWG Files Dialog Application Menu on page 8579 ➤ References ➤ File Link ➤ File Link Manager ➤ Files tab Highlight a DWG or DXF file. ➤ Turn on Show Reload Options. ➤ Click Reload. Application Menu on page 8579 ➤ References ➤ File Link ➤ File Link Manager ➤ Presets tab ➤ Highlight a DWG/DXF preset. ➤ Click Modify. Utilities panel ➤ Utilities rollout ➤ More button ➤ File Link Manager ➤ Files tab ➤ Highlight a DWG or DXF file. ➤ Turn on Show Reload Options. ➤ Click Reload. Utilities panel ➤ Utilities rollout ➤ More button ➤ File Link Manager ➤ Presets tab ➤ Highlight a DWG/DXF preset. ➤ Click Modify. This dialog appears when you reload a DWG or DXF file, or edit the settings of a DWG/DXF preset. The File Link Settings: DWG Files dialog gives you control over the detailed aspects of how geometry is translated from DWG or DXF files and interpreted in 3ds Max. It also allows you to control whether only a portion of the 3ds Max objects will be affected by subsequent reloading. 8028 | Chapter 21 Managing Scenes and Projects The File Link Settings dialog lets you: ■ View and exclude layers in a linked DWG/DXF file. ■ Control how geometry is converted. ■ Define how linked objects are converted to the 3ds Max objects known as VIZBlocks. The selections you make in the File Link Settings dialog can affect the amount of memory used by 3ds Max to hold the linked data. Use the Select Layers To Include option on page 8039 to reduce the amount of information added to your scene. In some cases, it might be more efficient to create multiple links to the same file, making different file link settings for each file. See also: ■ File Link Tips on page 8056 Basic File Link Settings Application Menu on page 8579 ➤ References ➤ File Link Manager ➤ File Link Manager dialog ➤ Files panel ➤ Reload a linked DWG/DXF file with Show Reload turned on. ➤ File Link Settings: DWG Files dialog ➤ Basic panel Application Menu on page 8579 ➤ References ➤ File Link Manager ➤ File Link Manager dialog ➤ Presets panel ➤ Select an existing DWG/DXF preset and click Modify. ➤ File Link Settings: DWG Files dialog ➤ Basic panel Application Menu on page 8579 ➤ References ➤ File Link Manager ➤ File Link Manager dialog ➤ Presets panel ➤ Create a new DWG/DXF preset. ➤ Select the newly created preset and click Modify ➤ File Link Settings: DWG Files dialog ➤ Basic panel File Link Manager | 8029 Utilities panel ➤ Utilities rollout ➤ More button ➤ File Link Manager ➤ File Link Manager dialog ➤ Files panel ➤ Reload a linked DWG/DXF file with Show Reload turned on. ➤ File Link Settings: DWG Files dialog ➤ Basic panel Utilities panel ➤ Utilities rollout ➤ More button ➤ File Link Manager ➤ File Link Manager dialog ➤ ➤ Presets panel ➤ Highlight an existing DWG/DXF preset and click Modify. ➤ File Link Settings: DWG Files dialog ➤ Basic panel Utilities panel ➤ Utilities rollout ➤ More button ➤ File Link Manager ➤ File Link Manager dialog ➤ Presets panel ➤ Create a new DWG/DXF preset. ➤ Highlight the newly created preset and click Modify ➤ File Link Settings: DWG Files dialog ➤ Basic panel The Basic panel of the File Link Settings: DWG Files dialog on page 8028 defines how 3ds Max converts the linked file’s objects into corresponding 3ds Max objects. 8030 | Chapter 21 Managing Scenes and Projects Interface Weld nearby vertices Sets whether to weld nearby vertices of converted objects according to the Weld Threshold setting. Welding smooths across seams and unifies normals of objects with coincident vertices. Welding occurs only on vertices that are part of the same object. Weld threshold Sets the distance that determines whether vertices are coincident. If the distance between two vertices is less than or equal to the weld threshold, the vertices are welded together. To use the Weld Threshold, turn on Weld. Auto-smooth adjacent face Assigns smoothing groups on page 9310 according to the Smooth-angle value. Smoothing groups determine whether faces on File Link Manager | 8031 an object render as a smooth surface or display a seam at their edges, creating a faceted appearance. Smooth-angle Controls whether smoothing occurs between two adjacent faces. If the angle between the two face normals is less than or equal to the smooth angle, the faces are smoothed (that is, put in the same smoothing group). Orient normals of adjacent faces consistently Analyzes the face normals of each object and flips normals where necessary, so they all point in a direction that is consistent with adjoining faces. If the imported geometry isn't properly welded, or if the AutoCAD geometry did not contain or specify normal information, normals might be oriented in the wrong direction. Use the Edit Mesh on page 1263 or Normal on page 1497 modifiers to flip normals. When Unify Normals is off, normals are calculated according to the face vertex order in the linked file. Face normals for AutoCAD solids are already unified. Turn off Unify Normals when importing only AutoCAD solid models from AutoCAD Architecture. Cap closed splines Applies an Extrude modifier on page 1369 to all closed objects, and selects the Cap Start and Cap End options of the modifier. The Extrude modifier Amount value for a closed object with no thickness is set to 0. Capping makes closed objects with thickness appear solid and closed objects without thickness appear flat. When Cap Closed Objects is off, the Extrude modifier Cap Start and Cap End options for closed objects with thickness are clear. No modifiers are applied to closed objects without thickness. TIP Unless you chose the One-to-One sorting option, you won't immediately see the Extrude modifier when selecting an object. To see it, look through the modifier stack for the VIZBlock on page 9344 sub-objects. In a nested VIZBlock, the Extrude modifiers appear at the bottom of the stack. You can then edit the Extrude modifier parameters. Texture Mapping The texture mapping setting can reduce the loading time of models that have many objects with stored UVW Coordinates for texture mapped materials. NOTE This setting applies only to geometry that is stored as a mesh in the scene. Spline shapes marked as renderable have separate controls for UVW coordinate generation; these are found on the Spline Rendering panel on page 8041. ■ Generate Coordinates For All ObjectsAutomatically generates UVW coordinates for all objects when the drawing is linked. 8032 | Chapter 21 Managing Scenes and Projects This option tells the File Link Manager to create UVW coordinates, but loading time is increased while the coordinate generation occurs. ■ Generate Coordinates On DemandDoes not generate texture coordinates for linked mesh objects. Actively linked objects generate UVW coordinates on demand, so if you assign a material to an object and the material requires texture coordinates, the texture coordinates are silently assigned to that object. If the material or texture map is set to display in viewport, the coordinates are assigned as soon as the material is applied; if not, the coordinates are assigned when the scene is rendered. This option gives you faster loading speed, but no UVW coordinate generation. NOTE Objects in drawings created in AutoCAD Architecture pass texture coordinates explicitly to 3ds Max when you attach the drawing. If you specify on-demand coordinate generation, they might not match the coordinates that were specified in the original drawing. The map scaling is the same, but the texture offsets may be altered. Curve steps For objects such as splines, the number of knot points determines the spline's shape and curvature. The Curve steps value defines the number of segments between knot points. A low value gives you a more linear interpolation between the knot points; a higher number gives you a more accurate curve. Maximum surface deviation for 3D solids Specifies the maximum allowable distance from the 3ds Max surface mesh to the parametric AutoCAD solid surface. Small numbers produce more accurate surfaces with a greater number of faces. Large numbers produce less accurate surfaces with fewer faces. Include group This group allows you to toggle the inclusion of specific parts of a DWG file during the file link process. External references Imports xrefs attached to the DWG file. Lights Imports lights from pre-AutoCAD 2007 DWG files. Sun and Sky Imports Sun and Shadows position from the drawing file (AutoCAD / AutoCAD Architecture 2008 and Revit 2008 only). File Link Manager | 8033 NOTE You must set mental ray as the default renderer for you to see the Sun and Sky effect. To set mental ray as the default renderer, see Choose Renderer Dialog on page 7035. Hatches Imports hatches from the DWG file. WARNING This stores each line or dot in the hatch pattern as a separate spline that defines the hatch; this can create a very large number of objects in your scene. Views and Camera Imports named views from the DWG file, and converts them to 3ds Max cameras. NOTE Orthographic views do not translate correctly in imported DWG files. However, there are no problems with Perspective views. Points Imports points from the DWG file. NOTE The imported point objects are represented in 3ds Max as Point Helper on page 2884 objects. UCSs (grids) Imports user coordinate systems (UCS) from the DWG file and converts them to 3ds Max grid objects. Advanced File Link Settings Application Menu on page 8579 ➤ References ➤ File Link Manager ➤ File Link Manager dialog ➤ Files panel ➤ Reload a linked DWG/DXF file with Show Reload turned on. ➤ File Link Settings: DWG Files dialog ➤ Advanced panel Application Menu on page 8579 ➤ References ➤ File Link Manager ➤ File Link Manager dialog ➤ Presets panel ➤ Select an existing DWG/DXF preset and click Modify. ➤ File Link Settings: DWG Files dialog ➤ Advanced panel Application Menu on page 8579 ➤ References ➤ File Link Manager ➤ File Link Manager dialog ➤ Presets panel ➤ Create a new DWG/DXF 8034 | Chapter 21 Managing Scenes and Projects preset. ➤ Select the newly created preset and click Modify ➤ File Link Settings: DWG Files dialog ➤ Advanced panel Utilities panel ➤ Utilities rollout ➤ More button ➤ File Link Manager ➤ File Link Manger dialog ➤ Files panel ➤ Reload a linked DWG/DXF file with Show Reload turned on. ➤ File Link Settings: DWG Files dialog ➤ Advanced panel Utilities panel ➤ Utilities rollout ➤ More button ➤ File Link Manager ➤ File Link Manager dialog ➤ Presets panel ➤ Highlight an existing DWG/DXF preset and click Modify. ➤ File Link Settings: DWG Files dialog ➤ Advanced panel Utilities panel ➤ Utilities rollout ➤ More button ➤ File Link Manager ➤ File Link Manager dialog ➤ Presets panel ➤ Create a new DWG/DXF preset. ➤ Highlight the newly created preset and click Modify ➤ File Link Settings: DWG Files dialog ➤ Advanced panel The Advanced panel of the File Link Settings: DWG Files dialog on page 8028 controls how 3ds Max derives AutoCAD primitives and whether 3ds Max uses the scene material definitions when linking to or reloading the AutoCAD drawing. It also lets you selectively reload your scene, so that you reload only specific objects, not the entire file. File Link Manager | 8035 Interface Derive AutoCAD primitives by: Lists the options for deriving objects from the linked DWG file. This setting is available only when modifying a preset on page 8100. NOTE This applies only to standard AutoCAD primitives. Specialized objects, such as those from AutoCAD Architecture, are handled differently. TIP For best results, use the Layer, Blocks as Node Hierarchy or Entity, Blocks as Node Hierarchy options, except in special circumstances. There are six options to choose from: ■ Layer, Blocks as Node HierarchyLinked objects on a given layer in the AutoCAD drawing that aren't in blocks are combined into a single Editable 8036 | Chapter 21 Managing Scenes and Projects Mesh or Editable Spline object in 3ds Max. The name of each linked object is based on the AutoCAD object's layer. The linked object name has a “Layer:” prefix and is followed by the layer name. For example, all AutoCAD objects residing on the layer Walls become part of the Editable Mesh named Layer:Walls after they are linked in 3ds Max. Each block is linked separately as a hierarchy, with the block itself as the parent object and its constituent parts as child objects. The child objects of the block are combined by layer. TIP This is usually the best option for file linking. It preserves all ADT information, and generally maintains the same granularity as you would expect in AutoCAD. ■ Layer, Blocks as Node Hierarchy, Split by MaterialThis works the same as the Layer, Blocks as Node Hierarchy option, with the following additional functionalities: The combination of non-block objects by layer, followed by material and support for multiple materials assigned to ACIS solid and polymesh geometry. ■ Non-block object layer combination: For example, take an AutoCAD file with six objects in layer A: three have a Brick material and three have a Stone material. Using this option, this file would be linked to in the form of two objects, or nodes, one containing the Brick material and the other with the Stone material. Each block is linked to separately as a hierarchy, with the block itself as the parent object and its constituent parts as child objects. The child objects of the block are combined by layer. ■ Multiple material support On import, ACIS solids and polymesh geometry can support multiple materials. For polymesh geometry, one material is supported per face. For an ACIS solid, if the solid has more than one material associated with it, a multi/sub object material is created that contains the materials used. If the solid has only one material associated with it, a standard/architectural material is assigned instead. NOTE Multiple material support for ACIS solids applies to DWG files imported or file linked from Revit Architecture 2008 or AutoCAD Architecture (formerly Architectural Desktop or ADT) 2008 and later. File Link Manager | 8037 NOTE This derivation method is intended for use with AutoCAD 2007 (and later) format files. Using this method with DWG files created with previous versions of AutoCAD could result in data loss. ■ Entity, Blocks as Node HierarchyEvery linked object not in a block is represented as a separate object in the 3ds Max scene, without regard to layers. The nodes are then placed on scene layers that correspond to the drawing layers. Each block is imported separately as a hierarchy, with the block itself as the parent object and its constituent parts as child objects. The child objects of the block are combined by layer. One benefit of this option is that you can apply instanced animation controllers on page 3428 to block subcomponents and thus, by transforming a single member, transform all members at once. For example, in a scene containing a conference table with six chairs around it, you could move all of the chairs simultaneously by moving a single chair. Another advantage is that all geometry is instanced, so edited UVs and normals and other modifications need be done only once. NOTE This derivation method might cause unreliable material propagation when importing drawings containing dynamic blocks. Materials might propagate to some block instances and not to others. WARNING This option has the potential to create an enormous number of objects in your scene. Multiple materials per object are supported with this option, if needed. If the object is an ACIS solid, and has more than one material associated with it, a multi/sub object material is created containing the materials that can be edited in the Materials Editor. If the solid has only one material associated with it, a standard/architectural material is assigned instead. If the object is polymesh geometry, one material per face is supported. NOTE Multiple material support for ACIS solids applies on the DWG files imported or file linked from Revit Architecture 2008 or AutoCAD Architecture (formerly Architectural Desktop or ADT) 2007 and later. ■ LayerLinked objects are combined in 3ds Max according to their layer. Objects in each of the associated application's layers are combined into one object, with the exception of blocks, each of which is represented as an individual VIZBlock (not a hierarchy). Multiple inserts of the same block are represented using instances in the scene. Material assignments are lost but material IDs are preserved. 8038 | Chapter 21 Managing Scenes and Projects ■ ColorLinked AutoCAD objects are combined in 3ds Max according to their color. All objects of the same color are combined into one object, with the exception of blocks, each of which is represented as an individual VIZBlock (not a hierarchy). Multiple inserts of the same block are represented using instances in the scene. Material assignments are lost but material IDs are preserved. NOTE Blocks can contain objects with different colors. However, when sorting, 3ds Max considers only the color of the block itself. Also, 3ds Max objects can only display one color, unless a material is applied. ■ EntityProvides a one-to-one correspondence between AutoCAD objects and 3ds Max objects. For each linked object or block in the imported file, the File Link Manager creates an independent object or VIZBlock, respectively, in the scene. Material assignments are lost but material IDs are preserved. WARNING This option has the potential to create an enormous number of objects in your scene. NOTE When working with drawings exported from Revit, it is recommended that you do not use this setting. ■ One ObjectAll linked objects are combined into a single VIZBlock. Material assignments are lost but material IDs are preserved. Select Layers to Include Displays the Select Layers dialog on page 8045, which you use to choose layers to import from the linked file. Available only when reloading a linked file. TIP Excluding unnecessary objects from linking can improve the performance of the reload operation. Create Helper at Drawing Origin When on, 3ds Max inserts the user coordinate system icon as an origin point helper. 3ds Max places this helper at the world origin of the linked file. It's a reference point for all the geometry of the linked file. After attaching, the helper is selected, allowing you to easily move, rotate, or scale all the geometry that was just added to the scene. Each linked file gets a unique helper object. This setting is available only when modifying a preset on page 8100. Use Extrude Modifier to Represent Thickness When on, linked objects with thickness receive an Extrude modifier to represent the thickness value. You File Link Manager | 8039 can then access the parameters of this modifier and change the height segments, capping options, and height value. When off, objects with thickness (and closed capped objects) are converted directly to a mesh. This setting is available only when modifying a preset on page 8100, and not using the Derive option Layer, Blocks as Node Hierarchy. Create One Scene Object for Each ADT Object AutoCAD Architecture (formerly Architectural Desktop or ADT) objects are linked as a single object instead of being separated into their constituent components. This means that if you link an AutoCAD Architecture door object, the door is represented as one object instead of three. Turning on this switch make linking faster and the scene size is smaller. This setting is available only when modifying a preset on page 8100. NOTE This switch presents several modeling concerns that you need to be aware of. ■ Material assignments from AutoCAD Architecture are not translated during the file link process. ■ If you want to assign materials to these objects, use Multi/Sub-Object materials. ■ Depending on the Texture Mapping option you choose, UVW coordinates are translated correctly. Use Scene Material Definitions When on, 3ds Max checks the current scene for any currently used materials with the exact same name as a material name in the linked DWG file. If a match is found, File Link does not translate the drawing’s material, but instead uses the material defined in the scene. When off, the File Link Manager always uses the material definitions contained in the DWG file, and will overwrite scene materials with the same name, regardless of which objects the material is applied to. All material definitions stored in the DWG file are reloaded (even when using a selective reload). If you make changes to a linked material, in 3ds Max, then reload, those changes will be lost (if the switch is off). If Use Scene Material Assignments on Reload is on at the same time as Use Scene Material Definitions, standard/architectural materials, material assignments, and face material IDs are left as they are. If Use Scene Material Assignments on Reload is off at the same time as Use Scene Material Definitions, only the material assignments and face material IDs are updated and standard/architectural materials are not translated. 8040 | Chapter 21 Managing Scenes and Projects TIP When reloading a file, most of the materials from the DWG file will have already been created in the scene by 3ds Max; they may not need to be re-translated. If you want to update a scene material with the definition contained in the drawing, turn this switch off. NOTE Material name comparison is case-sensitive. Use Scene Material Assignments on Reload When on, linked objects with a material already assigned to them in the 3ds Max scene will not have that material assignment changed. This is the case regardless of whether the material was assigned automatically by the File Link Manager or manually by the user. When off, linked objects have their material assignment “coordinated” with the drawing, so that the two are in sync. If Use Scene Material Definitions is on at the same time as Use Scene Material Assignments on Reload, standard/architectural materials and material assignments are left unchanged. If Use Scene Material Definitions is off while Use Scene Material Assignments on Reload is on, only standard/architectural materials are retranslated. Any material assignments and Face Material IDs are left unchanged, so Multi/Sub object materials are not retranslated but some sub-materials may have changed. Selective Reload Lets you perform a partial reload of your linked file. Use a partial reload when you know what has changed in the linked file, and want to speed up the time it takes to reload the geometry. The following options are available: ■ Selected in SceneReloads only the objects currently selected in your scene. ■ Selected in ListReloads only the objects that you choose from a named list. This list is defined by clicking Linked Objects. Linked Objects Allows you to reload only objects that you choose from a named list. The list is created from the objects linked in the file. When you click Linked Objects, the Select Linked Object dialog on page 8047 is displayed. Spline Rendering File Link Settings Application Menu on page 8579 ➤ References ➤ File Link Manager ➤ File Link Manager dialog ➤ Files panel ➤ Reload a linked DWG/DXF File Link Manager | 8041 file with Show Reload turned on. ➤ File Link Settings: DWG Files dialog ➤ Spline Rendering panel Application Menu on page 8579 ➤ References ➤ File Link Manager ➤ File Link Manager dialog ➤ Presets panel ➤ Select an existing DWG/DXF preset and click Modify. ➤ File Link Settings: DWG Files dialog ➤ Spline Rendering panel Application Menu on page 8579 ➤ References ➤ File Link Manager ➤ File Link Manager dialog ➤ Presets panel ➤ Create a new DWG/DXF preset. ➤ Select the newly created preset and click Modify ➤ File Link Settings: DWG Files dialog ➤ Spline Rendering panel Utilities panel ➤ Utilities rollout ➤ More button ➤ File Link Manager ➤ File Link Manager dialog ➤ Files panel ➤ Reload a linked DWG/DXF file with Show Reload turned on. ➤ File Link Settings: DWG Files dialog ➤ Spline Rendering panel Utilities panel ➤ Utilities rollout ➤ More button ➤ File Link Manager ➤ File Link Manager dialog ➤ Presets panel ➤ Highlight an existing DWG/DXF preset and click Modify. ➤ File Link Settings: DWG Files dialog ➤ Spline Rendering panel Utilities panel ➤ Utilities rollout ➤ More button ➤ File Link Manager ➤ File Link Manager dialog ➤ Presets panel ➤ Create a new DWG/DXF preset. ➤ Highlight the newly created preset and click Modify ➤ File Link Settings: DWG Files dialog ➤ Spline Rendering panel The Spline Rendering panel of the File Link Settings: DWG Files dialog on page 8028 controls how shapes will appear in the scene once the DWG or DXF file is linked. You can control the appearance of the shape, its smoothing, mapping coordinates and if they can be rendered. 8042 | Chapter 21 Managing Scenes and Projects Interface The controls on this panel are identical in name and operation to those found on the Rendering rollout on page 514 for splines. The values of these settings are set for all imported shapes. Once the import is complete, you can change the settings as necessary for each object. Enable in Renderer When on, the shape is rendered as a 3D mesh using the Radial or Rectangular parameters set for Renderer. Enable in Viewport When on, the shape is displayed in the viewport as a 3D mesh using the Radial or Rectangular parameters set for Renderer. Use Viewport settings Lets you set different rendering parameters, and displays the mesh generated by the Viewport settings. Available only when Enable In Viewport is on. Generate Mapping Coords Turn this on to apply mapping coordinates. Default=off. File Link Manager | 8043 3ds Max generates the mapping coordinates in the U and V dimensions. The U coordinate wraps once around the spline; the V coordinate is mapped once along its length. Tiling is achieved using the Tiling parameters in the applied material. For more information, see Mapping Coordinates on page 6005. Real-World Map Size Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout on page 6622. Default=on. Auto Smooth If Auto Smooth is turned on, the spline is auto-smoothed using the threshold specified by the Threshold setting below it. Auto Smooth sets the smoothing based on the angle between spline segments. Any two adjacent segments are put in the same smoothing group if the angle between them is less than the threshold angle. Threshold Specifies the threshold angle in degrees. Any two adjacent spline segments are put in the same smoothing group if the angle between them is less than the threshold angle. Viewport Turn this on to specify Radial or Rectangular parameters for the shape as it will display in the viewport when Enable in Viewport is turned on. Renderer Turn this on to specify Radial or Rectangular parameters for the shape as it will display when rendered or viewed in the viewport when Enable in Viewport is turned on. Radial Displays the 3D mesh as a cylindrical object. Thickness Specifies the diameter of the viewport or rendered spline mesh. Default=1.0. Range=0.0 to 9999.0. Splines rendered at thickness of 1.0 and 5.0, respectively 8044 | Chapter 21 Managing Scenes and Projects Sides Sets the number of sides (or facets) for the spline mesh n the viewport or renderer. For example, a value of 4 results in a square cross-section. Angle Adjusts the rotational position of the cross-section in the viewport or renderer. For example, if the spline mesh has a square cross section you can use Angle to position a "flat" side down. Rectangular Displays the spline's mesh shape as a rectangle. Length Specifies the size of the cross–section along the local Y axis. Width Specifies the size of the cross–section along the local X axis. Angle Adjusts the rotational position of the cross-section in the viewport or renderer. For example, if you have a square cross-section you can use Angle to position a "flat" side down. Aspect Sets the aspect ratio for rectangular cross-sections. The Lock check box lets you lock the aspect ratio. When Lock is turned on, Width is locked to Length that results in a constant ratio of Width to Length. Select Layers Dialog Application Menu on page 8579 ➤ References ➤ File Link Manager ➤ File Link Manager dialog ➤ Attach panel ➤ Choose a DWG/DXF file. ➤ Select Layers To Include button Application Menu on page 8579 ➤ References ➤ File Link Manager ➤ File Link Manager dialog ➤ Files panel ➤ Highlight a DWG/DXF file. ➤ Reload button ➤ File Link Settings: DWG Files dialog ➤ Advanced panel ➤ Select Layers To Include button Utilities panel ➤ Utilities rollout ➤ More button ➤ File Link Manager ➤ File Link Manager dialog ➤ Attach panel ➤ Choose a DWG/DXF file. ➤ Select Layers To Include button File Link Manager | 8045 Utilities panel ➤ Utilities rollout ➤ More button ➤ File Link Manager ➤ File Link Manager dialog ➤ Files panel ➤ Highlight a DWG/DXF file. ➤ Reload button ➤ File Link Settings: DWG Files dialog ➤ Advanced panel ➤ Select Layers To Include button This dialog lets you toggle a DWG file layer's include/exclude status and choose other options, as described in this topic. NOTE You toggle the include/exclude status of a layer by clicking anywhere on a row in the list of layers. The dialog lists included layers with a check mark to the left of the layer name. This list of included layers is retained for subsequent reloads of the linked file. For informational purposes, the property icons display the state of the layers' properties, but you can't change their status in this dialog. Differences Between Layers and Blocks in AutoCAD and 3ds Max AutoCAD has special handling for objects in the block definition that are associated with layer 0. When a block contains objects on layer 0, and those objects have a color property of "ByLayer" or "ByBlock", the color of the object is determined either by the color of the block or by the layer assigned to the block reference on page 9109 in AutoCAD. When blocks are nested, this color system can get complex. See also: ■ Layer Properties Dialog on page 8548 8046 | Chapter 21 Managing Scenes and Projects Interface Skip all frozen layers Excludes all layers frozen in the linked file. All active files are included. Select from list Lets you select individual active layers to include/exclude. A check mark beside the layer name indicates the layer is selected. All Includes all layers in the linked file by selecting all of them. You can then deselect just the layers you want to exclude. None Excludes all layers in the linked file by deselecting all of them. You can then select just the layers you want to include from importing. Invert Reverses the current selection of layers in the linked file. Select Linked Objects Dialog Application Menu on page 8579 ➤ References ➤ File Link ➤ File Link Manager ➤ File Link Manager dialog ➤ Files panel ➤ Highlight a File Link Manager | 8047 DWG/DXF file. ➤ Reload button ➤ File Link Settings: DWG Files dialog ➤ Advanced panel ➤ Turn on Selective Reload. ➤ Linked Objects Utilities panel ➤ Utilities rollout ➤ More button ➤ File Link Manager ➤ File Link Manager dialog ➤ Files panel ➤ Highlight a DWG/DXF file. ➤ Reload button ➤ File Link Settings: DWG Files dialog ➤ Advanced panel ➤ Turn on Selective Reload. ➤ Linked Objects The Select Linked Objects dialog displays the linked objects associated with the selected linked file, including VIZBlocks on page 9344, lights, and cameras. You use this dialog when reloading a linked file so that you can include/exclude specific objects from the reloading process. You might want to do this in order to reload only the objects that have changed. Interface List of Objects Lists the VIZBlocks, cameras, and lights associated with the selected linked file. A check mark beside the object name indicates the object is selected; an X mark indicates the object is deselected. 8048 | Chapter 21 Managing Scenes and Projects All Selects all linked objects in the linked file. You can then deselect specific linked objects by clicking their rows. None Deselects all linked objects in the linked file. You can then select specific linked objects by clicking their rows. Invert Reverses the current selection of linked objects in the linked file. Resolve External Reference File Dialog The Resolve External Reference File dialog is displayed when 3ds Max can't find the externally referenced files it needs in an attached DWG file. See also: ■ File Link Tips on page 8056 Interface Xref Stored File Name Displays the external reference path stored in the attached drawing. Referenced by Displays the path of the attached drawing. File Link Manager | 8049 As Block Name Displays the name of the block reference in the attached drawing. The block name is usually the same as the xref name, but it can be different. File Name for File Link When 3ds Max can't locate the linked file, use this field to enter another path and file name. 3ds Max verifies that the file exists at that location and reports its status in the lower left of the dialog. Browse Lets you use the file system to find another file for the link. Choosing a file this way enters file path and name in the File Name For File Link field. All Xref Files group Controls whether and how 3ds Max resolves external references from File Link. Prompt Only if File Cannot be Found Searches for the externally referenced file and all unresolved external references from File Link in the attached drawing by using the stored file name in the locations listed in this dialog and in the order they appear. Do Not Resolve any Xrefs Doesn't resolve this externally referenced file or any other unresolved external references from File Link in the attached drawing. However, any external references from File Link resolved before you turn on Do Not Resolve Any Xrefs will still be resolved. _____ OK Resolves this externally referenced file. Don't Resolve This File Doesn't resolve this externally referenced file, but will prompt for any other external references from File Link to resolve. Using File Link with DWG (or DXF) Files Data synchronization between DWG/DXF files created with AutoCAD, AutoCAD Architecture, or Revit and 3ds Max is implemented using the File Link Manager, which keeps drawing data linked to the scenes. See also: ■ Resetting Transforms on Linked AutoCAD Objects on page 8064 8050 | Chapter 21 Managing Scenes and Projects Working with DWG Files You can attach any DWG file on page 9140 (or DXF file on page 9140) with the File Link Manager on page 8014. This feature allows you to work in another ® ® design software's environment, such as AutoCAD , Autodesk AutoCAD ® Architecture, or Autodesk Revit while maintaining a single design database. NOTE For this section, the term “drawing” refers to DWG or DXF files created with AutoCAD and AutoCAD Architecture, or exported from Revit. Creating Links to Files You can establish, reload, and detach links to any number of linked files. You can also edit out unnecessary information by using layers and other filters. The File Link Manager defines which geometry is included in the scene from the linked file, how the geometry is organized, and when it's regenerated. You can also create links to files using the drag and drop feature. The objects that you bring in from linked files behave just like any other object created in 3ds Max. You can scale, rotate, and move them as well as attach modifiers and materials. When 3ds Max stores linked file data, you'll need to decide how the objects from the linked files will be organized in the scene. For example, drawings are commonly organized by layers, blocks, and objects, and 3ds Max scenes are organized by hierarchies of objects. For translating between systems, 3ds Max includes object types called VIZBlocks on page 9344 and Block/Style Parents on page 9110. Working with VIZBlocks and Block/Style Parents A VIZBlock and a Block/Style Parent is like a nested block; it has an object/sub-object or parent/child hierarchy structure. In many cases, linked drawing data initially appears as a VIZBlock or Block/Style Parent (depending on the Derive AutoCAD Primitives By options on page 8036 you choose). Using VIZBlocks is helpful when you're working with layering and color schemes. You can create multiple links to the same linked file, so you can use the same geometry in different combinations. Dynamic Blocks in 3ds Max Dynamic Blocks give blocks flexibility and intelligence. A dynamic block reference can easily be changed in a drawing while you work. You can manipulate the geometry through custom grips or custom properties. File Link Manager | 8051 The File Link Manager handles dynamic blocks much the same way as any other block found in a DWG file. Dynamic block instances, even those that have been grip-edited, display certain types of instance behavior such as material propagation. For more detailed information about dynamic block handling in 3ds Max, see Blocks on page 8088. Reloading, Binding and Detaching Links to Files You can also reload or detach linked files. When you reload a linked file, any changes you've made to the linked file are applied to the reloaded geometry in your scene. Note, however, that 3ds Max won't edit or change your original linked file. The integrity of your other software's design database is never compromised by the File Link Manager. Finally, if you decide to break a link to a linked file, there are two options. You can use Bind to keep the objects from the linked file in your scene, or you can use Detach to have them removed along with the link. For more information, see File Link Tips on page 8056. NOTE Both Detach and Bind are available from the Files panel of the File Link Manager. ObjectDBX Objects 3ds Max supports the display and use of custom AutoCAD objects. These ® custom objects are created using the ObjectDBX™ or ObjectARX APIs. Applications and products that work with either of these APIs can read and write to AutoCAD drawings, and ObjectARX products can extend the available feature set of AutoCAD. NOTE To improve file performance, some of the ObjectDBX rules have been updated. This means that some DXF files, ones built by non-Autodesk products or very old DXF files, may no longer import or file link into 3ds Max. Object Enablers AutoCAD and AutoCAD vertical applications, such as AutoCAD Architecture (formerly Architectural Desktop or ADT), have custom objects that are unique to the product. In order to view them in 3ds Max, you need the appropriate Object Enabler (OE). Object Enablers let you access, display, and manipulate these objects in 3ds Max, as well as the other vertical applications, including 3ds Max. When you use the File Link Manager to Attach a DWG file to your scene, you may encounter a Proxy Objects Detected dialog. This means there are custom objects in the drawing that require special Object Enablers before you can edit the objects in 3ds Max. 8052 | Chapter 21 Managing Scenes and Projects Do not show this message again Check this option to not display this message the next time proxy objects are detected. For a list of downloadable OEs, see the Autodesk Web site NOTE Drawings that are exported from Revit do not require Object Enablers. Support of Multiple Materials on Linked ACIS Solids 3ds Max supports multiple materials per object in DWG files exported as ACIS solids from Revit Architecture/Structure/MEP 2008 and later, as well as solid primitives created in AutoCAD Architecture 2008 (formerly ADT) and later. Linked solids can have Multi/Sub-Object materials on page 6542 that you can view and manipulate in the Material Editor. Process When 3ds Max links a ACIS solid DWG file from AutoCAD or Revit Architecture (version 2008 and later) with either the Layer, Blocks as Node Hierarchy, Split by Material” or the Entity, Blocks as Node Hierarchy derivation File Link Manager | 8053 methods, multiple material IDs are read and editable as Multi/Sub-Object materials in the Material Editor. 3ds Max reads each face of a linked ACIS solid to determine if it contains any material IDs that it can read. If more than one material ID is read from a solid, each material ID is translated to a material ID on file link and re-assigned to the object. 3ds Max creates Multi/Sub-Object materials only if more than one material ID is found; if an ACIS solid contains only one material ID, a standard architectural material is created and assigned instead. NOTE 3ds Max first evaluates the linked file to find any Revit material IDs, and then looks for AutoCAD material IDs. NOTE If you link a DWG file with the Layer, Blocks as Node Hierarchy, Split by Materials” derivation method, the solid is not split to reflect its materials set. Multi/Sub-Object Material Naming 3ds Max creates a Multi/Sub-Object material for every translated per face material ID each time you link a DWG file that contains an AutoCAD/Revit solid. When 3ds Max finds multiple materials assigned to an ACIS solid and creates a Multi/Sub-Object material, it consists of instances of standard architectural scene materials. Naming Conflicts Material IDs are unique within one DWG file. However, the same material ID can appear in two different files, such as Basic Wall: Generic – 12” Masonry. If a naming conflict arises when two scenes are merged, 3ds Max applies the last loaded material used in the Multi/Sub-Object material. For example, if file1.dwg and file2.dwg both contain a material named Brick, and they are both linked, the Brick material used is the one from the second file (file2.dwg). Or, if file1.dwg contains a material named Brick that is internally stored as material ID 222 and file2.dwg contains a different material stored as ID 222, the material used in the scene when they are linked is file2.dwg’s material. If two solids share the same material ID, they will share the same Multi/Sub-Object material. 8054 | Chapter 21 Managing Scenes and Projects Non-AutoCAD Materials 3ds Max does not link non-AutoCAD material IDs. The only non-AutoCAD Architecture IDs it preserves are the Color IDs. ACIS Solids DWG ACIS solids link as solid objects in 3ds Max. You cannot separate faces of an ACIS solid object unless you apply the Edit Poly on page 1274 or Edit Mesh on page 1263 modifier. TIP You can access the material ID value assigned to this face with the Edit Poly modifier. ACIS Solids and Materials ACIS solid materials display in the Material Editor along with any other linked material. When you apply a bitmap material to an ACIS solid, it is applied to every side of the object. For example, a brick bitmap material that you apply to a wall object appears on both sides and all edges of the wall. If you want to apply a material to each face ID, you can use a multi/sub object material so you can assign sub-materials to each face ID. When you link ACIS solids into 3ds Max, procedural textures are not supported, only materials. For example, a brick wall in Revit may have mortar lines procedurally drawn on it in red, but if the object is an ACIS solid, the mortar lines, which are procedural hatches, are lost in 3ds Max. When an ACIS object’s materials display as Multi/Sub-Object materials in the Material Editor, each material name appears in the Material/Map Browser, for example, Default wall or Basic Wall: Generic – 12” Masonry. Polymesh Polymesh DWGs link as polymesh geometry in 3ds Max. Unlike ACIS solids, you can modify and edit any polymesh object’s face. Polymesh Objects and Materials When you link a polymesh DWG file, each polymesh face is considered as a separate entity, with one material permitted per entity, which allows it to contain multiple materials You can apply a bitmap material to the different faces of polymesh geometry, unlike ACIS solids, where you would need to use a Multi/Sub-Object material File Link Manager | 8055 to create the same effect. For example, you can select the outside face of wall and apply a brick bitmap material and also apply a diffuse material on the inside wall to simulate white paint. When you link a polymesh DWG file, every material used in the scene appears in the Material Editor as a separate material where you can edit it. When a polymesh object’s materials are shown in the Material Editor, each material name appears in the Material/Map Browser, for example, Default wall or Basic Wall: Generic – 12” Masonry. File Link Tips This topic offers some tips for choosing File Linking options and avoiding common pitfalls. Linked Data and Face-Normal Conventions Face normals on page 9237 can be a source of confusion when linking to AutoCAD, AutoCAD Architecture, or Revit drawing files. In 3ds Max, every face has a front and a back, corresponding to the inside or outside surface of a solid object. In a cube, for example, there is seldom the need to view the inside surface of any of the six squares that make up the cube. So for many viewing and rendering operations, 3ds Max ignores a face if it's facing away (that is, if its face normal is directed away) from a point of view. When you create objects in AutoCAD, AutoCAD Architecture, or Revit, 3ds Max generally understands which way faces should be oriented and manages face normals accordingly. However, occasionally you may encounter linked drawing geometry that displays correctly in AutoCAD, AutoCAD Architecture, or Revit, but doesn't strictly respect face-normal conventions. This can make it appear as though elements visible in the drawing file are missing or appear “inside-out” in 3ds Max. If this happens, try one of these four options: ■ During file link or import of the DWG file, turn on the Unify Normals switch in either the Basic panel of the File Link Settings dialog or the Geometry Options group of the AutoCAD DWG/DXF Import Options dialog. ■ If the drawing is already linked or imported, assign a Normal modifier on page 1497 to the object that is not displaying properly. Turn on the Unify Normals switch to force all the normals to face the same direction. If the object then appears to be “inside-out,” turn on the Flip Normals switch as well. 8056 | Chapter 21 Managing Scenes and Projects ■ To render the faces correctly, turn on the Render Setup dialog on page 6956 ➤ Force 2-Sided switch. Also, to display the faces correctly in the viewports, turn on Viewport Configuration dialog ➤ Rendering Method panel on page 8963 ➤ Force 2-Sided. ■ Apply a material with the 2–Sided switch turned on. NOTE Using the Force 2–Sided options can result in slower performance, particularly when rendering. Using either of the Unify Normals options is the preferred method of handling face normals. If you experience a high volume of face normal problems in a particular file, verify that the File Link Settings: DWG Files dialog on page 8028 ➤ Weld switch is on, and then reload the drawing. Weld forces nearby faces to share edges and vertices. Welding can still result in groups of face normals that are flipped in 3ds Max, in which case, turn on Unify Normals as well. NOTE The disadvantage of welding is that it can be time-consuming when you attach and reload the linked file. The time penalty is much greater when 3ds Max is creating objects that have very large numbers of individual faces. Linking Files with High Numbers of Linear Line Segments Two-dimensional elements in drawing files, such as lines, polylines, circles, and arcs, are represented as splines in 3ds Max. These splines carry much more information at each vertex than typical AutoCAD 2D structures. Since some drawing files contain large quantities of 2D data, exercise caution when linking files containing a high number of discrete line segments. There are two ways these elements can be left out of your 3ds Max scene: ■ by freezing their layers in AutoCAD, AutoCAD Architecture, or Revit before you start 3ds Max and before each subsequent reloading process. ■ by excluding specific layers during the File Link Attach/Reload process or Import process so you do not have to freeze layers in the drawing. This is the preferred workflow. If you need this type of 2D geometry in your visualization, try to use polylines instead of connected lines to get cleaner geometry in 3ds Max and to reduce the final size of your scene. File Link Manager | 8057 Linked 3D Solids Objects 3D Solids objects that you link from a drawing file into 3ds Max are tessellated; that is, turned into mesh objects with faces. The fineness of the tessellation is controlled by the Maximum Surface Deviation For 3D Solids setting on page 8033 on the File Link Settings: DWG Files dialog. A high value results in coarser tessellation. 3ds Max uses less memory in the scene, but poor approximations of curved surfaces could result. For acceptable performance, keep this value as high as possible. TIP You can change the value of the Surface Deviation For 3D Solids control at any time by turning on Show Reload Options on page 8022 on the Files panel of the File Link Manager dialog, and then adjusting when you reload the file. Linked Spline Objects Splines are not rendered in 3ds Max unless they have rendering parameters applied. Normally, you have to collapse a shape to an editable spline object in order to apply rendering parameters; however, this is not possible with spline objects from AutoCAD. Instead, you can apply a Renderable Spline modifier on page 1595 to the spline. This lets you set rendering properties without having to collapse to an editable spline. External References and Block Names A linked AutoCAD or AutoCAD Architecture drawing can include xrefs that reference files but use the same block names. 3ds Max keeps the blocks distinct by prepending xref names to block names. In Revit, a DWG, DXF or RVT file can be linked to the project. This kind of link is called a RVT Link on page 9285. When the project is exported to a DWG file, this type of link is represented in the exported drawing as an external referenced drawing. In this case, more than one drawing file may be created, with one referencing the other(s). Circular References An xref file that contains a sequence of nested references that refers back to the xref file is considered a circular reference. 3ds Max resolves xrefs until it detects a circular reference. For example, if you have the circular reference A|B|C|A, 3ds Max detects and breaks the circularity between C and A. This is consistent with the way AutoCAD and AutoCAD Architecture handle circular xref dependencies. 8058 | Chapter 21 Managing Scenes and Projects Overlay External References 3ds Max treats overlay xrefs in the same way as AutoCAD when resolving xrefs. For more information regarding overlay xrefs, refer to your AutoCAD User Reference. Cloning Actively Linked Objects If you want to clone actively linked objects, you should only use the Copy option. Creating references or instances of actively linked objects is not recommended, as reliability issues can arise when the instanced or referenced object is deleted in the linked file. When you copy actively linked objects, linked through the File Link Manager on page 8014, the copies are automatically converted to editable mesh or editable spline objects. If your selection contains several objects which instance another object, the resulting copies also instance the same object. Compound Objects Containing Actively Linked Objects If you use an actively linked object as part of a compound object, you should always choose Copy when you specify how the linked object is transferred to the compound object. Choosing Reference or Instance can cause instability in 3ds Max. Attaching Actively Linked Objects to an Editable Mesh, Poly, Patch, or Spline Object Actively linked objects should not be attached to editable objects, as this introduces instability to 3ds Max. Instead, make a copy of the actively linked object, and attach the clone to the editable object. Creating Hierarchies with Actively Linked Objects Creating parent-child links between actively linked objects AND 3ds Max objects can cause unpredictable results. For this reason, 3ds Max does not allow you to link an actively linked object to a 3ds Max object. However, you can link a 3ds Max object to an actively linked object. The existing hierarchies of linked objects cannot be broken in 3ds Max. This would compromise the structure of Blocks and Styles. Any changes must be made in the original DWG file. Similarly, actively linked objects cannot be included in the creation of Group on page 7924 or Assembly on page 7929 objects in 3ds Max. File Link Manager | 8059 Controller Assignments Actively linked objects should not be included in any IK animation chains, as they will cause unpredictable results. Likewise, animation controllers should not be applied to actively linked objects. Assignments to avoid include: ■ HI IK Solver on page 3715 ■ IK Limb Solver on page 3766 ■ Spline IK Solver on page 3767 ■ HD IK Solver on page 3744 ■ Inherit Link Info on page 3825 ■ Link Inheritance Utility on page 3695 ■ Assign Controller on page 3930 Interpreting Layer Data from AutoCAD, AutoCAD Architecture, and Revit 3ds Max has its own Layer system that looks and operates like a simplified version of the system you are familiar with from AutoCAD or AutoCAD Architecture. As in AutoCAD or AutoCAD Architecture, you can hide and unhide layers, freeze and unfreeze them, and change the display color for all objects on the layer. NOTE Categories in your Revit project are similar to Layers in AutoCAD. When you export your project to a DWG, categories are mapped to AutoCAD Layers via the Export Layers table. For more information regarding Export Layers, refer to your Autodesk Revit Help file. Layer operations are accessed through the tools on the Layers toolbar, and also on an object-by-object basis using the quad menu on page 8640. Unlinked objects, such as 3ds Max objects or drawing geometry that has been bound into the scene using the Bind command, may be assigned to any layer you choose, including layers created by the File Link Manager. Linked objects from AutoCAD, AutoCAD Architecture, or Revit, with some minor exceptions, will be assigned to the same layers they occupy in program where the drawing was created. 8060 | Chapter 21 Managing Scenes and Projects Any changes made to the layer settings in 3ds Max (hidden/unhidden, frozen/unfrozen, display color) affect linked objects just as they do unlinked objects. Also, any changes you make to the layers are not reset when you reload the drawing. You can rename layers created by the File Link Manager. When the next reload occurs, the renamed layer is not affected by the File Link Manager. Objects on the renamed layer are updated; however, they remain on the same layer. The original layer is only recreated when a new object has been created in the DWG file. New objects are never placed on the renamed layer. You can also delete layers imported by the File Link Manager on page 8014; but only if they don't contain any objects. You can move actively linked objects between layers in 3ds Max. When the next reload occurs, the objects are updated; however, they are not moved back to their original layers. You can also place non-linked objects, such as 3ds Max objects or drawing geometry that has been bound into the scene, on any of the imported layers. Objects contained in layers that are frozen in AutoCAD or AutoCAD Architecture are not linked to 3ds Max. Objects that were originally linked to 3ds Max are removed if their layer is frozen in AutoCAD or AutoCAD Architecture and the link is reloaded, but they are added again, upon reload, after their layer is unfrozen in the program where the drawing is created. NOTE This is only the case if Skip All Frozen Layers is active on the Select Layers dialog on page 8045. If you select the layers individually from a list, you can bring in data on frozen layers. See also: ■ Using Layers to Organize a Scene on page 8534 Scale Synchronization 3ds Max automatically manages the scale conversion on linked geometry and materials. 3ds Max has its own system unit for internal representation of geometrical scale. If you find that any geometry is not shown at the size you intended it to be, it is because it was created at the improper scale in the originating program. See also: ■ Using Units on page 2810 File Link Manager | 8061 Working with AutoCAD, AutoCAD Architecture, and Revit Files 3ds Max produces rich visualizations based on your drawing design data. In order to produce high-quality visualizations, you need to add and adjust many design variables that affect the visual impact of your design, but don't really belong in your core AutoCAD, AutoCAD Architecture, or Revit data. You might want to test your design under different lighting conditions, experiment with different texture and material effects, animate components, or move through a space. 3ds Max allows you to enhance your design with this “extra” data while maintaining the integrity of the underlying AutoCAD, AutoCAD Architecture, or Revit design. Using the File Link Manager on page 8014, 3ds Max maintains a live data link to AutoCAD, AutoCAD Architecture, or drawings exported from Revit that allows you to use the linked object data in your 3ds Max scene. You can perform various operations on this linked data in 3ds Max for visualization purposes, but nothing you do in 3ds Max will change the base data you see in the source application. The data link allows you to periodically refresh your 3ds Max scene with revised drawing data. If a live data link is not important to you, the DWG/DXF Import functionality processes drawings, exported from Revit, in the same intelligent way as the File Link Manager. You just don't have the benefit of the live data link. 8062 | Chapter 21 Managing Scenes and Projects See also: ■ Using Layers to Organize a Scene on page 8534 ■ Using File Link with DWG (or DXF) Files on page 8050 ■ Interpreting Layer Data from AutoCAD, AutoCAD Architecture, and Revit on page 8060 AutoCAD Geometry in 3ds Max The basis of your model in 3ds Max is the geometry of the objects, blocks, and other entities that are transferred through the file linking functionality. In many cases, these objects behave just like the editable meshes and splines you create in 3ds Max. But because the link to the source drawing plays such a central role in your workflow, 3ds Max has special rules and tools for handling linked AutoCAD geometry. When you are working with linked objects and blocks from AutoCAD, you will find that these are composed as groups of related objects in 3ds Max. These groups are organized hierarchically below a 3ds Max VIZBlock object. VIZBlocks are special objects created by the file linking functionality that are used to contain other file linked objects in a group. VIZBlocks don't contain any geometry directly, so for example it is meaningless to apply modifiers to them. However, they do reference the components below them so that transforms applied to a VIZBlock will be applied to all the component objects it contains. See also: ■ Styles on page 8094 ■ Instanced Objects on page 8087 ■ Blocks on page 8088 AutoCAD Entities and Blocks in 3ds Max AutoCAD blocks in 3ds Max are treated similarly to AutoCAD objects, though the rules for propagation of transforms are slightly different to mirror the behavior of blocks in AutoCAD. File Link Manager | 8063 As with AutoCAD objects, linked AutoCAD blocks, of any type, and externally referenced drawings appear in 3ds Max as objects hierarchically grouped below a VIZBlock to reflect the structure of the block or xref in AutoCAD. When non-nested blocks, of any type, are linked to a scene, the naming for the incoming block instances are based on the original block definition in the form of Block: block_name where block_name is the actual name of the block definition. For example, if you link a drawing containing a series of blocks named office chair, their name will show as Block: office chair in 3ds Max. Nested blocks in AutoCAD will be analogously nested in 3ds Max under nested VIZBlocks. The grouping and naming follows the parent-child structure of xref drawing name:block name:nested block name:entity. NOTE Entities that lie on layer 0 of an AutoCAD block definition will appear as Layer:0 in 3ds Max, even though they may appear to reside on a different layer when they are inserted in AutoCAD. With linked AutoCAD Architecture objects, material assignments to linked AutoCAD blocks can propagate automatically to all other instances of those block components in the 3ds Max scene, depending on how Propagate Materials To Instances on page 6041 is set. Modifiers applied to block components, however, propagate automatically to all other block instances, regardless of how Propagate Materials To Instances is set. If you transform (move, rotate, or scale) the top-level VIZBlock that contains a block reference, all the components of that block will be transformed together and no other VIZBlocks will be affected. If, however, you transform a block component, including a nested VIZBlock, that transformation will automatically propagate to all other instances of that block in the scene. This mirrors the behavior of blocks in AutoCAD when reference-editing a block definition. See also: ■ Blocks on page 8088 Resetting Transforms on Linked AutoCAD Objects Select a linked AutoCAD object. ➤ rollout ➤ Reset Position 8064 | Chapter 21 Managing Scenes and Projects Modify panel ➤ Linked Geometry You can move, rotate, or scale linked AutoCAD objects in 3ds Max, and these transformations will remain intact even after the linked AutoCAD drawing has been reloaded. But you can choose to eliminate the transforms on an object-by-object basis using the Reset Position function, available on the Modifier panel. NOTE The Reset Position functionality is only available for linked files. It is not available when you Import a DWG file, or when you have bound a linked file. Every linked AutoCAD object and component has a Reset Position function associated with it. Clicking this button automatically resets all transformations that have been applied to this object or component in 3ds Max, so that the component resumes the location, rotation, and scale it held in the linked AutoCAD drawing when it was last reloaded. WARNING Transforms applied to block components are applied to all instances of that component in all other linked block insertions in the 3ds Max scene. Resetting the transformation of any instance will reset all of them. To reset the transforms applied to a linked AutoCAD object: 1 Select a linked object in your scene. 2 On the Command panel, click the Modify tab to display the Modify panel. The name of the linked object appears at the top of the Modify panel, and the modifiers that have been added to the object (if any) are shown on the modifier stack. 3 At the bottom of the list of applied modifiers, click either Linked Geometry, VIZBlock, or Block/Style Parent, whichever appears, if it is not already highlighted. A Linked Geometry rollout appears at the bottom of the Modify panel. 4 Click the Reset Position button The linked object reverts back to its original location, rotation, and scale in the linked AutoCAD drawing. NOTE When Reset Position is applied to a linked object that has been animated (in other words, has transform keys for different frames) only the transform for frame 0 is reset. File Link Manager | 8065 See also: ■ Using File Link with DWG (or DXF) Files on page 8050 Interface Reset Position Resets the selected object's transforms to those of the original AutoCAD object when the drawing was last reloaded. Restrictions on Editing AutoCAD Geometry Many operations that are allowed on mesh, spline, or shape objects in 3ds Max are not allowed on linked AutoCAD geometry, and other operations behave differently. The following operations are not allowed on linked geometry: ■ Deletion ■ Altering the parent-child hierarchy ■ Collapsing the linked geometry into an editable mesh or an editable spline If you must perform any of these operations, you must either do them in AutoCAD or else bind the drawing data to 3ds Max, which breaks the link back to AutoCAD. Applying Modifiers to Linked AutoCAD Geometry You can apply modifiers to linked AutoCAD geometry and these modifiers will persist when you reload the geometry. This can be a very powerful way to intelligently manage your design intent, but it can also lead to some unexpected results, especially when using topology-dependent modifiers. “Topology-dependent” simply means that the modifier is relying on the particular arrangement and number of faces and vertices that comprise the mesh representation of the object. It is common, for example, for the modifier to cause an action to be performed on the nth element it encounters, say the “twelfth” face or the “fourth through the twentieth” vertex. It is easy to 8066 | Chapter 21 Managing Scenes and Projects perform edits on the base object in AutoCAD that would cause the definition of the nth element to change, which would result in the modifier yielding unexpected results when the drawing is reloaded in 3ds Max. Not all modifiers are topology-dependent. When you attempt to use a topology-dependent modifier on linked AutoCAD geometry, a warning dialog is displayed that gives you an opportunity to continue or abort the operation. When you use modifiers on linked AutoCAD objects and blocks, remember that the VIZBlock object you see in 3ds Max does not contain any geometry directly; applying modifiers to VIZBlocks will never have any visible effect. Instead, apply modifiers to the component objects below the VIZBlock in the 3ds Max object hierarchy. Copying Actively Linked Objects You can copy actively linked objects in 3ds Max; the copies are automatically converted to editable mesh objects. If your selection contains several objects that instance another object, the resulting copies also instance the same object. However, it is recommended that you do not instance or reference actively linked objects, as this can introduce instability to the scene. See also: ■ Using Modifiers on page 978 AutoCAD Architecture Files DWG files from AutoCAD Architecture (formerly Architectural Desktop or ADT) often contain additional information, such as special objects, material definitions, and styles. 3ds Max is thoroughly compatible with AutoCAD Architecture, and it recognizes all of these specialized objects and definitions during the file link process. AutoCAD Architecture Objects in 3ds Max Each instance of an AutoCAD Architecture (formerly Architectural Desktop or ADT) object is represented by multiple objects in 3ds Max. Whenever the file link process detects a useful distinction between elements of an AutoCAD Architecture object, it automatically separates, names, and groups the elements in 3ds Max to make them easier to work with. File Link Manager | 8067 The new objects created in 3ds Max through file linking are grouped together hierarchically below a special object called a VIZBlock, allowing you to deal with individual objects in the hierarchy or with all of them as a group. You can view this hierarchy, but you cannot change it in 3ds Max. You can only change the hierarchy indirectly by editing the objects in AutoCAD Architecture, and then reloading them into 3ds Max using the File Link Manager on page 8014. Criteria for Subdividing AutoCAD Architecture Objects The File Link Manager divides an AutoCAD Architecture object into multiple objects in 3ds Max if it detects distinctions based on the following features: ■ Component name ■ Component subtype (for example, in sectioned bodies) ■ Layer ■ Material assignment So, for example, if a window object in AutoCAD Architecture contained a mullion component, but a portion of the component had a different material assignment than the rest of it, the mullion component would appear as two separate objects when linked into 3ds Max. The objects will be linked together with all the other components of the window, but you could modify the material properties of the two mullion objects separately. If you changed the material assignments in AutoCAD Architecture so that the entire mullion component only had one material assignment, then when you reloaded the drawing in 3ds Max there would only be one mullion object present. NOTE Material assignment and Layer are two of the properties used to separate one component from another. When these are changed in the AutoCAD Architecture drawing, new objects are created in 3ds Max, or geometry may move from one object to another. In either case, some scene properties are changed, such as assigned material or scene layer. 3ds Max organizes and names file linked objects to reflect their structure in AutoCAD Architecture, using a parent-child hierarchy. The parent object will be a VIZBlock named object class